Click here to load reader
Upload
hector-martinez-rubin-celis
View
217
Download
2
Embed Size (px)
DESCRIPTION
Procedimiento Dual_Simlex para la carrera de Ingeniería en Gestión Empresarial
Citation preview
Departamento de Ingeniería Indystrial Dual-Simplex
M.C. Héctor Martínez Rubin Celis 1
ALGORITMO DUAL-SIMPLEX
Es claro que para cualquier problema de programación lineal los
jjcz son
completamente independientes del vector de limitaciones i
b . Consecuentemente, el
conjunto de soluciones básicas bAx con 0jj
cz para toda j , depende
únicamente de las j
a y de las j
c , pero no de b para un problema de Maximización). En
general, no toda solución básica con todas las jj
cz será básica. Sin embargo, cualquier
solución básica factible con todas las 0jj
cz será óptima.
La observación realizada presenta una interesante posibilidad. Si se pudiera iniciar
con alguna solución básica, pero no factible a un problema dado de Programación Lineal
que tenga todos los 0jj
cz , entonces considerando que ninguna base debe ser
repetida, una solución óptima al problema de Programación Lineal será obtenida en un
número finito de pasos. Esto es lo que precisamente el algoritmo Dual-Simplex hace. El
hecho de que se mantienen todos los 0jj
cz en cada paso y que no importa la
factibilidad de las soluciones básicas (del vector de limitaciones i
b ) sugiere que la Teoría
de la Dualidad debe ayudar en el desarrollo de tal algoritmo.
Debido a que no siempre en fácil iniciar utilizando este algoritmo ya que no tiene la
aplicabilidad general que tiene el usual método Simplex. Sin embargo, este puede ser usado
en ciertos casos para eliminar la necesidad de utilizar la Fase I ( en el caso de usar el
método de las 2 fases) y la consecuente introducción de las variables artificiales. Este
algoritmo debido a Lemke, ha sido llamado Dual-Simplex debido a que los criterios
seguidos para introducir y sacar el vector, son aquellos seguidos para el problema dual en
lugar de los del problema Primo.
Procedimiento:
1) El primer vector que debe dejar la base, está determinado por:
Br
x Min Bi
x , para 0Bi
x
2) El vector que entra en la base esta determinado por:
Para un problema de Minimización:
rk
kk
y
cze Min
0,rj
rj
jjy
y
cz
Para un problema de Maximización:
rk
kk
y
cze Max
0,rj
rj
jjy
y
cz
donde k corresponde a el subíndice de la variable que sale de solución
O usar de forma general
rk
kk
y
cze Min , 0
j j
rj
rj
z cy
y
Departamento de Ingeniería Indystrial Dual-Simplex
M.C. Héctor Martínez Rubin Celis 2
Ejemplo:
Max 21
3 xxZ , sujeto a:
232
1
421
321
xxx
xxx
En lugar de introducir variables artificiales que son necesarias para aplicar el Método
Simplex, se considera la base que contiene a 3
x y 4
x que es:
10
01B
10
011B
para esta base: 21 B
x
En forma tabular
jj
j
BB
j
cz
zZ
x
x
xxxxbxC
c
00130
0000
103220
011110
0013
4
3
4321
Se selecciona la Bi
x más negativa como la variable que deja la base:
Bi
x Min 12 , por lo que sale 242
xxB
La variable que entra a la base es seleccionada:
rk
kk
y
cze Max
2
22
1
11 ,rr
y
cz
y
czMax 3123
31e , entonces entra 2
a a la base
En forma tabular:
jj
j
BB
j
cz
zZ
x
x
xxxxbxC
c
31003732
310132
310132321
311031310
0013
2
3
4321
La siguiente variable a salir es:
3131
xxB
La variable a entrar en solución se selecciona:
Departamento de Ingeniería Indystrial Dual-Simplex
M.C. Héctor Martínez Rubin Celis 3
rk
kk
y
cze Max
4
44
1
11 ,rr
y
cz
y
czMax
31
31,
31
37
e Max 117 , entra 4
a en solución.
En forma tabular:
jj
j
BB
j
cz
zZ
x
x
xxxxbxC
c
01021
0111
011111
130110
0013
2
4
4321
Todas las Bi
x son ahora = y el criterio de optimalidad esta satisfecho.
Note que el valor de Z no se incremento en cada iteración. En caso contrario se redujo en
cada pase. No existe razón por la cual Z deba incrementarse ya que las soluciones básicas
no eran factibles hasta que la solución fue alcanzada. En efecto Z debe decrecer o
permanecer sin cambios en cada iteración, ya que usando el Método Simplex, siempre se
tiene que ZZ ˆ y Z es siempre minimizada en el problema Dual.
Solución de un problema de Programación Lineal sin utilizar variables
artificiales:
0,
3
634
33
23
21
21
21
21
21
xx
xx
xx
xx
xxZ :a sujeto Min ,
3
634
33
23
521
421
321
21
xxx
xxx
xxx
xxZ :a sujeto Min ,
3
634
33
:a sujeto
,23Min
521
421
321
21
xxx
xxx
xxx
xxZ
x´s0
Departamento de Ingeniería Indystrial Dual-Simplex
M.C. Héctor Martínez Rubin Celis 4
00023
00000
1001130
0103460
0011330
00023
5
4
3
54321
jj
j
BB
cz
z
x
x
x
xxxxxbxC
c
Aplicando el proceso Dual-Simplex sale de solución 4
x por tener la b más negativa (-6).
Para determinar que variable entra en solución se aplica la regla siguiente:
Min
0,rj
rj
jjy
y
cz=Min
,,,
3
2,
4
3 corresponde a
2x entrar en solución.
Así:
0320031
03202384
131003110
031013422
031103510
00023
5
2
3
54321
jj
j
BB
cz
zZ
x
x
x
xxxxxbxC
c
Aplicando el Dual-Simplex sale el 3
x de solución.
Determinando que variable entra en solución se aplica la regla siguiente:
Min
,
31
32,,,
35
31=Min
,2,,,5
1 y corresponde a
4x entrar en solución.
Así:
Departamento de Ingeniería Indystrial Dual-Simplex
M.C. Héctor Martínez Rubin Celis 5
002037
00223166
10310200
890011332
530130530
00023
5
2
4
54321
jj
j
rjBrBB
cz
zZ
x
x
x
yxxxxxxbxC
c
0535100
05351235/21
1525100560
0535410562
0515301533
00023
5
2
1
54321
jj
j
BB
cz
zZ
x
x
x
xxxxxbxC
c
Como todos los jj
cz son menores o iguales que cero entonces la solución óptima se ha
alcanzado.
Sol. Óptima:
521* Z ,
53
1* x ,
56
2* x ,
56
3* x .
Resolver un problema de Programación Lineal sin utilizar variables
artificiales (usar Dual-Simplex).
0'
2332
64
25
4321
4321
4321
sx
xxxx
xxxx
xxxxZ :a sujetoMax ,
2332
64
25
64321
54321
4321
xxxxx
xxxxx
xxxxZ :a sujetoMax ,
Entra 1
x en solución
Sale 4
x
Departamento de Ingeniería Indystrial Dual-Simplex
M.C. Héctor Martínez Rubin Celis 6
001125
000000
10331220
01114160
001125
6
5
654321
jj
j
BB
cz
z
x
x
xxxxxxbxC
c
Aplicando Dual-Simplex:
Max
rj
jj
y
cz=
5 2 1, , ,
2 1 3
=Max
5, 2,1
2
, por lo tanto entra
1x en solución.
250213213290
2502152152555
210232321115
10211212127050
001125
1
5
654321
jj
j
rjbrBB
cz
zZ
x
x
yxxxxxxxbxC
c
41300460
4131148570
1300111165
121170101
001125
1
4
654321
jj
j
BB
cz
zZ
x
x
xxxxxxbxC
c
Como todos los jj
cz son 0 la solución óptima se ha alcanzado.
70* Z , 161* x y 104
* x .
Sale 5
x
Entra 4
x