Posgrado

PosgradoPersonalización


Programación lineal


La programación lineal (PL) es un método matemático para determinar cómo lograr el mejor resultado en un modelo matemático dado. Su función se representa por relaciones lineales. La programación lineal es una técnica para optimizar una función objetivo lineal, sujeta a restricciones de igualdad lineal y desigualdad lineal.

Los componentes clave de un problema de programación lineal son los siguientes:

  • Función objetivo: La función que necesita ser optimizada, generalmente maximizada o minimizada.
  • Variables de decisión: Variables que deciden el resultado y generalmente se representan como x, y, z, etc.
  • Restricciones: Estas son restricciones o límites sobre las variables de decisión, a menudo en forma de desigualdades o ecuaciones lineales.
  • Restricción de no negatividad: Se asume que las variables de decisión no son negativas, es decir, todos los valores son cero o positivos.

Formulación del problema de programación lineal

Para entender la programación lineal, considere el siguiente ejemplo:

Imagine que una empresa fabrica dos productos: sillas y mesas. Cada silla contribuye con $30 al beneficio, y cada mesa contribuye con $50. La empresa tiene limitaciones de mano de obra y materiales. Se necesitan 2 horas de trabajo y 3 unidades de material para fabricar una silla. Se necesitan 4 horas de trabajo y 2 unidades de material para fabricar una mesa. La empresa tiene un máximo de 100 horas de trabajo y 120 unidades de material disponibles.

Para maximizar el beneficio, podemos formular un problema de programación lineal de la siguiente manera:

Máximo: Beneficio = 30x + 50y
sujeto a:
   2x + 4y ≤ 100 (Restricción de trabajo)
   3x + 2y ≤ 120 (Restricción de material)
   x ≥ 0, y ≥ 0 (Restricción de no negatividad)

Representación gráfica

Los problemas de programación lineal en dos variables pueden resolverse y representarse gráficamente. Se ve así:

x (sillas) y (mesas) 2x + 4y = 100 3x + 2y = 120

La región factible es el conjunto de todos los puntos que satisfacen todas las restricciones. Está sombreada en gris arriba. La solución óptima se encuentra en esta región. En este ejemplo, la estrategia óptima está en la intersección de las restricciones, representada por el punto rojo.

Método simplex

Cuando hay más de dos variables, la representación gráfica no es posible. Por lo tanto, utilizamos el método simplex, que es un método iterativo utilizado para resolver problemas de programación lineal.

El método simplex involucra los siguientes pasos:

  1. Comenzar en el punto de esquina inicial de la región factible.
  2. Evaluar la función objetivo en cada vértice de la región factible.
  3. Movilizarse a un vértice vecino que mejore el valor de la función objetivo.
  4. Continuar este proceso hasta que no sea posible una mejora adicional.
  5. El punto vértice actual proporciona el valor máximo o mínimo de la función objetivo.

Ejemplo usando el método simplex

Considere el siguiente problema de programación lineal:

Maximizar: Z = 3x1 + 2x2
sujeto a:
   x1 + x2 ≤ 4
   x1 - x2 ≤ 2
   x1, x2 ≥ 0

Pasos para resolver usando simplex:

  1. Convertir las desigualdades en igualdades incluyendo las variables de holgura, s1 y s2:
  2.     x1 + x2 + s1 = 4
        x1 - x2 + s2 = 2
        
  3. Crear la tabla inicial del simplex:
  4. x1 x2 S1 S2 Solución
    S1 1 1 1 0 4
    S2 1 -1 0 1 2
    Fila Z -3 -2 0 0 0
  5. Encontrar la columna pivote (la columna con el coeficiente más negativo en la fila Z):
  6. El valor más negativo es -3 (columna de x1).

  7. Calcular los cocientes para encontrar la fila pivote.
  8.     Para la fila s1: 4/1 = 4
        Para la fila s2: 2/1 = 2
        

    Escoger la fila con el menor cociente positivo: fila s2.

  9. Realizar una operación de pivote para hacer que el elemento pivote sea 1 y todos los demás elementos en la columna pivote sean 0.
  10. Repetir este proceso hasta que no queden coeficientes negativos en la fila objetivo.

Dualidad en programación lineal

Cada problema de programación lineal, llamado problema primal, puede transformarse en otro problema de programación lineal conocido como un dual. Las soluciones de los problemas dual y primal proporcionan límites para el valor de la función objetivo.

Ejemplo:

Problema primal:
Maximizar: Z = 3x1 + 4x2
sujeto a:
   2x1 + 3x2 ≤ 8
   3x1 + 3x2 ≤ 6
   x1, x2 ≥ 0

Su dual será:

Minimizar: W = 8y1 + 6y2
sujeto a:
   2y1 + y2 ≥ 3
   3y1 + 3y2 ≥ 4
   y1, y2 ≥ 0

Las funciones objetivo en el primal y el dual están interconectadas. Resolver uno de ellos da información o limitación al otro.

Aplicaciones de la programación lineal

La programación lineal se utiliza ampliamente en una variedad de campos, incluidos:

  • Manufactura: Determinación de niveles óptimos de producción e inventarios.
  • Finanzas: Diseño de carteras para maximizar los rendimientos con un riesgo mínimo.
  • Transporte: Minimización del costo de envío de mercancías a través de la red.
  • Planificación alimentaria: Determinación de la dieta más asequible que cumpla con todos los requisitos nutricionales.
  • Telecomunicaciones: Para la asignación óptima de ancho de banda y análisis de redes.

Limitaciones de la programación lineal

A pesar de sus amplias aplicaciones, la programación lineal tiene algunas limitaciones:

  • Los modelos se basan en la linealidad, mientras que los escenarios del mundo real no siempre son lineales.
  • Se asume certeza en los coeficientes; sin embargo, los datos de la vida real pueden ser inciertos o variables.
  • La solución debe satisfacer completamente todas las restricciones, lo cual puede no ser siempre posible.
  • No acomoda variables enteras de manera directa, lo que puede ser importante en algunos problemas prácticos.

Conclusión

La programación lineal proporciona un marco para encontrar soluciones óptimas bajo restricciones dadas. Aunque se centra principalmente en optimizar funciones objetivo lineales, sus principios son fundamentales en la investigación de operaciones y la ciencia de la gestión. Innovaciones y optimizaciones como la programación lineal entera y la programación no lineal extienden su aplicabilidad a escenarios más complejos.


Posgrado → 9.1


U
username
0%
completado en Posgrado


Comentarios