Vous êtes sur la page 1sur 13

A pesquisa Operacional e os Recursos Renovveis

4 a 7 de novembro de 2003, Natal-RN

PROGRAMAO GEOMTRICA MULTIOBJETIVO: UMA IMPLEMENTAO COMPUTACIONAL VIA MATLAB


Rbia Mara de Oliveira*, Paulo Augusto Valente Ferreira* Universidade Estadual de Campinas Faculdade de Engenharia Eltrica e de Computao, Av. Albert Einstein, 400, CEP: 13084-970, Campinas SP E-mails: {rubia, valente}@dt.fee.unicamp.br
Resumo: Neste trabalho feito um estudo sobre Programao Geomtrica (PG), uma tcnica desenvolvida a partir de 1961 para resolver problemas algbricos de Otimizao No-Linear. O objetivo principal consiste em apresentar uma extenso da tcnica para problemas de Otimizao Multiobjetivos, a qual foi implementada em um ambiente MATLAB e testada em alguns exemplos da literatura.
*

Palavras-chave: Programao Geomtrica, Programao Multiobjetivo, Mtodos Numricos.


Abstract: In this paper, Geometric Programming (GP), a technique being developed since 1961 for solving algebraic non-linear optimization problems, is addressed in a multiobjective optimization framework. The main objective is to present an extension of the technique for multiobjective problems, which has been implemented in MATLAB and tested in some examples from the literature.

Keywords: Geometric Programming, Multiobjective Programming, Numeric Methods


Introduo Problemas de otimizao quase sempre so formulados em termos mono-objetivos, isto , minimiza-se uma nica funo objetivo sujeito a restries. A escolha da funo objetivo condiciona a obteno da soluo tima. Problemas multiobjetivos consistem na otimizao de um vetor composto por funes objetivos, escolhidas como forma de avaliar o impacto das decises factveis do problema de acordo com diferentes ndices de desempenho. A Programao Geomtrica (Zener, 1961) surgiu para resolver problemas algbricos de programao no-linear nos quais as funes analisadas se apresentam na forma chamada posinomial. Os algoritmos de programao geomtrica tm sido recentemente melhorados e atualmente so ferramentas poderosas para resolver problemas importantes em Engenharia. O desenvolvimento matemtico da Programao Geomtrica est baseado na relao da desigualdade da mdia aritmtica-geomtrica entre somatrios e produtrios de nmeros positivos. Veja (Duffin et al, 1967) e (Beightler et al, 1976) uma exposio detalhada sobre Programao Geomtrica e suas aplicaes podem ser encontrada em (Bazaraa et al, 1993). Este artigo apresenta uma aplicao da Programao Geomtrica no contexto dos problemas de otimizao multiobjetivos. Na seo 1 o problema de Programao Geomtrica descrito, os conceitos bsicos so introduzidos e o problema dual geomtrico apresentado. Na seo 2 o problema de Otimizao Multiobjetivo formulado. Na seo 3 os conceitos da PG so estendidos para problemas de otimizao multiobjetivos. O desenvolvimento dos problemas primal e o dual geomtrico multiobjetivo so apresentado. Na seo 4 a tcnica aplicada em problemas da literatura (Ruckaert et al, 1978). Concluses e extenses da tcnica so apresentadas na seo 5.

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)

Um posinmio g i ( x) a soma de monmios Tk do tipo

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

PGE : Minimizar s.a.

ln[F ( y )] ln[Gi ( y )] 0 i = 1,2,K, m y Rn F ( y) = G( y) =


kJ 0

, , 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

Gi ( y ) , i = 1,2,K, m so funes convexas sobre y R n .


O problema PGE ser resolvido atravs de dualidade. Pelo Teorema Forte da Dualidade no existe gap de dualidade entre PGE e o seu dual. Demonstra-se ento (Bazaraa et al, 1993) que o problema dual lagrangeano equivalente dado por

k m PGDE : Maximizar k ln + u i ln(u i ) k =1 k i =1


M

s.a.

a = A = 0 , = 1,
k k =1 k kJ 0 k kJ i

(5) (6) (7)

= 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

onde f = ( f1 , f 2 , K , f m ) e m 2 . Observe que f : X IR m , isto , cada ponto

x mapeado no espao real m-dimensional. A ordenao parcial dos vetores do IRm

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

