Está en la página 1de 20

El método Simplex.

Algoritmo de las dos fases 1

3.1. Motivación gráfica del método Simplex


El método gráfico de resolución nos garantiza que si la región de so-
luciones posibles es acotada, como ocurre en los ejemplos 2.4.1 y 2.4.2
existe al menos un vértice del conjunto de soluciones posibles que es solución
óptima. Cuando la región de soluciones posibles es no acotada pueden
ocurrir dos cosas,

que el problema sea no acotado, como en el ejemplo 2.4.3,

o que sea acotado.

Si el problema es acotado significa, como ya dijimos en el primer tema,


que existe al menos una solución óptima en el que la función objetivo alcanza
el mejor valor posible, siendo este valor finito.
En este caso nos podemos encontrar ante una cualquiera de las tres si-
tuaciones siguientes:

que exista una única solución óptima, que será necesariamente un


vértice del poliedro de soluciones (2.4.1)

que existan infinitas soluciones óptimas, debido a que la función


objetivo es paralela a una de las restricciones, que puede ser,

• un segmento, en cuyo caso existirán al menos dos vértices adya-


centes que son soluciones óptimas.
• o una semirrecta, en cuyo caso existirá al menos un vértice que
es solución óptima.

Lo que acabamos de decir no es únicamente válido para el problema de


programación lineal con dos variables sino que es generalizable a cualquier
problema de Programación Lineal. En resumen, podemos decir que las pro-
piedades claves que dan fundamento al método Simplex son:

1. Si el problema de programación lineal tiene una única solución óptima,


será necesariamente un vértice del conjunto de soluciones posibles.

2. Si el problema tiene más de una solución óptima y el conjunto de solu-


ciones posibles es acotado, al menos dos de ellas son vértices adyacentes
El método Simplex. Algoritmo de las dos fases

del conjunto de soluciones posibles. Si la región es no acotada, solo po-


demos garantizar que al menos una de las soluciones óptimas es un
vértice.

3. Existe un número finito de vértices en el conjunto de soluciones posibles


del problema.

4. Si un vértice proporciona un valor objetivo mejor o igual que el resto


de vértices adyacentes entonces proporciona un valor objetivo mejor
o igual que cualquier otra solución posible del problema, luego es una
solución óptima para el problema.

Las dos primeras propiedades garantizan que a la hora de resolver un


PL no necesitamos evaluar la función objetivo en todas y cada una de las
soluciones posibles del problema, sino que basta con limitarnos a los vértices.
La tercera propiedad garantiza que tenemos un número finito de vértices, y
por último, la cuarta propiedad nos proporciona el criterio de optimalidad
que nos permitirá detectar si un vértice es o no solución óptima.
El algoritmo Simplex es un proceso iterativo en el que en cada iteración
se evalúa la función objetivo en un vértice del conjunto de soluciones posibles
y se comprueba utilizando un criterio de optimalidad si ese vértice es o no
solución óptima. Si lo es, el método se detiene y en otro caso se itera para
alcanzar otro vértice adyacente. Para garantizar una exploración eficiente del
conjunto de soluciones posibles el algoritmo se mueve de un vértice a otro
que proporciona un valor de la función objetivo al menos tan bueno como el
que ya tenı́a.
Lo que acabamos de decir nos permite aplicar gráficamente el método
Simplex, bastará con elegir un vértice arbitrario del conjunto de soluciones
posibles e ir desplazándonos a un vértice adyacente que mejore el valor de
la función objetivo hasta que encontremos el valor óptimo o detectemos que
no hay ningún vértice adyacente pero sı́ una dirección en la que desplazarnos
tanto como queramos mejorando la función objetivo (2.4.3).
En esta última situación concluirı́amos que el problema es no acotado.
Veremos que el método simplex también proporciona un test para detectar
la no acotación.
El método Simplex. Algoritmo de las dos fases 3

Ejemplo
Considérese el conjunto de soluciones posibles del ejemplo que hemos venido
siguiendo en el tema anterior:

