Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Simplex
Simplex
EL MTODO SIMPLEX
Hasta ahora, la nica forma que conocemos de resolver un problema
de programacin lineal, es el mtodo grfico. Este mtodo es bastante
engorroso cuando aumenta el nmero de restricciones e impracticable en
ms de dos dimensiones. Para resolver estos problemas, se aplica el mtodo
simplex. Este mtodo se puede aplicar a problemas de cualquier tamao. (Si
bien el ejemplo que veremos es de dos variables con tres restricciones, su
generalizacin es inmediata).
Problema:
La empresa Seventeen SRL se dedica a la fabricacin de manteles de
mesa. Fabrica dos modelos, el redondo y el rectangular. Cada uno consume 2
y 3 m2 de tela, respectivamente. Adems deben ser cortados y cosidos a
mano, tarea que lleva una hora para los manteles rectangulares y dos para
los redondos. Por ltimo, a los manteles rectangulares se les deben colocar
cuatro esquineros de refuerzo.
Semanalmente se pueden conseguir 600 m2 de tela, 600 esquineros y
500 horas de corte y costura. Los mrgenes de ganancias son de $8 para los
manteles redondos y 10$ para los rectangulares.
Resolucin:
X1: Cantidad de manteles redondos a fabricar semanalmente [u/sem]
X2: Cantidad de manteles rectangulares a fabricar semanalmente [u/sem]
2 X1 + 3 X2 600
4 X2 600
2 X1 + X2 500
Z(mx) = 8 X1 + 10 X2
Para aplicar el mtodo Simplex, el primer paso consiste en
transformar las desigualdades en igualdades. Por ejemplo, la primera
restriccin dice que 2 X1 + 3 X2 es menor o igual que 600. Eso es lo mismo
que decir que 2 X1 + 3 X2 mas una cantidad que puede ser cero o mayor que
cero, es igual a 600. Si esta cantidad es positiva o cero, entonces puede
asignrsele su valor a una variable cumpliendo con las condiciones de no
negatividad. Por una convencin, se le asigna a esta variable el nombre de X3
(O el subndice que correspondiera, segn la cantidad de variables del
problema) .
Aqu podemos ver que X2 tomar valor 150, que es lo que habamos
predicho. En el segundo paso, se debe formar en la tabla del simplex un
rectngulo entre el elemento que quiero transformar y el pivote. Por
ejemplo, para el B3, el rectngulo ser el siguiente:
producto del Zj-Cj de la variable que entra (recordemos que nos indicaba
cunto aumentara el funcional por cada unidad que aumente la variable) por
el tita de la variable que sale (cuntas unidades poda aumentar la variable).
Obviamente, ambos resultados deben ser iguales.
Una tabla de Simplex de maximizacin es ptima cuando todos sus ZjCj son positivos o cero. Anlogamente, una tabla de Simplex de minimizacin
es ptima cuando todos sus Zj-Cj son negativos o cero.
Una vez determinada la variable que entrar a la base (la que tenga el
Zj-Cj negativo de mayor valor absoluto), se calculan los , para ver cual es la
variable que saldr de la base:
Aqu, todos los Zj-Cj de las variables que no estn en la base son
positivos; o sea que cualquier variable que ingrese a la base har disminuir al
funcional. Por lo tanto, hemos hallado el punto ptimo. En este punto, se
fabrican 225 manteles redondos y 50 manteles rectangulares, con una
ganancia de $2300. La tela y las horas de trabajo se consumen en su
totalidad y sobran 400 esquineros.
RESOLUCIN GRFICA
Esta es la resolucin grfica del ejercicio. La primera tabla, en donde
X1 y X2 valen cero y sobra la totalidad de los recursos, es el punto A (el
origen de coordenadas). Luego se pasa al punto B, donde X1 vale cero y X2
vale 150. La traza del funcional que pasa por este punto, ya no pasa por el
origen, entonces su valor ya es distinto de cero (es 1500).
El siguiente es el punto C, la interseccin de X4 = 0 y X3 = 0. Las
dems variables valen 75 (X1), 150 (X2) y 200 (X5). La traza del funcional
contina alejndose del origen y ahora vale 2100. La tabla ptima
corresponde al punto D, donde estn saturados los recursos 1 y 3
(correspondientes a X2 y X5). Este es el punto ptimo, ya que si pasramos
al siguiente punto (E), el funcional retrocedera.
Propuesta:
En este caso, hubiera sido ms rpido si en la primer tabla hubiramos hecho entrar
a X1 en lugar de X2, ya que nos hubiramos ahorrado una tabla en el camino al ptimo. El
simplex hubiera hecho el camino A-E-D; en lugar de A-B-C-D.
VARIABLES ARTIFICIALES
En el punto anterior vimos cmo resolver un problema de simplex
cuando el origen de coordenadas est incluido en el poliedro de soluciones
factibles. Esto sucede casi siempre cuando todas las restricciones son de
menor o igual. Ahora veremos cmo hacer cuando esto no es as. Para
resolver el problema, se debe encontrar un vrtice del poliedro desde el
cual aplicar el mtodo simplex.
Veamos el siguiente ejercicio:
La empresa Artola Hnos. se dedica a instalar estreos en automviles.
El sector de la misma que nos interesa modelar realiza dos tareas
principales: colocar y quitar los parlantes en los laterales de las puertas.
Quitar un par de parlantes lleva 6 minutos y colocarlo en otro
automvil, 5 minutos. Slo se dispone para ambas tareas de 30 minutos
diarios. Para cumplir con los estndares de produccin de la empresa, se
debe colocar al menos un par de parlantes al da. Adems, slo se cuenta en
stock en este momento con 6 parlantes (pero cada par de parlantes que se
saca de un auto puede volver a colocarse en otro). Cada par de parlantes
desinstalado tiene un beneficio de $5, y cada par colocado, $8.
6 X1 + 5 X2 30
X2 1
-2 X1 + 2 X2 6
Z(mx) = 5 X1 + 8 X2
Lo primero que debemos hacer es transformar las inecuaciones en
igualdades. Para lograr esto, se debe sumar al menor miembro de cada
inecuacin una variable que represente la diferencia entre ambos. En las
restricciones de menor o igual (la primera y la tercera) se debe agregar una
variable adicional (llamada slack o de holgura) que indica cunto le falta a la
suma algebraica que contiene a las variables reales ( X1 y X2) para alcanzar
el valor del trmino independiente (En este caso 30 y 6). En las
restricciones de mayor o igual, la variable slack se debe sumar al termino
independiente para alcanzar el valor de las variables. El problema quedara
expresado como:
6 X1 + 5 X2 + X3 = 30
X2
= 1 + X4
-2 X1 + 2 X2 + X5 = 6
Z(mx) = 5 X1 + 8 X2 + 0 X3 + 0 X4 + 0 X5
Pero preciso tener todas las variables en el primer miembro, y en la segunda
ecuacin X4 est en el segundo. Entonces:
6 X1 + 5 X2 + X3
= 30
X2
- X4
=1
-2 X1 + 2 X2
+ X5 = 6
Z(mx) = 5 X1 + 8 X2 + 0 X3 + 0 X4 + 0 X5
Para armar la tabla inicial, debemos encontrar tres variables cuyos
coeficientes en la tabla inicial formen la base cannica ([1,0,0], [0,1,0],
[0,0,1]). Dos de esas variables pueden ser las slacks X3 y X5. Pero no
podemos utilizar X4, ya que sus coeficientes son [0,-1,0] y no [0,1,0].
Entonces debemos agregar una variable que slo aparezca sumando en la
segunda ecuacin que quedara expresada como:
X2 X4 + 1 = 1
La presencia de esta variable implica que pueda colocar menos de un
par de parlantes por da, o sea que X2 pueda tomar un valor menor que uno (
0,5 - 0 + 0,5 = 1 cumple la igualdad), algo que viola claramente la segunda
restriccin del problema. Esta variable se llama variable artificial, y debe
llevarse su valor a cero para arribar a una solucin factible. Para disminuir
su valor, agregamos la variable artificial restando en el funcional,
multiplicada por una constante muy grande. (Se resta porque es un problema
de maximizacin. Si fuera una minimizacin, esta constante deber
sumarse). De esta forma, el funcional tratar de reducir a cero el valor de
1. El problema completo, listo para armar la tabla inicial queda:
6 X1 + 5 X2 + X3
= 30
X2
- X4
+ 1 = 1
-2 X1 + 2 X2
+ X5
=6
Z(mx) = 5 X1 + 8 X2 + 0 X3 + 0 X4 + 0 X5 M1
C
0
-M
0
X
X3
1
X5
Z = -M
B
30
1
6
5
A1
6
0
-2
-5
8
A2
5
1
2
-M-8
0
A3
1
0
0
0
0
A4
0
-1
0
M
0
A5
0
0
1
0
-M
A6
0
1
0
0
C
0
8
0
X
X3
1
X5
Z = -M
X
X3
X2
X5
Z=8
B
30
1
6
5
A1
6
0
-2
-5
8
A2
5
1
2
-M-8
0
A3
1
0
0
0
0
A4
0
-1
0
M
0
A5
0
0
1
0
-M
A6
0
1
0
0
6
1
3
B
25
1
4
5
A1
6
0
-2
-5
8
A2
0
1
0
0
0
A3
1
0
0
0
0
A4
5
-1
2
-8
0
A5
0
0
1
0
-M
A6
-5
1
-2
M-8
5
---2
Al llegar a esta segunda tabla, vemos dos cosas: La primera es que las
columnas A4 y A6 tienen coeficientes con el mismo valor absoluto, pero
distintos signos. Esto sucede porque los coeficientes de las variables
asociadas a estas columnas (X4 y 1) en las restricciones iniciales del
Una vez que una variable artificial sali de la base, puedo estar
seguro de que no volver a entrar, por lo que se puede omitir su columna a
partir de la prxima iteracin.(*)
C
0
8
0
C
5
8
0
X
X3
X2
X4
Z = 24
B
15
3
2
X
B
X1
15/11
X2
48/11
X4
37/11
Z = 459/11
A1
11
-1
-1
-13
A2
0
1
0
0
A3
1
0
0
0
A4
0
0
1
0
A5
-5/2
1/2
1/2
4
A1
1
0
0
0
A2
0
1
0
0
A3
1/11
1/11
1/11
13/11
A4
0
0
1
0
A5
-5/22
3/11
3/11
23/22
15/11
-------
Esto es vlido si el problema tiene alguna solucin factible. La variable artificial que sali
de la base podra volver a entrar si el problema no fuera factible. Ver apartado
INCOMPATIBLE.
(*)
Resolucin grfica.
X2 + X3
=3
4 X1 + 6 X2
+ X4
= 24
2 X1 + 2 X2
X5 + = 0
Z(mx) = -2 X1 + 4 x2 M
Sin embargo, en la ltima restriccin (la que genera la variable
artificial), vemos que el trmino independiente es cero. En este caso,
podemos multiplicar ambos miembros por 1 y dar vuelta la restriccin. (No
podramos hacer esto con un trmino independiente distinto de cero, ya que
quedara la slack de esa ecuacin con un valor negativo).
X2 3
4 X1 + 6 X2 24
-2 X1 - 2 X2 0
Z(mx) = -2 X1 + 4 X2
Entonces, se puede resolver el problema (que es el mismo, ya que lo
nico que hicimos fue multiplicar una restriccin por una constante), sin
necesidad de recurrir a la variables artificiales. Esto slo es posible cuando
el trmino independiente de la restriccin es igual a cero.
CASOS PARTICULARES
Durante la resolucin de un problema de Simplex, pueden presentarse
casos que representan situaciones particulares, y deben ser tenidas en
cuenta. Estos casos son: Puntos Degenerados, Soluciones Alternativas,
Poliedros Abiertos o Problemas Incompatibles. Cualquiera de estos casos
puede detectarse grficamente o en las tablas de Simplex.
PUNTO DEGENERADO
X1 + 2 X2 24
2 X1 + X2 30
X1 15
Z(mx) = 6 X1 + 4 X2
X1 + 2 X2 + X3 = 24
2 X1 + X2 + X4 = 30
X1 + X5 = 15
Z(mx) = 6 X1 + 4 X2
C
0
0
0
X
X3
X4
X5
B
24
30
15
Z=0
A1
1
2
1
-6
A2
2
1
0
-4
A3
1
0
0
0
A4
0
1
0
0
A5
0
0
1
0
24
15
15
Aqu vemos que hay dos titas positivos mnimos Cul de ellos es el
que se debe elegir? Si recordamos el significado de tita, este es el valor
que va a tomar la variable que entra a la base (X1) en el nuevo vrtice, o
dicho de otro modo, a qu distancia est el nuevo vrtice del actual. Si los
dos puntos estn a la misma distancia, sobre la misma recta, quiere decir
que son el mismo punto o sea, en ese punto se intersectan las rectas de la
variable que quiere entrar a la base(X1) y las de las variables cuyo tita es
igual (X4 y X5). Matemticamente, ese punto est formado por tres
vrtices diferentes (Las intersecciones de X1 con X4, X4 con X5 y X1 con
X5). A esta acumulacin de vrtices en un mismo punto se la denomina punto
degenerado o sobredefinido.
Ya que cualquiera de los dos vrtices nos va a conducir al mismo
punto, podemos elegir cualquiera de ambos. Elegimos (X5) para que el pivote
sea 1, y eso nos simplifique los clculos. (Analizando el grfico, se puede ver
que hubiramos llegado antes al ptimo eligiendo X4).
C
0
0
6
X
B
X3
9
X4
0
X1
15
Z = 90
A1
0
0
1
0
A2
2
1
0
-4
A3
1
0
0
0
A4
0
1
0
0
A5
-1
-2
1
6
9/2
0
En este punto hay tres variables con valor cero. Al calcular los titas,
vemos que uno de ellos tiene valor cero Qu significa esto? Que para llegar
al prximo vrtice (interseccin de X4 con X5) se debe recorrer una
distancia nula. Aunque matemticamente sean el mismo punto, el simplex
analiza cada vrtice por separado. Al hacer esto, es posible que el simplex
permanezca iterando continuamente entre los diversos vrtices que
conforma el mismo punto (esto no ocurre con dos dimensiones, pero s puede
pasar con tres o ms) De ocurrir esto (uno se da cuenta porque se vuelve a
una tabla en la que ya se ha estado), se debe buscar entre todas las tablas
pertenecientes al punto degenerado algn Zj-cj negativo (o positivo si
estuviera en una minimizacin) que genere un tita estrictamente positivo.
(salteando el tita que vale cero)
C
0
4
6
X
B
X3
9
X2
0
X1
15
Z = 90
A1
0
0
1
0
A2
0
1
0
0
A3
1
0
0
0
A4
-2
1
0
4
A5
3
-2
1
-2
3
---15
C
0
4
6
X
B
X5
3
X2
6
X1
12
Z = 96
A1
0
0
1
0
A2
0
1
0
0
A3
1/3
2/3
-1/3
2/3
A4
-2/3
-1/3
2/3
8/3
A5
1
0
0
0
SOLUCIONES ALTERNATIVAS
X1 6
X1 + X2 8
X1 + 2 X2 12
Z(mx) = 4 X1 + 4 X2
X1 + X3 = 6
X1 + X2 + X4 = 8
X1 + 2 X2 + X5 = 12
C
0
0
0
X
X3
X4
X5
B
6
8
12
Z=0
A1
1
1
1
-4
A2
0
1
2
-4
A3
1
0
0
0
A4
0
1
0
0
A5
0
0
1
0
6
8
12
Comenzamos con la tabla inicial en el origen (Punto A). Ante los ZjCj iguales, elegimos X1 para simplificar los clculos (X2 sera igualmente
vlido). Luego, iterando sucesivamente arribamos a los puntos B y C.
C
4
0
0
X
B
X1
6
X4
2
X5
6
Z = 24
A1
1
0
0
0
A2
0
1
2
-4
A3
1
-1
-1
4
A4
0
1
0
0
A5
0
0
1
0
2
3
C
4
4
0
X
B
X1
6
X2
2
X5
2
Z = 32
A1
1
0
0
0
A2
0
1
0
0
A3
1
-1
1
0*
A4
0
1
-2
4
A5
0
0
1
0
6
---2
X
B
X1
4
X2
4
X3
2
Z = 32
A1
1
0
0
0
A2
0
1
0
0
A3
0
0
1
0
A4
2
-1
-2
4
A5
-1
1
1
0*
punto ubicado sobre dicha recta, tendr el mismo valor para el funcional.
Dado que la recta es la que indica X4=0, es lgico que X4 sea la nica
variable con valor cero en ambas tablas. Adems, en el planteo inicial,
vemos que los coeficientes de X1 y X2 en la inecuacin asociada a dicha
recta (X1 + X2 8) son directamente proporcionales a los coeficientes del
funcional (4 X1 + 4 X2).
Propuesta: Resolv el siguiente problema:
4 X1 + 2 X2 8
X1 X2 3
- X1 + 3 X2 9
Z(mx) = 6 X1 + 3 X2
En l, vas a ver un caso en el que tens un punto alternativo con el mismo funcional,
pero lo debs descartar porque hay otro mejor. Plantelo grficamente y mir que
particularidad presenta: Puede darse este caso en una tabla intermedia (que no sea la
inicial ni la ptima)?Por qu?
POLIEDRO ABIERTO
X2 2
4 X1 + 6 X2 24
10 X1 30 X2 30
Z(mx) = X1 + 8 X2
X2 X3 + 1 = 2
4 X1 + 6 X2 X4 + 2 = 24
10 X1 30 X2 X5 + 3 = 30
C
-M
-M
-M
X
1
2
3
Z = -56M
B
2
24
30
1
8
A1
A2
0
1
4
6
10
-30
-14M-1 23M-8
0
A3
-1
0
0
M
0
A4
0
-1
0
M
0
A5
0
0
-1
M
-M
A6
1
0
0
0
-M
A7
0
1
0
0
-M
A8
0
0
1
0
C
X
B
-M
2
1
-M
12
2
1
X1
3
Z = -14M + 3
1
A1
0
0
1
0
C
X
B
-M
4/3
1
8
X2
2/3
1
X1
5
Z = -4/3M + 10 1/3
8
A2
1
18
-3
-19M-11
1
A1
0
0
1
0
8
A2
0
1
0
0
0
A3
-1
0
0
M
0
A3
-1
0
0
M
0
A4
0
-1
0
M
0
A5
0
2/5
-1/10
-2M/5-1/10
-M
A6
1
0
0
0
0
0
A4
A5
1/18
-1/45
-1/18
1/45
-1/6
-1/30
-M/18 11/18 M/45 +13/90
-M
A7
0
1
0
0
-M
A6
1
0
0
0
2
2/3
----
24
-------
6
3
C
0
8
1
X
X4
X2
X1
Z = 25
B
24
2
9
1
A1
0
0
1
0
8
A2
0
1
0
0
0
A3
-18
-1
-3
-11
0
A4
1
0
0
0
0
A5
-2/5
0
-1/10
-1/10
----------
INCOMPATIBLE
X1 + X2 6
2 X1 + X2 1
- X1 + 2 X2 8
Z(mx) = 3 X1 + X2
X1 + X2 + X3 = 6
2 X1 + X2 + X4 = 1
- X1 + 2 X2 X5 + 1 = 8
C
0
0
-M
C
0
1
-M
X
X3
X4
1
Z = -8M
B
6
1
8
X
B
X3
5
X2
1
6
1
Z = -6M +1
3
A1
1
2
-1
M-3
1
A2
1
1
2
-2M-1
0
A3
1
0
0
0
0
A4
0
1
0
0
0
A5
0
0
-1
M
-M
A6
0
0
1
0
3
A1
-1
2
-5
5M-4
1
A2
0
1
0
0
0
A3
1
0
0
0
0
A4
-1
1
-2
2M-2
0
A5
0
0
-1
M
-M
A6
0
0
1
0
6
1
4