Vous êtes sur la page 1sur 15

Pontificia Universidad Catlica

Escuela de Ingeniera
Departamento de Ingeniera Industrial y de Sistemas
Clase 21 Simplex Fase I y II
ICS 1102 Optimizacion
Profesor : Claudio Seebach
18 de octubre de 2006
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 77
Segunda Fase
El tableau inicial para la segunda fase que nos permite comenzar a iterar
de inmediato en b usqueda de la solucion optima al problema original:
Eliminando del ultimo tableau de la Fase I, la pen ultima la, asociada
a la funci on objetivo de la Fase I, y la columna de y
3
asociada a la
variable auxiliar, obtenemos el tableau inicial para la Fase II:
x
1
x
2
x
3
x
4
x
5
v.b.
0 0 1
20
14
250
3
250 x
3
0 1 0
1
7
10
3
40 x
2
1 0 0
1
7

20
3
10 x
1
0 0 0
200
7

10000
3
32000
La S.I.F.B.: es: x
1
= 10, x
2
= 40, x
3
= 250, x
4
= 0, x
5
= 0
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 78
Segunda Fase
Se comienza desde un vertice del dominio del problema original:
T
i
p
o

2
Tipo 1
D
(0,45)
(10,40)
(0,0)
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 79
Fin Segunda Fase
Al hacer una iteraci on del algoritmo obtenemos el siguiente tableau:
x
1
x
2
x
3
x
4
x
5
v.b.
0 0
3
250
3
175
1 3 x
5
0 1
1
25
15
175
0 30 x
2
1 0
2
25
5
175
0 30 x
1
0 0 40
5000
175
0 42000
Este tableau corresponde al optimo del problema modicado, en cual
estamos forzados a usar al menos 15 litros de pintura.
El punto optimo es x
1
= 30, x
2
= 30, x
3
= 0, x
4
= 0, x
5
= 3
El valor optimo del problema de minimizacion es -42.000, o sea la uti-
lidad del problema equivalente de maximizacion es $42.000.
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 80
Gracamente Segunda Fase
El punto optimo es x
1
= 30, x
2
= 30, x
3
= 0, x
4
= 0, x
5
= 3
T
i
p
o

2
Tipo 1
D
(0,45)
(10,40)
(0,0)
(30,30)
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 81
Pontificia Universidad Catlica
Escuela de Ingeniera
Departamento de Ingeniera Industrial y de Sistemas
Clase 21 Analisis Matricial del Metodo Simplex
ICS 1102 Optimizacion
Profesor : Claudio Seebach
18 de octubre de 2006
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 82
Analisis Matricial del Metodo Simplex
La forma est andar, una vez agregadas las variables de holgura y de
exceso necesarias, es:
min c

x
s.a. Ax = b
x 0
Los componentes del vector b deben ser mayor o igual a cero.
En cada iteraci on los componentes del vector x se dividen en:
Las variables b asicas: x
B
Las variables no basicas: x
D
El problema se puede escribir entonces como:
min c

B
x
B
+ c

D
x
D
s.a. Bx
B
+ Dx
D
= b
x
B
, x
D
0
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 83
Analisis Matricial del Metodo Simplex
La matriz B es una matriz de mm que debe ser de rango maximo.
Si multiplicamos la restriccion en ambos lado por B
1
queda:
x
B
= B
1
b B
1
Dx
D
Reemplazando en la funcion objetivo queda:
v = c

B
B
1
b + (c

D
c

B
B
1
D)x
D
El siguiente problema es equivalente al original:
min c

B
B
1
b + (c

D
c

B
B
1
D)x
D
s.a. x
B
+B
1
Dx
D
= B
1
b
x
B
, x
D
0
Si todos los elementos de B
1
b son no negativos, la siguiente solucion
corresponde a una solucion basica factible del problema:
x
B
= B
1
b, x
D
= 0. El valor de la funcion objetivo es: v = c

B
B
1
b
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 84
Analisis Matricial del Metodo Simplex
Si el tableau inicial se expresa en forma gruesa del siguiente modo:
x
B
x
D
B D b
c

B
c

D
0
El tableau correspondiente a una solucion basica es:
x
B
x
D
I B
1
D B
1
b
0 c

D
c

B
B
1
D c

B
B
1
b
Si los elementos del vector de costos reducidos r