Recordemos que el PPL asociado era:

Max E + 2D
s.a.: E + D ≤ 10
−E + D ≤ 1
D ≤ 4
E, D ≥ 0
à !
0
Supongamos que iniciamos el algoritmo en el vértice , cuyo valor
0
objetivo es z = 0. Nos podemos desplazar a uno cualquiera de los vértices
adyacentes:
à !
0
−→ z = 2,
1
à !
10
−→ z = 10,
0

à !
10
Evidentemente nos interesa desplazarnos al ya que, de los dos posi-
0
bles, es el que proporciona
à ! el mejor valor de la función objetivo.
10
A partir del podrı́amos desplazarnos al:
0
El método Simplex. Algoritmo de las dos fases
à !
0
−→ z = 0, que evidentemente no nos interesa ya que empeo-
0
rarı́amos la situación actual, o al
à !
6
−→ z = 14.
4
Dado que 14 es mejor que 2, el algoritmo se desplazarı́a hasta este
vértice en la siguiente iteración.
à !
6
De nuevo, desde el , podemos ir al:
4
à !
3
−→ z = 11, o al
4
à !
10
−→ z = 10.
0
Como cualquiera de las dos alternativas proporciona un valor de la función
objetivo peor que el actual el algoritmo se detendrı́a. STOP, concluyendo que
tenemos una única solución óptima
à !
6
cuyo valor óptimo es z ∗ = 14
4
En el ejemplo se observa que los vértices del conjunto de soluciones po-
sibles son precisamente los puntos que se obtienen como intersección de dos
de las rectas asociadas a las restricciones del problema.
Sin embargo, no son intersección de dos rectas cualesquiera ya que el
punto (E, D) = ( 92 , 11
2
), no es una solución posible del problema ya que
incumple la restricción D ≤ 4. Formalmente se dice que el punto viola una
restricción.
Tampoco son soluciones los puntos
à ! à !
0 0
, ni
4 10
Necesitamos un procedimiento que nos permita obtener algebraicamen-
te los vértices del conjunto de soluciones posibles del problema. Además,
El método Simplex. Algoritmo de las dos fases 5

nos interesa que sea un proceso generalizable a problemas con más de dos
variables.

Si recuperamos la forma estándar del problema de Carlos, tenemos un


sistema con 3 ecuaciones y 5 incógnitas.

E + D + H1 = 10
−E + D + H2 = 1
D + H3 = 4

Observar que cada vez que igualamos a cero dos cualesquiera de las va-
riables nos quedamos con un sistema de tres ecuaciones con tres incógnitas
que sı́ sabemos resolver. Por ejemplo, si hacemos H1 = H2 = 0, nos queda:

E + D = 10
−E + D = 1
D + H3 = 4

cuya solución es:

E = 9/2, D = 11/2, H3 = −3/2

que no puede ser solución del problema de programación lineal porque in-
cumple una restricción de no negatividad. Observar que el punto asociado
queda fuera del conjunto de soluciones posibles.

Análogamente y considerando todas las combinaciones posibles se obtie-


nen todos los puntos de intersección de todas las parejas de restricciones.
Estos puntos incluyen tanto las soluciones posibles del problema como las
que no lo son (variables con valor negativo).
El método Simplex. Algoritmo de las dos fases

( E, D, H1 , H2 , H3 )
0 0 10 1 4 (0,0) Solución posible

0 10 0 -9 -6 (0,10) no es solución posible

0 1 9 0 3 (0,1) Solución posible

0 4 6 -3 0 (0,4) no es solución posible

10 0 0 11 4 (10,0) Solución posible

? 0 ? ? 0 Sistema Incompatible

-1 0 11 0 4 (-1,0) no es solución posible

9/2 11/2 0 0 -3/2 (9/2,11/2) no es solución posible

6 4 0 3 0 (6,4) Solución posible

3 4 3 0 0 (3,4) Solución posible

La infactibilidad de estos puntos se refleja en que están asociados a solu-


