Saltar al contenido
Matemáticas para Economía40 temas · 7 asignaturas · 42 ECTS
Tema 16 de 40

El algoritmo símplex: conceptos, teoremas fundamentales y funcionamiento

12 h estimadas21.411 Investigación operativa / OptimizaciónLINDO

1. La pregunta

El tema 15 resolvió un problema evaluando cuatro vértices. Con 10 variables y 10 restricciones, el número de vértices posibles pasa de 180 000. Con 20 y 20, de 130 000 millones. Enumerarlos es imposible.

Hace falta un método que recorra solo los vértices prometedores, que sepa cuándo parar, y que garantice que el punto en el que para es el óptimo. Eso es el símplex, y lleva desde 1947 siendo el algoritmo más usado de la investigación operativa.

2. Intuición

Estás en una esquina del poliedro factible y quieres llegar a la mejor. No conoces el mapa entero, pero desde cada esquina ves las aristas que salen de ella.

El método es sencillo de enunciar:

  1. Mira todas las aristas que salen de tu esquina.
  2. Si alguna sube (mejora el objetivo), recórrela hasta la siguiente esquina.
  3. Si ninguna sube, has terminado: estás en el óptimo.

El paso 3 es el que sorprende y el que hay que creerse: en un poliedro convexo, si desde una esquina no se puede mejorar yendo a ninguna vecina, entonces no hay ningún punto mejor en todo el conjunto. En un terreno con entrantes eso sería falso —podrías estar en una cima secundaria—, pero la convexidad demostrada en el tema 9 lo impide. Es la convexidad lo que convierte un método local en uno global.

Lo que queda es traducir «esquina» y «arista» a álgebra, para poder hacerlo con números sin dibujar nada. Y ahí la clave es: en una esquina, algunas variables valen cero y otras no. Moverse por una arista es hacer que una variable que valía cero empiece a crecer, hasta que otra se anula. Ese intercambio se llama pivotar, y es exactamente una operación de Gauss del tema 8.

3. Formalización

Forma estándar

El símplex exige el problema escrito así:

con igualdades. Las desigualdades se convierten añadiendo variables:

Restricción originalSe convierte enVariable añadida
holgura
excedente

La variable de holgura tiene lectura directa: es el recurso que sobra. Si en el óptimo , ese recurso está agotado.

Las variables de holgura entran en la función objetivo con coeficiente cero: lo que sobra no aporta beneficio.

Si algún es negativo, se multiplica esa restricción por (lo que invierte el sentido de la desigualdad). Si tras convertir hace falta un punto de partida factible que no existe, hay que recurrir a variables artificiales y al método de las dos fases, que es el tema 17.

Soluciones básicas

Con restricciones y variables (), el sistema está indeterminado. Se elige un conjunto de variables —las básicas— y se fijan las restantes —las no básicas— a cero. Resolviendo el sistema resultante se obtiene una solución básica.

Si además todas las variables básicas salen , es una solución básica factible.

Teorema fundamental (versión algebraica). Las soluciones básicas factibles se corresponden exactamente con los vértices del poliedro factible.

Este teorema es el puente entre la geometría del tema 9 y el álgebra del símplex: buscar vértices es elegir qué variables son básicas.

El número de posibilidades es , y de ahí la explosión combinatoria. El símplex no las prueba todas: salta de una a otra mejorando siempre.

La tabla del símplex

Se organiza todo en una tabla. Con las variables en las columnas, una fila por restricción y una fila final para el objetivo:

La fila contiene los costes reducidos, escritos habitualmente como . Con la disposición de arriba, la fila objetivo lleva los al inicio porque procede de escribir .

Convenio de este sitio: se trabaja con la fila , de modo que un valor negativo indica que esa variable, al entrar, mejora el objetivo en un problema de máximo.

Las cinco reglas del algoritmo

1. Punto de partida. Con todas las restricciones de tipo y , las variables de holgura forman una base factible inmediata: , . Corresponde al origen, y significa «no producir nada».

