Escolar Documentos
Profissional Documentos
Cultura Documentos
SEPARATA N° 2
cj 40 60 0 0
ck xk bi x1 x2 S1 S2
Zj 35000 40 60 5 25
cj - Zj 0 0 -5 -25
Definición
El método símplex fue desarrollado en 1947 por el Dr. George Dantzig y conjuntamente
con el desarrollo de la computadora hizo posible la solución de problemas grandes
planteados con la técnica matemática de programación lineal.
( m n)!
N sol .bás
m! n!
Elemento pivote. Se declara como elemento pivote a aquél coeficiente que se ubica en
el cruce de la columna ‘j’ y el renglón ‘i’ elegidos en los dos criterios ya anotados
Procedimiento
a) x1 + x2 ≤ 90 x1 + x2 + S1 = 90 (V.H.)
b) 2x1 + 5x2 70 2x1 + 5x2 – e1 + q1 = 70 (V.e.; V.artif.)
c) 3x1 + x2 = 50 3x1 + x2 + q2 = 50 (V.e.; V.artif.)
Máx(óptimo) : C1 - Z1 ≤ 0
Míx(óptimo) : C1 - Z1 0
4) Si la solución hallada en (3) no es óptimo identificar la FILA CLAVE, COLUMNA
CLAVE y el NÚMERO PIVOTE; seguidamente realizar las operaciones
correspondientes para determinar la nueva solución.
5) Si la solución es óptima termina el proceso iterativo.
COLUMNA CLAVE
cj c1 c2 c3 …. cn cn+1 …. cn+m
ck xk bi x1 x2 x3 …. xn xn+1 …. xn+m θi
0 xn+1 B1 a11 a12 a13 …. a1n 1 …. 0 b1 / a11
0 xn+2 B2 *a21 a22 a23 …. a2n 0 …. 0 b2/a21 FILA CLAVE
... .... .... .... .... .... .... .... .... .... .... ....
0 xn+m bm am1 am2 am3 …. amn 0 …. 1 bm/am1
Zi 0 0 0 0 0 0 …. 0 mínimo valor
Cj-Zj c1 c2 c3 …. cn 0 …. 0
2º Tablero
Cj C1 C2 …. Cn Cn+1 …. Cn+m
ck xk bi x1 x2 …. xn xn+1 …. xn+m
0 xn+1
hilera
principal c1 x1 b2/a21 A21/a21
.
.
.
0 xn+m
Fila clave
Hilera principal
# clave
Caso de maximización:
Luego:
x1 + 0x2 + x3 + x4 + S1 = 2500
6x1 + 6x2 + 8x3 + 10x4 + 0S1 + S2 = 1800
x1 + x2 + 2x3 + 2x4 + 0S1 + 0S2 + S3 = 4000
0x1 + 0x2 + 4x3 + 0x4 + 0S1 + 0S2 + 0S3 + S4 = 2000
2x1 + 2x2 + 0x3 + 5x4 + 0S1 + 0S2 + 0S3 + 0S4 + S5 = 1900
1º Tablero
cj 7.4 4.4 7 8 0 0 0 0 0
ck xk bi x1 x2 x3 x4 S1 S2 S3 S4 S5 θi
0 S1 2500 1 0 1 1 1 0 0 0 0 2500
0 S2 1800 6 6 8 10 0 1 0 0 0 180 ←
0 S3 4000 1 1 2 2 0 0 1 0 0 2000
0 S4 2000 0 0 4 0 0 0 0 1 0 ∞
0 S5 1900 2 2 0 5 0 0 0 0 1 380
Zj 0 0 0 0 0 0 0 0 0 0 0
Cj - Zj 7.4 4.4 7 8 0 0 0 0 0
↑
# clave = a24 = 10
V. ingresa = x4 V. sale = S2
Hilera principal
bi x1 x2 x3 X4 S1 S2 S3 S4 S5
180 6/10 6/10 8/10 1 0 1/10 0 0 0
(1800)(1)
Nuevo número = 2500 - = 700
10
2º Tablero
cj 7.4 4.4 7 8 0 0 0 0 0
ck xk bi x1 x2 X3 x4 S1 S2 S 3 S 4 S 5 θi
0 S1 700 2/5 -3/5 1/5 0 1 -1/10 0 0 0 1750
8 X4 180 3/5 3/5 4/5 1 0 1/10 0 0 0 300
0 S3 3640 -1/5 -1/5 2/5 0 0 -1/5 1 0 0 ─
0 S4 2000 0 0 4 0 0 0 0 1 0 ∞
0 S5 1000 -1 -1 -4 0 0 -1/2 0 0 1 ─
Zj 1440 24/5 24/5 32/5 8 0 4/5 0 0 0
Cj - Zj 2.6 -0.4 0.6 0 0 -0.8 0 0 0
Tablero óptimo
cj 7.4 4.4 7 8 0 0 0 0 0
ck xk bi x1 x2 x3 x4 S1 S2 S3 S4 S5
0 S1 2200 0 -1 - -0.667 1 -0.167 0 0 0
0.333
7.4 X1 300 1 1 1.333 1.667 0 0.167 0 0 0
0 S3 3700 0 0 0.667 0.333 0 -0.167 1 0 0
0 S4 2000 0 0 4.000 0 0 0 0 1 0
0 S5 1300 0 0 - 1.667 0 -0.333 0 0 1
2.667
Zj 2220 7.4 7.4 9.867 12.333 0 1.233 0 0 0
Cj - Zj 0 -3 - -4.333 0 -1.233 0 0 0
2.867
Cj - Zj ≤ 0 el tablero es el óptimo
Caso de minimización:
Min Z = 3 x1 + 2.5 x2
s.a.:
2x1 + 4x2 ≥ 40
3x1 + 2x2 ≥ 50 xj ≥ 0
2x1 + 4x2 – e1 + q1 = 40
3x1 + 2x2 – 0e1 - e2 + q1 + q2 = 50
1º Tablero
Cj 3 2.5 0 0 M M
Ck xk bi X1 x2 e1 e2 q1 q2 θi
M q1 40 2 4 -1 0 1 0 10
M q2 50 3 2 0 -1 0 1 25
Zj 90M 5M 6M - - M M
M M
Cj - Zj 3- 2.5- M M 0 0
5M 6M
2º Tablero
Cj 3 2.5 0 0 M M
Ck xk bi x1 x2 e1 e2 q1 q2 θi
2.5 x2 10 ½ 1 -1/4 0 ¼ 0
20
M q2 30 2 0 ½ -1 -1/2 1
15
Zj 25+30M 5/4+2M 2.5 -5/8 - 5/8- M
+1/2M M M/2
Cj - Zj (7/4- 0 (5/8- M (M/2- 0
2M) M/2) 5/8)
3r tablero
Cj 3 2.5 0 0 M M
Ck xk bi x1 x2 e1 e2 q1 q2 θi
Tablero
2.5 X2 2.5 0 1 -3/8 ¼ 3/8 -1/4
óptimo
3 X1 15 1 0 ¼ -1/2 -1/4 ½
Zj 51.25 3 2.5 -0.1875 -0.875 0.1875 0.875
Cj - Zj 0 0 0.1875 0.875 M-0.1875 M-0.875
Cj - Zi 0
Cj 3 5 0 0 0
Ck xk bi x1 x2 S1 S2 S3 θi
0 S1 4 1 0 1 0 0 -
0 S2 12 0 2 0 1 0 6 mínimo
0 S3 18 3 2 0 0 1 9
Z 0 0 0 0 0 0
Cj - Zj 3 5 0 0 0
2do tablero
Cj 3 5 0 0 0
Ck xk bi x1 x2 S1 S2 S3 θi
0 S1 4 1 0 1 0 0 4/1 = 4
5 X2 6 0 1 0 ½ 0 -
0 S3 6 3 0 0 -1 1 6/3 = 2 mínimo
Z 30 0 5 0 5/2 0
Cj - Zj 3 0 0 -5/2 0
3º Tablero
Cj 3 5 0 0 0
Ck xk bi X1 x2 S1 S2 S3
0 S1 2 0 0 1 1/3 -1/3
5 x2 6 0 1 0 1/2 0
3 x1 2 1 0 0 -1/3 1/3
Z 36 3 5 0 3/2 1
Cj - Zj 0 0 0 -3/2 -1
Cj - Zj ≤ 0 es el óptimo Zóptimo = 36
x1 = 2
x2 = 6
S1 = 2
EMPATES EN EL MÉTODO SIMPLEX
Z = 3x1 + 3x2
Ahora supongo que el empate ocurre entre dos 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, si, y en una
forma crítica debido a que puede suceder 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 eligieron como
variable básica que sale también tendrán un valor cero en la nueva solución B.F. (las
variables básicas con valor de cero se llaman DEGENERADAS y el mismo nombre se
da a la solución B:F: 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 deberá también quedar con valor de cero (ya que no puede crecer sin que la
variable básica entrante que sale se vuelva negativa), entonces el valor de Z
permanecerá sin cambio.
2º Tablero
Cj 10 12 0 0 0
Ck xk bi x1 x2 S1 S2 S3 θi
12 X2 500 2/3 1 1/3 0 0 750
0 S2 500 5/3 0 -2/3 1 0 300 ?
0 S3 100 1/3 0 -1/3 0 1 300 ?
Z 6000 8 12 4 0 0
Cj - Zj 2 0 -4 0 0
2. Dividir cada uno de los términos de las filas empatadas entre su correspondiente
número de la columna clave.
Así:
2
500 3 6
Para S2 : 300
5 5 15
3 3
5
3 1 1 3
5 5 5
3 3
0 0
0 0
5 5
3 3
1
100 3 1
300
1 1
3 3
Para S3 :
1
3 1 0
0
1 1
3 3
0 1
0 3
1 1
3 3
6 3
Luego S2 : 300 1 0 0 IDENTIDAD
15 5
S3: 300 1 0 1 0 3
matriz identidad
Existe otra posibilidad en el paso 2 de una iteración 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
adquieran valores negativos. En la forma tabular, esto significa que todos los
coeficientes en la columna pivote son negativos o ceros.
La interpretación de una tabla simplex como la que se muestra, es que las restricciones
no impiden el crecimiento indefinido de la función objetivo Z, de manera que el
método simplex 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
este mal formulado o existe un error en los cálculos.
Ejemplo:
Cj 3 5 0 0 0
Ck xk bi x1 x2 S1 S2 S3 θi
0 S1 4 1 0 0 0 0 Sin mínimo
5 X2 6 0 0 1/2 3/4 0
0 S3 5 3 -1 -1 0 1
Z 30 0 0 5/2 15/4 0
Cj - Zj 3 5 -5/2 -15/4 0
SOLUCIONES ÓPTIMAS MÚLTIPLES
Un problema puede tener más de una solución óptima. Este hecho se observa en el
problema siguiente:
Max Z = 3x1 + 2x2
s.a:
x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18 ; xj 0; j = 1,2
Al graficar resulta que todos los puntos sobre el segmento de recta entre A=(2,6) y
B=(4,3) son óptimos. Entonces, todas las soluciones son un promedio ponderado de
estas dos soluciones B:F. óptimos
(x1 , x2) = P1(2,6) + P2(4,3)
Donde los pesos P1 y P2 son números que satisfacen las relaciones.
P1 + P2 = 1 ; P1 P2 0
Por ejemplo:
P1 = 1/3 y P2 = 2/3 da :
(x1 , x2) = 1/3(2,6) + 2/3(4,3) = (2/3 + 8/3 , 6/3 + 6/3)
(x1 , x2) = (10/3 , 4) Como una solución óptima.
En general cualquier promedio ponderado de dos o mas soluciones (vectores) donde los
pesos son no negativos y suman 1 se llama combinación convexa de estas solucione.
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 múltiples.
El método simplex se detiene automáticamente al encontrar una solución óptima B:F:
Sin embargo, en muchas aplicaciones de programación lineal existen factores
intangibles que no incorporan al modelo y que pueden ser útiles para tomar decisiones
significativas sobre las soluciones óptimas alternativas.
En el tablero simplex se observa que existen soluciones alternativas cuando en el
reglón (cj – Zj) óptimo registra número de ceros mayor que el número de variables
básicas.
Para calcular la solución óptima alternativa se elige como columna clave aquella
columna asociada a una variable no básica que registra valor cero en el reglón (cj – Zj),
luego se continúa.
Ejemplo:
Max Z = 2x1 + 3x2+ x3
s.a:
x1 + 2x2 + x3 ≤ 30
2x1 + 3x2 + 2x3 ≤ 18
2x1 + 2x2 + 3x3 ≥ 10
Tablero óptimo
Cj 2 3 1 0 0 0 -M
Ck xk bi x1 x2 x3 x4 x5 e1 q1 θi
0 S1 18 -1/3 0 -1/3 1 0 -2/3 0 -
0 S2 2 -2/3 0 -5/3 0 1 2/3 -1 -
3 X2 6 2/3 1 2/3 0 0 1/3 0 6/(2/3) = 9
mínimo
Zj 18 2 3 2 0 0 1 0
0 0 0 0
Cj - Zj -1 -1 -M
Óptimo Alternativo
Cj 2 3 1 0 0 0 -M
Ck xk bi x1 x2 x3 S1 S2 e1 q1
0 S1 21 0 1/3 -5/4 1 0 -1/3 0
0 S2 8 0 1 3/2 0 1 1 -1
2 X1 9 1 3/2 9/4 0 0 1/2 0
Zj 18 2 3 9/2 0 0 1 0
Cj - Zj 0 0 -7/2 0 0 -1 -M
El tablero para este caso se muestra en el Cuadro 3.5. En la primera fila se indica el
nombre de las variables. En la segunda fila se muestra el coeficiente en la función
objetivo de todas las variables.
Luego, se crea una fila por restricción: en la primera columna se ubica el nombre de la
variable que está en la base asociada a esa restricción, en la segunda columna se ubica el
coeficiente en la función objetivo de la variable basal, en las columnas siguiente se
representa el coeficiente de cada variable en cada restricción y en la última columna se
ubica el coeficiente del lado derecho asociado a dicha restricción.
A continuación, se procede a calcular la penúltima fila (zj ). Para ello basta multiplicar
por cada columna los coeficientes de la variable de la columna por los coeficientes de la
variable basal de cada fila. El valor zj representa la disminución unitaria de la función
objetivo al incorporar una unidad de la variable de esa columna a la base. En la última
fila de la última columna (bi) el valor zj corresponde al valor de la multiplicación de las
variables basales por su respectivo coeficiente en la función objetivo, por lo tanto es el
valor actual de la función objetivo z.
En la última fila se efectúa la resta entre el valor zj asociado a cada variable y el
coeficiente en la función objetivo de la variable de esa columna. El valor obtenido
corresponde exactamente al negativo del valor del coeficiente asociado a esa variable en
la fila 0 de la forma canónica previamente vista, y representa la variación neta de la
función objetivo en términos unitarios al incorporar una unidad de esa variable a la
base, es decir la diferencia entre la disminución representada por zj y el aporte positivo
proporcionado por cj . Conoceremos este coeficiente como costo reducido en el caso de
variables de decisión y como costo de oportunidad en el caso de variables de holgura. El
costo de oportunidad de una variable de holgura puede entenderse como lo que se deja
de percibir por no tener una unidad adicional del recurso asociado a dicha variable de
holgura. Nótese que una propiedad de las variables basales es que cj – zj = 0 en cada
una de ellas.
Tablero final (óptimo)
Casos Especiales
Soluciones Alternativas
Para ilustrar una situación en la que aparecen soluciones alternativas, consideremos el
ejemplo, pero modificando el coeficiente que acompaña a la variable x2 en la función
objetivo aumentando de 30 a 35. Luego, el modelo de LP queda:
Max z = 60x1 + 35x2 + 20x3 (Función Objetivo)
s.t.
8x1 + 6x2 + x3 + s1 = 48 (a) Materiales
4x1 + 2x2 + 1;5x3 + s2 = 20 (b) Terminaciones
2x1 + 1;5x2 + 0;5x3 + s3 = 8 (c) Carpintería
x2 + s4 = 5 (d) Demanda de mesas
Como se vio cuando se estudió la resolución gráfica de LP, se puede demostrar que
cualquier punto del segmento de línea que une dos puntos óptimos es también un
óptimo para el problema. Para ilustrar esa idea, podemos escribir los dos puntos óptimos
encontrados (sólo las variables de decisión):
Luego, podemos escribir la ecuación paramétrica de la recta que une ambos puntos (0 ≤
λ ≤ 1):
LP No Acotados
Como se estudió en la resolución gráfica de problemas de programación lineal, en
algunos LP pueden existir puntos de la región factible en el que los valores de z pueden
ser arbitrariamente grandes (maximización) o arbitrariamente pequeños (minimización).
Cuando esto ocurre, se dice que el LP es no acotado. A continuación se verá como
puede ser empleado el método Simplex para determinar cuándo un LP es no acotado.
Consideremos el siguiente modelo:
Max z = 36x1 + 30x2 - 3x3 - 4x4
s.t.
x1 + x2 - x3 ≤ 5 (a)
6x1 + 5x2 - x4 ≤ 10 (b)
x1; x2; x3; x4 ¸≥ 0
Estandarizando:
Max z = 36x1 + 30x2 - 3x3 - 4x4
s.t.
x1 + x2 - x3 + s1 = 5 (a)
6x1 + 5x2 - x4 + s2 = 10 (b)
Tablero en la segunda iteración
Solución Imposible
Para ilustrar como se detecta cuando un problema no tiene región factible mediante el
método Simplex consideremos el siguiente modelo en su versión estándar:
Min z = 2x1 + 3x2 +Ma1 +Ma2
s.t.
1/2x1 + 1/4x2 + s1 = 4 (a)
x1 + 3x2 - e2 + a2 = 36 (b)
x1 + x2 + a3 = 10 (c)
El tablero 1 muestra la primera iteración. Aquí, conviene incorporar la variable x2 a la
base con valor 10. Mediante operaciones fila se completa el tablero 2. En este cuadro se
verifica que todas las variables poseen un cj – zj no negativo. Como se está
minimizando se ha alcanzado el óptimo.
Tablero 1.
Tablero 2.
Representación gráfica