D
= c

D
c

B
B
1
D
son no negativos, la solucion basica factible es tambien optima.
Cada elemento de este vector pueden expresarse como c
j
c

B
B
1
D
j
c
j
y D
j
corresponden al coeciente asociado a la variable x
j
(no basica)
en la funcion objetivo original y la columna en A asociada a la variable
x
j
, respectivamente.
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 85
Analisis Matricial del Metodo Simplex
Ejemplo:
min x
1
2x
2
3x
3
3x
1
+ 2x
2
+ x
3
2
x
1
+ 2x
2
x
3
4
x
1
+ x
2
+ 4x
3
5
x
1
, x
2
, x
3
0
Para transformar el problema a formato est andar hay que agregar tres
variables de holgura, que forman ademas la base inicial.
min x
1
2x
2
3x
3
3x
1
+ 2x
2
+ x
3
+ x
4
= 2
x
1
+ 2x
2
x
3
+ x
5
= 4
x
1
+ x
2
+ 4x
3
+ x
6
= 5
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
0
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 86
Analisis Matricial del Metodo Simplex
x
B
= {x
4
, x
5
, x
6
} y x
D
= {x
1
, x
2
, x
3
}
Las matrices iniciales son:
B = B
1
=
_
_
1 0 0
0 1 0
0 0 1
_
_
, D =
_
_
3 2 1
1 2 1
1 1 4
_
_
b =
_
_
2
4
5
_
_
, c
B
=
_
_
0
0
0
_
_
, c
D
=
_
_
1
2
3
_
_
.
El tableau incial es el siguiente:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
3 2 1 1 0 0 2 x
4
1 2 1 0 1 0 4 x
5
1 1 4 0 0 1 5 x
6
1 2 3 0 0 0 0
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 87
Analisis Matricial del Metodo Simplex
El vector c
B
es nulo, por lo tanto r

D
= c

D
,
Todas las variables no basicas tienen costo reducido negativo.
min{1, 2, 3} = 3; x
3
entra a la base
Para la variable saliente debemos realizar el cuociente entre los elemen-
tos de la columna de B
1
b y los elementos positivos de la columna de
D asociada a x
3
: min{
2
1
, ,
5
4
} =
5
4
. x
6
sale de la base.
El proximo tableau lo podemos obtener pivoteando (mediante opera-
ciones las) en la posicion de x
3
de la tercera la, o bien simple-
mente redeniendo las matrices del problema acorde a la nueva base
x
B
= {x
4
, x
5
, x
3
}.
Las variables no basicas son: x
D
= {x
1
, x
2
, x
6
}.
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 88
Analisis Matricial del Metodo Simplex
Las nuevas matrices asociadas a esta nueva base son:
B =
_
_
1 0 1
0 1 1
0 0 4
_
_
=B
1
=
_
_
1 0
1
4
0 1
1
4
0 0
1
4
_
_
, D =
_
_
3 2 0
1 2 0
1 1 1
_
_
,
b =
_
_
2
4
5
_
_
, c
B
=
_
_
0
0
3
_
_
, c
D
=
_
_
1
2
0
_
_
Es importante mantener muy claro el orden en que las variables forman
el conjunto x
B
y x
D
de modo de garantizar consistencia.
Las matrices del nuevo tableau son:
B
1
D =
_
_
13
4
7
4
1
4
3
4
9
4
1
4
1
4
1
4
1
4
_
_
, B
1
b =
_
_
3
4
21
4
5
4
_
_
,
r
D
= (c

D
c

B
B
1
D)
T
=
_
_

1
4

5
4
3
4
_
_
, c

B
B
1
b =
15
4
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 89
Analisis Matricial del Metodo Simplex
Esto equivale siguiente tableau:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
13
4
7
4
0 1 0
1
4
3
4
x
4
3
4
9
4
0 0 1
1
4
21
4
x
5
1
4
1
4
1 0 0
1
4
5
4
x
3

1
4

