Sei sulla pagina 1di 28

Parte 6 Programacin Lineal Mtodo Simplex

El mtodo smplex es un algoritmo. De hecho, cualquier procedimiento


iterativo de solucin es un algoritmo. Entonces, un algoritmo es simplemente un
proceso en el que se repite (se itera) un procedimiento sistemtico una y otra vez hasta
obtener el resultado deseado. Cada vez que se lleva a cabo el procedimiento
sistemtico se realiza una iteracin. En consecuencia, un algoritmo sustituye un
problema difcil por una serie de problemas fciles.

Adems de las iteraciones, los algoritmos incluyen un procedimiento para iniciar


y un criterio para determinar cundo detenerse, como se resume enseguida:

Paso inicial Preparacin para iniciar iteraciones

Paso iterativo Realizacin de iteraciones

Regla de detencin Es ptima la solucin actual?

Si no Si s

Fin

El mtodo smplex es un procedimiento algebraico en el que cada iteracin


contiene la solucin de un sistema de ecuaciones para obtener una nueva solucin a la
que se le aplica la prueba de optimalidad. No obstante, tambin tiene una interpretacin
geomtrica muy til. Para ilustrar los conceptos geomtricos generales se emplear la
solucin grfica del siguiente problema:

Max Z = 3x1 + 5x2

s.a.

x1 4

2x2 12

3x1 + 2x2 18
x1 0 x2 0

Solucin por el mtodo grfico:

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:

Propiedades de las soluciones factibles en un vrtice:


1a. Si existe exactamente una solucin ptima, entonces debe ser una solucin factible
en un vrtice.

1b. Si existen soluciones ptimas mltiples, entonces al menos dos de ellas deben ser
soluciones factibles en vrtices adyacentes.

2. Existe slo un nmero finito de soluciones factibles en los 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.

La propiedad 1 significa que la bsqueda de la solucin ptima se puede reducir


a la consideracin de slo las soluciones factibles en los vrtices, de manera que slo
existe un nmero finito de soluciones que es necesario tomar en cuenta (propiedad 2).
La propiedad 3 proporciona una prueba de optimalidad muy conveniente.

El mtodo smplex explota estas tres propiedades al examinar nada ms unas


cuantas soluciones factibles en vrtices prometedores y al detenerse en cuanto una de
ellas pasa la prueba de optimalidad. En particular, se traslada repetidamente (en forma
iterativa) de una solucin factible en un vrtice a otra, adyacente y mejor. Esto se
puede realizar en forma muy eficiente hasta que la solucin actual no tiene soluciones
factibles en vrtices adyacentes que sean mejores. Este procedimiento se resume
como sigue:

Bosquejo del mtodo smplex:

1. Paso inicial: inicio en una solucin factible en un vrtice.

2. Paso iterativo: traslado a una mejor solucin factible en un vrtice adyacente.


(Reptase este paso las veces que sea necesario).

3. Prueba de optimalidad: la solucin factible en un vrtice es ptima cuando ninguna


de las soluciones en vrtices adyacentes a ella sean mejores.
Este bosquejo muestra la esencia del mtodo smplex,. En el caso del ejemplo,
al utilizar estas reglas de seleccin el mtodo smplex procede como sigue:

1. Paso inicial: comienza en (0,0).

2a. Iteracin 1: se mueve de (0,0) a (0,6)

2b. Iteracin 2: se mueve de (0,6) a (2,6).

3. Prueba de optimalidad: ni (0,6) ni (4,3) son mejores que (2,6), entonces se detiene,
(2,6) es ptima.

Preparacin para el mtodo smplex.

En el procedimiento algebraico es mucho ms conveniente manejar ecuaciones


que desigualdades. As, el primer paso para preparar el mtodo smplex es convertir las
restricciones funcionales de desigualdad en restricciones equivalentes. (Las
restricciones de no negatividad se pueden dejar como desigualdades porque el
algoritmo las usa slo indirectamente). Esta conversin se hace mediante la
introduccin de variables de holgura. Considrese la primera restriccin funcional del
ejemplo:

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

La restriccin original x1 4 se cumple siempre que x3 0. Por tanto, x1 4 es


totalmente equivalente al conjunto de restricciones