Sem perda de generalidade, pode-se considerar

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

ln[F ( y )] ln[Gi ( y )] 0 i = 1,2,K, m y Rn

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

mnimo desta funo encontrado quando y L( y, u ) = 0 , ou seja,

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

O gradiente da funo Lagrangeana assume ento a forma

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

Definindo 1 , 2 , K , m de acordo com

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:

e reorganizando as dependncias de F , Gi , k , k e i = 1, K , m e k = 1, K , M , a funo

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)

Resta calcular ln[F ( y )] . Usando as equaes (14) e (15) e o fato de que

F ( y) =
obtm-se

wi k

k J i e i = 1,K, s.

(17)

ln[F ( y )] = ln(wi ) + ln( k ) ln( k )

= ln(wi ) + ln( k e ak y ) ln( k )


t y ln( k ) = ln(wi ) + ln( k ) + a k

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)

Substituindo as equaes (16) e (18) na funo lagrangeana, obtm-se

2210

s s k m k m = + + ln( w ) ln ln u i ln(u i ) L( y , u ) k i k k + i =1 kJ i i =1 kJ i k i =1 kJ i k i =1 s M m = k ln(wi ) + k ln k + u i ln(u i ). i =1 kJ i k =1 k i =1

O problema dual geomtrico multiobjetivo equivalente (PGDME) obtido na seguinte forma:

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

O custo da casa descrito por

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,

Max uv (rea) restries

Min w + 2 h + 2 r 2 + ( w / 2) 2 (custo) sujeito as seguintes

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
*

Figura 1: Resumo da tcnica de PG aplicada em problemas PMO

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

Exemplo 1 Objetivos: Restries

2213

1 g 2 ( x) = 0.01x3 x 4 + 0.01x 2 + 0.0005 x 2 x 4

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

1 1 f1 ( x) = 5 x1 + 50.000 x11 + 20 x 2 + 72.000 x 2 + 10 x3 + 144.000 x3

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

g 2 ( x) = 0.00035 x1 x3 g 3 ( x) = 1.25 x1 x 4 + 41.63 x11


1

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

Figura 2: Aproximaes da curva trade-off


Concluso Neste artigo foram abordados conceitos e mtodos relativos a Programao Geomtrica e Programao Geomtrica Multiobjetivo. Atravs de procedimentos anlogos ao caso monoobjetivo (Bazaraa et al, 1993) obteve-se um problema dual equivalente parametrizado por w W . O objetivo principal do artigo foi a aplicao dos conceitos de PG e a implementao de um algoritmo baseado na tcnica em estudo para programao geomtrica multiobjetivo. O algoritmo foi implementado no software MATLAB verso 6.1, e aplicado a alguns problemas adaptados de (Ruckaert, et al, 1978), alcanando resultados satisfatrios. Numa prxima fase da pesquisa sero abordados problemas de PG do tipo signomial, onde alguns dos s so negativos, atravs de tcnicas de otimizao global. REFERNCIAS BIBLIOGRFICAS (1) Bazaraa, M. S., Sherali, H. D. & Shetty, C. M. (1993). Nonlinear Programming Theory and Algorithms. 2nd. Edition, John Wiley & Sons, Inc. (2) Beightler, C. & Phillps, D. T. (1976). Applied Geometric Programming. John Wiley & Sons. (3) Boyd, S. & Vandenberghe, L. (2003). Convex Optimization, Draft. Version, 2003. (4) Duffin, R. J., Peterson, E. L. & Zener, C. (1967). Geometric Programming. Wiley, New York. (5) Steuer, R. E. (1986). Multiple Criteria Optimization: Theory, Computation, and Applications. Wiley, New York. (6) Ruckaert. M. J. & Matens, X. M. (1978). Comparison of generalized programming algorithms. Journal of Optimization Theory and Applications, 26 (2),205-242. (7) Zener, C. (1961). A mathematical aid in optimizing engineering desing. Proc. Natl. Acad. Sci., 47 (4),537-539.

2215

(8) Ferreira, P.A.V.(1998). Modelagem, nalise e Projeto de Sistemas com

Mltiplos Objetivos. Tese de Livre-Docncia, FEEC/UNICAMP.


(9) Matlab, verso 6.1 site: www.mathworks.com

2216

Vous aimerez peut-être aussi