2. Criterio de entrada. Entra en la base la variable con el más negativo. Es la que más mejora el objetivo por unidad. (Cualquier negativo serviría; elegir el más negativo es la regla de Dantzig, y suele converger antes.)

3. Criterio de salida: la razón mínima. Sea la variable entrante y su columna. Se calcula, solo para los :

La fila que alcanza el mínimo determina la variable que sale.

Por qué solo los positivos. La variable entrante crece; las básicas cambian según . Si , esa básica no disminuye y nunca se hará negativa: no impone límite. El límite lo ponen las que sí decrecen, y la primera en llegar a cero marca hasta dónde se puede avanzar sin salirse de la región.

Si ninguna es positiva, la variable entrante puede crecer indefinidamente: el problema es no acotado.

4. Pivotar. El elemento en el cruce de la columna entrante y la fila saliente es el pivote. Mediante operaciones de Gauss se convierte en 1 y se hacen ceros en el resto de su columna, incluida la fila . Es exactamente Gauss-Jordan.

5. Criterio de parada. Cuando todos los , la solución actual es óptima. Ninguna variable no básica mejora el objetivo al entrar.

Para problemas de mínimo se puede minimizar y aplicar lo mismo, que es lo más seguro para no confundir signos.

Lectura de la tabla final

  • El valor de está en la esquina inferior derecha.
  • Las variables básicas toman el valor de su fila en la columna .
  • Las no básicas valen cero.
  • Los de las columnas de holgura son los precios sombra de las restricciones, que es lo que desarrollará el tema 18.

4. Ejemplo económico resuelto

Problema. Resolvemos por símplex la carpintería del tema 15, simplificada sin el compromiso contractual:

Paso 1. Forma estándar. Añadimos holguras (horas de carpintería sobrantes) y (horas de acabado sobrantes):

Paso 2. Tabla inicial. Base , es decir, el vértice : no producir nada.

Paso 3. Primera iteración.

Entra: el más negativo de la fila es , columna . Entra .

Sale: razones con los coeficientes positivos de la columna :

Sale . El pivote es el 2 de la fila .

Pivotar. Dividimos la fila entre 2:

Hacemos ceros en la columna :

Estamos en el vértice con . Aún hay un negativo.

Paso 4. Segunda iteración.

Entra: , columna . Entra .

Sale: razones con coeficientes positivos:

Sale . Pivote: el 1 de la fila , columna .

Pivotar. La fila ya tiene un 1 en el pivote, se queda igual:

Paso 5. Parada. Todos los : óptimo alcanzado.

Paso 6. Leer la solución.

Coincide exactamente con el resultado gráfico del tema 15, como tenía que ser.

Paso 7. Leer lo que el método gráfico no daba. Los valores de la fila bajo las columnas de holgura:

Estos son los precios sombra. Una hora más de carpintería aumentaría el beneficio en 15 €; una hora más de acabado, en 5 €. La empresa debería pagar hasta 15 € por una hora extra de carpintería y no más de 5 por una de acabado.

Comprobación: con 241 horas de carpintería, rehaciendo el sistema , sale , y .

El camino recorrido. El símplex visitó tres vértices: . El método gráfico había evaluado cuatro. Con problemas grandes, la diferencia entre recorrer unos pocos vértices y enumerarlos todos es la diferencia entre resolver y no resolver.

5. Errores típicos

Aplicar el símplex sin pasar a forma estándar. Hacen falta igualdades y . Con desigualdades sin holguras, la tabla no significa nada.

Calcular la razón mínima con coeficientes negativos o nulos. Solo entran en el cociente los . Incluir un negativo da una razón negativa que parece el mínimo y saca de la región factible.

Olvidar actualizar la fila al pivotar. Es una fila más y hay que hacer cero en ella la columna entrante. Si no, el criterio de parada nunca se cumple correctamente.

Confundir el criterio de parada según el convenio de signos. Con la fila , en un problema de máximo se para cuando todos son . Con la otra convención (fila con los directamente) la regla se invierte. Elegir un convenio y no cambiarlo.

Leer mal la solución final. Las variables no básicas valen cero, aunque su columna tenga números. Solo las básicas toman el valor de la columna .

