Sunteți pe pagina 1din 76

Investigación de Operaciones I. 2. Programación Lineal.

Modulo de Investigación de Operaciones

Carrera: Ingeniería Industrial

Profesor: Ricardo Zapata Cáceres

Introducción Investigaci{on de Operaciones Pág. 1 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

2. Programación Lineal.

2.4. Método Símplex.

El método símplex es un algoritmo. De hecho, cualquier procedimiento iterativo de solución es

un algoritmo. Entonces, un algoritmo es simplemente un proceso en el que se repite (se itera) un

procedimiento sistemático una y otra vez hasta obtener el resultado deseado. Cada vez que se lleva a

cabo el procedimiento sistemático se realiza una iteración. En consecuencia, un algoritmo sustituye

un problema difícil por una serie de problemas fáciles.

Además de las iteraciones, los algoritmos incluyen un procedimiento para iniciar y un criterio

para determinar cuándo detenerse, como se resume enseguida:

Paso inicial Preparación para iniciar iteraciones

Paso iterativo Realización de iteraciones

Regla de detención ¿Es óptima la solución actual?


Si no Si sí
Fin

El método símplex es un procedimiento algebraico en el que cada iteración contiene la

solución de un sistema de ecuaciones para obtener una nueva solución a la que se le aplica la prueba

de optimalidad. No obstante, también tiene una interpretación geométrica muy útil. Para ilustrar los

conceptos geométricos generales se empleará la solución gráfica del siguiente problema:

Max Z = 3x1 + 5x2


s.a.
x1 4
2x2  12
3x1 + 2x2  18
x1  0 x2  0

Introducción Investigaci{on de Operaciones Pág. 2 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

Solución por el método gráfico:

En la figura anterior pueden observarse los puntos de intersección que son las soluciones en los

vértices del problema. Los cinco puntos que se encuentran en los vértices de la región factible, 

(0,0), (0,6), (2,6), (4,3), (4,0) son las soluciones factibles en los vértices. Algunas de estas

soluciones factibles en un vértice son adyacentes, en el sentido de que están conectadas por una sola

orilla (segmento de línea) de la frontera de la región factible; esto es, tanto (0,6) como (4,3) son

adyacentes a (2,6). Las tres propiedades clave de las soluciones factibles en los vértices y que

forman el fundamento del método símplex se resumen como sigue:

Propiedades de las soluciones factibles en un vértice:

1a. Si existe exactamente una solución óptima, entonces debe ser una solución factible en un

vértice.

1b. Si existen soluciones óptimas múltiples, entonces al menos dos de ellas deben ser soluciones

factibles en vértices adyacentes.

2. Existe sólo un número finito de soluciones factibles en los vértices adyacentes.

3. Si una solución en un vértice es igual o menor (según el valor de Z) que todas las soluciones

factibles en los vértices adyacentes a ella, entonces es igual o mejor que todas las demás

soluciones en los vértices; es decir, es óptima.

Introducción Investigaci{on de Operaciones Pág. 3 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

La propiedad 1 significa que la búsqueda de la solución óptima se puede reducir a la

consideración de sólo las soluciones factibles en los vértices, de manera que sólo existe un número

finito de soluciones que es necesario tomar en cuenta (propiedad 2). La propiedad 3 proporciona una

prueba de optimalidad muy conveniente.

El método símplex explota estas tres propiedades al examinar nada más unas cuantas

soluciones factibles en vértices prometedores y al detenerse en cuanto una de ellas pasa la prueba

de optimalidad. En particular, se traslada repetidamente (en forma iterativa) de una solución factible

en un vértice a otra, adyacente y mejor. Esto se puede realizar en forma muy eficiente hasta que la

solución actual no tiene soluciones factibles en vértices adyacentes que sean mejores. Este

procedimiento se resume como sigue:

Bosquejo del método símplex:

1. Paso inicial: inicio en una solución factible en un vértice.

2. Paso iterativo: traslado a una mejor solución factible en un vértice adyacente. (Repítase este

paso las veces que sea necesario).

3. Prueba de optimalidad: la solución factible en un vértice es óptima cuando ninguna de las

soluciones en vértices adyacentes a ella sean mejores.

Este bosquejo muestra la esencia del método símplex,. En el caso del ejemplo, al utilizar

estas reglas de selección el método símplex procede como sigue:

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

2a. Iteración 1: se mueve de (0,0) a (0,6)

2b. Iteración 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.

Preparación para el método símplex.

En el procedimiento algebraico es mucho más conveniente manejar ecuaciones que

desigualdades. Así, el primer paso para preparar el método símplex 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 sólo indirectamente). Esta conversión

Introducción Investigaci{on de Operaciones Pág. 4 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

se hace mediante la introducción de variables de holgura. Considérese la primera restricción

funcional del ejemplo:

x1  4

La variable de holgura para esta restricción es x 3, que no es otra cosa que la holgura entre los dos

lados de la desigualdad. Entonces:

x1 + x3 = 4

La restricción original x1  4 se cumple siempre que x 3  0. Por tanto, x1  4 es totalmente

equivalente al conjunto de restricciones

x1 + x3 = 4

x3  0,

de manera que se usará este conjunto por resultar más conveniente.

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

programación lineal original para este ejemplo se puede sustituir por el modelo equivalente:

Maximizar Z = 3x1 + 5x2,


sujeta a
x1 + x3 = 4
2x2 + x4ì¥
Á55
@
55ø
¿55
555
555
555
55m

³55
5bj
bjÏ2
Ï25
555

Introducción Investigaci{on de Operaciones Pág. 5 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

666
666
666
666
666

-è6X66X66Aª666666+ 6666666666666666666666ÿÿ ᄂ 666666666ÿÿ ᄂ 666666666ÿÿ

ᄂ 66666666666666666ˆ66666

Introducción Investigaci{on de Operaciones Pág. 6 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

777777

Introducción Investigaci{on de Operaciones Pág. 7 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

88

Introducción Investigaci{on de Operaciones Pág. 8 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

999999

Introducción Investigaci{on de Operaciones Pág. 9 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

101010101010

Introducción Investigaci{on de Operaciones Pág. 10 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

111111111111

Introducción Investigaci{on de Operaciones Pág. 11 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

121212121212

Introducción Investigaci{on de Operaciones Pág. 12 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

1313 ᄉ 1313131313131313131313Ì131313131313ð( 1313131313ð( 1313131313ð( 138131313()

13ä13ì¥Á135@ 1313ø¿13131313131313131313131313m³1313

Introducción Investigaci{on de Operaciones Pág. 13 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

14bjbjÏ2Ï2141414141414141414141414141414141414

Introducción Investigaci{on de Operaciones Pág. 14 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

15-è15X1515X1515Aª151515151515+ 15151515151515151515151515151515151515151515ÿÿ

ᄂ 151515151515151515ÿÿ ᄂ 151515151515151515ÿÿ ᄂ 1515151515151515151515151515151515ˆ15151

51515

Introducción Investigaci{on de Operaciones Pág. 15 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

161616161616

Introducción Investigaci{on de Operaciones Pág. 16 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

1717

Introducción Investigaci{on de Operaciones Pág. 17 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

181818181818

Introducción Investigaci{on de Operaciones Pág. 18 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

191919191919

Introducción Investigaci{on de Operaciones Pág. 19 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

202020202020

Introducción Investigaci{on de Operaciones Pág. 20 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

212121212121

Introducción Investigaci{on de Operaciones Pág. 21 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

2222 ᄉ 2222222222222222222222Ì222222222222ð( 2222222222ð( 2222222222ð( 2282

22222() 22ä22ì¥Á225@ 2222ø¿22222222222222222222222222m³2222

Introducción Investigaci{on de Operaciones Pág. 22 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

23bjbjÏ2Ï2232323232323232323232323232323232323

Introducción Investigaci{on de Operaciones Pág. 23 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

24-è24X2424X2424Aª242424242424+

24242424242424242424242424242424242424242424ÿÿ ᄂ 242424242424242424ÿÿ ᄂ 2

42424242424242424ÿÿ ᄂ 2424242424242424242424242424242424ˆ2424242424

Introducción Investigaci{on de Operaciones Pág. 24 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

252525252525

Introducción Investigaci{on de Operaciones Pág. 25 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

2626

Introducción Investigaci{on de Operaciones Pág. 26 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

272727272727

Introducción Investigaci{on de Operaciones Pág. 27 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

282828282828

Introducción Investigaci{on de Operaciones Pág. 28 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

292929292929

Introducción Investigaci{on de Operaciones Pág. 29 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

303030303030

Introducción Investigaci{on de Operaciones Pág. 30 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

3131 ᄉ 3131313131313131313131Ì313131313131ð( 3131313131ð( 3131313131ð( 318313131()

31ä31ì¥Á315@ 3131ø¿31313131313131313131313131m³3131

Introducción Investigaci{on de Operaciones Pág. 31 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

32bjbjÏ2Ï2323232323232323232323232323232323232

Introducción Investigaci{on de Operaciones Pág. 32 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

33-è33X3333X3333Aª333333333333+

33333333333333333333333333333333333333333333ÿÿ ᄂ 333333333333333333ÿÿ ᄂ 3

33333333333333333ÿÿ ᄂ 3333333333333333333333333333333333ˆ3333333333

Introducción Investigaci{on de Operaciones Pág. 33 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

343434343434

Introducción Investigaci{on de Operaciones Pág. 34 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

3535

Introducción Investigaci{on de Operaciones Pág. 35 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

363636363636

Introducción Investigaci{on de Operaciones Pág. 36 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

373737373737

Introducción Investigaci{on de Operaciones Pág. 37 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

383838383838

Introducción Investigaci{on de Operaciones Pág. 38 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

393939393939

Introducción Investigaci{on de Operaciones Pág. 39 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

4040 ᄉ 4040404040404040404040Ì404040404040ð( 4040404040ð( 4040404040ð( 408404040()

40ä40 valores obtenidos para las variables de holgura x3 = 0, x4 = 0 y x5 = –6, se llega a la solución

básica correspondiente (4,6,0,0,–6). Se permite que las soluciones básicas sean factibles o no

factibles, lo que lleva a la siguiente definición:

Una solución básica factible es una solución factible en un vértice aumentada.

Así, la solución factible en el vértice (0,6) del ejemplo es equivalente a la solución básica

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

Como los términos solución básica y solución básica factible constituyen partes muy

importantes del vocabulario normal de programación lineal, es necesario aclarar sus propiedades

algebraicas. Nótese que para la forma de igualdades del ejemplo, el sistema de restricciones

funcionales tiene dos variables más (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 términos de las tres

variables restantes (se excluyen redundancias). El método símplex usa cero para este valor

arbitrario. Las variables que por el momento se hacen iguales a cero se llaman variables no básicas;

todas las demás se llaman variables básicas. La solución que resulta es una solución básica. Si todas

las variables básicas son no negativas, entonces se tiene una solución básica factible. Para cualquier

solución básica, la solución en el vértice correspondiente se obtiene simplemente al quitar las

variables de holgura. Dos soluciones básicas son adyacentes si todas menos una de sus variables son

las mismas; la misma aseveración se cumple para las variables básicas. Entonces, trasladarse de una

solución básica factible a una adyacente significa cambiar el estado de una variable de no básica a

básica y viceversa para otra variable.

En términos generales, el número de variables no básicas de una solución básica siempre es

igual a los grados de libertad del sistema de ecuaciones y el número de variables básicas siempre es

igual al número de restricciones funcionales.

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

ecuación de la función objetivo al mismo tiempo que las nuevas ecuaciones de las restricciones. Antes

de comenzar con el método símplex es necesario escribir el problema una vez más en su forma

equivalente:

Introducción Investigaci{on de Operaciones Pág. 40 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

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 ecuación de la función objetivo ya se encuentra en forma de igualdad, no necesita

variable de holgura. Con esta interpretación, las soluciones básicas no cambian, excepto que Z puede

verse como una variable básica adicional permanente.

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

a lo que conoceremos como la Tabla Símplex:

Variable Lado
Básica 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 símplex debe tener para estar en

la forma apropiada; se trata del patrón especial de los coeficientes de las variables básicas. En

particular, nótese cómo las columnas de x3, x4 y x5 (al igual que la columna de Z) contiene

exactamente un +1 en el renglón que corresponde a esa variable básica (véase la primera columna), y

todos los demás coeficientes en esa columna son cero. De la misma manera, cada ecuación contiene

exactamente una variable básica con coeficiente distinto de cero, en donde este coeficiente es +1.

Esta propiedad es significativa, ya que permite identificar de inmediato la solución básica factible

actual a partir de la tabla; esto es, cada variable básica es igual a la constante del lado derecho de su

ecuación. Esta primera solución básica factible actual se muestra en la figura anterior en la columna

de ¿Es óptima?. De aquí en adelante, para cada nueva iteración del método símplex mostraremos la

solución básica factible actual en esta columna de la tabla símplex. (Recuérdese que las variables no

básicas son iguales a cero). La tabla símplex inicial quedará automáticamente en esta forma

apropiada (a menos que el problema original de programación lineal no esté en nuestra forma

estándar).

Introducción Investigaci{on de Operaciones Pág. 41 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

El método símplex construye una tabla símplex para cada solución básica factible que se

obtiene, hasta alcanzar la solución óptima. A continuación describimos el procedimiento para

problemas que ya están en la forma estándar, con bi  0 para toda i = 1, 2, …, m.

PASO INICIAL. Se introducen variables de holgura. Después se seleccionan las variables originales

como variables no básicas iniciales (se igualan a cero) y las variables de holgura como las variables

básicas originales. Esta selección lleva a la tabla símplex inicial anterior. Como esta tabla está en la

forma apropiada, de inmediato se obtiene la solución básica factible inicial para el ejemplo,

(0,0,4,12,18). Ahora debe realizarse la prueba de optimalidad para determinar si la solución es

optima.

PRUEBA DE OPTIMALIDAD. La solución básica factible actual es óptima si y sólo si todos los

coeficientes de la ecuación de la función objetivo (renglón de Z) son no negativos (  0 ). Si es así, el

proceso termina; de otra manera, se lleva a cabo otra iteración para obtener la nueva solución básica

factible, lo que significa el cambio de una variable no básica por una básica (parte 1) y viceversa

(parte 2), y después despejar las variables de la nueva solución (parte 3).

En este ejemplo, hay dos coeficientes negativos en la ecuación de Z, 3 para x1 y 5 para x2

de manera que debe irse al paso iterativo. Tacharemos la solución básica factible actual como se

muestra en la tabla anterior para indicar que esta solución no es óptima.

PASO ITERATIVO.

Parte 1. Se determina la variable básica entrante mediante la elección de la variable con el

coeficiente negativo (automáticamente se refiere a una variable no básica) que tiene el mayor valor

absoluto en la ecuación de Z. Se enmarca la columna correspondiente a este coeficiente; esta

columna recibe el nombre de columna pivote. En el ejemplo, el coeficiente negativo más grande (en

términos de valor absoluto) es –5 para x 2 (5>3), por lo que x2 debe convertirse en variable básica.

Este cambio se indica en la siguiente tabla con el recuadro en la columna de x 2 abajo del –5:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0

Introducción Investigaci{on de Operaciones Pág. 42 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 12 12/2 = 6 mínimo
x5 0 3 2 0 0 1 18 18/2 = 9

Parte 2. Se determina la variable básica que sale; para esto, a) se toma cada coeficiente

estrictamente positivo (>0) de la columna enmarcada, b) se divide el lado derecho de cada renglón

entre estos coeficientes, c) se identifica la ecuación con el menor coeficiente y d) se selecciona la

variable básica para esta ecuación. (Esta variable básica es la que llega a cero primero cuando se

incrementa la variable básica entrante). Se enmarca el renglón de esta ecuación en la tabla símplex

sin incluir la columna Z y se le da el nombre de renglón pivote. El número que está en la intersección

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 renglón); la prueba del cociente mínimo para determinar la variable básica que sale se

muestra a la derecha de la tabla. Entonces la variable básica que sale es x 4.

Parte 3. Se determina la nueva solución básica factible al construir una nueva tabla símplex

en la forma apropiada, abajo de la que se tiene. Las primeras dos columnas no cambian, excepto que la

variable básica entrante sustituye a la variable básica que sale en la columna de Variable Básica. Para

cambiar el coeficiente de la nueva variable básica en el renglón pivote a +1, se divide todo el renglón

pivote entre el número pivote:

Renglón pivote nuevo = Renglón pivote antiguo / pivote

En este punto, la tabla símplex para el ejemplo se ve como la que se muestra enseguida. Para

obtener un coeficiente 0 para la nueva variable básica en las otras ecuaciones, cada renglón [inclusive

el de la ecuación de Z] excepto el renglón pivote, se cambia por la nueva tabla símplex usando la

siguiente fórmula:

Renglón nuevo = renglón antiguo  (coeficiente en la columna pivote  renglón pivote nuevo)

en donde el coeficiente en la columna pivote es el número en la columna pivote correspondiente a

este renglón.

Introducción Investigaci{on de Operaciones Pág. 43 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

Variable Lado
Básica 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:

Renglón de Z: 3 5 0 0 0, 0
(5)  0 1 0 1/2 0, 6
Renglón nuevo = 3 0 0 5/2 0, 30

Renglón 1: Sin cambio porque su coeficiente en la columna pivote es cero.

Renglón 3: 3 2 0 0 1, 18
(2) 0 1 0 1/2 0, 6
Renglón nuevo = 3 0 0 1 1, 6

Estos cambios llevan a la nueva tabla símplex que se muestra en la siguiente tabla para la

iteración 1:

Variable Lado
Básica 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 básicas siempre son iguales al lado derecho de la ecuación que le

corresponde, la nueva solución básica 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 ecuación de Z todavía tiene coeficientes negativos (–3 para x 1), la prueba de optimalidad

indica que la solución 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 solución básica factible. El paso

Introducción Investigaci{on de Operaciones Pág. 44 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

iterativo comienza de nuevo en la tabla símplex actual para encontrar la nueva solución. Si se siguen

las instrucciones de las partes 1 y 2, se encuentra que x 1 es la variable básica entrante y x 5 la

variable básica que sale, como se muestra en la siguiente tabla:

Variable Lado
Básica 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
mín.

En las siguientes tablas se muestra el conjunto completo de las tablas del método símplex

para este ejemplo. La nueva solución básica factible es (2, 6, 2, 0, 0), con Z = 36. Al hacer la prueba

de optimalidad, se encuentra que la solución es óptima porque no hay coeficientes negativos en la

ecuación de Z, de manera que el algoritmo ha terminado. En consecuencia, la solución óptima para

este ejemplo (sin tomar en cuenta las variables de holgura) es x1 = 2, x2 = 6.

Variable Lado
Básica 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 Z=0
mín.
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
mín.
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 selección del método símplex no

llevan a una decisión clara, ya sea porque existen empates (valores iguales) o por otras ambigüedades

parecidas.

Empate para la variable básica entrante.

Introducción Investigaci{on de Operaciones Pág. 45 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

El paso 1 de cada iteración elige la variable básica que tiene el coeficiente negativo con el

mayor valor absoluto en la ecuación de Z actual como la variable básica entrante. Ahora suponga que

dos o más variables no básicas tienen el coeficiente negativo más grande (en valor absoluto), es

decir, que hay un empate entre ellas. Por ejemplo, esto ocurriría en la primera iteración del ejemplo

anterior si se cambiara la función objetivo a Z = 3x 1 + 3x2, con lo que la ecuación del renglón de Z

inicial sería Z3x13x2 = 0. ¿Cómo debe romperse este empate?

La respuesta es que la elección entre estos dos contendientes se puede hacer de manera

arbitraria. Tarde o temprano se llegará a la solución óptima, sin importar cuál de las variables

empatadas se haya escogido, y no existe un método conveniente para predecir cuál lleva ahí más

rápidamente. En este ejemplo ocurre que si se escoge x 1 como variable entrante, el método símplex

alcanza la solución óptima (2, 6) en tres iteraciones y si se elige x 2, llega en dos.

Empate para la variable básica que sale  degeneración.

Ahora suponga que el empate ocurre entre dos o más variables básicas al elegir la variable

que sale en el paso 2 de una iteración. ¿Importa cuál se escoge? En teoría sí, y en una forma crítica

debido a que puede ocurrir la siguiente sucesión 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 básica que sale también tendrán un valor de cero en la nueva

solución básica factible. (Las variables básicas con valor de cero se llaman degeneradas y el mismo

nombre se da a la solución básica factible correspondiente.) Segundo, si una de estas variables

básicas degeneradas sigue con valor de cero hasta que se selecciona como variable básica que sale en

una iteración posterior, la variable básica entrante deberá también quedar con valor de cero (ya que

no puede crecer sin que la variable básica que sale se vuelva negativa), entonces el valor de Z

permanecerá sin cambio. Tercero, si Z permanece igual en lugar de mejorar cada iteración, el método

símplex puede caer en un ciclo que repite la misma secuencia de soluciones periódicamente, en lugar

de aumentar en algún momento para llegar a la solución óptima.

Por fortuna, aunque en teoría 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

elección de la variable básica 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 básica que sale  Z no acotada.

Introducción Investigaci{on de Operaciones Pág. 46 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

Existe otra posibilidad en el paso 2 de una iteración, de la que no se ha hablado: aquella en la

que ninguna variable califica como variable básica que sale. Esta situación puede ocurrir si la variable

básica entrante puede crecer indefinidamente sin que ninguna de las variables básicas actuales

adquiera valores negativos. En la forma tabular, esto significa que todos los coeficientes en la

columna pivote (se excluye el renglón de Z) son negativos o cero.

Como se ilustra en la siguiente tabla, esta situación 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 básica entrante pero el único coeficiente en la

columna pivote es cero. Como la prueba del cociente mínimo usa sólo coeficientes mayores que cero,

no se cuenta con un cociente que proporcione una variable básica que sale.

La interpretación de una tabla símplex como la que se muestra en la siguiente tabla es que las

restricciones no impiden el crecimiento indefinido de la función objetivo Z, de manera que el método

símplex se detiene con el mensaje de que Z es no acotada. Debido a que ni siquiera la programación

lineal ha descubierto la manera de lograr ganancias infinitas, el mensaje real en problemas prácticos

es: ¡Se ha cometido un error! Tal vez el modelo esté mal formulado, ya sea por haber omitido una

restricción relevante o por haberla establecido incorrectamente. De otra manera, pudo haber

ocurrido un error en los cálculos.

Variable Lado
Básica Z x1 x2 x3 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0
X3 0 1 0 1 4 Sin mínimo

Soluciones óptimas múltiples.

En la definición de solución óptima se mencionó que un problema puede tener más de una

solución óptima. Si en el ejemplo cambiamos la función 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 vértices óptimas:

Introducción Investigaci{on de Operaciones Pág. 47 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

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

donde los pesos w1 yw2 son números 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 solución óptima.

En general, cualquier promedio ponderado de dos o más soluciones (vectores) donde los pesos

son no negativos y suman 1 se llama combinación convexa de estas soluciones. Entonces, toda solución

óptima en el ejemplo es una combinación convexa de (2, 6) y (4, 3).

Este ejemplo es representativo de problemas con soluciones óptimas

múì¥Á485@ 4848ø¿48484848484848484848484848m³4848

Introducción Investigaci{on de Operaciones Pág. 48 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

49bjbjÏ2Ï2494949494949494949494949494949494949

Introducción Investigaci{on de Operaciones Pág. 49 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

50-è50X5050X5050Aª505050505050+

50505050505050505050505050505050505050505050ÿÿ ᄂ 5

05050505050505050ÿÿ ᄂ 505050505050505050ÿÿ ᄂ 50505050505050505050505

05050505050ˆ5050505050

Introducción Investigaci{on de Operaciones Pág. 50 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

515151515151

Introducción Investigaci{on de Operaciones Pág. 51 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

5252

Introducción Investigaci{on de Operaciones Pág. 52 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

535353535353

Introducción Investigaci{on de Operaciones Pág. 53 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

545454545454

Introducción Investigaci{on de Operaciones Pág. 54 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

555555555555

Introducción Investigaci{on de Operaciones Pág. 55 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

565656565656

Introducción Investigaci{on de Operaciones Pág. 56 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

5757 ᄉ 5757575757575757575757Ì575757575757ð( 5757575757ð( 5

757575757ð( 578575757() 57ä57ì¥Á575@

5757ø¿57575757575757575757575757m³5757

Introducción Investigaci{on de Operaciones Pág. 57 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

58bjbjÏ2Ï2585858585858585858585858585858585858

Introducción Investigaci{on de Operaciones Pág. 58 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

59-è59X5959X5959Aª595959595959+

59595959595959595959595959595959595959595959ÿÿ ᄂ 5

95959595959595959ÿÿ ᄂ 595959595959595959ÿÿ ᄂ 59595959595959595959595

95959595959ˆ5959595959

Introducción Investigaci{on de Operaciones Pág. 59 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

606060606060

Introducción Investigaci{on de Operaciones Pág. 60 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

6161

Introducción Investigaci{on de Operaciones Pág. 61 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

626262626262

Introducción Investigaci{on de Operaciones Pág. 62 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

636363636363

Introducción Investigaci{on de Operaciones Pág. 63 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

646464646464

Introducción Investigaci{on de Operaciones Pág. 64 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

656565656565

Introducción Investigaci{on de Operaciones Pág. 65 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

6666 ᄉ 6666666666666666666666Ì666666666666ð( 6666666666ð( 6666666666ð( 668666666()

66ä66e óptima. Sin embargo, en muchas aplicaciones de Programación 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, también deben identificarse

las otras soluciones óptimas. Esto requiere encontrar todas las demás soluciones básicas factible

óptimas, y entonces toda solución óptima es una combinación convexa de las soluciones básicas

factibles óptimas.

Una vez que el método símplex encuentra una solución básica factible óptima, se puede

detectar si existen otras y, si así es, se encuentra como sigue:

Siempre que un problema tiene más de una solución básica factible óptima, al menos

una variable no básica tiene coeficiente cero en la ecuación de Z final, de manera

que si aumenta su valor, el valor de la función Z no cambia. Por lo tanto, estas otras

soluciones básicas factibles óptimas se pueden identificar (si se desea) realizando

iteraciones adicionales del método símplex, en las que cada vez se elige una variable

no básica con coeficiente cero como variable básica entrante. Si una de estas

iteraciones no tiene una variable básica que sale esto indica que la región factible es

no acotada y la variable básica entrante puede crecer indefinidamente sin cambiar el

valor de Z.

2. Programación Lineal.

Introducción Investigaci{on de Operaciones Pág. 66 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

2.5. Método de la “M” o de Penalización.

Hasta este momento se han presentado los detalles del método símplex con la suposición de

que el problema se encuentra en nuestra forma estándar (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 sección se establecerá cómo hacer los ajustes requeridos a

otras formas legítimas de modelos de Programación Lineal. Se verá que todos estos ajustes se

pueden hacer en el paso inicial, de manera que el resto del método símplex se aplica justo como se

aprendió.

El único problema serio que introducen las otras formas de restricciones funcionales (= ó )

es identificar una solución inicial básica factible. Antes, esta solución inicial se encontraba en forma

muy conveniente al hacer que las variables de holgura fueran las variables básicas iniciales, donde

cada una era igual a la constante no negativa del lado derecho de la ecuación correspondiente. Ahora

debe hacerse algo más. El enfoque estándar que se utiliza es estos casos es la técnica de variables

artificiales. Ésta construye un problema artificial más conveniente introduciendo una variable

ficticia (llamada variable artificial) en cada restricción que lo requiera. Esta nueva variable se

introduce sólo con el fin de que sea la variable básica inicial para esa ecuación. Las restricciones

usuales de no negatividad también se aplican sobre estas variables y la función objetivo se modifica

para que imponga una penalización exorbitante en el caso de que adquieran valores mayores que

cero. Las iteraciones del método símplex automáticamente fuerzan a las variables artificiales a

desaparecer (a volverse cero) una a una, hasta que todas quedan fuera de la solución; después de

esto se resuelve el problema real.

Para ilustrar la técnica de las variables artificiales, primero se considerará el caso en que la

única forma no estándar en el problema es la presencia de una o más restricciones en forma de

igualdad.

Restricciones en forma de igualdad.

En realidad, cualquier restricción 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 sustitución e incrementar con ello el número de

restricciones, es más conveniente usar la técnica de la variable artificial. Suponga que se modifica el

Introducción Investigaci{on de Operaciones Pág. 67 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

problema de ejemplo presentado y resuelto en la sección anterior. El único cambio que sufre el

modelo de programación lineal es que la tercera restricción, 3x 1 + 2x2  18, se convierte en una

restricción de igualdad:

3x1 + 2x2 = 18

Aplicando la técnica de las variables artificiales se introduce una variable artificial no

negativa (denotada por x5) en la última ecuación, como si fuera una variable de holgura:

3x1 + 2x2 + x5 =18

En resumen si tenemos una restricción 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 técnica 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 restricción es del tipo , por lo que para cambiarla a su forma de

igualdad tendríamos que restar una variable de superávit (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 restricción

agregamos una variable de holgura que sería x3 y en la segunda restricción agregamos también una

variable artificial que sería x4; 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 razón de esto es que, si no se agrega la variable artificial, no se estarían cumpliendo las

restricciones de no negatividad. Para comprenderlo, se dejará sin aumentar. El método símplex

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:

Introducción Investigaci{on de Operaciones Pág. 68 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

x5 = 6 ó

x5 = 6 (que no cumple la restricción de no negatividad)

La variable artificial opera para mantener todas las variables no negativas cuando 0.6x 1 +

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 restricción 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 solución óptima que el problema real, haciendo dos

modificaciones a este problema real.

1. Se aplica la técnica de las variables artificiales introduciendo una variable artificial no negativa

(denotada por x5) en la última ecuación, como si fuera una variable de holgura:

3x1 + 2x2 + x5 =18

Se asigna una penalización enorme al hecho de tener x5  0, cambiando la función objetivo

Z = 3x1 + 5x2 a:

Z = 3x1 + 5x2  Mx5,

donde M simbólicamente representa un número positivo muy grande. Este método que fuerza a x 5

hasta el nivel de x5 = 0 en la solución óptima se llama método de la M.

Nota: Para el caso de minimización, penalizamos a la variable artificial, haciéndola aparecer en la

función objetivo con un coeficiente de +M.

Introducción Investigaci{on de Operaciones Pág. 69 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

Ahora se encuentra la solución óptima para el problema real aplicando el método símplex al

problema artificial.

Como x5 juega el papel de la variable de holgura en la tercera restricción del problema

artificial, esta restricción es equivalente a 3x1 + 2x2  18.

En particular, el sistema de ecuaciones después 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 símplex:

Variable Lado
Básica 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 todavía no está en la forma apropiada porque el coeficiente de x 5 es diferente de

cero en la ecuación de Z (es M). Por lo tanto, antes de que el método símplex pueda aplicar la prueba

de optimalidad y encontrar la variable básica entrante, debe pasarse esta tabla a la forma apropiada

para que cumpla la condición símplex. Esta condición que debe cumplir toda tabla del método símplex

para que pueda reportarnos la siguiente solución básica factible dice que: “Toda variable básica debe

tener un 1 en la intersección de su renglón y columna correspondiente y cero en los demás renglones

incluido el renglón de Z”, en otras palabras, que toda variable que sea básica solamente debe

aparecer en el renglón de la restricción que representa. Para hacer cero el coeficiente M, utilizamos

el renglón de x5 como renglón pivote multiplicándolo por M y sumando el resultado al renglón de Z.

Realizando el procedimiento anterior, la tabla símplex queda de la siguiente manera:

Variable Lado

Introducción Investigaci{on de Operaciones Pág. 70 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?


Z 1 -3M- -2M- 0 0 0 18M Mx5 + Z
3 5
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 solución básica factible actual, que es (0, 0, 4, 12, 18), la cual aplicando la prueba de optimalidad

vemos que no es óptima ya que todavía tenemos coeficientes negativos en el renglón de Z (los

correspondientes a x1 y x2). Aplicando el método símplex a la tabla anterior tenemos: el coeficiente

negativo con el mayor valor absoluto corresponde a x1 (3M3), recordemos que M es un número muy

grande positivo, por lo tanto, x1 se convierte en la variable básica entrante, realizando los cocientes

correspondientes, vemos que x3 se convierte en la variable básica saliente. El procedimiento completo

para resolver este ejemplo se muestra en el siguiente conjunto de tablas:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 -3M- -2M- 0 0 0 18M
3 5
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- 3M+3 0 0 6M+12
5
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/ 27
2
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

MINIMIZACIÓN con el método símplex.

Una manera directa de minimizar Z con el método símplex es cambiar los roles de los

coeficientes negativos y positivos en el renglón de la función objetivo, tanto para la prueba de

Introducción Investigaci{on de Operaciones Pág. 71 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

optimalidad como para la parte 1 de una iteración. Se determina la variable básica entrante mediante

la elección de la variable con el coeficiente positivo menor en la ecuación de Z. La solución básica

factible actual es óptima si y sólo si todos los coeficientes de la ecuación de la función objetivo

(renglón de Z) son no positivos (  0 ). Si es así, el proceso termina; de otra manera, se lleva a cabo

otra iteración para obtener la nueva solución básica factible, lo que significa el cambio de una

variable no básica por una básica (parte 1) y viceversa (parte 2), y después despejar las variables de

la nueva solución (parte 3). Notemos que no se ha dicho nada con respecto a la forma de obtener la

variable básica saliente en una iteración, ya que este paso se realiza de la misma manera que cuando

se está maximizando, es decir, se escoge aquella variable básica con el menor cociente. Ilustremos la

forma de utilizar el método símplex para el caso de minimización. 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 añadiendo 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 método de la M para obtener una solución óptima por el método símplex,

obtenemos el siguiente conjunto de tablas:

Variable Lado
Básica 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 M3 2M8 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

Introducción Investigaci{on de Operaciones Pág. 72 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

Notemos que la primera tabla no se encontraba en la forma apropiada para el método símplex,

ya que el coeficiente de la variable básica x 5 era de M en el renglón de Z, lo cual hacia que no se

cumpliera la condición símplex.

2.6. Método de las dos Fases.

En el ejemplo presentado en la sección “Restricciones funcionales de la forma “, recordemos

la función objetivo real:

Problema real: Minimizar Z = 0.4x1 + 0.5x2

Sin embargo, el método de la M utiliza la siguiente función objetivo a través de todo el

procedimiento:

Método 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

método de dos fases puede eliminar la M usando las siguientes dos funciones objetivo que definen Z

de manera completamente diferente:

Método 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 función objetivo de la fase 1 se obtiene dividiendo la función objetivo del método de la M

entre M eliminando los términos despreciables, en otras palabras, la fase 1 consiste en la

minimización de la suma de todas las variables artificiales que se introduzcan en el problema. Como

la fase 1 concluye al obtener una solución básica factible para el problema real (aquella en la que x 4 =

0 y x6 = 0), esta solución se usa como la solución básica factible inicial para aplicar el método símplex

al problema real (con su función objetivo) en la fase 2. Antes de resolver el ejemplo de esta manera

se hará un resumen de las características generales.

Introducción Investigaci{on de Operaciones Pág. 73 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

Resumen del método de dos fases.

Paso inicial: Se revisan las restricciones del problema original introduciendo variables artificiales

según se necesite para obtener una solución básica factible inicial obvia para el problema artificial.

Fase 1: uso del método símplex para resolver el problema de programación lineal:

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

La solución óptima que se obtiene para este problema (con Z = 0) será una solución básica

factible para el problema real.

Fase 2: se eliminan las variables artificiales (de todas formas, ahora todas valen cero).

Comenzando con la solución básica factible que se obtuvo al final de la fase 1, se usa el método

símplex para resolver el problema real.

Enseguida se resumen los problemas que deben resolverse por el método símplex en las fases

respectivas para el ejemplo.

Problema para la fase 1:


Minimizar W = x4 + x6,
sujeta a
0.3x1 + 0.1x2 + x3 = 2.7
0.5x1 + 0.5x2 + x4 = 6
0.6x1 + 0.4x2  x5 + x6 = 6
y
x10 x20 x3 x40 x50 x60

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
y
x10 x20 x3  x50

Las únicas diferencias entre estos dos problemas se encuentran en la función objetivo y en la

inclusión (fase 1) o exclusión (fase 2) de las variables artificiales x 4 y x6. Sin las variables

artificiales, el problema para la fase 2 no tiene una solución básica factible inicial obvia. El único

Introducción Investigaci{on de Operaciones Pág. 74 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

propósito de resolver el problema para la fase 1 es obtener una solución básica factible con x 4 = 0 y

x6 = 0 que se pueda usar como la solución básica factible inicial para la fase 2.

Las siguientes tablas muestran el resultado de aplicar el método símplex a este problema

para la fase 1:

Variable Lado
Básica 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 (9,0,0,1.5,0,0.6)
.2
x4 0 0 0.33 1.66 1 0 0 1.5 1.5/0.33= W = 2.1
4.5
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= (8.01,3,0,0.51,0,
4.8 0)
x4 0 0 0 1.64 1 1.65 1.65 0.51 0.51/1.65= W = 0.51
0.30
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 solución óptima para la fase 1 que consistió en la

minimización de la suma de todas las variables artificiales. Observemos también que la función

objetivo W terminó con un valor de cero en la última tabla, lo que indica que las dos variables

artificiales (x4 y x6) valen cero ó tienen valores recíprocos 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 básicas 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

Introducción Investigaci{on de Operaciones Pág. 75 Prof: Ricardo Zapata C.


Investigación de Operaciones I. 2. Programación Lineal.

considerar la columna de las variables artificiales ya que éstas tomaron el valor de cero en la primera

fase. El método símplex aplicado a la segunda fase se muestra en el siguiente conjunto de tablas:

Variable Lado
Básica 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 método símplex 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 método símplex fue suficiente para resolver el problema planteado en la

segunda fase. Es necesario aclarar que no siempre ocurrirá de esta manera, es decir, si después de

dejar la tabla en la forma apropiada, es necesario aplicar el método símplex, se debe aplicar como lo

hemos estudiado.

Nota: Independientemente de que el problema original (real) sea de maximización o minimización, la

primera fase siempre consistirá en la minimización de la suma de todas las variables

artificiales.

Introducción Investigaci{on de Operaciones Pág. 76 Prof: Ricardo Zapata C.

S-ar putea să vă placă și