Professional Documents
Culture Documents
El Mtodo Simplex publicado por George Dantzig en 1947 consiste en un algoritmo iterativo que
secuencialmente a travs de iteraciones se va aproximando al ptimo del problema de Programacin
Lineal en caso de existir esta ltima.
La primera implementacin computacional del Mtodo Simplex es el ano 1952 para un problema de
71 variables y 48 ecuaciones. Su resolucin tarda 18 horas. Luego, en 1956, un cdigo llamado
RSLP1, implementado en un IBM con 4Kb en RAM, admite la resolucin de modelos con 255
restricciones.
El Mtodo Simplex hace uso de la propiedad de que la solucin ptima de un problema de
Programacin Lineal se encuentra en un vrtice o frontera del dominio de puntos factibles (esto
ltimo en casos muy especiales), por lo cual, la bsqueda secuencial del algoritmo se basa en la
evaluacin progresiva de estos vrtices hasta encontrar el ptimo. Cabe destacar que para aplicar el
Mtodo Simplex a un modelo lineal, este debe estar en un formato especial conocido como formato
estndar el cual definiremos a continuacin.
FORMA ESTNDAR DE UN MODELO DE PROGRAMACIN LINEAL
Consideremos un modelo de Programacin Lineal en su forma estndar, que denotaremos en lo que
sigue por:
Min
sa
...
xi >= 0, i = 1, 2, ..., n
...
...
m <= n
Min cTx
s.a
Ax = b
x >= 0
No existe prdida de generalidad en asumir que un modelo de PL viene dado en su forma estndar:
EJEMPLO
P)
Max
9u + 2v + 5z
sa
4u + 3v + 6z <= 50
u + 2v - 3z >= 8
2u - 4v + z = 5
u,v >= 0
z e IR
1. Siempre es posible llevar un problema de maximizacin a uno de minimizacin. Si f(x) es
la funcin objetivo a maximizar y x* es la solucin ptima f(x*) >= f(x), para todo x
factible. -f(x*) <= - f(x), para todo x factible. En consecuencia: x* es tambin mnimo de f(x)
2. Cada restriccin del tipo <= puede ser llevada a una ecuacin de igualdad usando una
(nueva) variable deholgura no negativa, con coeficiente nulo en la funcin objetivo.
3. Cada restriccin del tipo >= puede ser llevada a una ecuacin de igualdad usando una
(nueva) variable deexceso no negativa, con coeficiente nulo en la funcin objetivo.
4. Siempre es posible escribir una variable libre de signo como la diferencia de dos variables
no negativas.
Considerando la siguiente notacin: u = x1, v = x2, z = x3 - x4, s1 = x5 (holgura), s2 = x6
(exceso), el problema P) puede ser escrito en forma equivalente como:
Min
sa:
x5
= 50
- x6 = 8
2x1 - 4x2 + x3 - x4
= 5
xi >= 0,
i=1,2,3,4,5,6.
EJEMPLO:
Resolver el siguiente problema de Programacin Lineal utilizando el Mtodo Simplex:
Max
40*X1 + 60*X2
s.a.
X1 >= 0 X2 >= 0
Para poder aplicar el Mtodo Simplex, es necesario llevar el modelo a su formato estndar, para lo
cual definimos X3, X4, X5 >= 0 como las respectivas variables de holgura para la restriccin 1, 2
y 3. De esta forma queda definida la tabla inicial del mtodo de la siguiente forma:
X1
X2
X3
X4
X5
70
40
90
-40
-60
En esta situacin, las variables de holgura definen una solucin bsica factible inicial, condicin
necesaria para la aplicacin del mtodo. Luego, se verifican los costos reducidos de las variables
no bsicas (X1 y X2 en la tabla inicial) y se escoge como variable que entra a la base aquella con
el costo reducido "ms negativo". En este caso, X2.
Luego, para escoger que variable bsica deja la base debemos buscar el mnimo cuociente entre el
lado derecho y los coeficientes asociados a la variable entrante en cada fila (para aquellos
coeficientes > 0 marcados en rojo en la tabla anterior). El mnimo se alcanza en Min {70/1, 40/1,
90/3} = 30 asociado a la tercera fila, el cual corresponde a la variable bsica actual X5, en
consecuencia, X5 deja la base. En la posicin que se alcanza el mnimo cuociente lo
llamaremos"Pivote" (marcado con rojo) el cual nos servir para realizar las respectivas operaciones
filas, logrando la siguiente tabla al cabo de una iteracin:
X1
X2
X3
X4
X5
5/3
-1/3
40
2/3
-1/3
10
1/3
1/3
30
-20
20
1800
X2
X3
X4
X5
-5/2
1/2
15
3/2
-1/2
15
-1/2
1/2
25
30
10
2100
Finalmente se alcanza la solucin ptima del problema P) y se verifica que los costos reducidos
asociados a las variables no bsicas (X4 y X5 son mayores o iguals que cero). Notse que la
existencia de un costo reducido igual a cero para una variable no bsica en esta etapa define un
problema
con
"infinitas
soluciones".
La solucin alcanzada es X1* = 15, X2* = 25 con V(P*) = 2.100. Adicionalmente, los costos
reducidos asociados a las variables no bsicas definen el precio sombra asociado a las restricciones
1, 2 y 3, respectivamente, lo cual es equivalente a la obtencin del precio sombra mediante el
mtodo grfico. Dejaremos para una posterior presentacin, la forma de calcular el intervalo de
variacin para el lado derecho que permite la validez del precio sombra, utilizando la tabla final del
Mtodo Simplex.
MTODO SIMPLEX DE 2 FASES
Esta estrategia se utiliza cuando no es inmediata una solucin bsica factible inicial en las variables
originales del modelo.
FASE 1: Se considera un problema auxiliar que resulta de agregar tantas variables auxiliares a las
restricciones del problema, de modo de obtener una solucin bsica factible. Resolver por Simplex
un problema que considera como funcin objetivo la suma de las variables auxiliares. Si el valor
ptimo es cero, seguir a la Fase II, en caso contrario, no existe solucin factible.
FASE 2: Resolver por Simplex el problema original a partir de la solucin bsica factible inicial
hallada en la Fase I.
P)
Max
2X1 + X2
sa
X1, X2 >= 0
Se debe agregar X3 como variable de holgura de la restriccin 1, X4 como variable de exceso de la
restriccin 2 y X5 variable auxiliar para poder comenzar la Fase 1. (Ntese que solo agregando X3
como variable de holgura a la restriccin 1 y X4 como variable de exceso a las segunda restriccin
no se obtiene una solucin bsica factible inicial, en particular X4<0).
F1)
sa
Min
X5
...............10X1 + 10X2 + X3
= 9
10X1 + 5X2
- X4 + X5 = 1
X2
X3
X4
X5
10
10
10
-1
Luego, se debe hacer 0 el costo reducido de X5, obteniendo la siguiente tabla inicial para hacer el
uso de Simplex:
X1
X2
X3
X4
X5
10
10
10
-1
-10
-5
-1
Se escoge X1 como variable que entra a la base al tener el costo reducido ms negativo.
Posteriormente, mediante el criterio del mnimo cuociente se selecciona la variable que sale de la
base: Min {9/10; 1/10} = 1/10, X5 sale de la base:
X1
X2
X3
X4
X5
-1
1/2
-1/10
1/10
1/10
Se obtiene la solucin ptima de la Fase I, con valor ptimo cero. Luego iniciamos la Fase II del
mtodo tomando X1 yX3 como variables bsicas iniciales.
FASE 2: Resolver por Simplex el problema original a partir de la solucin bsica factible inicial
hallada en la Fase I.
X1
X2
X3
X4
1/2
-1/10
1/10
-2
-1
X2
X3
X4
1/2
-1/10
1/10
-1/5
1/5
X4 entra a la base. Por el criterio del mnimo cuociente, el pivote se encuentra en la fila 1, por
tanto X3 sale de la base:
X1
X2
X3
X4
1/10
9/10
1/5
9/5
X2=0
Llevamos el modelo a su forma estndar para proceder con la aplicacin del Mtodo Simplex, con
S1 y S2 como variables de holgura de la restriccin 1 y 2, respectivamente.
Y entra a la base. Luego para determinar la variable que deja la base utilizamos el criterio del
mnimo cuociente: Min {12/4 ; 16/3} = 3 ==> S1 deja la base. Con esta informacin actualizamos
la tabla:
Luego de una iteracin encontramos la solucin ptima, donde Y y S2 son variables bsicas.
La solucin bsica factible ptima es X=0 Y=3 S1=0 S2=7. El valor ptimo es V(P)=6. Notar que
X (variable no bsica) tiene costo reducido igual a cero lo que determina la existencia de mltiples
o infinitas soluciones ptimas, de modo que la solucin actual es uno de los vrtices ptimos.
El
siguiente
diagrama
muestra
la Resolucin
Grfica del
problema
con
el
software Geogebra donde la solucin ptima que hemos encontrado en la aplicacin del Mtodo
Simplex corresponde al vrtice B. Notar que la lnea punteada de color azul corresponde a las
curvas de nivel de la funcin objetivo que tienen la misma pendiente que la restriccin 1 (pendiente
-1/2).
Cmo podemos obtener el vrtice C que es solucin ptima a travs del Mtodo
Simplex? Una alternativa sera forzando la entrada a la base de la variable X en la tabla ptima.
Luego calculamos cul de las actuales variables bsicas deja la base segn el criterio del mnimo
cuociente: Min {3/1/2 ; 7/5/2} = 14/5 ==> S2 deja la base. Actualizando la tabla obtenemos:
La nueva solucin ptima (con idntico valor ptimo) es X=14/5 Y=8/5 S1=0 S2=0, que
corresponde al vrtice C en el grfico anterior. Ahora la variable no bsica S2 tiene costo reducido
igual a cero en la tabla ptima que seala el caso de mltiples soluciones ptimas (en este ejemplo
el tramo BC).
CASOS ESPECIALES EN LA PROGRAMACIN LINEAL DETECTADOS CON EL
MTODO SIMPLEX
En la resolucin de un modelo de Programacin Lineal se pueden enfrentar ciertos casos especiales
que merecen particular atencin. Estos casos (infinitas soluciones ptimas, problema no acotado sin
solucin ptima, problema infactible, solucin ptima degenerada) se pueden detectar a travs de la
aplicacin del Mtodo Simplex segn hemos tratado previamente en el Blog. A continuacin un
resumen de dichos escenarios:
Infinitas Soluciones ptimas: Se detecta cuando luego de alcanzar una solucin bsica factible
ptima, al menos una variable no bsica tiene costo reducido igual a cero. La siguiente imagen
representa esta situacin donde la solucin ptima (infinitas) se alcanza en el tramo entre los
vrtices B y C. En efecto se puede representar de forma general las soluciones ptimas
como:
con
Problema No Acotado: En las iteraciones del Mtodo Simplex un problema no acotado se detecta
cuando al calcular el criterio de factibilidad o mnimo cuociente que determina la variable que deja
la base, todas las entradas en la columna de la variable no bsica entrante son negativas o
cero, por tanto no existe denominador vlido (mayor a cero) que permita determinar el pivote. En la
siguiente representacin grfica se puede apreciar que las curvas de nivel de la funcin objetivo
crecen en la direccin del vector gradiente, donde en particular el dominio de soluciones factibles es
no acotado para los valores que puede adoptar la variable
Es importante destacar que el hecho que un dominio de soluciones factibles sea no acotado no
implica necesariamente que el problema de Programacin Lineal no tiene solucin.
Problema Infactible: Si al finalizar la Fase I del Mtodo Simplex de 2 Fases el valor de la funcin
objetivo es distinto a cero, entonces el problema lineal es infactible, es decir, el dominio de
soluciones factibles es vaco al existir restricciones incompatibles (por ejemplo en el grfico a
continuacin el rea azul no se intersecta con el rea color rojo).
El modelo dual asociado al modelo primal es: (ante dudas de cmo pasar del problema primal al
problema dual se recomienda revisar el artculo Relaciones de Dualidad en Programacin Lineal
(Cmo pasar de Primal a Dual))
Como sabemos X=14/5 e Y=8/5 (solucin bsica factible ptima del modelo primal). Si
reemplazamos estos valores de X e Y en la tercera y cuarta ecuacin generamos un sistema de
ecuaciones de 22 en trminos de A y B cuya solucin corresponde a A=6/5 y B=2/5 (solucin
ptima del modelo dual). Si posteriormente evaluamos en la funcin objetivo del problema dual
dicha solucin obtenemos: V(D)=12(6/5)+16(2/5)=20,8 que es similar al valor ptimo del problema
primal (Teorema de Dualidad Fuerte).
Siendo A=6/5 y B=2/5 una solucin factible para el problema dual, sta es la solucin ptima de
dicho problema.
Observaciones: Notar que la restriccin 1 y 2 del problema primal son activas en el ptimo, es
decir, se cumplen en igualdad. Esto permite descartar que A y B (variables duales asociadas a
dichas restricciones) son iguales a cero. Si por ejemplo, la restriccin 1 del modelo primal no
fuese activa en el ptimo se podra afirmar que A es igual a cero en el dual.