You are on page 1of 39

MÉTODO SIMPLEX

El método Simplex permite resolver cualquier problema de


programación lineal. Todos los software y aplicativos se basan en el
método simplex.
Para la solución de un problema, se debe partir de la forma estándar.
Si aplicamos el método simplex al caso del carpintero que fabrica
mesas y sillas, tomando la versión estándar ya obtenida en el método
Algebraico.

Ejemplo 1: Maximizar Z = 7 X1 + 5 X2 +0 X3 + 0 X4
s. a.
4 X1 + 3 X2 + X3 + 0 X4 = 240
2 X1 + X2 + 0 X3 + X4 = 100
X1, X2, X3, X4 ≥ 0
En base a ello construimos la tabla del simplex con los coeficientes de
la FO (encabezado) y con los coeficientes de las restricciones para la
primera tabla.
MÉTODO SIMPLEX

Tabla 1 (matriz inicial)


Cj 7 5 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

    4 3 1 0 240
    2 1 0 1 100
Zj            
Cj - Zj            

La columna variables, es para las variables básicas que intervienen en cada


solución o tabla, también es llamada mezcla. Las variables básicas de tabla 1
se reconocen por presentar un vector unitario en la columna que les toca en la
tabla inicial. Un vector unitario tiene un elemento que es 1 y todos los demás
son cero. Se tienen dos vectores unitarios: Columna X3 y Columna X4. Quiere
decir que X3 y X4 son variables básicas y deben estar en la columna de
variables (cada una de ellas en la fila donde está el 1 de su vector unitario).
Toda variable básica en cualquier tabla estará siempre acompañada de su
(Cj) o coeficiente de la FO. Esto se ha completado a la tabla 1 siguiente.
MÉTODO SIMPLEX

Completando la tabla 1
Cj 7 5 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

 0  X3 4 3 1 0 240
 0  X4 2 1 0 1 100
Zj  Z1 Z2  Z3  Z4  ZT   
(Cj – Zj)            
Ahora hay que evaluar la tabla 1, para ello se calcula Zj (utilidad
bruta), y (Cj – Zj) que corresponde a la utilidad neta.
Para calcular Zj para cada columna se multiplican los Cj de las
variables básicas por los coeficientes de la columna en la tabla 1. Los
valores que se calculan seguidamente, deben ocupar el lugar indicado
con letras de color rojo.
Z1 = 0(4)+0(2)=0 Z2 = 0(3)+0(1)=0 Z3 = 0(1)+0(0)=0
Z4 = 0(0)+0(1)=0 ZT =
0(240)+0(100)=0
MÉTODO SIMPLEX

Completando la tabla 1
Cj 7 5 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

 0  X3 4 3 1 0 240
 0  X4 2 1 0 1 100
Zj  0 0  0  0  0   
(Cj – Zj)  7 5   0 0      Mayor (+)
Para calcular (Cj-Zj) se resta el coeficiente de la FO (parte superior
de la tabla) menos el correspondientes Zj. De la siguiente forma:
7 – 0 = 7; 5 – 0 = 5; 0 – 0 = 0; 0–0=0
Para determinar el pivote, seleccionar el mayor positivo (Cj –Zj),
para nuestro caso es el 7. Quiere decir que el pivote estará en la
columna de X1 (solo pueden ser el 4 o el 2).
Para calcular la relación, dividimos cada valor de la columna
“cantidad” entre cada coeficiente de la columna de X1.
MÉTODO SIMPLEX

R1= 240/4 = 60; R2= 100/2 = 50 (se selecciona la menor relación


positiva)
Cj 7 5 0 0    
Recordar que el Cj VAR X1 X2 X3 X4 CANT RELACIÓN
representa cada
 0  X3 4 3 1 0 240 60
coeficiente de la  0  X4 (2) 1 0 1 100 50
FO y siempre va Zj  0 0  0  0  0    Menor
unido a su variable (Cj – Zj)  7 5   0 0      Mayor(+)
El pivote de la tabla 1 estará en la columna de X1 y en la fila de la
menor relación (50). O sea que el pivote de la primera tabla es el 2.
Cada tabla del simplex representa una solución factible, cuando se
maximiza la FO va creciendo en cada nueva tabla. Esta solución 1
del simplex coincide con la solución 1 del método algebraico y con el
punto (0,0) del método gráfico.  
X3 = 240; X4 = 100; Z= 0 X1 = 0; X2=0 (se leen las variables
Básicas y las cantidades). Las variables no Básicas (las que no están
en la solución)son igual cero, o sea X1 = 0; X2=0
MÉTODO SIMPLEX

