Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Parte 6 Programación Lineal Método Simplex
Parte 6 Programación Lineal Método Simplex
Si no Si s
Fin
s.a.
x1 4
2x2 12
3x1 + 2x2 18
x1 0 x2 0
En la figura anterior pueden observarse los puntos de interseccin que son las
soluciones en los vrtices del problema. Los cinco puntos que se encuentran en los
vrtices de la regin factible, (0,0), (0,6), (2,6), (4,3), (4,0) son las soluciones
factibles en los vrtices. Algunas de estas soluciones factibles en un vrtice son
adyacentes, en el sentido de que estn conectadas por una sola orilla (segmento de
lnea) de la frontera de la regin factible; esto es, tanto (0,6) como (4,3) son adyacentes
a (2,6). Las tres propiedades clave de las soluciones factibles en los vrtices y que
forman el fundamento del mtodo smplex se resumen como sigue:
1b. Si existen soluciones ptimas mltiples, entonces al menos dos de ellas deben ser
soluciones factibles en vrtices adyacentes.
3. Si una solucin en un vrtice es igual o menor (segn el valor de Z) que todas las
soluciones factibles en los vrtices adyacentes a ella, entonces es igual o mejor que
todas las dems soluciones en los vrtices; es decir, es ptima.
3. Prueba de optimalidad: ni (0,6) ni (4,3) son mejores que (2,6), entonces se detiene,
(2,6) es ptima.
x1 4
La variable de holgura para esta restriccin es x 3, que no es otra cosa que la holgura
entre los dos lados de la desigualdad. Entonces:
x1 + x3 = 4
x1 + x3 = 4 y
x3 0,
de manera que se usar este conjunto por resultar ms conveniente.
sujeta a
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj 0 para j = 1, 2, , 5
Como los trminos solucin bsica y solucin bsica factible constituyen partes
muy importantes del vocabulario normal de programacin lineal, es necesario aclarar
sus propiedades algebraicas. Ntese que para la forma de igualdades del ejemplo, el
sistema de restricciones funcionales tiene dos variables ms (cinco) que ecuaciones
(tres). Este hecho proporciona dos grados de libertad al resolver el sistema, ya que se
pueden elegir dos variables cualesquiera y hacerlas iguales a cualquier valor arbitrario
para resolver las tres ecuaciones en trminos de las tres variables restantes (se
excluyen redundancias). El mtodo smplex usa cero para este valor arbitrario. Las
variables que por el momento se hacen iguales a cero se llaman variables no bsicas;
todas las dems se llaman variables bsicas. La solucin que resulta es una solucin
bsica. Si todas las variables bsicas son no negativas, entonces se tiene una solucin
bsica factible. Para cualquier solucin bsica, la solucin en el vrtice correspondiente
se obtiene simplemente al quitar las variables de holgura. Dos soluciones bsicas son
adyacentes si todas menos una de sus variables son las mismas; la misma aseveracin
se cumple para las variables bsicas. Entonces, trasladarse de una solucin bsica
factible a una adyacente significa cambiar el estado de una variable de no bsica a
bsica y viceversa para otra variable.
Maximizar Z,
sujeta a
Z 3x1 5x2 = 0
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj 0 para j = 1, 2, , 5
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
La tabla anterior ilustra una propiedad clave que toda tabla smplex debe tener
para estar en la forma apropiada; se trata del patrn especial de los coeficientes de las
variables bsicas. En particular, ntese cmo las columnas de x 3, x4 y x5 (al igual que la
columna de Z) contiene exactamente un +1 en el rengln que corresponde a esa
variable bsica (vase la primera columna), y todos los dems coeficientes en esa
columna son cero. De la misma manera, cada ecuacin contiene exactamente una
variable bsica con coeficiente distinto de cero, en donde este coeficiente es +1. Esta
propiedad es significativa, ya que permite identificar de inmediato la solucin bsica
factible actual a partir de la tabla; esto es, cada variable bsica es igual a la constante
del lado derecho de su ecuacin. Esta primera solucin bsica factible actual se
muestra en la figura anterior en la columna de Es ptima?. De aqu en adelante, para
cada nueva iteracin del mtodo smplex mostraremos la solucin bsica factible actual
en esta columna de la tabla smplex. (Recurdese que las variables no bsicas son
iguales a cero). La tabla smplex inicial quedar automticamente en esta forma
apropiada (a menos que el problema original de programacin lineal no est en nuestra
forma estndar).
El mtodo smplex construye una tabla smplex para cada solucin bsica
factible que se obtiene, hasta alcanzar la solucin ptima. A continuacin describimos
el procedimiento para problemas que ya estn en la forma estndar, con bi 0 para
toda i = 1, 2, , m.
PASO ITERATIVO.
Parte 1. Se determina la variable bsica entrante mediante la eleccin de la
variable con el coeficiente negativo (automticamente se refiere a una variable no
bsica) que tiene el mayor valor absoluto en la ecuacin de Z. Se enmarca la columna
correspondiente a este coeficiente; esta columna recibe el nombre de columna pivote.
En el ejemplo, el coeficiente negativo ms grande (en trminos de valor absoluto) es 5
para x2 (5>3), por lo que x 2 debe convertirse en variable bsica. Este cambio se indica
en la siguiente tabla con el recuadro en la columna de x 2 abajo del 5:
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 5 0 0 0 0
x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 12 12/2 = 6 mnimo
x5 0 3 2 0 0 1 18 18/2 = 9
Parte 2. Se determina la variable bsica que sale; para esto, a) se toma cada
coeficiente estrictamente positivo (>0) de la columna enmarcada, b) se divide el lado
derecho de cada rengln entre estos coeficientes, c) se identifica la ecuacin con el
menor coeficiente y d) se selecciona la variable bsica para esta ecuacin. (Esta
variable bsica es la que llega a cero primero cuando se incrementa la variable bsica
entrante). Se enmarca el rengln de esta ecuacin en la tabla smplex sin incluir la
columna Z y se le da el nombre de rengln pivote. El nmero que est en la
interseccin de los dos recuadros se llama pivote.
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
Z 1
x3 0
x2 0 0 1 0 1/2 0 6
x5 0
Rengln de Z: 3
5 0 0 0, 0
(5) 0 1 0 1/2 0, 6
Rengln nuevo = 3
0 0 5/2 0, 30
Rengln 1: Sin cambio porque su coeficiente en la columna pivote es cero.
Rengln 3: 3 2 0 0 1, 18
(2) 0 1 0 1/2 0, 6
Rengln nuevo = 3 0 0 1 1, 6
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
Z 1 3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 1 1 6
Como las variables bsicas siempre son iguales al lado derecho de la
ecuacin que le corresponde, la nueva solucin bsica factible es (0, 6, 4, 0,
6) con Z = 30.
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 1 1 6 6/3 = 2 mn.
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 12/2 = 6 mn. Z=0
x5 0 3 2 0 0 1 18 18/2 = 9
Z 1 3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 1 1 6 6/3 = 2 mn.
Z 1 0 0 0 3/2 1 36
x3 0 0 0 1 1/3 1/3 2 (2, 6, 2, 0, 0)
x2 0 0 1 0 1/2 0 6 Z = 36
x1 0 1 0 0 1/3 1/3 2 ptima
Por fortuna, aunque en teora es posible que haya ciclos perpetuos, ha sido en
extremo raro que tenga lugar en problemas reales. Si ocurriera un ciclo siempre se
puede salir de l cambiando la eleccin de la variable bsica que sale. Por lo tanto se
recomienda romper los empates arbitrariamente y seguir el proceso sin preocuparse de
las variables que puedan resultar.
sujeta a x1 4
y x1 0, x2 0
Variable Lado
Bsica Z x1 x2 x3 derecho Cociente Es ptima?
Z 1 3 5 0 0
X3 0 1 0 1 4 Sin mnimo
donde los pesos w1 yw2 son nmeros que satisfacen las relaciones:
w1 + w2 = 1 y w1 0, w2 0
Una vez que el mtodo smplex encuentra una solucin bsica factible ptima,
se puede detectar si existen otras y, si as es, se encuentra como sigue:
Siempre que un problema tiene ms de una solucin bsica factible ptima, al menos
una variable no bsica tiene coeficiente cero en la ecuacin de Z final, de manera que
si aumenta su valor, el valor de la funcin Z no cambia. Por lo tanto, estas otras
soluciones bsicas factibles ptimas se pueden identificar (si se desea) realizando
iteraciones adicionales del mtodo smplex, en las que cada vez se elige una variable
no bsica con coeficiente cero como variable bsica entrante. Si una de estas
iteraciones no tiene una variable bsica que sale esto indica que la regin factible es no
acotada y la variable bsica entrante puede crecer indefinidamente sin cambiar el valor
de Z.
Mtodo de la M o de Penalizacin.
Hasta este momento se han presentado los detalles del mtodo smplex con la
suposicin de que el problema se encuentra en nuestra forma estndar (maximizar Z
sujeta a las restricciones funcionales de la forma y restricciones de no
negatividad sobre todas las variables) con b i 0 para toda i = 1, 2, ..., m. En esta
seccin se establecer cmo hacer los ajustes requeridos a otras formas legtimas de
modelos de Programacin Lineal. Se ver que todos estos ajustes se pueden hacer en
el paso inicial, de manera que el resto del mtodo smplex se aplica justo como se
aprendi.
El nico problema serio que introducen las otras formas de restricciones
funcionales (= ) es identificar una solucin inicial bsica factible. Antes, esta solucin
inicial se encontraba en forma muy conveniente al hacer que las variables de holgura
fueran las variables bsicas iniciales, donde cada una era igual a la constante no
negativa del lado derecho de la ecuacin correspondiente. Ahora debe hacerse algo
ms. El enfoque estndar que se utiliza es estos casos es la tcnica de variables
artificiales. sta construye un problema artificial ms conveniente introduciendo una
variable ficticia (llamada variable artificial) en cada restriccin que lo requiera. Esta
nueva variable se introduce slo con el fin de que sea la variable bsica inicial para esa
ecuacin. Las restricciones usuales de no negatividad tambin se aplican sobre estas
variables y la funcin objetivo se modifica para que imponga una penalizacin
exorbitante en el caso de que adquieran valores mayores que cero. Las iteraciones del
mtodo smplex automticamente fuerzan a las variables artificiales a desaparecer (a
volverse cero) una a una, hasta que todas quedan fuera de la solucin; despus de
esto se resuelve el problema real.
3x1 + 2x2 = 18
Para ilustrar la manera en que la tcnica de las variables artificiales maneja las
restricciones de la forma usaremos el siguiente ejemplo:
Notemos que la tercera restriccin es del tipo , por lo que para cambiarla a su
forma de igualdad tendramos que restar una variable de supervit (o de excedente),
quedando de la siguiente manera:
0.6x1 + 0.4x2 x5 = 6
Se ha restado la variable de excedente x5 (se utiliz x5 porque en la primera
restriccin agregamos una variable de holgura que sera x 3 y en la segunda restriccin
agregamos tambin una variable artificial que sera x 4; todo esto con el fin de convertir
las desigualdades a su forma de igualdades) para que consuma el exceso de 0.6x 1 +
0.4x2, o sea, lo que se pasa de 6. No obstante en este caso debe agregarse otra
variable. Esta variable extra, llamada variable artificial se aumenta como sigue:
0.6x1 + 0.4x2 x5 + x6 = 6
0.6x1 + 0.4x2 x5 = 6
Sea x1 = 0 y x2 = 0, entonces:
x5 = 6
x5 = 6 (que no cumple la
restriccin de no negatividad)
0.6x1 + 0.4x2 x5 + x6 = 6
x6 = 6
sujeta a
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 5 0 0 M 0
x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 12
x5 0 3 2 0 0 1 18
Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 -3M-3 -2M-5 0 0 0 18M Mx5 + Z
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z = 18M
x5 0 3 2 0 0 1 18
ariable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Una manera directa de minimizar Z con el mtodo smplex es cambiar los roles
de los coeficientes negativos y positivos en el rengln de la funcin objetivo, tanto para
la prueba de optimalidad como para la parte 1 de una iteracin. Se determina la
variable bsica entrante mediante la eleccin de la variable con el coeficiente positivo
menor en la ecuacin de Z. La solucin bsica factible actual es ptima si y slo si
todos los coeficientes de la ecuacin de la funcin objetivo (rengln de Z) son no
positivos ( 0 ). Si es as, el proceso termina; de otra manera, se lleva a cabo otra
iteracin para obtener la nueva solucin bsica factible, lo que significa el cambio de
una variable no bsica por una bsica (parte 1) y viceversa (parte 2), y despus
despejar las variables de la nueva solucin (parte 3). Notemos que no se ha dicho nada
con respecto a la forma de obtener la variable bsica saliente en una iteracin, ya que
este paso se realiza de la misma manera que cuando se est maximizando, es decir,
se escoge aquella variable bsica con el menor cociente. Ilustremos la forma de utilizar
el mtodo smplex para el caso de minimizacin. Consideremos el siguiente ejemplo:
Minimizar Z,
sujeta a
Como los dos primeros coeficientes (0.4 y 0.5) son despreciables comparados
con M, el mtodo de dos fases puede eliminar la M usando las siguientes dos funciones
objetivo que definen Z de manera completamente diferente:
Paso inicial: Se revisan las restricciones del problema original introduciendo variables
artificiales segn se necesite para obtener una solucin bsica factible inicial obvia para
el problema artificial.
La solucin ptima que se obtiene para este problema (con Z = 0) ser una
solucin bsica factible para el problema real.
Fase 2: se eliminan las variables artificiales (de todas formas, ahora todas valen
cero). Comenzando con la solucin bsica factible que se obtuvo al final de la fase 1,
se usa el mtodo smplex para resolver el problema real.
Minimizar W = x4 + x6,
sujeta a
sujeta a
ariable Lado
Bsica W x1 x2 x3 x4 x5 x6 derecho Cociente Es ptima?
W 1 0 0 0 1 0 1 0
x3 0 0.3 0.1 1 0 0 0 2.7
x4 0 0.5 0.5 0 1 0 0 6
x6 0 0.6 0.4 0 0 1 1 6
W 1 1.1 0.9 0 0 1 0 12
x3 0 0.3 0.1 1 0 0 0 2.7 2.7/0.3=9 (0,0,2.7,6,0,6)
x4 0 0.5 0.5 0 1 0 0 6 6/0.5=12 W = 12
x6 0 0.6 0.4 0 0 1 1 6 6/0.6=10
W 1 0 0.53 3.66 0 1 0 2.1
x1 0 1 0.33 3.33 0 0 0 9 9/0.33=27.2 (9,0,0,1.5,0,0.6)
x4 0 0 0.33 1.66 1 0 0 1.5 1.5/0.33=4.5 W = 2.1
x6 0 0 0.2 2 0 1 1 0.6 0.6/0.2=3
W 1 0 0 1.64 0 1.65 2.65 0.51
x1 0 1 0 6.63 0 1.65 1.65 8.01 8.01/1.65=4.8
(8.01,3,0,0.51,0,0)
x4 0 0 0 1.64 1 1.65 1.65 0.51 0.51/1.65=0.30
W = 0.51
x2 0 0 1 10 0 5 5 3
W 1 0 0 0 1 0 1 0
x1 0 1 0 5 1 0 0 7.5 (7.5,4.5,0,0,0.3,0)
x5 0 0 0 0.99 0.60 1 1 0.3 W=0
x2 0 0 1 5.05 3 0 0 4.5 ptima fase 1
Notemos que ya hemos obtenido una solucin ptima para la fase 1 que
consisti en la minimizacin de la suma de todas las variables artificiales. Observemos
tambin que la funcin objetivo W termin con un valor de cero en la ltima tabla, lo
que indica que las dos variables artificiales (x 4 y x6) valen cero tienen valores
recprocos y se cancelan mutuamente para dar cero. En nuestro caso, las dos variables
artificiales valen cero ya que no se encuentran en la columna de las variables bsicas
en la ltima tabla de la primera fase. La segunda fase consiste en resolver el problema
original utilizando como tabla inicial de esta fase la ltima tabla de la primera fase pero
sin considerar la columna de las variables artificiales ya que stas tomaron el valor de
cero en la primera fase. El mtodo smplex aplicado a la segunda fase se muestra en el
siguiente conjunto de tablas:
Variable Lado
Bsica Z x1 x2 x3 x4 x5 x6 derecho Cociente Es ptima?
Z 1 0.4 0.5 0 0 0 0 0
x1 0 1 0 5 1 0 0 7.5
x5 0 0 0 0.99 0.60 1 1 0.3
x2 0 0 1 5.05 3 0 0 4.5
Z 1 0 0.5 2 0 3
x1 0 1 0 5 0 7.5
x5 0 0 0 0.99 1 0.3
x2 0 0 1 5.05 0 4.5
Z 1 0 0 0.52 0 5.25
x1 0 1 0 5 0 7.5 (7.5,4.5,0,0,0.3,0)
x5 0 0 0 0.99 1 0.3 Z = 5.25
x2 0 0 1 5.05 0 4.5 ptima fase 2