MÉTODO SIMPLEX

El Método Simplex es un método analítico de solución de problemas de programación lineal
capaz de resolver modelos más complejos que los resueltos mediante el método gráfico sin restricción en el
número de variables.
El Método Simplex es un método iterativo que permite ir
mejorando la solución en cada paso. La razón matemática de esta
mejora radica en que el método consiste en caminar del vértice de un
poliedro a un vértice vecino de manera que aumente o
disminuya (según el contexto de la función objetivo, sea maximizar o
minimizar), dado que el número de vértices que presenta un poliedro
solución es finito siempre se hallará
solución.
Este famosísimo método fue creado en el año de 1947 por el
estadounidense George Bernard Dantzig y el ruso Leonid Vitalievich
Kantorovich, con el ánimo de crear un algoritmo capaz de solucionar
problemas de m restricciones y n variables.
¿QUE ES UNA MATRIZ IDENTIDAD?
Una matriz puede definirse como una ordenación rectangular de
elementos, (o listado finito de elementos), los cuales pueden ser
números reales o complejos, dispuestos en forma de filas y de
columnas.
La matriz idéntica o identidad es una matriz cuadrada (que posee el mismo número tanto de columnas como de filas) de orden n que tiene todos los elementos diagonales iguales a
uno (1) y todos los demás componentes iguales a cero (0), se denomina matriz idéntica o identidad de orden n, y se denota por:
La importancia de la teoría de matrices en el Método Simplex es
fundamental, dado que el algoritmo se basa en dicha teoría para la
resolución de sus problemas.
OBSERVACIONES IMPORTANTES AL UTILIZAR MÉTODO SIMPLEX
VARIABLES DE HOLGURA Y EXCESO
El Método Simplex trabaja basándose en ecuaciones y las
restricciones iniciales que se modelan mediante programación lineal no
lo son, para ello hay que convertir estas inecuaciones en ecuaciones
utilizando unas variables denominadas de holgura y exceso
relacionadas con el recurso al cual hace referencia la restricción y que
en el tabulado final representa el "Slack or
surplus" al que hacen referencia los famosos programas de
resolución de investigación de operaciones, estas variables adquieren un
gran valor en el análisis de sensibilidad y juegan un rol
fundamental en la creación de la matriz identidad base del Simplex.
Estas variables suelen estar representadas por la letra "S", se suman si la restricción es de signo "<= " y se restan si la restricción es de signo ">=".
Por ejemplo:
VARIABLE ARTIFICIAL / MÉTODO DE LA "M"
Una variable artificial es un truco matemático para convertir
inecuaciones ">=" en ecuaciones, o cuando aparecen igualdades en el
problema original, la característica principal de estas
variables es que no deben formar parte de la solución, dado que no
representan recursos. El objetivo fundamental de estas variables es la
formación de la matriz identidad.
Estas variables se representa por la letra "A", siempre se
suman a las restricciones, su coeficiente es M (por esto se le denomina
Método de la M grande, donde M significa un número
demasiado grande muy poco atractivo para la función objetivo), y el
signo en la función objetivo va en contra del sentido de la misma, es
decir, en problemas de Maximización su signo es menos (-)
y en problemas de Minimización su signo es (+), repetimos con el
objetivo de que su valor en la solución sea cero (0).
MÉTODO SIMPLEX PASO A PASO
EL PROBLEMA
La empresa el SAMÁN Ltda. Dedicada a la fabricación de muebles, ha
ampliado su producción en dos líneas más. Por lo tanto actualmente
fabrica mesas, sillas, camas y bibliotecas. Cada mesa
requiere de 2 piezas rectangulares de 8 pines, y 2 piezas cuadradas
de 4 pines. Cada silla requiere de 1 pieza rectangular de 8 pines y 2
piezas cuadradas de 4 pines, cada cama requiere de 1
pieza rectangular de 8 pines, 1 cuadrada de 4 pines y 2 bases
trapezoidales de 2 pines y finalmente cada biblioteca requiere de 2
piezas rectangulares de 8 pines, 2 bases trapezoidales de 2 pines
y 4 piezas rectangulares de 2 pines. Cada mesa cuesta producirla
$10000 y se vende en $ 30000, cada silla cuesta producirla $ 8000 y se
vende en $ 28000, cada cama cuesta producirla $ 20000 y se
vende en $ 40000, cada biblioteca cuesta producirla $ 40000 y se
vende en $ 60000. El objetivo de la fábrica es maximizar las utilidades.
PASO 1: MODELACIÓN MEDIANTE PROGRAMACIÓN LINEAL
Las variables:
X1 = Cantidad de mesas a producir (unidades)
X2 = Cantidad de sillas a producir (unidades)
X3 = Cantidad de camas a producir (unidades)
X4 = Cantidad de bibliotecas a producir (unidades)
Las restricciones:
2X1 + 1X2 + 1X3 + 2X4 <= 24
2X1 + 2X2 + 1X3 <= 20
2X3 + 2X4 <= 20
4X4 <= 16
La función Objetivo:
ZMAX = 20000X1 + 20000X2 + 20000X3 + 20000X4
X1 = Cantidad de mesas a producir (unidades)
X2 = Cantidad de sillas a producir (unidades)
X3 = Cantidad de camas a producir (unidades)
X4 = Cantidad de bibliotecas a producir (unidades)
Las restricciones:
2X1 + 1X2 + 1X3 + 2X4 <= 24
2X1 + 2X2 + 1X3 <= 20
2X3 + 2X4 <= 20
4X4 <= 16
La función Objetivo:
ZMAX = 20000X1 + 20000X2 + 20000X3 + 20000X4
PASO 2: CONVERTIR LAS INECUACIONES EN ECUACIONES
En este paso el objetivo es asignar a cada recurso una variable de Holgura, dado que todas las restricciones son "<=".
2X1 + 2X2 + 1X3 + 0X4 + 0S1 + 1S2 + 0S3 + 0S4 = 20
0X1 + 0X2 + 2X3 + 2X4 + 0S1 + 0S2 + 1S3 + 0S4 = 20
0X1 + 0X2 + 0X3 + 4X4 + 0S1 + 0S2 + 0S3 + 1S4 = 16
De esta manera podemos apreciar una matriz identidad (n = 4),
formado por las variables de holgura las cuales solo tienen coeficiente 1
en su respectivo recurso, por el ejemplo la variable
de holgura "S1" solo tiene coeficiente 1 en la restricción
correspondiente a el recurso 1.
La función objetivo no sufre variaciones:
ZMAX = 20000X1 + 20000X2 + 20000X3 +
20000X4
PASO 3: DEFINIR LA SOLUCIÓN BÁSICA INICIAL
El Método Simplex parte de una solución básica inicial para realizar
todas sus iteraciones, esta solución básica inicial se forma con las
variables de coeficiente diferente de cero (0) en la
matriz identidad.
1S2 = 20
1S3 = 20
1S4 = 16
PASO 4: DEFINIR LA TABLA SIMPLEX INICIAL
Solución: (segundo término)= En esta fila se
consigna el segundo término de la solución, es decir las variables, lo
más adecuado es que estas se consignen de manera ordenada, tal
cual como se escribieron en la definición de restricciones.
Cj = La fila "Cj" hace referencia al coeficiente que tiene cada una de las variables de la fila "solución" en la función objetivo.
Variable Solución = En esta columna se consigna la
solución básica inicial, y a partir de esta en cada iteración se van
incluyendo las variables que formarán parte de la solución
final.
Cb = En esta fila se consigna el valor que tiene la
variable que se encuentra a su derecha "Variable solución" en la
función objetivo.
Zj = En esta fila se consigna la contribución total, es decir la suma de los productos entre término y Cb.
Cj - Zj = En esta fila se realiza la diferencia entre la fila Cj y la fila Zj, su significado es un "Shadow price", es decir, la utilidad que se deja de recibir
por cada unidad de la variable correspondiente que no forme parte de la solución.
Solución inicial:
PASO 5: REALIZAR LAS ITERACIONES NECESARIAS
Este es el paso definitivo en la resolución por medio del Método
Simplex, consiste en realizar intentos mientras el modelo va de un
vértice del poliedro objetivo a otro.
El procedimiento a seguir es el siguiente:
1. Evaluar que variable entrará y cual saldrá de la solución óptima:
Maximizar | Minimizar | |
Variable que entra | La más positiva de los Cj - Zj | La más negativa de los Cj - Zj |
Variable que sale | Siendo b los valores bajo la celda solución y a el valor correspondiente a la intersección entre b y la variable que entra. La menos positiva de los b/a. | Siendo b los valores bajo la celda solución y a el valor correspondiente a la intersección entre b y la variable que entra. La más positiva de los b/a. |
2. El hecho de que una variable distinta forme parte de las
variables solución implica una serie de cambios en el tabulado Simplex,
cambios que se explicarán a continuación.
- Lo primero es no olvidar el valor del "a" correspondiente a la variables a entrar, en este caso el "a = 4".
- Lo siguiente es comenzar a rellenar el resto de la tabla, fila x fila.
- Se repite este procedimiento con las dos filas restantes, ahora se
harán los cálculos correspondientes en el resto de las celdas.
De esta manera se culmina la primera iteración, este paso se
repetirá cuantas veces sea necesario y solo se dará por terminado el
método según los siguientes criterios.
Maximizar | Minimizar | |
Solución Óptima | Cuando todos los Cj - Zj sean <= 0 | Cuando todos los Cj - Zj sean >= 0 |
- Continuamos con las iteraciones para lo cual tenemos que repetir los pasos anteriores.
En esta última iteración podemos observar que se cumple con la
consigna Cj - Zj <= 0, para ejercicios cuya función objetivo sea
"Maximizar", por ende hemos llegado a la respuesta óptima.
X2 = 4
X3 = 6
X4 = 4
Con una utilidad de: $ 340000
Sin embargo una vez finalizado el Método Simplex se debe observar
una matriz identidad en el rectángulo determinado por las variables de
decisión, el hecho de que en este caso no se muestre la
matriz identidad significa que existe una solución óptima alterna.
La manera de llegar a la otra solución consiste en alterar el orden
en que cada una de las variables entro a la solución básica, recordemos
que el proceso fue decidido al azar debido a la
igualdad en el Cj - Zj del tabulado inicial. Aquí les presentamos
una de las maneras de llegar a la otra solución.
Podemos observar como existe una solución óptima alternativa en la
cual la combinación de variables es distinta y existe un menor consumo
de recursos, dado que el hecho de que se encuentre la
variable "S1" en la solución óptima con un coeficiente de "3"
significa que se presenta una holgura de 3 unidades del recurso (pieza
rectangular de 8 pines).
X2 = 7 (Cantidad de sillas a producir = 7)
X3 = 6 (Cantidad de camas a producir = 6)
X4 = 4 (Cantidad de bibliotecas a producir = 4)
S1 = 3 (Cantidad de piezas rectangulares de 8 pines sin utilizar =3)
Con una utilidad de: $ 340000
PROBLEMAS DE MINIMIZACIÓN CON EL MÉTODO SIMPLEX
Para resolver problemas de minimización mediante el algoritmo
simplex existen dos procedimientos que se emplean con regularidad.
-
El primero, que a mi juicio es
el más recomendable se basa en un artificio aplicable al algoritmo
fundamentado en la lógica matemática que dicta
que "para cualquier función f(x), todo punto que minimice a f(x) maximizará también a - f(x)". Por lo tanto el
procedimiento a aplicar es multiplicar por el factor negativo (-1) a toda la función objetivo.
a continuación se resuelve el algoritmo como un problema de maximización.
-
El segundo procedimiento, el
cual pretende conservar la minimización consiste en aplicar los
criterios de decisión que hemos esbozado con anterioridad, en los
casos de la variable que entra, que sale y el caso en el que la
solución óptima es encontrada. Aquí recordamos los procedimientos según
el criterio dado el caso "minimizar".
Minimizar | |
Variable que entra | La más negativa de los (Cj - Zj) |
Variable que sale | Siendo "b" los valores bajo la celda solución y "a" el valor correspondiente a la intersección entre "b" y la variable que entra. La más positiva de los "b/a". |
Solución Óptima | Cuando todos los (Cj - Zj) sean >= 0. |
No hay comentarios.:
Publicar un comentario