Cualquier tabla (excepto la 1ª) se construye en base a la anterior.


Primero se debe reemplazar una variable básica (la variable de la
columna del pivote reemplaza a la variable de la fila), todas las
demás variables básicas continúan.
Para la tabla 2, la variable X1 reemplaza a X4 en la misma fila 2, X3
continúa en la fila 1 (con sus respectivos coeficientes o Cj).
Luego se calcula la 2ª fila (porque el pivote está en la 2ª fila),
dividiendo toda la segunda fila de la tabla 1 entre pivote (2), el
resultado se anota en la segunda fila de la tabla 2.
2/2 =1; ½ = ½; 0/2 = 0; ½ = ½; 100/2 = 50
Cj 7 5 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

 0  X3
 7  X1 1 1/2 0 1/2 50
Zj  Menor
(Cj – Zj)   Mayor
MÉTODO SIMPLEX

La columna del pivote en la nueva tabla, que en cualquier simplex ya


tiene el 1 generado en el paso anterior, se completa con ceros para
formar un vector unitario, entonces el elemento que falta en la
columna X1 debe ser cero, en este caso es un solo cero (ver el cero
sobre el 1 de la columna X1). Con eso se formó un vector unitario en
la tabla 2.
Cj 7 5 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

 0  X3 0
 7  X1 1 1/2 0 1/2 50
Zj  Menor
(Cj – Zj)   Mayor
MÉTODO SIMPLEX

Los demás elementos de la tabla 2, se calculan en base a los


elementos de la tabla 1, para eso se traza un rectángulo uniendo en
cualquiera de sus dos ángulos al elemento que se desea calcular y al
pivote. Se aplica la ley medios y extremos o diagonales, el resultado
se anota en la misma posición de la tabla 2.

En lugar del 3 de la columna X2 3 - = 1 (es igual al mismo elemento


cuya posición se desea calcular, menos el producto de los elementos de la otra
diagonal, entre el pivote que siempre va de denominador)
En lugar del 1 de la columna X3  1 - = 1
En lugar del 0 de la columna X4  0 - = - 2
En lugar del 240 de cantidad  240 - = 40
Debe tenerse especial cuidado en las operaciones porque muchas veces hay
valores negativos, en los que funciona la ley de los signos de la multiplicación.
MÉTODO SIMPLEX

Ahora completamos la evaluación de la tabla 2, hasta determinar el


nuevo pivote como en la tabla 1.
Tabla 2
Cj 7 5 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

 0  X3 0 (1) 1 -2 40 40
 7  X1 1 1/2 0 1/2 50 100
Zj  7 7/2  0  7/2  350  Menor
(Cj – Zj)  0 3/2   0 -7/2      Mayor (+)
Esta solución es fabricar solo 50 mesas (X1) con la FO=$350, igual a
la solución 6 del Método algebraico y al punto C del método gráfico.
El nuevo pivote es el 1 de la columna de X2; entonces para una
tercera y última tabla X2 entrará en lugar de X3; porque debe ser
variable básica. El proceso se torna repetitivo, es decir a partir de la
tabla2 se calcula la tabla 3.
MÉTODO SIMPLEX

Ahora presentamos el problema terminado


Cj   7 5 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

0 X3 4 3 1 0 240 60
0 X4 (2) 1 0 1 100 50
Zj 0 0 0 0 0 Menor
(Cj – Zj) 7 5 0 0    Mayor (+)
0 X3 0 (1) 1 -2 40 40
7 X1 1 1/2 0 1/2 50 100
Zj 7 7/2 0 7/2 350 Menor
(Cj – Zj) 0 3/2 0 -7/2    Mayor (+)
5 X2 0 1 1 -2 40  
7 X1 1 0 -1/2 3/2 30  
Zj 7 5 3/2 1/2 410  
(Cj –Zj) 0 0 -3/2 -1/2    Todos ≤ 0 

