Escolar Documentos
Profissional Documentos
Cultura Documentos
P1 :
i = 1, 2, ... , m k = 1, 2, ... , n
P2 :
k = 1, 2, ... , n i = 1, 2, ... , m
P1 :
Maximizar F = C . X sujeito a: A.X b X 0n
P2 :
Minimizar G = bT . U sujeito a: AT . U CT U 0m
100
Na representao anterior, o vector das incgnitas de P1, X, um vector coluna ( n x 1 ), o vector das incgnitas de P2, U, um vector coluna ( m x 1 ), C um vector linha ( 1 x n ), A uma matriz ( m x n ) e b um vector coluna ( m x 1 ). De notar que 0n o vector nulo do tipo ( n x 1 ) e que 0m o vector nulo do tipo ( m x 1 ).
R1 :
A cada restrio do problema primal corresponde uma varivel do problema dual. A cada varivel do problema primal corresponde uma restrio do problema dual.
R1 :
R2 :
A matriz dos coeficientes das restries do problema dual a transposta da matriz dos coeficientes das restries do correspondente problema primal. A P = ATD ; A D = ATP
R2 :
R3 :
Os termos independentes das restries de um dos problemas (primal/dual) so os coeficientes da funo objectivo no outro problema (dual/primal). Termos independentes P Coeficientes da f.o. D Termos independentes D Coeficientes da f.o. P
R3 :
R4 :
A um problema primal de maximizao com restries do tipo e variveis no negativas, corresponde um problema dual de minimizao com restries do tipo e variveis no negativas. Problema Primal Max restries ' ' variveis ' 0 ' Problema Dual Min restries ' ' variveis ' 0 '
R4 :
101
Ex.1 :
X1 , X2 0 .
sujeito a:
Resoluo :
MIN G = 4 . U1 + 5 . U2 + 9 . U3 + 7 . U4
2 . U1 - 1 . U2 + 5 . U3 + 6 . U4 2 - 3 . U1 + 4 . U2 + 2 . U3 - 2 . U4 3 U1 , U 2 , U 3 , U 4 0 . Note-se que o problema primal apresentado tem m = 4 (nmero de equaes) e n = 2 + 4 (nmero de incgnitas), pelo que a sua resoluo pelo Algoritmo Simplex Revisto implicaria a manipulao (incluindo inverso) de matrizes B ( 4 x 4 ). O problema dual correspondente tem m = 2 (nmero de equaes) e n = 4 + 2 (nmero de incgnitas), pelo que a sua resoluo pelo Algoritmo Simplex Revisto implicaria a manipulao de matrizes B ( 2 x 2 ) ! Assim, a priori, mais fcil resolver o problema dual, j que este corresponder a um menor esforo de clculo... Posteriormente retomaremos esta questo.
R4 :
pode surgir-nos uma interrogao: O que acontece se uma das restries for uma desigualdade de 'sentido oposto' regra " Max ; restrio / Min ; restrio " ? Para tentarmos responder a esta questo, poderemos considerar o seguinte exerccio:
102
Ex.2 :
Escreva o dual do problema de Programao Linear seguinte: MIN F = 4 . X1 + 2 . X2 + 1 . X3 sujeito a: 2 . X1 + 1 . X2 + 3 . X3 5 2 . X1 - 1 . X2 6 - 1 . X1 + 3 . X2 + 4 . X3 5 2 . X2 - 3 . X3 4 X1 , X2 , X3 , X4 0 . Resoluo : A terceira restrio pode ser re-escrita de modo a respeitar a regra " Min ; restrio " : 1 . X1 - 3 . X2 - 4 . X3 - 5 . Ter-se-ia, ento, o seguinte problema dual: MAX G = 5 . U1 + 6 . U2 - 5 . U3 + 4 . U4
sujeito a: 2 . U1 + 2 . U2 + 1 . U3 4 1 . U1 - 1 . U 2 - 3 . U 3 + 2 . U4 2 3 . U1 - 4 . U3 - 3 . U4 1 U1 , U 2 , U 3 , U 4 0 . Para mantermos as regras anteriormente enunciadas, muito especialmente, R2 e R3 deveramos ter os simtricos dos coeficientes de U3 (relativamente ao problema dual apresentado), o que se consegue facilmente considerando U3 0, ou seja, MAX G = 5 . U1 + 6 . U2 + 5 . U3 + 4 . U4
sujeito a:
U1 , U 2 , U4 0 ;
U3 0 .
R5 :
A uma restrio do problema primal de tipo 'oposto' regra " Max / restries ; Min / restries " corresponder no problema dual, uma varivel no positiva, e vice-versa.
103
2 . U1 + 2 . U2 - 1 . U3 4 1 . U1 - 1 . U2 + 3 . U3 + 2 . U4 2 3 . U1 + 4 . U3 - 3 . U4 1
R5 :
Problema Primal Max restrio ' ' Problema Primal Max varivel ' 0 '
Problema Dual Min varivel ' 0 ' Problema Dual Min restrio ' '
MAX G = 5 . U1 + 6 . U2 + 5 . U3 + 4 . U4 sujeito a: 2 . U1 + 2 . U2 - 1 . U3 4 1 . U1 - 1 . U2 + 3 . U3 + 2 . U4 2 3 . U1 + 4 . U3 - 3 . U4 1 U1 , U 2 , U4 0 ;
U3 0 .
sujeito a:
Resoluo :
MIN F = 4 . X1 + 2 . X2 + 1 . X3
2 . X1 + 1 . X2 + 3 . X3 2 . X1 - 1 . X2 - 1 . X1 + 3 . X2 + 4 . X3 2 . X2 - 3 . X3 X1 , X2 , X3 , X4 0 .
5 6 5 4
104
Ex.3
X3 0 .
sujeito a:
Resoluo :
MIN F = 5 . U1 + 6 . U2 + 4 . U3
3 . U1 + 4 . U2 + 2 . U3 2 - 2 . U1 - 1 . U2 + 3 . U3 3 1 . U2 - 1 . U3 4
U1 , U 3 0 ;
U2 0 .
J sabemos o que fazer se uma das restries for uma desigualdade de 'sentido oposto' regra " Max ; restrio / Min ; restrio " . Mas, o que fazer se se tiver uma restrio do tipo ' = ' ? Para tentarmos responder a esta questo, poderemos considerar o seguinte exerccio:
Ex.4 :
X1 , X2 , X3 , X4 0 .
105
Resoluo :
X1 , X2 0 . A este problema corresponde o seguinte dual: MIN G = 5 . U1 + 8 . U2 + 3 . U3 - 3 . U4 + 7 . U5 sujeito a: - 1 . U1 + 7 . U2 + 2 . U3 - 2 . U4 + 3 . U5 2 4 . U1 - 1 . U2 - 2 . U3 + 2 . U4 + 5 . U5 3 U1 , U2 , U3 , U4 , U5 0 . Os coeficientes das variveis no negativas U3 e U4 so simtricos, pelo que poderemos fazer a substituio V = U3 - U4 , com V : MIN G = 5 . U1 + 8 . U2 + 3 . V + 7 . U5 sujeito a: - 1 . U1 + 7 . U2 + 2 4 . U1 - 1 . U2 - 2 . V + 3 . U5 2 . V + 5 . U5 3
U1 , U2 , U5 0 ; V .
Se designarmos V por U3 e U5 por U4, poderemos escrever o problema dual do problema dado na forma seguinte:
106
MIN G = 5 . U1 + 8 . U2 + 3 . U3 + 7 . U4 sujeito a: - 1 . U1 + 7 . U2 + 2 . U3 + 3 . U4 2 4 . U1 - 1 . U2 - 2 . U3 + 5 . U4 3 U1 , U 2 , U4 0 ; U3 .
R6 :
A uma restrio do problema primal de tipo 'igualdade' corresponder no problema dual, uma varivel livre, e vice-versa. Problema Primal restrio ' = ' Problema Dual varivel ' '
R6 :
Ex.5
20
- 2 . X3 + 1 . X4 15 3 . X2 + 1 . X3 - 1 . X4 = 7
X1 , X4 0 ;
X2 0;
X3 .
sujeito a:
Resoluo : MAX G = 20 . U1 + 15 . U2 + 7 . U3 2 . U1 + 4 . U2 2 - 3 . U1 + 3 . U3 3 - 5 . U1 - 2 . U2 + 1 . U3 = 4 1 . U2 - 1 . U3 2
U1 0 , U2 0 ; U3 .
Sintetizemos, agora as Relaes "Primal - Dual" no quadro seguinte:
107
Problema de Maximizao = 0 0 0 0 =
Problema de Minimizao
i-sima restrio i = 1, 2, ..., m. k-sima varivel k = 1, 2, ..., m. matriz dos coeficientes das restries A(mxn) coeficientes da funo objectivo ck , C ( 1 x n ) k = 1, 2, ..., n. termos independentes das restries bi , b ( m x 1 ) i = 1, 2, ..., m.
i-sima varivel i = 1, 2, ..., m. k-sima restrio k = 1, 2, ..., m. matriz dos coeficientes das restries AT ( n x m ) termos independentes das restries ck , CT ( 1 x n ) k = 1, 2, ..., n. coeficientes da funo objectivo bi , bT ( 1 x m ) i = 1, 2, ..., n.
Nota: Quadro adaptado de 'Programao Linear' ( vol. II ), Guerreiro et al, Mc Graw Hill
Ex.6
Escreva o dual do problema tipo de Programao Linear apresentado na sua 'forma standard': n Maximizar F = ck . Xk k=1 sujeito a: n aik . Xk = bi k=1 Xk 0
i = 1, 2, ... , m k = 1, 2, ... , n
Resoluo :
k = 1, 2, ... , n i = 1, 2, ... , m
Ui
108
P3 :
Se X* = [ X1*, X2*, ... , Xn* ]T e U* = [ U1*, U2*, ... , UM* ]T so solues admissveis para os problemas primal e dual, respectivamente, tais que . n m F* = ck . Xk* = G* = bi . Ui* , k=1 i=1 ento X* e U* so as solues ptimas do problema primal e do problema dual, respectivamente. Para qualquer par de problemas primal-dual, a existncia de soluo ptima finita para um deles garante a existncia de soluo ptima finita para o outro, verificando-se F* = G*. Esquematicamente, pode indicar-se:
P4 :
Max F
Min G
F* = G*
Assim, se F* = G * ( P4 ),
Assim, se um problema de Programao Linear admitir soluo ptima finita, a partir da sua base ptima ser possvel determinar a soluo ptima do correspondente problema dual. De notar que o valor ptimo das variveis duais intervm no clculo dos coeficientes r (a partir dos quais se verifica a optimalidade das solues de um problema de Programao
109
Linear). Com efeito, relativamente soluo ptima de um problema de Programao Linear pode escrever-se r* = - CD + ( CB . B-1 ) . D 0, o que equivalente a r* = - CD + ( U*T ) . D 0. Particularmente interessante se torna a determinao da soluo ptima do problema dual quando possvel escrever-se o problema primal na forma: B - CB D1 - CD1
I
0
b 0
I
0
B-1. b CB . B-1. b
Estando agora clara a relao entre o par de problemas primal-dual, poderemos retomar as consideraes feitas no final da resoluo do exerccio n1. Ento, referimos que o problema primal apresentado tinha m = 4 (nmero de equaes) e n = 2 + 4 (nmero de incgnitas), pelo que a sua resoluo pelo Algoritmo Simplex Revisto implicaria a manipulao (incluindo inverso) de matrizes B ( 4 x 4 ), enquanto que o problema dual correspondente tinha m = 2 (nmero de equaes) e n=4+2 (nmero de incgnitas), pelo que a sua resoluo pelo Algoritmo Simplex Revisto implicaria a manipulao de matrizes B ( 2 x 2 ) ! Conclumos, ento, que, a priori, seria mais fcil resolver o problema dual, j que este corresponderia a um menor esforo de clculo... Poderemos generalizar o raciocnio apresentado e referir que, dado um problema de Programao Linear que se pretende resolver, deve verificar-se se a resoluo do correspondente problema dual no ser mais fcil. Em caso afirmativo, dever determinar-se a soluo ptima do problema dual e, a partir da correspondente base ptima, determinar a soluo ptima do problema (primal) dado. De recordar que quanto maior for o nmero de restries de um problema de Programao Linear, maior ser a ordem das correspondentes matrizes B e, consequentemente, maior ser o volume de clculo envolvido. Assim, dado um problema de Programao Linear, se o nmero de restries for muito superior ao nmero de incgnitas (no incluindo as variveis de folga) deve resolver-se o correspondente problema dual, j que as matrizes BPrimal ( m x m ) so de ordem muito superior que as matrizes BDual. Para terminarmos a indicao das propriedades fundamentais da Dualidade, refiramos ainda mais duas propriedades:
P5: P6:
Um problema de Programao Linear admite soluo ptima finita se e s se existirem solues admissveis para esse problema e para o seu dual. Se um problema de Programao Linear no admitir soluo ptima finita, ento o correspondente dual no tem solues admissveis.
Primal (Max F) Problema Possvel Problema Impossvel Explo. Explo. Dual (Min G) S S = Problema Possvel 1 F* = G* ambos problemas 3 G* - o problema dual tm soluo ptima finita no tem soluo ptima finita S Nenhum dos problemas tem Problema Impossvel 2 F*+ o problema primal 4 solues admissveis no tem soluo ptima finita S = Exemplos das situaes referidas no Quadro anterior (resolva os problemas graficamente):
110
Explo.
Problema Dual Min G = U sujeito a U 5 U0 U X* = 1 , Y * = 0 ; F* = 5 Min G = 2 . U sujeito a U 1 -U1 Problema impossvel ( S = ) Min G = 4 . U sujeito a - U - 1 U G* - Min G = 4 . U + 4 . V sujeito a - U + V 1 U - V1 Problema impossvel ( S = )
Max F = X + Y sujeito a X - Y = 2 X, Y 0 F* +
Nota: Exemplos retirados de 'Programao Linear' ( vol. II ), Guerreiro et al, Mc Graw Hill
3 - Teorema da Complementaridade
Considerando o par de problemas 'primal-dual'
Max F = C . X sujeito a A . X b X0
Min G = bT . U sujeito a AT . U CT U0 ,
111
Problema 'primal':
Problema 'dual':
condio necessria e suficiente para que X e U, solues admissveis dos problemas primal e dual, respectivamente, sejam solues ptimas, que verifiquem as seguintes condies: Xk* > 0 U*T . ak > ck Ui * > 0 ai . X* < bi U*T . ak = ck Xk* = 0 ai . X* = bi Ui* = 0 [1] [2] [3] [4]
e representando ak e ai , respectivamente, a
De acordo com o Teorema da Complementaridade, podemos concluir que, relativamente soluo ptima: se uma 'varivel primal' positiva, ento a correspondente 'restrio dual' activa [ 1 ] e que se uma 'restrio dual' no activa, ento a correspondente 'varivel primal' nula [ 2 ]. se uma 'varivel dual' positiva, ento a correspondente 'restrio primal' activa [ 3 ] e que se uma 'restrio primal' no activa, ento a correspondente 'varivel dual' nula [ 4 ].
Relativamente s solues ptimas do par de problemas 'primal-dual' de Programao Linear, nulo o produto da k-sima 'varivel primal' pela varivel de folga correspondente ksima 'restrio dual': m aik . ui* ) - ck ] i=1 k = 1, 2, ..., n xk* . [ ( = 0 xk* . um+k* = 0
nulo o produto da i-sima 'varivel dual' pela varivel de folga correspondente i-sima 'restrio primal': n aik . xk* ) - bi ] k=1 i = 1, 2, ..., m ui* . [ ( = 0 ui* . xn+i* = 0
112
Max sujeito a
2 X1 + 3 X2 3 X1 + 4 X2 5 6 X1 - 1 X2 3 2 X1 + 4 X2 4 X1 , X2 0
Min G = 5 U1 + 3 U2 + 4 U3 sujeito a 3 U 1 + 6 U2 + 2 U3 2 4 U 1 - 1 U 2 + 4 U3 3 U1 , U 2 , U 3 0
O Teorema da Complementaridade permite afirmar que, relativamente ao ptimo: X1* > 0 X2* > 0 3 U 1* + 6 U 2* + 2 U 3* = 2 4 U 1* - 1 U 2* + 4 U 3* = 3 X1* = 0 X2* = 0
Como pode observar, a 1 restrio dominada pelas duas outras. A soluo ptima do problema ( X1* = 8/13 ; X2* = 9/13 , com F* = 43/13 ) corresponde interseco das rectas respeitantes 2 e 3 restries. Assim, relativamente ao ptimo, podemos concluir que a 2 e a 3 restries so activas (isto , tm folga nulas). Pelo Teorema da Complementaridade, podemos, imediatamente, concluir que se a 1 restrio a nica restrio no activa, ento a correspondente varivel dual, U1* a nica varivel dual 'original' nula.
Como, neste caso, mais fcil resolver analiticamente o problema dual do que o problema primal e j sabemos quais as variveis que integram a respectiva base ptima ...
113
Mas, se o problema dual tem duas restries (e trs variveis 'originais'), ento as correspondentes matrizes B so do tipo ( 2 x 2 ). Ora se U1* nula, ento U2* e U3* sero obrigatoriamente no nulas, isto pertencero base ptima do problema dual.
que obter F* = G * ! ].
Deve ter obtido U2* = 1/13 ; U3* = 10/13 , com G* = 43/13 [ Claro que se tinha
A partir do problema 'dual' pode obter a soluo ptima do problema 'primal' (calculando CB . B-1 relativamente base ptima do problema 'dual') - deve obter X1* = 8/13 ; X2* = 9/13 , verificando os resultados obtidos anteriormente.
Relativamente soluo ptima, os valores assumidos pelas variveis duais costumam ser designados por preos-sombra associados s restries do problema primal. A uma 'restrio primal' no activa corresponde um preo-sombra nulo. Um preo-sombra no nulo corresponde a uma restrio activa. A designao de preo-sombra, prende-se com o facto de, em aplicaes de carcter econmico, o preo-sombra correspondente a uma dada 'restrio primal' representar a quantia mxima que estaramos dispostos a pagar para incrementar em uma unidade a disponibilidade do correspondente recurso (isto , aumentar em uma unidade o termo independente da restrio). Se se alterar os termos independentes do problema primal (que, em geral, exprimem disponibilidades de recursos) - e se se mantiver a mesma base - possvel calcular facilmente a variao produzida na funo objectivo: Com efeito, sabemos que F = CB . B-1 . b = UT . b , pelo que se se alterar b para b' = b + b, ter-se-: F' = UT . b' = UT . ( b + b ) = UT . b + UT . b = F + UT . b , ou seja, F = F' - F = UT . b, isto , F = UT . b , ou seja os valores ptimos das variveis duais constituem coeficientes de sensibilidade da funo objectivo, em relao aos termos independentes das restries. Apliquemos algumas das noes apresentadas, a partir da anlise do seguinte par de problemas 'primal-dual' de Programao Linear: Min F sujeito a 1 X1 + 1 X2 10 1 X1 + 1 X2 5 1 X1 - 1 X2 0 X1 , X2 0 X2 10 + F 5 5/2 = - X1 + 2 X2 Max G = 5 U 1 + 3 U2 + 4 U3 1 U 1 + 1 U2 + 1 U3 - 1 1 U 1 + 1 U2 - 1 U 3 2 U1 0 ; U 2 0 ; U 3 0
sujeito a