Universitario

UniversitarioProgramación lineal y optimización


Comprendiendo el método del simplex en programación lineal y optimización


Introducción a la programación lineal

La programación lineal es una técnica matemática para optimizar una función objetivo lineal, sujeta a restricciones de igualdad e desigualdad lineales. Es una manera de lograr el mejor resultado en un modelo matemático cuyos requerimientos están representados por relaciones lineales. Este tipo de optimización es importante en diversos campos como la economía, la ingeniería, el ámbito militar y la planificación empresarial.

Función objetivo y restricciones

En la programación lineal, nuestro objetivo es maximizar o minimizar una función objetivo lineal. Un problema general de programación lineal se puede expresar como:

Máximo o mínimo: Z = c 1 x 1 + c 2 x 2 + ... + c n x n
sujeto a:
a 11 x 1 + a 12 x 2 + ... + a 1n x n ≤ b 1
a 21 x 1 + a 22 x 2 + ... + a 2n x n ≤ b 2
,
a m1 x 1 + a m2 x 2 + ... + a mn x n ≤ b m
x 1 , x 2 , ..., x n ≥ 0

Aquí, x 1 , x 2 , ..., x n son variables, c 1 , c 2 , ..., c n son los coeficientes de la función objetivo, a ij son los coeficientes de las restricciones, y b i son constantes en las ecuaciones de restricción.

El método del simplex: Una visión general

El método del simplex es un algoritmo popular utilizado para resolver problemas de programación lineal. Fue desarrollado por George Dantzig en 1947. Este método consta de los siguientes pasos principales:

  • Convertir un problema de programación lineal a la forma estándar.
  • Encontrar una solución factible inicial.
  • Trabajar de manera iterativa para mejorar la función objetivo hasta que se alcance la solución óptima.

Convirtiendo a la forma estándar

Antes de aplicar el método del simplex, se debe transformar el problema de programación lineal dado en forma estándar. Esto implica asegurar que todas las restricciones estén en forma de igualdad y agregar variables de holgura, superposición o variables artificiales si es necesario.

Supongamos que tenemos una restricción como:
a 11 x 1 + a 12 x 2 ≤ b 1

Para convertir esto en igualdad, introducimos una variable de holgura s 1 :

a 11 x 1 + a 12 x 2 + s 1 = b 1

Encontrando la solución factible inicial

Una vez que el problema está en forma estándar, necesitamos encontrar una solución básica factible. Esto implica establecer las variables no básicas en cero y resolver el sistema de ecuaciones para encontrar los valores de las variables básicas.

Proceso iterativo

El propósito básico del método del simplex es mejorar el valor de la función objetivo procesando a través de las soluciones factibles para identificar la solución óptima. Esto se hace mediante pivoteo.

Ejemplo

Veamos un ejemplo visual de un problema de programación lineal. Supongamos que tenemos el siguiente problema:

Maximizar: Z = 3x 1 + 5x 2
sujeto a:
x 1 + 2x 2 ≤ 8
3x 1 + 2x 2 ≤ 12
x 1 , x 2 ≥ 0
x 1 x 2 x 1 + 2x 2 = 8 3x1 + 2x2 = 12

En el ejemplo anterior, las restricciones x 1 + 2x 2 = 8 y 3x 1 + 2x 2 = 12 se dibujan como líneas. La región factible delimitada por el polígono verde muestra donde se cumplen todas las condiciones.

Pivoteo en el método del simplex

Para mejorar la función objetivo, elegiremos elementos de pivote. Los criterios de entrada y salida ayudan a identificar cuál variable entra en la base y cuál sale. El pivoteo modifica nuestra base para que se desplace a una solución factible adyacente con un valor más alto (en caso de maximización) para la función objetivo.

Pasos involucrados en el pivoteo

El proceso de pivoteo incluye estos pasos principales:

  1. Identificar la variable de entrada:
    • Mira la fila del objetivo (también llamada fila de costos) en el tableau del simplex. Elige la variable cuyo coeficiente sea más positivo (para problemas de maximización). Esta es nuestra variable de entrada.
  2. Determinar la variable saliente:
    • Para encontrar la variable saliente, calcula el mínimo cociente del lado derecho a los coeficientes positivos de la variable de entrada en cada línea de restricción.
  3. Realizar operaciones en filas:
    • Ajusta la tabla para reflejar esta nueva base. Esto implica la operación de fila del elemento de pivote para establecer los otros elementos en la columna de la variable de entrada en cero.

Continuación del ejemplo

Apliquemos estos pasos a nuestro ejemplo anterior.

Tableau del simplex para la base inicial

La tabla inicial para convertir desigualdades en igualdades se establece con variables de holgura s 1 y s 2 para cada restricción:

| x 1 | x 2 | s 1 | s 2 | lado derecho |
,
, 1 | 2 | 1 | 0 | 8 |
, 3 | 2 | 0 | 1 | 12 |
,
, -3 | -5 | 0 | 0 | 0 |

Identifiquemos las variables de entrada y salida:

Para maximización, el coeficiente más negativo en la fila del objetivo es -5 (debajo de x 2). Esto significa que x 2 es nuestra variable de entrada.

Para encontrar la variable de salida, calculamos el cociente del RHS al coeficiente positivo de x 2 :

8/2 = 4 (para la primera fila)
12/2 = 6 (para la segunda fila)
El cociente mínimo es 4, lo que indica que la primera fila será la saliente.

Realiza operaciones en filas para crear la variable original x 2 en la primera fila.

Actualiza el resto de la tabla en consecuencia.

Solución óptima

Continúa con pasos de pivoteo similares hasta que no haya coeficientes negativos en la fila del objetivo (para maximización), indicando que se ha encontrado la solución óptima.

Conclusión

El método del simplex es un algoritmo eficiente que funciona iterando sobre los vértices de la región factible de manera sistemática. Es particularmente eficiente para problemas lineales que involucran un gran número de variables y restricciones, demostrando su utilidad tanto en el ámbito de las matemáticas teóricas como en escenarios prácticos de toma de decisiones. A través de una implementación cuidadosa y la comprensión de cada paso, los estudiantes pueden aprovechar efectivamente el poder del método del simplex para encontrar soluciones óptimas a problemas complejos.


Universitario → 9.1


U
username
0%
completado en Universitario


Comentarios