Upload
aylton-mangue
View
7
Download
4
Embed Size (px)
DESCRIPTION
2102
Citation preview
UDM - Operational Research
Docente: R. Fazenda 1
O que é dualidade em Programação Linear?O que é dualidade em Programação Linear?
Dualidade significa a existência de um outro problema de PL, associado a cada problema de PL.
Esse outro problema designa-se por1problema dual (D).
Nesta relação com o problema dual o problema original designa-se por
problema primal (P).
Dualidade significa a existência de um outro problema de PL, associado a cada problema de PL.
Esse outro problema designa-se por1problema dual (D).
Nesta relação com o problema dual o problema original designa-se por
problema primal (P).
Capítulo 5: Dualidade.5.1. Definição do problema dual.
Os problemas primal (P) e dual (D) são conhecidos por par de problemas duais (P)-(D)Os problemas primal (P) e dual (D) são conhecidos por par de problemas duais (P)-(D)
O par de problemas duais (P) – (D).
– (P)-(D) são suportados pelo mesmo sistema de parâmetros;– a resolução de um deles constitui a resolução simultânea
do outro;– a solução de um, está completamente determinada pela
solução do outro.
O par de problemas duais (P)- (D) não é mais do que um par de representações matemáticas do mesmo problema real.
UDM - Operational Research
Docente: R. Fazenda 2
uma restrição uma restrição
uma variáveluma variável
matriz A matriz A A
uma variáveluma variável
uma restriçãouma restrição
matriz A transpostamatriz A transpostaA transposta
1ª1ª
2ª2ª
3ª3ª
um coeficiente da f.oum coeficiente da f.o um termo independenteum termo independente4ª4ª
um termo independenteum termo independente um coeficiente da f.o.um coeficiente da f.o.5ª5ª
Relações entre o par de problemas duais.
um problemaum problema o outro problemao outro problema
um problema de maximização com restrições de desigualdade
do tipo (≤)
um problema de maximização com restrições de desigualdade
do tipo (≤)
um problema de minimizaçãocom restrições de desigualdade
do tipo (≥)
um problema de minimizaçãocom restrições de desigualdade
do tipo (≥)
um problema de minimizaçãocom restrições de desigualdade
do tipo (≥)
um problema de minimizaçãocom restrições de desigualdade
do tipo (≥)
um problema de maximização com restrições de desigualdade
do tipo (≤)
um problema de maximização com restrições de desigualdade
do tipo (≤)
6ª6ª
7ª7ª
Relações entre o par de problemas duais.
um problemaum problema o outro problemao outro problema
UDM - Operational Research
Docente: R. Fazenda 3
Par de Problemas Duais na forma canónica.
ProblemaProblema PrimalPrimal
Maximizar
sujeito a
i=1,...,M, j=1,...,N
∑=
≤N
jijij bxa
1∑
=
≤N
jijij bxa
1
∑=
=N
jjj xcz
1∑
==
N
jjj xcz
1
0≥jx 0≥jx
ProblemaProblema DualDual
∑=
=M
iii ybw
1∑
=
=M
iii ybw
1
∑=
≥M
ijiij cya
1∑
=
≥M
ijiij cya
1
0≥iy 0≥iy
sujeito a
Minimizar
i=1,...,M, j=1,...,N
O dual do problema dual é o problema primal.
A relação entre os dois problemas é recíproca.
Se um dos problemasindistintamente foi designado
primal, então o outro é designado
dual.
Definição do Problema Dual.
UDM - Operational Research
Docente: R. Fazenda 4
(D): (D): w = b1y1+b2y2+…+bmym
y1≥≥00y2≥≥00
.
.
.
ym≥≥00
a11 a12 … a1na21 a22 … a2n
.
.
.
am1 am2 … amn
≤≤ b1≤≤ b2
.
.
.
≤≤ bm
c1 c2 … cn
xx11≥≥0 0 xx22≥≥0 0 …. xxnn≥≥00
MaxMax zz
(P): (P): ai1x1+ai2x2+…ainxn ≤ bi
Problema dualProblema dual
Problema Problema primalprimal
(P): (P): z =c1x1+c2x2+…cnxn
Min wMin w
≥≥ ≥≥ ≥≥
(D): (D): a1jy1+a2jy2+…amjym≥≥ cj
ccjj-- coeficientes da f.o do (P)(P)
ccjj-- termos independentes
do (D)(D)
bbii -- coeficientes da f.o. do (D)(D)
bbii -- termosindependentes
do (P)(P)
Diagrama de Tucker para os problemas (P)-(D).
(D)(D)--w = 4 y1 + 12y2+ 18 y3
y1≥≥00y2≥≥00y3≥≥00
1 0 0 23 2
≤≤ 4≤≤ 12 ≤≤ 18
3 5
xx11≥≥0 0 xx22≥≥0 0
MaxMax zz
(P)(P)-- 1ª rest.: : x1 ≤ 4
Problema dualProblema dual
Problema Problema primalprimal
(P): (P): z =3x1+5x2
Min wMin w
≥≥ ≥≥(D)(D)--1ª rest.: : y1 + 3 y3 ≥≥ 3
(D)(D) -2ª rest.:: 2 y2+ 2 y3 ≥≥ 5
(D)(D)-- 3 3 variáveis:yy1 1 , , yy22, , yy33
(P)(P)-- 2ª rest.: : 2x2 ≤ 12
(P)(P)-- 3ª rest.: : 3x1+ 2x1 ≤ 18
(P)(P)-- 2 2 variáveis:xx1 1 , , xx22
Diagrama de Tucker para o Exemplo Protótipo.
UDM - Operational Research
Docente: R. Fazenda 5
Maximizar z= 3 x1 + 5 x2
sujeito a
x1 ≤ 42x2 ≤ 12
3x1 + 2x2 ≤ 18
x1, x2 ≥0
Minimizar w= 4y1 + 12 y2 + 18 y3
sujeito a
y1 + 3 y3 ≥ 32y2 +2 y3 ≥ 5
y1, y2, y3 ≥ 0
Exemplo Protótipo: Par de Problemas Duais
ProblemaProblema PrimalPrimal Problema DualProblema Dual
Como determinar a solução do problema dual para o exemplo protótipo?
Como determinar a solução do problema dual para o exemplo protótipo?
A solução para o problema dual do exemplo protótipo foi já determinada e pode ser encontrada no quadro óptimo do problema primal na linha dos
zj correspondentes às variáveis de folgas x3, x4, x5 ,
onde inicialmente se encontrava a base inicial.
A solução para o problema dual do exemplo protótipo foi já determinada e pode ser encontrada no quadro óptimo do problema primal na linha dos
zj correspondentes às variáveis de folgas x3, x4, x5 ,
onde inicialmente se encontrava a base inicial.
Solução do problema dual. Exemplo protótipo.
UDM - Operational Research
Docente: R. Fazenda 6
3 5 0 1
0 0 0
3232-
3 5 0 0 0cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzjj
bb
366
0 0 1
0 1 01 0 0
01213-
13-
13
13
x3
x2x1
62
250
3
-1
Quadro óptimo do problema primal
a solução óptima para o problema
dual é:yy1 1 = 0 , = 0 ,
yy2 2 = 3/2,= 3/2,yy3 3 =1=1
colunas correspondentes à
inversa da base associada à
solução óptima
Solução do problema dual. Exemplo protótipo.
as variáveis de folga do dual têm valor simétrico ao valor dos custos
reduzidos correspondentes às colunas das variáveis de decisão
yy4 4 = 0 , = 0 , yy5 5 = 0= 0
Considere um problema de maximização contendo restrições de desigualdade do tipo (≥).
Se uma restrição de desigualdade for do tipo oposto ao da respectiva forma canónica, então a correspondente variável
dual é não positiva.
Se uma restrição de desigualdade for do tipo oposto ao da respectiva forma canónica, então a correspondente variável
dual é não positiva.
Prova:
∑ ≤j
ijji bxa11
0≥jx
pi ,...,2,11 =
Nj ,.........2,1=∑ ≥
jijji bxa22
Mppi ,...,2,12 ++=
∑=
=N
jjj xcz
1
maximizar
sujeito a:
∑ −≤−j
ijji bxa22
Mppi ,...,2,12 ++=
As restrições de desigualdades do tipo (≥) podem ser sempre convertidas em restrições do tipo (≤) multiplicando por (-1) ambos os membros.
Caso 1: Uma restrição de desigualdade do tipo oposto...
UDM - Operational Research
Docente: R. Fazenda 7
0'22
≤−=i
yyi
Designando por yyi1 i1 e yy’’i2i2
as variáveis duais correspondentes às restrições de desigualdade tem-se o problema dual:
♦
minimizar
sujeito a:
∑∑ −=i
iii
iyi ybbw '2211
∑ ∑ ≥−i i
jijiiji cyaya '2211
pi ,...,2,11 = Mppi ,...,2,12 ++=
Nj ,.........2,1=
0, '21
≥i
yyi
minimizar
sujeito a: ∑ ∑ ≥+i i
jijiiji cyaya2211
01
≥iy pi ,...,2,11 =
Mppi ,...,2,12 ++=
∑∑ +=i
iii
iyi ybbw2211
02
≤iy
Nj ,.........2,1=
a cada restrição de desigualdade do tipo oposto corresponde
uma variável dual não positiva
Caso 1: Uma restrição de desigualdade do tipo oposto...
Minimizar
sujeito a
∑ ∑ ≥+i i
jijiiji cyaya2211
01
≥iy pi ,...,2,11 =
Mppi ,...,2,12 ++=
∑∑ +=i
iii
iyi ybbw2211
02
≤iyNj ,.........2,1=
Maximizar
sujeito a
∑=
=N
jjj xcz
1
∑ ≤j
ijji bxa11
0≥jx
pi ,...,2,11 =
Nj ,.........2,1=
∑ ≥j
ijji bxa22
Mppi ,...,2,12 ++=
Caso 1: Uma restrição de desigualdade do tipo oposto.
Problema Primal Problema DualProblema Dual
UDM - Operational Research
Docente: R. Fazenda 8
Maximizar w= 5y1 + 18 y2 + 12 y3+ 22 y4
sujeito a
y1 + 2 y3 + 4 y4 ≤ 5y2 + y3 + y4 ≤ 1
y1 + 2y2 + y4 ≤ 3
y1, y2, y3 ≥ 0, y4 ≤ 0
Caso 1: Exemplo.
Minimizar z= 5 x1 + x2 + 3 x3
sujeito a
x1 + x3 ≥ 5x2 + 2 x3 ≥ 18
2 x1 + x2 ≥ 124 x1 + x2 + x3 ≤ 22
x1, x2, x3 ≥ 0
Como esta restrição é de tipo oposto corresponde-lhe uma variável dual não positiva
Problema Primal Problema Dual
Pode ser demonstrado a partir do facto de que qualquer
restrição de igualdade pode ser convertida em duas
restrições de desigualdade de um mesmo tipo.
Provar!!!
Se uma restrição for de igualdade,então a correspondente variável dual é livre.
Se uma restrição for de igualdade,então a correspondente variável dual é livre.
Caso 2: Uma restrição de igualdade.
♦
UDM - Operational Research
Docente: R. Fazenda 9
Maximizar
sujeito a
∑=
=N
jjj xcz
1
∑ ≤j
ijji bxa11
0≥jx
pi ,...,2,11 =
Nj ,.........2,1=
Mppi ,...,2,12 ++=∑ =j
ijji bxa22
Minimizar
sujeito a
∑ ∑ ≥+i i
jijiiji cyaya2211
01
≥iy pi ,...,2,11 =
Mppi ,...,2,12 ++=
∑∑ +=i
iii
iyi ybbw2211
Nj ,.........2,1=
livresyi2
Caso 2: Uma restrição de igualdade.
Problema Primal Problema Dual
uma restrição iuma restrição ii
≤≤≤
uma variável iuma variável i
≥ 0≥≥ 00
≥≥≥ ≤ 0≤≤ 00
=== livrelivrelivre
Relações primal-dual.Problema Problema Primal Primal
MaximizaçãoMaximizaçãoProblema dualProblema dual
MinimizaçãoMinimização
uma variável juma variável jj≥ 0≥≥ 00
uma restrição juma restrição j≥≥≥
≤ 0≤≤ 00 ≤≤≤
livrelivrelivre===
Restrição de tipo oposto
Restrição de tipo oposto
UDM - Operational Research
Docente: R. Fazenda 10
uma restrição iuma restrição ii
≥≥≥
uma variável iuma variável i
≥ 0≥≥ 00
≤≤≤ ≤ 0≤≤ 00
=== livrelivrelivre
Relações primal-dual.Problema Problema PrimalPrimal..
MinimizaçãoMinimizaçãoProblema dual.Problema dual.
MaximizaçãoMaximização
uma variável juma variável jj
≥ 0≥≥ 00
uma restrição juma restrição j
≤≤≤
≤ 0≤≤ 00 ≥≥≥
livrelivrelivre ===
Restrição de tipo oposto
Restrição de tipo oposto
Maximizar z= 5 x1 + 12 x2 +4 x3
x1 + 2 x2 + x3 ≤ 102 x1 - x2 + 3 x3 == 8
x1 , x2 , x3 ≥0
sujeito a:Primal : 2 restrições,
3 variáveis⇔ Dual : 2 variáveis,
3 restrições
Primal : 2 restrições,3 variáveis
⇔ Dual : 2 variáveis,3 restrições
Primal : x1 , x2 , x3 ≥ 0⇔ Dual : 3 restrições de tipo ≥
Primal : xx1 1 ,, xx2 2 , x, x3 3 ≥ 0⇔ Dual : 3 restrições de tipo ≥≥
Primal : restrição nº 1 tipo ≤⇔ Dual : y1 ≥ 0
Primal : restrição nº 1 tipo ≤≤⇔ Dual : yy1 1 ≥ 0
Minimizar w= 10 y1 + 8 y2
, yy2 2 livre
sujeito a:
y1 +3 y2 ≥≥ 4
y1 + 2y2 ≥≥ 5 2 y1 - y2 ≥≥ 12
yy1 1 ≥0
Formulação do Problema Dual. Exemplo 1.
Primal : restrição nº 2 tipo = ⇔ Dual : y2 livre
Primal : restrição nº 2 tipo = = ⇔ Dual : yy22 livre
Primal
Dual
restrições duais:
variáveis duais:
UDM - Operational Research
Docente: R. Fazenda 11
Maximizar w= -20 y1 + 8y2+ 100 y3
x1 - x2 + 5 x3 + x5 ≥ 8
Minimizar z= x1 + 6 x2 -7 x3+ x4 - 5 x5-5 x1 + 4 x2 - 13 x3 + 2 x4 - 5 x5 == - 20
2 x1 - x3 + x4 ≤≤ 100 x1 , x2 ≥0 , x3 livre, x4 ≥0, x5 ≤ 0
sujeito a:
Primal : 3 restrições,5 variáveis
⇔ Dual : 3 variáveis,5 restrições
Primal : 3 restrições,5 variáveis
⇔ Dual : 3 variáveis,5 restrições
, yy22 ≥0
sujeito a:
-13 y1 +5 y2 - y3 == -7
-5 y1 + y2 + 2 y3 ≤ 1 4 y1 - y2 ≤ 6
2 y1 + y3 ≤ 1 -5 y1 + y2 ≥≥ - 5
(P) : x1 , x2 , x4 ≥0⇔ (D) :rest. 1, 2, 4 tipo≤
(P) : xx1 1 ,, xx2 2 , x, x44 ≥0⇔ (D) :rest. 1, 2, 4 tipo≤
(P) : x3 livre⇔ (D) :rest. 3 tipo =
(P) : x3 livre⇔ (D) :rest. 3 tipo ==
(P) : x5 ≤0⇔ (D) :rest. 5 tipo ≥
(P) : xx5 5 ≤0⇔ (D) :rest. 5 tipo ≥≥
(P) : :rest. 1 tipo =⇔ (D) : y1 livre
(P) : :rest. 1 tipo ==⇔ (D) : yy11 livre
(P) : :rest. 2 tipo ≥⇔ (D) : y2 ≥0
(P) : :rest. 2 tipo ≥≥⇔ (D) : yy22 ≥0
(P) : :rest. 3 tipo ≤⇔ (D) : y3 ≤ 0
(P) : :rest. 3 tipo ≤≤⇔ (D) : yy33 ≤ 0 yy1 1 livre , yy33 ≤ 0
Formulação do problema dual. Exemplo 2.Primal
Dual
restrições duais:
variáveis duais:
Minimizar w= 5 y1 + 3y2+ 8 y3
- x1 + 5 x2 ≥ 3
Maximizar z= 5x1 + 6 x2
x1 + 2 x2 == 5
4 x1 + 7 x2 ≤≤ 8 x1 livre , x2 ≥0
sujeito a:
Primal : 3 restrições,2 variáveis
⇔ Dual : 3 variáveis,2 restrições
Primal : 3 restrições,2 variáveis
⇔ Dual : 3 variáveis,2 restrições
, yy22 ≤ 0
sujeito a: y1 - y2 + 4 y3 = 5 2 y1 +5 y2 + 7 y3 ≥ 6
(P) : x2 ≥0⇔ (D) :rest. 2 tipo ≥
(P) : xx22 ≥0⇔ (D) :rest. 2 tipo ≥≥
(P) : x1 livre⇔ (D) :rest 1 tipo =
(P) : x1 livre⇔ (D) :rest 1 tipo ==
(P) : :rest. 1 tipo =⇔ (D) : y1 livre
(P) : :rest. 1 tipo ==⇔ (D) : yy11 livre
(P) : :rest. 2 tipo ≥⇔ (D) : y2 ≤ 0
(P) : :rest. 2 tipo ≥≥⇔ (D) : yy22 ≤ 0
(P) : :rest. 3 tipo ≤⇔ (D) : y3 ≥0
(P) : :rest. 3 tipo ≤≤⇔ (D) : yy33 ≥0 yy1 1 livre , yy33 ≥0
Formulação do problema dual. Exemplo 3.Primal
Dual
restrições duais:
variáveis duais:
UDM - Operational Research
Docente: R. Fazenda 12
Maximizar
sujeito a
Xcz t=
bAX ≤0≥X
Minimizar
sujeito a
Ybw t=
cYAt ≥0≥Y
Pares de Problemas Duais. Notação Matricial.Forma Canónica.
Minimizar
sujeito a
Xcz t=
bAX ≥0≥X
Maximizar
sujeito a
Ybw t=
cYAt ≤0≥Y
ProblemaProblema PrimalPrimal Problema DualProblema Dual
ProblemaProblema PrimalPrimal Problema DualProblema Dual
Maximizar
sujeito a
Xcz t=
bAX =0≥X
Minimizar
sujeito a
Ybw t=
cYAt ≥livreY
Pares de Problemas Duais. Notação Matricial.Forma Padrão.
Minimizar
sujeito a
Xcz t=
bAX =0≥X
Maximizar
sujeito a
Ybw t=
cYAt ≤livreY
ProblemaProblema PrimalPrimal Problema DualProblema Dual
ProblemaProblema PrimalPrimal Problema DualProblema Dual
UDM - Operational Research
Docente: R. Fazenda 13
O estudo da dualidade em Programação Linear
considera um problema (o qual é geralmente
designado por problema dual) distinto daquele
que se pretende resolver (problema primal),
mas cuja abordagem permite obter algumas
conclusões directamente relacionadas com o
problema original (problema primal),
nomeadamente referente às condições de
optimalidade.
O estudo da dualidade em Programação Linear
considera um problema (o qual é geralmente
designado por problema dual) distinto daquele
que se pretende resolver (problema primal),
mas cuja abordagem permite obter algumas
conclusões directamente relacionadas com o
problema original (problema primal),
nomeadamente referente às condições de
optimalidade.
Definição do Problema Dual. Conclusões.
Capítulo 5: Dualidade.5.2. Propriedades.
– Propriedades Fundamentais. – Propriedade dos Desvios Complementares.
(complementaridade das slacks)
UDM - Operational Research
Docente: R. Fazenda 14
Formas Canónica e Padrão de Dualidade.
Maximizar
sujeito a
Xcz t=
bAX ≤0≥X
Minimizar
sujeito a
Ybw t=
cYAt ≥0≥Y
ProblemaProblema PrimalPrimal Problema DualProblema Dual
Maximizar
sujeito a
Xcz t=
bAX =0≥X
Minimizar
sujeito a
Ybw t=
cYAt ≥livreY
ProblemaProblema PrimalPrimal Problema DualProblema Dual
Prova:
Considere o anterior par de problemas duais (P)-(D) na forma canónica.Se X é admissível para (P) e Y é admissível para (D) então:
z z = = cct t XX ≤≤ bbtt Y Y = w= w,i.e., o valor da função objectivo de qualquer solução admissível do problema primal, não excede o valor da função objectivo do problema dual.
wYbAXYYAXXcz ttttt =≤=≤=
bAX ≤0≥Y
wYbbYAXY ttt ==≤
cYAt ≥0≥X zXccXYAX tttt ==≥
((aa))
((bb))de b e aa
como X e Y são soluções admissíveis para os respectivos problemas primal-dual então:
multiplicação de matrizes e vectores.wYbXcz tt =≤=♦
Teorema 5.1 ( fraco de dualidade)
multiplicando por Yt
ambos membros
multiplicando por Xt
ambos membros
X é SBAPY é SBAD
Y é SBADX é SBAP
UDM - Operational Research
Docente: R. Fazenda 15
Prova:pelo teorema 5.1 qualquer
solução admissível X do primal
por hipótese
de (a) e (b)de (a) e (b)
X* é a solução óptima do primal
♦
Se X* é admissível para (P) e Y* é admissível para (D) e os
valores óptimos das respectivas funções objectivo coincidem, i.e.,
z z = = cct t XX == bbtt YY** = w= w** , então X* é a solução óptima do primal e
Y* é a solução óptima do dual
*YbXc tt ≤
** YbXc tt =
*XcXc tt ≤De igual forma, pode ser demonstrado que Y* é a solução óptima do dual
De igual forma, pode ser demonstrado que Y* é a solução óptima do dual
Corolário 5.1. (corolário do teorema fraco de dualidade)
((aa))
((bb))
ProvaProva::Considere o problema primal de maximização na forma padrão e seja A a matriz das restrições:
X*é solução óptima do primal
Se o primal tem solução óptima (i.e. tem óptimo finito) então o respectivo dual também tem e os correspondentes valores óptimos z* e w* coincidem.
=
=
−
0*
1
*
* bBX
XX
N
B
njPBcczc jtBjjj ,...2,1,01 =∀≤−=− −
Teorema 5.2:(relações entre as soluções óptimas primal e dual).
Faça-se Y* = ( y1 , y2 , ..., ym )
njjj PYc ,...,2,1* ,0 =∀≤− cYAt ≥*
Y* é uma SBA do problema dual
é a solução óptima para o problema dual1* −= BcY tB
♦
***** 1* wYbbYbBcXcXcz ttBB
tB
t ====== − t
Minimizar w= ytbs. a
AtY ≥ cY livres
pelo critério de optimalidade para a solução primal, todos os custos
reduzidos são não negativos
UDM - Operational Research
Docente: R. Fazenda 16
Prova : 1º.
1º. Um problema de PL tem óptimo finito se e só existirem soluçõesadmissíveis para os problemas primal-dual.
2º. Se algum dos problemas não tem óptimo finito, então o outro não possui soluções admissíveis, i.e., é impossível.
se X é admissível para (P)
♦
wYbXcz tt =≤=
wYbXcz tt =≤= **
se Y' é admissível para (D)
pelo Teoremafraco de dualidade
a solução óptima X* também verifica:
w é finito z* é finito
o primal tem óptimo finito o dual tem óptimo finito
o valor da f. o. z = ctX
o valor da f.o. w= btY
Teorema Fundamental da Dualidade.
pelo Teorema 5.2
analogamente é possível demonstrar que se o dual não tem óptimo finito, então o primal não tem soluções admissíveis.
Prova 2ºProva 2º::
suponha que o primal não tem óptimo finito (i.e. z → ∞);
♦
suponha ao contrário que o dual tem soluções admissíveis;
seja Y uma solução dual admissível (SBAD) :
pelo Teorema fraco de dualidade wYbXcz tt =≤= é limitada !!!
absurdo !!! (por hipóteses z → ∞)
o dual não tem soluções admissíveis
Teorema Fundamental da Dualidade.
2º. Se algum dos problemas não tem óptimo finito, então o outro não possui soluções admissíveis, i.e., é impossível.
UDM - Operational Research
Docente: R. Fazenda 17
Teorema Fundamental da Dualidade. Conclusões.
•Segundo o Teorema fundamental da dualidade pode concluir-se que para os problemas primal-dual, verifica-se uma e só uma das seguintes situações:
– ambos têm soluções óptimas X* e Y* e os valores óptimos das respectivas funções objectivo coincidem: z* = w*
– se um problema não tem óptimo finito, então o outro é impossível.
– ambos os problemas são impossíveis.
Ambos os Problemas são Impossíveis. Exemplo.
Maximizar z= x1 + x2sujeito a
- x1 + x2 = 4x1 - x2 = 4
x1 , x2 , ≥ 0
PrimalPrimalMinimizar w = 4 y1 + 4 y2sujeito a
- y1 + y2 ≥ 1y1 - y2 ≥ 1
y1 , y2, livres
DualDual
UDM - Operational Research
Docente: R. Fazenda 18
Problema dual: Forma Canónica e Forma Padrão.Forma canónicaForma canónica
Maximizar z= ctXs. a
A X ≤ bX ≥ 0
reduzir à forma padrão
Se uma solução é admissível para o problema dual na forma padrão com variáveis duais livres, é admissível para o problema dual do
problema original na forma canónica, i.e., verificam-se as restrições de não negatividade para as variáveis duais.
Se uma solução é admissível para o problema dual na forma padrão com variáveis duais livres, é admissível para o problema dual do
problema original na forma canónica, i.e., verificam-se as restrições de não negatividade para as variáveis duais.
Maximizar z= ctXs. a
A X + I Xs = bX, Xs ≥ 0
Minimizar w= ytbs. a
AtY ≥ cIY≥ 0
Y livres
Fica redundante, pode ser eliminada, e
obtém-se a forma canónica do problema
dual
Minimizar w= ytbs. a
AtY ≥ cY≥ 0
Forma padrãoForma padrão
Dual
Primal
Dual
PrimalA matriz das
restrições pode ser decomposta como:
[A, I], Xs é o vector das variáveis
de folga
Formulando o Problema Dual a partir da Forma Padrão.Exemplo Protótipo.
Maximixar z= 3x1 + 5x2sujeito a
x1 ≤ 42x2 ≤ 12
3 x1 + 2x2 ≤ 18
x1 , x2 ≥ 0
Minimizar w= 4y1 + 12 y2 + 18 y3sujeito a
y1 + 3 y3 ≥ 32y2 + 2 y3 ≥ 5
y1 ≥ 0 y2 ≥ 0
y3 ≥ 0y1 , y2, , y3 – livres
Minimizar w= 4y1 + 12 y2 + 18 y3sujeito a
y1 + 3 y3 ≥ 32y2 + 2 y3 ≥ 5
y1 , y2, , y3 ≥ 0
Maximixar z= 3x1 + 5x2sujeito a
x1 + x3 = 42x2 + x4 = 12
3 x1+ 2x2 + x5 = 18
x1 , x2 ,x3 , ,x4 ,x5 ≥ 0
Forma canónicaForma canónica
reduzir à forma padrão
Ficam redundantes, podem ser eliminadas, e obtém-se a forma canónica do problema dual
Forma padrãoForma padrão
Dual
Primal
Dual
Primal
UDM - Operational Research
Docente: R. Fazenda 19
Variáveis de Decisão Duais e Quadro Primal Óptimo.
Relação 1:Relação 1: Os valores das variáveis de decisão da solução óptima dual encontram-se no quadro simplex óptimo na linha zzj j nas colunas correspondentes à base inicial de identidade Bde identidade BO O = I.= I.
A matriz das restrições para o problema na forma padrão pode ser decomposta como: [[NNO O BBOO] = [ ] = [ AA I I ] , ] , BBO O = I .= I .
Quadro simplex óptimo
Y= (y1 , y2 ,..., ym ) = CBB-1
BB-1-1NNOO BB-1-1bbXXBB
CCBB BB-1-1bbCCB B BB-1-1NNOO
CCNNOO -C-CB B BB-1-1NNOO
BB-1-1II
CCB B BB-1-1
CCJ J -C-CB B BB-1-1
XXNNOO XXBBOO
zzjj
ccj j -z-zj j
CCBB
bb
valor da f.o.z*=w*variáveis de
decisão duais
DualDualPrimalPrimal
m variáveis de decisão duais que correspondem
às m restrições primais
Maximizar z= ctXs. a
A X ≤ bX ≥ 0
Maximizar z= ctXs. a
A X + I Xs = bX, Xs ≥ 0
Minimizar w= ytbs. a
AtY ≥ cIY≥ 0
Y livres
Minimizar w= ytbs. a
AtY ≥ cY≥ 0
BB-1-1NNOO BB-1-1bbXXBB
CCBB BB-1-1bbCCB B BB-1-1NNOO
CCNNOO -C-CB B BB-1-1NNOO
BB-1-1II
CCB B BB-1-1
CCJ J -C-CB B BB-1-1
XXNNOO XXBBOO
zzjj
ccj j -z-zj j
CCBB
bb
variáveis dedecisão duais
variáveis defolgas duais
Variáveis de Folga Duais e Quadro Primal Óptimo.
Relação 2:Relação 2: Os valores das variáveis de folga correspondentes à solução óptima dual encontram-se no quadro simplex óptimo e são os simétricos dos elementos da linha dos custos reduzidos nas colunas correspondentes às variáveis de decisão primais.
Quadrosimplexóptimo
Às n variáveis de folga duais correspondem às n variáveis de decisão primais: Ys =( ym+1 , ym+2 ,..., ym+n )
AtY ≥ csubstituindo por Y=CBB-1
At CBB-1 - I Ys = c
-Ys = c - At CBB-1 = c - CBB-1 A
-Ys = CNº – CBB-1 N0-Ys = CNº – CBB-1 N0
⇒⇒
⇒⇒
At Y - I Ys = c⇒⇒
( por hipótese as colunas de NNO O correspondem às colunas da matriz A )
⇒⇒
UDM - Operational Research
Docente: R. Fazenda 20
3 5 0 1
0 0 0
3232-
3 5 0 0 0cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzjj
bb
366
0 0 1
0 1 01 0 0
01213-
13-
13
13
x3
x2x1
62
250
3
-1
a solução óptima para o problema dual
é:yy1 1 = 0 , = 0 ,
yy2 2 = 3/2,= 3/2,yy3 3 =1=1
as variáveis de folga do dual são simétricas aos
custos reduzidos correspondentes às
colunas das variáveis de decisão primais
yy4 4 = 0 , = 0 , yy5 5 = 0= 0
Quadro Óptimo do Exemplo Protótipo. Solução dual.
Relação 3:Relação 3: A cada solução básica primal (SBP), admissível ou não admissível, corresponde-lhe uma solução básica dual (SBD), admissível ou não admissível, a que chamamos solução complementar.
O facto de não ser um quadro óptimo para o primal, significa que a solução do dual não é
admissível.
Solução Complementar.
0 5 0 0
3 0 0 0
52
1 0 1 0 0
3 0 0 -1 1
0 5 0
cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzj j
bb
46 6
x3x2x5
3 5 0 0 0
300
0 1 0 12 0
52-
0 5 0 0
3 0 0 0
5252
1 0 1 0 0
3 0 0 -1 1
0 5 0
cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzj j
bb
46 6
x3x2x5
3 5 0 0 0
300
0 1 0 12 0
1 0 1 0 01 0 1 0 0
3 0 0 -1 1
0 5 0
cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzj j
bb
46 6
x3x2x5
3 5 0 0 0
300
0 1 0 12 0
3 0 0 -1 13 0 0 -1 1
0 5 0
cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzj j
bb
46 6
x3x2x5
3 5 0 0 0
300
0 1 0 12 0
0 5 0
cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzj j
bbcj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzj j
bbcj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzj j
ccjj --zzj j
bbbb
46 6
x3x2x5
3 5 0 0 0
300
0 1 0 12 0
46 6
x3x2x5
3 5 0 0 03 5 0 0 0
300
0 1 0 12 00 1 0 12 0
52- 52- 52-
X =( 0,6,4,0,6) SBAP ⇔solução complementar Y = ( 0,5/2, 0, -3, 0) - SBNAD
Variáveis de decisão duais:y1 = 0 ,
y2 = 5/2,y3 =0
as variáveis de folga duais y4 = -3 , y5 = 0
Exemplo protótipo: 2º Quadro Simplex (a solução não é óptima)
UDM - Operational Research
Docente: R. Fazenda 21
Se todos os custos reduzidos são não positivos, i.e., cj-zj ≤0 verifica-se o critério de optimalidade para a solução primal
Relação 4: Se num quadro simplex correspondente a uma solução básica primal (SBP) ,admissível ou não admissível, todos os custos reduzidos são não positivos então a solução dual complementar é admissível (SBAD) .
Relação 4:Relação 4: Se num quadro simplex correspondente a uma solução básica primal (SBP) ,admissível ou não admissível, todos os custos reduzidos são não positivos então a solução dual complementar é admissível (SBAD) .
YY é uma SBAD. (solução básica admissível para o dual)
ccj j -- CCB B BB--1 1 PPjj ≤≤ 0 0 ∀j , j =1,2,...,n, n+1,...,n+m
ccjj --YYttPPjj ≤≤ 0 0 ∀j , j =1,2,...,n, n+1,...,n+m
YYttPPjj ≥≥ ccjj ∀j , j =1,2,...,n, n+1,...,n+m
YYttAA ≥≥ cc
YYtt=C=CB B BB--11
Solução Dual Complementar. Critério de Admissibilidade.
( neste caso por hipótese A A refere-se à matriz de restrições correspondente ao problema na forma padrão, já que são incluídas todas as colunas do quadro simplex)
AAttYY ≥≥ cc
Relação 5: Se ambos os problemas têm soluções admissíveis (ambos são possíveis) então ambos têm óptimo finito e os correspondentes valores óptimos z* e w*coincidem
Relação 5:Relação 5: Se ambos os problemas têm soluções admissíveis (ambos são possíveis) então ambos têm óptimo finito e os correspondentes valores óptimos z* e w*coincidem
Relação 6: Se algum dos problemas não tem óptimo finito,então o outro não possui soluções admissíveis (é impossível).Relação 6:Relação 6: Se algum dos problemas não tem óptimo finito,então o outro não possui soluções admissíveis (é impossível).
Relação entre as Soluções dos Problemas Primal–Dual.
Nenhum dos dois problemas têm soluções
admissíveis
w*→ ∞o problema dual não tem
óptimo finito
ImpossívelK=∅
z*→ ∞o problema primal não
tem óptimo finito
z*=w*ambos os problemas têm
óptimo finito
PossívelK≠∅
ImpossívelK=∅
PossívelK≠∅
PRIMAL
DUAL
UDM - Operational Research
Docente: R. Fazenda 22
Resolução do Problema Dual. Exemplo protótipo.
Minimizar w= 4y1 + 12 y2 + 18 y3sujeito a
y1 + 3 y3 ≥ 32y2 + 2 y3 ≥ 5
y1 , y2 , y3 ≥ 0
Minimizar w= 4y1 + 12 y2 + 18 y3sujeito a
y1 + 3 y3 - y4 = 32y2 + 2 y3 - y5 = 5
y1 , y2 , y3 , y4 , y5 ≥ 0
Minimizar w= 4y1 + 12 y2 + 18 y3sujeito a
y1 + 3 y3 - y4 = 32y2 + 2 y3 - y5 + y6 = 5
y1 , y2, , y3 , y4 , y5 , y6 ≥ 0y6 - variável artificial
Redução à forma padrão: subtraiam-se duas variáveis de folga y4 , y5
Como não é possível determinar uma matriz identidade introduz-se
uma variável artificial y6 na restrição nº 2 (para a equação nº1 a variável y1 pode ser tomada como
variável básica inicial).
P1 P6
1 00 1
B0 =P1 P2 P3 P4 P5 P61 0 3 -1 0 00 2 2 0 –1 1
A =
A SBA inicial para a 2ª fase é
Y0=(3,5/2,0,0,0)
A SBA inicial para a 2ª fase é
Y0=(3,5/2,0,0,0)
1 0 3 -1 0 00 2 2 0 -1 1
35
y1y6
0 1
0 0 0 0 0 1
550 2 2 0 -1 10 2 2 0 -1 0
0 0
y1y2
1 0 3 -1 0 0 30 1 1 0 -1/2 1/2 5/2
cj yy11 yy22 yy3 3 yy4 4 yy5 5 yy66YYBBCCBB
zzj j zzjj --ccjj
bb
zzj j zzjj --ccjj
0 0 0 0 0 0
0 0 0 0 0 -1
00
Minimizar w'= y6sujeito a
y1 + 3 y3 - y4 = 32y2 + 2 y3 - y5 + y6 = 5
y1, y2,, y3, y4, y5, y6 ≥ 0
y6- variável artificial
Exemplo protótipo.Resolução do Problema Dual.Método das duas fases: 1ª Fase.
Para aplicação da 1ª fase constrói-se o problema auxiliar:
UDM - Operational Research
Docente: R. Fazenda 23
A solução óptima é Y*=(0,3/2,1,0,0)
A solução óptima é Y*=(0,3/2,1,0,0)
y1y2
412
4 12 18 0 0 0
42424 12 24 -4 -6 60 0 6 -4 -6 6
18 12
y3y2
1 0 3 -1 0 0 30 1 1 0 -1/2 1/2 5/2
zzjjzzjj --ccjj
bbcj
YYBBCCBByy11 yy2 2 yy33 yy4 4 yy55 yy66
zzj j zzjj --ccjj
2 12 18 -2 -6 6
-2 0 0 -2 -6
3636
Minimizar w= 4y1 + 12 y2 + 18 y3sujeito a
y1 + 3 y3 - y4 = 32y2 + 2 y3 - y5 + y6 = 5
y1, y2,, y3, y4, y5, y6 ≥ 0
y6- variável artificial
1/3 0 1 -1/3 0 0 1
-1/3 1 0 1/3 -1/2 1/2 3/2
Exemplo protótipo.Resolução do Problema Dual.Método das duas fases: 2ª Fase.
y3y2
1812
4 12 18 0 0 0
zzjjzzj j -c-cjj
bbcjYYBBCCBB
yy11 yy2 2 yy33 yy4 4 yy5 5 yy66
-2-2 0 0 -662 12 18 -2 -6 36
1/3 0 1 - 0 11/3 0-1/3 1 0 1/3 1/2 1/2 3/2
y3y2
1812
4 12 18 0 0 0
zzjjzzj j -c-cjj
bbbbcjYYBBCCBB
yy11 yy2 2 yy33 yy4 4 yy5 5 yy66
-2-2 0 0 -6-2-2 0 0 -6-2 0 0 -662 12 18 -2 -6 3662 12 18 -2 -6 36
1/3 0 1 - 0 11/3 01/3 0 1 - 0 11/3 0 1 - 0 11/3 0-1/3 1 0 1/3 1/2 1/2 3/2-1/3 1 0 1/3 1/2 1/2 3/2
3 5 0 1
0 0 0
3232-
3 5 0 0 0cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzjj
ccj j -z-zj j
bb
366
0 0 1
0 1 01 0 0
01213-
13-
13
13
x3
x2x1
6
2
2 5 0
3
-1
a solução óptima para o dual é:
y1 = 0 , y2 = 3/2, y3 =1
as variáveis de folga do dual y4 = 0 , y5 = 0
a solução óptima para o primal, x1 = 2 , x2 = 6,encontram-se na linha zj nas colunas correspondentes à
matriz inicial identidade, i.e.,nas colunas correspondentes a y1 e à variável artificial y6
as variáveis de folga do primal são
simétricas aos custos reduzidos das colunas
correspondentes às variáveis de decisão
duais:x3 = 2 , x4 = 0, x5 = 0
Par de Problemas Primal-Dual. Quadros Óptimos.
Primal: X* = ( 2,6,2,0,0 ) PrimalPrimal:: X* = X* = (( 2,6,2,6,2,0,0 2,0,0 ) ) Dual: Y* = ( 0,3/2,1,0,0 )Dual:Dual: Y* = Y* = (( 0,3/2,10,3/2,1,0,0 ,0,0 ))z*= w*=36zz**= = ww**=36=36
UDM - Operational Research
Docente: R. Fazenda 24
SBAP X0 = (0,0,4,12,18), zº=0 SBAP X0 = (0,0,4,12,18), zº=0 SBNAD Y0 = (0,0,0,-3,-5), wº=0SBNAD Y0 = (0,0,0,-3,-5), wº=0
SBAP X1 = (0,6,4, 0, 6), z1=30SBAP X1 = (0,6,4, 0, 6), z1=30 SBNAD Y1 =(0,5/2,0,-3,0), w1=30SBNAD Y1 =(0,5/2,0,-3,0), w1=30
Primal: X* = (2,6,2,0,0) PrimalPrimal:: X* = X* = ((2,6,2,6,22,0,0) ,0,0) Dual: Y* = (0,3/2,1,0,0) Dual:Dual: Y* = Y* = ((0,3/2,10,3/2,1,0,0) ,0,0)
SBAP X2 = (2,6,2, 0, 0), z2=36SBAP X2 = (2,6,2, 0, 0), z2=36 SBAD Y2= (0,3/2,1, 0,0), w2=36SBAD Y2= (0,3/2,1, 0,0), w2=36
z*=w*=36z*=w*=36
Soluções complementares
Exemplo Protótipo: Soluções complementares
então uma restrição i do problema primal pode ser representada como:
Restrições do Problema Primal em Notação Vectorial.
AX =
PP1→ a11 a12 … a1nPP2→ a21 a22 … a2n....PPii →→ aaii11 aaii22 … … aainin
PPm→ am1 am2 … amn
x1x2...xJ
xn
≤≤
b1b2...bi
bm
Pi X ≤ biPi X ≤≤ bi
i =1,2,...,m
Considere a matriz A A do problema primal representada por m linhas PPii::
UDM - Operational Research
Docente: R. Fazenda 25
então uma restrição j do problema dual pode ser representada como:
Yt Pj ≥ cjYYtt PPjj ≥≥ ccjj
Restrições do Problema Dual em Notação Vectorial.
AAttYY = = YYttAA== yy1 1 yy2 2 ... ... yyii … … yymm
≥≥
P1 … PPj j … Pna11 … aa11jj … a1na21 … aa22jj … a2n...am1 … aamjmj … amn
c1c2...cj
cn
t
j =1,2,...,n
Considere a matriz A A do problema primal representada por n
colunas PPjj::
se Pi X = bi para o problema primal.
se YtPj = cj para o problema dual
Uma restrição encontra-se saturadase verifica a igualdade.
Uma restrição encontra-se saturadase verifica a igualdade.
Caso contrário a restrição encontra-se não saturada
Caso contrário a restrição encontra-se não saturada
Restrições Saturadas e Não Saturadas.
se Pi X < bi para o problema primal.
se YtPj > cj para o problema dual
UDM - Operational Research
Docente: R. Fazenda 26
Teorema 5.4:Propriedade dos Desvios Complementares.
•Se X* e Y* são soluções óptimas para o primal (P) e dual(D), respectivamente, então verificam a seguinte propriedade designada como propriedade dos desvios complementares ou complementaridade das slacks:
••1º. 1º. Se uma variável de decisão de qualquer dos problemas for nãonula na solução óptima, então, no outro problema a restriçãoassociada a essa variável encontra-se saturada,i.e., a variável defolga correspondente é nula.
2º. 2º. Se uma restrição de qualquer dos problemas não se encontra
• saturada na solução óptima desse problema (se uma variável de
• folga é positiva) então, no outro problema, a variável de decisão
• associada a essa restrição é nula.
Em síntese a propriedade dos desvios complementares pode resumir-se pela seguintes expressões:
é nulo o produto da j-ésima variável de decisão do primal pela j-ésimavariável de folga do dual
I.I.
é nulo o produto da i-ésima variável de decisão do dual pela i-ésima variável de folga do primal.
1,...n,0)( ** =∀=− jcPYxjj
tj
1,...,n,0*jm
* =∀=×+
jyxj
1,...m,0)( ** =∀=− iXPbyiii
1,...,m,0*in
* =∀=×+
ixyj
II.II.
Propriedade dos Desvios...
UDM - Operational Research
Docente: R. Fazenda 27
a variável de folga do problema dual associada a essa restrição é nula
a restrição do problema dual associada a essa variável encontra-se saturada
pela propriedade de desvios complementares
0* >jx 0* =+ jmy
jmjmjj cyayaya =+++ **22
*11 ...
0* =− jjt cPY
jjt cPY =*
0* >jx
0* =+ jmy
1,...,n,0)( ** =∀=− jcPYx jjt
j
Propriedade dos desvios...
• I. Se a variável de decisão do primal é positiva entãoa variável de folga correspondente do dual é nula.
•• I.I. Se a variável de decisão do primal é positiva entãoa variável de folga correspondente do dual é nula.
a restrição do problema dual associada encontra-se não saturada
pela propriedade de desvios complementares
1,...,n,0)( ** =∀=− jcPYx jjt
j
0* =jx
jmjmjj cyayaya >+++ **22
*11 ...
0* >+ jmy
jjt cPY >*
0* >− jjt cPY
0* >+ jmy
0* =jx
Propriedade dos desvios...
II. Se a variável de folga do dual é positiva então a variável de decisão correspondente do primal é nula.
II.II. Se a variável de folga do dual é positiva então a variável de decisão correspondente do primal é nula.
UDM - Operational Research
Docente: R. Fazenda 28
0* >iy 0* =+imx
0* >+imx 0* =iy
Propriedade dos desvios...
III. Se a variável de decisão do dual é positiva então a variável de folga correspondente do primal é nula.
III.III. Se a variável de decisão do dual é positiva então a variável de folga correspondente do primal é nula.
IV. Se a variável de folga do primal é positiva então a variável de decisão correspondente do dual é nula.
IV.IV. Se a variável de folga do primal é positiva então a variável de decisão correspondente do dual é nula.
Propriedade dos Desvios Complementares.Conclusões.
– A variáveis de decisão primais positivas correspondem restrições duais saturadas (i.e.,variáveis de folga duais nulas, slacks nulas);
– A restrições duais não saturadas (i.e,variáveis de folga duais positivas, slacks positivas) correspondem variáveis de decisão primais nulas;
•e reciprocamente:
– A variáveis de decisão duais positivas correspondem restrições primais saturadas (i.e, variáveis de folga primais nulas, slacks nulas);
– A restrições primais não saturadas (i.e, variáveis de folga primais positivas, slack positivo) correspondem variáveis de decisão duais nulas
UDM - Operational Research
Docente: R. Fazenda 29
variáveis de decisãovariáveis de decisão
x1= 2xx11= = 22 y4= 0yy44= = 00
x2= 6xx22= = 66 y5= 0yy55= = 00
x3= 2xx33= = 22 y1= 0yy11= = 00
Primal: X* = ( 2,6,2,0,0 ) PrimalPrimal: : X* = X* = (( 2,6,2,6,2,0,0 2,0,0 ) ) Dual: Y* = ( 0,3/2,1,0,0 )Dual: Dual: Y* = Y* = (( 0,3/2,10,3/2,1,0,0 ,0,0 ))
variáveis de folgavariáveis de folga
variáveis de folgavariáveis de folga variáveis de decisãovariáveis de decisão
x4= 0xx44= = 00 y2= 3/2yy22= = 3/23/2
x5= 0xx55= = 00 y3= 1yy33= = 11
os produtos das variáveis de decisão do primal
pelas correspondentes variáveis de folga do
dual são nulos
os produtos das variáveis de decisão do primal
pelas correspondentes variáveis de folga do
dual são nulos
os produtos das variáveis de decisão do dual pelas
correspondentes variáveis de folga do
primal são nulos
os produtos das variáveis de decisão do dual pelas
correspondentes variáveis de folga do
primal são nulos
Propriedade dos Desvios Complementares.Exemplo Protótipo.
Aplicando Dualidade e as Propriedades de Desvíos Complementares para resolver o Problema Primal.
Minimizar z= 2x1 + 3x2 + 5x3 + 2x4 +3x5sujeito a
x1 + x2 + 2 x3 + x4 + 3x5 ≥ 42 x1 - 2 x2 + 3 x3 + x4 + x5 ≥ 3
x1 , x2 ,, x3 ,, x4 ,, x5 ≥ 0
Maximizar w = 4 y1 + 3 y2sujeito a
y1 + 2 y2 ≤ 2y1 - 2 y2 ≤ 3
2 y1 + 3 y2 ≤ 5y1 + y2 ≤ 2
3 y1 + y2 ≤ 3y1 , y2, ≥ 0
Primal Primal de de MinimizaçãoMinimização
Dual de MaximizaçãoDual de Maximização
Como o problema dual é um problema com duas variáveis pode ser resolvido graficamente.
A solução óptima para o dual é:
Y*= ( 4/5, 3/5 ) com um valor óptimo de 5
UDM - Operational Research
Docente: R. Fazenda 30
substituindo
por y1 e y2
Utilizando o dual e as
propriedades....
1º: Pela propriedade dos desvios complementares se a variável de decisão dodual é positiva então a variável de folga correspondente do primal é nula.
1º:1º: Pela propriedade dos desvios complementares se a variável de decisão dodual é positiva então a variável de folga correspondente do primal é nula.
2º: Calcular as variáveis de folga duais, substituindo os valores de y1 = 4/5,y2 = 3/5 nas restrições duais.
2º:2º: Calcular as variáveis de folga duais, substituindo os valores de yy1 1 = = 4/5,yy2 2 = = 3/5 nas restrições duais.
y3 = = 2 - y1 - 2 y2 ⇒⇒ y3 = = 2 - 4/5 - 6/5 ⇒⇒ y3 = = 0
X* = X* = (( xx11, , xx2 2 , , xx3 3 , , xx4 4 , , xx5 5 ,, xx6 6 , , xx77 ) )
variáveis de decisão variáveis de folga
Y* = Y* = (( yy11, , yy22 , , yy3 3 , , yy4 4 , , yy5 5 ,, yy6 6 , , yy77 ) )
variáveis de decisão variáveis de folga
prop.desvios
complementares⇒⇒ xx11 ≥≥ 0substituindo
por y1 e y2y4 = = 3 - y1 + 2 y2 ⇒⇒ y4 = = 3 - 4/5 + 6/5 ⇒⇒ y4 =1=13/5 xx22 = = 0
substituindo
por y1 e y2
y5= = 5 - 2 y1 - 3 y2 ⇒⇒ y5 = = 5 - 8/5 - 9/5 ⇒⇒ y5 = 8= 8/5 xx33 = = 0substituindo
por y1 e y2y6 = = 2 - y1 - y2 ⇒⇒ y6 = = 2 - 4/5 - 3/5 ⇒⇒ y6 = 3= 3/5 xx44 = = 0
Y*= ( 4/5 , 3/5 ) é a solução óptima do problema dual obtida graficamente
prop.desvios
complementares⇒⇒yy1 1 = = 4/5 xx6 6 = = 0 prop.desvios
complementares⇒⇒yy2 2 = = 3/5 xx77= = 0
substituindo
por y1 e y2y7 = = 3 - 3 y1 - y2 ⇒⇒ y7 = = 3 - 12/5 - 3/5 ⇒⇒ y7 = = 0 xx55 ≥≥ 0
prop.desvios
complementares⇒⇒prop.desvios
complementares⇒⇒prop.desvios
complementares⇒⇒prop.desvios
complementares⇒⇒
Utilizando o dual e as propriedades....
A solução primal óptima é X* = X* = (( 1 , 0 , 0 ,1 , 0 , 0 , 0 ,0 , 1 , 1 , 00 , , 00 ) )
3º: Calcular x1 ≥ 0 , x5 ≥ 0 substituindo x2= x3 = x4 = 0 nas restrições primais3º:3º: Calcular x1 ≥ 0 , x5 ≥ 0 substituindo x2= x3 = x4 = 0 nas restrições primais
x1 + x2 + 2 x3 + x4 + 3x5 - x6 = 4substituindo por
xx22== xx3 3 == xx4 4 == xx66== 0⇒⇒ x1 + 3 x5 = = 4
X* =X* = (( xx11, , xx2 2 , , xx3 3 , , xx4 4 , , xx5 5 ,, xx6 6 , , xx77 ) )
variáveis de decisão variáveis de folga
Y* =Y* = (( yy11, , yy22 , , yy3 3 , , yy4 4 , , yy5 5 ,, yy6 6 , , yy77 ) )
variáveis de decisão variáveis de folga
2x1 - 2 x2 + 3 x3 + x4 + x5 – x7 = 3substituindo por
xx22== xx3 3 == xx4 4 == xx66== 0⇒⇒ 2 x1 + x5 = = 3xx11 = = 1 xx55 = 1= 1⇒⇒
A solução dual óptima é Y* = Y* = (( 4/5 , , 3/5 , 0 , 1, 0 , 13/5 , 8, 8/5 , 3, 3/5 , 0 , 0 ))
Os produtos das variáveis de decisão primais(duais) com as correspondentes variáveis de
folga duais (primais) são nulos
Minimizar z= 2x1 + 3x2 + 5x3 + 2x4 +3x5sujeito a
x1 + x2 + 2 x3 + x4 + 3x5 ≥ 42 x1 - 2 x2 + 3 x3 + x4 + x5 ≥ 3
x1 , x2 ,, x3 ,, x4 ,, x5 ≥ 0
UDM - Operational Research
Docente: R. Fazenda 31
SBAPSBAPSBAPPrimalPrimal ::
No caso de óptimo finito o algoritmo Primal aplicado ao problema primal consiste em partir de uma SBAP, a que
corresponde uma SBNAD, prosseguindo de SBAP (SBNAD) em SBAP (SBNAD) até obter um par de soluções admissíveis do primal e do dual (SBAP e SBAD) que são as soluções óptimas
para os respectivos problemas
No caso de óptimo finito o algoritmo Primal aplicado ao problema primal consiste em partir de uma SBAP, a que
corresponde uma SBNAD, prosseguindo de SBAP (SBNAD) em SBAP (SBNAD) até obter um par de soluções admissíveis do primal e do dual (SBAP e SBAD) que são as soluções óptimas
para os respectivos problemas
Caso 1: Óptimo finito
SBAPSBAPSBAP SBAPSBAPSBAP
SBNADSBNADSBNAD SBNADSBNADSBNAD SBADSBADSBADDual:Dual:
……
……
X*X*-- solução óptima
para o primal
z*= z*= ww* * finitofinitoY*Y*-- solução óptima
para o dual
Percurso do par de soluções primais-duais.Algoritmo Primal aplicado ao Problema Primal
SBAP X0 = ( 0,0,4,12,18 ), zº=0SBAPSBAP XX00 = = (( 0,0,0,0,4,12,184,12,18 ), ), zzº=0º=0 SBNAD Y0 = ( 0,0,0,-3,-5 ) , wº=0SBNADSBNAD YY00 = = (( 0,0,0,0,00,,--3,3,--5 5 ) ,) , wwº=0º=0
SBAP X1 = ( 0,6,4, 0, 6) , z1=30SBAPSBAP XX11 = = (( 0,6,0,6,4, 0, 64, 0, 6) ,) , zz11=30=30 SBNAD Y1 = ( 0,5/2,0,-3,0 ) , w1=30SBNADSBNAD YY11 = = (( 0,5/2,0,5/2,00,,--3,0 3,0 ) ,) , ww11=30=30
Primal: X* = ( 2,6,2,0,0 ) PrimalPrimal:: X* = X* = (( 2,6,2,6,2,0,0 2,0,0 ) ) Dual: Y* = ( 0,3/2,1,0,0 )Dual:Dual: Y* = Y* = (( 0,3/2,10,3/2,1,0,0 ,0,0 ))
SBAP X2 = ( 2,6,2, 0, 0) , z2=36SBAPSBAP XX22 = = (( 2,6,2,6,2, 0, 02, 0, 0) ,) , zz22=36=36 SBAD Y2= ( 0,3/2,1, 0,0 ) , w2=36SBADSBAD YY22= = (( 0,3/2,0,3/2,11, 0,0 , 0,0 ) ,) , ww22=36=36
z*= w*=36zz**= = ww**=36=36
Soluções complementares
Percurso do par de soluções primais-duais.Algoritmo Primal aplicado ao Problema Primal.
Caso 1: Óptimo finito. Exemplo Protótipo: Problema Primal
Soluções óptimas:
UDM - Operational Research
Docente: R. Fazenda 32
SBAPSBAPSBAPPrimalPrimal ::
No caso de óptimo não finito o algoritmo Primal aplicado ao problema primal consiste em partir de uma SBAP, a que
corresponde uma SBNAD, prosseguindo de SBAP (SBNAD) em SBAP (SBNAD) sem nunca obter uma SBAD, e concluir que o
primal não tem óptimo finito,sendo então o dual impossível.
No caso de óptimo não finito o algoritmo Primal aplicado ao problema primal consiste em partir de uma SBAP, a que
corresponde uma SBNAD, prosseguindo de SBAP (SBNAD) em SBAP (SBNAD) sem nunca obter uma SBAD, e concluir que o
primal não tem óptimo finito,sendo então o dual impossível.
SBAPSBAPSBAP
SBNADSBNADSBNAD SBNADSBNADSBNADDual:Dual:
……
……
Óptimo não finito para o primal
K=K=∅∅ para o dual, i.e. o dual é
impossível
Percurso do par de soluções primais-duais.Algoritmo Primal aplicado ao Problema Primal
Caso 2: Óptimo não finito.
SBNAPSBNAPSBNAPPrimalPrimal :: SBNAPSBNAPSBNAP SBAPSBAPSBAP
SBADSBADSBAD SBADSBADSBAD SBADSBADSBADDual:Dual:
……
……Y*Y*-- solução óptima para o
dualz*= z*= ww* * finitofinitoX*X*-- solução óptima para o
primal
No caso de óptimo finito o algoritmo Primal aplicado ao problema dual consiste em partir de uma SBAD, à que corresponde uma SBNAP, prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) até obter um par de soluções admissíveis do primal e do dual (SBAP e SBAD) que são
soluções óptimas para os respectivos problemas
No caso de óptimo finito o algoritmo Primal aplicado ao problema dual consiste em partir de uma SBAD, à que corresponde uma SBNAP, prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) até obter um par de soluções admissíveis do primal e do dual (SBAP e SBAD) que são
soluções óptimas para os respectivos problemas
O dual do problema dual é o problema primalO dual do problema dual é o problema primal
Percurso do par de soluções primais-duais.Algoritmo Primal aplicado ao Problema Dual.
Caso 1: Óptimo finito.
UDM - Operational Research
Docente: R. Fazenda 33
SBAD Y0 = ( 3,5/2,0,0,0 ) , wº=42SBADSBAD YY00 = = (( 3,5/23,5/2,0,0,0,0 ,0,0 ) ,) , wwº=42º=42 SBNAP X0 = ( 4,6,0, 0,-6 ) , zº=42SBNAPSBNAP XX00 = = (( 4,6,4,6,0, 0,0, 0,--6 6 ) ,) , zzº=42º=42
SBAD Y1 =( 0,3/2,1, 0, 0) , w1=36SBADSBAD YY1 1 ==(( 0,3/2,0,3/2,11, 0, 0, 0, 0) ,) , ww11=36=36 SBAP X1 = ( 2,6, 2, 0, 0 ) , z1=36SBAPSBAP XX11 = = (( 2,6, 2,6, 2, 0, 0 2, 0, 0 ) ,) , zz11=36=36
Dual: Y* = ( 0,3/2,1,0,0 )DualDual:: Y* = Y* = (( 0,3/2,10,3/2,1,0,0 ,0,0 )) Primal : X* = ( 2,6,2,0,0 ) PrimalPrimal :: X* = X* = (( 2,6,2,6,2,0,02,0,0 ) ) w*= z*=36ww**= = zz**=36=36
Soluções complementaresSoluções complementares
Percurso do par de soluções primais-duais.Algoritmo Primal aplicado ao Problema Dual.
Caso 1: Óptimo finito. Exemplo Protótipo: Problema Dual.
Soluções óptimasSoluções óptimas
SBADSBADSBAD
PrimalPrimal::
SBADSBADSBAD
SBNAPSBNAPSBNAP SBNAPSBNAPSBNAP
Dual:Dual: ……
……
Óptimo não finito para o dual
K=0 K=0 para o primal, i.e. o primal
é impossível
No caso de óptimo não finito o algoritmo Primal aplicado ao problema dual consiste em partir de uma SBAD, a que corresponde uma SBNAP, prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) sem nunca obter uma SBAP, e concluir que o dual não tem óptimo
finito, sendo então o primal impossível.
No caso de óptimo não finito o algoritmo Primal aplicado ao problema dual consiste em partir de uma SBAD, a que corresponde uma SBNAP, prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) sem nunca obter uma SBAP, e concluir que o dual não tem óptimo
finito, sendo então o primal impossível.
Percurso do par de soluções primais-duais.Algoritmo Primal aplicado ao Problema Dual.
Caso 2: Óptimo não finito.
UDM - Operational Research
Docente: R. Fazenda 34
SBNAPSBNAP SBADSBADSBAD
SBAPSBAPSBAP SBNADSBNAD
Primal Primal (maximização)(maximização)
DualDual((minimizaçãominimização))
z, w
z*=w*
supersuper--óptimaóptima subsub--óptimaóptima
subsub--óptimaóptima supersuper--óptima óptima
óptimaóptimaPercurso do
algoritmo Primalaplicado ao
problema primal
Percurso do algoritmo Primal
aplicado ao problema dual
X*XX** YY**
Percurso do par de soluções primais-duais.Algoritmo Primal. Representação gráfica
Em que consiste o algoritmo dual Simplex?Em que consiste o algoritmo dual Simplex?
O algoritmo dual Simplex tem um comportamento homólogo ao
algoritmo primal do simplexaplicado ao problema dual
O algoritmo dual Simplex tem um comportamento homólogo ao
algoritmo primal do simplexaplicado ao problema dual
Algoritmo Dual Simplex.
O algoritmo dual Simplex consiste em partir duma solução básica admissível dual (SBAD), a que corresponde uma solução básica não admissível primal(SBNAP),prosseguindo até:
1º: se atingir uma soluçaõ básica admissívelprimal (SBAP) e concluir que o problema temóptimo finito.
2º: nunca se atingir uma solução básica admissívelprimal, e concluir que o problema dual não temóptimo finito, sendo então o primal impossível.
O algoritmo dual Simplex consiste em partir duma solução básica admissível dual (SBAD), (SBAD), a que corresponde uma solução básica não admissível primal((SBNAP),SBNAP),prosseguindo até:
1º1º: se atingir uma soluçaõ básica admissívelprimal (SBAP) e concluir que o problema temóptimo finito.
2º2º: nunca se atingir uma solução básica admissívelprimal, e concluir que o problema dual não temóptimo finito, sendo então o primal impossível..
UDM - Operational Research
Docente: R. Fazenda 35
SBNAPSBNAPSBNAPPrimalPrimal :: SBNAPSBNAPSBNAP SBAPSBAPSBAP
SBADSBADSBAD SBADSBADSBAD SBADSBADSBADDual:Dual:
……
……
X*X*-- solução óptima para o
primal
z*= z*= ww* * finitofinitoY*Y*-- solução
óptima para o dual
No caso de óptimo finito o algoritmo Dual aplicado ao problema primal consiste em partir de uma SBAD, à que
corresponde uma SBNAP,prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) até obter um par de soluções admissíveis do
primal e do dual (SBAP e SBAD) que são soluções óptimas para os respectivos problemas.
No caso de óptimo finito o algoritmo Dual aplicado ao problema primal consiste em partir de uma SBAD, à que
corresponde uma SBNAP,prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) até obter um par de soluções admissíveis do
primal e do dual (SBAP e SBAD) que são soluções óptimas para os respectivos problemas.
Percurso do par de soluções primais-duais.Algoritmo Dual aplicado ao Problema Primal.
Caso 1: Óptimo finito.
SBADSBADSBAD
PrimalPrimal ::
SBADSBADSBAD
SBNAPSBNAPSBNAP SBNAPSBNAPSBNAP
Dual:Dual: ……
…… KK vaziovazio para o primal, i.e. o primal
é impossível
Óptimo não finito para o dual
No caso de problema impossível o algoritmo Dual aplicado ao problema primal consiste em partir de uma SBAD, a que
corresponde uma SBNAP, prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) sem nunca atingir uma SBAP, e concluir que o dual
não tem óptimo finito,sendo então o primal impossível.
No caso de problema impossível o algoritmo Dual aplicado ao problema primal consiste em partir de uma SBAD, a que
corresponde uma SBNAP, prosseguindo de SBAD (SBNAP) em SBAD (SBNAP) sem nunca atingir uma SBAP, e concluir que o dual
não tem óptimo finito,sendo então o primal impossível.
Percurso do par de soluções primais-duais.Algoritmo Dual aplicado ao Problema Primal.
Caso 2: Problema impossível.
UDM - Operational Research
Docente: R. Fazenda 36
SBNAPSBNAP SBADSBAD
SBAPSBAP SBNADSBNADSBNAD
PrimalPrimal(maximização)(maximização)
Dual(minimização)
z, w
z*=w*
supersuper--óptimaóptima subsub--óptimaóptima
subsub--óptimaóptima supersuper--óptima óptima
óptimaóptimaPercurso do
algoritmo dual aplicado ao
problema dual
Percurso do algoritmo dual
aplicado ao problema primal
X*XX** YY**
Percurso do par de soluções primais-duais.Algoritmo Dual. Representação Gráfica.
Enquanto o algoritmo primal mantém a admissibilidade da solução primal,o algoritmo dual, mantém a admissibilidade da solução dual.
Enquanto o algoritmo primal mantém a admissibilidade da solução primal,o algoritmo dual, mantém a admissibilidade da solução dual.
Move-se de uma solução primal
super-óptima, mas não admissível até
atingir uma solução primal admissível
Move-se de uma solução dual super-
óptima, mas não admissível até
atingir uma solução dual admissível
A solução básica primal é
admissível?
Construir o quadro simplex correspondente a uma SBAD
complementar (todos os custos reduzidos não positivos)
FIM !!!FIM !!!a solução é óptima a solução é óptima
Mover-se para umaSBAD "melhor"
SimSim
NãoNão
Algoritmo Dual Simplex. Fluxograma Geral.
UDM - Operational Research
Docente: R. Fazenda 37
NãoNão
SimSim
Construir quadro correspondente a Construir quadro correspondente a uma uma SBAD complementarSBAD complementar
INÍCIOINÍCIOForma Padrão
A solução básica primalé admissível ?
FIMFIMa solução é óptima !!!
Calcular nova SBP.Actualizar quadro Calcular nova SBP.Actualizar quadro correspondente à nova correspondente à nova SBAD SBAD complementar.complementar.
Determinar a variável básica Determinar a variável básica negativa que sai danegativa que sai da SBNAPSBNAP
Óptimo não finito para o
dual ?
FIMFIMo primal é
impossível !!!
Determinar a variável não Determinar a variável não básica que entra para a básica que entra para a
SBNAPSBNAP
SimSim
Não
critério de admissibilidade para o dual:∀ j : cj-zj≤ 0
critério de admissibilidadepara o primal:
xi ≥ 0 , ∀ xi ∈ XB
critério de óptimo não finito para o dual
∀ j: xs j≥ 0
critério de saídamin { xi : xi < 0 , xi ∈ XB }= xsdeterminar a linha pivotal ss
Algoritmo Dual.
critério de entrada
min cj - zj : xsj < 0 xsj
determinar a coluna pivotal
Exemplo. Redução á forma padrão.
-2 x1 - 7 x2 - 2 x3 - 2 x4 + x5 = -20
7 x1 + 2x2 + 6x3 - 2 x4 + x6 = 35
-4 x1 - 5 x2 + 3x3 + 2x4 + x7 = -15
2 x1 + 7x2 + 6x3 + 5x4minimizar
sujeito a:
x1, x2, x3, x4 , x5, x6 , x7 ≥ 0
2 x1 + 7 x2 + 2 x3 + 2 x4 - x5 = 20
7 x1 + 2 x2 + 6 x3 - 2 x4 + x6 = 35
4 x1 + 5 x2 - 3 x3 - 2 x4 - x7 = 15
2 x1 + 7 x2 + 6 x3 + 5 x4minimizar
sujeito a:
x1, x2, x3, x4 , x5, x6 , x7 ≥ 0
2 x1 + 7 x2 + 2 x3 + 2 x4 ≥ 20
7 x1 + 2 x2 + 6 x3 - 2 x4 ≤ 35
4 x1 + 5 x2 - 3 x3 - 2 x4 ≥ 15
2 x1 + 7 x2 + 6 x3 + 5 x4minimizar
sujeito a:
x1, x2, x3 , x4 ≥ 0
Multiplicando por (-1) as equações 1 e
3 , obtém-se uma matriz inicial
identidade
UDM - Operational Research
Docente: R. Fazenda 38
XBx5x6x7
P1 P2 P3 P4 P5 P6 P7
-2 3 5 -4 1 0 07 2 6 -2 0 1 0-4 -5 3 2 0 0 1
P5 P6 P7
1 0 00 1 00 0 1
P0
-2035
-15==
A SBP inicial X0 = ( 0, 0, 0, 0, -20, 35, -15 ) é não admissível.
Passo 1: Determinar uma SBP inicial que corresponde a umaSBAD. Construir o quadro simplex correspondente.
Passo 1: Determinar uma SBP inicial que corresponde a umaSBAD. Construir o quadro simplex correspondente.
Com a redução à forma padrão, é possível identificar uma SBPSBP que corresponda a uma SBAD SBAD complementar.
(verifica : ∀∀ j : j : ccjj--zzjj≤≤ 0,0, jj=1,…,n)=1,…,n)
Algoritmo Dual. Exemplo: determinando uma SBP inicial.
zzj j
zzjj --ccj j
- 2 3 5 -4 1 0 07 2 6 -2 0 1 0
- 4 -5 3 2 0 0 1
-2035
-15
x5x6x7
0 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
00valor da f.o.
verifica o critério de optimalidade:
os custos reduzidos são não positivos, i.e. a solução dual complementar é
admissível.0 0 0 0 0 0 0
1º quadro, Passo 1: Construção do 1º quadro correspondente àSBNAP X0 = ( 0, 0, 0, 0, -20, 35, -15 ).
1º quadro,1º quadro, Passo 1Passo 1:: Construção do 1º quadro correspondente àSBNAP X0 = ( 0, 0, 0, 0, -20, 35, -15 ).
-2 -7 - 6 -5 0 0 0
Algoritmo Dual. Exemplo: 1º quadro Simplex correspondente à SBP Inicial.
UDM - Operational Research
Docente: R. Fazenda 39
∃ xi ∈ XkB , tal
quexi< 0 ?
Passar ao passo seguinte
FIMFIMa solução é óptima !!!Não
Sim
Algoritmo Dual.Passo 2: Teste de admissibilidade para a solução primal.
• Existe algum xi ∈ XkB , tal que xi< 0 , i=1,…m ?
– Não, o processo termina: a solução básica do primal é admissível, i.e., a solução é óptima para o primal.
– Sim, o processo prossegue.
X0B= ( -20 , 35, -15 )XX00
BB= ( = ( --20 , 35, 20 , 35, --15 )15 )
∃∃ xxii ∈∈ XX00B B , , tal tal
quequexxii< 0 ?< 0 ?
SimSim
Passar ao passo seguinte
XX00 não é admissível para o primal
(SBNAP)
Algoritmo Dual. Exemplo: 1º Quadro. Passo 2: Teste de admissibilidade para a solução primal.
Existe alguma variável básica negativa?Existe alguma variável básica negativa?
UDM - Operational Research
Docente: R. Fazenda 40
Critério de saída:
min { xi ∈ XkB : xi < 0 } = xs
i
Critério de saída:
min { xi ∈ XkB : xi < 0 } = xs
i
linha pivotal ss
XXBB xx1 1 …… xxjj … … xxnnxxii11 x11 ... x1j … x1nxxii2 2
x21 … x2j … x2n.
.
xxiiSS<0 xxs1s1 … xxsjsj … xxsnsn
..
.
xxiiMMxm1 ... xmj … xmn
Algoritmo Dual.Passo 3:Determinando a variável básica negativa que sai.
min { xi ∈ XkB : xi < 0 } = -20
a variável candidata a sair é: x5
linhapivotal
zzj j
zzjj --ccj j
- 2 3 5 -4 1 0 07 2 6 -2 0 1 0
- 4 -5 3 2 0 0 1
-2035
-15
x5x6x7
0 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
000 0 0 0 0 0 0
-2 -7 - 6 -5 0 0 0
→→ mínimo mínimo
Algoritmo Dual. Exemplo. 1º Quadro.Passo 3:Determinando a variável básica negativa que sai.
UDM - Operational Research
Docente: R. Fazenda 41
min { xi ∈ XkB : xi < 0 } = xs
ii
Existe algumxsj < 0 ?
Passar ao passo seguinte
FIMFIMóptimo não finito para o dual, i.e., o
primal não tem soluções
admissíveis:o primal é impossível
NãoNão
SimSim
Existe alguma componente negativa na
linha pivotal ?
XXBB xx1 1 …… xxjj … … xxnnxxii11 x11 ... x1j … x1nxxii2 2
x21 … x2j … x2n.
.
xxiiSS<0 xxs1s1 … xxsjsj … xxsnsn
..
.
xxiiMMxm1 ... xmj … xmn
Algoritmo Dual.Passo 4: Teste de óptimo não finito para o dual
(primal impossível).
Existe alguma componente negativa na linha pivotal ?
zzj j
zzjj --ccj j
- 2 3 5 -4 1 0 07 2 6 -2 0 1 0
- 4 -5 3 2 0 0 1
-2035
-15
x5x6x7
0 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
000 0 0 0 0 0 0
-2 -7 - 6 -5 0 0 0
→→ mínimo mínimo Há 2
componentes negativas na
linha pivotal, i.e., é possível passar ao passo seguinte
do algoritmo
Há 2 componentes negativas na
linha pivotal, i.e., é possível passar ao passo seguinte
do algoritmo
Algoritmo Dual. Exemplo. 1º Quadro. Passo 4: Teste de óptimo não finito para o dual.
UDM - Operational Research
Docente: R. Fazenda 42
1º. Seleccionar os coeficientes negativos da linha pivotal s s : xxsjsj <0 <0
2º. Dividir os quocientes entre os custos reduzidos e cada um destes coeficientes negativos
,...,n,sjsj
jj jxx
zc21 ,0 : =<
−
Algoritmo Dual. Passo 5: Determinar a variável não básica que entra.
3º. Seleccionar a coluna r onde se alcance o menor dos quocientes(critério de entrada):
sr
rrsj
sj
jj
j xzcx
xzc −=
<
−
= 0min0θ
linha pivotal ss
XXBB xx1 1 …… xxjj … … xxnnxxii11 x11 ... x1j … x1nxxii2 2
x21 … x2j … x2n.
.
xxiiSS<0 xxs1s1 … xxsjsj … xxsnsn
..
.
xxiiMMxm1 ... xmj … xmn
linha pivotal ss
XXBB xx1 1 …… xxjj … … xxnnxxii11 x11 ... x1j … x1nxxii2 2
x21 … x2j … x2n.
.
xxiiSS<0 xxs1s1 … xxsjsj … xxsnsn
..
.
xxiiMMxm1 ... xmj … xmn
XXBB xx1 1 …… xxjj … … xxnnxxii11 x11 ... x1j … x1nxxii2 2
x21 … x2j … x2n.
.
xxiiSS<0 xxs1s1 … xxsjsj … xxsnsn
..
.
xxiiMMxm1 ... xmj … xmn
A escolha de θ0 como o mínimo desta expressão
garante a admissibilidade da nova solução dual, já que o
percurso deste algoritmo dual Simplex é mover-se duma SBAD para outra SBAD “
melhor”.
A escolha de θ0 como o mínimo desta expressão
garante a admissibilidade da nova solução dual, já que o
percurso deste algoritmo dual Simplex é mover-se duma SBAD para outra SBAD “
melhor”.
-2/-2= 1-5/-4= 5/4↑↑ mminimoinimo
coluna pivotal: j =1
pivot→→ mínimomínimo
zzj j
zzjj --ccjj
- 2 3 5 -4 1 0 07 2 6 -2 0 1 0
- 4 -5 3 2 0 0 1
-2035
-15
x5x6x7
0 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
000 0 0 0 0 0 0
-2 -7 - 6 -5 0 0 0
Algoritmo Dual. Exemplo: 1º Quadro. Passo 5: Determinar a variável não básica que entra.
UDM - Operational Research
Docente: R. Fazenda 43
A variável básica negativa que sai
A variável não básica que entra xrxxrr
1ª1ª
2ª2ª
SBP:X0 = ( x1 , x2, xs ,..,xm,0,..,0 )
SBP:X0 = ( x1 , x2, xs ,..,xm,0,..,0 )
nova SBP:X1 = ( x1 , x2 ,xr ,..,xm,0,..,0 )
nova SBP:X1 = ( x1 , x2 ,xr ,..,xm,0,..,0 )
xr entra
xs sai
xsxxss
Algoritmo Dual. Passo 6: 1º. Calcular nova SBP com SBAD complementar.
2º. Construir o novo quadro simplex.
Calcular o novo quadro aplicando o método de Gauss-Jordan, tomando o pivot como elemento redutor.
SBP inicial X0 :
X0
B = (x5 , x6 , x7 )X0 = (0,0,0,0,-20, 35, -15)
SBP inicial XX0 0 :
XX00
B B = (= (xx55 , , xx6 6 , , xx77 ))X0 = (0,0,0,0,-20, 35, -15)
SBP X1 :
X1
B= ( x1 , x6 , x7 )X1 = ?
SBP XX1 1 :
XX11
BB= ( = ( xx11 , xx66 , xx77 )X1 = ?
x1 entra
x5 sai
Algoritmo Dual. Exemplo. 1º Quadro.
Passo 6: Calcular nova SBP com SBAD complementar.
A variável básica negativa que sai
A variável não básica que entra x1xx11
1ª1ª
2ª2ª
x5xx55
UDM - Operational Research
Docente: R. Fazenda 44
1 -3/2 -5/2 2 -1/2 0 0 10
Linha 1: linha pivotal dividir pelo pivot: -2
Linha 2: linha anterior -(coeficiente coluna pivot x nova linha pivot)
7 2 6 -2 0 1 0 35-(7) 1 -3/2 -5/2 2 -1/2 0 0 10
0 25/2 47/2 -16 7/2 1 0 -35 zzj j zzjj --ccj j
- 2 3 5 -4 1 0 07 2 6 -2 0 1 0
- 4 -5 3 2 0 0 1
-2035
-15
x5x6x7
0 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
000 0 0 0 0 0 0
-2 -7 - 6 -5 0 0 0
0 25/2 47/2 -16 7/2 1 0 -350 -11 -7 10 -2 0 1 25
x1x6x7
2 0 0
Linha 3: linha anterior -(coeficiente coluna pivot x nova linha pivot)
-4 -5 3 2 0 0 1 -15+4x 1 -3/2 -5/2 2 -1/2 0 0 10
0 -11 -7 10 -2 0 1 25
Algoritmo Dual. Exemplo. Passo 6. Calcular nova SBP X1.
zzj j
zzjj --ccjj
1 -3/2 -5/2 2 -1/2 0 00 25/2 47/2 -16 7/2 1 00 -11 -7 10 -2 0 1
10- 3525
x1x6x7
2 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBBb
200
os custos reduzidos são não positivos, i.e., a solução dual
complementar é admissível.
2 -3 -5 4 -1 0 0
0 -10 -11 -1 -1 0 0
Algoritmo Dual. Exemplo: 2º Quadro. Passo 1. Construir o quadro Simplex correspondente à
nova SBP X1 = (10, 0, 0, 0, 0,-35, 25 ).
UDM - Operational Research
Docente: R. Fazenda 45
X1B= ( 10 , -35 , 25 )XX11
BB= ( 10 , = ( 10 , --3535 , 25 ), 25 )
∃ xi ∈ X0B ,
tal quexi< 0 ?
SimSim
Passar ao passo seguinte
X1 não é admissível para o primal
(SBNAP)
Algoritmo Dual. Exemplo: 2º quadro.Passo 2: Teste de admissibilidade para a solução primal.
Existe alguma variável básica negativa?Existe alguma variável básica negativa?
a variável candidata a sair
é: x6
linhapivotal
→→ mínimo mínimo
zzj j
zzjj --ccjj
1 -3/2 -5/2 2 -1/2 0 00 25/2 47/2 -16 7/2 1 00 -11 -7 10 -2 0 1
10- 3525
x1x6x7
2 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
2002 -3 -5 4 -1 0 0
0 -10 -11 -1 -1 0 0
Algoritmo Dual. Exemplo. 2º quadro.Passo 3: Determinar a variável básica que sai.
UDM - Operational Research
Docente: R. Fazenda 46
Existe algum xx5j5j < 0 < 0 na linha pivotal ?
→→ mínimo mínimo
zzj j
zzjj --ccjj
1 -3/2 -5/2 2 -1/2 0 00 25/2 47/2 -16 7/2 1 00 -11 -7 10 -2 0 1
10- 3525
x1x6x7
2 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
2002 -3 -5 4 -1 0 0
0 -10 -11 -1 -1 0 0
Há uma componente
negativa na linha pivotal, i.e., é
possível passar ao passo seguinte
do algoritmo
Há uma componente
negativa na linha pivotal, i.e., é
possível passar ao passo seguinte
do algoritmo
Algoritmo Dual. Exemplo: 2º Quadro. Passo 4: Teste de óptimo não finito para o dual,
problema impossível para o primal.
-1/-16= 1/16
mmínimoínimo ↑↑
→→ minimominimo
zzj j
zzjj --ccj j
1 -3/2 -5/2 2 -1/2 0 00 25/2 47/2 -16 7/2 1 00 -11 -7 10 -2 0 1
10- 3525
x1x6x7
2 0 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
2002 -3 -5 4 -1 0 0
0 -10 -11 -1 -1 0 0
Algoritmo Dual. Exemplo: 2º quadro.Passo 5: Determinar a variável não básica que entra.
UDM - Operational Research
Docente: R. Fazenda 47
Algoritmo Dual. Exemplo: 2º Quadro. Passo 6: Calcular nova SBP X2 .
SBP inicial X1 :
X1
B = (x1 , x6 , x7 )X1 = (10,0,0,0,0, -35, 25)
SBP inicial XX1 1 :
XX11
B B = (= (xx1 1 , , xx66 , , xx77 ))X1 = (10,0,0,0,0, -35, 25)
SBP X2 :
X2
B= ( x1 , x4 , x7 )X2 = ?
SBP XX2 2 :
XX22
BB= ( = ( xx11 , xx44 , xx77 )X2 = ?
x4 entra
x6 sai
A variável básica negativa que sai
A variável não básica que entra x4xx44
1ª1ª
2ª2ª
x6xx66
0 -25/32 -47/32 1 -7/32 -1/16 0 35/16
x1x4x7
2 5 0
zzj j zzjj --ccjj
x1x6x7
20 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
200
1 -3/2 -5/2 2 -1/2 0 00 25/2 47/2 -16 7/2 1 00 -11 -7 10 -2 0 1
10- 3525
2 -3 -5 4 -1 0 0
0 -10 -11 -1 -1 0 0
1 1/16 7/16 0 -1/16 1/8 0 45/8
0 -51/16 123/16 0 3/16 5/8 1 75/8
Algoritmo Dual. Exemplo: 2º Quadro.Passo 6. Calcular nova SBP X2.
UDM - Operational Research
Docente: R. Fazenda 48
os custos reduzidos são não positivos, i.e. a solução dual
complementar é admissível zzjj
zzjj --ccj j
x1x4x7
2 5 0
2 7 6 5 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66 xx77
cj
XXBBCCBB bb
355/16
0 -25/32 -47/32 1 -7/32 -1/16 0 35/16
1 1/16 7/16 0 -1/16 1/8 0 45/8
0 -51/16 123/16 0 3/16 5/8 1 75/8
Algoritmo Dual. Exemplo. Passo 1: Construir o 3º quadro Simplex correspondente
à nova SBP X2.
X2 = (45/8, 0, 0, 35/16, 0 , 0, 75/8 ).X2 = (45/8, 0, 0, 35/16, 0 , 0, 75/8 ).
0 -345/32 -399/32 0 -39/32 -1/16 0
2 -121/32 -207/32 4 -39/32 -1/16 0
X2
B= ( 45/8 , 35/16 ,75/8 )X2
B= ( 45/8 , 35/16 ,75/8 )
∃ xi ∈ X2B ,
tal quexi< 0 ?
Não FIMa solução é óptima !!!
X2 é admissível para o primal (SBAP), sendo a solução óptima para o primal.
A solução dual complementar Y2=CBB-1 é admissível para o dual (SBAD), sendo a solução óptima para o dual.
X2 é admissível para o primal (SBAP), sendo a solução óptima para o primal.
A solução dual complementar Y2=CBB-1 é admissível para o dual (SBAD), sendo a solução óptima para o dual.
Algoritmo Dual. Exemplo: 3º quadro.Passo 2: Teste de admissibilidade para a solução primal.
Existe alguma variável básica negativa?Existe alguma variável básica negativa?
UDM - Operational Research
Docente: R. Fazenda 49
Algoritmo Dual. Conclusões.•O Algoritmo Dual Simplex envolve:
– uma SBAD como ponto de partida à qual corresponde uma SBNAP;
– um mecanismo que determina a passagem para uma nova SBAD "melhor" do que a anterior;
– critérios de paragem que indicam se o problema primal tem óptimo finito (solução óptima) ou se o problema primal é impossível (neste caso o problema dual não tem óptimo finito).
A solução básica primal é
admissível?
Construir o quadro simplex correspondente a uma SBAD
complementar (todos os custos reduzidos não positivos)
FIM !!!FIM !!!a solução é óptima a solução é óptima
Mover-se para umaSBAD "melhor"
SimSim
NãoNão
Algoritmo Dual Simplex. Fluxograma Geral.
UDM - Operational Research
Docente: R. Fazenda 50
NãoNão
SimSim
Construir quadro correspondente a Construir quadro correspondente a uma uma SBAD complementarSBAD complementar
INÍCIOINÍCIOForma Padrão
A solução A solução básica básica primalprimalé admissível ?é admissível ?
FIMFIMa solução é óptima !!!
Calcular nova SBP.Actualizar quadro Calcular nova SBP.Actualizar quadro correspondente à nova correspondente à nova SBAD SBAD complementar.complementar.
Determinar a variável básica Determinar a variável básica negativa que sai danegativa que sai da SBNAPSBNAP
Óptimo não Óptimo não finito para o finito para o
dual ?dual ?
FIMFIMo primal é
impossível !!!
Determinar a variável não Determinar a variável não básica que entra para a básica que entra para a
SBNAPSBNAP
SimSim
Não
critério de admissibilidade para o dual:∀ j : cj-zj≤ 0
critério de admissibilidadepara o primal:
xi ≥ 0 , ∀ xi ∈ XB
critério de óptimo não finito para o dual
∀ j: xs j≥ 0
critério de saídamin { xi : xi < 0 , xi ∈ XB }= xsdeterminar a linha pivotal ss
Algoritmo Dual.
critério de entrada
min cj - zj : xsj < 0 xsj
determinar a coluna pivotal
Características Fundamentais do Percurso do Algoritmo Dual.
•O Algoritmo Dual Simplex envolve:– uma SBAD como ponto de partida à que corresponde uma SBNAP;– um mecanismo que determina a passagem para uma
nova SBAD "melhor" do que a anterior;– critérios de paragem que indicam se o problema tem óptimo finito ou se
o problema é impossível.
•Esta passagem de SBAD para SBAD deve verificar os seguintes objectivos:– ir eliminando as variáveis negativas da solução primal para poder
atingir, caso seja possível, uma solução primal admissível (SBAP), i.e., atingir a solução primal óptima;
– manter a admissibilidade da nova solução dual; – "melhorar" (ou pelo menos não piorar) o valor da f.o. dual até que seja
atingido o seu valor óptimo, ou se conclua que o problema dual não tem óptimo finito, sendo então o primal impossível.
UDM - Operational Research
Docente: R. Fazenda 51
se existir pelo menos uma variável básica negativa na solução primal
Considere o par de problemas primal-dual na forma canónica:
se verificar o critério de optimalidade, i,e, cj -zj ≤ 0 ∀j
Ver prova no capítulo 5.2,
relação 4
a solução primal é não admissível ( SBNAP )( SBNAP )
a solução dual complementar é admissível (SBAD)(SBAD)
Álgebra do Algoritmo Dual Simplex.
Maximizar
sujeito a
Xcz t=
bAX ≤0≥X
Problema Problema PrimalPrimal
Minimizar
sujeito a
Ybw t=
cYAt ≥livreY
Problema DualProblema Dual
Suponha xs0 < 0(a linha pivotalcorresponde à variável básica
negativa xs )
Quadro Simplex correspondente à uma SBNAP.
•Suponha:– uma base B constituída pelos primeiros m vectores P1 ,..., Pm e
que existe pelo menos uma variável básica negativa⇒ a solução primal é não admissível (SBNAP).SBNAP).
– o critério de optimalidade se verifica ( cj -zj ≤ 0 ∀j )⇒ a solução dual complementar é admissível(SBAD)(SBAD)
XXBB
zzzzj j
ccjj --zzjj
CCBB bbccj j cc1 1 ...... ccss ...... ccm m … … ccj j …… ccr r …… ccnn
xx1 1 ...... xxss ...... xxm m … … xxj j …… xxr r … … xxnn1 ... 0 ... 0 ... x1j ... x1r ... x1n
…
0 ... 1 ... 0 ... xsj ... xsr ... xsn
0 ... 0 ... 1 ... xmj ... xmr ... xmn
xx11
xxss
xxmm
cc11
ccss
ccmm
0 ... 0 ... 0 ... cj -zj...cr –zr ... cn-zn
c1 ... cs ... cm ... zj ... zr ... zn
x10
xs0 < 0
xm0
XXBB
zzzzj j
ccjj --zzjj
CCBB bbbbccj j cc1 1 ...... ccss ...... ccm m … … ccj j …… ccr r …… ccnn
xx1 1 ...... xxss ...... xxm m … … xxj j …… xxr r … … xxnn1 ... 0 ... 0 ... x1j ... x1r ... x1n
…
0 ... 1 ... 0 ... xsj ... xsr ... xsn
0 ... 0 ... 1 ... xmj ... xmr ... xmn
xx11
xxss
xxmm
cc11
ccss
ccmm
0 ... 0 ... 0 ... cj -zj...cr –zr ... cn-zn
c1 ... cs ... cm ... zj ... zr ... zn
x10
xs0 < 0
xm0
UDM - Operational Research
Docente: R. Fazenda 52
0 00' →>
→<
→<=
srxx
x s
s
Critério de Entrada. Objectivo 1.
– se o pivot, xsr, é seleccionado entre os coeficientes negativos da linha pivotal, depois de calcular o novo quadro e dividir esta linha pelo pivot(um número negativo) obtém-se um valor positivo para a variável básica que entra
Critério de entrada:Critério de entrada:Seleccionar a coluna r onde se alcance o menor dos quocientes:
sr
rrsj
sj
jj
j xzcx
xzc −=
<
−
= 0min0θ
Objectivo 1Objectivo 1: : eliminar as variáveis negativas da solução primal..
se não existirem coeficientes negativos na linha pivotal, é impossível atingir um valor positivo para esta variável, i.e. nunca é atingida uma SBAP, sendo o primal impossível.
A escolha de θ0 como o mínimo dos quocientes garante a admissibilidade dual da nova solução .
Para verificar a admissibilidade dual da nova solução tem-se de verificar que para o novo quadro todos os custos reduzidos são não positivos.
Critério de Entrada. Objectivo 2.
Objectivo 2Objectivo 2: : Manter a admissibilidade da nova solução dual.
sr
rrsj
sj
jj
j xzcx
xzc −=
<
−
= 0min0θ
UDM - Operational Research
Docente: R. Fazenda 53
XXBB
zzzzj j
ccjj --zzj j
CCBB bbccj j cc1 1 ...... ccss ...... ccm m … … ccj j …… ccr r …… ccnn
xx1 1 ... ... xxss ...... xxm m … … xxj j …… xxr r … … xxnn1 ... 0 ... 0 ... x1j ... x1r ... x1n
…
0 ... 1 ... 0 ... xsj ... xsr ... xsn
0 ... 0 ... 1 ... xmj ... xmr ... xmn
xx11
xxss
xxmm
cc11
ccss
ccmm
0 ... 0 ... 0 ... cj -zj...cr –zr ... cn-zn
c1 ... cs ... cm ... zj ... zr ... zn
x10
xs0 < 0
xm0
XXBB
zzzzj j
ccjj --zzj j
CCBB bbbbccj j cc1 1 ...... ccss ...... ccm m … … ccj j …… ccr r …… ccnn
xx1 1 ... ... xxss ...... xxm m … … xxj j …… xxr r … … xxnn1 ... 0 ... 0 ... x1j ... x1r ... x1n
…
0 ... 1 ... 0 ... xsj ... xsr ... xsn
0 ... 0 ... 1 ... xmj ... xmr ... xmn
xx11
xxss
xxmm
cc11
ccss
ccmm
0 ... 0 ... 0 ... cj -zj...cr –zr ... cn-zn
c1 ... cs ... cm ... zj ... zr ... zn
x10
xs0 < 0
xm0
)()()( 'rr
sr
sjjjjj zc
xx
zczc −−−=−
Critério de Entrada: Objectivo 2.•Provar que para o novo quadro todos os custos reduzidos são não positivos, i.e., (cj -zj)' ≤ 0 ∀j:1º. Para os vectores da nova base os custos reduzidos
são nulos ,
•2º. Para os vectores fora da base (excepto j=r):
3º. Para o vector que sai da base PPss :
0)()( ' ≤−
−=−sr
rrss x
zczc
Para os casos 1 e 3 os custos reduzidos do novo quadro são não positivos.Falta apenas verificar se os custos reduzidos são também não positivos para os vectores fora da base (excepto Pr ).
Para os casos 1 e 3 os custos reduzidos do novo quadro são não positivos.Falta apenas verificar se os custos reduzidos são também não positivos para os vectores fora da base (excepto Pr ).
Os custos reduzidos para o novo quadro podem também ser
calculados pelaregra da estrela(PROVAR !!!).
Os custos reduzidos para o novo quadro podem também ser
calculados pelaregra da estrela(PROVAR !!!).
Caso 1: xsj ≥ 0Caso 1: xsj ≥ 0
0)( ≥− rrsr
sj zcxx
)()( 'jjjj zczc −≤−
0)( ≤− jj zc
0:, 0)( ' ≥∀≤− sjjj xjzc
0)(,0,0 ≤−<≥ rrsrsj zcxxcomo
como a solução anterior era dual admissível, então:
Para os vectores fora da base os custos reduzidos são não positivos?
Caso 2: xsj < 0Caso 2: xsj < 0
0:, 0)( ' <∀≤− sjjj xjzc
comosr
rrsj
sj
jj
j xzcx
xzc −=
<
−
= 0 min0θ
0:, <∀−
≤−
sjsj
jj
sr
rr xjx
zcx
zc
0:,0)()( <∀≤−−− sjrrsr
sjjj xjzc
xx
zc
do caso 1 e caso 2 pode concluir-se que a nova solução é também dual admissível
)()()( 'rr
sr
sjjjjj zc
xx
zczc −−−=− ≤ 0 ? rjBPj ≠∉ ,
multiplicando ambos os membros por xsj<0, obtém-se:
UDM - Operational Research
Docente: R. Fazenda 54
Procedendo à mudança de base obtém-se o novo valor da f.o. dual w’ :
soxww o' θ+=
0θ,0 00 ≥<sxww ≤'
A selecção da coluna r pelo critério exposto, garante que o valor da f.o. dual melhora (ou pelo menos não piora)?A selecção da coluna rr pelo critério exposto, garante que o valor da f.o. dual melhora (ou pelo menos não piora)?
Esta expressão exprime o valor da nova f.o. dual em função da
anterior e verifica que se escolher para sair a variável negativa com menor valorentão obtém-se um maior
decréscimo para o novo valor da f.o., o que fundamenta o critério
de saída
sorrsr
soB xwzc
xxbBcw 0
' θ )( 1 +=−+= −
Mudança de Base com Melhoria da F.O. Dual.
Minimizar w = 4 y1 + 12 y2 + 18 y3
sujeito a y1 + 3 y3 ≥ 3
2 y2 + 2 y3 ≥ 5
y1 , y2 , y3 ≥ 0
Algoritmo Dual aplicado ao Problema Dual do Exemplo Protótipo.
Minimizar w = 4 y1 + 12 y2 + 18 y3
sujeito a y1 + 3 y3 - y4 = 3
2 y2 + 2 y3 - y5 = 5
y1 , y2 , y3 , y4 , y5 ≥ 0
multiplicando por (-1) as equações obtém-se:
reduzindo à forma padrão
Minimizar w = 4 y1 + 12 y2 + 18 y3
sujeito a - y1 - 3 y3 + y4 = −3
- 2 y2 - 2 y3 + y5 = −5
y1 , y2 , y3 , y4 , y5 ≥ 0
UDM - Operational Research
Docente: R. Fazenda 55
-1 0 -3 1 0 0 -2 -2 0 1
-3-5
y4y5
0 0
4 12 18 0 0
000 0 0 0 0-4 -12 -18 0 0
0 12
y4y2
-1 0 -3 1 0 -30 1 1 0 -1/2 5/2
yy11 yy2 2 yy3 3 yy4 4 yy55 bbcj
YYBBCCBB
zzj j zzjj --ccjj
zzjjzzjj --ccjj
0 12 12 0 -6 3030
→→mínimo mínimo
verifica o critério de admissibilidade
para o dual :os custos reduzidos são não positivos
-12/-2= 6
↑↑ mminimoinimo-18/-2= 9
-4 0 -6 0 -6
Exemplo Protótipo.Algoritmo Dual aplicado ao Problema Dual.
Minimizar w = 4 y1 + 12 y2 + 18 y3
sujeito a - y1 - 3 y3 + y4 = −3
- 2 y2 - 2 y3 + y5 = −5
y1 , y2 , y3 , y4 , y5 ≥ 0
-1 0 -3 1 0 0 1 1 0 -1/2
-3
5/2
y4y2
0 12
4 12 18 0 0
30300 12 12 0 -6 -4 0 -6 0 -6
18 12
y3y2
1/3 0 1 -1/3 0 1-1/3 1 0 1/3 -1/2 3/2
yy11 yy2 2 yy3 3 yy4 4 yy5 5 bcj
YYBBCCBB
zzj j zzjj --ccj j
zzj j zzjj --ccj j
2 12 18 -2 -6 3636
→→ mínimo mínimo
↑↑ mmínimoínimo -6/-3= 2
-2 0 0 -2 -6
como as restrições foram multiplicadas por
–1, as variáveis de decisão primais
correspondem aos valores simétricos dos zj
nas colunas onde se encontrava a base
inicial
os valores simétricos
correspondem às variáveis de folga
do primal
A solução óptima é Y*=(0,3/2,1,0,0) A solução óptima é Y*=(0,3/2,1,0,0)
Exemplo Protótipo. Algoritmo Dual aplicado ao Problema Dual.
UDM - Operational Research
Docente: R. Fazenda 56
-1 0 -3 1 0 0 1 1 0 -1/2
-35/2
y4y2
0 12
4 12 18 0 0
30300 12 12 0 -6 -4 0 -6 0 -6
18 12
y3y2
1/3 0 1 -1/3 0 1-1/3 1 0 1/3 -1/2 3/2
yy11 yy2 2 yy3 3 yy4 4 yy5 5 bbcj
YYBBCCBB
zzj j zzjj --ccj j
zzj j zzjj --ccj j
yy11 yy2 2 yy3 3 yy4 4 yy5 5 bbbbcj
YYBBCCBB
zzj j zzjj --ccj j
zzj j zzjj --ccj j
cj
YYBBCCBB
zzj j zzjj --ccj j
zzj j zzjj --ccj j
2 12 18 -2 -6 3636
↑↑ mminimoinimo
-2 0 0 -2 -6
y1y2
4 12
4 12 18 0 0 0
4242 4 12 24 -4 -6 60 0 6 -4 -6 6
18 12
y3y2
1 0 3 -1 0 0 30 1 1 0 -1/2 1/2 5/2
zzjjzzj j -c-cjj
bbcj
YYBBCCBByy11 yy2 2 yy33 yy4 4 yy5 5 yy66
zzjjzzj j -c-cjj
2 12 18 -2 -6 6
-2 0 0 -2 -6
3636
1/3 0 1 -1/3 0 0 1
-1/3 1 0 1/3 -1/2 1/2 3/2
A solução óptima é Y*=(0,3/2,1,0,0) com w*=36 A solução óptima é Y*=(0,3/2,1,0,0) com w*=36
Problema Dual do Exemplo Protótipo. Quadros Simplex Óptimos.
3636
3030
PrimalPrimal Dualz, wsupersuper--óptimaóptima subsub--óptimaóptima
subsub--óptimaóptima supersuper--óptima óptima
Algoritmo dual
aplicado ao dual
Algoritmo dual
aplicado ao primal
Algoritmo primal
aplicado ao primal
Algoritmo primal
aplicado ao dualSBAD Y0 = ( 3,5/2,0,0,0 )SBAD Y0 = ( 3,5/2,0,0,0 )4242SBNAP X0 = ( 4,6,0, 0,-6)SBNAP X0 = ( 4,6,0, 0,-6)
SBAD Y* = ( 0,3/2,1,0,0 )SBAD Y* = ( 0,3/2,1,0,0 )SBAP X* = ( 2,6,2, 0,0)SBAP X* = ( 2,6,2, 0,0) z*=w*=36óptimaóptima
SBNAD Y0 = ( 0,0,0,-3,-5 )SBNAD Y0 = ( 0,0,0,-3,-5 )SBAP X0 = ( 0,0,4,2,18)SBAP X0 = ( 0,0,4,2,18)
SBNAD Y1 = ( 0,5/2,0,-3,0 )SBNAD Y1 = ( 0,5/2,0,-3,0 )SBAP X1 = ( 0,6,4,0,6)SBAP X1 = ( 0,6,4,0,6)
00
O percurso do algoritmo primal(dual) aplicado ao problema
primal(dual)
O percurso do algoritmo primal(dual) aplicado ao problema
primal(dual)
O percurso do algoritmo dual (primal) aplicado
ao problema dual (primal)
O percurso do algoritmo dual (primal) aplicado
ao problema dual (primal)
Percurso dos Algoritmos Primal e Dual Simplex aplicados ao Par de Problemas P-D do Exemplo Protótipo
UDM - Operational Research
Docente: R. Fazenda 57
Vantagem: Particularmente útil na resolução de problemas de minimizaçãocom restrições do tipo (≥),não existindo qualquer restrição quanto ao sinal dos bi..
Vantagem:Vantagem: Particularmente útil na resolução de problemas de minimizaçãocom restrições do tipo (≥),não existindo qualquer restrição quanto ao sinal dos bi..
Limitação: Alterações posteriores nos parâmetros exigem, em muitos casos, a resolução do problema a partir do início.
Limitação:Limitação: Alterações posteriores nos parâmetros exigem, em muitos casos, a resolução do problema a partir do início.
Vantagem: Alterações posteriores nos parâmetros dispensa a resolução a partir do início. É muito útil no análise de sensibilidade e pós-optimização.
Vantagem:Vantagem: Alterações posteriores nos parâmetros dispensa a resolução a partir do início. É muito útil no análise de sensibilidade e pós-optimização.
Limitação: Como os termos independentes estão restringidos ( bi ≥ 0 ) , raramente dispensa a técnica das variáveis artificiais, particularmente na resolução dos problemas de minimizaçãocom restrições do tipo (≥) .
Limitação:Limitação: Como os termos independentes estão restringidos ( bi ≥ 0 ) , raramente dispensa a técnica das variáveis artificiais, particularmente na resolução dos problemas de minimizaçãocom restrições do tipo (≥) .
Primal Simplex vs Dual Simplex.
Primal Simplex vs Dual Simplex.
Início: uma SBAPInício:Início: uma SBAP
Iteração:move-se de SBAP em SBAP com melhoria da f.o. primal
Iteração:Iteração:move-se de SBAP em SBAP com melhoria da f.o. primal
Critérios de paragem:1º. se verifica o critério deoptimalidade, então o problema tem óptimo finito.2º. se não existe nenhuma componente positiva na coluna pivotal,então o problema não tem óptimo finito.
Critérios de paragem:Critérios de paragem:1º. se verifica o critério deoptimalidade, então o problema tem óptimo finito.2º. se não existe nenhuma componente positiva na coluna pivotal,então o problema não tem óptimo finito.
Início: uma SBAD à quecorresponde uma SBNAPInício:Início: uma SBAD à quecorresponde uma SBNAP
Iteração:move-se de SBAD para SBAD com melhoria da f.o. dual.
Iteração:Iteração:move-se de SBAD para SBAD com melhoria da f.o. dual.
Critérios de paragem:1º. se atinge uma solução
admissível primal, então o problema tem óptimo finito.2º. se não existe nenhuma componente negativa na linha pivotal, então o problema é impossível.
Critérios de paragem:Critérios de paragem:1º. se atinge uma solução
admissível primal, então o problema tem óptimo finito.2º. se não existe nenhuma componente negativa na linha pivotal, então o problema é impossível.
UDM - Operational Research
Docente: R. Fazenda 58
Capítulo 5: Dualidade5.5.Interpretação económica.
– Problema dual: preços sombra e perdas de oportunidade.
– Propriedade dos desvios complementares
Formulação do Problema de PL em termos de Actividades.Exemplo Protótipo.
Maximizar Z=3x1+ 5 x2
sujeito a
x 1, x 2 , x 3 , x 4 , x 5 ≥ 0
103
022
100
010
001
41218
x1 + x2 + x3 + x4 + x5 =
Actividade PrincipalP1- produção de
portas por minuto
Actividade PrincipalP2- produção de
janelas por minuto
Actividade AuxiliarP3- não utilização da
capacidade de produção da secção 1 por minuto
Actividade AuxiliarP4- não utilização da
capacidade de produção da secção 2 por minuto
Actividade AuxiliarP5- não utilização da
capacidade de produção da secção
3 por minuto
As variáveis xxjjcorrespondem aos níveis
das actividades
UDM - Operational Research
Docente: R. Fazenda 59
Exemplo Protótipo. Problema Primal.Interpretação Económica das Variáveis.
•variáveis de decisão:– x1 - nível de produção de portas por minuto;– x2 - nível de produção de janelas por minuto;
•unidade de medida: unidade físicavariáveis de folga:– x3 - capacidade de produção não utilizada na 1ª secção,
por minuto;– x4 - capacidade de produção não utilizada na 2ª secção,
por minuto;– x5 - capacidade de produção não utilizada na 3ª secção,
por minuto;•unidade de medida: unidade física
•função objectivo → max:
Maximizar Maximizar o lucro total por minuto.unidade de medida: unidade monetária (Euros)
y1 + 3 y3 ≥ 3yy1 1 + + 33 yy33 ≥≥ 33
minimizar w = 4 y1 + 12 y2 + 18 y3minimizar w = minimizar w = 4 4 yy1 1 ++ 1212 yy2 2 ++ 1818 yy33
y1 , y2 , y3 ≥ 0 yy1 1 , yy2 2 , yy3 3 ≥ 0 0
As variáveis de decisão duais yy1 1 , y, y2 2 , y, y33
são valorizações unitárias a atribuir a cada recurso e podem ser interpretadas
como a contribuição ao lucro total por cada unidade de recurso i utilizada.
Estes são preços internos, também designados como
preços sombra
o valor da f.o. traduz o valor total atribuído
aos recursos
2 y2 + 2 y3 ≥ 52 2 yy2 2 + + 22 yy33 ≥≥ 55
Interpretação Económica do Problema Dual. Preços Sombras.
UDM - Operational Research
Docente: R. Fazenda 60
642 x1
2
4
6
8
x2
x 1 = 4
x 2 = 6
3x 1 + 2 x 2 = 18
Região de admissibilidade x 1 = 5
z*= 3x 1 + 5 x 2 = 36
y1* = 0
Se incrementar a capacidade de produção da secção 1 em 1 unidade ( b 1 = 5 ) o valor óptimo
( z*=36 ) não muda.Este recurso é abundante
( "gratis")
yy11** = 0= 0
Se incrementar a capacidade de produção da secção 1 em 1 unidade ( b 1 = 5 ) o valor óptimo
( z*=36 )( z*=36 ) não mudanão muda.Este recurso é abundante
( "gratis")
X*=(2, 6)
Exemplo Protótipo: Recurso 1.Preços Sombras. Representação Gráfica.
642 x1
2
4
6
8
x2
x 1 = 4
x 2 = 12/2=6
3x 1 + 2 x 2 = 18Região de admissibilidade
z*= 3x 1 + 5 x 2 = 36
y2* =3/2
Se incrementar a capacidade de
produção da secção 2 em 1 unidade
( b 2 = 13 ) o valor óptimo será
incrementado em 3/2 Euros ( z*=37 ½ ).
Este recurso é escasso.
yy22** =3/2=3/2
Se incrementar a capacidade de
produção da secção 2 em 1 unidade
( b 2 = 13 ) o valor óptimo será
incrementado em 3/2 Euros ( z*=37 ½ )( z*=37 ½ )..
Este recurso é escasso.escasso.
x 2 = 13/2
z*= 3x 1 + 5 x 2 = 37 1/2
X*=(5/3, 13/2)
Exemplo Protótipo: Recurso 2.Preços Sombras. Representação Gráfica.
UDM - Operational Research
Docente: R. Fazenda 61
642 x1
2
4
6
8
x2
x 1 = 4
x 2 = 12/2=6
3x 1 + 2 x 2 = 19
Região das soluções admissíveis
z*= 3x1 + 5 x2 = 36
y3* =1
Se incrementar a capacidade de
produção da secção 3 em 1 unidade
( b3 = 19) o valor óptimo será
incrementado em 1Euro( z*=37 ) .
Este recurso é escasso.
yy33** =1=1
Se incrementar a capacidade de
produção da secção 3 em 1 unidade
( ( bb33 = 19)= 19) o valor óptimo será
incrementado em 1Euro( z*=37 ) .( z*=37 ) .
Este recurso é escasso.escasso.
z*= 3x1 + 5 x2 = 37
X*=(7/3, 6)
Exemplo Protótipo. Recurso 3.Preços Sombras. Representação Gráfica.
y1 + 3 y3 ≥ 3yy1 1 + + 33 yy33 ≥≥ 33
Restrições Funcionais Duais. Interpretação Económica.
esta restrição significa que a valorização interna atribuída aos
recursos gastos na produção de uma porta não deve ser inferior ao seu respectivo lucro unitário: 3 Euros
esta restrição significa que a valorização interna atribuída aos
recursos gastos na produção de uma porta não deve ser inferior ao seu respectivo lucro unitário: 3 Euros
Se y1 e y3 são os preços sombra em Euros ( “ custo” , valorização interna),dos recursos 1 e 3 respectivamente, e sabendo que
a produção de uma porta gasta 1 unidade de produção da secção 1 e3 unidades de produção da secção 3 então
a expressão y1 + 3 y3 pode ser interpretada como a valorização interna (“custo interno”) em Euros atribuída
aos recursos gastos para produzir uma porta. Como 3 Euros é o lucro unitário duma porta, é evidente que no plano óptimo se a
produção duma porta está activada até um nível positivo é porquese verifica a igualdade (equilíbrio), i.e. “custo interno = lucro”.
Caso contrário se o “custo interno > lucro” não é economicamente rentávelactivar esta actividade, i.e., não se produziriam portas.
Se yy1 1 e yy3 3 são os preços sombra em Euros ( “ custo” , valorização interna),dos recursos 1 e 3 respectivamente, e sabendo que
a produção de uma porta gasta 1 unidade de produção da secção 1 e3 unidades de produção da secção 3 então
a expressão yy1 1 + + 33 yy33 pode ser interpretada como a valorização interna (“custo interno”) em Euros atribuída
aos recursos gastos para produzir uma porta. Como 3 Euros é o lucro unitário duma porta, é evidente que no plano óptimo se a
produção duma porta está activada até um nível positivo é porquese verifica a igualdade (equilíbrio), i.e. “custo interno = lucro”.
Caso contrário se o “custo interno > lucro” não é economicamente rentávelactivar esta actividade, i.e., não se produziriam portas.
UDM - Operational Research
Docente: R. Fazenda 62
Restrições Funcionais Duais. Interpretação Económica.
2 y2 + 2 y3 ≥ 52 2 yy2 2 + + 22 yy33 ≥≥ 55 esta restrição significa que a valorização interna atribuída aos
recursos gastos na produção de uma janela não deve ser inferior ao seu respectivo lucro unitário: 5 Euros,
esta restrição significa que a valorização interna atribuída aos
recursos gastos na produção de uma janela não deve ser inferior ao seu respectivo lucro unitário: 5 Euros,
Se y2 e y3 são os preços sombra em Euros ( “ custo” , valorização interna),dos recursos 2 e 3 respectivamente, e sabendo que
a produção de uma janela gasta 2 unidades de produção da secção 2 e2 unidades de produção da secção 3 então
a expressão 2 y2 + 2 y3 pode ser interpretada como a valorização interna (“custo interno”) em Euros atribuída
aos recursos gastos para produzir uma janela. Como 5 Euros é o lucro unitário duma janela, é evidente que no plano óptimo
se a produção duma porta está activada até um nível positivo é porque se verifica a igualdade (equilíbrio), i.e. “custo interno = lucro”.
Caso contrário se o “custo interno > lucro” não é economicamente rentávelactivar esta actividade, i.e., não se produziriam janelas.
Se yy2 2 e yy3 3 são os preços sombra em Euros ( “ custo” , valorização interna),dos recursos 2 e 3 respectivamente, e sabendo que
a produção de uma janela gasta 2 unidades de produção da secção 2 e2 unidades de produção da secção 3 então
a expressão 22 yy2 2 + + 22 yy33 pode ser interpretada como a valorização interna (“custo interno”) em Euros atribuída
aos recursos gastos para produzir uma janela. Como 5 Euros é o lucro unitário duma janela, é evidente que no plano óptimo
se a produção duma porta está activada até um nível positivo é porque se verifica a igualdade (equilíbrio), i.e. “custo interno = lucro”.
Caso contrário se o “custo interno > lucro” não é economicamente rentávelactivar esta actividade, i.e., não se produziriam janelas.
y1 , y2 , y3 ≥ 0yy1 1 , yy2 2 , yy3 3 ≥ 00
Restrições Duais de Não Negatividade.
Interpretação Económica.
estas restrições significam que a valorização unitária (preço sombra, “custo” interno) dos recursos
deve ser não negativa,caso contrário,
a utilização deste recurso não seria rentável, pelo que
seria melhor não utilizar este recurso no absoluto.
estas restrições significam que a valorização unitária (preço sombra, “custo” interno) dos recursos
deve ser não negativa,caso contrário,
a utilização deste recurso não seria rentável, pelo que
seria melhor não utilizar este recurso no absoluto.
UDM - Operational Research
Docente: R. Fazenda 63
y4 = y1 + 3 y3 - 3yy4 4 = y= y1 1 + + 33 yy33 -- 33a variável de folga y4 representa
a perda de oportunidade da produção de uma porta, i.e.,
a diferença entre a valorização interna atribuída
aos recursos gastos(“custo interno”) na fabricação
duma porta e o seu lucro unitário.
a variável de folga yy4 4 representa a perda de oportunidade
da produção de uma porta, i.e.,a diferença entre
a valorização interna atribuída aos recursos gastos
(“custo interno”) na fabricação duma porta
e o seu lucro unitário.
Se a variável de folga é positiva significa que “custo interno > lucro” pelo que não é economicamente rentável activar esta actividade, i.e.,
há perda de oportunidade da produção duma porta, caso contrário se a variável de folga é nula, a restrição é de igualdade, i.e.,
“custo interno = lucro” pelo que é economicamente rentávelactivar esta actividade e a perda de oportunidade é nula.
Se a variável de folga é positiva significa que “custo interno > lucro” pelo que não é economicamente rentável activar esta actividade, i.e.,
há perda de oportunidade da produção duma porta, caso contrário se a variável de folga é nula, a restrição é de igualdade, i.e.,
“custo interno = lucro” pelo que é economicamente rentávelactivar esta actividade e a perda de oportunidade é nula.
Variáveis de Folga Duais. Interpretação Económica
a variável de folga y5 representaa perda de oportunidade
da produção de uma janela, i.e.,a diferença entre
a valorização interna atribuída aos recursos gastos
na fabricação duma janelae o seu lucro unitário.
a variável de folga yy5 5 representaa perda de oportunidade
da produção de uma janela, i.e.,a diferença entre
a valorização interna atribuída aos recursos gastos
na fabricação duma janelae o seu lucro unitário.
y5 = 2 y2 + 2 y3 - 5yy5 5 = = 2 2 yy2 2 + + 22 yy33 - 55
Variáveis de Folga Duais. Interpretação Económica.
Se a variável de folga é positiva significa que “custo interno > lucro” pelo que não é economicamente rentável activar esta actividade, i,e,
há perda de oportunidade da produção duma janela, caso contrário se a variável de folga é nula, a restrição é de igualdade, i.e.,
“custo interno = lucro” pelo que é economicamente rentávelactivar esta actividade e a perda de oportunidade é nula.
Se a variável de folga é positiva significa que “custo interno > lucro” pelo que não é economicamente rentável activar esta actividade, i,e,
há perda de oportunidade da produção duma janela, caso contrário se a variável de folga é nula, a restrição é de igualdade, i.e.,
“custo interno = lucro” pelo que é economicamente rentávelactivar esta actividade e a perda de oportunidade é nula.
UDM - Operational Research
Docente: R. Fazenda 64
y1* = 0yy11
** = 0= 0 Se incrementarmos a capacidade de produção da secção 1 em 1 unidade, o valor da f.o. (lucro) não
é alterado.
Se incrementarmos a capacidade de produção da secção 1 em 1 unidade, o valor da f.o. (lucro) não
é alterado.
Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=(2,6,2,0,0)(2,6,2,0,0) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=((00,,3/23/2,,11,0,0 ),0,0 )z*= w*=36zz**= = ww**=36=36
y2* = 3/2yy22
** = 3/2= 3/2
y3* = 1yy33
** = 1= 1
Se incrementarmos a capacidade de produção da secção 2 em 1 unidade, o valor da f.o. (lucro) é
incrementado em 3/2 Euros
Se incrementarmos a capacidade de produção da secção 2 em 1 unidade, o valor da f.o. (lucro) é
incrementado em 3/2 Euros
Se incrementarmos a capacidade de produção da secção 3 em 1 unidade, o valor da f.o. (lucro) é
incrementado em 1 Euro.
Se incrementarmos a capacidade de produção da secção 3 em 1 unidade, o valor da f.o. (lucro) é
incrementado em 1 Euro.
Exemplo Protótipo. Variáveis de Decisão Duais. Interpretação Económica: Preços Sombras.
y4* = 0yy44
** = 0= 0 A perda de oportunidade da produção de uma porta por minuto é nula, obviamente se fosse
positiva não eram produzidas portas
A perda de oportunidade da produção de uma porta por minuto é nula, obviamente se fosse
positiva não eram produzidas portas
y5* = 0yy55
** = 0= 0 A perda de oportunidade da produção de uma janela por minuto é nula, obviamente se fosse
positiva não eram produzidas janelas
A perda de oportunidade da produção de uma janela por minuto é nula, obviamente se fosse
positiva não eram produzidas janelas
Exemplo Protótipo.Variáveis de Folga Duais.Interpretação Económica: Perda de oportunidade
Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=(2,6,2,0,0)(2,6,2,0,0) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=(0,3/2,1,(0,3/2,1,0,00,0 ))z*= w*=36zz**= = ww**=36=36
UDM - Operational Research
Docente: R. Fazenda 65
Exemplo Protótipo. Problema Dual.Interpretação Económica das Variáveis.
•variáveis de decisão: – y1 - preço sombra da capacidade de produção da secção 1– y2 - preço sombra da capacidade de produção da secção 2 – y3 - preço sombra da capacidade de produção da secção 3
•unidade de medida: unidade monetária (Euros)•variáveis de folga:
– y4 - perda de oportunidade da produção duma porta – y5 - perda de oportunidade da produção duma janela
•unidade de medida: unidade monetária (Euros)•função objectivo → min:
Minimizar a valorização interna total dos recursos gastos pelasactividades
•unidade de medida: unidade monetária (Euros)
1º. Se a variável de decisão do primal é positiva então a variável de folga correspondente do dual é nula.
1º.1º. Se a variável de decisão do primal é positiva então a variável de folga correspondente do dual é nula.
Sempre que uma actividade j seja activada a um nível estritamente positivo, a valorização interna atribuída aos
recursos que utiliza deve ser igualao lucro unitário que se obtém dessa actividade, i.e.,a perda de oportunidade para esta actividade é nula
Sempre que uma actividade j seja activada a um nível estritamente positivo, a valorização interna atribuída aos
recursos que utiliza deve ser igualao lucro unitário que se obtém dessa actividade, i.e.,a perda de oportunidade para esta actividade é nula
pela propriedade de desvios complementares
0* >jx 0* =+ jmy
jmjmjj cyayaya =+++ **22
*11 ...0* >jx
as variáveis são das soluções
óptimas X* e Y*
as variáveis são das soluções
óptimas X* e Y*
Propriedade dos Desvios Complementares.
Interpretação Económica.
Se interpretar a valorização interna atribuída aos recursos gastos numa
actividade como um “custo interno”, esta restrição significa que “custo=lucro”, pelo que é
rentável que esta actividade esteja activada a um nível positivo.
UDM - Operational Research
Docente: R. Fazenda 66
2º. Se a variável de folga do dual é positiva então avariável de decisão correspondente do primal é nula.
2º.2º. Se a variável de folga do dual é positiva então avariável de decisão correspondente do primal é nula.
as variáveis são das soluções
óptimas X* e Y*
as variáveis são das soluções
óptimas X* e Y*
0* =jx
jmjmjj cyayaya >+++ **22
*11 ...
0* >+ jmy
0* >+ jmy
Se a valorização interna atribuída aos recursos gastos numa actividade j é maior do que o seu lucro unitário, então com a activação dessa actividade não se está a fazer uma utilização
óptima destes recursos, i.e., essa actividade não é rentável pelo que não deve ser activada .
Se a valorização interna atribuída aos recursos gastos numa actividade j é maior do que o seu lucro unitário, então com a activação dessa actividade não se está a fazer uma utilização
óptima destes recursos, i.e., essa actividade não é rentável pelo que não deve ser activada .
pela propriedade de desvios complementares
Propriedade dos Desvios Complementares.Interpretação Económica.
Se interpretar a valorização interna atribuída aos recursos gastos numa actividade como
um “custo interno”, esta restrição significa que
custo>lucro, pelo que não é rentável activar esta actividade
3º. Se a variável de folga do primal é positiva então a variável de decisão do dual é nula.
3º.3º. Se a variável de folga do primal é positiva então a variável de decisão do dual é nula.
0* =iy0* >+inx
ininii bxaxaxa <+++ **22
*11 ...
Se a capacidade não utilizada do recurso i é positiva, então a valorização interna (preço sombra) deste recurso é nula, i.e., este recurso é abundante ("mercadoria grátis") , o preço das mercadorias que estão em excesso, deve cair até zero por lei da oferta-procura.
0* >+inx
1,…m,0)( ** =∀=− iXPby iii
pela propriedade de desvios complementares
Propriedade dos Desvios Complementares.Interpretação Económica.
Esta restrição não está saturada, i.e., que este recurso não está esgotado, é abundante
UDM - Operational Research
Docente: R. Fazenda 67
4º. Se a variável de folga do primal é nula entãoa variável de decisão do dual é positiva.
4º.4º. Se a variável de folga do primal é nula entãoa variável de decisão do dual é positiva.
0* >iy0* =+inx
ininii bxaxaxa =+++ **22
*11 ...
Se a capacidade não utilizada do recurso i é nula, então a valorização interna (preço sombra) deste recurso é positiva, i.e., este recurso é escasso ("não há sobras“).Por cada unidade extra que seja incrementada este recurso i, obtém-se um incremento de yi
* na f.o. (lucro total) .
Se a capacidade não utilizada do recurso i é nula, então a valorização interna (preço sombra) deste recurso é positiva, i.e., este recurso é escasso ("não há sobras“).Por cada unidade extra que seja incrementada este recurso i, obtém-se um incremento de yi
* na f.o. (lucro total) .
0* =+inx
1,…m,0)( ** =∀=− iXPby iii
pela propriedade de desvios complementares
Propriedade dos Desvios Complementares.Interpretação Económica.
Como a variável de folga é nula, esta restrição está saturada, i.e.,
este recurso está esgotado, é escasso
variáveis de decisãovariáveis de decisão
x1= 2xx11= = 22 y4= 0yy44= = 00
x2= 6xx22= = 66 y5= 0yy55= = 00
x3= 2xx33= = 22 y1= 0yy11= = 00
variáveis de folgavariáveis de folga
variáveis de folgavariáveis de folga variáveis de decisãovariáveis de decisão
x4= 0xx44= = 00 y2= 3/2yy22= = 3/23/2
x5= 0xx55= = 00 y3= 1yy33= = 11
os produtos das variáveis de decisão do
primal pelas correspondentes
variáveis de folga do dual são nulos
os produtos das variáveis de decisão do
primal pelas correspondentes
variáveis de folga do dual são nulos
os produtos das variáveis de decisão do dual pelas
correspondentes variáveis de folga do primal são nulos
os produtos das variáveis de decisão do dual pelas
correspondentes variáveis de folga do primal são nulos
Propriedade dos Desvios Complementares.Interpretação Económica. Exemplo Protótipo.
Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=((22,,66,,2,0,02,0,0)) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=((0,3/2,10,3/2,1,,0,00,0 ))
UDM - Operational Research
Docente: R. Fazenda 68
x1* . y4
*= 0xx11** .. yy44
**= = 00 2 . 0 =02 . 02 . 0 =0=0
Devem ser produzidas 2 portas por minuto, sendo a valorização interna dos recursos gastos
na fabricação de uma porta igual ao seu lucro unitário,pelo que é rentável produzir 2 portas ,i.e.,
a perda de oportunidade é nula.Caso a perda de oportunidade fosse positiva,
logicamente não se produziriam portas.
Devem ser produzidas 2 portas por minuto, sendo a valorização interna dos recursos gastos
na fabricação de uma porta igual ao seu lucro unitário,pelo que é rentável produzir 2 portas ,i.e.,
a perda de oportunidade é nula.Caso a perda de oportunidade fosse positiva,
logicamente não se produziriam portas.
Propriedade dos Desvios Complementares.
Interpretação Económica. Exemplo Protótipo.Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=((22,,66,,2,0,02,0,0)) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=((0,3/2,10,3/2,1,,0,00,0 ))
Devem ser produzidas 6 janelas por minuto, sendo a valorização interna dos recursos gastos
na fabricação de uma janela igual ao seu lucro unitário,pelo que é rentável produzir 6 janelas ,i.e.,
a perda de oportunidade é nula.Caso a perda de oportunidade fosse positiva,
logicamente não se produziriam janelas.
Devem ser produzidas 6 janelas por minuto, sendo a valorização interna dos recursos gastos
na fabricação de uma janela igual ao seu lucro unitário,pelo que é rentável produzir 6 janelas ,i.e.,
a perda de oportunidade é nula.Caso a perda de oportunidade fosse positiva,
logicamente não se produziriam janelas.
Propriedade dos Desvios Complementares.Interpretação Económica. Exemplo Protótipo.
x2* . y5
*= 0xx22** .. yy55
**= = 00 6 . 0 = 06 . 06 . 0 = 0= 0
Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=((22,,66,,2,0,02,0,0)) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=((0,3/2,10,3/2,1,,0,00,0 ))
UDM - Operational Research
Docente: R. Fazenda 69
A valorização interna (preço sombra) da capacidade de produção da secção 1 por minuto é nula, pelo
facto deste ser um recurso abundante,do qual sobram 2 unidades da capacidade de produção. ( a capacidade de produção não utilizada da secção 1
é igual a 2 unidades )
A valorização interna (preço sombra) da capacidade de produção da secção 1 por minuto é nula, pelo
facto deste ser um recurso abundante,do qual sobram 2 unidades da capacidade de produção. ( a capacidade de produção não utilizada da secção 1
é igual a 2 unidades )
Propriedade dos Desvios Complementares.Interpretação Económica. Exemplo Protótipo.
Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=((22,,66,,2,0,02,0,0)) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=((0,3/2,10,3/2,1,,0,00,0 ))
x3* . y1
*= 0xx33** .. yy11
**= = 00 2 . 0 = 02 . 02 . 0 = 0= 0
A valorização interna (preço sombra) da capacidade de produção da secção 2 por minuto é positiva (igual a 3/2), pelo facto, deste ser
um recurso escasso, do qual não há sobras. ( a capacidade de produção da secção 2 está esgotada )
A valorização interna (preço sombra) da capacidade de produção da secção 2 por minuto é positiva (igual a 3/2), pelo facto, deste ser
um recurso escasso, do qual não há sobras. ( a capacidade de produção da secção 2 está esgotada )
A eventual disponibilidade adicional de 1 unidade da capacidade de produção na secção 2 por minuto possibilitaria um
incremento de 3/2 Euros no valor do lucro total
A eventual disponibilidade adicional de 1 unidade da capacidade de produção na secção 2 por minuto possibilitaria um
incremento de 3/2 Euros no valor do lucro total
Propriedade dos Desvios Complementares.Interpretação Económica. Exemplo Protótipo.
Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=((22,,66,,2,0,02,0,0)) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=((0,3/2,10,3/2,1,,0,00,0 ))
x4* . y2
*= 0xx44** .. yy22
**= = 00 0 . 3/2 = 00 . 3/20 . 3/2 = 0= 0
UDM - Operational Research
Docente: R. Fazenda 70
A valorização interna (preço sombra) da capacidade de produção da secção 3 por minuto é positiva (igual a 1), pelo facto, deste ser
um recurso escasso, do qual não há sobras. ( a capacidade de produção da secção 3 está esgotada )
A valorização interna (preço sombra) da capacidade de produção da secção 3 por minuto é positiva (igual a 1), pelo facto, deste ser
um recurso escasso, do qual não há sobras. ( a capacidade de produção da secção 3 está esgotada )
A eventual disponibilidade adicional de 1 unidade da capacidade de produção na secção 3 por minuto
possibilitaria um incremento de 1 Euro no valor do lucro total
A eventual disponibilidade adicional de 1 unidade da capacidade de produção na secção 3 por minuto
possibilitaria um incremento de 1 Euro no valor do lucro total
Propriedade dos Desvios Complementares.Interpretação Económica. Exemplo Protótipo.
Primal: X*=(2,6,2,0,0)PrimalPrimal:: X*=X*=((22,,66,,2,0,02,0,0)) Dual: Y*=(0,3/2,1,0,0 )Dual:Dual: Y*=Y*=((0,3/2,10,3/2,1,,0,00,0 ))
x5* . y3
*= 0xx55** .. yy33
**= = 00 0 . 1 = 00 . 10 . 1 = 0= 0
as variáveis de folgaprimais representam a
capacidade não utilizada dos recursos
as variáveis de folgaprimais representam a
capacidade não utilizada dos recursos
as variáveis de decisão duais representam os preços sombras dos
recursos
as variáveis de decisão duais representam os preços sombras dos
recursos
as variáveis de decisão primais representam os níveis das actividades
as variáveis de decisão primais representam os níveis das actividades
as variáveis de folgaduais representam a perda
de oportunidade das actividades
as variáveis de folgaduais representam a perda
de oportunidade das actividades
m recursosm recursosm recursos
n actividadesn actividadesn actividades
unidades físicas unidades monetárias
f.o.f.o.f.o. lucro total das actividades → maximizar
lucro total das actividades → maximizar
valorização interna total dos recursos gastos pelas actividades → minimizar
valorização interna total dos recursos gastos pelas actividades → minimizar
Par de problemas Primal - Dual.
Interpretação Económica. Problema Problema PrimalPrimal Problema DualProblema Dual
UDM - Operational Research
Docente: R. Fazenda 71
a1jy1+ a2j y2 +... +amj ym≥ cj ∀ j=1,…n aa1j1jyy11++ aa2j 2j yy2 2 +...+... ++aamj mj yymm≥ ccj j ∀∀ j=1,…n
minimizar w = b1y1+ b2y2 +... + bmymminimizar w = bminimizar w = b11yy11++ bb22yy2 2 +...+... ++ bbmmyymm
yi≥ 0 ∀ i=1,…m yyii≥ 0 0 ∀∀ i=1,…m
As n restrições duais estão associadas às
n actividades. Como a cada restrição dual
corresponde uma variável de folga dual, então as n
variáveis de folga duais estão
associadas àsn actividades
as m variáveis de decisão duais
estão associadas aos m recursos
Problema Dual. Restrições
Problema Dual. Função Objectivo.
•Das relações entre os problemas primal-dual sabe-se que a cada solução básica primal X corresponde uma solução básica dual complementar Y e que os valores das respectivas f.o. coincidem:
z = w = bz = w = b11yy11++ bb22yy2 2 +...+... ++ bbmmyymm
•Para este par de soluções básicas complementares X e Y :
– as variáveis duais yi - preços sombras- representam a valorização unitária a atribuir a cada recurso i.
– cada membro bbii yyii representa a contribuição para o lucro total z quando são gastas bbii unidades do recurso i.
UDM - Operational Research
Docente: R. Fazenda 72
complementaridade de slacks
Quadro Simplex Óptimo. Análise das Slacks Duais.
ym+j = zj - cj ≥ 0 , ∀ j= 1, …, nyymm+j+j = = zzj j -- ccj j ≥≥ 0 0 , , ∀∀ j= 1, …, nj= 1, …, n
cj - zj ≤ 0 , ∀ j= 1, …, nccjj -- zzjj ≤≤ 00 , ∀∀ j= 1, …, nj= 1, …, n
1º caso: ym+j = zj - cj = 01º caso:1º caso: yymm+j+j = = zzj j -- ccj j = 0= 0
a1jy1+ a2j y2 +... +amj ym= cjaa1j1jyy11++ aa2j 2j yy2 2 +...+... ++aamj mj yymm== ccjj
2º caso: ym+j = zj - cj > 02º caso:2º caso: yymm+j+j = = zzj j -- ccj j > 0> 0
a1jy1+ a2j y2 +... +amj ym > cjaa1j1jyy11++ aa2j 2j yy2 2 +...+... ++aamj mj yymm >> ccjj
a valorização interna dos recursos gastos na actividade j é igualé igual ao seu lucro unitário
No quadro simplex as variáveis de folgas duais são
simétricas aos custos reduzidos nas colunas correspondentes às n
variáveis de decisão primais
a perda de oportunidade da actividade jé nula
o nível da actividade j é positivo (está incluída no plano óptimo)
a valorização interna dos recursos gastos na actividade j é superioré superior ao seu lucro unitário
a perda de oportunidade da actividade j é positiva
o nível da actividade j é nulo (não está incluída no plano óptimo)
complementaridade de slacks
Quadro Simplex Óptimo. Preços Sombra.
yi ≥ 0 , ∀ i= 1, …,myyii ≥≥ 0 0 , , ∀∀ i= 1, …,mi= 1, …,m
Como no quadro óptimo todos os custos reduzidos são não positivos, a solução dual é admissível:
1º caso: yi = 01º caso:1º caso: yyi i = = 00 2º caso: yi > 02º caso:2º caso: yyi i > > 00
o preço sombra do recurso ié nulo
a capacidade não utilizada do recurso i é positiva
(o recurso é abundante )
o preço sombra do recurso ié positivo
a capacidade não utilizada do recursoi é nula
(o recurso é escasso )
No quadro simplex as variáveis de decisão duais
encontram-se na linha dos zjnas colunas correspondentes à matriz inicial identidade.
UDM - Operational Research
Docente: R. Fazenda 73
variáveis de folgas duais
ccnn+1 +1 … … ccnn+m+m
XXBB
z*z*zzj j
ccjj --zzjj
CCBB bbccj j cc1 1 cc22 ...... ccnn
xx1 1 xx22 ...... xxnn xxnn+1 +1 … … xxnn+m +m x11 x12 ... x1n…
xi1 xi2 ... xin
xm1 xm2 ... xmn
x1n+1 ... x1n+m…
xin+1 ... xin+m
xmn+1 ... xmn+m
_b1_bi_bn
xxBB11
xxBBii
xxBBmm
ccBB11
ccBBii
ccBBmm
c1 -z1 c2 -z2 … cn -zn cn+1 -zn+1 ... cn+m -zn+m
z1 z2 … zn y1 … ym
-ym+1 -ym+2 …. - ym+n
yymm+j+j = = zzj j -- ccj j < 0 < 0
ccj j -- zzj j = = -- yymm+j+j > 0> 0
ccj j -- zzj j = 0= 0 -- zznn+i+i > 0> 0
yyii = = zznn+i +i << 00
∃ j , j=1…n , tal que:
variáveis de decisão duais
ou, ∃ j , j=n+1…n+m , tal que:
Quadro Simplex. Mudança de Base.
Suponha-se que as colunas da base inicial correspondem às m variáveis de folgas
o quadro simplex não é óptimo, pelo que existe pelo
menos um custo reduzido positivo.
Mudança de Base. Análise das Slacks Duais.
Considere um plano não óptimo em que ∃ j : xj = 0, i.e., a actividade j não está incluída no plano, i,e., o seu nível é nulo.
Considere um plano não óptimo em que ∃ j : xj = 0, i.e., a actividade j não está incluída no plano, i,e., o seu nível é nulo.
1º caso: ym+j = zj - cj < 0 : a variável de folga dual correspondente é negativa
1º caso:1º caso: yymm+j+j = = zzj j -- ccj j < 0< 0 : a variável de folga dual correspondente é negativanegativa
a1jy1+ a2j y2 +... +amj ym< cjaa1j1jyy11++ aa2j 2j yy2 2 +...+... ++aamj mj yymm<< ccjj
2º caso: ym+j = zj - cj >0: a variável de folga dual correspondente é positiva
2º caso:2º caso: ym+j = zj - cj >0: a variável de folga dual correspondente é positivapositiva
a1jy1+ a2j y2 +... +amj ym > cjaa1j1jyy11++ aa2j 2j yy2 2 +...+... ++aamj mj yymm >> ccjj
a não activanão activaççãoão de uma unidade da actividade j implica uma perda de | yymm+j+j| no
valor do lucro total.
a perda de oportunidade da não activanão activaççãoãode uma unidade da actividade j
é igual a | yymm+j +j |
os recursos disponíveis seriam melhor utilizados se fosse activadase fosse activada esta
actividade ao nível máximo possível.
a activaactivaççãoão de uma unidade da actividade j implica uma perda de yymm+j +j no valor
do lucro total.
a perda de oportunidade da activaactivaççãoãode uma unidade da actividade j
é igual a yymm+j+j
os recursos já estão sendo gastos noutras actividades de forma mais vantajosa e não não devem ser desviadosdevem ser desviados para esta actividade
Candidato a entrar na base
UDM - Operational Research
Docente: R. Fazenda 74
Mudança da Base. Análise dos Preços Sombras.
Considere um plano não óptimo em que ∃ i : xn+i = 0 .Como a variável de folga xn+i é nula,
então o recurso i está esgotado ( é escasso )
Considere um plano não óptimo em que ∃ i : xn+i = 0 .Como a variável de folga xn+i é nula,
então o recurso i i está esgotado ( é escasso )
1º caso:1º caso: yyii = = zznn+i +i < 0< 0 :o preço sombra do recurso i é negativonegativo
2º caso:2º caso: yi = zn+i >0: o preço sombra do recurso i é positivopositivo
deve ser diminuser diminuíídada a utilização deste recurso até que a sua contribuição por
unidade para o lucro total (preço sombra) seja não negativa.
o valor da variável de folga correspondente deve ser incrementado de
zero a um valor positivo, i.e., o recurso i deixa de ser escasso.
como a sua contribuição para o lucro total éé positivapositiva é vantajosovantajoso continuar a utilizar este recurso ao máximo da sua
disponibilidade
o valor da variável de folga correspondente
não deve ser incrementado
Candidato a entrar na base
O objectivo do Algoritmo Primal Simplex é procurar um modo de utilizar os recursos disponíveis da forma mais vantajosa (óptima) possível .
Isto significa, atingir uma SBAP, que verifique o critério de optimalidade
Isto significa, que a SBNAD complementar atinja uma SBAD, que verifique as restrições do problema dual
Economicamente, isto significa atingir a utilização mais vantajosa (óptima) para todos os recursos disponíveis.
Interpretação Económica do Primal Simplex.
UDM - Operational Research
Docente: R. Fazenda 75
Interpretação Económica do Primal Simplex.
•O que faz o Algoritmo Primal Simplex é analisar todas as variáveis não básicas da SBAP em curso, para determinar se existe alguma que possa proporcionar uma utilização mais vantajosa dos recursos ao ser incrementado o seu valor de zero a um valor positivo.
– Se nenhuma variável não básica está em condições de substituir uma das variáveis básicas, i.e., nenhuma re-distribuição na utilização dos recursos garante uma melhoria do lucro, então a solução actual éóptima.
– Caso contrário,se existe uma ou mais variáveis em condições de melhorar a rentabilidade dos recursos, então incrementa-se o valor dessa variável tanto quanto seja possível até que sejam alteradas as valorizações dos recursos. Isto conduz a uma nova SBA.
PrimalPrimal Dualz, wsupersuper--óptimaóptima subsub--óptimaóptima
subsub--óptimaóptima supersuper--óptimaóptima
Algoritmo dual
aplicado ao o dual
Algoritmo dual
aplicado aoprimal
Algoritmo primal
aplicado ao
primal
Algoritmo primal
aplicado ao dual
z*=w*=36óptimaóptima
SBNAD Y0 = ( 0,0,0,-3,-5 )SBNAD Y0 = ( 0,0,0,-3,-5 )SBAP X0 = ( 0,0,4,2,18)SBAP X0 = ( 0,0,4,2,18) 00
Exemplo Protótipo.Percurso do Algoritmo Primal Simplex.
UDM - Operational Research
Docente: R. Fazenda 76
máximo máximo
a não produção de janelas tem uma maior perda de oportunidade, pelo que
esta actividade vai ser activada ao nível máximo possível
SBAP X0 =(0,0,4,12,18) ⇔ SBNAD Y0 =(0,0,0,-3, -5)SBAP XSBAP X0 0 =(0,0,4,12,18) =(0,0,4,12,18) ⇔⇔ SBNAD YSBNAD Y0 0 =(0,0,0,=(0,0,0,--3, 3, --5)5)
x3x4x5
0
1 0 1 0 0 0 2 0 1 0 3 2 0 0 1
4 12 18
000
3 5 0 0 0cjXXBBCCBB xx11 xx22 xx33 xx44 xx55
zzjjccj j -z-zj j
bb
000 0 0 03 5 0 0 0
yy11= 0= 0 : o preço sombra de uma unidade dacapacidade de produção da secçao 1 é nulonulo . .
Este recurso é abundanteabundante (sobram 4 unidades)
yy22= 0= 0 : o preço sombra de uma unidade dacapacidade de produção da secçao 2 é nulonulo ..
Este recurso é abundanteabundante (sobram 12 unidades)
yy33= 0= 0 : o preço sombra de uma unidade dacapacidade de produção da secçao 3 é nulo.nulo.
Este recurso é abundante abundante (sobram 18 unidades)
yy44= = -- 33 : a perda de oportunidade da não produçãonão produçãode uma porta é de 3 3 EurosEuros por unidade.
yy5 5 = = --55 : a perda de oportunidade da não produçãonão produçãode uma janela é de 5 5 EurosEuros por unidade.
Análise da Mudança de Base.Exemplo Protótipo. 1º Quadro.
y4 = (y1 + 3 y3) - 3= ( 0 + 3.0 ) -3= 0 - 3 = -3
yy4 4 = (yy1 1 ++ 3 yy33) -- 33= ( 0 ++ 3.0 ) --33= 0 -- 3 = -3
y5 = ( 2y2 + 2y3 ) -5= ( 2.0 + 2.0 ) -5
= 0 - 5 = -5
yy5 5 = ( 2yy2 2 ++ 2yy3 3 ) --55= ( 2.0 ++ 2.0 ) --55
= 0 -- 5 = -5
A valorização interna a atribuir à produção de uma janela é nula e menor do que o lucro que se obtém se fosse produzida uma janela ( 5 ), i.e., a perda de oportunidade da não produção duma janela é
de 5 Euros, i.e., os recursos seriam melhor utilizados se fosse activada esta actividade.
(como nenhum dos recursos que participam na fabricação de uma janela está a ser utilizado, o preço sombra para eles é zero)
A valorização interna a atribuir à produção de uma janela é nula e menor do que o lucro que se obtém se fosse produzida uma janela ( 5 ), i.e., a perda de oportunidade da não produçãonão produção duma janela é
de 5 Euros, i.e., os recursos seriam melhor utilizados se fosse activada esta actividade.
(como nenhum dos recursos que participam na fabricação de uma janela está a ser utilizado, o preço sombra para eles é zero)
Produzir Produzir janelasjanelas
1º Quadro. Análise das Slacks Duais.
A valorização interna a atribuir à produção de uma porta é nula e menor do que o lucro que se obtém se fosse produzida uma
porta ( 3 ), i.e., a perda de oportunidade da não produção duma porta é de 3 Euros, i.e., os recursos seriam melhor utilizados se
fosse activada esta actividade.(como nenhum dos recursos que participam na fabricação de
uma porta está a ser utilizado, o preço sombra para eles é zero).
A valorização interna a atribuir à produção de uma porta é nula e menor do que o lucro que se obtém se fosse produzida uma
porta ( 3 ), i.e., a perda de oportunidade da não produçãonão produção duma porta é de 3 Euros, i.e., os recursos seriam melhor utilizados se
fosse activada esta actividade.(como nenhum dos recursos que participam na fabricação de
uma porta está a ser utilizado, o preço sombra para eles é zero).
Produzir Produzir portasportas
UDM - Operational Research
Docente: R. Fazenda 77
Explicitem-se as variáveis de folga em termos das variáveis de decisão:
x1+ x3= 4 ⇒ x3= 4 - x1xx11++ xx33= 4 ⇒ xx33= 4 - xx11
a capacidade de produção não utilizada permite uma produção máxima de 4
portas por minuto
a capacidade de produção não utilizada permite uma produção máxima de 4
portas por minuto
2x2+ x4=12 ⇒ x4= 12 - 2x22xx22++ xx44=12 ⇒ xx44= 12 - 2xx22
a capacidade de produção não utilizada permite uma produção máxima de 6
janelas por minuto
a capacidade de produção não utilizada permite uma produção máxima de 6
janelas por minuto
3x1+ 2x2+ x5=18 ⇒x5= 18 - 3x1 - 2x2
3xx11++ 2xx22++ xx55=18 ⇒xx55= 18 - 3xx11 - 2xx22
a capacidade de produção não utilizada permite uma produção máxima de 9 janelas ou de 6 portas por minuto
a capacidade de produção não utilizada permite uma produção máxima de 9 janelas ou de 6 portas por minuto
1ªsecção1ªsecção
Exemplo Protótipo. Mudança de Base: X0 → X1
Análise dos recursos disponíveis
2ªsecção2ªsecção
3ªsecção3ªsecção
Analise-se a produção das janelas:
Tendo em conta a disponibilidade dos recursos, o nível máximo possível para a produção de janelas é de 6 por minuto.
SBNAD Y1 = ( 0,5/2,0,-3,0 )SBNAD Y1 = ( 0,5/2,0,-3,0 )SBAP X1 = ( 0,6,4,0,6)SBAP X1 = ( 0,6,4,0,6)3030
PrimalPrimal Dualz, wsupersuper--óptimaóptima subsub--óptimaóptima
subsub--óptimaóptima supersuper--óptima óptima
Algoritmo dual
aplicado ao dual
Algoritmo dual
aplicado aoo primal
Algoritmo primal
aplicado ao primal
Algoritmo primal
aplicado ao dual
z*=w*=36óptimaóptima
SBNAD Y0 = ( 0,0,0,-3,-5 )SBNAD Y0 = ( 0,0,0,-3,-5 )SBAP X0 = ( 0,0,4,2,18)SBAP X0 = ( 0,0,4,2,18) 00
Exemplo Protótipo.Percurso do Algoritmo Primal Simplex.
UDM - Operational Research
Docente: R. Fazenda 78
máximo máximo
SBAP XSBAP X1 1 =(0,6,4,0,6) =(0,6,4,0,6) ⇔⇔ SBNAD YSBNAD Y1 1 =(0,5/2,0,=(0,5/2,0,--3,0)3,0)
3 5 0 0 0
300
4 6 6
x3x2x5
050
cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzjj
ccj j -z-zj j
bb
0 5 0 0
3 0 0 0
0 1 0 12 0
1 0 1 0 0
3 0 0 -1 15252-
yy11= 0= 0 : o preço sombra de uma unidade dacapacidade de produção da secção 1 é nulonulo . . Este recurso é abundanteabundante (sobram 4 unidades)
yy22= 5/ 2= 5/ 2 : o preço sombra de uma unidade dacapacidade de produção da secção 2 é 5 / 2.5 / 2.
Este recurso é escasso escasso (está esgotado)
yy33= 0= 0 : o preço sombra de uma unidade dacapacidade de produção da secção 3 é nulo.nulo.
Este recurso é abundante abundante (sobram 6 unidades)yy44= = -- 33 : a perda de oportunidade da não produçãonão produção
de uma porta é de 3 3 EurosEuros por unidade.
yy5 5 = 0= 0 : a perda de oportunidade da produçãoproduçãode uma janela é nula.nula.
Estão a ser produzidas 6 janelas por minuto .6 janelas por minuto .
a não produção de portas tem uma perda de oportunidade positiva, pelo que vai ser activada esta actividade
ao nível máximo possível
Análise da Mudança de Base.Exemplo Protótipo. 2º Quadro.
y4 = (y1 + 3 y3) - 3= ( 0 + 3.0 ) -3
= 0 - 3 = -3
yy4 4 = (yy1 1 ++ 3 yy33) -- 33= ( 0 ++ 3.0 ) --33
= 0 -- 3 = -3
A valorização interna a atribuir à produção de uma porta é nula e menor do que o lucro que se obtém se fosse produzida uma porta (3), i.e., a perda de oportunidade da não produção duma
porta é de 3 Euros, i.e.,os recursos seriam melhor utilizados se fosse activada esta
actividade.(como os recursos que participam na fabricação
de uma porta não estão esgotados, o preço sombra para eles é nulo)
A valorização interna a atribuir à produção de uma porta é nula e menor do que o lucro que se obtém se fosse produzida uma porta (3), i.e., a perda de oportunidade da não produçãonão produção duma
porta é de 3 Euros, i.e.,os recursos seriam melhor utilizados se fosse activada esta
actividade.(como os recursos que participam na fabricação
de uma porta não estão esgotados, o preço sombra para eles é nulo)
y5 = ( 2y2 + 2y3 ) -5= ( 2.5/2 + 2.0 ) -5= 5 - 5 = 0
yy5 5 = ( 2yy2 2 ++ 2yy3 3 ) --55= ( 2.5/2 ++ 2.0 ) --55= 5 -- 5 = 0
Produzir Produzir portasportas
A valorização interna a atribuir à produção de uma janela é de 5 Euros e igual ao seu lucro
unitário (5) pelo que a perda de oportunidade da produção duma janela é nula
A valorização interna a atribuir à produção de uma janela é de 5 Euros e igual ao seu lucro
unitário (5) pelo que a perda de oportunidade da produção duma janela é nula
Produzir Produzir janelasjanelas
2º Quadro: Análise das Slacks Duais.
UDM - Operational Research
Docente: R. Fazenda 79
Analise-se a produção das portas:
Exemplo Protótipo. Mudança de Base: X1 → X2
Análise dos recursos disponíveis.
x1+ x3= 4 ⇒ x3= 4 - x1xx11++ xx33= 4 ⇒ xx33= 4 - xx11
a capacidade de produção não utilizada permite uma produção máxima de 4
portas por minuto
a capacidade de produção não utilizada permite uma produção máxima de 4
portas por minuto
x4= 0xx44= 0 a capacidade de produção está esgotada
a capacidade de produção está esgotada
3x1- x4+ x5=6 ⇒x5= 6 - 3x1 – x4 = 6 - 3x1
3xx11-- xx44++ xx55=6 ⇒xx55= 6 - 3xx11 – xx4 4 = 6 - 3xx11
a capacidade de produção não utilizada permite uma produção máxima de 2
portas por minuto
a capacidade de produção não utilizada permite uma produção máxima de 2
portas por minuto
1ªsecção1ªsecção
2ªsecção2ªsecção
3ªsecção3ªsecção
xx1 1 xx22 xx33 xx44 xx551 0 1 0 00 1 0 1/2 03 0 0 -1 1
xx11xx22xx33xx44xx55
466
=
Tendo em conta a disponibilidade dos recursos, o nível máximo possível para a produção de portas é de 2 por minuto.
yy11= 0= 0 : o preço sombra de uma unidade dacapacidade de produção da secçao 1 é nulonulo . .
Este recurso é abundanteabundante (sobram 2 unidades)yy22= 3/ 2= 3/ 2 : o preço sombra de uma unidade da
capacidade de produção da secçao 2 é 3 / 2.3 / 2.Este recurso é escasso escasso (está esgotado)
yy33= 1= 1 : o preço sombra de uma unidade dacapacidade de produção da secçao 3 é 11..
Este recurso é escasso escasso (está esgotado)yy44= 0= 0 : a perda de oportunidade da produçãoprodução
de uma porta é nula.nula.Estão a ser produzidas 2 portas por minuto2 portas por minuto
yy5 5 = 0= 0 : a perda de oportunidade da produçãoproduçãode uma janela é nula.nula.
Estão a ser produzidas 6 janelas por minuto .6 janelas por minuto .
X* = (2,6,2,0,0) é óptimapara o primal e
Y* = (0,3/2,1,0,0) é óptimapara o dual
3 5 0 1
0 0 0
3232-
3 5 0 0 0cj
XXBBCCBB xx11 xx22 xx33 xx44 xx55
zzjj
ccj j -z-zj j
bb
366
0 0 1
0 1 01 0 0
01213-
13-
13
13
x3
x2x1
6 2
2 5 0
3
-1
SBAP X* =(2,6,2,0,0)⇔ SBAD Y* =(0,3/2,1,0,0)SBAP XSBAP X* * =(2,6,2,0,0)=(2,6,2,0,0)⇔⇔ SBAD Y*SBAD Y* =(0,3/2,1,0,0)=(0,3/2,1,0,0)
Análise da Mudança de Base.
Exemplo Protótipo. Quadro óptimo.
UDM - Operational Research
Docente: R. Fazenda 80
y4 = (y1 + 3 y3) - 3= ( 0 + 3.1 ) -3= 3 - 3 = 0
yy4 4 = (yy1 1 ++ 3 yy33) -- 33= ( 0 ++ 3.1 ) --33= 3 -- 3 = 0
A valorização interna a atribuir à produção de uma porta é de 3 Euros e igual ao seu lucro unitário
pelo que a perda de oportunidade da produção de uma porta é nula
A valorização interna a atribuir à produção de uma porta é de 3 Euros e igual ao seu lucro unitário
pelo que a perda de oportunidade da produção de uma porta é nula
y5 = ( 2y2 + 2y3 ) -5= ( 2.3/2 + 2.1 ) -5= 5 - 5 = 0
yy5 5 = ( 2yy2 2 ++ 2yy3 3 ) --55= ( 2.3/2 ++ 2.1 ) --55= 5 -- 5 = 0
Produzir Produzir portasportas
A valorização interna a atribuir à produção de uma janela é de 5 Euros e igual ao seu lucro unitáriopelo que a perda de oportunidade da produção de
uma janela é nula
A valorização interna a atribuir à produção de uma janela é de 5 Euros e igual ao seu lucro unitáriopelo que a perda de oportunidade da produção de
uma janela é nula
Produzir Produzir janelasjanelas
o preço sombra para a secção 2 caiu de 5/2 para 3/2 quando foi compensado pela utilização dos outros recursos
Quadro Óptimo: Análise das Slacks Duais.
3636
PrimalPrimal Dualz, wsupersuper--óptimaóptima subsub--óptimaóptima
subsub--óptimaóptima supersuper--óptimaóptima
Algoritmo dual
aplicado ao dual
Algoritmo dual
aplicado ao primal
Algoritmo primal
aplicado ao primal
Algoritmo primal
aplicado aodual
z*=w*=36óptimaóptima
SBNAD Y0 = ( 0,0,0,-3,-5 )SBNAD Y0 = ( 0,0,0,-3,-5 )SBAP X0 = ( 0,0,4,2,18)SBAP X0 = ( 0,0,4,2,18)
SBNAD Y1 = ( 0,5/2,0,-3,0 )SBNAD Y1 = ( 0,5/2,0,-3,0 )SBAP X1 = ( 0,6,4,0,6)SBAP X1 = ( 0,6,4,0,6) 3030
00
SBAD Y* = ( 0,3/2,1,0,0 )SBAD Y* = ( 0,3/2,1,0,0 )SBAP X* = ( 2,6,2, 0,0)SBAP X* = ( 2,6,2, 0,0)
Exemplo Protótipo.Percurso do algoritmo Primal Simplex.
UDM - Operational Research
Docente: R. Fazenda 81
Interpretação Económica. Exemplo.
•Num laboratório farmacêutico são manufacturados 3 produtos, passando por 3 operações diferentes. O tempo (em h.) requerido por cada unidade de cada produto, a capacidade diária de cada operação (em h/dia) e o lucro unitário por unidade vendida de cada produto(em Euros) são os seguintes:
Tempo por unidade
Operação Nº 1 3 Capacidadeoperativa
1 2 1 5
2 0 2 11
3 3 2 8
Lucro unitário(Euros)
5 3
Produtos
2
3
1
4
4
Maximizar Z = 5 x1 + 4 x2 + 3x3
sujeito a
x1 , x2 ,x3 , x4 ,x5 , x6 ≥ 0
243
314
122
100
010
5118
x1 + x2 + x3 + x4 + x5 =001
+ x6
PP11-- produção diária do produto 1
PP22-- produção diária do produto 2
PP22-- produção diária do produto 3
PP55- capacidade operativa não
utilizada, relativamente à
operação 2
PP66 - capacidade operativa não
utilizada, relativamente à
operação 3
PP44 -- capacidade operativa não
utilizada, relativamente à
operação1
Formulação em Termos de Actividades.
UDM - Operational Research
Docente: R. Fazenda 82
ccj j -z-zj j
1 2 0 2 0 -1 0 -5 0 -2 1 0 0 -1 1 -3 0 2
211
x1x5x3
503
5 4 3 0 0 0xx1 1 xx22 xx3 3 xx44 xx55 xx66
cj
XXBBCCBB bb
1313 0 -3 0 -1 0 -1
X* = ( 2, 0, 1, 0, 1, 0 )XX* * = ( = ( 2, 0, 12, 0, 1, , 0, 1, 00, 1, 0 ))
a) Descreva as soluções óptimas primal e dual e justifique economicamente, utilizando a complementaridade de slacksa) Descreva as soluções óptimas primal e dual e justifique economicamente, utilizando a complementaridade de slacks
Y* = ( 1, 0, 1, 0, 3, 0 )YY* * = ( = ( 1, 0, 11, 0, 1, , 0, 3, 00, 3, 0 ))
x1 x y4 = 2 x 0 =0
x2 x y5 = 0 x 3 =0
x3 x y6 = 1 x 0 =0
x4 x y1 = 0 x 1 =0
x5 x y2 = 1 x 0 =0
x6 x y3 = 0 x 1 =0
Exemplo: Soluções óptimas primal-dual.
x1* . y4
*= 0xx11** . y. y44
**= = 00 2 . 0 =02 2 . . 00 =0=0
Primal: X* = ( 2,0,1,0,1,0 )PrimalPrimal: : XX* * = (= ( 2,0,12,0,1,,0,1,00,1,0 )) Dual: Y* = (1,0,1,0,3 0 )Dual: Y* = Dual: Y* = ((1,0,1,1,0,1,0,3 00,3 0 ))
São manufacturadas 2 unidades do produto 1 diariamente, sendo a valorização interna atribuída às horas gastas nas
operações para produzir uma unidade do produto 1 igual ao seu lucro unitário,
pelo que a perda de oportunidade da produçãode uma unidade do produto 1 é nula.
Caso a perda de oportunidade fosse positiva a produção deste produto não seria contemplada.
São manufacturadas 2 unidades do produto 1 diariamente, sendo a valorização interna atribuída às horas gastas nas
operações para produzir uma unidade do produto 1 igual ao seu lucro unitário,
pelo que a perda de oportunidade da produçãode uma unidade do produto 1 é nula.
Caso a perda de oportunidade fosse positiva a produção deste produto não seria contemplada.
Interpretação Económica. Complementaridade de Slacks.Exemplo: Produção & Perda de Oportunidade.
UDM - Operational Research
Docente: R. Fazenda 83
A produção do produto 2 não é contemplada,sendo a valorização interna atribuída às horas que seriam
gastas nas operações para produzir uma unidade do produto 2 maior do que o seu lucro unitário.
A produção de uma unidade do produto 2 implicariauma redução de 3 Euros no lucro total, pelo que
a perda de oportunidade da produção de uma unidade do produto 2 é de 3 Euros.
A produção do produto 2 não é contemplada,sendo a valorização interna atribuída às horas que seriam
gastas nas operações para produzir uma unidade do produto 2 maior do que o seu lucro unitário.
A produção de uma unidade do produto 2 implicariauma redução de 3 Euros no lucro total, pelo que
a perda de oportunidade da produção de uma unidade do produto 2 é de 3 Euros.
Interpretação Económica. Complementaridade de Slacks.Exemplo: Produção & Perda de Oportunidade.
x2* . y5
*= 0xx22** . y. y55
**= = 00 0 . 3 =00 0 . . 33 =0=0
Primal: X* = ( 2,0,1,0,1,0 )PrimalPrimal: : XX* * = (= ( 2,0,12,0,1,,0,1,00,1,0 )) Dual: Y* = (1,0,1,0,3 0 )Dual: Y* = Dual: Y* = ((1,0,1,1,0,1,0,3 00,3 0 ))
Deve ser manufacturada 1 unidade do produto 3 diariamente, sendo a valorização interna atribuída às horas gastas nas
operações para produzir uma unidade do produto 3 igual ao seu lucro unitário,
pelo que a perda de oportunidade da produçãode uma unidade do produto 3 é nula.
Caso a perda de oportunidade fosse positivaa produção deste produto não seria contemplada.
Deve ser manufacturada 1 unidade do produto 3 diariamente, sendo a valorização interna atribuída às horas gastas nas
operações para produzir uma unidade do produto 3 igual ao seu lucro unitário,
pelo que a perda de oportunidade da produçãode uma unidade do produto 3 é nula.
Caso a perda de oportunidade fosse positivaa produção deste produto não seria contemplada.
Interpretação Económica. Complementaridade de Slacks.Exemplo: Produção & Perda de Oportunidade.
x3* . y6
*= 0xx33** . y. y66
**= = 00 1 . 0 =01 1 . . 00 =0=0
Primal: X* = ( 2,0,1,0,1,0 )PrimalPrimal: : XX* * = (= ( 2,0,12,0,1,,0,1,00,1,0 )) Dual: Y* = (1,0,1,0,3 0 )Dual: Y* = Dual: Y* = ((1,0,1,1,0,1,0,3 00,3 0 ))
UDM - Operational Research
Docente: R. Fazenda 84
A valorização interna (preço sombra) de uma hora por dia na
operação 1 é positiva e igual a 1 Euro, pelo facto, deste ser um
recurso escasso, do qual não há sobras, o que significa que
a capacidade diária para a operação 1 ( 5 h/dia) está esgotada.
A disponibilidade adicional de 1 hora diária na operação 1
possibilitaria um incremento de 1 Euro no valor do lucro total.
A valorização interna (preço sombra) de uma hora por dia na
operação 1 é positiva e igual a 1 Euro, pelo facto, deste ser um
recurso escasso, do qual não há sobras, o que significa que
a capacidade diária para a operação 1 ( 5 h/dia) está esgotada.
A disponibilidade adicional de 1 hora diária na operação 1
possibilitaria um incremento de 1 Euro no valor do lucro total.
Interpretação Económica. Complementaridade de Slacks.Exemplo: Recurso & Preço Sombra.
x4* . y1
*= 0xx44** . y. y11
**= = 00 0 . 1 =00 0 . . 11 =0=0
Primal: X* = ( 2,0,1,0,1,0 )PrimalPrimal: : XX* * = (= ( 2,0,12,0,1,,0,1,00,1,0 )) Dual: Y* = (1,0,1,0,3 0 )Dual: Y* = Dual: Y* = ((1,0,1,1,0,1,0,3 00,3 0 ))
A valorização interna (preço sombra)
de uma hora por dia (h/dia) na operação 2 é nula,
pelo facto deste ser um recurso abundante,
do qual sobra 1 hora diária do total de horas disponíveis
para esta operação (11 h/dia)
O tempo diário não utilizado na operação 2 é de 1 hora .
A valorização interna (preço sombra)
de uma hora por dia (h/dia) na operação 2 é nula,
pelo facto deste ser um recurso abundante,
do qual sobra 1 hora diária do total de horas disponíveis
para esta operação (11 h/dia)
O tempo diário não utilizado na operação 2 é de 1 hora .
Interpretação Económica. Complementaridade de Slacks.Exemplo: Recurso & Preço Sombra.
x5* . y2
*= 0xx55** . y. y22
**= = 00 1 . 0 =01 1 . . 00 =0=0
Primal: X* = ( 2,0,1,0,1,0 )PrimalPrimal: : XX* * = (= ( 2,0,12,0,1,,0,1,00,1,0 )) Dual: Y* = (1,0,1,0,3 0 )Dual: Y* = Dual: Y* = ((1,0,1,1,0,1,0,3 00,3 0 ))
UDM - Operational Research
Docente: R. Fazenda 85
A valorização interna (preço sombra)
de uma hora por dia na operação 3 é positiva e igual a 1 Euro,
pelo facto deste ser um recurso escasso,
do qual não há sobras, o que significa que
a capacidade diária para a operação 3 ( 8 h/dia) está esgotada .
A disponibilidade adicional de 1 hora diária na operação 3
possibilitaria um incremento de 1 Euro no valor do lucro total.
A valorização interna (preço sombra)
de uma hora por dia na operação 3 é positiva e igual a 1 Euro,
pelo facto deste ser um recurso escasso,
do qual não há sobras, o que significa que
a capacidade diária para a operação 3 ( 8 h/dia) está esgotada .
A disponibilidade adicional de 1 hora diária na operação 3
possibilitaria um incremento de 1 Euro no valor do lucro total.
Interpretação Económica. Complementaridade de Slacks.Exemplo: Recurso & Preço Sombra.
x6* . y3
*= 0xx66** . y. y33
**= = 00 0 . 1 =00 0 . . 11 =0=0
Primal: X* = ( 2,0,1,0,1,0 )PrimalPrimal: : XX* * = (= ( 2,0,12,0,1,,0,1,00,1,0 )) Dual: Y* = (1,0,1,0,3 0 )Dual: Y* = Dual: Y* = ((1,0,1,1,0,1,0,3 00,3 0 ))