ciones del sistema de ecuaciones en forma estándar en las que alguna variable
es negativa.
Obsérvese además que las variables de holgura miden la distancia de un
punto a la restricción asociada a dicha variable de holgura. Si la restricción
es de ≤ una variable de holgura negativa significa que el punto en cuestión
viola la restricción.
En el ejemplo hemos visto cómo podemos obtener los vértices del conjunto
de soluciones de un PPL. Para un problema cuya forma estándar incluya
un sistema de m ecuaciones linealmente independientes y n incógnitas, los
vértices del poliedro se obtienen resolviendo los sistemas de m ecuaciones con
m incógnitas que resultan al igualar a cero subconjuntos de n − m variables,
solo serán soluciones posibles (vértices) aquéllos puntos cuyas variables,
El método Simplex. Algoritmo de las dos fases 7

tanto de holgura como originales sean no negativas.

3.2. El método Simplex


El método simplex fue desarrollado en 1947 por George Dantzig para
resolver problemas de Programación Lineal. La primera aplicación impor-
tante se llevó a cabo poco después de su aparición cuando J. Laderman
resolvió un problema de elaboración de una dieta en la que habı́a 9 restric-
ciones de igualdad y 27 variables no negativas. Resolver el problema
requirió el trabajo equivalente a 120 dı́as-hombre. En la actualidad, gracias
al impresionante desarrollo de la informática, resulta fácil resolver problemas
que llegan a involucrar miles de variables y/o restricciones.
La potencia y calidad del algoritmo es tal que pese a que se han realizado
verdaderos esfuerzos a nivel de investigación para intentar encontrar algo-
ritmos alternativos mejores, no se ha encontrado hoy por hoy ninguno que
supere el algoritmo Simplex.
En el apartado anterior hemos visto cómo se pueden obtener los
vértices del poliedro de soluciones de un PPL a partir del sistema
de ecuaciones del PL expresado en forma estándar. Las soluciones de este
sistema después de fijar a cero ciertas variables pueden ser soluciones posibles
o no. Esto da pie a introducir las siguientes definiciones:

Dado un PPL expresado en forma estándar con m ecuaciones y n


incógnitas, m ≤ n, podemos dividir las variables en dos grupos:

1. n − m variables a las cuáles les damos el valor 0, y que


denominaremos variables no básicas.
2. m variables cuyo valor se determinará resolviendo el sistema
de m ecuaciones y m incógnitas resultante de igualar a cero
el resto de variables. Si dicho sistema es compatible deter-
minado, es decir, si tiene una única solución, diremos que
las m variables son variables básicas.

La solución del sistema se dice que es una solución básica y si


además cumple que todas las variables toman valores mayores o
El método Simplex. Algoritmo de las dos fases

iguales que cero diremos que se trata de una solución posible


básica, en adelante SPB.

Las soluciones posibles básicas cumplen todas las restricciones del proble-
ma y proporcionan, después de eliminar las variables de holgura, los vértices
del poliedro de soluciones del problema.
En principio, diferentes soluciones posibles básicas podrı́an conducirnos
al mismo vértice.
Una vez sabemos calcular los vértices del poliedro necesitamos caracteri-
zar cuáles son adyacentes y cómo podemos desplazarnos entre ellos.

Dos soluciones posibles básicas son adyacentes si todas menos una


de sus variables básicas coinciden.

Este resultado nos permite trasladarnos de una SPB a otra SPB adyacente
cambiando simplemente el estado de una variable de no básica a básica y
viceversa. Lo que necesitamos es saber identificar de una manera sencilla
si estamos o no en una solución óptima del problema, y si no lo estamos,
determinar qué variable no básica interesa hacer básica para alcanzar una
nueva SPB mejor que la actual.
Veremos cómo hacerlo siguiendo con el ejemplo de Carlos.

Ejemplo, continuación . . .

Max E + 2D
s.a.: E + D ≤ 10
−E + D ≤ 1
D ≤ 4
E, D ≥ 0

Consideremos el PPL expresado en forma estándar en el que, para man-


