Académique Documents
Professionnel Documents
Culture Documents
1.
Programao Geomtrica
O problema de programao geomtrica consiste em minimizar uma funo posinomial f(x) sujeito as restries g i ( x) 1, i = 1,2, K , m do tipo posinomial. Apresenta a seguinte forma geral, a qual ser referida como problema primal. PG : Minimizar s.a f (x)
Tk = k
j , > 0, kTionde onde n onde k2,
j =1
xj
ak j
0,
g i ( x) 1, x j > 0,
i = 1,2,K, m j = 1,2,K, n
01Twonde
(1)
2205
, , i = 1,2, K , m
(3) (4)
kJ i
Lema 1: Dado um problema de programao geomtrico posinomial ( k s positivos), o problema equivalente obtido atravs da transformao logartmica convexo, pois F ( y ) e
s.a.
a = A = 0 , = 1,
k k =1 k kJ 0 k kJ i
= ui , i = 1,2, K, m ,
k 0, k = 1,2,K , M ,
u i 0, i = 1,2, K, m .
Observe que o PGDE um problema cncavo; a funo objetivo cncava e separvel e as restries so lineares. O grau de dificuldade desse problema definido como DD = M (n + 1). Quando DD = 0, resolve-se um sistema linear M x M; se DD = 1, resolve-se um problema de busca unidimensional. Como a funo objetivo cncava e diferencivel, a soluo do PGDE simples. A medida que DD aumenta, o problema torna-se mais difcil, porm no tanto quanto o problema original. Teorema 1: Suponha que ( *,u*) > 0 resolve PGDE e que o valor timo associado v*. * * * * * * Sejam * = ( 1 , * 2 , K , n ) e = ( 1 , 2 , K , m ) os multiplicadores timos associados s restries (5), (6) e (7) de PGDE. Ento uma soluo tima de PGE yj* = *j , j = 1,2, K , n ,
* * * seu valor timo v* e u * = ( u1 , u2 , K, u n ) so os multiplicadores timos associados s suas restries. Alm disso, xj* = exp (yj*) , j = 1,2, K , n resolve o problema PG.
No momento em que a soluo tima do problema PGDE encontrada, torna-se simples encontrar a soluo tima para o problema original. Por outro lado, se o problema geomtrico tem uma soluo tima e esta ponto interior das restries, ento pode-se mostrar que o
2206
problema PGDE tambm possui uma soluo tima ( * , u * ) com o mesmo valor na funo objetivo v*, e que uma soluo tima do PGDE pode ser obtida resolvendo-se o sistema abaixo:
* exp(v * ) T ak y = ln k , k J 0 , k
(8)
T ak y = ln * , k J i , i = 1,2, K, m : u i* > 0. ui k
* k
A tcnica de programao geomtrica foi implementada no software MATLAB verso 6.1, apresentando resultados satisfatrios para a maioria dos problemas de programao geomtrica posinomiais abordados em (Ruckaert et al, 1978). 2. Otimizao Multiobjetivo A otimizao multiobjetivo se distingue do todos os demais ramos da teoria de otimizao quanto ao sentido que o conceito de soluo de problema adquire. De fato, pode-se definir um problema de otimizao multiobjetivo como o problema de minimizar um vetor composto por funes escalares, escolhidas como forma de avaliar o impacto de decises factveis do problema sobre diferentes ndices de desempenho. Entretanto, sabe-se que o range de funes vetoriais est definido num conjunto parcialmente ordenado (por exemplo, o IRn), e que, portanto podem existir alternativas factveis que no satisfazem nenhuma relao de ordem, do tipo , inviabilizando desta forma a utilizao do conceito usual de soluo tima adotado em problemas mono-objetivos (escalares). Assim sendo, a soluo do problema depender da noo de equilbrio utilizada para resolver os conflitos que surgem da considerao simultnea de vrios objetivos. Veja (Ferreira, 1998) uma discusso mais detalhada. Um problema multiobjetivo genrico pode ser formulado no espao das variveis de deciso como
Minimizar f ( x),
x
responsvel pela distino bsica entre problemas de otimizao multiobjetivos e problemas de otimizao escalares. O conceito de soluo tima substitudo pelo conceito de soluo Pareto-tima ou eficiente. Diz-se que x * eficiente se no existe x tal que f i ( x) f i ( x * ) para todo i=1,2,...,m e f j ( x) < f j ( x * ) para pelo menos uma componente j. Mtodos, conceitos e aplicaes de otimizao multiobjetivo so discutidas em detalhes em (Steuer et al, 1986). Grande parte dos mtodos multiobjetivos existentes baseiam-se em tcnicas de escalarizao, isto , na transformao adequada do problema multiobjetivo num problema mono-objetivo. A tcnica de escalarizao mais simples consiste em atribuir pesos wi 0 , i =1,2,...,m (no todos nulos) aos objetivos e resolver o problema escalar resultante PW: Minimizar
w f ( x) sujeito a x .
i =1 i i
2207
w W := {w R m : w 0,
w
i =1
= 1}.
possvel mostrar que a soluo de PW ser eficiente se wi > 0 para todo i ou se x* for a soluo nica de PW para algum w W (Steuer et al, 1986). 3. Programao Geomtrica Multiobjetivo Esta Seo tem por objetivo apresentar os conceitos e procedimentos da Programao Geomtrica para problemas multiobjetivos na forma escalar ponderada. O problema de programao geomtrica multiobjetivo (PGM) escalarizado por esta tcnica definido como PGM : Minimizar s.a. w1f1 (x) + w2f2 (x) + K + wsfs (x) g i ( x) 1 , i = 1,2,K, m ,
xj > 0,
j = 1,2,K, n ,
w W = {w 0,
w
i =1
= 1}
onde
f ( x) = g i ( x) =
kJ i
T ,
k
i = 1,2,K, s , i = 1,2,K, m .
kJ i
T ,
k
e f1, f2,...,fs so funes posinomiais. s quantidades M, m, n definidas na Seo 1 acrescenta-se a quantidade s, que define o nmero de funes objetivos do problema. A funo objetivo do problema escalarizado pode ser escrita como
F ( x) = wi f i ( x) = wi Tk .
i =1 i =1 kJ i
Aplicando-se uma transformao logartmica nas variveis do problema anloga realizada por (2), obtm-se, para i=1,...,s.
wi f i ( x) =
k J i
wiTk =
k J i
wi k (e yj )
j =1
akj
kJ i
w
i
e ak y =
kJ i
i k
O problema de programao geomtrica multiobjetivo equivalente (PGME) pode ento ser reescrito na seguinte forma: PGME : Minimizar s.a. no qual
F ( y ) = wi k ,
i =1 kJ i
s w W = w 0 : wi = 1 , i =1
(9)
2208
G ( y ) = k .
i =1 kJ i
(10)
O problema dual lagrangeano (DL) do problema PGME DL : Maximizar { (u ) s.a u 0 }, onde (u ) = min{L( y, u )} e a funo lagrangeana L( y, u ) = ln[F ( y )] +
y
u ln[G ( y)] . O
i =1 i i
y L( y, u ) = ln[F ( y )] + u i ln[Gi ( y )] = 0.
i =1
(11)
A equao (11) composta de dois termos. O primeiro ser explicitado a seguir; o segundo obtido de forma anloga. Dado que
F ( y ) = wi k e ak y ,
t
i =1 kJ i s
e que
F ( y ) = wi k e ak y a k = wi k a k ,
t
i =1 kJ i
i =1 kJ i
obtm-se
ln F ( y ) =
F ( y ) 1 s = wi k a k . F ( y) F ( y ) i =1 kJ i
y L( y , u ) =
m u 1 s wi k a k + i k a k . F ( y ) i =1 kJ i i =1 kJ i Gi ( y ) kJ i
k =
wi k ; k J i e i = 1,K, s, F ( y) u k = i k ; k J i e i = 1, K , m, G( y)
(12) (13)
lagrangeana pode ser reescrita em termos de ( , u ) , eliminando a varivel y do problema multiobjetivo. Das expresses (9) e (10), obtm-se:
k =
i =1 kJ i
wi k 1 = F ( y ) = 1, F ( y) i =1 kJ i F ( y )
s
2209
i =1 kJ i s
wi k = k G( y) = ui . G( y) i =1 kJ i G ( y )
m
Logo,
k = 1 e
i =1 kJ i
i =1 kJ i
= ui .
(14)
As restries (14) so conhecidas como restries de normalizao. Usando a funo lagrangeana e as expresses (9) e (10) pode-se concluir que
y L( y, u ) =
k =1
a k = 0.
(15)
As restries (15) so conhecidas como restries de ortogonalidade. O segundo termo de (11) dado por
m m u i ln[Gi ( y )] = k ln k + u i ln(u i ) . i =1 kJ i k i =1
(16)
F ( y) =
obtm-se
wi k
k J i e i = 1,K, s.
(17)
t y = ln(wi ) + ln k + a k k Portanto,
s s s t y = k ln(wi ) + k ln k + k a k i =1 kJ i i =1 kJ i k i =1 kJ i s s = k ln(wi ) + k ln k . i =1 kJ i i =1 kJ i k
ln[F ( y)]
i =1 kJ i k
ln[F ( y )]
(18)
2210
Maximizar s.a.
k ln(wi ) + k ln
i =1 kJ i M k =1
k m + u i ln(u i ). k i =1
a = A = 0 , = 1,
k k =1 k kJ 0 k kJ i
= ui ,
k 0,
u i 0.
3.1 Um exemplo de uma aplicao real
A tcnica de Programao Geomtrica Multiobjetivo tem sido aplicada em muitos problemas da Engenharia. Apresenta-se a seguir, um problema aplicado Engenharia Civil, (Boyd & Vandenberghe, 2003). Um engenheiro tem como objetivo projetar uma casa, cujo projeto mostrado abaixo. A casa deve conter uma rea retangular mxima de largura u e altura v, o que leva a seguinte desigualdade
r v h + ruw
1
2211
w + 2 h + 2 r 2 + ( w / 2) 2 ,
no qual w a largura/base da casa, h a altura da parede, r a altura do telhado, variveis estas que esto limitadas inferiormente e superiormente por: wm w wM , hm h hM , rm r rM . O ngulo do telhado tambm limitado por
p m 2rw 1 p M .
A formulao matemtica do problema apresenta a seguinte forma geral,
v h + ruw 1 1, p m 2rw 1 p M , wm w w M , hm h h M , rm r rM . Para resolver este problema via Programao Geomtrica necessrio duas substituies de variveis, ou seja, v * = v h . Logo, v = v * + h . Atravs disso, considera-se,
t r 2 + ( w / 2) 2 t 2 r 2 + ( w / 2) 2 r 2 t 2 + (1 / 4) w 2 t 2 1
Assim temos, Max uv + uh e
Min w + 2 h + 2t
Logo a formulao matemtica do problema consiste em, Min w + 2 h + 2t e Max u (v * + h) + uh sujeito as restries : r 2 t 2 + (1 / 4) w 2 t 2 1 v * + ruw 1 1 p m 2rw 1 p M wm w w M rm r rM hm h h M 2212
4. Exemplos Numricos
Nesta seo so apresentados alguns exemplos adaptados de (Ruckaert, et al, 1978), aos quais a tcnica de programao geomtrica multiobjetivo foi aplicada. O problema geomtrico resolvido atravs do seu dual, no qual as restries so lineares e a funo objetivo cncava. A Figura 1 descreve o algoritmo implementado. Os parmetros de entrada (ak,k,w) do problema dual so obtidos do problema primal e usados pela funo fmincon do Toolbox Optmization (Matlab, verso 6.1) para encontrar o ponto de mnimo global da funo dual. Um ponto inicial factvel para fmincon pode ser obtido a partir da funo linprog (Matlab, verso 6.1) usada para resolver um problema linear artificial com as restries do dual. A soluo do dual fornece os valores timos nas variveis ( , u ). O Teorema 1 ento usado para recuperar a soluo tima do problema primal resolvendo-se o sistema de equaes (8).
Problema Primal
ak , k , w
Problema Dual fmincon
* , u * , v*
Resolver o Sistema Linear (8)
y*
x* = e y
*
A seguir so apresentados quatro problemas de otimizao no-linear abordados em (Ruckaert et al, 1978). Os pesos usados na resoluo de cada problema foram w1 = 0.5 e w2 = 0.5 (w1 + w2 = 1). Esses exemplos foram executados em um Pentium IV 2.4 GHz, com 512 Mbytes de memria RAM, usando o software MATLAB. Os objetivos e as restries so detalhados em cada exemplo e o problema geomtrico multiobjetivo assume a forma geral Minimizar w1 f 1 ( x) + w2 f 2 ( x) s.a.
g1 ( x) 1 , g 2 ( x) 1 . f1 ( x) = x11
1 1 f 2 ( x) = 5 x1 + 50.000 x11 + 20 x 2 + 72.000 x 2 + 10 x3 + 144.000 x3 1 1 g1 ( x) = x1 x 2 + 0.5 x3
2213
Soluo: x = [15.62568 47.06311 90.98856 6.21824] f1 (x) = 0.06399 , f2 (x) = 8241.61372 Tempo de processamento: 0.312 segundos. Exemplo 2 Objetivos: Restries
f 2 ( x) = x11
1 1 g1 ( x) = 4 x11 + 32 x 2 + 120 x3
Soluo: x = [25.42020 85.10842 204.27460] f1 (x) = 9432.65351, f2 (x) = 0.0393387 Tempo de processamento: 0.0393 segundos. Exemplo 3 1 1 f1 ( x) = 168 x1 x 2 + 3651.2 x1 x 2 x3 + 3651.2 x1 + 40.000 x 4 Objetivos:
1 1 f 2 ( x) = 5 x1 + 50.000 x11 + 20 x 2 + 72.000 x 2 + 10 x3 + 144.000 x3
1 g1 ( x) = 1.0425 x1 x 2
Restries
Soluo:
x = [40.96743 35.08547 74.31879 1.52849] f1 (x) = 487842.661505, f2 (x)=6859.94616 Tempo de processamento: 0.344 segundos.
Exemplo 4 Objetivos:
f1 ( x) = x11 0.22 0.40 f 2 ( x) = 592 x10.65 + 582 x10.39 + 1200 x10.52 + 370 x10.22 x 2 + 250 x10.40 x 2
0.62 0.40 0.85 + 210 x10.62 x3 + 250 x10.40 x 4 + 200 x10.85 x 4 1 1 g1 ( x) = x1 x 2 + 0.5 x3 1 g 2 ( x) = 0.01x3 x 4 + 0.01x 2 + 0.0005 x 2 x 4
Restries
Soluo: x = [0.01816 3.45693 62.94853 44.21842] f1 (x) = 55.05297 , f2 (x) = 453.76516 Tempo de processamento: 0.281 segundos.
Tcnicas de escalarizao como as implementadas neste trabalho so bastante utilizadas para gerar aproximaes da curva de trade-off (curva de pontos eficientes) de problemas multiobjetivos, para posterior escolha de uma soluo eficiente por parte de um tomador de decises. A principal desvantagem deste mtodo o alto custo computacional envolvido. No caso de problemas multiobjetivos posinomiais, esse custo substancialmente reduzido ao se adotar a formulao dual. A Figura 2 apresenta uma aproximao da curva de trade-off do Exemplo 4, obtida resolvendo-se o dual multiobjetivo para diferentes valores de w1 e w2 ( w1 + w2 = 1).
2214
2215
2216