You are on page 1of 14

MTODO SIMPLEX

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

c1x1 + c2x2 + ... + cnxn


a11x1 + a12x2 + ... + a1nxn = b1

a21x1 + a22x2 + ... + a2nxn = b2

...

am1x1 + am2x2 + ... + amnxn = bm

xi >= 0, i = 1, 2, ..., n

...

Matricialmente escrito como:

...

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:

- 9x1 - 2x2 - 5x3 + 5x4 + 0x5 + 0x6


4x1 + 3x2 + 6x3 - 6x4 +

x5

= 50

x1 + 2x2 - 3x3 + 3x4

- 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.

2*X1 + 1*X2 <= 70

1*X1 + 1*X2 <= 40

1*X1 + 3*X2 <= 90

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

El valor de la funcin objetivo luego de una iteracin ha pasado de 0 a 1.800. Se recomienda al


lector hacer una representacin grfica del problema y notar como las soluciones factibles del
mtodo corresponden a vrtices del dominio de puntos factibles.
La actual tabla no corresponde a la solucin ptima del problema P) debido a que existe una
variable no bsica con costo reducido negativo, por tanto X1 entra a la base. Posteriormente,
mediante el criterio del mnimo cuociente calculamos la variable que debe dejar la base: Min {40/
(5/3), 10/(2/3), 30/(1/3)} = 15, asociado a la fila 2 (variable bsica actual X4), por tanto X4 deja la
base. Obtenido lo anterior se aplica una iteracin del mtodo:
X1

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

10X1 + 10X2 <= 9

10X1 + 5X2 >= 1

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

X1, X2, X3, X4, X5 >= 0

- X4 + X5 = 1

La tabla inicial asociada a la Fase I queda en consecuencia definida de la siguiente forma:


X1

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

Hacemos cero los costos reducidos de las variables bsicas:


X1

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

Donde la solucin ptima es: X1=9/10

X2=0

Con valor ptimo V(P) = 9/5.

CMO DETECTAR INFINITAS SOLUCIONES CON EL MTODO SIMPLEX


Una de las posibilidades a las que nos podemos enfrentar cuando resolvemos un modelo de
Programacin Lineal a travs del Mtodo Simplex es el caso de mltiples o infinitas soluciones
ptimas. Esto significa que existe un tramo de soluciones factibles que reportan idntico valor para
la funcin objetivo y que no es posible mejorar. En este contexto si luego de aplicar las iteraciones
necesarias por el Mtodo Simplex a un modelo de Programacin Lineal (tabla ptima) se verifica
que una variable no bsica tiene costo reducido igual a cero, esto permitir afirmar que estamos
ante el caso de infinitas soluciones.
Ejemplo Infinitas Soluciones ptimas Mtodo Simplex
Consideremos el siguiente modelo de Programacin Lineal:

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.

La tabla inicial con S1 y S2 como variables bsicas iniciales es:

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).

Solucin ptima Degenerada: Cuando se presenta un empate en el clculo de la condicin de


factibilidad del Mtodo Simplex, al menos una variable bsica ser cero en la siguiente iteracin,
caso en el cual se dice que la nueva solucin es degenerada. Esto implica que el modelo tiene al
menos una restriccin redundante.

TEOREMA DE HOLGURAS COMPLEMENTARIAS (DUALIDAD EN PROGRAMACIN


LINEAL)
Uno de los teoremas principales en la teora de dualidad enProgramacin Lineal es elTeorema de
Holguras Complementarias. Dicho teorema nos permite encontrar la solucin ptima del
problema dual cuando conocemos la solucin ptima del problema primal (y viceversa) a travs de
la resolucin de un sistema de ecuaciones conformado por las variables de decisin (primala y dual)
y las restricciones (del modelo primal y dual).
La importancia de este teorema radica en que facilita la resolucin de los modelos de optimizacin
lineal, permitiendo a quin los resuelve buscar el modelo ms sencillo para abordar (desde el punto
de vista algortmico) dado que de cualquier forma podr obtener los resultados del modelo
equivalente asociado (sea ste el modelo primal o dual).
Ejemplo Teorema de Holguras Complementarias
Consideremos el siguiente modelo de Programacin Lineal (en adelante primal) en 2 variables cuya
solucin ptima es X=14/5 e Y=8/5 con valor ptimoV(P)=20,8.

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))

Luego, el teorema de holguras complementarias plantea las siguientes relaciones:

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.

You might also like