tener actualizado el valor de la función objetivo, ésta ha sido incorporada
como una restricción más del problema.
El método Simplex. Algoritmo de las dos fases 9

- Min z
s.a.: z + E + 2D = 0
E + D + H1 = 10
− E + D + H2 = 1
D + H3 = 4
E, D, H1 , H2 , H3 ≥ 0

Identificación de una Solución Posible Básica Inicial

En este problema tenemos la suerte de que los términos de la derecha


son todos no negativos,
 
10
 
RHS =  1  ≥ 0
4

y además hemos añadido una variable de holgura en cada una de las res-
tricciones originales. Esta situación nos permite identificar rápidamente una
solución posible básica inicial (un vértice), basta con igualar a cero las va-
riables originales, E y D, que se convertirán en variables no básicas. De este
modo el valor de las variables básicas se obtiene directamente del sistema:

z + E + 2D = 0
E + D + H1 = 10
− E + D + H2 = 1
D + H3 = 4

La SPB inicial es:


   
E 0
   
 D   0 
   
 H1  =  10  con z = 0
   
   
 H2   1 
H3 4
El método Simplex. Algoritmo de las dos fases

Iteración 1: ¿Es óptima la Solución Posible Básica Actual?

Como dijimos en el apartado anterior, lo será si ninguno de los vértices


adyacentes proporciona un valor mejor de la función objetivo. Para determi-
nar los vértices adyacentes necesitamos cambiar de estado, y por separado,
cada una de las variables no básicas, y tratar de hacerlas básicas, siempre
que sea posible.
Notar que:
z = 0 − E − 2D,
luego si conseguimos una SPB en la que E o D sean positivas conseguiremos
mejorar el valor de la función objetivo. Notar que estamos minimizando, por
lo que mejorar significa disminuir el valor de z.

¿Qué variable de las actualmente no básicas interesa que se


haga básica?

En principio D, ya que por cada unidad que consigamos incrementarla, el


valor de la función objetivo disminuirá en 2. Mientras que por cada unidad en
que aumentemos E solamente conseguiremos una disminución de una unidad
en el valor actual de z.
Naturalmente, si conseguimos incrementar el valor de D, ésta se conver-
tirá en una variable básica. Como E seguirá siendo no básica ( = 0) el resto
de variables deberán cambiar su valor y al menos una de ellas deberá hacerse
cero, es decir pasará a ser no básica.

¿Qué variable de las actualmente básicas debe hacerse no


básica?

Para averiguarlo necesitamos resolver el sistema resultante de igualar a cero


la variable E, con la condición adicional de que las variables deben ser no
negativas, es decir:

z + 0 + 2D = 0 → z = 0 − 2D
0 + 1D + H1 = 10 → H1 = 10 − D ≥ 0
− 0 + 1D + H2 = 1 → H2 = 1 − D ≥ 0
1D + H3 = 4 → H3 = 4 − D ≥ 0

Evidentemente lo máximo que puede valer D es el mı́n{10, 1, 4} = 1.


El método Simplex. Algoritmo de las dos fases 11

En general, para determinar el valor que debe tomar la nueva variable


básica bastará con identificar en el sistema actual los coeficientes de dicha
variable y el vector de términos independientes del mismo, a los que llama-
remos y y b̄, respectivamente:
   
1 10
   
y =  1  y b̄ =  1 
1 4
y calcular:
b̄i 10 1 4
mı́n{ : yi > 0} = mı́n{ , , } = 1
yi 1 1 1
Esta forma de determinar el valor de la nueva variable básica se denomina
Criterio de la Razón Mı́nima.
Si aumentamos el valor de D hasta 1, necesariamente, H1 = 9, H2 = 0
y H3 = 3, por lo tanto la nueva variable no básica es H2 . La SPB a la que
llegamos es:    
E 0
   
 D   1 
   
 H1  =  9  con z = −2
   
   
 H2   0 