La solución del problema es X1 = 30; X2 = 40; Z= 410; X3 = X4 =0


Solución que coincide con las obtenidas por el método algebraico y
gráfico para este mismo problema.
Condición para Maximizar (Cj –Zj) ≤ 0
MÉTODO SIMPLEX

Importante:
Se dice que detrás del método simplex está el método de inversión de
matrices.
Nunca la cantidad o valor de las variables es negativo, también deben
cumplirse las restricciones de no negatividad.
Nunca el pivote es negativo o indeterminado, como menor Relación
no se debe seleccionar esos valores, excepto el cero (solo si nos
conduce a un pivote positivo).
Las variables de holgura de las restricciones con signo “menor o igual
que”, ayudan a la conformación de vectores unitarios, facilitando la
aplicación del método simplex.
Cuando se tienen restricciones con el signo “igual que” o “mayor o
igual que”, no se tendrá el número suficiente de vectores unitarios,
por lo que se debe resolver con algún artificio creado especialmente
para el Simplex.
MÉTODO SIMPLEX

Cuando hay empate en el mayor (Cj –Zj) o en la menor Relación, se


recomienda seleccionar la primera. El método Simplex es selectivo, si
se debió seleccionar la otra opción, el simplex conduce a la solución
correcta.
Cuando se tenga una restricción como la siguiente: La cantidad de
productos tipo A debe ser como mínimo igual a la cantidad de
producto B.
Se tendría la siguiente expresión X1≥X2
Convertida en restricción X1 – X2 ≥ 0
Para tener un vector unitario en la matriz es conveniente convertir al
modelo de restricción con signo “menor o igual que”, multiplicando
ambos miembros por (-1), se obtiene -X1 + X2 ≤ 0
Este artificio solo funciona con el cero en el segundo miembro
(porque (0) (-1) = 0), con otros valores dará una cantidad negativa
al lado derecho, que en la tabla del simplex representa el valor de
alguna variable, sin cumplir la restricción de no negatividad.
MÉTODO SIMPLEX

Ejemplo 2:
Maximizar Z = 10X1 + 15X2
s. a.
2X1 + 2X2 ≤ 160
X1 + 2X2 ≤ 120
4X1 + 2X2 ≤ 280
X1 , X2 ≥ 0
Estandarizando:
Maximizar Z = 10X1 + 15X2 +0X3 + 0X4 +0X5
s. a.
2X1 + 2X2 +X3 + 0X4 +0X5 = 160
X1 + 2X2 +0X3 + X4 +0X5 = 120
4X1 + 2X2 +0X3 + 0X4 +X5 = 280
X1 , X2 , X3 , X4 , X5 ≥ 0
Se muestra la tabla completa de resolución Simplex del problema
MÉTODO SIMPLEX
Cj   10 15 0 0 0    
VARIABLES X1 X2 X3 X4 X5 CANT RELACIÓN

0 X3 2 2 1 0 0 160 80
0 X4 1 (2) 0 1 0 120 60
0 X5 4 2 0 0 1 280 140
Zj 0 0 0 0 0 0 Menor
(Cj – Zj) 10 15 0 0 0    Mayor (+)
0 X3 (1) 0 1 -1 0 40 40
15 X2 1/2 1 0 1/2 0 60 120
0 X5 3 0 0 -1 1 160 160/3
Zj 15/2 15 0 15/2 0 900 Menor
(Cj – Zj) 5/2 0 0 -15/2 0    Mayor (+)
10 X1 1 0 1 -1 0 40  
15 X2 0 1 -1/2 1 0 40  
0 X5 0 0 -3 2 1 40  
Zj 10 15 5/2 5 0 1000  
(Cj –Zj) 0 0 -5/2 -5 0    Todos ≤ 0 
La solución del problema es
X1 = 40; X2 = 40; X5 = 40; Z= 1000; X3 = X4 =0
MÉTODO SIMPLEX

Ejemplo 3
Maximizar Z = 3X1 + 3X2 + X3
2X1 + 3X2 + X3 = 18
X1 + 3X2 + 2X3 ≤ 30
2X1 + 2X2 + X3 ≤ 36
X1 , X2 ≥ 0

Estandarizando: Maximizar Z = 3X1 + 3X2 + X3 + 0X4 +0X5