5
4
0 0 0
3
4
15
4
Este mismo tableau se hubiera alcanzado si se hubiera realizado opera-
ciones la pivoteando en el casillero de la tercera la y tercera columna.
es esta solucion optima? No.
min{
1
4
,
5
4
} =
5
4
x
2
entra a la base.
min{
3
7
,
21
9
, 5} =
3
7
x
4
sale de la base
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 90
Analisis Matricial del Metodo Simplex
Pivoteando obtenemos:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
13
7
1 0
4
7
0
1
7
3
7
x
2
24
7
0 0
9
7
1
4
7
30
7
x
5
5
7
0 1
1
7
0
2
7
8
7
x
3
18
7
0 0
5
7
0
4
7
30
7
x
B
= {x
5
, x
3
, x
2
} y x
D
= {x
1
, x
6
, x
4
}.
Estamos en el optimo? A un no.
18
7
x
1
entra a la base.
min{,
30
24
,
8
5
} =
5
4
x
5
sale de la base.
Pivoteando nuevamente:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
0 1 0
1
8
13
24
1
6
11
4
x
2
1 0 0
3
8
7
24
1
6
5
4
x
1
0 0 1
1
8
5
24
1
6
1
4
x
3
0 0 0
1
4
3
4
1
15
2
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 91
Analisis Matricial del Metodo Simplex
Pivoteamos nuevamente:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
0 1 1 0
1
3
1
3
3 x
2
1 0 3 0
1
3
2
3
2 x
1
0 0 8 1
5
3
4
3
2 x
4
0 0 2 0
1
3
4
3
8
Todos los costos reducidos son mayores o iguales a cero.
La solucion optima es:
x
1
= 2 x
4
= 2
x
2
= 3 x
5
= 0
x
3
= 0 x
6
= 0
El valor optimo es: v = 8.
Atencion: la variable x
4
estaba inicialmente en la base, luego salio de
esta, y en la ultima iteraci on volvio a entrar. que pas o ?
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 92
Solucion Degenerada
Que pasa si al buscar la variable que sale de la base me encuentro un
empate, es decir, hay dos cuocientes
b
j
a
ij
de identico valor?
Esto implica que la solucion sera degenerada, ya que alguna variable
b asica tomar a valor cero.
Supongamos que tenemos el siguiente tableau inicial del ejemplo ante-
rior:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
3 2 1 1 0 0 2 x
4
1 2 1 0 1 0 4 x
5
1 1 4 0 0 1 8 x
6
1 2 3 0 0 0 0
Si x
3
entra a la base, la variable saliente se obtiene de: min{
2
1
, ,
8
4
} = 2.
Por lo tanto, tanto x
4
o x
6
podr an salir de la base.
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 93
Soluci on Degenerada
Pivoteando en x
4
, tenemos:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
3 2 1 1 0 0 2 x
3
4 4 0 1 1 0 6 x
5
13 7 0 4 0 1 0 x
6
10 4 0 3 0 0 6
Si bien no estamos en el optimo, estamos ante una solucion factible
basica degenerada
x
B
= {x
3
, x
5
, x
6
}, con x
3
= 2, x
5
= 6, y x
6
= 0.
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 94
Solucion Degenerada
x
2
x
1
D
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 95
Dominio No Acotado
Que pasa si al buscar la variable que sale de la base, todos los a
ij
son
negativos?
En dicho caso la solucion es no acotada, es decir, el dominio es no
acotado.
Por ejemplo, si la ultima restricci on hubiese sido x
1
+ x
2
+ 4x
3
5:
min x
1
2x
2
3x
3
3x
1
+ 2x
2
+ x
3
2
x
1
+ 2x
2
x
3
4
x
1
+ x
2
+ 4x
3
5
x
1
, x
2
, x
3
0
Si se escoge a x
1
para que entre a la base, no existe valor alguno de x
1
que permita llevar a 0 algunas de las variables en la base.
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 96
Dominio No Acotado
Las restricciones, con las holguras respectivas, son:
3x
1
+ 2x
2
+ x
3
+ x
4
= 2
x
1
+ 2x
2
x
3
+ x
5
= 4
x
1
+ x
2
+ 4x
3
+ x
6
= 5
Para determinar que variable sale de la base tenemos que:
x
4
= 2 + 3x
1
x
5
= 4 + x
1
x
6
= 5 + x
1
Claramente ninguna de las tres variables se hace cero, con valores no
negativos de x
1
.
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 97
M ultiples Soluciones
Que pasa si al analizar la solucion nal observamos que hay un costo
reducido igual a cero asociado a una variable no basica?
Si esa variable se incorpora a la base, el valor de la funcion objetivo
no se ve alterado.
Dos vertices con identico valor objetivo y cualquier combinacion con-
vexa de ambos, sera optima tambien.
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 98
M ultiples Soluciones
x
2
x
1
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 99
Ejemplo M ultiples Soluciones
En el ejemplo de la clase pasada, utilicemos el an alisis matricial para
determinar cu anto debio haber sido c
3
para que hubiese sido atractivo
de incorporar x
3
a la base optima nal.
En el optimo habamos obtenido: x
D
= {x
3
, x
5
, x
6
}, x
B
= {x
1
, x
2
, x
4
}.
El costo reducido nal de las variables no basicas es: r