H3 3
que como podemos comprobar ya no se puede identificar directamente so-
bre el sistema inicial, para hacerlo necesitamos transformarlo en un sistema
equivalente en el que los coeficientes de las variables no básicas proporcionen
las columnas de la matriz identidad 3 × 3. Para conseguir dicha transfor-
mación aplicaremos el método de eliminación de Gauss que como sabemos
consiste en transformar un sistema en otro equivalente realizando únicamente
operaciones básicas por filas, es decir:
Multiplicando o dividiendo una ecuación por un escalar no nulo.

Sumando o restando a un ecuación un múltiplo de otra.


En nuestro caso debemos  conseguir
 que el vector de coeficientes de la
0
 
nueva variable básica D sea el  1  ya que debemos reemplazar la variable
0
básica H1 que estaba en la segunda restricción por D.
El método Simplex. Algoritmo de las dos fases

Si llamamos columna pivote a la asociada a la nueva variable básica y fila


pivote a la asociada a la variable no básica, las operaciones elementales que
nos permitirán transformar adecuadamente el sistema debemos realizarlas
sobre el elemento en el que se cruzan la fila y la columna pivote, al que
llamaremos elemento pivote

Fila 0 → z + E + 2D = 0
Fila 1→ E + D + H1 = 10
Fila 2→ − E + D + H2 = 1
Fila 3→ D + H3 = 4

Si realizamos las siguientes operaciones:

Nueva Fila 0 = Fila 0 − 2Fila 2


Nueva Fila 1 = Fila 1 − Fila 2
Nueva Fila 2 = Fila 2
Nueva Fila 3 = Fila 3 − Fila 2

El sistema resultante es:

z + 3E − 2H2 = −2
2E + H1 − H2 = 9
− E + D + H2 = 1
E − H2 + H3 = 3

En el que teniendo en cuenta que las variables no básicas son ahora E y H2 y


que por tanto valen cero, resulta sencillo identificar la nueva solución posible
básica:    
E 0
   
 D   1 
   
 H1  =  9  con z = −2
   
   
 H2   0 
H3 3

Iteración 2: ¿Es óptima la Solución Posible Básica Actual?

No, ya que como z = −2−3E + 2H2 si conseguimos una nueva SPB en la


que E > 0 podremos mejorar el valor actual de la función objetivo que es -2.
El método Simplex. Algoritmo de las dos fases 13

¿Qué variable de las actualmente no básicas interesa que se


haga básica?

Por lo que acabamos de decir, la nueva variable básica será E.

¿Qué variable de las actualmente básicas debe hacerse no


básica?

Identificando el vector de coeficientes de la variable E y el vector de términos


independientes,

z + 3E − 2H2 = −2
2E + H1 − H2 = 9
− E + D + H2 = 1
E − H2 + H3 = 3
podemos aplicar el Criterio de la Razón Mı́nima para calcular el valor que
tomará E y también la variable que dejará de ser básica.
   
2 9
   
y =  −1  y b̄ =  1 
1 3

b̄i 9 3
E = mı́n{ : yi > 0} = mı́n{ , } = 3
yi 2 1
Como el mı́nimo se alcanza en el cociente asociado a la última restricción, la
única variable que se hará cero al aumentar el valor de E desde 0 hasta 3 es
la variable H3 , ésta será por tanto la nueva variable no básica.
Pivotando sobre el cruce entre la fila pivote (Fila 3) y la columna pivote
(columna de coeficientes de la variable E),

Fila 0 → z + 3E − 2H2 = −2
Fila 1→ 2E + H1 − H2 = 9
Fila 2→ − E + D + H2 = 1
Fila 3→ E − H2 + H3 = 3

Nueva Fila 0 = Fila 0 − 3Fila 3


Nueva Fila 1 = Fila 1 − 2Fila 3
Nueva Fila 2 = Fila 2 + Fila 3
Nueva Fila 3 = Fila 3
El método Simplex. Algoritmo de las dos fases

obtenemos el siguiente sistema equivalente al inicial:

z + H2 − 3H3 = −11
H1 + H2 − 2H3 = 3
D + H3 = 4
E − H2 + H3 = 3