2X1 + 3X2 + X3 + 0X4 +0X5 = 18
X1 + 3X2 + 2X3 + X4 +0X5 = 30
2X1 + 2X2 + X3 + 0X4 +X5 = 36
X1 , X2 , X3 , X4 , X5 ≥ 0
MÉTODO SIMPLEX

Tabla Simplex ejemplo 3


  3 3 1 0 0    
Cj VARIAB X1 X2 X3 X4 X5 CANT RELACIÓN

Cj* * * 2 (3) 1 0 0 18 6
Zj* 0 X4 1 3 2 1 0 30 10
Zj* 0 X5 2 2 1 0 1 36 18
Zj* 0 0 0 0 0 0 Menor
Cj* – Zj* 2 3 1 0 0    Mayor (+)
3 X2 (2/3) 1 1/3 0 0 6 9
0 X4 -1 0 1 1 0 12 -
0 X5 2/3 0 1/3 0 1 24 36
Zj 2 3 1 0 0 18 Menor
Cj – Zj 1 0 0 0 0    Mayor (+)
3 X1 1 3/2 1/2 0 0 9  
0 X4 0 3/2 3/2 1 0 21  
0 X5 0 -1 0 0 1 18  
Zj 3 9/2 3/2 0 0 27  
Cj –Zj 0 -3/2 -1/2 0 0    Todos  ≤ 0
MÉTODO SIMPLEX

Explicaciones:
Al observar la primera tabla del simplex, solo hay dos vectores unitarios
(columnas X4 y X5), faltando un vector unitario a causa de la primera
restricción de igualdad.
Para este problema se empleó un antiguo método muy sencillo (llamado
método de los asteriscos, que resulta más sencillo que La M grande y las
dos Fases). La primera fila del simplex queda vacante porque no hay un
vector unitario para la fila.

Reglas del método simplex de “asteriscos”


Se llama Zj* a todas las filas con variables.
Se llama Cj* a todas las filas sin variable (vacantes)
Cj* y Zj* solo intervienen hasta que las variables a las que les
corresponda ocupen las vacantes (hasta llenar la tabla).
Zj* No cambia, permanece igual todas las veces que interviene.
Cj* Se toma en cuenta los elementos de la matriz a la altura de las
vacantes.
MÉTODO SIMPLEX

Para el cálculo de Zj*:


Z1* = (0)(1)+(0)(2)=0
Z2* = (0)(3)+(0)(2)=0
Z3* = (0)(2)+(0)(1)=0
Z4* = (0)(1)+(0)(0)=0
Z5* = (0)(0)+(0)(1)=0

Para el cálculo de Cj*-Zj*


C1*-Z1*= 2-0=2 (no se usan los Cj del encabezado, sino los elementos
de la fila vacante, en este caso la fila 1)
C2*-Z2*= 3-0=3
C3*-Z3*= 1-0=1
C4*-Z4*= 0-0=0
C5*-Z5*= 0-0=0
Una vez completada la vacante en la segunda tabla, se continúa
normalmente.
MÉTODO SIMPLEX

Ejemplo 4
Maximizar Z = 2X1 + 3X2 + X3
X1 + 2X2 + X3 ≤ 30
2X1 + 3X2 + 2X3 = 18
2X1 + 2X2 + 3 X3 ≥ 10
X1 , X2 , X3 ≥ 0
Estandarizando: Maximizar Z = 2X1 + 3X2 + X3 + 0X4 +0X5
X1 + 2X2 + X3 + X4 + 0X5 = 30
2X1 + 3X2 + 2X3 + 0X4 +0X5 = 18
2X1 + 2X2 + 3X3 + 0X4 - X5 = 10
X1 , X2 , X3 , X4 , X5 ≥ 0
Al observar el problema ya podemos afirmar que habrá dos
vacantes porque hay dos restricciones que no son “menor o
igual que”.
MÉTODO SIMPLEX

Cj   2 3 1 0 0    
VARIABLES X1 X2 X3 X4 X5 CANT RELACIÓN