x1 + x3 = 4 y

x3 0,
de manera que se usar este conjunto por resultar ms conveniente.

Al introducir variables de holgura en las otras restricciones en forma parecida, el


modelo de programacin lineal original para este ejemplo se puede sustituir por el
modelo equivalente:

Maximizar Z = 3x1 + 5x2,

sujeta a

x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj 0 para j = 1, 2, , 5

Aun cuando este problema es idntico al anterior, esta forma es mucho ms


conveniente para la manipulacin algebraica y la identificacin de las soluciones
factibles en los vrtices. sta se llama la forma de igualdades del problema, para
diferenciarla de la forma de desigualdades original y poder introducir la siguiente
definicin:

Una solucin aumentada es una solucin para un problema que originalmente se


encontraba en forma de desigualdades y que se ha aumentado con los valores
correspondientes de las variables de holgura para cambiar el problema a la forma de
igualdades.

Por ejemplo, al aumentar la solucin (3,2) en el ejemplo, se obtiene la solucin


aumentada (3,2,1,8,5), puesto que los valores correspondientes de las variables de
holgura son x3 = 1, x4 = 8, x5 = 5.

Una solucin bsica es una solucin en un vrtice aumentada.

Para ilustrar esto, considrese la solucin no factible en el vrtice (4,6) del


ejemplo. Al aumentar con los valores obtenidos para las variables de holgura x 3 = 0, x4
= 0 y x5 = 6, se llega a la solucin bsica correspondiente (4,6,0,0,6). Se permite que
las soluciones bsicas sean factibles o no factibles, lo que lleva a la siguiente
definicin:

Una solucin bsica factible es una solucin factible en un vrtice aumentada.

As, la solucin factible en el vrtice (0,6) del ejemplo es equivalente a la


solucin bsica factible (0,6,4,0,6) para la forma de igualdades del problema.

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.

En trminos generales, el nmero de variables no bsicas de una solucin


bsica siempre es igual a los grados de libertad del sistema de ecuaciones y el nmero
de variables bsicas siempre es igual al nmero de restricciones funcionales.

Al trabajar con el problema en forma de igualdades, conviene tomar en cuenta y


manipular la ecuacin de la funcin objetivo al mismo tiempo que las nuevas
ecuaciones de las restricciones. Antes de comenzar con el mtodo smplex es
necesario escribir el problema una vez ms en su forma equivalente:

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

Como la ecuacin de la funcin objetivo ya se encuentra en forma de igualdad,


no necesita variable de holgura. Con esta interpretacin, las soluciones bsicas no
cambian, excepto que Z puede verse como una variable bsica adicional permanente.

A partir de este momento ya estamos listos para pasar los coeficientes de


nuestro problema a lo que conoceremos como la Tabla Smplex:

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 INICIAL. Se introducen variables de holgura. Despus se seleccionan las


variables originales como variables no bsicas iniciales (se igualan a cero) y las
variables de holgura como las variables bsicas originales. Esta seleccin lleva a la
tabla smplex inicial anterior. Como esta tabla est en la forma apropiada, de inmediato
se obtiene la solucin bsica factible inicial para el ejemplo, (0,0,4,12,18). Ahora debe
realizarse la prueba de optimalidad para determinar si la solucin es optima.

PRUEBA DE OPTIMALIDAD. 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
negativos ( 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).

En este ejemplo, hay dos coeficientes negativos en la ecuacin de Z, 3 para x1


y 5 para x2 de manera que debe irse al paso iterativo. Tacharemos la solucin bsica
factible actual como se muestra en la tabla anterior para indicar que esta solucin no es
ptima.

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.

En la tabla anterior, se muestran los resultados de las partes 1 y 2 para el


ejemplo (antes de enmarcar el rengln); la prueba del cociente mnimo para
determinar la variable bsica que sale se muestra a la derecha de la tabla. Entonces la
variable bsica que sale es x4.

Parte 3. Se determina la nueva solucin bsica factible al construir una nueva


tabla smplex en la forma apropiada, abajo de la que se tiene. Las primeras dos
columnas no cambian, excepto que la variable bsica entrante sustituye a la variable
bsica que sale en la columna de Variable Bsica. Para cambiar el coeficiente de la
nueva variable bsica en el rengln pivote a +1, se divide todo el rengln pivote entre el
nmero pivote:

