SlideShare a Scribd company logo
1 of 26
Download to read offline
Fundamentos de Investigaci´n de Operaciones
o
Investigaci´n de Operaciones 1
o
M´todo Simplex
e
1 de agosto de 2003

1.

Estandarizaci´n
o

Cuando se plantea un modelo de LP pueden existir igualdades y desigualdades. De la misma forma pueden existir variables que deben ser no negativas o bien sin restricci´n de signo (srs). Antes de
o
emplear el m´todo Simplex para resolver un LP, el problema debe ser convertido en uno equivalente
e
en el cual todas las restricciones son ecuaciones y todas las variables son no negativas. Esta versi´n
o
equivalente se denomina forma est´ndar del LP.
a
Para convertir un LP en su forma est´ndar cada desigualdad debe ser transformada en una iguala
dad. Para ilustrar la t´cnica consideremos el siguiente ejemplo:
e
Ejemplo 1 Una f´brica de zapatos de cuero produce dos l´
a
ıneas: modelos de lujo y modelos regulares.
Cada tipo modelo requiere un pie cuadrado de cuero. Un modelo regular necesita 1 hora de mano de
obra, mientras que un modelo de lujo requiere 2 horas de mano de obra. Cada semana se dispone de
40 pies cuadrados de cuero y de 60 horas de mano de obra. Cada zapato regular genera una utilidad
de 30 mil y cada modelo de lujo representa una utilidad de 40 mil.
Para plantear el modelo se emplear´n las variables:
a
x1 : n´mero de zapatos de lujo producidos a la semana
u
x2 : n´mero de zapatos regulares producidos a la semana
u

(1.1)

Luego, el modelo de LP queda (escribiendo la funci´n objetivo en decenas de miles):
o
Max
s.t.

z = 4x1 + 3x2 (Funci´n Objetivo)
o
x1 + x2 ≤ 40
2x1 + x2 ≤ 60
x1 , x2
≥ 0

(a) Restricci´n de cuero
o
(b) Restricci´n de mano de obra
o
(c) Restricci´n de signo
o

(1.2)

Para convertir cada desigualdad de tipo ≤ en una igualdad introduciremos una variable de holgura
si . Cada variable si (una por cada desigualdad de tipo ≤) representa la cantidad de recurso no empleado
de esa restricci´n. Luego, en la restricci´n (a) se tiene:
o
o
s1 = 40 − x1 − x2

´
o

x1 + x2 + s1 = 40

(1.3)

´
o

2x1 + x2 + s2 = 60

(1.4)

Similarmente, para la restricci´n (b) se tiene:
o
s2 = 60 − 2x1 − x2

1
Segundo Semestre 2003

M´todo Simplex
e

Luego, cualquier combinaci´n (x1 , x2 ) satisface la restricci´n i s´lo si al reemplazar los valores se
o
o
o
obtiene si ≥ 0. Finalmente, la versi´n estandarizada del problema (1.2) queda:
o
Max
s.t.

z = 4x1 + 3x2

(Funci´n Objetivo)
o

x1 + x2 + s1 = 40 (a) Restricci´n de cuero
o
2x1 + x2 + s2 = 60 (b) Restricci´n de mano de obra
o

(1.5)

Para ilustrar como estandarizar desigualdades de tipo ≥ consideremos el siguiente ejemplo:
Ejemplo 2
Min
s.t.

z = 50x1 + 20x2 + 30x3 + 80x4
400x1 + 200x2 + 150x3 + 500x4
3x1 + 2x2
2x1 + 2x2 + 4x3 + 4x4
2x1 + 4x2 + x3 + 5x4
x1 , x2 , x3 , x4

≥
≥
≥
≥
≥

(Funci´n Objetivo)
o
500
6
10
8
0

(a)
(b)
(c)
(d)
(e)

(1.6)

Para convertir una restricci´n de tipo ≥ en una restricci´n de igualdad, se definen las variables de
o
o
exceso ei . La variable de exceso ei representa la cantidad de sobresatisfacci´n de la restricci´n i,
o
o
as´ para la restricci´n (a) se tiene:
ı
o
e1 = 400x1 + 200x2 + 150x3 + 500x4 − 500

´
o

400x1 + 200x2 + 150x3 + 500x4 − e1 = 500 (1.7)

Similarmente:
e2 = 3x1 + 2x2 − 6
´ 3x1 + 2x2 − e2 = 6
o
e3 = 2x1 + 2x2 + 4x3 + 4x4 − 10 ´ 2x1 + 2x2 + 4x3 + 4x4 − e3 = 10
o
e4 = 2x1 + 4x2 + x3 + 5x4 − 8
´ 2x1 + 4x2 + x3 + 5x4 − e4 = 8
o

(1.8)

Luego, cualquier combinaci´n (x1 , x2 , x3 , x4 ) satisface la restricci´n i s´lo si al reemplazar los valores
o
o
o
se obtiene ei ≥ 0. Finalmente, la versi´n estandarizada del problema (1.6) queda:
o
Ejemplo 3
Min
s.t.

z = 50x1 + 20x2 + 30x3 + 80x4
400x1 + 200x2 + 150x3 + 500x4 − e1
3x1 + 2x2 − e2
2x1 + 2x2 + 4x3 + 4x4 − e3
2x1 + 4x2 + x3 + 5x4 − e4

(Funci´n Objetivo)
o
=
=
=
=

500
6
10
8

(a)
(b)
(c)
(d)

(1.9)

Evidentemente, para modelos de LP que incluyan desigualdades de tipo ≤ y ≥, habr´ que agregar las
a
variables de holgura y exceso que sean necesarias seg´n el tipo de restricci´n.
u
o
Si en un problema de LP existen variables sin restricci´n de signo (sea por ejemplo y), transforo
maremos esa variable seg´n:
u
y = y 1 − y 2 y1 , y 2 ≥ 0
(1.10)
Donde y es la variable sin restricci´n de signo y las variables y1 e y2 son no negativas.
o

2
Segundo Semestre 2003

2.

M´todo Simplex
e

Descripci´n General
o

Supongamos que se ha convertido un LP con m restricciones a su forma est´ndar. Asumiendo que
a
cada restricci´n contiene n variables (x1 , x2 , . . . xn ) se tiene:
o
Max (o Min)
z = c 1 x1 + c 2 x2 + . . . + c n xn
s.t.
a11 x1 + a12 x2 + . . . + a1n xn
= b1
a21 x1 + a22 x2 + . . . + a2n xn
= b2
.
.
.
.
= .
.

(2.1)

am1 x1 + am2 x2 + . . . + amn xn = bm
xi
≥ 0 ∀i = 1...n
Luego, se puede definir:

a11
 a21

[A] =  .
 .
.

a12
a22
.
.
.

...
...

a1n
a2n
.
.
.

am1 am2 . . . amn



 x1 




 x2 
{x} =
.
 . 


 . 


xn








 b1


 b2
{b} =
.
 .

 .

bm







(2.2)






Por lo tanto, las restricciones del problema (2.1) pueden ser escritas como un sistema lineal:
[A]{x} = {b}

2.1.

(2.3)

Soluciones Basales y No Basales

Consideremos que el sistema (2.3) posee m ecuaciones lineales y n variables (sea n ≥ m).
Definici´n 1 Se puede obtener una soluci´n basal de (2.3) haciendo n − m variables iguales a cero
o
o
y resolviendo para encontrar los valores de las restantes m variables. Se asume que hacer n − m
variables igual a cero conduce a un unico conjunto de valores para las restantes m variables o en forma
´
equivalente, se asume que las columnas de restantes m variables son linealmente independientes.
En consecuencia, para resolver el sistema (2.3) asignaremos 0 a n − m variables (variables no basales
o NBV) y resolveremos el sistema restante de n − (n − m) = m variables (variables basales o BV).
Evidentemente, una selecci´n distinta de variables no basales conducir´ a valores distintos para las
o
a
variables basales, adem´s pueden existir conjuntos de m variables que no son capaces de constituir
a
variables basales pues conducen a un sistema sin soluci´n.
o

2.2.

Soluciones Factibles

Un subconjunto de las soluciones basales de (2.3) es muy importante para la teor´ de la Prograıa
maci´n Lineal:
o
Definici´n 2 Una soluci´n basal de (2.3) en el cual todas las variables son no negativas es una
o
o
soluci´n basal factible o bfs.
o
Los siguientes dos teoremas explican la importancia de concepto de soluci´n basal factible en LP.
o
Teorema 1 La regi´n factible para cualquier problema de programaci´n lineal es un conjunto convexo.
o
o
Adem´s, si un LP tiene soluci´n optima, el optimo debe ser un punto extremo de la regi´n factible.
a
o ´
´
o

3
Segundo Semestre 2003

M´todo Simplex
e

La justificaci´n del Teorema 1 fue discutida intuitivamente cuando se estudi´ la resoluci´n gr´fica
o
o
o
a
de LP de dos variables, adem´s en dos variables tambi´n se vio que el ´ptimo corresponde un punto
a
e
o
extremo.
Teorema 2 Para cualquier LP, existe un unico punto extremo de la regi´n factible correspondiente a
´
o
cada soluci´n basal factible. Adem´s, existe a los menos una bfs correspondiente a cada punto extremo
o
a
de la regi´n factible.
o
Para ilustrar la correspondencia entre puntos extremos y soluci´n basal factible expuesta en el Teorema
o
2, consideremos el LP del Ejemplo 1:
Max
s.t.

z = 4x1 + 3x2
x1 + x2 + s1 = 40 (a)
2x1 + x2 + s2 = 60 (b)
x1 , x2
≥ 0 (c)

(2.4)

La regi´n factible asociada al problema se ilustra en la Figura 2.1.
o
x2
60
50
40

(b)
C

30
B

20

(a)

10
0
D 0

A
10

20

30

40

50

60

x1

Figura 2.1: Regi´n Factible - Ejemplo 1
o
En este caso la regi´n factible corresponde al pol´
o
ıgono ABCD. Los puntos extremos son: A = (30, 0),
B = (20, 20), C = (0, 40) y D = (0, 0). El Cuadro 2.1 muestra la correspondencia entre las soluciones
b´sicas factibles del problema (2.4) y los puntos extremos de la regi´n factible. Este ejemplo pone de
a
o
manifiesto que las soluciones b´sicas factibles de la forma est´ndar de un LP corresponden en forma
a
a
natural a los puntos extremos del LP.
El Teorema 1 dice que cuando se busca la soluci´n ´ptima de un LP con restricciones [A]{x} = {b},
o o
basta con buscar los puntos extremos de la regi´n ´ptima del LP. El Teorema 2 dice que los puntos
o o
extremos de una regi´n factible de un LP son las soluciones basales factibles del sistema [A]{x} = {b}.
o
Por lo tanto, para encontrar la soluci´n ´ptima de un LP se necesita s´lo determinar la mejor soluci´n
o o
o
o
basal factible (valor m´ximo o m´
a
ınimo de z dependiendo si es maximizaci´n o minimizaci´n) del
o
o
sistema [A]{x} = {b}.
4
Segundo Semestre 2003

Variables Variables
Basales No Basales
x1 , x2
s1 , s2
x1 , s1
x2 , s2
x1 , s2
x2 , s1
x2 , s1
x1 , s2
x2 , s2
x1 , s1
s1 , s2
x1 , x2

M´todo Simplex
e

Soluci´n
o
Basal Factible
s1 = s2 = 0, x1 = x2 = 20
x2 = s2 = 0, x1 = 30, s1 = 10
x2 = s1 = 0, x1 = 40, s2 = −20
x1 = s2 = 0, s1 = −20, x2 = 60
x1 = s1 = 0, x2 = 40, s2 = 20
x1 = x2 = 0, s1 = 40, s2 = 60

Correspondencia
a Puntos Extremos
B
A
No es una bfs pues s2 < 0
No es una bfs pues s1 < 0
C
D

Cuadro 2.1: Correspondencia entre bfs y puntos extremos del Ejemplo 1

2.3.

Soluciones Basales Factibles Adyacentes

Antes de desarrollar el algoritmo Simplex, es preciso definir el concepto de soluci´n basal factible
o
adyacente.
Definici´n 3 Para cualquier LP con m restricciones, dos soluciones basales factibles se dicen adyao
centes si el conjunto de variables basales tienen m − 1 variables basales en com´n.
u
Por ejemplo, en la Figura 2.1, dos soluciones basales factibles ser´n adyacentes si tienen 2 − 1 = 1
a
variable b´sica com´n. Luego la bfs correspondiente al punto B (x1 = 0 y x2 = 0) es adyacente a la
a
u
bfs correspondiente al punto A (x1 = 0 y x2 = 0). Sin embargo, el punto B no es adyacente al punto
D (x1 = 0 y x2 = 0) pues no tienen variables b´sicas comunes. Intuitivamente dos soluciones basales
a
factibles son adyacentes si se ubican en el mismo borde de la regi´n factible.
o

2.4.

Pasos Generales del Algoritmo Simplex

Los pasos que sigue el algoritmo Simplex para resolver un LP en el caso de maximizaci´n son:
o
Paso 1 Encontrar una bfs del LP. Esta soluci´n se conocer´ como la base factible inicial. En general,
o
a
la bfs m´s reciente se conocer´ como la base actual.
a
a
Paso 2 Determinar si la bfs actual es una soluci´n optima del LP. Si no lo es, encontrar la bfs
o ´
adyacente de mayor valor de la funci´n objetivo.
o
Paso 3 Volver al Paso 2 utilizando la nueva bfs como bfs actual.
Si la forma est´ndar de un LP tiene m restricciones y n variables, puede haber una soluci´n basal
a
o
para cada elecci´n de variables no b´sicas. De n variables, un conjunto de n − m variables no b´sicas
o
a
a
(o en forma equivalente m variables b´sicas) puede ser elegido de
a
=

n!
(n − m)!m!

(2.5)

n
m

n
m

(2.6)

formas distintas. Por lo tanto, un LP debe tener

soluciones basales. Debido a que algunas soluciones basales pueden no ser factibles, un LP debe tener
a lo m´s
a
n
(2.7)
m
5
Segundo Semestre 2003

M´todo Simplex
e

soluciones basales factibles. Si se procede desde la bfs actual a la mejor bfs (sin repetir una bfs), se
encontrar´ el ´ptimo en el peor de los casos tras
a o
n
m

(2.8)

modificaciones de la bfs actual. Por lo tanto (asumiendo que las bfs no se repiten), el m´todo Simplex
e
encontrar´ la bfs ´ptima luego de un n´mero finito de c´lculos.
a
o
u
a
En principio, se podr´ enumerar todas las soluciones basales factibles de un LP y encontrar la
ıan
bfs que maximiza el valor de la funci´n objetivo. El problema de dicho camino es que incluso para
o
problemas peque˜os el n´mero de bfs puede ser muy grande. Por ejemplo para un problema de 20
n
u
variables y 10 restricciones puede haber hasta 184756 soluciones basales factibles. Afortunadamente,
la pr´ctica indica que en un problema de n variables y m restricciones se puede alcanzar el ´ptimo tras
a
o
alrededor de 3m soluciones basales factibles. Por lo tanto, en el caso de un problema de 20 variables
y 10 restricciones deber´ bastar 30 soluciones b´sicas factibles.
ıan
a

3.

El Algoritmo Simplex
El algoritmo Simplex sigue los siguientes pasos:

Paso 1 Se convierte el LP a su forma est´ndar.
a
Paso 2 Se obtiene una bfs (si es posible) a partir de la forma est´ndar del LP.
a
Paso 3 Se determina si la bfs actual es optima.
´
Paso 4 Si la bfs actual no es optima se determina cual de las variables basales actuales se debe volver
´
no b´sica y cual variable no basal se debe transformar en b´sica para encontrar el mejor valor de la
a
a
funci´n objetivo.
o
Paso 5 Encontrar el mejor valor de la funci´n objetivo y volver al Paso 3.
o
Para aplicar el algoritmo Simplex, la funci´n objetivo
o
z = c 1 x1 + c 2 x2 + . . . + c n xn

(3.1)

z − c 1 x1 − c 2 x2 − . . . − c n xn = 0

(3.2)

debe ser escrita como:
Esta versi´n de la funci´n objetivo se conoce como fila 0.
o
o
Para ilustrar la aplicaci´n del m´todo consideremos un ejemplo.
o
e
Ejemplo 4 Una muebler´ fabrica escritorios, mesas y sillas. La fabricaci´n requiere de materia priıa
o
ma y de mano de obra. La mano de obra se clasifica en dos tipos: carpinter´ y terminaciones. La
ıa
cantidad de recurso requerido para cada tipo de producto se muestra en el Cuadro 3.1.
Actualmente se dispone de 48 pulgadas madereras, 20 horas para terminaciones y 8 horas para carpinter´ Cada escritorio se vende a US$ 60, cada mesa a US$ 30 y cada silla a US$ 20. La empresa
ıa.
piensa que la demanda por escritorios y sillas es ilimitada, pero cree que se vender´n a lo m´s 5
a
a
mesas. Debido a que los recursos ya han sido adquiridos, la empresa desea maximizar su beneficio.
6
Segundo Semestre 2003

M´todo Simplex
e

Recurso
Escritorios Mesas Sillas
Materiales (pulgada maderera)
8
6
1
Terminaciones (horas)
4
2
1,5
Carpinter´ (horas)
ıa
2
1,5
0,5
Cuadro 3.1: Requerimientos por tipo de producto.
Considerando las siguientes variables:
x1 : n´mero de escritorios producidos
u
x2 : n´mero de mesas producidas
u
x2 : n´mero de sillas producidas
u

(3.3)

se puede construir el siguiente modelo:
Max
s.t.

z = 60x1 + 30x2 + 20x3 (Funci´n Objetivo)
o
8x1 + 6x2 + x3
4x1 + 2x2 + 1,5x3
2x1 + 1,5x2 + 0,5x3
x2
x1 , x2 , x3

3.1.

≤
≤
≤
≤
≥

48
20
8
5
0

(a) Materiales
(b) Terminaciones
(c) Carpinter´
ıa
(d) Demanda de mesas

(3.4)

Conversi´n a Forma Est´ndar
o
a