Zj * 0 X4 1 2 1 1 0 30 15
Cj* * * 2 3 2 0 0 18 6
Cj* * * 2 (2) 3 0 -1 10 5
Zj* 0 0 0 0 0 0 Menor
(Cj* – Zj*) 4 5 5 0 -1    Mayor (+)
(Cj – Zj*) 2 3 1 0 0    Mayor (+)
0 X4 -1 0 -2 1 1 20 20
Cj* * * -1 0 -5/2 0 (3/2) 3 2
3 X2 1 1 3/2 0 -1/2 5 -
Zj* (no cambia) 0 0 0 0 0 0 Menor
(Cj* – Zj*) -1 0 -5/2 0 3/2    Mayor (+)
0 X4 -1/3 0 -1/3 1 0 18  
0 X5 -2/3 0 -5/3 0 1 2  
3 X2 2/3 1 2/3 0 0 6  
Zj 2 3 2 0 0 18  
(Cj –Zj) 0 0 -1 0 0    Todos  ≤ 0
MÉTODO SIMPLEX

La solución es Z=18; X1=0; X2=6; X3=0; X4=18; X5=2


Para el cálculo de Zj* en la parte de evaluación Tabla 1:
Z1* = (0)(1)=0
Z2* = (0)(2)=0
Z3* = (0)(1)=0
Z4* = (0)(1)=0
Z5* = (0)(0)=0
Para el cálculo de Cj*-Zj*
C1*-Z1*= (2+2) – 0 = 4 (en este caso hay dos filas vacantes, por lo
que se deben sumar ambos para determinar el Cj*)
C2*-Z2*= (3+2) – 0 = 5
C3*-Z3*= (2+3) – 0 = 5
C4*-Z4*= (0+0) – 0 = 0
C5*-Z5*= (0+(-1)) – 0 = -1
Nota: Para romper el empate del mayor Cj*-Zj*, se usó Cj-Zj*
(tercera fila debajo primera tabla resaltado con amarillo)
MÉTODO SIMPLEX

Segunda Tabla
Para la segunda tabla se tiene una sola vacante (segunda fila), ahora
Cj* es solo un valor.
No hay cálculo de Zj* en la parte de evaluación de Tabla 2, porque
Zj* no cambia, se copian igual que los de la tabla 1, o sea todos igual
a cero.

Para el cálculo de Cj*-Zj*


C1*-Z1*= (-1) – (0) = -1
C2*-Z2*= (0) – (0) = 0
C3*-Z3*= (-5/2) – (0) = -5/2
C4*-Z4*= (0) – (0) = 0
C5*-Z5*= (3/2) – 0 = 3/2
MÉTODO SIMPLEX CASO MINIMIZACIÓN

Minimizar Z = 2X1 + 3X2


S.A
3X1 + X2 ≥ 6
X1 + X 2 ≥ 4
X1 , X2 ≥ 0

Estandarizando:
Minimizar Z = 2X1 + 3X2 + 0 X3 + 0X4
S.A.
3X1 + X2 - X3 + 0X4 = 6
X1 + X2 + 0X3 - X4 =4
X1 , X2 , X3 , X4 ≥ 0

Ahora no tendremos vectores unitarios, las dos variables básicas son


vacantes, Zj* = 0
MÉTODO SIMPLEX CASO MINIMIZACIÓN

MAX Cj   2 3 0 0    
El método que VARIAB X1 X2 X3 X4 CANT RELAC
estamos viendo
* * (3) 1 -1 0 6 2
es para Max. * * 1 1 0 -1 4 4
Para minimizar, Zj* 0 0 0 0 0 Menor
se maximiza (Cj*– Zj*) 4 2 -1 -1    Mayor (+)
2 X1 1 1/3 -1/3 0 2 6
hasta completar
* * 0 (2/3) 1/3 -1 2 3
las variables Zj* No cambia 0 0 0 0 0 Menor
vacantes y luego (Cj* – Zj*) 0 2/3 1/3 -1    Mayor (+)
minimizamos, 2 X1 1 0 -1/2 1/2 1 -
3 X2 0 1 (1/2) -3/2 3 6
a partir de la
Zj 2 3 1/2 -7/2 11 Menor  
tabla 3. Para Min (Cj –Zj) 0 0 -1/2 7/2    Menor (-)
Se selecciona el 2 X1 1 1 0 -1 4  
(Cj –Zj) negativo 0 X3 0 2 1 -3 6  
Zj 2 2 0 -2 8  
Menor. MIN
(Cj –Zj) 0 1 0 2   Todos ≥ 0 
MÉTODO SIMPLEX DE LA M GRANDE