Rengln pivote nuevo = Rengln pivote antiguo / pivote

En este punto, la tabla smplex para el ejemplo se ve como la que se muestra


enseguida. Para obtener un coeficiente 0 para la nueva variable bsica en las otras
ecuaciones, cada rengln [inclusive el de la ecuacin de Z] excepto el rengln pivote,
se cambia por la nueva tabla smplex usando la siguiente frmula:

Rengln nuevo = rengln antiguo (coeficiente en la columna pivote rengln pivote


nuevo)

en donde el coeficiente en la columna pivote es el nmero en la columna pivote


correspondiente a este rengln.

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

Para ilustrar con el ejemplo, los nuevos renglones se obtienen de la forma


siguiente:

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

Estos cambios llevan a la nueva tabla smplex que se muestra en la siguiente


tabla para la
iteracin 1:

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.

Este trabajo completa el paso iterativo, as que debe proseguirse a la prueba de


optimalidad. Como la ecuacin de Z todava tiene coeficientes negativos (3 para x 1), la
prueba de optimalidad indica que la solucin no es ptima, (lo cual se muestra en la
figura anterior) por lo que manda al algoritmo de regreso al paso iterativo para obtener
la siguiente solucin bsica factible. El paso iterativo comienza de nuevo en la tabla
smplex actual para encontrar la nueva solucin. Si se siguen las instrucciones de las
partes 1 y 2, se encuentra que x 1 es la variable bsica entrante y x 5 la variable bsica
que sale, como se muestra en la siguiente tabla:

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.

En las siguientes tablas se muestra el conjunto completo de las tablas del


mtodo smplex para este ejemplo. La nueva solucin bsica factible es (2, 6, 2, 0, 0),
con Z = 36. Al hacer la prueba de optimalidad, se encuentra que la solucin es ptima
porque no hay coeficientes negativos en la ecuacin de Z, de manera que el algoritmo
ha terminado. En consecuencia, la solucin ptima para este ejemplo (sin tomar en
cuenta las variables de holgura) es x1 = 2, x2 = 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 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

Anteriormente no se dijo qu hacer cuando las reglas de seleccin del mtodo


smplex no llevan a una decisin clara, ya sea porque existen empates (valores iguales)
o por otras ambigedades parecidas.

Empate para la variable bsica entrante.

El paso 1 de cada iteracin elige la variable bsica que tiene el coeficiente


negativo con el mayor valor absoluto en la ecuacin de Z actual como la variable bsica
entrante. Ahora suponga que dos o ms variables no bsicas tienen el coeficiente
negativo ms grande (en valor absoluto), es decir, que hay un empate entre ellas. Por
ejemplo, esto ocurrira en la primera iteracin del ejemplo anterior si se cambiara la
funcin objetivo a Z = 3x1 + 3x2, con lo que la ecuacin del rengln de Z inicial sera
Z3x13x2 = 0. Cmo debe romperse este empate?
La respuesta es que la eleccin entre estos dos contendientes se puede hacer
de manera arbitraria. Tarde o temprano se llegar a la solucin ptima, sin importar
cul de las variables empatadas se haya escogido, y no existe un mtodo conveniente
para predecir cul lleva ah ms rpidamente. En este ejemplo ocurre que si se escoge
x1 como variable entrante, el mtodo smplex alcanza la solucin ptima (2, 6) en tres
iteraciones y si se elige x2, llega en dos.

Empate para la variable bsica que sale degeneracin.

Ahora suponga que el empate ocurre entre dos o ms variables bsicas al


