PLC3
PLC3
EL MÉTODO SIMPLEX
45
Capítulo 3
LA CONDICIÓN DE FACTIBILIDAD
Si a (3-2) le restamos (3-1) multiplicada por j 0 obtenemos
( x 1 j y1 j )A1 ( x 2 j y 2 j )A 2 ... ( x r j y rj )A r ... ( x m j y mj )A m j A j b (3-3)
7
Véase Definición 2-21 en Capítulo 2.
8
Para cualquier programa lineal con m restricciones, dos soluciones básicas factibles se dicen adyacentes si sus
respectivas variables básicas tienen m – 1 variables en común.
46 Norma Torrent
El Método Simplex
que es a su vez, una solución básica factible puesto que satisface el sistema Ax = b
m y ij xr
(x
i 1
i xr
y rj
)A i
y rj
A j b (y rj 0)
ir
Se dice entonces, que el vector Aj ingresa a la base y sale Ar. La variable xr es ahora no
básica (xr = 0) y xj pasa a ser básica con valor j = xr/yrj.
Observemos que todo Aj B puede reemplazar a cualquier vector Ar de la base para el cual
yrj sea distinto de cero, y el nuevo conjunto de vectores seguirá siendo linealmente
independiente.9
La expresión (3-4) recibe el nombre de condición de factibilidad y nos garantiza que cada
nueva solución encontrada será una solución básica factible.
Notemos que:
Si en la (3-4) ninguno de los yij es mayor que cero, la solución no está acotada, es
decir, el programa lineal no tiene solución óptima finita. En efecto, si yij ≤ 0 i = 1, 2,
…, m los valores (x1 θ j y1j ), (x 2 θ j y 2j ), ..., (x r θ j y rj ), ..., (x m θ j y mj ), θ j que
satisfacen (3-3) serán todos estrictamente positivos y pueden crecer tanto como se
desee escogiendo un j lo suficientemente grande.
Puede haber dos o más columnas de B para las cuales se tiene el mismo valor mínimo
dado por (3-4) en cuyo caso, la nueva solución básica factible será degenerada. Por
ejemplo, si en (3-4) el mínimo se produce para xr/yrj = xt/ytj podremos optar por
remover la columna Ar o la At de la base actual. Si decidimos que Ar abandone la base,
At integrará la nueva base siendo la variable básica xt igual a cero.
En estos casos si bien resulta indistinta la elección del vector que abandonará la base,
convendremos en hacer salir al de mayor índice.
LA CONDICIÓN DE OPTIMIZACIÓN
Pretendemos ahora que cada nueva solución básica encontrada por el procedimiento anterior sea
capaz de mejorar el valor de la función objetivo o, de no ser posible, mantenerlo.
El valor de la función económica para la nueva solución obtenida mediante (3-4) es
m
yij x y rj
z ci (xi x r ) c j r . En esta sumatoria podemos incluir el término c r (x r x r ) ya
i 1 y rj y rj y rj
ir
y rj
que al ser nulo el valor de x r x r , el valor de z no se altera. De este modo,
y rj
m
y ij x
z c (x i i xr ) cj r
i 1 y rj y rj
desarrollando y agrupando términos
m m
x x
z ci x i c j r r c y i ij
i 1 y rj y rj i 1
9
Véase Teorema 2-3 en Capítulo 2.
47
Capítulo 3
m
Denominando con zj a c y
i 1
i ij y teniendo en cuenta que el valor de z para la solución
m
básica inicial correspondiente a (3-2) es z 0 c x , la expresión anterior se traduce a
i 1
i i
xr
z z0 (c j z j ) z 0 j (c j z j ) (3-5)
y rj
Lo cual nos indica que el nuevo valor de la función objetivo es el valor original más la
cantidad θ j (c j z j ) .
Dado que θ j 0, si c j z j 0 resultará z > z0 siendo la nueva solución mejor que la
anterior. Lógicamente, si hubiese dos o más vectores no básicos para los cuales
c j z j 0, debería ingresar a la base aquél al que corresponda el mayor valor de θ j (c j z j ) .
Sin embargo, este último cálculo nos obligaría a determinar θ j para todos los vectores no básicos
con c j z j 0 optándose, a efectos de simplificar la tarea, por ingresar a la base al vector que
posea el mayor valor positivo de los c j z j . Si este último valor se da para más de un vector
puede escogerse indistintamente a cualquiera de ellos como integrante de la nueva base. No
obstante, se conviene en hacer entrar al de menor subíndice.
En base a lo expuesto, dada una solución básica factible, siempre que haya un vector Aj no
básico con c j z j 0 y al menos un yij > 0 con i = 1, 2, …, m, existe otro punto extremo para el
cual el valor de la función objetivo es la menos tan grande como el valor anterior (z ≥ z0).
De esta forma el nuevo punto extremo puede ser usado como solución básica original,
repitiendo el procedimiento hasta que la solución no pueda mejorarse más, o sea hasta que
c j z j 0 Aj con j = 1, 2, …, n.
Cuando una solución es degenerada y escogemos un vector Aj para el cual c j z j 0 y al
menos un yij > 0 , podemos tener o no un aumento en z.
En efecto, al examinar (3-4), j = xr/yrj será igual a cero sólo si xr tiene valor nulo, es decir,
si la solución básica original es degenerada. En este caso, la nueva solución básica factible
también será degenerada y los valores de las variables comunes a ambas soluciones no
cambian ( xi' xi θ j yij xi para todo i r, x'j θ j x r /y rj 0 ) . Sin embargo, no se puede
decir que la nueva solución básica siempre será degenerada si la actual lo es. Si yij ≤ 0 para cada
xi igual a cero en la solución actual, ninguna de tales variables es considerada en el cálculo de (3 -
4), el valor de j será entonces positivo y la nueva solución resultará no degenerada.
En cualquier caso, cuando (c j z j ) 0 , estamos seguros que z no es menor que z0.
La pregunta que surge ahora es ¿si c j z j 0 Aj, significa que alcanzamos el óptimo? Es
fácil demostrar que, efectivamente, cuando se verifica dicha condición la función objetivo
alcanza su valor máximo.
Supongamos que para el sistema Ax = b tenemos una base B y una solución básica factible
x B B 1b ; que el valor de la función objetivo para esta solución es z0 y que c j z j 0 Aj
con j = 1, 2, …, n.
Sea x’ cualquier solución factible y z el correspondiente valor de la función objetivo. Para x’
se verifica
x 1' A1 x '2 A 2 ... x 'n A n b 3-6
48 Norma Torrent
El Método Simplex
n
xi x yj1
'
j ij para todo i I B (3-7)
n
Ahora bien, para x’ el valor de la función objetivo es z c
j 1
'
jxj y, por hipótesis
n n
c j z j 0 Aj con j = 1, 2, …, n, o sea c j z j j, luego z
j 1
c j x'j z
j 1
'
jxj. Si en esta
n n
z x 'j c i y ij
ci x y '
j ij
j1 iIB iIB j1
y sustituyendo (3-7)
z c x
iI B
i i z0
10
Observemos que la expresión 3-5 puede también escribirse como z = z0 – j(zj – cj). De esta forma la condición de
optimización se traduciría a zj – cj ≥ 0 Aj (caso de maximización).
49
Capítulo 3
11
Tales procedimientos no serán objeto de nuestro estudio. Puede obtenerse información detallada de los mismos en
Bazaraa, M. S., J. J. Jarvis y H. D. Sherali, Linear Programming and Network Flows, 2ª ed., New York: John Wiley
& Sons, Inc., 1990.
50 Norma Torrent
El Método Simplex
1 0 0 1 2
B A 3 , A 4 , A 5 0 1 0 ; N A1 , A 2 3 3 / 2
0 0 1 0 1
x B x 3 , x 4 , x 5 T 40; 75; 15T ; x N x 1 , x 2 T 0; 0T
z c B x B 0; 0; 040; 75; 15T 0
2. Se calculan los yij.
1 0 0
B 1 0 1 0
0 0 1
1 2 y 31 y 32
Y B N 3 3 / 2 y 41 y 42
1
0 1 y 51 y 52
51
Capítulo 3
2 1 0 1 0
B A 2 , A 3 , A 4 3/2 0 1; N A1 , A 5 3 0
1 0 0 0 1
Primera iteración
2. Se calculan los yij.
0 0 1
B 1
1 0 2
0 1 3 / 2
0 0 1 1 0 0 1 y 21 y 25
Y B 1 N 1 0 2 3 0 1 2 y 31 y 35
0 1 3 / 2 0 1 3 3 / 2 y
41 y 45
3. Se determinan los zj.
0 1
z1 , z 5 c B Y 45; 0; 0 1 2 0; 45
3 3 / 2
4. Se calculan las diferencias c j z j .
c1 z1 20 0 20 entra A1
c 5 z 5 0 45 45
52 Norma Torrent
El Método Simplex
1 2 0 1 0
B A1 , A 2 , A 4 3 3/2 1; N A 3 , A 5 0 0
0 1 0 0 1
Segunda iteración
2. Se calculan los yij.
1 0 2
B 1 0 0 1
3 1 9 / 2
1 0 2 1 0 1 2 y13 y15
Y B N 0 0
1
1 0 0 0 1 y 23 y 25
3 1 9 / 2 0 1 3 9 / 2 y
43 y 45
3. Se determinan los zj.
1 2
z 3 , z 5 c B Y 20; 45; 0 0 1 20; 5
3 9 / 2
4. Se calculan las diferencias c j z j .
c 3 z 3 0 20 20
c 5 z 5 0 5 5
Puesto que se verifica la condición de optimización , resulta
x 1* 10; x 2 * 15; x 3* 0; x 4 * 22,5; x 5 * 0; z * 875
53
Capítulo 3
Max z 20 x 1 45x 2 0x 3 0x 4 0x 5
s. a
x 1 2x 2 x 3 40
3x 1 1,5x 2 x4 75
x2 x 5 15
x j 0 j 1; 2; ...; 5
Tabla 3-1
20 45 0 0 0 xi/yij
ci Ai A1 A2 A3 A4 A5 xi (yij>0)
0 A3 1 2 1 0 0 40 20
0 A4 3 3/2 0 1 0 75 50
0 A5 0 1 0 0 1 15 15
zj 0 0 0 0 0
z=0
cj – zj 20 45 0 0 0
Inicialmente la tabla presenta, en su cuerpo central, los coeficientes del sistema Ax = b para
la solución básica factible original. En correspondencia con dicho sistema, se adicionan:
En fila 1, los coeficientes de la función objetivo.
En fila 2, los rótulos de los vectores que integran la matriz A.
En columna 1, los coeficientes económicos de las variables básicas.
En columna 2, los rótulos de los vectores básicos.
Observemos que comenzando con una base igual a la matriz identidad , xB es coincidente
con b (penúltima columna de la tabla).
Los restantes valores se calculan a partir de los existentes:
En la celda inferior derecha se coloca el valor actual de la función objetivo.
z
ci xi se obtiene sumando los productos de los coeficientes de la columna 1 por
iI B
los respectivos valores de las variables básicas en la penúltima columna. En este primer
paso, z = 0.
Las últimas dos filas contendrán los coeficientes zj y cj – zj que nos permitirán la
verificación de la condición de optimización.
Los z j
ci yij resultan de efectuar la suma de los productos de los coeficientes de la
iI B
columna 1 por las respectivas componentes de cada columna Aj (notemos que al ser B
= I es Y = N). Luego, restando cada zj al correspondiente cj ubicado en fila 1 tendremos
los valores cj – zj.
La Tabla 3-1 nos indica que debe ingresar a la base el vector A2.
La última columna está destinada a la obtención de los cocientes xi/yij que posibilitarán
la determinación del vector que sale de la base (condición de factibilidad).
Dividimos cada xi de la penúltima columna por el correspondiente yij > 0 en la columna
del vector que entra a la base (en este caso A2). Seleccionando el mínimo de tales
cocientes, en la última columna, sabremos cuál es el vector saliente.
En Tabla 3-1 vemos que sale A5.
54 Norma Torrent
El Método Simplex
Primera iteración
La sencillez de los cálculos precedentes reside en la base inicial igual a la matriz identidad.
Como expresáramos anteriormente, al ser B = I resulta Y = N.
La nueva base estará ahora constituida por los vectores A2, A3 y A4. Si lográramos convertir
esta base en una matriz identidad, el proceso de cálculo sería idéntico al descrito. Para ello
bastará con transformar el sistema de ecuaciones de Tabla 3 -1 en un sistema equivalente que
0
contenga 0 en A2. Utilizaremos el método de eliminación de Gauss–Jordan.12
1
En la intersección de la columna del vector que entra a la base con la fila del vector que
sale, se encuentra el elemento pivote (el que queremos que asuma el valor 1). Si entra Ak y sale
Ar, el pivote será yrk. Luego:
Dividimos la ecuación “r” por yrk.
Para i = 1, 2, …, m, con i r , actualizamos la i–ésima ecuación sumándole –yik veces la
nueva r–ésima ecuación.
En nuestro ejemplo el pivote es y52 = 1, por tanto la tercera ecuación de la Tabla 3-2 será
idéntica a la tercera ecuación de la Tabla 3-1. Luego,
A la primera ecuación de Tabla 3-1 le restamos la tercera ecuación de Tabla 3-2
multiplicada por 2.
A la segunda ecuación de Tabla 3-1 le restamos la tercera ecuación de Tabla 3-2
multiplicada por 1,5.
Actualizamos la Tabla 3-2 con los rótulos correspondientes a los vectores básicos (A2
sustituye a A5) y los respectivos coeficientes económicos de las variables básicas (c2 sustituye a
c5), y efectuamos los restantes cálculos.
Tabla 3-2
20 45 0 0 0 xi/yij
ci Ai A1 A2 A3 A4 A5 xi (yij>0)
0 A3 1 0 1 0 –2 10 10
0 A4 3 0 0 1 –3/2 105/2 35/2
45 A2 0 1 0 0 1 15
zj 0 45 0 0 45
z = 675
cj – zj 20 0 0 0 –45
En la Tabla 3-2 vemos que entra A1 y sale A3. Los cálculos necesarios para la
transformación del sistema de ecuaciones de la Tabla 3-1 al equivalente de la Tabla 3-2 pueden
simplificarse aún más procediendo como se indica a continuación.
En una tabla cualquiera identificamos el elemento pivote. Si entra Ak y sale Ar, el pivote será
yrk. Dividimos la fila (ecuación) asociada a Ar por yrk y completamos los restantes ceros
correspondientes al vector Ak. Los demás valores de la nueva tabla se obtienen operando
directamente sobre la tabla anterior, aplicando la siguiente regla práctica.
Para obtener el valor de un yij de la nueva tabla trazamos, en la tabla anterior, un rectángulo
que tenga por vértices los coeficientes yij, yrk (elemento pivote, en el vértice opuesto por la
diagonal), yik e yrj (Figura 3-1).
12
Véase Ejemplo 2-1 en Capítulo 2.
55
Capítulo 3
El valor buscado será entonces igual al valor anterior menos el producto de los vértices en
y
la diagonal opuesta al pivote dividido el pivote. Es decir, yij' yij ik y rj .
y rk
Figura 3-1
y 'ij
y 'ij y ij y ik y rj
y rk
Así por ejemplo, el valor del coeficiente y31 en la Tabla 3-2 será igual a
y 2 y 1,5
y '31 y 31 32 y 51 1 0 1 . En forma similar, y '45 y 45 42 y 55 0 1 1,5 .
y 52 1 y 52 1
El procedimiento precedente se basa en las denominadas fórmulas de cambio de base que
se desarrollan a continuación.
En una iteración dada cualquier vector no básico puede escribirse como A j yij Ai . Si
iI B
en dicha iteración hemos determinado que entra Ak y sale Ar, Ak verificará la relación
Ak yik Ai y rk Ar . Luego, dado que yrk > 0, resulta
iI B
ir
1 y ik
Ar
y rk
Ak
iI B y rk
Ai (3-8)
ir
con lo cual se tienen los yir que permiten expresar al vector Ar en función de la nueva base.
Ahora, si queremos representar Aj en términos de la nueva base, bastará con reemplazar el vector
Ar por su equivalente expresión. En efecto,
1 y ik
Aj
iI B
y ij A i
iI B
y ij A i y rj A r
iI B
y ij A i y rj
y rk
Ak
iI B y rk
Ai
ir ir ir
y ik y rj
Aj y ij - y rj A i Ak (3-9)
iI B y rk y rk
ir
Análogamente, dicha regla puede emplearse para valuar los nuevos cj – zj. En efecto, en la
próxima tabla, para todo Aj no básico resultará
y ik y rj
iIB
(c j z j ) ' c j c i y ij' c k y 'kj c j c i y ij - y rj
iIB y rk
c k
y rk
ik ik
y rj y rj y rj
c j c i y ij
iIB y rk iIB c i y ik c k c j z j
y rk y rk
(c k z k )
i k i k
por lo cual se verifica
y rj
(c j z j ) ' (c j z j ) (c k z k ) para todo j I N
y rk
Segunda iteración
A partir de la Tabla 3-2, repitiendo los pasos descritos, obtenemos la Tabla 3-3. La misma
corresponde a la solución óptima ya que c j z j 0 Aj.
Tabla 3-3
20 45 0 0 0 xi/yij
ci Ai A1 A2 A3 A4 A5 xi (yij>0)
20 A1 1 0 1 0 –2 10
0 A4 0 0 –3 1 9/2 45/2
45 A2 0 1 0 0 1 15
zj 20 45 20 0 5
z = 875
cj – zj 0 0 –20 0 –5
57
Capítulo 3
x B B 1b B 1 Nx N
B 1b Yx N
B 1b
Yj x j
jI N
De esta forma, la variación que sufrirán las variables básicas frente al ingreso de una
x B
variable no básica cualquiera xj estará dada por Y j . Concretamente, si las m variables
x j
básicas de xB son x1, x2, …, xm, el ratio esperado de cambio de cada una de ellas cuando la
x1 x x
variable no básica xj se incrementa en una unidad será y1j , 2 y 2j , ..., m y mj .
x j x j x j
Los yij que componen el cuerpo de la tabla se denominan tasas marginales (o coeficientes) de
sustitución.13
Si xj ingresa a la base el nuevo valor de la función objetivo estará dado por
z z 0 x j (c j z j )
luego, la variación en z frente a incrementos unitarios en la variable xj será
z
cj zj
x j
Un razonamiento similar sobre la columna A5 de la Tabla 3-3 nos permitiría concluir que
por cada unidad de x5 que ingrese a la base z* disminuirá en $5.
13
Si la tabla corresponde a una solución básica factible degenerada, cuando alguna de las variables no básicas se
incrementa (manteniendo las restantes variables no básicas a nivel cero), al menos una de las variables básicas puede
asumir valores negativos destruyéndose la factibilidad de la solución. En tal caso los respectivos coeficientes de
sustitución no son practicables puesto que conducirían a soluciones inadmisibles.
58 Norma Torrent
El Método Simplex
En el ejemplo anterior, dado que el problema original estaba en forma canónica con todos
sus términos independientes no negativos, la conversión a formato estándar (mediante el
agregado de las variables de holgura) nos proporcionó una solución de arranque inmediata con B
= I. No obstante, tal situación no siempre ocurre.
Cuando las restricciones del modelo son ecuaciones o desigualdades de ≥ con términos
independientes no negativos, la determinación de una solución básica inicial deja de ser
inmediata. En estos casos, para obtener una solución básica de arranque con base igual a la
matriz identidad se introducen en el programa lineal las denominadas variables ficticias o
artificiales.
Veamos, en su forma estándar, el programa planteado en el Ejemplo 1-13.
Max z 30 x 1 40 x 2 0 x 3 0 x 4
s. a
x 1 x 2 1x 3 0 x 4 7
x 1 2 x 2 0 x 3 1x 4 4
x 1 0x 2 0x 3 0x 4 5
x j 0 j 1, 2, ..., 4
Como puede apreciarse, no disponemos de una solución básica factible que resulte
inmediata. Agregamos entonces al sistema de restricciones anterior las variables ficticias x5 y x6
de modo que A5 y A6 junto con A3, completen la matriz identidad.
x 1 x 2 1x 3 0 x 4 0x 5 0x 6 7
x 1 2 x 2 0 x 3 1x 4 1x 5 0x 6 4
x 1 0 x 2 0 x 3 0 x 4 0x 5 1x 6 5
x j 0 j 1, 2, ..., 6
Así, tenemos un modelo aumentado que difiere del original en las variables artificiales.
Para el nuevo modelo el punto x = (0; 0; 7; 0; 4; 5)T es una solución básica factible. El
“artificio” de introducir las variables ficticias para generar la solución inicial recibe el nombre de
técnica de la base artificial.
Las variables ficticias carecen de significado físico o real y, lógicamente, si el problema
original tiene solución, en la misma deberán ser nulas.
Para resolver modelos lineales a los cuales se les han adicionado variables ficticias pueden
emplearse dos métodos: el de penalización o el de las dos fases. Ambos utilizan el método
Simplex con algunas variantes en el inicio.
Observación. Es evidente que la base inicial igual a la matriz identidad provista por las
variables de holgura y/o ficticias proporciona una solución muy alejada de la que nos dará el z
óptimo, sin embargo dicha solución tiene la ventaja de permitir sistematizar los cálculos.
EL MÉTODO DE PENALIZACIÓN
Consiste sencillamente en resolver mediante el método Simplex el modelo aumentado,
penalizando en la función objetivo a cada variable ficticia con un coeficiente económico,
generalmente denotado por M, que garantice su nulidad en la solución final.
Si el objetivo es maximizar, dicho coeficiente será igual a –M, en tanto que para
minimización será igual a M. En ambos casos M es positivo y, en concepto, mucho más grande
que el mayor valor absoluto de los coeficientes económicos de las variables reales del modelo.
De esta forma el Simplex, en la búsqueda de mejores soluciones, hará que las variables
ficticias abandonen la base en las sucesivas iteraciones.
59
Capítulo 3
60 Norma Torrent
El Método Simplex
EFECTO ESPEJO
Un detalle importante que se observa en las tres tablas anteriores es que los vectores A4 y A5
correspondientes a las variables de exceso son iguales a los vectores A6 y A7, correspondientes a
las variables artificiales, multiplicados por –1, ocurriendo lo mismo con sus respectivos zj. Esta
característica se denomina efecto espejo y se presenta en los modelos siempre que se adicionan
variables artificiales en las restricciones de tipo ≥ con términos independientes no negativos.
En base a lo anterior, si así lo dispusiésemos, podríamos eliminar de la tabla las columnas
de las variables artificiales dado que la información en ellas contenida aparece en las columnas
de las variables de exceso a las cuales sustituyeron en la base inicial, multiplicada por –1.
61
Capítulo 3
30 40 0 0 –M –M xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
0 A3 0 3 1 1 –1 0 3 1
30 A1 1 –2 0 –1 1 0 4
–M A6 0 2 0 1 –1 1 1 1/2
zj 30 –60–2M 0 –30–M 30+M –M
z = 120–M
cj – zj 0 100+2M 0 30+M –30–2M 0
30 40 0 0 –M –M xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
0 A3 0 0 1 –1/2 1/2 –3/2 3/2
30 A1 1 0 0 0 0 1 5
40 A2 0 1 0 1/2 –1/2 1/2 1/2
zj 30 40 0 20 –20 50
z = 170
cj – zj 0 0 0 –20 20–M –50–M
Puesto que cj – zj < 0 para cada variable no básica, la última tabla nos da la solución ó ptima.
62 Norma Torrent
El Método Simplex
14
Véase el apartado 1-8 en Capítulo 1.
63
Capítulo 3
0 0 0 0 1 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
0 A3 0 3 1 1 –1 0 3 1
0 A1 1 –2 0 –1 1 0 4
1 A6 0 2 0 1 –1 1 1 1/2
zj 0 2 0 1 –1 1
f=1
cj – zj 0 –2 0 –1 2 0
0 0 0 0 1 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
0 A3 0 0 1 –1/2 1/2 –3/2 3/2
0 A1 1 0 0 0 0 1 5
0 A2 0 1 0 1/2 –1/2 1/2 1/2
zj 0 0 0 0 0 0
f=0
cj – zj 0 0 0 0 1 1
Fase II
30 40 0 0 xi/yij
ci Ai A1 A2 A3 A4 xi (yij>0)
0 A3 0 0 1 –1/2 3/2
30 A1 1 0 0 0 5
40 A2 0 1 0 1/2 1/2
zj 30 40 0 20
z = 170
cj – zj 0 0 0 –20
T
La solución óptima es x* 5; 0,5; 1,5; 0 ; z * 170.
Notemos que podríamos haber prescindido de la última tabla de la Fase I. En efecto, en la
segunda tabla vemos que x6 abandona la base por lo que estamos en condiciones de asegurar que
la próxima tabla será la de óptimo de la Fase I (todas las ficticias resultarán no básicas y por lo
tanto f* tendrá valor nulo).
Comenzamos entonces directamente la Fase II con el ingreso de x2 y la salida de x6.
64 Norma Torrent
El Método Simplex
Fase I
Min f x 7 x 8
s. a
x 1 x 2 1x 3 0 x 4 0 x 5 0 x 6 0 x 7 0 x 8 3
x 1 x 2 0 x 3 1x 4 0 x 5 0 x 6 0 x 7 0 x 8 5
x 1 2 x 2 0 x 3 0 x 4 1x 5 0 x 6 1x 7 0 x 8 2
0,5x 1 x 2 0 x 3 0 x 4 0 x 5 1x 6 0 x 7 1x 8 0,5
x j 0 j 1, 2, ...,8
0 0 0 0 0 0 1 1
ci Ai A1 A2 A3 A4 A5 A6 A7 A8 xi xi/yij
0 A3 –1 1 1 0 0 0 0 0 3
0 A4 1 1 0 1 0 0 0 0 5 5
1 A7 1 2 0 0 –1 0 1 0 2 2
1 A8 1/2 –1 0 0 0 –1 0 1 1/2 1
zj 3/2 1 0 0 –1 –1 1 1
f = 5/2
cj – zj –3/2 –1 0 0 1 1 0 0
0 0 0 0 0 0 1 1
ci Ai A1 A2 A3 A4 A5 A6 A7 A8 xi xi/yij
0 A3 0 –1 1 0 0 –2 0 2 4
0 A4 0 3 0 1 0 2 0 –2 4 4/3
1 A7 0 4 0 0 –1 2 1 –2 1 1/4
0 A1 1 –2 0 0 0 –2 0 2 1
zj 0 4 0 0 –1 –2 1 –2
f=1
cj – zj 0 –4 0 0 1 2 0 3
Fase II
10 20 0 0 0 0
ci Ai A1 A2 A3 A4 A5 A6 xi xi/yij
0 A3 0 0 1 0 –1/4 –3/2 17/4
0 A4 0 0 0 1 3/4 1/2 13/4
20 A2 0 1 0 0 –1/4 1/2 1/4
10 A1 1 0 0 0 –1/2 –1 3/2
zj 10 20 0 0 –10 0
w = 20
cj – zj 0 0 0 0 10 0
T
La solución óptima es x* 1,5; 0,25; 4,25; 3,25; 0; 0 ; w* 20 .
Inspeccionando la tabla de óptimo vemos que c6 – z6 =0, por lo tanto existe una solución
básica alternativa que se obtiene ingresando el vector A6.
10 20 0 0 0 0
ci Ai A1 A2 A3 A4 A5 A6 xi xi/yij
0 A3 0 3 1 0 –1 0 5
0 A4 0 –1 0 1 1 0 3
0 A6 0 2 0 0 –1/2 1 1/2
10 A1 1 2 0 0 –1 0 2
zj 10 20 0 0 –10 0
w = 20
cj – zj 0 0 0 0 10 0
T
La nueva solución óptima es x* 2; 0; 5; 3; 0; 0,5 ; w* 20 .
65
Capítulo 3
Dadas dos soluciones básicas óptimas cualquier combinación convexa de ellas nos permite
obtener las múltiples (infinitas) soluciones no básicas que también serán óptimas. 15
Matemáticamente la familia de estas soluciones estará dada por :
x * 3 / 2; 1/4; 17/4; 13/4; 0; 0 T 1 2; 0; 5, 3; 0; 1/2 T ; 0 λ 1
Ejemplo 3-6 Problema con solución no acotada
Resolveremos el Ejemplo 1-16.
Max z 40 x 1 80 x 2 0 x 3 0 x 4 0 x 5
s. a
3x 1 5x 2 1x 3 0 x 4 0 x 5 15
x 1 2 x 2 0 x 3 1x 4 0 x 5 4
4 x 1 3x 2 0 x 3 0 x 4 1x 5 12
x j 0 j 1, 2, ..., 5
Fase I
Min f x 6
s. a
3x 1 5x 2 1x 3 0 x 4 0 x 5 1x 6 15
x 1 2 x 2 0 x 3 1x 4 0 x 5 0 x 6 4
4 x 1 3x 2 0 x 3 0 x 4 1x 5 0 x 6 12
xj x j 0 j 1, 2, ..., 6
0 0 0 0 0 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A6 3 5 –1 0 0 1 15 3
0 A4 1 –2 0 1 0 0 4
0 A5 –4 3 0 0 1 0 12 4
zj 3 5 –1 0 0 1
f = 15
cj – zj –3 –5 1 0 0 0
Fase II
40 80 0 0 0 xi/yij
ci Ai A1 A2 A3 A4 A5 xi (yij>0)
80 A2 3/5 1 –1/5 0 0 3
0 A4 11/5 0 –2/5 1 0 10
0 A5 –29/5 0 3/5 0 1 3 5
zj 48 80 –16 0 0
z = 240
cj – zj –8 0 16 0 0
40 80 0 0 0 xi/yij
ci Ai A1 A2 A3 A4 A5 xi (yij>0)
80 A2 –4/3 1 0 0 1/3 4
0 A4 –5/3 0 0 1 2/3 12
0 A3 –29/3 0 1 0 5/3 5
zj –320/3 80 0 0 80/3
z = 320
cj – zj 440/3 0 0 0 –80/3
66 Norma Torrent
El Método Simplex
Ejemplo 3-7 Problema con solución básica factible degenerada y óptimo no degenerado
Sea el siguiente programa lineal y su correspondiente solución gráfica.
Max z 2 x1 x 2
s. a
4 x1 3x 2 12
z=2
4 x1 x2 8
x
1+
x 2=
x1 2
z0
x1 ; x 2 0
T
La solución óptima es x* 1,5; 2; 0; 0; 0,5 ; z * 5. Como mencionáramos en el
desarrollo teórico, en las distintas aplicaciones que se presentan puede ocurrir que al cabo de
algunas iteraciones la solución degenerada resulte la óptima o bien, como acabamos de ver, se
salga de la degeneración y la solución óptima sea no degener ada.
Por último cabe acotar que cuando más restricciones que las necesarias determinan un punto
extremo, el mismo es degenerado. En efecto, en la solución gráfica de este ejemplo podemos
observar que las restricciones x2 ≥ 0, 4x1 + x2 8 y x2 2 pasan por el punto (2; 0) que queda
determinado con sólo dos de ellas.
0 0 0 1 1 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A4 4 –4 0 1 –2 0 2 1/2
0 A3 –1 2 1 0 1 0 2
1 A6 2 –2 0 0 –2 1 1 1/2
zj 6 –6 0 1 –4 1
f=3
cj – zj –6 6 0 0 5 0
0 0 0 1 1 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A4 0 0 0 1 2 –2 0 0
0 A3 0 1 1 0 0 1/2 5/2
0 A1 1 –1 0 0 –1 1/2 1/2
zj 0 0 0 1 2 –2
f=0
cj – zj 0 0 0 0 –1 3
68 Norma Torrent
El Método Simplex
n c2=1
2x1 x 2 4
x 1+
c1=2
x 2=
3x1 x 2 6 2
z0
x2 2 ÓPTIMO
x1 ; x 2 0
0 2 3 x1
Fase I
Min f x 4 x 5 x 6
s. a
x 1 2x 2 0 x 3 1x 4 0 x 5 0 x 6 2
2 x 1 x 2 0 x 3 0 x 4 1x 5 0 x 6 4
3x 1 x 2 0 x 3 0 x 4 0 x 5 1x 6 6
x 2 1x 3 0 x 4 0 x 5 0 x 6 2
x j 0 j 1, 2, ..., 6
69
Capítulo 3
0 0 0 1 1 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A4 1 2 0 1 0 0 2 2
1 A5 2 –1 0 0 1 0 4 2
1 A6 3 1 0 0 0 1 6 2
0 A3 0 1 1 0 0 0 2
zj 6 2 0 1 1 1
f = 12
cj – zj –6 –2 0 0 0 0
0 0 0 1 1 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A4 0 5/3 0 1 0 –1/3 0
1 A5 0 –5/3 0 0 1 –2/3 0
0 A1 1 1/3 0 0 0 1/3 2
0 A3 0 1 1 0 0 0 2
zj 0 0 0 1 1 –1
f=0
cj – zj 0 0 0 0 0 2
Hemos llegado al óptimo de la Fase I y las variables ficticias x4 y x5 integran la base con
valor nulo. Podemos reemplazar A4 por A2 (A2 es no básico y no ficticio) utilizando como pivote
y42 = 5/3 (también hubiésemos podido reemplazar A5 por A2 utilizando como pivote y42 = –5/3).
0 0 0 1 1 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
0 A2 0 1 0 3/5 0 –1/5 0
1 A5 0 0 0 1 1 –1 0
0 A1 1 0 0 –1/5 0 3/5 2
0 A3 0 0 1 –3/5 0 1/5 2
zj 0 0 0 1 1 –1
f=0
cj – zj 0 0 0 0 0 2
La variable ficticia x5 es básica a nivel cero. Dado que ya no es posible efectuar un cambio
de base, x5 seguirá siendo nula por lo que su respectiva restricción asociada es analíticamente
redundante (la segunda restricción del modelo se obtiene como diferencia entre las restricciones
tercera y primera). Eliminamos la fila y la columna correspondiente a x5.
Fase II
2 1 0 xi/yij
ci Ai A1 A2 A3 xi (yij>0)
1 A2 0 1 0 0
2 A1 1 0 0 2
0 A3 0 0 1 2
zj 2 1 0
z=4
cj – zj 0 0 0
T
La solución óptima es x* 2; 0; 2 ; z * 4.
Ejemplo 3-10 Problema no factible
Resolveremos el Ejemplo 1-17.
Max w 105x 1 78x 2 0 x 3 0 x 4 0 x 5
s. a
x 1 x 2 1x 3 0 x 4 0 x 5 50
x 1 2 x 2 0 x 3 1x 4 0 x 5 40
3x 1 2 x 2 0 x 3 0 x 4 1x 5 60
x j 0 j 1, 2, ..., 5
70 Norma Torrent
El Método Simplex
Fase I
Min f x 6
s. a
x 1 x 2 1x 3 0 x 4 0 x 5 1x 6 50
x 1 2 x 2 0 x 3 1x 4 0 x 5 0 x 6 40
3x 1 2 x 2 0 x 3 0 x 4 1x 5 0 x 6 60
x j 0 j 1, 2, ..., 6
0 0 0 0 0 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A6 1 1 –1 0 0 1 50 50
0 A4 1 2 0 1 0 0 40 40
0 A5 3 2 0 0 1 0 60 20
zj 1 1 –1 0 0 1
f = 50
cj – zj –1 –1 1 0 0 0
Dado que c1 – z1 = c2 – z2 = –1, en base a lo convenido optamos por introducir el vector A2.
0 0 0 0 0 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A6 0 1/3 –1 0 –1/3 1 30 90
0 A4 0 4/3 0 1 –1/3 0 20 15
0 A1 1 2/3 0 0 1/3 0 20 30
zj 0 1/3 –1 0 –1/3 1
f = 30
cj – zj 0 –1/3 1 0 1/3 0
0 0 0 0 0 1 xi/yij
ci Ai A1 A2 A3 A4 A5 A6 xi (yij>0)
1 A6 0 0 –1 –1/4 –1/4 1 25
0 A2 0 1 0 3/4 –1/4 0 15
0 A1 1 0 0 –1/2 1/2 0 10
zj 0 0 –1 –1/4 –1/4 1
f = 25
cj – zj 0 0 1 1/4 1/4 0
Se ha llegado al óptimo de la Fase I y x6 integra la base con valor mayor que cero, en
consecuencia el problema original es no factible. 17
71
Capítulo 3
Para problemas que puedan resolverse en una computadora personal o un ordenador portátil
mediante software de aplicación, el Simplex sigue siendo la mejor opción. A modo de ejemplo,
LINDO (Linear, INteractive and Discrete Optimizer) desarrollado por LINDO Systems, Inc.
permite manjar problemas de hasta 64.000 restricciones y 100.000 variables.
72 Norma Torrent