Comenzamos el m´todo Simplex transformando las restricciones a su forma est´ndar. Para ello en
e
a
cada resricci´n de tipo ≤ incorporamos variables de holgura s1 , s2 , s3 y s4 . Escribiremos la funci´n
o
o
objetivo en la forma fila 0 previamente expuesta. Numeraremos las restricciones como fila 1, fila 2, fila
3 y fila 4.
Max
z − 60x1 − 30x2 − 20x3 = 0 Fila 0
s.t.
8x1 + 6x2 + x3 + s1
= 48 (a) Fila 1
4x1 + 2x2 + 1,5x3 + s2
= 20 (b) Fila 2
(3.5)
2x1 + 1,5x2 + 0,5x3 + s3 = 8 (c) Fila 3
x2 + s 4
= 5 (d) Fila 4
xj , si
≥ 0 ∀ i, j
El problema anterior puede ser escrito de la forma indicada en el Cuadro 3.2. Esta forma se denomina
can´nica y se caracteriza porque existe una variable con coeficiente igual a 1 en cada restricci´n y
o
o
esa misma variable aparece en las restantes restricciones con coeficiente 0. Si el lado derecho de las
restricciones es positivo, se puede obtener una soluci´n basal factible por inspecci´n. En el ejemplo,
o
o

Fila
Fila
Fila
Fila
Fila

0 z −60x1 −30x2 −20x3
1
8x1
+6x2
+x3
+s1
2
4x1
+2x2 +1,5x3
+s2
3
2x1
+1,5x2 +0,5x3
+s3
x2
+s4
4

= 0
= 48
= 20
= 8
= 5

Cuadro 3.2: Forma Can´nica del Problema
o
7

Variable B´sica
a
z=0
s1 = 48
s2 = 20
s3 = 8
s4 = 5
Segundo Semestre 2003

M´todo Simplex
e

una soluci´n b´sica factible que puede ser obtenida por simple inspecci´n es x1 = x2 = x3 = 0 y si
o a
o
igual al coeficiente del lado derecho y z = 0, luego:
BV = {z, s1 , s2 , s3 , s4 }

N BV = {x1 , x2 , x3 }

(3.6)

Los valores de cada variable se indican en el Cuadro 3.2. Esta soluci´n corresponder´ a la base
o
a
inicial para aplicar el m´todo Simplex. Como se observa en este ejemplo, las variables de holgura
e
son empleadas como parte de la soluci´n basal factible inicial.
o

3.2.

´
Verificaci´n del Optimo
o

Una vez determinada una bfs inicial, es preciso establecer si corresponde a una soluci´n ´ptima.
o o
En este caso debemos verificar si existe una forma de mejorar el valor de la funci´n objetivo. Si la bfs
o
no es ´ptima se debe buscar una bfs adyacente que tenga un mejor valor de funci´n objetivo. Para
o
o
ello, debemos identificar la variable no basal que incrementa m´s la funci´n objetivo manteniendo el
a
o
resto de las variables no b´sicas en valor 0.
a
Reescribiendo la funci´n objetivo:
o
z = 60x1 + 30x2 + 20x3

(3.7)

A partir de (3.7) podemos determinar la variable no b´sica m´s conveniente. Por ejemplo por cada
a
a
unidad de aumento de x1 la funci´n objetivo crece en 60 (manteniendo x2 y x3 igual a cero). De
o
acuerdo a esta l´gica, conviene buscar la bfs adyacente que contenga a x 1 , en este caso se dice que x1
o
se vuelve una variable b´sica o bien es la variable entrante a la base. N´tese que x1 es la variable
a
o
con el coeficiente m´s negativo de la fila 0.
a

3.3.

Determinaci´n del Valor de la Variable Entrante
o

Una vez escogida la variable entrante como la de coeficiente m´s negativo en la fila 0, necesitamos
a
determinar cu´l es el valor m´ximo que puede tomar esta variable. En el ejemplo si x 1 adquiere un
a
a
valor positivo, los valores de las otras variables basales debe cambiar. Por lo tanto, podr´ ocurrir que
ıa
alguna de las variables basales tomara un valor negativo. Teniendo en cuenta ello, podemos calcular
c´mo cambia el valor de las variables basales en funci´n de valor que tome x 1 f´cilmente gracias a que
o
o
a
x2 = x3 = 0. Por ejemplo en la fila 1 podemos escribir:
s1 = 48 − 8x1

(3.8)

Luego, como se debe satisfacer la restricci´n de signo de s1 , se debe modificar x1 de forma de mantener
o
s1 ≥ 0, as´
ı:
48
s1 = 48 − 8x1 ≥ 0 → x1 ≤
=6
(3.9)
8
Repitiendo la misma l´gica en todas las restricciones:
o
s1 ≥ 0 → x 1 ≤
s2 ≥ 0 → x 1 ≤
s3 ≥ 0 → x 1 ≤

48
8 =6
20
4 =5
8
2 =4

(3.10)