elegir la variable que sale en el paso 2 de una iteracin. Importa cul se escoge? En
teora s, y en una forma crtica debido a que puede ocurrir la siguiente sucesin de
eventos. Primero, todas las variables empatadas se hacen cero al mismo tiempo
cuando aumenta el valor de la variable entrante. Por tanto, aquellas que no se eligieron
como variable bsica que sale tambin tendrn un valor de cero en la nueva solucin
bsica factible. (Las variables bsicas con valor de cero se llaman degeneradas y el
mismo nombre se da a la solucin bsica factible correspondiente.) Segundo, si una de
estas variables bsicas degeneradas sigue con valor de cero hasta que se selecciona
como variable bsica que sale en una iteracin posterior, la variable bsica entrante
deber tambin quedar con valor de cero (ya que no puede crecer sin que la variable
bsica que sale se vuelva negativa), entonces el valor de Z permanecer sin cambio.
Tercero, si Z permanece igual en lugar de mejorar cada iteracin, el mtodo smplex
puede caer en un ciclo que repite la misma secuencia de soluciones peridicamente,
en lugar de aumentar en algn momento para llegar a la solucin 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.

Cuando no hay variable bsica que sale Z no acotada.


Existe otra posibilidad en el paso 2 de una iteracin, de la que no se ha
hablado: aquella en la que ninguna variable califica como variable bsica que sale. Esta
situacin puede ocurrir si la variable bsica entrante puede crecer indefinidamente sin
que ninguna de las variables bsicas actuales adquiera valores negativos. En la forma
tabular, esto significa que todos los coeficientes en la columna pivote (se excluye el
rengln de Z) son negativos o cero.

Como se ilustra en la siguiente tabla, esta situacin surge cuando se considera


el siguiente ejemplo:

Maximizar Z = 3x1 + 5x2,

sujeta a x1 4

y x1 0, x2 0

En este ejemplo se ignoraron las dos ltimas restricciones funcionales del


ejemplo resuelto anteriormente. Vea en la tabla que x 2 es la variable bsica entrante
pero el nico coeficiente en la columna pivote es cero. Como la prueba del cociente
mnimo usa slo coeficientes mayores que cero, no se cuenta con un cociente que
proporcione una variable bsica que sale.

La interpretacin de una tabla smplex como la que se muestra en la siguiente


tabla es que las restricciones no impiden el crecimiento indefinido de la funcin objetivo
Z, de manera que el mtodo smplex se detiene con el mensaje de que Z es no
acotada. Debido a que ni siquiera la programacin lineal ha descubierto la manera de
lograr ganancias infinitas, el mensaje real en problemas prcticos es: Se ha cometido
un error! Tal vez el modelo est mal formulado, ya sea por haber omitido una restriccin
relevante o por haberla establecido incorrectamente. De otra manera, pudo haber
ocurrido un error en los clculos.

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

Soluciones ptimas mltiples.

En la definicin de solucin ptima se mencion que un problema puede tener


ms de una solucin ptima. Si en el ejemplo cambiamos la funcin objetivo a Z = 3x 1
+ 2x2 resulta que todos los puntos sobre el segmento de recta entre (2,6) y (4,3) son
soluciones ptimas. Entonces todas las soluciones son un promedio ponderado de
estas dos soluciones factibles en los vrtices ptimas:

(x1, x2) = w1(2, 6) + w2(4, 3),

donde los pesos w1 yw2 son nmeros que satisfacen las relaciones:

w1 + w2 = 1 y w1 0, w2 0

Por ejemplo, w1 = 1/3 y w2 = 2/3 da:

(x1, x2) = 1/3(2, 6) + 2/3(4, 3) = (2/3+8/3, 6/3+6/3) = (10/3, 4)

como una solucin ptima.

En general, cualquier promedio ponderado de dos o ms soluciones (vectores)


donde los pesos son no negativos y suman 1 se llama combinacin convexa de estas
soluciones. Entonces, toda solucin ptima en el ejemplo es una combinacin convexa
de (2, 6) y (4, 3).

Este ejemplo es representativo de problemas con soluciones ptimas mltiples.

Cualquier problema de Programacin Lineal con soluciones ptimas


mltiples (y una regin factible acotada) tiene al menos dos soluciones
factibles en los vrtices que son ptimas. Toda solucin ptima es una
combinacin lineal de estas soluciones factibles en los vrtices ptimas.
En consecuencia, en la forma aumentada, toda solucin ptima es una
combinacin convexa de las soluciones bsicas factibles ptimas.
El mtodo smplex se detiene automticamente al encontrar una solucin
bsica factible ptima. Sin embargo, en muchas aplicaciones de Programacin Lineal
existen factores intangibles que no se incorporan al modelo y que pueden ser tiles
para tomar decisiones significativas sobre las soluciones ptimas alternativas. En esos
casos, tambin deben identificarse las otras soluciones ptimas. Esto requiere
encontrar todas las dems soluciones bsicas factible ptimas, y entonces toda
solucin ptima es una combinacin convexa de las soluciones bsicas factibles
ptimas.

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.