El método simplex de la M grande usa variables artificiales,


representadas por A1 , A2 , ..., An. Se sigue las siguientes REGLAS:
• Para las restricciones con signo “Menor o igual que” se usa solo
variables de holgura.
• Para restricciones con signo “igual que” se usa una variable
artificial.
• Para restricciones con signo “Mayor o igual que” se usa una
variable de exceso más una variable artificial.
• Para la FO, se considera las variables de holgura y exceso con
coeficiente cero, y las variables artificiales con coeficiente M, la M
representa un número tan grande como para asegurar que se
realicen todas las operaciones con éxito.
• En caso de minimización la M de la FO es positiva (+MAj) y en caso
de maximización la M es con signo negativo (-MAj).
El método de los asteriscos, el método de la M grande y el método de
las dos fases funcionan independientemente para resolver cualquier
problema, no hay combinaciones entre ellos.
MÉTODO SIMPLEX DE LA M GRANDE

Ejemplo:
Minimizar Z = 5X1 + 6X2
s. a.
X1+X2 = 1000  Necesita una variable Artificial (A1)
X1 ≤ 300  Necesita una variable de holgura (X3)
X2 ≥ 150  Necesita una variable de exceso (X4) + una Artificial (A2)
X1 , X2 ≥ 0

Estandarizando:
FO Min Z= 5X1 +6 X2 + 0X3 + 0X4 +M A1 + M A2
X1 + X2 + 0X3 + 0X4 + A1 + 0A2 = 1000
X1 + 0X2 + X3 + 0X4 + 0A1 + 0A2 = 300
0X1 + X2 + 0X3 - X4 + 0A1 + A2 = 150
Con estos arreglos, el problema se resuelve normalmente por el
método simplex.
MÉTODO SIMPLEX DE LA M GRANDE
Cj   5 6 0 0  M M    
VAR X1 X2 X3 X4 A1 A2 CANT REL

M A1 1 1 0 0 1 0 1000 1000
0 X3 1 0 1 0 0 0 300 -
M A2 0 (1) 0 -1 0 1 150 150
Zj M 2M 0 -M M M   Menor
(Cj – Zj) -M+5 -2M+6 0 M 0 0    Menor (-)
M A1 1 0 0 1 1 -1 850 850
0 X3 (1) 0 1 0 0 0 300 300
6 X2 0 1 0 -1 0 1 150 -
Zj M 6 0 M-6 M -M+6   Menor
(Cj – Zj) -M+5 0 0 -M+6 0 2M-6    Menor (-)
M A1 0 0 -1 (1) 1 -1 550 550
5 X1 1 0 1 0 0 0 300 -
6 X2 0 1 0 -1 0 1 150 -
Zj 5 6 -M+5 M-6 M -M+6   Menor
(Cj – Zj) 0 0 M-5 -M+6 M 2M-6    Menor (-)
0 X4 0 0 -1 1 1 -1 550  
5 X1 1 0 1 0 0 0 300  
6 X2 0 1 -1 0 1 0 700  
Zj 5 6 -1 0 6 0 5700  
(Cj – Zj) 0 0 1 0 M-6 M    Todos ≥ 0
CASOS ESPECIALES

Infactibilidad: Cuando no hay una solución que satisfaga todas las


condiciones del problema, (Cj-Zj) aparece con signo adecuado(caso
Min ≥ 0; caso Max ≤0), pero queda una variable artificial como
variable básica.

Solución no acotada: Cuando el problema no tiene una solución


finita, se reconoce porque en la columna “Relación” todas son
negativas.

Degeneración: En el modelo al menos una restricción es


redundante, sucede cuando varias restricciones pasan por un mismo
punto. Ejemplo X1≤10; X2≤10; X1 + X2 ≤20 (las tres líneas pasan por
el punto 10, 10).
Se reconoce cuando hay empate en la relación más pequeña de la
tabla 1 del simplex, o cuando una variable básica tiene valor cero.
Es posible que el método simplex repita una serie de iteraciones sin
mejorar el objetivo y nunca terminar los cálculos.
CASOS ESPECIALES

Más de una solución óptima: En toda tabla las variables básicas