Olvidar interpretar las holguras. significa recurso agotado; , recurso sobrante. Es información valiosa que suele quedarse sin leer.

No comprobar la solución. Sustituir en las restricciones originales y recalcular cuesta un minuto y detecta cualquier error de pivotaje.

6. Ejercicios

Ejercicio 1 · Pasar a forma estándar

básico

Escribe en forma estándar:

y escribe la tabla inicial.

Ver solución

Se añade una holgura por restricción:

con , y la función objetivo sin cambios (las holguras entran con coeficiente 0).

La base inicial es con , , y corresponde al vértice : no producir nada y que sobre todo el recurso.

Ejercicio 2 · Una iteración completa

básico

Realiza la primera iteración del ejercicio 1.

Ver solución

Entra: el más negativo es , columna .

Sale: razones con coeficientes positivos de la columna :

Sale . Pivote: el 2 en la fila , columna .

Pivotar. Fila del pivote entre 2:

Solución actual: , , . Aún no es óptima: queda un negativo ( en ), así que hay que seguir iterando.

Ejercicio 3 · Símplex completo con tres variables

medio

Resuelve:

Ver solución

Tabla inicial.

Iteración 1. Entra (, el más negativo). Razones: , . Sale . Pivote: 2.

Iteración 2. Entra (). Razones: , . Sale . Pivote: 1,5.

Todos los : óptimo.

Comprobación en las restricciones originales:

Interpretación. El producto 2 no se fabrica (): su margen de 2 € no compensa lo que consume de unos recursos que valen 1,667 y 0,667 € por unidad. De hecho su coste reducido, 0,333, dice exactamente cuánto habría que subirle el margen para que entrara en el plan: de 2 a 2,33 €.

Ejercicio 4 · ¿Es no acotado? Diagnóstico correcto

avanzado

Intenta resolver por símplex:

Explica qué ocurre y qué significa.

Ver solución

Tabla inicial.

Iteración 1. Entra (). Razones solo con positivos: en la columna los coeficientes son y ; solo el segundo es positivo:

Sale . Pivote: 2.

Iteración 2. Entra (). Razones: la columna tiene coeficientes y . Solo el primero es positivo:

Sale . Pivote: 0,5.

Todos los : el símplex termina con , , .

Comprobación: ; .

Entonces, ¿dónde estaba el problema? En que este problema sí es acotado, pese a que la región lo parezca por los coeficientes negativos. Comprobémoslo: para poder crecer desde el óptimo en una dirección haría falta y , es decir, y . Con es imposible. La región está acotada en la dirección de crecimiento.

Cuándo sí habría sido no acotado. Basta cambiar la segunda restricción a , o eliminarla. Con solo , la columna de en la tabla sería : ningún coeficiente positivo, no se podría calcular la razón mínima, y podría crecer indefinidamente aumentando sin límite.

La regla que hay que retener: el problema es no acotado cuando la variable entrante tiene todos los coeficientes de su columna . Ahí el algoritmo se detiene y devuelve «no acotado», no una solución.

Qué significa en la práctica. Un problema real nunca es no acotado: siempre hay algún límite. Si el modelo lo es, falta una restricción —capacidad, demanda máxima, presupuesto—. El diagnóstico correcto no es cambiar de método, es revisar la formulación, tal como se vio en el ejercicio 4 del tema 15.

7. Qué desbloquea

Necesitas antes:

Te abre la puerta a:

8. Recursos externos

  • OCW UPV/EHU — Investigación Operativa. Programación Lineal. El método símplex con todos los detalles de tabla y pivotaje, y colección de problemas resueltos al final del tema.
  • OCW Unizar — Modelos de Investigación Operativa. Incluye scripts de apoyo para practicar la entrada y salida de variables: muy útiles para automatizar la parte mecánica y concentrarse en los criterios.
  • OCW Unizar — vídeos de matemáticas básicas, sección de programación lineal. Vídeos concretos sobre el funcionamiento del símplex paso a paso.
  • LINDO. Resolver el mismo problema a mano y con LINDO, y comparar la tabla final, es la mejor forma de verificar que se domina el método.