Para ilustrar la tcnica de las variables artificiales, primero se considerar el


caso en que la nica forma no estndar en el problema es la presencia de una o ms
restricciones en forma de igualdad.

Restricciones en forma de igualdad.

En realidad, cualquier restriccin en forma de igualdad:

ai1x1 +ai2x2 + . . . + ainxn = bi

es equivalente a dos restricciones de desigualdad:

ai1x1 + ai2x2 + . . . + ainxn bi,

ai1x1 + ai2x2 + . . . + ainxn bi

Sin embargo, en lugar de hacer esta sustitucin e incrementar con ello el


nmero de restricciones, es ms conveniente usar la tcnica de la variable artificial.
Suponga que se modifica el problema de ejemplo presentado y resuelto en la seccin
anterior. El nico cambio que sufre el modelo de programacin lineal es que la tercera
restriccin, 3x1 + 2x2 18, se convierte en una restriccin de igualdad:

3x1 + 2x2 = 18

Aplicando la tcnica de las variables artificiales se introduce una variable


artificial no negativa (denotada por x5) en la ltima ecuacin, como si fuera una
variable de holgura:

3x1 + 2x2 + x5 =18

En resumen si tenemos una restriccin funcional en forma de igualdad y


deseamos pasarla a su forma de igualdad, nicamente debemos sumar una variable
artificial.

Restricciones funcionales de la forma

Para ilustrar la manera en que la tcnica de las variables artificiales maneja las
restricciones de la forma usaremos el siguiente ejemplo:

Minimizar Z = 0.4x1 + 0.5x2


sujeta a 0.3x1 + 0.1x2 2.7
0.5x1 + 0.5x2 = 6
0.6x1 + 0.4x2 6
x1 0, x2 0

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

La razn de esto es que, si no se agrega la variable artificial, no se estaran


cumpliendo las restricciones de no negatividad. Para comprenderlo, se dejar sin
aumentar. El mtodo smplex comienza por hacer todas las variables reales (originales)
iguales a cero. Entonces:

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)

La variable artificial opera para mantener todas las variables no negativas


cuando 0.6x1 + 0.4x2 es menor que 6. Si x1 = 0 y x2 = 0, entonces x5 = 0 y

0.6x1 + 0.4x2 x5 + x6 = 6

x6 = 6

En resumen, una restriccin de la forma se convierte a su forma de


igualdad restando una variable de excedente y sumando una variable
artificial.

Consideremos el siguiente problema:

Maximizar Z = 3x1 + 5x2


sujeta a x1 4
2x2 12
3x1 + 2x2 = 18
x1 0, x2 0

Como explicamos anteriormente, para resolver este problema, debemos


construir un problema artificial que tiene la misma solucin ptima que el problema
real, haciendo dos modificaciones a este problema real.

1. Se aplica la tcnica de las variables artificiales introduciendo una variable


artificial no negativa (denotada por x5) en la ltima ecuacin, como si fuera una
variable de holgura:

3x1 + 2x2 + x5 =18

2. Se asigna una penalizacin enorme al hecho de tener x5 0, cambiando la funcin


objetivo
Z = 3x1 + 5x2 a:

Z = 3x1 + 5x2 Mx5,

donde M simblicamente representa un nmero positivo muy grande. Este mtodo


que fuerza a x5 hasta el nivel de x5 = 0 en la solucin ptima se llama mtodo de la
M.

Nota: Para el caso de minimizacin, penalizamos a la variable artificial, hacindola


aparecer en la funcin objetivo con un coeficiente de +M.

Ahora se encuentra la solucin ptima para el problema real


aplicando el mtodo smplex al problema artificial.

Como x5 juega el papel de la variable de holgura en la tercera restriccin del


problema artificial, esta restriccin es equivalente a 3x 1 + 2x2 18.

En particular, el sistema de ecuaciones despus de aumentar el problema