el cuál nos proporciona directamente la nueva SPB:


   
E 3
   
 D   4 
   
 H1  =  3  con z = −11
   
   
H
 2   0 
H3 0

Iteración 3: ¿ Es óptima la Solución Posible Básica Actual?

No, ya que como z = −11−H2 + 3H3 si conseguimos una nueva SPB en la


que H2 > 0 podremos mejorar el valor actual de la función objetivo que es
-11.

¿Qué variable de las actualmente no básicas interesa que se


haga básica?

Por lo que acabamos de decir, la nueva variable básica será H2 .

¿Qué variable de las actualmente básicas debe hacerse no


básica?

Identificando el vector de coeficientes de la variable H2 y el vector de términos


independientes,

z + H2 = −11
H1 + H2 + H3 = 3
D + H3 = 4
E − H2 + H3 = 3
   
1 3
   
y= 0  y b̄ =  4 
−1 3
El método Simplex. Algoritmo de las dos fases 15

podemos aplicar el Criterio de la Razón Mı́nima para calcular el valor que


tomará H2 y cuál será la variable que dejará de ser básica.
3
H2 = mı́n{ } = 3
1
Por lo que la variable H1 debe hacerse cero y convertirse en no básica.
Pivotando de nuevo sobre el cruce de la columna pivote H2 y la fila pivote
(la asociada a H1 ):

Fila 0→ z + H2 − 3H3 = −11


Fila 1→ H1 + H2 − 2H3 = 3
Fila 2→ D + H3 = 4
Fila 3→ E − H2 + H3 = 3

Nueva Fila 0 = Fila 0 − Fila 1


Nueva Fila 1 = Fila 1
Nueva Fila 2 = Fila 2
Nueva Fila 3 = Fila 3 + Fila 1
obtenemos el sistema equivalente:

z − H1 − H3 = −14
H1 + H2 − 2H3 = 3
D + H3 = 4
E + H1 − H3 = 6

que nos proporciona directamente la nueva SPB:


   
E 6
   
 D   4 
   
 H1  =  0  con z = −14
   
   
H
 2   3 
H3 0

Iteración 4: ¿ Es óptima la Solución Posible Básica Actual?

En efecto, ya que z = −14+H1 + H3 , por lo que incrementar el valor de


cualquiera de las dos variables no básicas solo nos puede conducir a una
solución peor que la que tenemos.
El método Simplex. Algoritmo de las dos fases

Por lo tanto el vértice que proporciona la solución óptima del problema


es: Ã ! Ã !
E 6
= y el valor óptimo z ∗ = −14
D 4
Resumiendo, la trayectoria seguida ha sido:
         
E 0 0 3 6
         
 D   0   1   4   4 
         
 H1  =  10  →  9  →  3  →  0 
         
         
 H2   1   0   0   3 
H3 4 3 0 0

Notar que los coeficientes en el sistema de las variables que se van haciendo
básicas en cada iteración proporcionan las direcciones en las que hay que
moverse para ir de una solución posible básica a otra (de un vértice a otro):
       
E 0 0 0
       
 D   0   1   1 
       
 H1 = 10  + (1)  −1 = 9 ; (D = 1)
       
       
 H2   1   1   0 
H3 4 −1 3

     
0 1 3
     
 1   1   4 
     
 9  + (3)  −2 = 3 ; (E = 3)
     
     
 0   0   0 
3 −1 0

     
3 1 6
     
 4   0   4 
     
 3  + (3)  −1 = 0 ; (H2 = 3)
     
     
 0   1   3 
0 0 0
Además recordemos que el problema original era de maximizar, por lo
tanto el valor óptimo será en realidad de 14 unidades.
El método Simplex. Algoritmo de las dos fases 17

3.3. EL Método Simplex en Formato Tabla


Ejemplo, continuación . . . Consideremos el problema en forma estándar:
- Min z = − E − 2D
s.a.: E + D + H1 = 10
− E + D + H2 = 1
D + H3 = 4
E, D, H1 , H2 , H3 ≥ 0
Si comenzamos con la SPB inicial:
   