tienen (Cj-Zj) = 0. Si en la última tabla del simplex una variable no
básica tiene (Cj-Zj) = 0, significa que puede haber otra solución al
aumentar una nueva tabla, ingresando como básica la variable
indicada (con el menor valor en la columna solución). Se debe tener
en cuenta que en toda tabla las variables básicas tienen (Cj-Zj) = 0
Ejemplo:
Max Z = 4X1 + X2
8X1+2X2 ≤16
5X1+2X2 ≤12
X1 , X2 ≥0
Estandarizando:
Max Z = 4X1 + X2
8X1+2X2 +X3+0X4=16
5X1+2X2 +0X3+X4=12
X1 , X2 , X3 , X4 ≥0
Problema con más de una solución óptima
Cj   4 1 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

0 X3 (8) 2 1 0 16 2
0 X4 5 2 0 1 12 12/5
Zj 0 0 0 0 0 Menor
(Cj– Zj) 4 1 0 0    Mayor (+)
4 X1 1 1/4 1/8 0 2 8
0 X4 0 (3/4) -5/8 1 2 8/3
Zj 4 1 1/2 0 8 Menor
(Cj – Zj) 0 0 -1/2 0    Mayor (+)
4 X1 1 0 1/3 -1/3 4/3  
1 X2 0 1 -5/6 4/3 8/3  
Zj 4 1 1/2 0 8  
(Cj –Zj) 0 0 -1/2 0    
El problema termina con dos tablas. El cero resaltado con rojo corresponde a
una variable no básica e indica que hay otra solución, marcándolo como mayor
Cj-Zj, para hacer una tercera tabla y obtener una segunda solución.
Problema con más de una solución óptima

En la segunda tabla se tiene la primera solución óptima

Solución óptima 1
X1 = 2; X4 = 2; X2=X3 = 0; Z= 8

En la tercera tabla, se tiene la segunda solución óptima

Solución óptima 2
X1 = 4/3; X2=8/3; X3=X4=0; Z=8

Nota: Las soluciones óptimas deben tener el mismo valor de la


función objetivo, de lo contrario la solución óptima sería solo la mayor
(caso maximización) o la menor (caso minimización).
MÉTODO SIMPLEX DE LAS DOS FASES

El método simplex de las dos fases está inspirado en el método de la


M grande, pero sin M y en lugar de variables artificiales, utiliza
variables normales (Xj), que para mejor entendimiento llamaremos
pseudo artificiales, van con el signo que le correspondía a la M en la
FO (positivo en caso minimización y negativo en caso maximización).
Ejemplo de Maximización
Max Z = 2X1 + X2
s. a.
10X1+10X2 ≤ 9  Necesita una variable de holgura (X3)

10X1+5X2 ≥1  Necesita una variable de exceso (X4) + una Pseudo Artificial (X5)

X1 , X2 ≥0
Estandarizando:
Max Z= 2X1 + X2 + 0X3 +0X4 – X5
10X1+10X2 + X3 +0X4 + 0 X5 = 9
10X1+5X2 + 0 X3 - X4 + X5 = 1
X1 , X2 , X3 , X4 , X5 ≥0
MÉTODO SIMPLEX DE LAS DOS FASES

FASE 1: 0X1 + 0X2 + 0X3 +0X4 – X5


Max. X5

Cj   0 0 0 0 -1     
VARIABLES X1 X2 X3 X4 X5 CANT RELACIÓN

0 X3 10 10 1 0 0 9 9/10
-1 X5 (10) 5 0 -1 1 1 1/10
Zj -10 -5 0 1 -1 -1 Menor
(Cj– Zj) 10 5 0 -1 0    Mayor (+)
0 X3 0 5 1 1 -1 8  
0 X1 1 1/2 0 -1/10 1/10 1/10  
Zj 0 0 0 0 0 0 Menor
(Cj– Zj) 0 0 0 0 -1  todos ≤0
MÉTODO SIMPLEX DE LAS DOS FASES

FASE 2: Se basa en la última tabla de la fase 1, se usan los


coeficientes de la FO, se eliminan las columnas de las variables
pseudoartificiales (en este caso X5).

Cj   2 1 0 0    
VARIABLES X1 X2 X3 X4 CANT RELACIÓN