artificial (en otras palabras, pasarlo a su forma de igualdades) es:

Maximizar Z,

sujeta a
Z 3x1 5x2 + Mx5 = 0
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj 0 Para j = 1, 2, , 5

En este momento estamos preparados para pasar los coeficientes a la tabla


smplex:

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

Esta tabla todava no est en la forma apropiada porque el coeficiente de x 5 es


diferente de cero en la ecuacin de Z (es M). Por lo tanto, antes de que el mtodo
smplex pueda aplicar la prueba de optimalidad y encontrar la variable bsica entrante,
debe pasarse esta tabla a la forma apropiada para que cumpla la condicin smplex.
Esta condicin que debe cumplir toda tabla del mtodo smplex para que pueda
reportarnos la siguiente solucin bsica factible dice que: Toda variable bsica debe
tener un 1 en la interseccin de su rengln y columna correspondiente y cero en los
dems renglones incluido el rengln de Z, en otras palabras, que toda variable que sea
bsica solamente debe aparecer en el rengln de la restriccin que representa. Para
hacer cero el coeficiente M, utilizamos el rengln de x 5 como rengln pivote
multiplicndolo por M y sumando el resultado al rengln de Z. Realizando el
procedimiento anterior, la tabla smplex queda de la siguiente manera:

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
Podemos observar que la tabla anterior ya se encuentra en la forma apropiada
y podemos leer la solucin bsica factible actual, que es (0, 0, 4, 12, 18), la cual
aplicando la prueba de optimalidad vemos que no es ptima ya que todava tenemos
coeficientes negativos en el rengln de Z (los correspondientes a x 1 y x2). Aplicando el
mtodo smplex a la tabla anterior tenemos: el coeficiente negativo con el mayor valor
absoluto corresponde a x1 (3M3), recordemos que M es un nmero muy grande
positivo, por lo tanto, x1 se convierte en la variable bsica entrante, realizando los
cocientes correspondientes, vemos que x 3 se convierte en la variable bsica saliente. El
procedimiento completo para resolver este ejemplo se muestra en el siguiente conjunto
de tablas:

ariable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?

Z 1 -3M-3 -2M-5 0 0 0 18M


x3 0 1 0 1 0 0 4 4/1 = 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z = 18M
x5 0 3 2 0 0 1 18 18/3 = 6
Z 1 0 -2M-5 3M+3 0 0 6M+12
x1 0 1 0 1 0 0 4 (4, 0, 0, 12, 6)
x4 0 0 2 0 1 0 12 12/2 = 6 Z = 6M+12
x5 0 0 2 3 0 1 6 6/2 = 3
Z 1 0 0 9/2 0 M+5/2 27
x1 0 1 0 1 0 0 4 4/1 = 4 (4, 3, 0, 6, 0)
x4 0 0 0 3 1 1 6 6/3 = 2 Z = 27
x2 0 0 1 3/2 0 1/2 3
Z 1 0 0 0 3/2 M+1 36
x1 0 1 0 0 1/3 1/3 2 (2, 6, 2, 0, 0)
x3 0 0 0 1 1/3 1/3 2 Z = 36
x2 0 0 1 0 1/2 0 6 ptima

MINIMIZACIN con el mtodo smplex.


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 = 3x1 + 8x2


sujeta a x1 + 4x2 4
x1 + 2x2 2
x1 0, x2 0

Pasando este problema a su forma de igualdades aadiendo las variables


necesarias, obtenemos lo siguiente:

Minimizar Z,

sujeta a

Z 3x1 8x2 Mx5 = 0


x1 + 4x2 + x3 = 4
x1 + 2x2 x4 + x5 = 2
xj 0 para j = 1, 2, , 5

Utilizando el mtodo de la M para obtener una solucin ptima por el mtodo


smplex, obtenemos el siguiente conjunto de tablas:

Variable Lado
Bsica Z x1 x2 x3 x4 x5 derecho Cociente Es ptima?
Z 1 3 8 0 0 M 0
x3 0 1 4 1 0 0 4
x5 0 1 2 0 1 1 2
Z 1 M3 2M8 0 M 0 2M (0, 0, 4, 0, 2)
x3 0 1 4 1 0 0 4 4/1 = 4 Z = 2M
x5 0 1 2 0 1 1 2 2/1 = 2
Z 1 0 2 0 3 M+3 6 (2, 0, 2, 0, 0)
x3 0 0 2 1 1 1 2 Z=6
x1 0 1 2 0 1 1 2 ptima