D
= c

D
c

B
B
1
D
c

D
= [3 0 0] (i.e. c
3
= 3)
c

B
= [1 2 0]
B =
_
_
3 2 1
1 2 0
1 1 0
_
_
D =
_
_
1 0 0
1 1 0
4 0 1
_
_
_

_
c

B
B
1
D = [5
1
3
4
3
]
c

D
c

B
B
1
D = [2
1
3
4
3
]
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 100
Ejemplo M ultiples Soluciones
Para que x
3
sea atractiva de incorporarla a la base, c
3
(5) 0
c
3
5.
Supongamos que c
3
= 5, as la soluci on:
x
1
= 2 x
4
= 2
x
2
= 3 x
5
= 0
x
3
= 0 x
6
= 0
sigue siendo optima, ya que r
3
= 0, que sigue siendo no negativo.
Podramos incorporar x
3
a la base. Vemos que tendra que salir x
4
.
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
0 1 1 0
1
3
1
3
3 x
2
1 0 3 0
1
3
2
3
2 x
1
0 0 8 1
5
3
4
3
2 x
4
0 0 0 0
1
3
4
3
8
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 101
Ejemplo M ultiples Soluciones
Pivoteando para que salga x
4
de la base:
x
1
x
2
x
3
x
4
x
5
x
6
v.b.
0 1 0
1
8
13
24
1
6
11
4
x
2
1 0 0
3
8
7
24
1
6
5
4
x
1
0 0 1
1
8
5
24
2
3
1
4
x
3
0 0 0 0
1
3
4
3
8
Otra soluci on de vertice es:
x
1
=
5
4
x
4
= 0
x
2
=
11
4
x
5
= 0
x
3
=
1
4
x
6
= 0
Esta nos da el mismo valor de la funcion objetivo v = 8 y tiene todos
los costos reducidos no negativos, por lo tanto, tambien es solucion
optima.
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 102
Ejemplo M ultiples Soluciones
Cualquier combinaci on convexa tambien sera solucion optima, es decir,
todo x tal que
x =
_

_
5
4
11
4
1
4
0
0
0
_

_
+ (1 )
_

_
2
3
0
2
0
0
_

_
con 0 1.
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 103
Agregando una variable al tableau nal
Para incorporar una nueva variable que podra ser atractiva en la solucion
optima basta tomar el tableau nal y vemos cuales son las variables
b asicas y cuales las no basicas.
Si una nueva actividad x
7
aportara 6 por unidad a la funcion objetivo
y consumiera una unidad de cada recurso en las restricciones, el costo
reducido respectivo sera:
r
7
= 6 [1 2 0]
_
_
3 2 1
1 2 0
1 1 0
_
_
1
_
_
1
1
1
_
_
=
13
3
< 0
Por lo tanto, s nos interesara incorporar x
7
a la base y as mejorar la
solucion actual.
Apuntes de Clases Optimizacion Claudio Seebach Programacion Lineal 104
Agregando una variable al tableau nal
Los a
ij
asociados a x
7
en el tableau actual son:
B
1
D
7
=
_
_
3 2 1
1 2 0
1 1 0
_
_
1
_
_
1
1
1
_
_
=
_
_
2
3
1
3
2
3
_
_
El tableau sera por lo tanto:
x
1
x
2
x
3
x
4
x
5
x
6
x
7
v.b.
0 1 0
1
8
13
24
1
6
2
3
11
4
x
2
1 0 0
3
8
7
24
1
6
1
3
5
4
x
1
0 0 1
1
8
5
24
2
3
2
3
1
4
x
3
0 0 0 0
1
3
4
3
13
3
8
Apuntes de Clases Optimizaci on Claudio Seebach Programacion Lineal 105