s4 ≥ 0 → ∀ x 1
Por lo tanto, para mantener las variables basales no negativas, el m´ximo valor que puede tomar x 1
a
o
corresponde a m´ 48 , 20 , 2 } = 4, por lo tanto si se escoge x1 > 4, s3 se vuelve negativa y la soluci´n
ın{ 8 4 8
8
Segundo Semestre 2003

M´todo Simplex
e

basal deja de ser factible.
Cada restricci´n en la cual el coeficiente de la variable entrante es positivo representa una restrico
ci´n para el valor m´ximo que pueda tomar dicha variable. Luego, en t´rminos generales, para cada
o
a
e
restricci´n en la que la variable entrante tiene un coeficiente positivo se debe verificar que:
o
Coeficiente del lado derecho de la fila
Coeficiente de la variable entrante en la fila

(3.11)

Si una variable tiene un coeficiente no positivo en una fila (por ejemplo x1 en la fila 4), la variable
b´sica de la fila sigue siendo positiva para cualquier valor de la variable entrante.
a
En suma, para determinar el valor m´ximo de una variable entrante basta con aplicar (3.11) en
a
todas las filas con coeficiente de la variable entrante positivo y escoger el m´
ınimo. El valor menor
corresponder´ a la fila m´s restrictiva y por lo tanto la que controla el valor entrante.
a
a

3.4.

C´lculo de la Nueva Soluci´n B´sica Factible - Pivoteo
a
o
a

Siempre se debe incorporar una variable entrante en la fila que control´ su valor m´ximo. En el
o
a
ejemplo, para hacer que x1 sea la variable basal en la fila 3 se debe emplear operaciones fila elementales
para conseguir que x1 tenga coeficiente 1 en dicha fila y 0 en las otras filas. El procedimiento se
denomina pivoteo en la fila 3. El resultado final es que x1 reemplace a s3 como variable b´sica de la
a
fila 3. Los pasos a seguir son los siguientes:
Paso 1 Se crea un coeficiente 1 para x1 en la fila 3 multiplicando la fila completa por
resultante de la operaci´n es:
o
x1 + 0,75x2 + 0,25x3 + 0,5s3 = 4

1
2.

La fila
(3.12)

Paso 2 Se crea un coeficiente 0 para la variables x1 en la fila 0. Para ello basta multiplicar por 60
(3.12) y sumarla a la fila 0 actual:
z + 15x2 − 5x3 + 30s3 = 240

(3.13)

Paso 3 Para fabricar un coeficiente 0 para la variables x1 en la fila 1 se multiplica por −8 (3.12) y
se suma a la fila 1 actual:
−x3 + s1 − 4s3 = 16
(3.14)
Paso 4 Creamos un coeficiente 0 para la variables x1 en la fila 2 multiplicando por −4 (3.12) y
sum´ndosela a la fila 2 actual:
a
−x2 + 0,5x3 + s2 − 2s3 = 4
(3.15)
Debido a que en la fila 4 no aparece la variable x1 , no es necesario aplicar operaciones filas para
eliminar x1 de la fila. Luego, la fila 4 queda igual que antes:
x2 + s 4 = 5

(3.16)

Efectuando todas las modificaciones descritas se completa el Cuadro 3.3.
Las variables basales y no basales en este caso definen los siguientes conjuntos:
BV = {z, s1 , s2 , x1 , s4 }

9

N BV = {s3 , x2 , x3 }

(3.17)
Segundo Semestre 2003

Fila
Fila
Fila
Fila
Fila

M´todo Simplex
e

0 z
+15x2
−5x3
+30s3
1
−x3
+s1
−4s3
2
−x2
+0,5x3
+s2 −2s3
3
x1 +0,75x2 +0,25x3
+0,5s3
4
x2
+s4

= 240
= 16
= 4
= 4
= 5

Variable B´sica
a
z = 240
s1 = 16
s2 = 4
x1 = 4
s4 = 5

Cuadro 3.3: Forma Can´nica (Primera Iteraci´n)
o
o
La forma can´nica actual est´ asociada a la soluci´n factible z = 240, s 1 = 16, s2 = 4, x1 = 4, s4 = 5
o
a
o
y x2 = x3 = s3 = 0. Se podr´ haber predicho el valor de z considerando que cada unidad de x 1
ıa
incrementa el valor de z en 60 y que se determin´ que x1 entrar´ a la base con valor 4. Luego:
o
ıa
Valor de z despu´s de la iteraci´n = Valor de z inicial + 4 × 60 = 0 + 240 = 240
e
o

(3.18)

En el paso de la forma can´nica inicial a una mejorada (mayor valor de z posible) se cambi´ de una bfs
o
o
a una bfs adyacente, pues s´lo cambi´ una variable b´sica. Este procedimiento de cambiar de una bfs
o
o
a
a la bfs adyacente con mayor valor de la funci´n objetivo se denomina iteraci´n del m´todo Simplex.
o
o
e
A continuaci´n, repetiremos el procedimiento a partir de la forma can´nica del Cuadro 3.3. Para ello
o
o
examinamos la fila 0 del Cuadro 3.3 y buscamos la variable que m´s hace crecer la funci´n objetivo
a
o
unitariamente (manteniendo las otras variables no basales en cero):
z = 240 − 15x2 + 5x3 − 30s3

(3.19)

De la expresi´n (3.19), un cambio unitario de la variable x3 aumenta la funci´n objetivo en 5. Luego, se
o
o
selecciona la variable x3 (las otras tienen coeficiente negativo). A continuaci´n debemos determinar el
o
valor m´ximo que puede tomar x3 de modo de no violar alguna restricci´n. De acuerdo al procedimiento
a
o
previamente descrito se tiene (recordando que x2 = s3 = 0):
de la fila 1 : s1 = 16 + x3
de la fila 2 : s2 = 4 − 0,5x3
de la fila 3 : x1 = 4 − 0,25x3

(3.20)

de la fila 4 : s4 = 5
De las expresiones anteriores se concluye que sin importar el valor que tome x 3 , se tiene: s1 ≥ 0 y
s4 ≥ 0. Luego, imponiendo la condici´n que s2 y x1 sean no negativas:
o
s1 ≥ 0 → x 3 ≤
x1 ≥ 0 → x 3 ≤

4
0,5 = 8
4
0,25 = 16

(3.21)

Por lo tanto, para mantener las variables basales no negativas, el m´ximo valor que puede tomar x 3
a
o
a
corresponde a m´ 0,5 , 0,25 } = 8, luego x3 = 8. En este caso, la fila que control´ el valor de m´ximo
ın{ 4 4
de x3 fue la fila 2, por lo tanto se debe emplear el pivoteo para conseguir una forma can´nica en la
o
que x3 sea la variable b´sica de la fila 2. Esto se consigue siguiendo los siguientes pasos:
a
Paso 1 Se crea un coeficiente 1 para la variable x3 en la fila 2 de la forma can´nica del Cuadro 3.3
o
multiplicando la fila completa por 2:
−2x2 + x3 + 2s2 − 4s3 = 8
10

(3.22)
Segundo Semestre 2003

M´todo Simplex
e

Paso 2 Construimos un coeficiente 0 para la variable x3 en la fila 0 sum´ndole 5 veces (3.22) a la
a
fila 0 actual:
z + 5x2 + 10s2 + 10s3 = 280
(3.23)
Paso 3 Para generar un coeficiente 0 para la variable x3 en la fila 1 se le suma (3.22) a la fila 1
actual:
−2x2 + s1 + 2s2 − 8s3 = 24
(3.24)
Paso 4 Creamos un coeficiente 0 para la variable x3 en la fila 3 multiplicando por − 1 a (3.22) y
4
sum´ndosela a la fila 3 actual:
a
x1 + 1,25x2 − 0,5s2 + 1,5s3 = 2

(3.25)

Debido a que la variable x3 no aparece en la fila 4, la fila queda igual:
x2 + s 4 = 5

(3.26)

Haciendo todas las modificaciones expuestas, la forma can´nica resultante se muestra en el Cuadro
o
3.4. Determinando la variable b´sica en cada fila se obtiene:
a
BV = {z, s1 , x3 , x1 , s4 }

N BV = {s2 , s3 , x2 }

(3.27)

La forma can´nica actual est´ asociada a la soluci´n factible z = 280, s 1 = 24, x3 = 8, x1 = 2,
o
a
o

Fila
Fila
Fila
Fila
Fila

0 z
+5x2
+10s2 +10s3
1
−2x2
+s1 +2s2
−8s3
−2x2 +x3
+2s2
−4s3
2
3
x1 1,25x2
−0,5s2 +1,5s3
4
x2
+s4

Variable B´sica
a
= 280
z = 280
= 24
s1 = 24
= 8
x3 = 8
= 2
x1 = 2
= 5
s4 = 5

Cuadro 3.4: Forma Can´nica del Problema (Segunda Iteraci´n)
o
o
s4 = 5 y s2 = s3 = x3 = 0. Se podr´ haber predicho el valor de z considerando que cada unidad de
ıa
x3 incrementa el valor de z en 5 y que se determin´ que x3 entrar´ a la base con valor 8. Luego:
o
ıa
Valor de z despu´s de la iteraci´n = Valor de z previo + 8 × 5 = 240 + 40 = 280
e
o

(3.28)

Debido a que las bfs previa y actual tienen 4 − 1 = 3 variables en com´n (s1 , s4 y x1 ), corresponden
u
a soluciones basales factibles adyacentes.
Volviendo a escribir la fila 0 de la ultima base y despejando z se tiene:
´
z = 280 − 5x2 − 10s2 − 10s3

(3.29)

En la expresi´n anterior se observa que el incremento a un valor distinto de cero de cualquier variable
o
no b´sica provocar´ una reducci´n de la funci´n objetivo. Por lo tanto, se puede concluir que la
a
ıa
o
o
soluci´n b´sica factible mostrada en el Cuadro 3.4 corresponde a una soluci´n ´ptima.
o a
o o
El criterio empleado para determinar que se ha alcanzado se puede generalizar: una forma can´nica es
o
optima (para un problema de maximizaci´n) si cada variable no b´sica posee un coeficiente no negativo
´
o
a
en la fila 0 de la forma can´nica.
o
11
Segundo Semestre 2003

3.5.

M´todo Simplex
e

Resumen del M´todo Simplex (Maximizaci´n)
e
o

Paso 1 Convertir el LP a suma forma est´ndar.
a
Paso 2 Encontrar una soluci´n b´sica factible. Si todas las restricciones son de tipo ≤ se pueden usar
o a
las variables de holgura si para cada fila i.
Paso 3 Si todas las variables no b´sicas tienen un coeficiente no negativo en la fila 0, la bfs actual
a
es optima. Si hay variables en la fila 0 con coeficientes negativos, se debe escoger la que acompa˜e
´
n
al coeficiente m´s negativo en la fila 0 para entrar a la base. Esta variable se denomina la variable
a
entrante.
Paso 4 Emplear el pivoteo para hacer que la variable entrante ingrese a la base en la fila que restringi´ su valor. Una vez obtenida la base, volver al paso 3, empleando la forma can´nica actual.
o
o
Cuando se emplea el m´todo Simplex para resolver un problema no pueden existir coeficientes
e
negativos al lado derecho de la restricci´n. Un coeficiente negativo puede provenir de una elecci´n
o
o
err´nea de la determinaci´n del valor m´ximo que puede tomar la variable entrante.
o
o
a

3.6.

El Tableau de Simplex

Una forma m´s c´moda y simple de representar un LP para aplicar el m´todo Simplex es mediante
a o
e
un tableau. Volvamos al problema inicial en su versi´n estandarizada:
o
Max
s.t.

z = 60x1 + 30x2 + 20x3
8x1 + 6x2 + x3 + s1
4x1 + 2x2 + 1,5x3 + s2
2x1 + 1,5x2 + 0,5x3 + s3
x2 + s 4
xj , si

=
=
=
=
≥

(Funci´n Objetivo)
o
48
20
8
5
0

(a) Materiales
(b) Terminaciones
(c) Carpinter´
ıa
(d) Demanda de mesas
∀ i, j

(3.30)

El tableau 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.
o
Luego, se crea una fila por restricci´n: en la primera columna se ubica el nombre de la variable que
o
est´ en la base asociada a esa restricci´n, en la segunda columna se ubica el coeficiente en la funci´n
a
o
o
objetivo de la variable basal, en las columnas siguiente se representa el coeficiente de cada variable
en cada restricci´n y en la ultima columna se ubica el coeficiente del lado derecho asociado a dicha
o
´
restricci´n.
o
A continuaci´n, se procede a calcular la pen´ltima fila (zj ). Para ello basta multiplicar por cada
o
u
columna los coeficiente 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
o
o
la variable de esa columna a la base. En la ultima fila de la ultima 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,
o
o
por lo tanto es el valor actual de la funci´n objetivo z.
o
En la ultima fila se efect´a la resta entre el valor zj asociado a cada variable y el coeficiente en
´
u
la funci´n objetivo de la variable de esa columna. El valor obtenido corresponde exactamente al neo
gativo del valor del coeficiente asociado a esa variable en la fila 0 de la forma can´nica previamente
o
vista, y representa la variaci´n neta de la funci´n objetivo en t´rminos unitarios al incorporar una
o
o
e
12
Segundo Semestre 2003

M´todo Simplex
e

Base cj
s1
0
s2
0
s3
0
s4
0
zj
cj − z j

x1 x2 x3 s1 s2 s3 s4
60 30 20 0 0 0 0 bi
8
6
1
1 0 0 0 48
4
2 1,5 0 1 0 0 20
2 1,5 0,5 0 0 1 0 8
0
1
0
0 0 0 1 5

Cuadro 3.5: Tableau Inicial del Problema
unidad de esa variable a la base, es decir la diferencia entre la disminuci´n representada por z j y el
o
aporte positivo proporcionado por cj . Conoceremos este coeficiente como precio sombra en el caso
de variables de decisi´n y como costo de oportunidad en el caso de variables de holgura. El precio
o
sombra de una variable de decisi´n debe entenderse como la variaci´n neta de la funci´n fruto de
o
o
o
la incorporaci´n de una unidad de esa variable a la base. El costo de oportunidad de una variable
o
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
o
cj − zj = 0 en cada una de ellas.
El Cuadro 3.6 muestra el resultado obtenido tras la aplicaci´n del procedimiento descrito previamente.
o
Como la ultima fila muestra los aportes netos unitarios de las variables, procedemos a seleccionar el
´
mayor valor posible (variable x1 ). Luego, debemos calcular el valor m´ximo con el que puede ingrea
sar a la base dicha variable. De acuerdo al procedimiento descrito previamente esto es equivalente a
efectuar el cuociente entre bi y el coeficiente de la variable entrante en esa restricci´n (aij ). Para ello,
o
ampliamos el tableau generando una columna adicional a la derecha (Cuadro 3.7). Si el coeficiente de
la variable es no positivo no se efect´a el c´lculo pues eso significa que no existe l´
u
a
ımite para el valor
de la variable entrante en esa restricci´n.
o

Base cj
s1
0

x1
60
8

x2
30
6

x3
20
1

s1 s2 s3 s4
0 0 0 0 bi
1 0 0 0 48

s2

0

4

2

1,5

0

1

0

0

20

s3

0

2

1,5 0,5

0

0

1

0

8

s4

0

0

1

0

0

0

0

1

5

0
60

0
30

0
20

0
0

0
0

0
0

0
0

0

zj
cj − z j

Cuadro 3.6: Tableau de la Primera Iteraci´n del Problema
o
Una vez determinada la variable saliente y valor de la variable entrante se procede a aplicar el
pivoteo al tableau. Para ello fabricamos un 1 como coeficiente de x1 en la fila de s3 del tableau y
mediante operaciones fila generamos un cero en cada coeficiente de las otras restricciones para la
variable entrante x1 . Se vuelve a calcular los zj y luego los cj − zj . En este caso, el unico precio sombra
´
positivo es el asociado a x3 , por lo que conviene que ingrese esta variable a la base. Luego, ampliamos
el tableau y determinamos el valor m´ximo con el que puede entrar x3 . De acuerdo al Cuadro 3.8 el
a
valor lo controla la segunda restricci´n y corresponde a 8. Sale la variable s 2 y entra x3 = 8, el cambio
o
13
Segundo Semestre 2003

M´todo Simplex
e

Base cj
s1
0

x1
60
8

x2
30
6

x3
20
1

s1 s2 s3 s4
0 0 0 0 bi
1 0 0 0 48

s2

0

4

2

1,5

0

1

0

0

20

s3

0

2

1,5 0,5

0

0

1

0

8

bi
aij
48
8 =6
20
4 =5
8
2 =4→

s4

0

0

1

0

0

0

0

1

5

−

zj

0

0

0

0

0

0

0

0

cj − z j

60

30

20

0

0

0

0

Cuadro 3.7: Tableau Ampliado de la Primera Iteraci´n del Problema
o
en la funci´n objetivo ser´ de ∆z + = 8 × 5 = 40, es decir se cumple que:
o
a
z k+1 = z k + (cj − zj ) × min

bj
aij

(3.31)

Se aplica el pivoteo y se construye el Cuadro 3.9. En este caso, todos los valores de los precios sombras

Base cj
s1
0

x1
60
0

x2
30
0

x3
20
−1

s1 s2
0 0
1 0

s3
0
−4

s4
0
0

bi
16

s2

0

0

−2

0,5

0

1

−2

0

4

x1

60

1

0,75 0,25

0

0

0,5

0

4

4
0,5 = 8 →
4
0,25 = 16

s4

0

0

0

0

0

0

1

5

−

15
5

0
0

0
0

30
−30

0
0

240

zj
cj − z j

1

60 45
0 −15

bi
aij

−

Cuadro 3.8: Tableau Ampliado de la Segunda Iteraci´n del Problema
o
y costos de oportunidad son no positivos, por lo tanto se ha alcanzado el ´ptimo. El valor de cada
o
variable y de la funci´n objetivo se determina leyendo la columna de la izquierda.
o
Base cj
s1
0

x1
60
0

x2
30
−2

x3 s1
20 0
0 1

s2
0
2

s3
0
−8

s4
0
0

bi
24

x3

20

0

−2

1

0

2

−4

0

8

x1

60

1

1,25

0

0

−0,5

1,5

0

2

s4

0

0

1

0

0

0

0

1

5

60
0

35
−5

20
0

0
0

10
−10

10
−10

0
0

280

zj
cj − z j

Cuadro 3.9: Tableau Final del Problema

14
Segundo Semestre 2003

4.

M´todo Simplex
e

Minimizaci´n empleando Simplex
o

Existen dos forma de emplear el m´todo Simplex para resolver problemas de minimizaci´n. Para
e
o
ilustrar las dos alternativas consideremos el siguiente ejemplo:
Min
s.t.

z = 2x1 − 3x2 (Funci´n Objetivo)
o
x1 + x 2 ≤ 4
x1 − x 2 ≤ 6
x1 , x2
≥ 0

4.1.

(a)
(b)

(4.1)

M´todo 1
e

El primer m´todo consiste en transformar el problema de minimizaci´n en uno de maximizaci´n.
e
o
o
Para ello, basta con modificar la funci´n objetivo de la siguiente forma:
o
Min z = f (x) ⇔ Max z = −f (x)

(4.2)

Por lo tanto, para resolver el problema (4.3) podemos aplicar el m´todo Simplex a:
e
Max
s.t.

z = −2x1 + 3x2 (Funci´n Objetivo)
o
x1 + x 2 + s 1 = 4
x1 − x 2 + s 2 = 6

(4.3)

(a)
(b)

El Cuadro 4.1 muestra la primera iteraci´n del problema. En este caso la variable con mayor precio
o
sombra es x2 . El valor m´ximo con el que puede entrar es 4 y reemplazar´ a s1 en la base. El nuevo
a
a
valor de la funci´n objetivo ser´: z = 4 × 3 = 12.
o
a

Base cj
s1
0
s2

0

zj
cj − z j

x1
−2
1

x2
3
1

s1 s2
0 0 bi
1 0 4

bi
aij
4
1 =

1

−1

0

1

6

−

0
−2

0
3

0
0

0
0

0

4→

Cuadro 4.1: Primera Iteraci´n Problema de Minimizaci´n - M´todo 1
o
o
e
Aplicando el pivoteo, se construye el Cuadro 4.2. En este caso, en todas las variables se cumple que
cj − zj ≤ 0, por lo tanto se ha alcanzado el ´ptimo. Luego, la soluci´n ´ptima corresponde a x 2 = 4,
o
o o
s2 = 10, x1 = s1 = 0, con z = 12. Esto significa que en el problema original, el valor ´ptimo de la
o
funci´n objetivo es z = −12, con x2 = 4, s2 = 10 y x1 = s1 = 0.
o
En suma, una opci´n para resolver un problema de minimizaci´n con Simplex es multiplicando por
o
o
−1 la funci´n objetivo y aplicar el algoritmo manteniendo todas las reglas vistas anteriormente.
o

4.2.

M´todo 2
e

Se puede hacer un modificaci´n muy simple para aplicar Simplex directamente a un problema de
o
minimizaci´n. Las modificaciones son las siguientes:
o
15
Segundo Semestre 2003

M´todo Simplex
e

Base cj
x2
3
0

s2

zj
cj − z j

x1 x2
−2 3
1
1

s1
0
1

s2
0
0

bi
4

2

0

1

1

10

3
−5

3
0

3
−3

0
0

12

Cuadro 4.2: Tableau Final Problema de Minimizaci´n - M´todo 1
o
e
Debido a que interesa minimizar la funci´n objetivo se incorpora a la base las variables que
o
poseen precio sombra o costo de oportunidad m´s negativo.
a
El ´ptimo se alcanza cuando se cumple que: cj − zj ≥ 0 ∀ j
o
Siguiendo este m´todo, el tableau correspondiente a la primera iteraci´n se muestra en el Cuadro 4.3.
e
o
En este caso, el precio sombra de la variable x2 es el m´s negativo, por lo que se incorpora a la base.
a
Ampliando el tableau, se encuentra que la restricci´n que controla el valor de la variable es la primera
o
con un m´ximo de x2 = 4.
a
Mediante pivoteo en la primera restricci´n se completa el Cuadro 4.4. Este tableau es el final, pues
o

Base cj
s1
0

x1
2
1

x2
−3
1

s1 s2
0 0 bi
1 0 4

bi
aij
4
1 =

0

1

−1

0

1

6

−

zj

0

0

0

0

0

cj − z j

2

−3

0

0

s2

4→

Cuadro 4.3: Primera Iteraci´n Problema de Minimizaci´n - M´todo 2
o
o
e
todos los precios sombras y costos de oportunidad de las variables no basales son no negativos. Evidentemente, la soluci´n obtenida coincide con el ´ptimo alcanzado con el m´todo 1.
o
o
e
Base cj
x2 −3
s2

0

zj
cj − z j

x1
2
1

x2
−3
1

s1
0
1

s2
0
0

bi
4

2

0

1

1

10

0
0

−12

−3 −3 −3
5
0
3

Cuadro 4.4: Tableau Final Problema de Minimizaci´n - M´todo 1
o
e

5.

Generalizaci´n
o

El m´todo Simplex busca ´ptimos adyacentes a partir una soluci´n basal factible. En todos lo
e
o
o
ejemplos de resoluci´n que se han visto hasta ahora se han empleado en la soluci´n inicial factible las
o
o
16
Segundo Semestre 2003

M´todo Simplex
e

variables de holgura. Sin embargo, el empleo de variables de holguras no es posible cuando se tiene
restricciones de tipo ≥ o =. En estos casos se recurre al empleo de variables artificiales para resolver
el LP mediante Simplex. Veamos un ejemplo:
Min
s.t.

z = 2x1 + 3x2
0,5x1 + 0,25x2
x1 + 3x2
x1 + x 2
x1 , x2

≤
≥
=
≥

(Funci´n Objetivo)
o
4 (a)
20 (b)
10 (b)
0

(5.1)

La versi´n estandarizada del problema queda:
o
Min
s.t.

z = 2x1 + 3x2

(Funci´n Objetivo)
o

0,5x1 + 0,25x2 + s1 = 4 (a)
x1 + 3x2 − e2
= 20 (b)
x1 + x 2
= 10 (c)

(5.2)

Si intentamos buscar una soluci´n b´sica factible a partir de (5.2) nos encontrar´
o a
ıamos con dificultades:
en la primera restricci´n se puede tomar a s1 = 4 como variable basal, en la segunda restricci´n
o
o
deber´
ıamos tomar e2 = −20 y en la tercera no habr´ posibilidad de conseguir una variable b´sica.
ıa
a
Debido a que el m´todo exige variables positivas, no es aceptable que en la segunda restricci´n la
e
o
variable de exceso e2 tome un valor negativo. Para resolver el problema, inventaremos variables basales
para cada restricci´n que lo necesite. Debido a que dichas variables no tienen ning´n significado para
o
u
el problema que se est´ resolviendo las denominaremos variables artificiales (a i ). Recurriendo a
a
esta opci´n, la nueva forma est´ndar queda:
o
a
Min
s.t.

z = 2x1 + 3x2

(Funci´n Objetivo)
o

0,5x1 + 0,25x2 + s1 = 4 (a)
x1 + 3x2 − e2 + a2 = 20 (b)
x1 + x 2 + a 3
= 10 (c)

(5.3)

Luego, como soluci´n b´sica factible inicial podemos tomar s1 = 4, a2 = 20 y a3 = 10. Las variables
o a
no b´sicas ser´
a
ıan: x1 = x2 = e2 = 0. El problema ahora, es que si se aplica el m´todo Simplex al
e
problema (5.3) no existen garant´ que la soluci´n encontrada efectivamente corresponda a un ´ptiıas
o
o
mo para el problema (5.1), ya que eventualmente en la base final podr´ ocurrir que alguna de las
ıa
variables artificiales est´ en ella, es decir, tenga un valor distinto de cero.
e
Para garantizar que el ´ptimo encontrado sea el correspondiente al problema original debemos forzar
o
a que el algoritmo deje fuera de la base a las variables artificiales. La idea consiste en incorporar a la
funci´n objetivo las variables artificiales con un coeficiente −M , donde M es una constante positiva
o
lo suficientemente grande para la escala del problema (en caso de minimizaci´n debemos emplear s´lo
o
o
M ). Luego, si las variables artificiales tomaran un valor positivo, la funci´n objetivo se ver´ tremendao
ıa
mente castigada en su valor. Por lo tanto, el m´todo se encargar´ de hacer que las variables artificiales
e
a
sean nulas al maximizar (o minimizar) la funci´n objetivo. De acuerdo a ello, el nuevo problema a
o
resolver queda:
Min
s.t.

z = 2x1 + 3x2 + M a1 + M a2 (Funci´n Objetivo)
o
0,5x1 + 0,25x2 + s1 = 4
x1 + 3x2 − e2 + a2 = 20
x1 + x 2 + a 3
= 10
17

(a)
(b)
(c)

(5.4)
Segundo Semestre 2003

M´todo Simplex
e

Para ver c´mo funciona el m´todo construyamos el tableau y resolvamos el problema. A partir del
o
e
Cuadro 5.1 se observa que la variable con cj − zj m´s negativo corresponde a x2 , como deseamos
a
minimizar incorporamos ´sta variable a la base. Haciendo el c´lculo del valor m´ximo obtenemos que
e
a
a
debe salir la variable artificial a2 , la variable entrante se incorpora a la base con valor 20 . En este caso,
3
la funci´n disminuye de 30M a 30M + 20 (3 − 4M ) = 20 + 10 M .
o
3
3
Mediante pivoteo se obtiene el Cuadro 5.2. En este caso, la variable con precio sombra m´s nea

Base
s1

cj
0

x1
2
0,5

x2
3
0,25

s1
0
1

e2
0
0

a2
M
0

a3
M
0

bi
4

a2

M

1

3

0

−1

1

0

20

a3

M

1

1

0

0

0

1

10

zj

2M

4M

0

−M

M

M

30M

cj − z j

2 − 2M

3 − 4M

0

M

0

0

bi
aij
4
0,25 = 16
20
3 →
10
1 = 10

Cuadro 5.1: Primera Iteraci´n - Generalizaci´n
o
o
gativo corresponde a x1 . En este caso, el valor m´ximo que puede tomar x1 queda controlado por la
a
tercera restricci´n y es igual a 5. Luego, sale de la base la variable artificial de la tercera restricci´n y
o
o
2
entra x1 = 5. En este caso la funci´n objetivo disminuye de 20 + 10 M a 20 + 10 M + 5(1 − 3 M ) = 25.
o
3
3
Mediante pivoteo respecto de la tercera restricci´n se construye el tableau del Cuadro 5.3. Debido
o

Base
s1

cj
0

x2

3

a3

x1
2

M
zj

cj − z j

1

5
12
1
3
2
3
+ 2M
3

1 − 2M
3

x2 s1
3 0
0 1

e2
0

3

0

1
12
−1
3
1
3
−1 + 1 M
3

0

0

1
1 − 3M

1

0

0

0

a2
M
1
− 12

a3
M
0

1
3

0

−1
3

1

1−

1
3M

M

4
3M

−1

bi
7
3
20
3
10
3
+ 10 M
3

bi
aij
28
5

20
5→

0

20

Cuadro 5.2: Segunda Iteraci´n - Generalizaci´n
o
o
a que en este tableau todos los precios sombra son positivos, se ha alcanzado el ´ptimo. Adem´s, se
o
a
verifica que las variables artificiales no est´n en la base, por lo que podemos asegurar que la soluci´n
a
o
´ptima obtenida efectivamente corresponde al ´ptimo del problema inicial.
o
o

6.
6.1.

Casos Especiales
Soluciones Alternativas

Para ilustrar una situaci´n en la que aparecen soluciones alternativas, consideremos el Ejemplo 4
o
pero modificando el coeficiente que acompa˜a a la variable x2 en la funci´n objetivo aumentando de
n
o

18
Segundo Semestre 2003

M´todo Simplex
e

Base cj
s1
0

x 1 x 2 s 1 e2
2 3 0
0
1
0 0 1 −8

a2
M

x2

3

0

1

0

1
−2

2

1

0

0

1
2

0
0

−1
2
1
2

1
2

zj
cj − z j

2
0

3
0

M−

1
2

5

3
2

1
−2

bi

−1
2

1
8
1
2

x1

a3
M
−5
8

5

M
0

25

1
4

Cuadro 5.3: Segunda Iteraci´n - Generalizaci´n
o
o
30 a 35. Luego, el modelo de LP queda:
Max
s.t.

z = 60x1 + 35x2 + 20x3
8x1 + 6x2 + x3 + s1
4x1 + 2x2 + 1,5x3 + s2
2x1 + 1,5x2 + 0,5x3 + s3
x2 + s 4
xj , si

=
=
=
=
≥

(Funci´n Objetivo)
o
48
20
8
5
0

(a) Materiales
(b) Terminaciones
(c) Carpinter´
ıa
(d) Demanda de mesas
∀ i, j

(6.1)

El tableau inicial se muestra en el Cuadro 6.1. Aplicando el m´todo Simplex, tras dos iteraciones se
e
obtiene el tableau final del Cuadro 6.2. Aqu´ la funci´n objetivo resulta z = 280 y las variables basales
ı,
o
son: s1 = 24, x3 = 8, x1 = 2 y s4 = 5.
Anteriormente, se mostr´ que una propiedad de las variables basales es que en cada tableau se
o
Base cj
s1
0
s2
0
0
s3
s4
0
zj
cj − z j

x1 x2 x3 s1 s2 s3 s4
60 35 20 0 0 0 0 bi
8
6
1
1 0 0 0 48
4
2 1,5 0 1 0 0 20
2 1,5 0,5 0 0 1 0 8
0
1
0
0 0 0 1 5
0
0
0
0 0 0 0 0
60 35 20 0 0 0 0

Cuadro 6.1: Tableau Inicial del Problema - Soluciones Alternativas
verifica que todas ellas poseen cj − zj = 0. Observando el tableau final del Cuadro 6.2 se encuentra
que existe una variable no basal (x2 ) que posee precio sombra nulo. Esto significa que el hecho de
incorporar x2 a la base no cambiar´ el valor de la funci´n objetivo, pero s´ el valor de las variables
a
o
ı
basales. Para verificar esta afirmaci´n, podemos hacer una iteraci´n adicional ingresando x 2 a la base.
o
o
bi
2
El valor de ingreso queda definido por la tercera restricci´n, donde aij = 1,25 = 1,6. Mediante pivoteo
o
se construye el Cuadro 6.3.
La nueva soluci´n factible corresponde a: s1 = 27,2, x3 = 11,2, x2 = 1,6 y s4 = 3,4, con valor
o
de la funci´n objetivo z = 280. Como se vio cuando se estudi´ resoluci´n gr´fica de LP, se puede deo
o
o
a
mostrar que cualquier punto del segmento de l´
ınea que une dos puntos ´ptimos es tambi´n un ´ptimo
o
e
o
para el problema. Para ilustrar esa idea, podemos escribir los dos puntos ´ptimos encontrados (s´lo
o
o
19
Segundo Semestre 2003

M´todo Simplex
e

x1 x2 x3 s1
s2
s3 s4
Base cj 60 35 20 0
0
0
0 bi
s1
0 0 −2 0 1
2
−8 0 24
x3 20 0 −2 1 0
2
−4 0
8
x1 60 1 1,25 0 0 −0,5 1,5 0
2
s4
0 0
1
0 0
0
0
1
5
zj
60 35 20 0
10
10
0 280
cj − z j
0
0
0 0 −10 −10 0
Cuadro 6.2: Tableau Final del Problema - Soluciones Alternativas
x1 x2 x3 s1
s2
s3
s4
Base cj
60 35 20 0
0
0
0
bi
s1
0
1,6
0 0 1
1,2 −5,6 0 27,2
x3 20 1,6
0 1 0
1,2 −1,6 0 11,2
x2 35 0,8
1 0 0 −0,4 1,2
0 1,6
s4
0 −0,8 0 0 0
0,4 −1,2 1 3,4
zj
60 35 20 0
10
10
0 280
cj − z j
0
0 0 0 −10 −10 0
Cuadro 6.3: Tableau Final Alternativo - Soluciones Alternativas
las variables de decisi´n):
o
  
2
x1
Punto Extremo 1 =  x2  =  0 
x3
8

 

x1
0
Punto Extremo 2 =  x2  =  1,6 
11,2
x3


(6.2)

(6.3)

Luego, podemos escribir la ecuaci´n param´trica de la recta que une ambos puntos (0 ≤ λ ≤ 1):
o
e


 

 

x1
2
0
2λ
 x2  = λ  0  + (1 − λ)  1,6  =  1,6 − 1,6λ 
(6.4)
x3
8
11,2
11,2 − 3,2λ
Cualquier punto que pertenezca a la recta definida por (6.4) es un ´ptimo para el problema. En suma,
o
siempre que exista un cj −zj = 0 para una variable no b´sica, puede que exista una soluci´n alternativa
a
o
si esa variable es capaz de ingresar a la base. En el caso que no existen precios sombra o costo de
oportunidad nulos para variables no basales se puede asegurar que la soluci´n ´ptima es unica.
o o
´

6.2.

LP No Acotados

Como se estudi´ en la resoluci´n gr´fica de problemas de programaci´n lineal, en algunos LP
o
o
a
o
pueden existir puntos de la regi´n factible en el que los valores de z pueden ser arbitrariamente grandes
o
(maximizaci´n) o arbitrariamente peque˜os (minimizaci´n). Cuando esto ocurre, se dice que el LP
o
n
o
es no acotado. A continuaci´n se ver´ como puede ser empleado el m´todo Simplex para determinar
o
a
e

20
Segundo Semestre 2003

M´todo Simplex
e

cuando un LP es no acotado. Consideremos el siguiente modelo:
Max
s.t.

z = 36x1 + 30x2 − 3x3 − 4x4
x1 + x 2 − x 3
≤ 5
6x1 + 5x2 − x4 ≤ 10
x1 , x2 , x3 , x4
≥ 0

Estandarizando:

Max
s.t.

(a)
(b)

(6.5)

z = 36x1 + 30x2 − 3x3 − 4x4
x1 + x 2 − x 3 + s 1
= 5
6x1 + 5x2 − x4 + s2 = 10

(6.6)

(a)
(b)

A continuaci´n construimos el tableau inicial y efectuamos la primera iteraci´n (Cuadro 6.4). En
o
o
este caso la variable que m´s conviene ingresar a la base es x1 . Verificando el valor m´ximo se obtiene
a
a
x1 = 5 . Ingresando x1 a la base se completa el Cuadro 6.5. Completando el nuevo tableau se determina
3
que conviene ingresar la variable x2 con valor 20. Se completa la iteraci´n y se construye el Cuadro 6.6.
o
En el Cuadro 6.6 se verifica que la variable x3 posee un precio sombra factible, si embargo al

Base cj
s1
0

x1
36
1

x2 x3 x4 s1 s2
30 −3 −4 0 0
1 −1 0
1 0

bi
5

0

6

5

0

−1

0

1

10

zj

0

0

0

0

0

0

0

cj − z j

36

30 −3 −4

0

0

s2

bi
aij
5
1 =5
10
5
6 = 3

→

Cuadro 6.4: Tableau Inicial - LP No Acotado

Base cj
s1
0
x1

36

zj
cj − z j

x1 x2 x3
36 30 −3
1
0 6 −1

x4
−4

5
6

−1
6

0

1
6

−6
2

0
0

6
−6

1

0

36 30 0
0 0 −3

1
6

s1 s2
0
0
1 −1
6

bi
10
3
5
3

bi
aij

20 →
−

0

Cuadro 6.5: Segunda Iteraci´n - LP No Acotado
o
intentar incorporarla a la base se encuentra que no existe un valor m´ximo. Podemos entender la
a
situaci´n escribiendo las dos restricciones en su estado actual a partir del Cuadro 6.6:
o
x4 = 20 + 6x3
x1 = 5 + x 3

(6.7)

Luego, cualquier incremento positivo de x3 provoca que las variable basales x4 y x1 tambi´n aumenten,
e
por lo tanto sin importar el valor que tome x3 las variables basales seguir´n siendo positivas. Como el
a
21
Segundo Semestre 2003

M´todo Simplex
e

x1
Base cj 36
x4 −4 0
36

x1

1

x2
30
1

x3
−3
−6

x4
−4
1

s1
0
6

s2
0
−1

bi
20

−

1

−1

0

1

0

5

−

bi
aij

36 32 −12 −4 12
4 100
0 −2
9
0 −12 −4

zj
cj − z j

Cuadro 6.6: Tableau Final - LP No Acotado
precio sombra de x3 es 9, se puede encontrar puntos de la regi´n factible que tienen un valor arbitrariao
mente grande (pues no existen restricciones para el valor de x3 ), en otras palabras el LP es no acotado.
En suma, un problema de maximizaci´n de un LP no est´ acotado si existe una variable no b´sica
o
a
a
con precio sombra positivo sin que exista l´
ımite para el valor m´ximo que pueda tomar. Esto ocurre
a
cuando una variable tiene precio sombra positivo y coeficientes no positivos en todas las restricciones.

6.3.

Soluci´n Imposible
o

Para ilustrar como se detecta cuando un problema no tiene regi´n factible mediante el m´todo
o
e
Simplex consideremos el siguiente modelo en su versi´n est´ndar:
o
a
Min
s.t.

z = 2x1 + 3x2 + M a1 + M a2
1
1
2 x1 + 4 x2 + s 1
x1 + 3x2 − e2 +

x1 + x 2 + a 3

= 4
a2 = 36
= 10

(a)
(b)
(c)

(6.8)

El Cuadro 6.7 muestra la primera iteraci´n. Aqu´ conviene incorporar la variable x 2 a la base con
o
ı,
valor 10. Mediante operaciones fila se completa el Cuadro 6.8. En este cuadro se verifica que todas las
variables poseen un cj − zj no negativo. Como se est´ minimizando se ha alcanzado el ´ptimo.
a
o
Al verificar la soluci´n ´ptima obtenemos:
o o
x1
2

x2
3
1
4

s1
0
1

e2
0
0

a2
M
0

a3
M
0

1
2

bi
4

16

Base
s1

cj
0

a2

M

1

3

0

−1

1

0

36

12

a3

M

1

1

0

0

0

1

10

10 →

zj

2M

4M

0

−M

M

M

46M

cj − z j

2 − 2M

3 − 4M

0

M

0

0

Cuadro 6.7: Tableau Inicial - Soluci´n Imposible
o

22
Segundo Semestre 2003

M´todo Simplex
e

Base
s1

cj
0

a2

M

x2

3

zj
cj − z j

x1
2

x2 s1
3 0
0 1

e2
0
0

a2
M
0

a3
M
−1
4

bi

−2

0

0

−1

1

−3

6

1

1

0

0

0

1

10

3 − 2M
2M − 1

3
0

0
0

−M
M

M
0

1
4

3
2

3 − 3M 6M + 30
4M − 3

Cuadro 6.8: Tableau Final - Soluci´n Imposible
o
z
s1
a2
x2
a3
e2
x1

=
=
=
=
=
=
=

30 + 6M
3
2

6
10
0
0
0

(6.9)

Como la base ´ptima contiene una variable artificial la soluci´n anterior no es admisible. En este caso,
o
o
no existe regi´n factible para el problema tal como se ilustra en la Figura 6.1. En suma, cuando existe
o
una variable artificial con valor positivo en el ´ptimo, el LP no posee regi´n factible.
o
o
x2
15
10
(a)
5

(b)

(c)
0

0

5

10

15

20

25

30

35

x1

Figura 6.1: Representaci´n Gr´fica del Problema - Soluci´n Imposible
o
a
o

7.

Degeneraci´n y Convergencia del M´todo Simplex
o
e

Te´ricamente, el m´todo Simplex puede fallar al intentar encontrar la soluci´n ´ptima de un
o
e
o o
determinado LP. A continuaci´n se describir´ en que situaciones Simplex puede fallar. Recordemos
o
a
que en un problema de maximizaci´n la siguiente relaci´n es v´lida:
o
o
a

 
 


valor de z
valor de z
valor de la
cj − zj de
 para la  =  para la  +  variable   la variable 
(7.1)
nueva bfs
bfs actual
entrante
entrante
Recordemos que en un problema de maximizaci´n, se cumple que cj − zj > 0 para la variable entrante.
o
Luego:
23
Segundo Semestre 2003

M´todo Simplex
e

1. Si el valor de la variable entrante es positivo, el valor de z para la nueva base es mayor que el
valor z en la base actual.
2. Si el valor de la variable entrante es nulo, el valor de z para la base nueva es igual al valor de z
para la base actual.
Si al resolver un LP mediante Simplex se cumple que en todas las bases evaluadas todas las variables
son positivas, se dice que el problema es un LP No Degenerado. Por lo tanto, al resolver un LP no
degenerado se cumple que el valor de z crece en cada iteraci´n. En otras palabras, al resolver un LP
o
mediante Simplex nunca se puede pasar por una misma bfs m´s de una vez.
a
Como ya se mostr´ anteriormente, un LP posee un n´mero finito de soluciones b´sicas factibles.
o
u
a
Adem´s, como nunca se repite una bfs, se puede garantizar que el m´todo Simplex resolver´ un proa
e
a
blema no degenerado en un n´mero finito de iteraciones. A pesar de ello, Simlex puede fallar par un
u
problema degenerado:
Definici´n 4 Un LP es degenerado si existe al menos una bfs en la cual al menos una variable
o
basal es igual a cero.
Consideremos el siguiente LP degenerado:
Max
s.t.

z = 5x1 + 2x2
x1 + x 2 ≤ 6
x1 − x 2 ≤ 0
x1 , x2
≥ 0

(a)
(b)

(7.2)

Un vez estandarizado el problema, se construye el tableau inicial (Cuadro 7.1). En dicho tableau, se
observa que s2 = 0, por lo tanto el LP est´ degenerado. A pesar de ello, podemos proseguir iterando
a
ingresando la variable con mayor precio sombra (x1 ) con valor m´ximo igual a cero. Mediante operaa
ciones fila construimos el Cuadro 7.2. Una vez m´s, observamos que el tableau est´ degenerado ya que
a
a
la variable basal x1 tiene valor cero. N´tese que la funci´n objetivo no mejor´ con la primera iteraci´n.
o
o
o
o
En el nuevo tableau, la variable x2 posee un precio sombra positivo por lo que conviene incorporarla
a la base con valor 3.
El Cuadro 7.3 es ´ptimo, ya que todas las variables poseen un precio sombra no positivo. En
o

Base cj
s1
0

x1
5
1

x2
2
1

s1 s2
0 0 bi
1 0 6

bi
aij
6
1 =

0

1

−1

0

1

0

0→

0
5

0
2

0
0

0
0

0

0

s2

zj
cj − z j

1

Cuadro 7.1: Primera Iteraci´n - LP Degenerado
o
este caso, a pesar de tratarse de un problema degenerado el m´todo Simplex fue capaz de determinar
e
el ´ptimo.
o
En general, puede que Simplex no sea capaz de resolver un problema degenerado. Uno de estos casos
24
Segundo Semestre 2003

M´todo Simplex
e

Base cj
s1
0

x1
5
0

x2
2
2

s1 s2
0
0 bi
1 −1 6

bi
aij
6
2 =

5

1

−1

0

1

0

−

5
0

−5
7

0
0

5
−5

0

0

x1

zj
cj − z j

3→

Cuadro 7.2: Segunda Iteraci´n - LP Degenerado
o

x1

5

zj
cj − z j

x1 x2
5 2
0 1

s1
0
0,5

s2
0
−0,5

bi
3

1

0

0,5

0,5

3

5
0

Base cj
x2
2

2
0

3,5
1,5 21
−3,5 −1,5

Cuadro 7.3: Tableau Final - LP Degenerado
ocurre en problemas degenerados de tipo c´
ıclicos, es decir, tras algunas modificaciones en la bfs la
funci´n objetivo no mejora y se cae en un loop volviendo continuamente a la bfs inicial. Se deja como
o
ejercicio al lector resolver el siguiente LP degenerado de tipo c´
ıclico:
Max
s.t.

z = 2x1 + 3x2 − x3 − 12x4
−2x1 − 9x2 + x3 + 9x4 ≤ 0
x1
x3
≤ 0
3 + x2 − 3 − 2x4
xi
≥ 0

(a)
(b)
∀i

(7.3)

Otros casos donde se llega a un tableau degenerado es cuando ocurre un empate entre las razones
bi
m´
ınimas aij para dos o m´s restricciones del tableau. En este caso, al escoger una de las restricciones,
a
la variable basal de la otra autom´ticamente se hace cero y se degenera el tableau. Para ilustrar dicha
a
situaci´n, se deja como ejercicio al lector revisar la resoluci´n del siguiente problema:
o
o
Max
s.t.

z = 10x1 + 9x2
7
10 x1 + x2
5
1
2 x1 + 6 x2
2
x1 + 3 x2
1
1
10 x1 + 4 x2

≤ 630 (a)

x1 , x2

≥ 0

≤ 480 (b)

(7.4)

≤ 708 (c)
≤ 135 (d)

Para ilustrar la ineficiencia del m´todo Simplex consideremos la representaci´n gr´fica de la regi´n
e
o
a
o
factible del problema (7.2) en la Figura 7.1. En este caso, la regi´n factible queda definida por el
o
tri´ngulo BCD, es decir, los puntos extremos de la regi´n son B, C y D. La correspondencia entre
a
o
los puntos extremos y las soluciones b´sicas factibles se muestran en el Cuadro 7.4. En este caso, se
a
observa que existen tres bfs que corresponden al punto C. En general, se puede demostrar que para
que un LP con n variables de decisi´n sea degenerado, basta que n + 1 o m´s restricciones (incluidas
o
a
25
Segundo Semestre 2003

M´todo Simplex
e

Variables
Basales
x1 , x2
x1 , s1
x1 , s2
x2 , s1
x2 , s2
s1 , s2

Soluci´n
o
Basal Factible
x1 = x2 = 3, s1 = s2 = 0
x1 = 0, s1 = 6, x2 = s2 = 0
x1 = 6, s2 = −6, x2 = s1 = 0
x2 = 0, s1 = 6, x1 = s2 = 0
x2 = 6, s2 = 6, s1 = x1 = 0
s1 = 6, s2 = 0, x1 = x2 = 0

Correspondencia
a Puntos Extremos
D
C
No es una bfs pues s2 < 0
C
B
C

Cuadro 7.4: Correspondencia entre bfs y puntos extremos del problema (7.2)
las de signo) sean activas en un punto extremo.
En el ejemplo, en el punto C son activas las restricciones:
x2
6

B

5
(b)

4
D
3
2

(a)
1
0
C 0

A
1

2

3

4

5

6

x1

Figura 7.1: Representaci´n Gr´fica del Problema (7.2)
o
a
x1 − x 2 ≤ 0
x1
≥ 0
x2
≥ 0

(7.5)

Por lo tanto, existen tres restricciones activas en ese punto extremo y se verifica que el LP efectivamente
est´ degenerado. En general el m´todo Simplex es ineficiente para resolver problemas degenerados ya
a
e
que puede haber muchos conjuntos de variables b´sicas correspondientes a alg´n punto extremo no
a
u
´ptimo. El algoritmo Simplex podr´ encontrar todos esos conjuntos de variables antes de determinar
o
ıa
que ese punto extremo no es ´ptimo. En el ejemplo, Simplex evalu´ dos combinaciones de variables
o
o
b´sicas asociadas a C antes de lograr determinar que el punto no era ´ptimo. Evidentemente, en
a
o
un problema peque˜o como el del ejemplo esto no representa para mayor problema, sin embargo en
n
problemas de mayor tama˜o el efecto puede ser a mayor escala provocando que Simplex no pueda
n
encontrar el ´ptimo en un n´mero razonable de iteraciones.
o
u

26

More Related Content

What's hot

Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlabVitoto96
 
11.sistemas singulares
11.sistemas singulares11.sistemas singulares
11.sistemas singularesrjvillon
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenjackytas7
 
La Integral Indefinida
La  Integral IndefinidaLa  Integral Indefinida
La Integral IndefinidaERICK CONDE
 
Ecuación diferencial de Bernoully y Riccati Matemática II
Ecuación diferencial de Bernoully y Riccati Matemática IIEcuación diferencial de Bernoully y Riccati Matemática II
Ecuación diferencial de Bernoully y Riccati Matemática IIJoe Arroyo Suárez
 
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
Tema 2 	ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIORTema 2 	ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIORfederico paniagua
 
Ejercicios resueltos edo separables
Ejercicios resueltos edo separablesEjercicios resueltos edo separables
Ejercicios resueltos edo separablesYerikson Huz
 
Ecuaciones Diferenciales Lineales de Primer Orden
Ecuaciones Diferenciales Lineales de Primer OrdenEcuaciones Diferenciales Lineales de Primer Orden
Ecuaciones Diferenciales Lineales de Primer OrdenRuben Dario Lara Escobar
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Ecuaciones Diferenciales de orden n
Ecuaciones Diferenciales de orden nEcuaciones Diferenciales de orden n
Ecuaciones Diferenciales de orden nMayra Mendieta
 

What's hot (19)

Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Método algebraico
Método algebraicoMétodo algebraico
Método algebraico
 
Reduccion de orden final
Reduccion de orden finalReduccion de orden final
Reduccion de orden final
 
Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlab
 
Ecuacion de clairaut
Ecuacion de clairautEcuacion de clairaut
Ecuacion de clairaut
 
11.sistemas singulares
11.sistemas singulares11.sistemas singulares
11.sistemas singulares
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
La Integral Indefinida
La  Integral IndefinidaLa  Integral Indefinida
La Integral Indefinida
 
Ecuación diferencial de Bernoully y Riccati Matemática II
Ecuación diferencial de Bernoully y Riccati Matemática IIEcuación diferencial de Bernoully y Riccati Matemática II
Ecuación diferencial de Bernoully y Riccati Matemática II
 
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
Tema 2 	ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIORTema 2 	ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
 
Ejercicios resueltos edo separables
Ejercicios resueltos edo separablesEjercicios resueltos edo separables
Ejercicios resueltos edo separables
 
Ecuaciones Diferenciales Lineales de Primer Orden
Ecuaciones Diferenciales Lineales de Primer OrdenEcuaciones Diferenciales Lineales de Primer Orden
Ecuaciones Diferenciales Lineales de Primer Orden
 
Cap7
Cap7Cap7
Cap7
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Saileth prada ii
Saileth prada iiSaileth prada ii
Saileth prada ii
 
M algebraico
M algebraicoM algebraico
M algebraico
 
Ecuaciones Diferenciales de orden n
Ecuaciones Diferenciales de orden nEcuaciones Diferenciales de orden n
Ecuaciones Diferenciales de orden n
 
Semana 1 sistemas de ecuaciones lineales
Semana 1 sistemas de ecuaciones linealesSemana 1 sistemas de ecuaciones lineales
Semana 1 sistemas de ecuaciones lineales
 

Similar to Apunte simplex (20)

PL - METODO GRAFICO - TIPOS.pdf
PL - METODO GRAFICO - TIPOS.pdfPL - METODO GRAFICO - TIPOS.pdf
PL - METODO GRAFICO - TIPOS.pdf
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Unidad 2. El método simplex
Unidad 2. El método simplexUnidad 2. El método simplex
Unidad 2. El método simplex
 
Unidad 2. El método simplex
Unidad 2. El método simplexUnidad 2. El método simplex
Unidad 2. El método simplex
 
Clase 4 método simplex.pptx
Clase 4 método simplex.pptxClase 4 método simplex.pptx
Clase 4 método simplex.pptx
 
Método simplex.
Método simplex. Método simplex.
Método simplex.
 
Ejemplo práctico en clase
Ejemplo práctico en claseEjemplo práctico en clase
Ejemplo práctico en clase
 
05 pl met.simplex
05 pl met.simplex05 pl met.simplex
05 pl met.simplex
 
Marina.mallol optimizacion de sistemas
Marina.mallol optimizacion de sistemasMarina.mallol optimizacion de sistemas
Marina.mallol optimizacion de sistemas
 
Funcion lineal ultima
Funcion lineal ultimaFuncion lineal ultima
Funcion lineal ultima
 
Leccion evaluativa 2
Leccion evaluativa 2Leccion evaluativa 2
Leccion evaluativa 2
 
2._metodo_simplex.pdf
2._metodo_simplex.pdf2._metodo_simplex.pdf
2._metodo_simplex.pdf
 
Fundamentos Matematicos
Fundamentos MatematicosFundamentos Matematicos
Fundamentos Matematicos
 
Unidad3
Unidad3Unidad3
Unidad3
 
Unidad3 (1)
Unidad3 (1)Unidad3 (1)
Unidad3 (1)
 
Un ejemplo práctico en clase
Un ejemplo práctico en claseUn ejemplo práctico en clase
Un ejemplo práctico en clase
 
Un ejemplo práctico en clase
Un ejemplo práctico en claseUn ejemplo práctico en clase
Un ejemplo práctico en clase
 
Método simplex
Método simplexMétodo simplex
Método simplex
 
Semana 12 inecuaciones
Semana 12 inecuaciones Semana 12 inecuaciones
Semana 12 inecuaciones
 
NÚMEROS REALES II
NÚMEROS REALES IINÚMEROS REALES II
NÚMEROS REALES II
 

Apunte simplex

  • 1. Fundamentos de Investigaci´n de Operaciones o Investigaci´n de Operaciones 1 o M´todo Simplex e 1 de agosto de 2003 1. Estandarizaci´n o Cuando se plantea un modelo de LP pueden existir igualdades y desigualdades. De la misma forma pueden existir variables que deben ser no negativas o bien sin restricci´n de signo (srs). Antes de o emplear el m´todo Simplex para resolver un LP, el problema debe ser convertido en uno equivalente e en el cual todas las restricciones son ecuaciones y todas las variables son no negativas. Esta versi´n o equivalente se denomina forma est´ndar del LP. a Para convertir un LP en su forma est´ndar cada desigualdad debe ser transformada en una iguala dad. Para ilustrar la t´cnica consideremos el siguiente ejemplo: e Ejemplo 1 Una f´brica de zapatos de cuero produce dos l´ a ıneas: modelos de lujo y modelos regulares. Cada tipo modelo requiere un pie cuadrado de cuero. Un modelo regular necesita 1 hora de mano de obra, mientras que un modelo de lujo requiere 2 horas de mano de obra. Cada semana se dispone de 40 pies cuadrados de cuero y de 60 horas de mano de obra. Cada zapato regular genera una utilidad de 30 mil y cada modelo de lujo representa una utilidad de 40 mil. Para plantear el modelo se emplear´n las variables: a x1 : n´mero de zapatos de lujo producidos a la semana u x2 : n´mero de zapatos regulares producidos a la semana u (1.1) Luego, el modelo de LP queda (escribiendo la funci´n objetivo en decenas de miles): o Max s.t. z = 4x1 + 3x2 (Funci´n Objetivo) o x1 + x2 ≤ 40 2x1 + x2 ≤ 60 x1 , x2 ≥ 0 (a) Restricci´n de cuero o (b) Restricci´n de mano de obra o (c) Restricci´n de signo o (1.2) Para convertir cada desigualdad de tipo ≤ en una igualdad introduciremos una variable de holgura si . Cada variable si (una por cada desigualdad de tipo ≤) representa la cantidad de recurso no empleado de esa restricci´n. Luego, en la restricci´n (a) se tiene: o o s1 = 40 − x1 − x2 ´ o x1 + x2 + s1 = 40 (1.3) ´ o 2x1 + x2 + s2 = 60 (1.4) Similarmente, para la restricci´n (b) se tiene: o s2 = 60 − 2x1 − x2 1
  • 2. Segundo Semestre 2003 M´todo Simplex e Luego, cualquier combinaci´n (x1 , x2 ) satisface la restricci´n i s´lo si al reemplazar los valores se o o o obtiene si ≥ 0. Finalmente, la versi´n estandarizada del problema (1.2) queda: o Max s.t. z = 4x1 + 3x2 (Funci´n Objetivo) o x1 + x2 + s1 = 40 (a) Restricci´n de cuero o 2x1 + x2 + s2 = 60 (b) Restricci´n de mano de obra o (1.5) Para ilustrar como estandarizar desigualdades de tipo ≥ consideremos el siguiente ejemplo: Ejemplo 2 Min s.t. z = 50x1 + 20x2 + 30x3 + 80x4 400x1 + 200x2 + 150x3 + 500x4 3x1 + 2x2 2x1 + 2x2 + 4x3 + 4x4 2x1 + 4x2 + x3 + 5x4 x1 , x2 , x3 , x4 ≥ ≥ ≥ ≥ ≥ (Funci´n Objetivo) o 500 6 10 8 0 (a) (b) (c) (d) (e) (1.6) Para convertir una restricci´n de tipo ≥ en una restricci´n de igualdad, se definen las variables de o o exceso ei . La variable de exceso ei representa la cantidad de sobresatisfacci´n de la restricci´n i, o o as´ para la restricci´n (a) se tiene: ı o e1 = 400x1 + 200x2 + 150x3 + 500x4 − 500 ´ o 400x1 + 200x2 + 150x3 + 500x4 − e1 = 500 (1.7) Similarmente: e2 = 3x1 + 2x2 − 6 ´ 3x1 + 2x2 − e2 = 6 o e3 = 2x1 + 2x2 + 4x3 + 4x4 − 10 ´ 2x1 + 2x2 + 4x3 + 4x4 − e3 = 10 o e4 = 2x1 + 4x2 + x3 + 5x4 − 8 ´ 2x1 + 4x2 + x3 + 5x4 − e4 = 8 o (1.8) Luego, cualquier combinaci´n (x1 , x2 , x3 , x4 ) satisface la restricci´n i s´lo si al reemplazar los valores o o o se obtiene ei ≥ 0. Finalmente, la versi´n estandarizada del problema (1.6) queda: o Ejemplo 3 Min s.t. z = 50x1 + 20x2 + 30x3 + 80x4 400x1 + 200x2 + 150x3 + 500x4 − e1 3x1 + 2x2 − e2 2x1 + 2x2 + 4x3 + 4x4 − e3 2x1 + 4x2 + x3 + 5x4 − e4 (Funci´n Objetivo) o = = = = 500 6 10 8 (a) (b) (c) (d) (1.9) Evidentemente, para modelos de LP que incluyan desigualdades de tipo ≤ y ≥, habr´ que agregar las a variables de holgura y exceso que sean necesarias seg´n el tipo de restricci´n. u o Si en un problema de LP existen variables sin restricci´n de signo (sea por ejemplo y), transforo maremos esa variable seg´n: u y = y 1 − y 2 y1 , y 2 ≥ 0 (1.10) Donde y es la variable sin restricci´n de signo y las variables y1 e y2 son no negativas. o 2
  • 3. Segundo Semestre 2003 2. M´todo Simplex e Descripci´n General o Supongamos que se ha convertido un LP con m restricciones a su forma est´ndar. Asumiendo que a cada restricci´n contiene n variables (x1 , x2 , . . . xn ) se tiene: o Max (o Min) z = c 1 x1 + c 2 x2 + . . . + c n xn s.t. a11 x1 + a12 x2 + . . . + a1n xn = b1 a21 x1 + a22 x2 + . . . + a2n xn = b2 . . . . = . . (2.1) am1 x1 + am2 x2 + . . . + amn xn = bm xi ≥ 0 ∀i = 1...n Luego, se puede definir:  a11  a21  [A] =  .  . . a12 a22 . . . ... ... a1n a2n . . . am1 am2 . . . amn    x1       x2  {x} = .  .     .    xn        b1    b2 {b} = .  .   .  bm      (2.2)     Por lo tanto, las restricciones del problema (2.1) pueden ser escritas como un sistema lineal: [A]{x} = {b} 2.1. (2.3) Soluciones Basales y No Basales Consideremos que el sistema (2.3) posee m ecuaciones lineales y n variables (sea n ≥ m). Definici´n 1 Se puede obtener una soluci´n basal de (2.3) haciendo n − m variables iguales a cero o o y resolviendo para encontrar los valores de las restantes m variables. Se asume que hacer n − m variables igual a cero conduce a un unico conjunto de valores para las restantes m variables o en forma ´ equivalente, se asume que las columnas de restantes m variables son linealmente independientes. En consecuencia, para resolver el sistema (2.3) asignaremos 0 a n − m variables (variables no basales o NBV) y resolveremos el sistema restante de n − (n − m) = m variables (variables basales o BV). Evidentemente, una selecci´n distinta de variables no basales conducir´ a valores distintos para las o a variables basales, adem´s pueden existir conjuntos de m variables que no son capaces de constituir a variables basales pues conducen a un sistema sin soluci´n. o 2.2. Soluciones Factibles Un subconjunto de las soluciones basales de (2.3) es muy importante para la teor´ de la Prograıa maci´n Lineal: o Definici´n 2 Una soluci´n basal de (2.3) en el cual todas las variables son no negativas es una o o soluci´n basal factible o bfs. o Los siguientes dos teoremas explican la importancia de concepto de soluci´n basal factible en LP. o Teorema 1 La regi´n factible para cualquier problema de programaci´n lineal es un conjunto convexo. o o Adem´s, si un LP tiene soluci´n optima, el optimo debe ser un punto extremo de la regi´n factible. a o ´ ´ o 3
  • 4. Segundo Semestre 2003 M´todo Simplex e La justificaci´n del Teorema 1 fue discutida intuitivamente cuando se estudi´ la resoluci´n gr´fica o o o a de LP de dos variables, adem´s en dos variables tambi´n se vio que el ´ptimo corresponde un punto a e o extremo. Teorema 2 Para cualquier LP, existe un unico punto extremo de la regi´n factible correspondiente a ´ o cada soluci´n basal factible. Adem´s, existe a los menos una bfs correspondiente a cada punto extremo o a de la regi´n factible. o Para ilustrar la correspondencia entre puntos extremos y soluci´n basal factible expuesta en el Teorema o 2, consideremos el LP del Ejemplo 1: Max s.t. z = 4x1 + 3x2 x1 + x2 + s1 = 40 (a) 2x1 + x2 + s2 = 60 (b) x1 , x2 ≥ 0 (c) (2.4) La regi´n factible asociada al problema se ilustra en la Figura 2.1. o x2 60 50 40 (b) C 30 B 20 (a) 10 0 D 0 A 10 20 30 40 50 60 x1 Figura 2.1: Regi´n Factible - Ejemplo 1 o En este caso la regi´n factible corresponde al pol´ o ıgono ABCD. Los puntos extremos son: A = (30, 0), B = (20, 20), C = (0, 40) y D = (0, 0). El Cuadro 2.1 muestra la correspondencia entre las soluciones b´sicas factibles del problema (2.4) y los puntos extremos de la regi´n factible. Este ejemplo pone de a o manifiesto que las soluciones b´sicas factibles de la forma est´ndar de un LP corresponden en forma a a natural a los puntos extremos del LP. El Teorema 1 dice que cuando se busca la soluci´n ´ptima de un LP con restricciones [A]{x} = {b}, o o basta con buscar los puntos extremos de la regi´n ´ptima del LP. El Teorema 2 dice que los puntos o o extremos de una regi´n factible de un LP son las soluciones basales factibles del sistema [A]{x} = {b}. o Por lo tanto, para encontrar la soluci´n ´ptima de un LP se necesita s´lo determinar la mejor soluci´n o o o o basal factible (valor m´ximo o m´ a ınimo de z dependiendo si es maximizaci´n o minimizaci´n) del o o sistema [A]{x} = {b}. 4
  • 5. Segundo Semestre 2003 Variables Variables Basales No Basales x1 , x2 s1 , s2 x1 , s1 x2 , s2 x1 , s2 x2 , s1 x2 , s1 x1 , s2 x2 , s2 x1 , s1 s1 , s2 x1 , x2 M´todo Simplex e Soluci´n o Basal Factible s1 = s2 = 0, x1 = x2 = 20 x2 = s2 = 0, x1 = 30, s1 = 10 x2 = s1 = 0, x1 = 40, s2 = −20 x1 = s2 = 0, s1 = −20, x2 = 60 x1 = s1 = 0, x2 = 40, s2 = 20 x1 = x2 = 0, s1 = 40, s2 = 60 Correspondencia a Puntos Extremos B A No es una bfs pues s2 < 0 No es una bfs pues s1 < 0 C D Cuadro 2.1: Correspondencia entre bfs y puntos extremos del Ejemplo 1 2.3. Soluciones Basales Factibles Adyacentes Antes de desarrollar el algoritmo Simplex, es preciso definir el concepto de soluci´n basal factible o adyacente. Definici´n 3 Para cualquier LP con m restricciones, dos soluciones basales factibles se dicen adyao centes si el conjunto de variables basales tienen m − 1 variables basales en com´n. u Por ejemplo, en la Figura 2.1, dos soluciones basales factibles ser´n adyacentes si tienen 2 − 1 = 1 a variable b´sica com´n. Luego la bfs correspondiente al punto B (x1 = 0 y x2 = 0) es adyacente a la a u bfs correspondiente al punto A (x1 = 0 y x2 = 0). Sin embargo, el punto B no es adyacente al punto D (x1 = 0 y x2 = 0) pues no tienen variables b´sicas comunes. Intuitivamente dos soluciones basales a factibles son adyacentes si se ubican en el mismo borde de la regi´n factible. o 2.4. Pasos Generales del Algoritmo Simplex Los pasos que sigue el algoritmo Simplex para resolver un LP en el caso de maximizaci´n son: o Paso 1 Encontrar una bfs del LP. Esta soluci´n se conocer´ como la base factible inicial. En general, o a la bfs m´s reciente se conocer´ como la base actual. a a Paso 2 Determinar si la bfs actual es una soluci´n optima del LP. Si no lo es, encontrar la bfs o ´ adyacente de mayor valor de la funci´n objetivo. o Paso 3 Volver al Paso 2 utilizando la nueva bfs como bfs actual. Si la forma est´ndar de un LP tiene m restricciones y n variables, puede haber una soluci´n basal a o para cada elecci´n de variables no b´sicas. De n variables, un conjunto de n − m variables no b´sicas o a a (o en forma equivalente m variables b´sicas) puede ser elegido de a = n! (n − m)!m! (2.5) n m n m (2.6) formas distintas. Por lo tanto, un LP debe tener soluciones basales. Debido a que algunas soluciones basales pueden no ser factibles, un LP debe tener a lo m´s a n (2.7) m 5
  • 6. Segundo Semestre 2003 M´todo Simplex e soluciones basales factibles. Si se procede desde la bfs actual a la mejor bfs (sin repetir una bfs), se encontrar´ el ´ptimo en el peor de los casos tras a o n m (2.8) modificaciones de la bfs actual. Por lo tanto (asumiendo que las bfs no se repiten), el m´todo Simplex e encontrar´ la bfs ´ptima luego de un n´mero finito de c´lculos. a o u a En principio, se podr´ enumerar todas las soluciones basales factibles de un LP y encontrar la ıan bfs que maximiza el valor de la funci´n objetivo. El problema de dicho camino es que incluso para o problemas peque˜os el n´mero de bfs puede ser muy grande. Por ejemplo para un problema de 20 n u variables y 10 restricciones puede haber hasta 184756 soluciones basales factibles. Afortunadamente, la pr´ctica indica que en un problema de n variables y m restricciones se puede alcanzar el ´ptimo tras a o alrededor de 3m soluciones basales factibles. Por lo tanto, en el caso de un problema de 20 variables y 10 restricciones deber´ bastar 30 soluciones b´sicas factibles. ıan a 3. El Algoritmo Simplex El algoritmo Simplex sigue los siguientes pasos: Paso 1 Se convierte el LP a su forma est´ndar. a Paso 2 Se obtiene una bfs (si es posible) a partir de la forma est´ndar del LP. a Paso 3 Se determina si la bfs actual es optima. ´ Paso 4 Si la bfs actual no es optima se determina cual de las variables basales actuales se debe volver ´ no b´sica y cual variable no basal se debe transformar en b´sica para encontrar el mejor valor de la a a funci´n objetivo. o Paso 5 Encontrar el mejor valor de la funci´n objetivo y volver al Paso 3. o Para aplicar el algoritmo Simplex, la funci´n objetivo o z = c 1 x1 + c 2 x2 + . . . + c n xn (3.1) z − c 1 x1 − c 2 x2 − . . . − c n xn = 0 (3.2) debe ser escrita como: Esta versi´n de la funci´n objetivo se conoce como fila 0. o o Para ilustrar la aplicaci´n del m´todo consideremos un ejemplo. o e Ejemplo 4 Una muebler´ fabrica escritorios, mesas y sillas. La fabricaci´n requiere de materia priıa o ma y de mano de obra. La mano de obra se clasifica en dos tipos: carpinter´ y terminaciones. La ıa cantidad de recurso requerido para cada tipo de producto se muestra en el Cuadro 3.1. Actualmente se dispone de 48 pulgadas madereras, 20 horas para terminaciones y 8 horas para carpinter´ Cada escritorio se vende a US$ 60, cada mesa a US$ 30 y cada silla a US$ 20. La empresa ıa. piensa que la demanda por escritorios y sillas es ilimitada, pero cree que se vender´n a lo m´s 5 a a mesas. Debido a que los recursos ya han sido adquiridos, la empresa desea maximizar su beneficio. 6
  • 7. Segundo Semestre 2003 M´todo Simplex e Recurso Escritorios Mesas Sillas Materiales (pulgada maderera) 8 6 1 Terminaciones (horas) 4 2 1,5 Carpinter´ (horas) ıa 2 1,5 0,5 Cuadro 3.1: Requerimientos por tipo de producto. Considerando las siguientes variables: x1 : n´mero de escritorios producidos u x2 : n´mero de mesas producidas u x2 : n´mero de sillas producidas u (3.3) se puede construir el siguiente modelo: Max s.t. z = 60x1 + 30x2 + 20x3 (Funci´n Objetivo) o 8x1 + 6x2 + x3 4x1 + 2x2 + 1,5x3 2x1 + 1,5x2 + 0,5x3 x2 x1 , x2 , x3 3.1. ≤ ≤ ≤ ≤ ≥ 48 20 8 5 0 (a) Materiales (b) Terminaciones (c) Carpinter´ ıa (d) Demanda de mesas (3.4) Conversi´n a Forma Est´ndar o a Comenzamos el m´todo Simplex transformando las restricciones a su forma est´ndar. Para ello en e a cada resricci´n de tipo ≤ incorporamos variables de holgura s1 , s2 , s3 y s4 . Escribiremos la funci´n o o objetivo en la forma fila 0 previamente expuesta. Numeraremos las restricciones como fila 1, fila 2, fila 3 y fila 4. Max z − 60x1 − 30x2 − 20x3 = 0 Fila 0 s.t. 8x1 + 6x2 + x3 + s1 = 48 (a) Fila 1 4x1 + 2x2 + 1,5x3 + s2 = 20 (b) Fila 2 (3.5) 2x1 + 1,5x2 + 0,5x3 + s3 = 8 (c) Fila 3 x2 + s 4 = 5 (d) Fila 4 xj , si ≥ 0 ∀ i, j El problema anterior puede ser escrito de la forma indicada en el Cuadro 3.2. Esta forma se denomina can´nica y se caracteriza porque existe una variable con coeficiente igual a 1 en cada restricci´n y o o esa misma variable aparece en las restantes restricciones con coeficiente 0. Si el lado derecho de las restricciones es positivo, se puede obtener una soluci´n basal factible por inspecci´n. En el ejemplo, o o Fila Fila Fila Fila Fila 0 z −60x1 −30x2 −20x3 1 8x1 +6x2 +x3 +s1 2 4x1 +2x2 +1,5x3 +s2 3 2x1 +1,5x2 +0,5x3 +s3 x2 +s4 4 = 0 = 48 = 20 = 8 = 5 Cuadro 3.2: Forma Can´nica del Problema o 7 Variable B´sica a z=0 s1 = 48 s2 = 20 s3 = 8 s4 = 5
  • 8. Segundo Semestre 2003 M´todo Simplex e una soluci´n b´sica factible que puede ser obtenida por simple inspecci´n es x1 = x2 = x3 = 0 y si o a o igual al coeficiente del lado derecho y z = 0, luego: BV = {z, s1 , s2 , s3 , s4 } N BV = {x1 , x2 , x3 } (3.6) Los valores de cada variable se indican en el Cuadro 3.2. Esta soluci´n corresponder´ a la base o a inicial para aplicar el m´todo Simplex. Como se observa en este ejemplo, las variables de holgura e son empleadas como parte de la soluci´n basal factible inicial. o 3.2. ´ Verificaci´n del Optimo o Una vez determinada una bfs inicial, es preciso establecer si corresponde a una soluci´n ´ptima. o o En este caso debemos verificar si existe una forma de mejorar el valor de la funci´n objetivo. Si la bfs o no es ´ptima se debe buscar una bfs adyacente que tenga un mejor valor de funci´n objetivo. Para o o ello, debemos identificar la variable no basal que incrementa m´s la funci´n objetivo manteniendo el a o resto de las variables no b´sicas en valor 0. a Reescribiendo la funci´n objetivo: o z = 60x1 + 30x2 + 20x3 (3.7) A partir de (3.7) podemos determinar la variable no b´sica m´s conveniente. Por ejemplo por cada a a unidad de aumento de x1 la funci´n objetivo crece en 60 (manteniendo x2 y x3 igual a cero). De o acuerdo a esta l´gica, conviene buscar la bfs adyacente que contenga a x 1 , en este caso se dice que x1 o se vuelve una variable b´sica o bien es la variable entrante a la base. N´tese que x1 es la variable a o con el coeficiente m´s negativo de la fila 0. a 3.3. Determinaci´n del Valor de la Variable Entrante o Una vez escogida la variable entrante como la de coeficiente m´s negativo en la fila 0, necesitamos a determinar cu´l es el valor m´ximo que puede tomar esta variable. En el ejemplo si x 1 adquiere un a a valor positivo, los valores de las otras variables basales debe cambiar. Por lo tanto, podr´ ocurrir que ıa alguna de las variables basales tomara un valor negativo. Teniendo en cuenta ello, podemos calcular c´mo cambia el valor de las variables basales en funci´n de valor que tome x 1 f´cilmente gracias a que o o a x2 = x3 = 0. Por ejemplo en la fila 1 podemos escribir: s1 = 48 − 8x1 (3.8) Luego, como se debe satisfacer la restricci´n de signo de s1 , se debe modificar x1 de forma de mantener o s1 ≥ 0, as´ ı: 48 s1 = 48 − 8x1 ≥ 0 → x1 ≤ =6 (3.9) 8 Repitiendo la misma l´gica en todas las restricciones: o s1 ≥ 0 → x 1 ≤ s2 ≥ 0 → x 1 ≤ s3 ≥ 0 → x 1 ≤ 48 8 =6 20 4 =5 8 2 =4 (3.10) s4 ≥ 0 → ∀ x 1 Por lo tanto, para mantener las variables basales no negativas, el m´ximo valor que puede tomar x 1 a o corresponde a m´ 48 , 20 , 2 } = 4, por lo tanto si se escoge x1 > 4, s3 se vuelve negativa y la soluci´n ın{ 8 4 8 8
  • 9. Segundo Semestre 2003 M´todo Simplex e basal deja de ser factible. Cada restricci´n en la cual el coeficiente de la variable entrante es positivo representa una restrico ci´n para el valor m´ximo que pueda tomar dicha variable. Luego, en t´rminos generales, para cada o a e restricci´n en la que la variable entrante tiene un coeficiente positivo se debe verificar que: o Coeficiente del lado derecho de la fila Coeficiente de la variable entrante en la fila (3.11) Si una variable tiene un coeficiente no positivo en una fila (por ejemplo x1 en la fila 4), la variable b´sica de la fila sigue siendo positiva para cualquier valor de la variable entrante. a En suma, para determinar el valor m´ximo de una variable entrante basta con aplicar (3.11) en a todas las filas con coeficiente de la variable entrante positivo y escoger el m´ ınimo. El valor menor corresponder´ a la fila m´s restrictiva y por lo tanto la que controla el valor entrante. a a 3.4. C´lculo de la Nueva Soluci´n B´sica Factible - Pivoteo a o a Siempre se debe incorporar una variable entrante en la fila que control´ su valor m´ximo. En el o a ejemplo, para hacer que x1 sea la variable basal en la fila 3 se debe emplear operaciones fila elementales para conseguir que x1 tenga coeficiente 1 en dicha fila y 0 en las otras filas. El procedimiento se denomina pivoteo en la fila 3. El resultado final es que x1 reemplace a s3 como variable b´sica de la a fila 3. Los pasos a seguir son los siguientes: Paso 1 Se crea un coeficiente 1 para x1 en la fila 3 multiplicando la fila completa por resultante de la operaci´n es: o x1 + 0,75x2 + 0,25x3 + 0,5s3 = 4 1 2. La fila (3.12) Paso 2 Se crea un coeficiente 0 para la variables x1 en la fila 0. Para ello basta multiplicar por 60 (3.12) y sumarla a la fila 0 actual: z + 15x2 − 5x3 + 30s3 = 240 (3.13) Paso 3 Para fabricar un coeficiente 0 para la variables x1 en la fila 1 se multiplica por −8 (3.12) y se suma a la fila 1 actual: −x3 + s1 − 4s3 = 16 (3.14) Paso 4 Creamos un coeficiente 0 para la variables x1 en la fila 2 multiplicando por −4 (3.12) y sum´ndosela a la fila 2 actual: a −x2 + 0,5x3 + s2 − 2s3 = 4 (3.15) Debido a que en la fila 4 no aparece la variable x1 , no es necesario aplicar operaciones filas para eliminar x1 de la fila. Luego, la fila 4 queda igual que antes: x2 + s 4 = 5 (3.16) Efectuando todas las modificaciones descritas se completa el Cuadro 3.3. Las variables basales y no basales en este caso definen los siguientes conjuntos: BV = {z, s1 , s2 , x1 , s4 } 9 N BV = {s3 , x2 , x3 } (3.17)
  • 10. Segundo Semestre 2003 Fila Fila Fila Fila Fila M´todo Simplex e 0 z +15x2 −5x3 +30s3 1 −x3 +s1 −4s3 2 −x2 +0,5x3 +s2 −2s3 3 x1 +0,75x2 +0,25x3 +0,5s3 4 x2 +s4 = 240 = 16 = 4 = 4 = 5 Variable B´sica a z = 240 s1 = 16 s2 = 4 x1 = 4 s4 = 5 Cuadro 3.3: Forma Can´nica (Primera Iteraci´n) o o La forma can´nica actual est´ asociada a la soluci´n factible z = 240, s 1 = 16, s2 = 4, x1 = 4, s4 = 5 o a o y x2 = x3 = s3 = 0. Se podr´ haber predicho el valor de z considerando que cada unidad de x 1 ıa incrementa el valor de z en 60 y que se determin´ que x1 entrar´ a la base con valor 4. Luego: o ıa Valor de z despu´s de la iteraci´n = Valor de z inicial + 4 × 60 = 0 + 240 = 240 e o (3.18) En el paso de la forma can´nica inicial a una mejorada (mayor valor de z posible) se cambi´ de una bfs o o a una bfs adyacente, pues s´lo cambi´ una variable b´sica. Este procedimiento de cambiar de una bfs o o a a la bfs adyacente con mayor valor de la funci´n objetivo se denomina iteraci´n del m´todo Simplex. o o e A continuaci´n, repetiremos el procedimiento a partir de la forma can´nica del Cuadro 3.3. Para ello o o examinamos la fila 0 del Cuadro 3.3 y buscamos la variable que m´s hace crecer la funci´n objetivo a o unitariamente (manteniendo las otras variables no basales en cero): z = 240 − 15x2 + 5x3 − 30s3 (3.19) De la expresi´n (3.19), un cambio unitario de la variable x3 aumenta la funci´n objetivo en 5. Luego, se o o selecciona la variable x3 (las otras tienen coeficiente negativo). A continuaci´n debemos determinar el o valor m´ximo que puede tomar x3 de modo de no violar alguna restricci´n. De acuerdo al procedimiento a o previamente descrito se tiene (recordando que x2 = s3 = 0): de la fila 1 : s1 = 16 + x3 de la fila 2 : s2 = 4 − 0,5x3 de la fila 3 : x1 = 4 − 0,25x3 (3.20) de la fila 4 : s4 = 5 De las expresiones anteriores se concluye que sin importar el valor que tome x 3 , se tiene: s1 ≥ 0 y s4 ≥ 0. Luego, imponiendo la condici´n que s2 y x1 sean no negativas: o s1 ≥ 0 → x 3 ≤ x1 ≥ 0 → x 3 ≤ 4 0,5 = 8 4 0,25 = 16 (3.21) Por lo tanto, para mantener las variables basales no negativas, el m´ximo valor que puede tomar x 3 a o a corresponde a m´ 0,5 , 0,25 } = 8, luego x3 = 8. En este caso, la fila que control´ el valor de m´ximo ın{ 4 4 de x3 fue la fila 2, por lo tanto se debe emplear el pivoteo para conseguir una forma can´nica en la o que x3 sea la variable b´sica de la fila 2. Esto se consigue siguiendo los siguientes pasos: a Paso 1 Se crea un coeficiente 1 para la variable x3 en la fila 2 de la forma can´nica del Cuadro 3.3 o multiplicando la fila completa por 2: −2x2 + x3 + 2s2 − 4s3 = 8 10 (3.22)
  • 11. Segundo Semestre 2003 M´todo Simplex e Paso 2 Construimos un coeficiente 0 para la variable x3 en la fila 0 sum´ndole 5 veces (3.22) a la a fila 0 actual: z + 5x2 + 10s2 + 10s3 = 280 (3.23) Paso 3 Para generar un coeficiente 0 para la variable x3 en la fila 1 se le suma (3.22) a la fila 1 actual: −2x2 + s1 + 2s2 − 8s3 = 24 (3.24) Paso 4 Creamos un coeficiente 0 para la variable x3 en la fila 3 multiplicando por − 1 a (3.22) y 4 sum´ndosela a la fila 3 actual: a x1 + 1,25x2 − 0,5s2 + 1,5s3 = 2 (3.25) Debido a que la variable x3 no aparece en la fila 4, la fila queda igual: x2 + s 4 = 5 (3.26) Haciendo todas las modificaciones expuestas, la forma can´nica resultante se muestra en el Cuadro o 3.4. Determinando la variable b´sica en cada fila se obtiene: a BV = {z, s1 , x3 , x1 , s4 } N BV = {s2 , s3 , x2 } (3.27) La forma can´nica actual est´ asociada a la soluci´n factible z = 280, s 1 = 24, x3 = 8, x1 = 2, o a o Fila Fila Fila Fila Fila 0 z +5x2 +10s2 +10s3 1 −2x2 +s1 +2s2 −8s3 −2x2 +x3 +2s2 −4s3 2 3 x1 1,25x2 −0,5s2 +1,5s3 4 x2 +s4 Variable B´sica a = 280 z = 280 = 24 s1 = 24 = 8 x3 = 8 = 2 x1 = 2 = 5 s4 = 5 Cuadro 3.4: Forma Can´nica del Problema (Segunda Iteraci´n) o o s4 = 5 y s2 = s3 = x3 = 0. Se podr´ haber predicho el valor de z considerando que cada unidad de ıa x3 incrementa el valor de z en 5 y que se determin´ que x3 entrar´ a la base con valor 8. Luego: o ıa Valor de z despu´s de la iteraci´n = Valor de z previo + 8 × 5 = 240 + 40 = 280 e o (3.28) Debido a que las bfs previa y actual tienen 4 − 1 = 3 variables en com´n (s1 , s4 y x1 ), corresponden u a soluciones basales factibles adyacentes. Volviendo a escribir la fila 0 de la ultima base y despejando z se tiene: ´ z = 280 − 5x2 − 10s2 − 10s3 (3.29) En la expresi´n anterior se observa que el incremento a un valor distinto de cero de cualquier variable o no b´sica provocar´ una reducci´n de la funci´n objetivo. Por lo tanto, se puede concluir que la a ıa o o soluci´n b´sica factible mostrada en el Cuadro 3.4 corresponde a una soluci´n ´ptima. o a o o El criterio empleado para determinar que se ha alcanzado se puede generalizar: una forma can´nica es o optima (para un problema de maximizaci´n) si cada variable no b´sica posee un coeficiente no negativo ´ o a en la fila 0 de la forma can´nica. o 11
  • 12. Segundo Semestre 2003 3.5. M´todo Simplex e Resumen del M´todo Simplex (Maximizaci´n) e o Paso 1 Convertir el LP a suma forma est´ndar. a Paso 2 Encontrar una soluci´n b´sica factible. Si todas las restricciones son de tipo ≤ se pueden usar o a las variables de holgura si para cada fila i. Paso 3 Si todas las variables no b´sicas tienen un coeficiente no negativo en la fila 0, la bfs actual a es optima. Si hay variables en la fila 0 con coeficientes negativos, se debe escoger la que acompa˜e ´ n al coeficiente m´s negativo en la fila 0 para entrar a la base. Esta variable se denomina la variable a entrante. Paso 4 Emplear el pivoteo para hacer que la variable entrante ingrese a la base en la fila que restringi´ su valor. Una vez obtenida la base, volver al paso 3, empleando la forma can´nica actual. o o Cuando se emplea el m´todo Simplex para resolver un problema no pueden existir coeficientes e negativos al lado derecho de la restricci´n. Un coeficiente negativo puede provenir de una elecci´n o o err´nea de la determinaci´n del valor m´ximo que puede tomar la variable entrante. o o a 3.6. El Tableau de Simplex Una forma m´s c´moda y simple de representar un LP para aplicar el m´todo Simplex es mediante a o e un tableau. Volvamos al problema inicial en su versi´n estandarizada: o Max s.t. z = 60x1 + 30x2 + 20x3 8x1 + 6x2 + x3 + s1 4x1 + 2x2 + 1,5x3 + s2 2x1 + 1,5x2 + 0,5x3 + s3 x2 + s 4 xj , si = = = = ≥ (Funci´n Objetivo) o 48 20 8 5 0 (a) Materiales (b) Terminaciones (c) Carpinter´ ıa (d) Demanda de mesas ∀ i, j (3.30) El tableau 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. o Luego, se crea una fila por restricci´n: en la primera columna se ubica el nombre de la variable que o est´ en la base asociada a esa restricci´n, en la segunda columna se ubica el coeficiente en la funci´n a o o objetivo de la variable basal, en las columnas siguiente se representa el coeficiente de cada variable en cada restricci´n y en la ultima columna se ubica el coeficiente del lado derecho asociado a dicha o ´ restricci´n. o A continuaci´n, se procede a calcular la pen´ltima fila (zj ). Para ello basta multiplicar por cada o u columna los coeficiente 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 o o la variable de esa columna a la base. En la ultima fila de la ultima 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, o o por lo tanto es el valor actual de la funci´n objetivo z. o En la ultima fila se efect´a la resta entre el valor zj asociado a cada variable y el coeficiente en ´ u la funci´n objetivo de la variable de esa columna. El valor obtenido corresponde exactamente al neo gativo del valor del coeficiente asociado a esa variable en la fila 0 de la forma can´nica previamente o vista, y representa la variaci´n neta de la funci´n objetivo en t´rminos unitarios al incorporar una o o e 12
  • 13. Segundo Semestre 2003 M´todo Simplex e Base cj s1 0 s2 0 s3 0 s4 0 zj cj − z j x1 x2 x3 s1 s2 s3 s4 60 30 20 0 0 0 0 bi 8 6 1 1 0 0 0 48 4 2 1,5 0 1 0 0 20 2 1,5 0,5 0 0 1 0 8 0 1 0 0 0 0 1 5 Cuadro 3.5: Tableau Inicial del Problema unidad de esa variable a la base, es decir la diferencia entre la disminuci´n representada por z j y el o aporte positivo proporcionado por cj . Conoceremos este coeficiente como precio sombra en el caso de variables de decisi´n y como costo de oportunidad en el caso de variables de holgura. El precio o sombra de una variable de decisi´n debe entenderse como la variaci´n neta de la funci´n fruto de o o o la incorporaci´n de una unidad de esa variable a la base. El costo de oportunidad de una variable o 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 o cj − zj = 0 en cada una de ellas. El Cuadro 3.6 muestra el resultado obtenido tras la aplicaci´n del procedimiento descrito previamente. o Como la ultima fila muestra los aportes netos unitarios de las variables, procedemos a seleccionar el ´ mayor valor posible (variable x1 ). Luego, debemos calcular el valor m´ximo con el que puede ingrea sar a la base dicha variable. De acuerdo al procedimiento descrito previamente esto es equivalente a efectuar el cuociente entre bi y el coeficiente de la variable entrante en esa restricci´n (aij ). Para ello, o ampliamos el tableau generando una columna adicional a la derecha (Cuadro 3.7). Si el coeficiente de la variable es no positivo no se efect´a el c´lculo pues eso significa que no existe l´ u a ımite para el valor de la variable entrante en esa restricci´n. o Base cj s1 0 x1 60 8 x2 30 6 x3 20 1 s1 s2 s3 s4 0 0 0 0 bi 1 0 0 0 48 s2 0 4 2 1,5 0 1 0 0 20 s3 0 2 1,5 0,5 0 0 1 0 8 s4 0 0 1 0 0 0 0 1 5 0 60 0 30 0 20 0 0 0 0 0 0 0 0 0 zj cj − z j Cuadro 3.6: Tableau de la Primera Iteraci´n del Problema o Una vez determinada la variable saliente y valor de la variable entrante se procede a aplicar el pivoteo al tableau. Para ello fabricamos un 1 como coeficiente de x1 en la fila de s3 del tableau y mediante operaciones fila generamos un cero en cada coeficiente de las otras restricciones para la variable entrante x1 . Se vuelve a calcular los zj y luego los cj − zj . En este caso, el unico precio sombra ´ positivo es el asociado a x3 , por lo que conviene que ingrese esta variable a la base. Luego, ampliamos el tableau y determinamos el valor m´ximo con el que puede entrar x3 . De acuerdo al Cuadro 3.8 el a valor lo controla la segunda restricci´n y corresponde a 8. Sale la variable s 2 y entra x3 = 8, el cambio o 13
  • 14. Segundo Semestre 2003 M´todo Simplex e Base cj s1 0 x1 60 8 x2 30 6 x3 20 1 s1 s2 s3 s4 0 0 0 0 bi 1 0 0 0 48 s2 0 4 2 1,5 0 1 0 0 20 s3 0 2 1,5 0,5 0 0 1 0 8 bi aij 48 8 =6 20 4 =5 8 2 =4→ s4 0 0 1 0 0 0 0 1 5 − zj 0 0 0 0 0 0 0 0 cj − z j 60 30 20 0 0 0 0 Cuadro 3.7: Tableau Ampliado de la Primera Iteraci´n del Problema o en la funci´n objetivo ser´ de ∆z + = 8 × 5 = 40, es decir se cumple que: o a z k+1 = z k + (cj − zj ) × min bj aij (3.31) Se aplica el pivoteo y se construye el Cuadro 3.9. En este caso, todos los valores de los precios sombras Base cj s1 0 x1 60 0 x2 30 0 x3 20 −1 s1 s2 0 0 1 0 s3 0 −4 s4 0 0 bi 16 s2 0 0 −2 0,5 0 1 −2 0 4 x1 60 1 0,75 0,25 0 0 0,5 0 4 4 0,5 = 8 → 4 0,25 = 16 s4 0 0 0 0 0 0 1 5 − 15 5 0 0 0 0 30 −30 0 0 240 zj cj − z j 1 60 45 0 −15 bi aij − Cuadro 3.8: Tableau Ampliado de la Segunda Iteraci´n del Problema o y costos de oportunidad son no positivos, por lo tanto se ha alcanzado el ´ptimo. El valor de cada o variable y de la funci´n objetivo se determina leyendo la columna de la izquierda. o Base cj s1 0 x1 60 0 x2 30 −2 x3 s1 20 0 0 1 s2 0 2 s3 0 −8 s4 0 0 bi 24 x3 20 0 −2 1 0 2 −4 0 8 x1 60 1 1,25 0 0 −0,5 1,5 0 2 s4 0 0 1 0 0 0 0 1 5 60 0 35 −5 20 0 0 0 10 −10 10 −10 0 0 280 zj cj − z j Cuadro 3.9: Tableau Final del Problema 14
  • 15. Segundo Semestre 2003 4. M´todo Simplex e Minimizaci´n empleando Simplex o Existen dos forma de emplear el m´todo Simplex para resolver problemas de minimizaci´n. Para e o ilustrar las dos alternativas consideremos el siguiente ejemplo: Min s.t. z = 2x1 − 3x2 (Funci´n Objetivo) o x1 + x 2 ≤ 4 x1 − x 2 ≤ 6 x1 , x2 ≥ 0 4.1. (a) (b) (4.1) M´todo 1 e El primer m´todo consiste en transformar el problema de minimizaci´n en uno de maximizaci´n. e o o Para ello, basta con modificar la funci´n objetivo de la siguiente forma: o Min z = f (x) ⇔ Max z = −f (x) (4.2) Por lo tanto, para resolver el problema (4.3) podemos aplicar el m´todo Simplex a: e Max s.t. z = −2x1 + 3x2 (Funci´n Objetivo) o x1 + x 2 + s 1 = 4 x1 − x 2 + s 2 = 6 (4.3) (a) (b) El Cuadro 4.1 muestra la primera iteraci´n del problema. En este caso la variable con mayor precio o sombra es x2 . El valor m´ximo con el que puede entrar es 4 y reemplazar´ a s1 en la base. El nuevo a a valor de la funci´n objetivo ser´: z = 4 × 3 = 12. o a Base cj s1 0 s2 0 zj cj − z j x1 −2 1 x2 3 1 s1 s2 0 0 bi 1 0 4 bi aij 4 1 = 1 −1 0 1 6 − 0 −2 0 3 0 0 0 0 0 4→ Cuadro 4.1: Primera Iteraci´n Problema de Minimizaci´n - M´todo 1 o o e Aplicando el pivoteo, se construye el Cuadro 4.2. En este caso, en todas las variables se cumple que cj − zj ≤ 0, por lo tanto se ha alcanzado el ´ptimo. Luego, la soluci´n ´ptima corresponde a x 2 = 4, o o o s2 = 10, x1 = s1 = 0, con z = 12. Esto significa que en el problema original, el valor ´ptimo de la o funci´n objetivo es z = −12, con x2 = 4, s2 = 10 y x1 = s1 = 0. o En suma, una opci´n para resolver un problema de minimizaci´n con Simplex es multiplicando por o o −1 la funci´n objetivo y aplicar el algoritmo manteniendo todas las reglas vistas anteriormente. o 4.2. M´todo 2 e Se puede hacer un modificaci´n muy simple para aplicar Simplex directamente a un problema de o minimizaci´n. Las modificaciones son las siguientes: o 15
  • 16. Segundo Semestre 2003 M´todo Simplex e Base cj x2 3 0 s2 zj cj − z j x1 x2 −2 3 1 1 s1 0 1 s2 0 0 bi 4 2 0 1 1 10 3 −5 3 0 3 −3 0 0 12 Cuadro 4.2: Tableau Final Problema de Minimizaci´n - M´todo 1 o e Debido a que interesa minimizar la funci´n objetivo se incorpora a la base las variables que o poseen precio sombra o costo de oportunidad m´s negativo. a El ´ptimo se alcanza cuando se cumple que: cj − zj ≥ 0 ∀ j o Siguiendo este m´todo, el tableau correspondiente a la primera iteraci´n se muestra en el Cuadro 4.3. e o En este caso, el precio sombra de la variable x2 es el m´s negativo, por lo que se incorpora a la base. a Ampliando el tableau, se encuentra que la restricci´n que controla el valor de la variable es la primera o con un m´ximo de x2 = 4. a Mediante pivoteo en la primera restricci´n se completa el Cuadro 4.4. Este tableau es el final, pues o Base cj s1 0 x1 2 1 x2 −3 1 s1 s2 0 0 bi 1 0 4 bi aij 4 1 = 0 1 −1 0 1 6 − zj 0 0 0 0 0 cj − z j 2 −3 0 0 s2 4→ Cuadro 4.3: Primera Iteraci´n Problema de Minimizaci´n - M´todo 2 o o e todos los precios sombras y costos de oportunidad de las variables no basales son no negativos. Evidentemente, la soluci´n obtenida coincide con el ´ptimo alcanzado con el m´todo 1. o o e Base cj x2 −3 s2 0 zj cj − z j x1 2 1 x2 −3 1 s1 0 1 s2 0 0 bi 4 2 0 1 1 10 0 0 −12 −3 −3 −3 5 0 3 Cuadro 4.4: Tableau Final Problema de Minimizaci´n - M´todo 1 o e 5. Generalizaci´n o El m´todo Simplex busca ´ptimos adyacentes a partir una soluci´n basal factible. En todos lo e o o ejemplos de resoluci´n que se han visto hasta ahora se han empleado en la soluci´n inicial factible las o o 16
  • 17. Segundo Semestre 2003 M´todo Simplex e variables de holgura. Sin embargo, el empleo de variables de holguras no es posible cuando se tiene restricciones de tipo ≥ o =. En estos casos se recurre al empleo de variables artificiales para resolver el LP mediante Simplex. Veamos un ejemplo: Min s.t. z = 2x1 + 3x2 0,5x1 + 0,25x2 x1 + 3x2 x1 + x 2 x1 , x2 ≤ ≥ = ≥ (Funci´n Objetivo) o 4 (a) 20 (b) 10 (b) 0 (5.1) La versi´n estandarizada del problema queda: o Min s.t. z = 2x1 + 3x2 (Funci´n Objetivo) o 0,5x1 + 0,25x2 + s1 = 4 (a) x1 + 3x2 − e2 = 20 (b) x1 + x 2 = 10 (c) (5.2) Si intentamos buscar una soluci´n b´sica factible a partir de (5.2) nos encontrar´ o a ıamos con dificultades: en la primera restricci´n se puede tomar a s1 = 4 como variable basal, en la segunda restricci´n o o deber´ ıamos tomar e2 = −20 y en la tercera no habr´ posibilidad de conseguir una variable b´sica. ıa a Debido a que el m´todo exige variables positivas, no es aceptable que en la segunda restricci´n la e o variable de exceso e2 tome un valor negativo. Para resolver el problema, inventaremos variables basales para cada restricci´n que lo necesite. Debido a que dichas variables no tienen ning´n significado para o u el problema que se est´ resolviendo las denominaremos variables artificiales (a i ). Recurriendo a a esta opci´n, la nueva forma est´ndar queda: o a Min s.t. z = 2x1 + 3x2 (Funci´n Objetivo) o 0,5x1 + 0,25x2 + s1 = 4 (a) x1 + 3x2 − e2 + a2 = 20 (b) x1 + x 2 + a 3 = 10 (c) (5.3) Luego, como soluci´n b´sica factible inicial podemos tomar s1 = 4, a2 = 20 y a3 = 10. Las variables o a no b´sicas ser´ a ıan: x1 = x2 = e2 = 0. El problema ahora, es que si se aplica el m´todo Simplex al e problema (5.3) no existen garant´ que la soluci´n encontrada efectivamente corresponda a un ´ptiıas o o mo para el problema (5.1), ya que eventualmente en la base final podr´ ocurrir que alguna de las ıa variables artificiales est´ en ella, es decir, tenga un valor distinto de cero. e Para garantizar que el ´ptimo encontrado sea el correspondiente al problema original debemos forzar o a que el algoritmo deje fuera de la base a las variables artificiales. La idea consiste en incorporar a la funci´n objetivo las variables artificiales con un coeficiente −M , donde M es una constante positiva o lo suficientemente grande para la escala del problema (en caso de minimizaci´n debemos emplear s´lo o o M ). Luego, si las variables artificiales tomaran un valor positivo, la funci´n objetivo se ver´ tremendao ıa mente castigada en su valor. Por lo tanto, el m´todo se encargar´ de hacer que las variables artificiales e a sean nulas al maximizar (o minimizar) la funci´n objetivo. De acuerdo a ello, el nuevo problema a o resolver queda: Min s.t. z = 2x1 + 3x2 + M a1 + M a2 (Funci´n Objetivo) o 0,5x1 + 0,25x2 + s1 = 4 x1 + 3x2 − e2 + a2 = 20 x1 + x 2 + a 3 = 10 17 (a) (b) (c) (5.4)
  • 18. Segundo Semestre 2003 M´todo Simplex e Para ver c´mo funciona el m´todo construyamos el tableau y resolvamos el problema. A partir del o e Cuadro 5.1 se observa que la variable con cj − zj m´s negativo corresponde a x2 , como deseamos a minimizar incorporamos ´sta variable a la base. Haciendo el c´lculo del valor m´ximo obtenemos que e a a debe salir la variable artificial a2 , la variable entrante se incorpora a la base con valor 20 . En este caso, 3 la funci´n disminuye de 30M a 30M + 20 (3 − 4M ) = 20 + 10 M . o 3 3 Mediante pivoteo se obtiene el Cuadro 5.2. En este caso, la variable con precio sombra m´s nea Base s1 cj 0 x1 2 0,5 x2 3 0,25 s1 0 1 e2 0 0 a2 M 0 a3 M 0 bi 4 a2 M 1 3 0 −1 1 0 20 a3 M 1 1 0 0 0 1 10 zj 2M 4M 0 −M M M 30M cj − z j 2 − 2M 3 − 4M 0 M 0 0 bi aij 4 0,25 = 16 20 3 → 10 1 = 10 Cuadro 5.1: Primera Iteraci´n - Generalizaci´n o o gativo corresponde a x1 . En este caso, el valor m´ximo que puede tomar x1 queda controlado por la a tercera restricci´n y es igual a 5. Luego, sale de la base la variable artificial de la tercera restricci´n y o o 2 entra x1 = 5. En este caso la funci´n objetivo disminuye de 20 + 10 M a 20 + 10 M + 5(1 − 3 M ) = 25. o 3 3 Mediante pivoteo respecto de la tercera restricci´n se construye el tableau del Cuadro 5.3. Debido o Base s1 cj 0 x2 3 a3 x1 2 M zj cj − z j 1 5 12 1 3 2 3 + 2M 3 1 − 2M 3 x2 s1 3 0 0 1 e2 0 3 0 1 12 −1 3 1 3 −1 + 1 M 3 0 0 1 1 − 3M 1 0 0 0 a2 M 1 − 12 a3 M 0 1 3 0 −1 3 1 1− 1 3M M 4 3M −1 bi 7 3 20 3 10 3 + 10 M 3 bi aij 28 5 20 5→ 0 20 Cuadro 5.2: Segunda Iteraci´n - Generalizaci´n o o a que en este tableau todos los precios sombra son positivos, se ha alcanzado el ´ptimo. Adem´s, se o a verifica que las variables artificiales no est´n en la base, por lo que podemos asegurar que la soluci´n a o ´ptima obtenida efectivamente corresponde al ´ptimo del problema inicial. o o 6. 6.1. Casos Especiales Soluciones Alternativas Para ilustrar una situaci´n en la que aparecen soluciones alternativas, consideremos el Ejemplo 4 o pero modificando el coeficiente que acompa˜a a la variable x2 en la funci´n objetivo aumentando de n o 18
  • 19. Segundo Semestre 2003 M´todo Simplex e Base cj s1 0 x 1 x 2 s 1 e2 2 3 0 0 1 0 0 1 −8 a2 M x2 3 0 1 0 1 −2 2 1 0 0 1 2 0 0 −1 2 1 2 1 2 zj cj − z j 2 0 3 0 M− 1 2 5 3 2 1 −2 bi −1 2 1 8 1 2 x1 a3 M −5 8 5 M 0 25 1 4 Cuadro 5.3: Segunda Iteraci´n - Generalizaci´n o o 30 a 35. Luego, el modelo de LP queda: Max s.t. z = 60x1 + 35x2 + 20x3 8x1 + 6x2 + x3 + s1 4x1 + 2x2 + 1,5x3 + s2 2x1 + 1,5x2 + 0,5x3 + s3 x2 + s 4 xj , si = = = = ≥ (Funci´n Objetivo) o 48 20 8 5 0 (a) Materiales (b) Terminaciones (c) Carpinter´ ıa (d) Demanda de mesas ∀ i, j (6.1) El tableau inicial se muestra en el Cuadro 6.1. Aplicando el m´todo Simplex, tras dos iteraciones se e obtiene el tableau final del Cuadro 6.2. Aqu´ la funci´n objetivo resulta z = 280 y las variables basales ı, o son: s1 = 24, x3 = 8, x1 = 2 y s4 = 5. Anteriormente, se mostr´ que una propiedad de las variables basales es que en cada tableau se o Base cj s1 0 s2 0 0 s3 s4 0 zj cj − z j x1 x2 x3 s1 s2 s3 s4 60 35 20 0 0 0 0 bi 8 6 1 1 0 0 0 48 4 2 1,5 0 1 0 0 20 2 1,5 0,5 0 0 1 0 8 0 1 0 0 0 0 1 5 0 0 0 0 0 0 0 0 60 35 20 0 0 0 0 Cuadro 6.1: Tableau Inicial del Problema - Soluciones Alternativas verifica que todas ellas poseen cj − zj = 0. Observando el tableau final del Cuadro 6.2 se encuentra que existe una variable no basal (x2 ) que posee precio sombra nulo. Esto significa que el hecho de incorporar x2 a la base no cambiar´ el valor de la funci´n objetivo, pero s´ el valor de las variables a o ı basales. Para verificar esta afirmaci´n, podemos hacer una iteraci´n adicional ingresando x 2 a la base. o o bi 2 El valor de ingreso queda definido por la tercera restricci´n, donde aij = 1,25 = 1,6. Mediante pivoteo o se construye el Cuadro 6.3. La nueva soluci´n factible corresponde a: s1 = 27,2, x3 = 11,2, x2 = 1,6 y s4 = 3,4, con valor o de la funci´n objetivo z = 280. Como se vio cuando se estudi´ resoluci´n gr´fica de LP, se puede deo o o a mostrar que cualquier punto del segmento de l´ ınea que une dos puntos ´ptimos es tambi´n un ´ptimo o e o para el problema. Para ilustrar esa idea, podemos escribir los dos puntos ´ptimos encontrados (s´lo o o 19
  • 20. Segundo Semestre 2003 M´todo Simplex e x1 x2 x3 s1 s2 s3 s4 Base cj 60 35 20 0 0 0 0 bi s1 0 0 −2 0 1 2 −8 0 24 x3 20 0 −2 1 0 2 −4 0 8 x1 60 1 1,25 0 0 −0,5 1,5 0 2 s4 0 0 1 0 0 0 0 1 5 zj 60 35 20 0 10 10 0 280 cj − z j 0 0 0 0 −10 −10 0 Cuadro 6.2: Tableau Final del Problema - Soluciones Alternativas x1 x2 x3 s1 s2 s3 s4 Base cj 60 35 20 0 0 0 0 bi s1 0 1,6 0 0 1 1,2 −5,6 0 27,2 x3 20 1,6 0 1 0 1,2 −1,6 0 11,2 x2 35 0,8 1 0 0 −0,4 1,2 0 1,6 s4 0 −0,8 0 0 0 0,4 −1,2 1 3,4 zj 60 35 20 0 10 10 0 280 cj − z j 0 0 0 0 −10 −10 0 Cuadro 6.3: Tableau Final Alternativo - Soluciones Alternativas las variables de decisi´n): o    2 x1 Punto Extremo 1 =  x2  =  0  x3 8     x1 0 Punto Extremo 2 =  x2  =  1,6  11,2 x3  (6.2) (6.3) Luego, podemos escribir la ecuaci´n param´trica de la recta que une ambos puntos (0 ≤ λ ≤ 1): o e         x1 2 0 2λ  x2  = λ  0  + (1 − λ)  1,6  =  1,6 − 1,6λ  (6.4) x3 8 11,2 11,2 − 3,2λ Cualquier punto que pertenezca a la recta definida por (6.4) es un ´ptimo para el problema. En suma, o siempre que exista un cj −zj = 0 para una variable no b´sica, puede que exista una soluci´n alternativa a o si esa variable es capaz de ingresar a la base. En el caso que no existen precios sombra o costo de oportunidad nulos para variables no basales se puede asegurar que la soluci´n ´ptima es unica. o o ´ 6.2. LP No Acotados Como se estudi´ en la resoluci´n gr´fica de problemas de programaci´n lineal, en algunos LP o o a o pueden existir puntos de la regi´n factible en el que los valores de z pueden ser arbitrariamente grandes o (maximizaci´n) o arbitrariamente peque˜os (minimizaci´n). Cuando esto ocurre, se dice que el LP o n o es no acotado. A continuaci´n se ver´ como puede ser empleado el m´todo Simplex para determinar o a e 20
  • 21. Segundo Semestre 2003 M´todo Simplex e cuando un LP es no acotado. Consideremos el siguiente modelo: Max s.t. z = 36x1 + 30x2 − 3x3 − 4x4 x1 + x 2 − x 3 ≤ 5 6x1 + 5x2 − x4 ≤ 10 x1 , x2 , x3 , x4 ≥ 0 Estandarizando: Max s.t. (a) (b) (6.5) z = 36x1 + 30x2 − 3x3 − 4x4 x1 + x 2 − x 3 + s 1 = 5 6x1 + 5x2 − x4 + s2 = 10 (6.6) (a) (b) A continuaci´n construimos el tableau inicial y efectuamos la primera iteraci´n (Cuadro 6.4). En o o este caso la variable que m´s conviene ingresar a la base es x1 . Verificando el valor m´ximo se obtiene a a x1 = 5 . Ingresando x1 a la base se completa el Cuadro 6.5. Completando el nuevo tableau se determina 3 que conviene ingresar la variable x2 con valor 20. Se completa la iteraci´n y se construye el Cuadro 6.6. o En el Cuadro 6.6 se verifica que la variable x3 posee un precio sombra factible, si embargo al Base cj s1 0 x1 36 1 x2 x3 x4 s1 s2 30 −3 −4 0 0 1 −1 0 1 0 bi 5 0 6 5 0 −1 0 1 10 zj 0 0 0 0 0 0 0 cj − z j 36 30 −3 −4 0 0 s2 bi aij 5 1 =5 10 5 6 = 3 → Cuadro 6.4: Tableau Inicial - LP No Acotado Base cj s1 0 x1 36 zj cj − z j x1 x2 x3 36 30 −3 1 0 6 −1 x4 −4 5 6 −1 6 0 1 6 −6 2 0 0 6 −6 1 0 36 30 0 0 0 −3 1 6 s1 s2 0 0 1 −1 6 bi 10 3 5 3 bi aij 20 → − 0 Cuadro 6.5: Segunda Iteraci´n - LP No Acotado o intentar incorporarla a la base se encuentra que no existe un valor m´ximo. Podemos entender la a situaci´n escribiendo las dos restricciones en su estado actual a partir del Cuadro 6.6: o x4 = 20 + 6x3 x1 = 5 + x 3 (6.7) Luego, cualquier incremento positivo de x3 provoca que las variable basales x4 y x1 tambi´n aumenten, e por lo tanto sin importar el valor que tome x3 las variables basales seguir´n siendo positivas. Como el a 21
  • 22. Segundo Semestre 2003 M´todo Simplex e x1 Base cj 36 x4 −4 0 36 x1 1 x2 30 1 x3 −3 −6 x4 −4 1 s1 0 6 s2 0 −1 bi 20 − 1 −1 0 1 0 5 − bi aij 36 32 −12 −4 12 4 100 0 −2 9 0 −12 −4 zj cj − z j Cuadro 6.6: Tableau Final - LP No Acotado precio sombra de x3 es 9, se puede encontrar puntos de la regi´n factible que tienen un valor arbitrariao mente grande (pues no existen restricciones para el valor de x3 ), en otras palabras el LP es no acotado. En suma, un problema de maximizaci´n de un LP no est´ acotado si existe una variable no b´sica o a a con precio sombra positivo sin que exista l´ ımite para el valor m´ximo que pueda tomar. Esto ocurre a cuando una variable tiene precio sombra positivo y coeficientes no positivos en todas las restricciones. 6.3. Soluci´n Imposible o Para ilustrar como se detecta cuando un problema no tiene regi´n factible mediante el m´todo o e Simplex consideremos el siguiente modelo en su versi´n est´ndar: o a Min s.t. z = 2x1 + 3x2 + M a1 + M a2 1 1 2 x1 + 4 x2 + s 1 x1 + 3x2 − e2 + x1 + x 2 + a 3 = 4 a2 = 36 = 10 (a) (b) (c) (6.8) El Cuadro 6.7 muestra la primera iteraci´n. Aqu´ conviene incorporar la variable x 2 a la base con o ı, valor 10. Mediante operaciones fila se completa el Cuadro 6.8. En este cuadro se verifica que todas las variables poseen un cj − zj no negativo. Como se est´ minimizando se ha alcanzado el ´ptimo. a o Al verificar la soluci´n ´ptima obtenemos: o o x1 2 x2 3 1 4 s1 0 1 e2 0 0 a2 M 0 a3 M 0 1 2 bi 4 16 Base s1 cj 0 a2 M 1 3 0 −1 1 0 36 12 a3 M 1 1 0 0 0 1 10 10 → zj 2M 4M 0 −M M M 46M cj − z j 2 − 2M 3 − 4M 0 M 0 0 Cuadro 6.7: Tableau Inicial - Soluci´n Imposible o 22
  • 23. Segundo Semestre 2003 M´todo Simplex e Base s1 cj 0 a2 M x2 3 zj cj − z j x1 2 x2 s1 3 0 0 1 e2 0 0 a2 M 0 a3 M −1 4 bi −2 0 0 −1 1 −3 6 1 1 0 0 0 1 10 3 − 2M 2M − 1 3 0 0 0 −M M M 0 1 4 3 2 3 − 3M 6M + 30 4M − 3 Cuadro 6.8: Tableau Final - Soluci´n Imposible o z s1 a2 x2 a3 e2 x1 = = = = = = = 30 + 6M 3 2 6 10 0 0 0 (6.9) Como la base ´ptima contiene una variable artificial la soluci´n anterior no es admisible. En este caso, o o no existe regi´n factible para el problema tal como se ilustra en la Figura 6.1. En suma, cuando existe o una variable artificial con valor positivo en el ´ptimo, el LP no posee regi´n factible. o o x2 15 10 (a) 5 (b) (c) 0 0 5 10 15 20 25 30 35 x1 Figura 6.1: Representaci´n Gr´fica del Problema - Soluci´n Imposible o a o 7. Degeneraci´n y Convergencia del M´todo Simplex o e Te´ricamente, el m´todo Simplex puede fallar al intentar encontrar la soluci´n ´ptima de un o e o o determinado LP. A continuaci´n se describir´ en que situaciones Simplex puede fallar. Recordemos o a que en un problema de maximizaci´n la siguiente relaci´n es v´lida: o o a        valor de z valor de z valor de la cj − zj de  para la  =  para la  +  variable   la variable  (7.1) nueva bfs bfs actual entrante entrante Recordemos que en un problema de maximizaci´n, se cumple que cj − zj > 0 para la variable entrante. o Luego: 23
  • 24. Segundo Semestre 2003 M´todo Simplex e 1. Si el valor de la variable entrante es positivo, el valor de z para la nueva base es mayor que el valor z en la base actual. 2. Si el valor de la variable entrante es nulo, el valor de z para la base nueva es igual al valor de z para la base actual. Si al resolver un LP mediante Simplex se cumple que en todas las bases evaluadas todas las variables son positivas, se dice que el problema es un LP No Degenerado. Por lo tanto, al resolver un LP no degenerado se cumple que el valor de z crece en cada iteraci´n. En otras palabras, al resolver un LP o mediante Simplex nunca se puede pasar por una misma bfs m´s de una vez. a Como ya se mostr´ anteriormente, un LP posee un n´mero finito de soluciones b´sicas factibles. o u a Adem´s, como nunca se repite una bfs, se puede garantizar que el m´todo Simplex resolver´ un proa e a blema no degenerado en un n´mero finito de iteraciones. A pesar de ello, Simlex puede fallar par un u problema degenerado: Definici´n 4 Un LP es degenerado si existe al menos una bfs en la cual al menos una variable o basal es igual a cero. Consideremos el siguiente LP degenerado: Max s.t. z = 5x1 + 2x2 x1 + x 2 ≤ 6 x1 − x 2 ≤ 0 x1 , x2 ≥ 0 (a) (b) (7.2) Un vez estandarizado el problema, se construye el tableau inicial (Cuadro 7.1). En dicho tableau, se observa que s2 = 0, por lo tanto el LP est´ degenerado. A pesar de ello, podemos proseguir iterando a ingresando la variable con mayor precio sombra (x1 ) con valor m´ximo igual a cero. Mediante operaa ciones fila construimos el Cuadro 7.2. Una vez m´s, observamos que el tableau est´ degenerado ya que a a la variable basal x1 tiene valor cero. N´tese que la funci´n objetivo no mejor´ con la primera iteraci´n. o o o o En el nuevo tableau, la variable x2 posee un precio sombra positivo por lo que conviene incorporarla a la base con valor 3. El Cuadro 7.3 es ´ptimo, ya que todas las variables poseen un precio sombra no positivo. En o Base cj s1 0 x1 5 1 x2 2 1 s1 s2 0 0 bi 1 0 6 bi aij 6 1 = 0 1 −1 0 1 0 0→ 0 5 0 2 0 0 0 0 0 0 s2 zj cj − z j 1 Cuadro 7.1: Primera Iteraci´n - LP Degenerado o este caso, a pesar de tratarse de un problema degenerado el m´todo Simplex fue capaz de determinar e el ´ptimo. o En general, puede que Simplex no sea capaz de resolver un problema degenerado. Uno de estos casos 24
  • 25. Segundo Semestre 2003 M´todo Simplex e Base cj s1 0 x1 5 0 x2 2 2 s1 s2 0 0 bi 1 −1 6 bi aij 6 2 = 5 1 −1 0 1 0 − 5 0 −5 7 0 0 5 −5 0 0 x1 zj cj − z j 3→ Cuadro 7.2: Segunda Iteraci´n - LP Degenerado o x1 5 zj cj − z j x1 x2 5 2 0 1 s1 0 0,5 s2 0 −0,5 bi 3 1 0 0,5 0,5 3 5 0 Base cj x2 2 2 0 3,5 1,5 21 −3,5 −1,5 Cuadro 7.3: Tableau Final - LP Degenerado ocurre en problemas degenerados de tipo c´ ıclicos, es decir, tras algunas modificaciones en la bfs la funci´n objetivo no mejora y se cae en un loop volviendo continuamente a la bfs inicial. Se deja como o ejercicio al lector resolver el siguiente LP degenerado de tipo c´ ıclico: Max s.t. z = 2x1 + 3x2 − x3 − 12x4 −2x1 − 9x2 + x3 + 9x4 ≤ 0 x1 x3 ≤ 0 3 + x2 − 3 − 2x4 xi ≥ 0 (a) (b) ∀i (7.3) Otros casos donde se llega a un tableau degenerado es cuando ocurre un empate entre las razones bi m´ ınimas aij para dos o m´s restricciones del tableau. En este caso, al escoger una de las restricciones, a la variable basal de la otra autom´ticamente se hace cero y se degenera el tableau. Para ilustrar dicha a situaci´n, se deja como ejercicio al lector revisar la resoluci´n del siguiente problema: o o Max s.t. z = 10x1 + 9x2 7 10 x1 + x2 5 1 2 x1 + 6 x2 2 x1 + 3 x2 1 1 10 x1 + 4 x2 ≤ 630 (a) x1 , x2 ≥ 0 ≤ 480 (b) (7.4) ≤ 708 (c) ≤ 135 (d) Para ilustrar la ineficiencia del m´todo Simplex consideremos la representaci´n gr´fica de la regi´n e o a o factible del problema (7.2) en la Figura 7.1. En este caso, la regi´n factible queda definida por el o tri´ngulo BCD, es decir, los puntos extremos de la regi´n son B, C y D. La correspondencia entre a o los puntos extremos y las soluciones b´sicas factibles se muestran en el Cuadro 7.4. En este caso, se a observa que existen tres bfs que corresponden al punto C. En general, se puede demostrar que para que un LP con n variables de decisi´n sea degenerado, basta que n + 1 o m´s restricciones (incluidas o a 25
  • 26. Segundo Semestre 2003 M´todo Simplex e Variables Basales x1 , x2 x1 , s1 x1 , s2 x2 , s1 x2 , s2 s1 , s2 Soluci´n o Basal Factible x1 = x2 = 3, s1 = s2 = 0 x1 = 0, s1 = 6, x2 = s2 = 0 x1 = 6, s2 = −6, x2 = s1 = 0 x2 = 0, s1 = 6, x1 = s2 = 0 x2 = 6, s2 = 6, s1 = x1 = 0 s1 = 6, s2 = 0, x1 = x2 = 0 Correspondencia a Puntos Extremos D C No es una bfs pues s2 < 0 C B C Cuadro 7.4: Correspondencia entre bfs y puntos extremos del problema (7.2) las de signo) sean activas en un punto extremo. En el ejemplo, en el punto C son activas las restricciones: x2 6 B 5 (b) 4 D 3 2 (a) 1 0 C 0 A 1 2 3 4 5 6 x1 Figura 7.1: Representaci´n Gr´fica del Problema (7.2) o a x1 − x 2 ≤ 0 x1 ≥ 0 x2 ≥ 0 (7.5) Por lo tanto, existen tres restricciones activas en ese punto extremo y se verifica que el LP efectivamente est´ degenerado. En general el m´todo Simplex es ineficiente para resolver problemas degenerados ya a e que puede haber muchos conjuntos de variables b´sicas correspondientes a alg´n punto extremo no a u ´ptimo. El algoritmo Simplex podr´ encontrar todos esos conjuntos de variables antes de determinar o ıa que ese punto extremo no es ´ptimo. En el ejemplo, Simplex evalu´ dos combinaciones de variables o o b´sicas asociadas a C antes de lograr determinar que el punto no era ´ptimo. Evidentemente, en a o un problema peque˜o como el del ejemplo esto no representa para mayor problema, sin embargo en n problemas de mayor tama˜o el efecto puede ser a mayor escala provocando que Simplex no pueda n encontrar el ´ptimo en un n´mero razonable de iteraciones. o u 26