Notemos que la primera tabla no se encontraba en la forma apropiada para el


mtodo smplex, ya que el coeficiente de la variable bsica x5 era de M en el rengln
de Z, lo cual hacia que no se cumpliera la condicin smplex.

2.6. Mtodo de las dos Fases.

En el ejemplo presentado en la seccin Restricciones funcionales de la forma


, recordemos la funcin objetivo real:

Problema real: Minimizar Z = 0.4x1 + 0.5x2

Sin embargo, el mtodo de la M utiliza la siguiente funcin objetivo a travs de


todo el procedimiento:

Mtodo de la M: Minimizar Z = 0.4x1 + 0.5x2 + Mx4 + Mx6

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:

Mtodo de las dos fases:

Fase 1: Minimizar Z = x4 + x6 (hasta que x4 = 0 y x6 = 0).

Fase 2: Minimizar Z = 0.4x1 + 0.5x2 (con x4 = 0 y x6 = 0).


La funcin objetivo de la fase 1 se obtiene dividiendo la funcin objetivo del
mtodo de la M entre M eliminando los trminos despreciables, en otras palabras, la
fase 1 consiste en la minimizacin de la suma de todas las variables artificiales que se
introduzcan en el problema. Como la fase 1 concluye al obtener una solucin bsica
factible para el problema real (aquella en la que x 4 = 0 y x6 = 0), esta solucin se usa
como la solucin bsica factible inicial para aplicar el mtodo smplex al problema real
(con su funcin objetivo) en la fase 2. Antes de resolver el ejemplo de esta manera se
har un resumen de las caractersticas generales.

Resumen del mtodo de dos fases.

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.

Fase 1: uso del mtodo smplex para resolver el problema de programacin


lineal:

Minimizar Z = de todas las variables artificiales, sujeta a las restricciones


revisadas.

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.

Enseguida se resumen los problemas que deben resolverse por el mtodo


smplex en las fases respectivas para el ejemplo.

Problema para la fase 1:

Minimizar W = x 4 + x6 ,
sujeta a

0.3x1 + 0.1x2 + x3 = 2.7


0.5x1 + 0.5x2 + x4 = 6
0.6x1 + 0.4x2 x5 + x6 = 6

x10 x20 x3 x40 x50 x60

Problema para la fase 2:

Minimizar Z = 0.4x1 + 0.5x2,

sujeta a

0.3x1 + 0.1x2 + x3 = 2.7


0.5x1 + 0.5x2 = 6
0.6x1 + 0.4x2 x5 = 6

x10 x20 x3 x50

Las nicas diferencias entre estos dos problemas se encuentran en la funcin


objetivo y en la inclusin (fase 1) o exclusin (fase 2) de las variables artificiales x 4 y x6.
Sin las variables artificiales, el problema para la fase 2 no tiene una solucin bsica
factible inicial obvia. El nico propsito de resolver el problema para la fase 1 es
obtener una solucin bsica factible con x 4 = 0 y x6 = 0 que se pueda usar como la
solucin bsica factible inicial para la fase 2.

Las siguientes tablas muestran el resultado de aplicar el mtodo smplex a este


problema para la fase 1:

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

Notemos que no fue necesario aplicar propiamente el mtodo smplex a la


primera tabla de la segunda fase, ya que nicamente aplicando operaciones con
matrices para tratar de llevar esta tabla a la forma apropiada para el mtodo smplex
fue suficiente para resolver el problema planteado en la segunda fase. Es necesario
aclarar que no siempre ocurrir de esta manera, es decir, si despus de dejar la tabla
en la forma apropiada, es necesario aplicar el mtodo smplex, se debe aplicar como lo
hemos estudiado.

Nota: Independientemente de que el problema original (real) sea de maximizacin o


minimizacin, la primera fase siempre consistir en la minimizacin de la
suma de todas las variables artificiales.

Potrebbero piacerti anche