0 X3 0 5 1 (1) 8 8
2 X1 1 1/2 0 -1/10 1/10 -
Zj 2 1 0 -1/5 1/5 Menor
(Cj– Zj) 0 0 0 1/5  Mayor (+)
0 X4 0 5 1 1 8  
2 X1 1 1 1/10 0 9/10  
Zj 2 2 1/5 0 9/5
(Cj– Zj) 0 -1 -1/5 0 Todos ≤ 0
MÉTODO SIMPLEX DE LAS DOS FASES

Caso Minimización:
Min Z = 160 X1+120 X2+280 X3
S.A.
2X1+X2 +4 X3 ≥1
2X1+2 X2+2 X3 ≥3/2
X1 , X2 ≥ 0

Estandarizando:
Min Z= 160X1+120X2+280X3+0X4+0X5+X6+X7
2X1+X2 + 4X3 - X4 + 0 X5 +X6+0X7= 1
2X1+2X2 + 2 X3 +0 X4 - X5 +0X6+X7 = 3/2
X1 , X2 , X3 , X4 , X5 , X6 , X7 ≥0
MÉTODO SIMPLEX DE LAS DOS FASES

Fase 1: Min X6+X7


Cj   0 0 0 0 0 1 1    
VARIABLES X1 X2 X3 X4 X5 X6 X7 CANT RELACIÓN

1 X6 2 1 (4) -1 0 1 0 1 1/4
1 X7 2 2 2 0 -1 0 1 3/2 3/4
Zj 4 3 6 -1 -1 1 1 5/2 Menor
(Cj– Zj) -4 -3 -6 1 1 0 0   Menor (-)
0 X3 1/2 1/4 1 -1/4 0 1/4 0 1/4 1
1 X7 1 (3/2) 0 1/2 -1 -1/2 1 1 2/3
Zj 1 3/2 0 1/2 -1 -1/2 1 1 Menor
(Cj– Zj) -1 -3/2 0 -1/2 1 3/2 0    Menor (-)
0 X3 1/3 0 1 -1/3 1/6 1/3 -1/6 1/12  
0 X2 2/3 1 0 1/3 -2/3 -1/3 2/3 2/3  
Zj 0 0 0 0 0 0 0  
(Cj –Zj) 0 0 0 0 0 1 1 Todos ≥0 
MÉTODO SIMPLEX DE LAS DOS FASES

Fase 2:
Cj   160 120 280 0 0    
VAR X1 X2 X3 X4 X5 CANT RELACIÓN

280 X3 (1/3) 0 1 -1/3 1/6 1/12 1/4


120 X2 2/3 1 0 1/3 -2/3 2/3 1
Zj 520/3 120 280 -160/3 -100/3 310/3 Menor
(Cj– Zj) -40/3 0 0 160/3 100/3 Menor (-)
160 X1 1 0 3 -1 1/2 1/4
120 X2 0 1 -2 1 -1 1/2
Zj 160 120 240 -40 -40 100
(Cj– Zj) 0 0 40 40 40 Todos ≥0 

Solución óptima: X1 = ¼; X2= ½; X3=X4 =0; Z= 100

Condición para determinar el mínimo es (Cj –Zj) ≥ 0

Condición para determinar el máximo es (Cj –Zj) ≤ 0


MÉTODO SIMPLEX DE LAS DOS FASES

Importante:
En cualquier caso (maximizar o minimizar) y en cualquier método
(simplex normal, asteriscos, M grande, o Dos fases), para determinar
la fila en la cual se encuentra el pivote, se selecciona el menor valor
de la Columna “Relación”.
Para seleccionar la columna en la que se encuentra el pivote, en caso
de maximización en cualquiera de los métodos, se selcciona el mayor
(Cj-Zj) positivo, porque es el que hará crecer más rápidamente el
valor de la FO. El problema termina cuando todos los (Cj-Zj) ≤0; o
sea que ya no quedan valores positivos en esa fila.

Para seleccionar la columna en la que se encuentra el pivote, en caso


de minimización en cualquiera de los métodos, se selecciona el
menor (Cj-Zj) negativo, porque es el que hará disminuir más
rápidamente el valor de la FO. El problema termina cuando todos los
(Cj –Zj) ≥ 0; o sea que no deben quedar valores negativos en esa
fila.

You might also like