E 0
   
 D   0 
   
 H1  =  10 
   
   
H
 2   1 
H3 4
tendremos:
     
H1 0 1 0 0
     
xB =  H 2  → c B =  0  → B =  0 1 0 
H3 0 0 0 1
 
à ! à ! 1 1
E −1  
xN = → cN = → N =  −1 1 
D −2
0 1
De donde deducimos el resto de información necesaria para completar la
tabla:

Coste reducido de E:
  
1 0 0 1
  
zE − cE = ctB B −1 aE − cE = (0, 0, 0)  0 1 0   −1  − (−1) = 1
0 0 1 0

Coste reducido de D:
  
1 0 0 1
t −1   
zD − cD = cB B aD − cD = (0, 0, 0)  0 1 0   1  − (−2) = 2
0 0 1 1
El método Simplex. Algoritmo de las dos fases

Valor del RHS:

    
1 0 0 10 10
    
b̄ = B −1 b =  0 1 0   1  =  1 
0 0 1 4 4

Valor de la función objetivo en la SPB actual:


 
10
 
cB B −1 b = (0, 0, 0)  1  = 0
4

Luego la tabla inicial del Simplex es:

E D H1 H2 H3 rhs
z 1 2 0 0 0 0
H1 1 1 1 0 0 10
H2 -1 1 0 1 0 1
H3 0 1 0 0 1 4

Observar que está asociada a una SPB que no es óptima ya que hay costes
reducidos de variables no básicas estrictamente positivos.
Primera Iteración
¿Qué variable no básica se hace básica? D, ya que su coste reducido es el
máximo de los costes reducidos.
¿Qué variable deja de ser básica?, H2 , pues aplicando el criterio de la
razón mı́nima tenemos:
10 1 4
mı́n{ , , } = 1
1 1 1
Pivotamos sobre el elemento intersección de la fila y la columna pivote y
llegamos a:

E D H1 H2 H3 rhs
z 3 0 0 -2 0 -2
H1 2 0 1 -1 0 9
D -1 1 0 1 0 1
H3 1 0 0 -1 1 3
El método Simplex. Algoritmo de las dos fases 19
 
0
 
 1 
 
que como vemos está asociada a la SPB, 
 9 , que tampoco es óptima ya
 
 0 
3
que la variable no básica E tiene un coste reducido positivo.
Segunda Iteración
¿Qué variable no básica se hace básica? E, ya que es la única con un coste
reducido estrictamente positivo.
¿Qué variable deja de ser básica?, aplicando de nuevo el criterio de la
razón mı́nima, será H3 . Pivotando,

E D H1 H2 H3 rhs
z 3 0 0 -2 0 -2
H1 2 0 1 -1 0 9
D -1 1 0 1 0 1
H3 1 0 0 -1 1 3

E D H1 H2 H3 rhs
z 0 0 0 1 -3 -11
H1 0 0 1 1 -2 3
D 0 1 0 0 1 4
E 1 0 0 -1 1 3

Seguimos sin alcanzar la solución óptima.


Tercera Iteración
En este caso es H2 la variable no básica que interesa hacer básica, pues
su coste reducido es igual a 1 > 0. Además la variable que deja de ser básica
también está unı́vocamente determinada, H1 .
Finalmente, después de pivotar, alcanzamos la tabla óptima:

E D H1 H2 H3 rhs
z 0 0 -1 0 -1 -14
H2 0 0 1 1 -2 3
D 0 1 0 0 1 4
E 1 0 1 0 -1 6
El método Simplex. Algoritmo de las dos fases

ya que cumple el criterio de optimalidad pues los costes reducidos de todas


las variables no básicas son menores o iguales que cero.
La SPB óptima es:
   
E 6
   
 D   4 
   
 H1  =  0 
   
   
H
 2   3 
H3 0

y el valor óptimo z ∗ = −14, que como partı́amos de un problema de maxi-


mización, equivale a un valor óptimo de 14 unidades.

También podría gustarte