• Nenhum resultado encontrado

UM ALGORITMO BRANCH-AND-BOUND COM BUSCA LOCAL PARA PROGRAMAÇÃO GEOMÉTRICA SIGNOMIAL

N/A
N/A
Protected

Academic year: 2021

Share "UM ALGORITMO BRANCH-AND-BOUND COM BUSCA LOCAL PARA PROGRAMAÇÃO GEOMÉTRICA SIGNOMIAL"

Copied!
12
0
0

Texto

(1)

UM ALGORITMO BRANCH-AND-BOUND COM BUSCA LOCAL PARA

PROGRAMAÇÃO GEOMÉTRICA SIGNOMIAL

Rúbia Mara de Oliveira*, Alfredo Del Sole Lordelo *, Paulo Augusto Valente Ferreira*

*

Universidade Estadual de Campinas

Faculdade de Engenharia Elétrica e de Computação, Av. Albert Einstein, 400, CEP: 13084-970, Campinas – SP

E-mails: {rubia, lordelo, valente}@dt.fee.unicamp.br

RESUMO

Este artigo tem por objetivo investigar a possibilidade de melhoria de um algoritmo do tipo

Branch-and-Bound (BB) voltado para problemas geométricos signomiais. A tentativa de melhoria consiste em

incorporar, ao algoritmo BB, um procedimento de busca local baseado no conceito de Condensação. O uso de condensação visa refinar o limitante superior do algoritmo, acelerando sua convergência. O algoritmo foi aplicado a diversos problemas clássicos da literatura, encontrando a solução ótima global em todos os casos.

PALAVRAS CHAVE.

Programação Geométrica Signomial, Branch-and-Bound, Otimização

Global, Condensação, Programação Matemática.

ABSTRACT

This paper aims at investigating the possibility of improvement of a Branch-and-Bound

algorithm (BB) directed to signomial geometric problems. The improvement consists in

incorporating, to the BB algorithm, a local search procedure based on the Condensation

concept. The use of Condensation aims at refining the upper bound, of the algorithm speeding

up its convergence. The algorithm has been applied to several classical problems, finding

global solutions in all problems tested.

KEYWORDS.

Geometric Signomial Programming, Branch-and-Bound, Global Optimization,

Condensation, Mathematical Programming.

1. Introdução

Otimização Global é uma especialização dentro da área de otimização dedicada à caracterização e à obtenção de mínimos (ou máximos) globais de problemas não-lineares. Soluções baseadas em otimização global são encontradas em diversos e importantes problemas práticos como: problemas de economia de escala, problemas de alocação e de localização, problemas de transporte e em diversos problemas de projeto presentes em Engenharia (Horst e Pardalos (1995)) e (Horst, et al. (1995)). Do ponto de vista computacional, problemas de otimização global pertencem à classe dos problemas NP-Completos (Vavasis (1995)), que são problemas em que o tempo computacional cresce exponencialmente com o tamanho da entrada de dados para todo método conhecido.

No trabalho de (Maranas e Floudas (1997)), os autores propõem um algoritmo que utiliza a técnica de Branch-and-Bound para otimização global de problemas de otimização não-linear. Um aspecto importante neste trabalho é a definição de um excelente limitante inferior para a solução global do problema.

(2)

Este artigo tem por objetivo incorporar ao algoritmo clássico proposto em (Maranas e Floudas (1997)) um limitante superior obtido por meio da técnica de Condensação. A condensação é usada como estratégia de busca local no algoritmo Branch-and-Bound, visando refinar o limitante superior, acelerando desta forma a convergência do algoritmo. Uma característica fundamental para o melhor desempenho do método proposto é a quantidade de pontos factíveis encontrados durante a execução do algoritmo. O algoritmo Branch-and-Bound com condensação foi aplicado a diversos problemas clássicos da literatura (Ruckaert, et al. (1978)).

O artigo está organizado da seguinte maneira: o problema de Programação Geométrica Posinomial e alguns conceitos básicos são descritos na Seção 2. Na Seção 3, os conceitos sobre Programação Geométrica Signomial são apresentados detalhadamente. Os passos básicos do algoritmo

Branch- and- Bound são discutidos na Seção 4. A técnica da Condensação é apresentada na Seção 5.

O algoritmo Branch-and-Bound com a busca local via condensação é aplicado em diversos problemas clássicos na Seção 6. Por fim, conclusões e considerações finais são apresentadas na Seção 7.

2. Programação Geométrica Posinomial

Programação Geométrica é uma técnica desenvolvida para resolver problemas algébricos de

programação não-linear. Os algoritmos de programação geométrica têm sido constantemente melhorados e atualmente são ferramentas poderosas para resolver problemas importantes em Engenharia. A Programação Geométrica surgiu com (Zener (1961)). O matemático Richard Duffin, comprometido com o desenvolvimento da teoria de dualidade, solidificou a proposta de (Zener (1961)) aplicando-a em suas teorias. Veja (Beightler e Phillps (1976)).

O desenvolvimento matemático da Programação Geométrica está baseado na relação de desigualdade entre somatórios e produtórios de números positivos. Este desenvolvimento teórico chamado Programação Geométrica é também conhecido como Programação Posinomial. Um problema de Programação Geométrica (PG) apresenta a seguinte forma geral:

(PG) . ,..., 2 , 1 , 0 . ,..., 2 , 1 , 1 ) ( s.a ) ( Minimizar n j x m i x g x f j i = > = ≤

Um posinômio

g

i

(x

)

é uma função composta por monômios Tk do seguinte tipo:

= = n j a j k k j k x T 1 α

no qual

α

k

>

0

e

a

kj, j=1,2,Κ,n são números reais. Como

x

>

0

, obtém-se Tk >0. Assim, a função objetivo e as restrições podem ser escritas como:

∈ = 0 , : ) ( J k k T x f

∈ = i J k k i x T g ( ): , i=1,2,Κ,m, }. , , 2 , 1 { 1 0 J J M J ∪ ∪Κ ∪ m = Κ

O conjunto

J

0 descreve os termos (monômios) da função objetivo e os conjuntos Ji, com i

representando uma restrição do problema, descrevem os termos de cada restrição. Esses conjuntos são mutualmente disjuntos; M representa o número total de termos, m o número total de restrições e n o número total de variáveis do problema.

Os resultados, desenvolvimento teórico e conclusões sobre Programação Geométrica podem ser visto em detalhe no trabalho de (Oliveira e Ferreira (2003)), publicado e apresentado no Simpósio Brasileiro de Pesquisa Operacional (SBPO-2003).

(3)

3. Programação Geométrica Signomial

Um problema de Programação Geométrica Signomial (PGS) é caracterizado por uma função objetivo e/ou restrições que são a diferença de dois posinômios, ou seja, o problema geométrico signomial contém um ou mais termos com coeficientes negativos. Cada monômio do problema é um produto de variáveis positivas, sendo que cada uma delas pode estar elevada a uma potência real, multiplicado por uma constante

α

k real:

=

=

n j a j k k jk

x

T

1

.

α

Assim, um posinômio gi(x)é um somatório de monômios

T

k

(

x

).

Veja (Maranas e Floudas (1997)). Agrupando-se os monômios de mesmo sinal, o problema (PGS) pode ser formulado como o seguinte problema de otimização nao-linear:

. ,..., 1 , 0 ) ( ) ( ) ( s.a ) ( ) ( ) ( minimizar (PGS) 0 0 0 m i x g x g x g x g x g x g i i i = − ≤ = − = − + − + (2) sendo . ,..., 1 , ) ( , ) ( 1 1 m i x x g x x g i jki i jki K k n j a j ik i K k n j a j ik i = = =

∑ ∏

∑ ∏

− + ∈ = − ∈ = + α α

Em (2),

x

=

(

x

1

,...,

x

n

)

é o vetor variável de variáveis positivas;

− +

i

i g

g e , para

i

=

1

,...,

m

são funções posinomiais em

x

;

a

jki são constantes reais arbitrárias e

α

k são coeficientes positivos. Os

conjuntos

k

i+

e

k

i− indicam que monômios positivos e negativos formam os posinômios

− + i i g g e , respectivamente.

3.1 Transformação em diferença de duas funções convexas

A função objetivo e as restrições da formulação original (PGS) são geralmente funções não-convexas. Aplicando-se em (2) a transformação

x

j

=

exp(

y

j

)

, para

j

=

1

,...,

n

,

obtém-se o seguinte problema denotado por (DC), cuja função objetivo e restrições são a diferença de duas funções convexas.

. ,..., 1 , ,..., 1 , 0 ) ( ) ( ) ( s.a ) ( ) ( ) ( minimizar (DC) 0 0 0 n j y y y m i y G y G y G y G y G y G U j j L j i i i = ≤ ≤ = ≤ − = − = − + − + sendo . ,..., 1 , exp ) ( , exp ) ( 1 1 m i y a y G y a y G i i K k n j j jki ik i K k n j j jki ik i = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ =

− + ∈ = − ∈ = + α α Dado que ln( Lj), L j x

(4)

3.2 Limitante Inferior

Um limitante inferior para o problema (DC) pode ser obtido através da minimização de uma relaxação convexa. Tal relaxação convexa é conseguida subestimando cada função côncava −Gi−,por uma função linear −L , para todo i i=1,...,m. Assim, obtém-se um problema Relaxado Convexo, denotado

por (RC), que proporciona um limitante inferior para o problema (DC).

. ,..., 1 , . ,..., 1 , 0 ) ( ) ( ) ( s.a ) ( ) ( ) ( minimizar (RC) 0 0 0 n j y y y m i y L y G y G y L y G y G U j j L j i i Conv i Conv = ≤ ≤ = ≤ − = − = − + − + sendo . ) , max( ; ) , min( ; ) exp( ) exp( ; ) exp( ) exp( ; ,..., 1 ; ) ( ; exp ) ( 1 1 1 1

= = ∈ = − ∈ = + = = − − = − − = = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ + = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ = − + n j U j jki L j jki U jk n j U j jki L j jki L jk L jk U jk L jk U jk jk L jk U jk U jk L jk L jk U jk jk K k N i i jki jk jk ik i K k n j j jki ik i y a y a Y y a y a Y Y Y Y Y B Y Y Y Y Y Y A M j y a B A y L y a y G i i α α

Veja (Maranas e Floudas (1997)) para detalhes sobre a obtenção das funções lineares Li( y). Observe que o limitante inferior de Gi , Li(y),

− −

− é composto da soma de funções lineares.

Claramente, quanto menor a diferença entre a função original Gi ( y)

e a linearização Li( y)

mais próxima a solução do problema (RC) estará da solução do problema (DC). A qualidade desses limitantes inferiores está relacionada à forma com que termos do tipo −exp( y) são aproximadas por funções lineares dentro do mesmo intervalo [YL,YU].

3.3 Redução da partição do retângulo

O limitante inferior para (PGS) pode ser obtido resolvendo-se o problema (RC). A qualidade do limitante inferior é melhorada pelo particionamento do hiper-retângulo inicial

.) ,..., 1 , (y yj yUj j n L

j ≤ ≤ = e, em seguida, resolvendo o problema associado a cada um deles. Para

alcançar este objetivo, pode-se tentar localizar os valores máximo e mínimo da variável yj para os

quais a restrição não-linear do problema (DC) permanece factível e o valor da função objetivo é menor que ou igual ao valor do limitante superior, U. Para cada j=1,...,n resolve-se então

(5)

. ,..., 1 , , ) ( , ,..., 1 , 0 ) ( s.a Maximizar Minimizar/ 0 n j y y y U y G m i y G y U j j L j i j = ≤ ≤ ≤ = ≤

No entanto, este é um problema não-convexo de dificuldade equivalente ao problema inicial (DC). Pode-se, entretanto resolver o problema relaxado, substituindo todas as funções não-lineares por suas respectivas relaxações convexas.

. ,..., 1 , , ) ( , 0 ) ( s.a Maximizar Minimizar/ 0 n j y y y U y G y G y U j j L j conv conv i j = ≤ ≤ ≤ ≤

A Figura 1 mostra a minimização/maximização de todas as variáveisy na região factível do j

problema relaxado, o que leva a novos limitantes para y (limites aprimorados). A relaxação convexa (área tracejada maior) é obtida através da substituição de toda função côncava por uma função não-linear. Enquanto a restrição convexa (área tracejada menor) é criada sempre que um ponto corrente for factível. Conceitos relacionados à restrição convexa será discutido com maiores detalhes na Seção 5.

Restrição convexa Limites iniciais Relaxação convexa

Limites aprimorados

Região factível não−convexa

Figura 1: Redução dos limitantes iniciais através da relaxação convexa. Limites Iniciais Relaxação Convexa

Restrição Convexa

Região factível não-convexa

(6)

4. Algoritmo Branch-and-Bound (BB)

O algoritmo Branch-and-Bound é uma técnica de otimização global que pode ser aplicada em problemas de complexidade NP-Completo, encontrando o mínimo global de uma função não-convexa

f sobre um hiper-retângulo n

ini R

Q ⊂ . O hiper-retângulo é iterativamente dividido até que o ótimo global seja obtido com uma dada precisão ε>0 Apesar de algumas vezes demandar um elevado esforço computacional, o algoritmo encontra a solução ε−ótima global em tempo finito.

O método Branch-and-Bound pode ser interpretado como uma maneira conveniente de gerar subdivisões no espaço de busca, utilizando limites superiores e inferiores para refinar progressivamente as áreas de interesse, evitando que todo o espaço de busca seja investigado. Este procedimento termina quando a diferença entre o limite superior e o inferior é menor que a tolerância

ε

.

No algoritmo BB aplica-se uma heurística para o particionamento do retângulo Qini que contribui

para a redução do número de buscas necessárias para encontrar a solução do problema. Para um retângulo QQini, define-se φmin(Q)=minxQ f(x). O algoritmo encontra φmin(Qini)com precisão

, 0 >

ε usando duas funções φlb(Q)eφub(Q) e definidas em {Q:QQini}, tais que ). ( ) ( ) (Q min Q ub Q lb φ φ φ ≤ ≤

No processo de ramificação (participação de retângulos), o número de retângulos é igual ao número de iterações. Retângulos podem ser eliminados caso o ponto de mínimo não pertence ao retângulo considerado.

Como previamente apresentado, o algoritmo proposto neste trabalho segue os passos básicos do algoritmo descrito em (Maranas e Floudas (1997)), apresentado a seguir.

Passo 1. Inicialização

Uma tolerância de convergência εc >0 e uma tolerância factibilidade εf >0 são definidas, um

contador Iter é inicializado. Limitantes globais apropriados yLBDj e UBD

j

y para as variáveis yj são

calculados através dos procedimentos da Seção 3.3. Os limitantes locais UIter j Iter L

j y

y , , , na primeira iteração são considerados iguais aos globais. Finalmente, os limitantes inferior e superior

UBD LBD

G

G0 e 0 do mínimo global de G são inicializados e o ponto inicial corrente 0*

Iter c

y , , factível para o problema relaxado, é determinado através de um algoritmo baseado no Método dos Elipsóides (Kachian (1979)).

Passo 2. Checar a factibilidade e atualizar o limitante superior G0UBD

Se o máximo sobre todas as restrições Gicalculado no ponto corrente Iter c

j

y , for menor que εf, isto é,

se , ) ( Max 1,.., , f Iter c i m i= G y ≤ ε

então as restrições são εf-factíveis no ponto corrente. O valor da função objetivo G é calculado no 0

ponto corrente yc,Iter e o limitante superior G0UBD é avaliado como segue:

)) ( , ( min 0 0 , 0 Iter c UBD UBD y G G G =

Passo 3. Partição do retângulo corrente O retângulo corrente y yUj Iter j n

Iter L

j , ] 1,...,

(7)

, 2 ) ( , , , , , , , ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + Iter U n Iter L n Iter U l Iter L l Iter L l Iter U l Iter L l y y y y y y y Iter Iter Iter Μ Μ Μ Μ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + Iter U n Iter L n Iter L l Iter U l Iter L l Iter U l Iter L l y y y y y y y Iter Iter Iter , , , , , , , 2 ) ( Μ Μ Μ Μ

onde lItercorresponde à variável com o maior lado no retângulo inicial, ). ( max arg , Lj,Iter Iter U j j Iter y y l = −

Passo 4. Checar a factibilidade da relaxação convexa (R)

Atualize em ambos os sub-retângulos (r=1,2)os parâmetros , , jk, jk,

U jk L jk Y A B Y como segue: . ) exp( ) exp( ; ) exp( ) exp( ; ) , max( ; ) , min( 1 1 L jk U jk L jk U jk jk L jk U jk U jk L jk L jk U jk jk n j U j jki L j jki U jk n j U j jki L j jki L jk Y Y Y Y B Y Y Y Y Y Y A y a y a Y y a y a Y − − = − − = = =

= =

Se existe i=0,...,m tal que um dos limitantes inferiores

, ,..., 0 , exp 1 1 , m i Y B A Y G i i k K n j U jk jk jk ik K k n j L jk ik L conv i ⎥ = ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + − ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ =

− + = ∈ = α α satisfaça , ,..., 1 algum para 0 , 0 , 0 G ou G i m

GconvLUBD iconvL ≥ =

então, elimine o sub-retângulo correspondente, vá para o Passo 6.

Passo 5. Solução do problema convexo dentro dos sub-retângulos

Resolva o seguinte problema de otimização convexa (RC) em ambos os sub-retângulos (r=1,2). Se a solução G0r,Iteré menor que o limitante superior, então GUBD0 é armazenado junto com o valor da variável y no ponto de solução yrj,,Itersol .

Passo 6. Atualização do contador Iter e do limitante inferior GUBD0

(8)

1 + ← Iter

Iter

e o novo limitante inferior é definido como o menor valor encontrado para os retângulos das iterações anteriores: , ' ,' , 0 0 Iter r sol LBD G G =

sendo Gor,sol,'Iter'= minr,iG0r.,soli ,r=1,2 I=1,...,Iter−1. (Iter’ armazena a iteração na qual ocorre o mínimo e

r’ indica o retângulo associado.)

Passo 7. Atualizar o ponto corrente e os limitantes do retângulo yc,Iter e os limitantes do retângulo yL,Iter,yU,Iter.

O novo ponto corrente é selecionado como aquele que leva ao mínimo do Passo 6:

.

' ,' , , r Iter sol j Iter c

y

y

=

Particiona-se o retângulo correspondente (r'=1ou r'=2)para obter os novos limitantes.

Passo 8. Checar a convergência

Se

(

)

c

LBD UBD

G

G0 − 0 >ε , vá para o Passo 2. Caso contrário, o ponto atual satisfaz a condição εc

-convergência e o ponto corrente é o mínimo global.

{

}

'' , * 0 , 0 '' '' , 0 * 0 ( ), onde arg ( ) , 1,..., Iter c UBD I c Iter c y y Iter I G y G Iter y G G ← = = = ←

5. Busca Local Via Condensação

Um tipo particular de transformação baseado na desigualdade geométrica-aritmética é chamada de Condensação. Esta técnica foi proposta inicialmente por (Duffin et al. (1967)). O princípio básico da condensação é aproximar uma função posinomial multi-termos por uma função de um único termo, isto é, por uma função monomial. Define-se o problema geométrico condensado como um problema geométrico na qual todas as funções posinomiais tenham sido reduzidas a funções de um único termo. Veja (Beightler e Phillps (1976)) para maiores detalhes.

Tomando-se uma desigualdade genérica na forma Gi+(x)−Gi−(x)≤0, a desigualdade pode ser reescrita como 1, ) ( ) ( ≤ − + x G x G i i na qual G (x) i + e G (x) i

são posinômios. O passo seguinte é condensar o

posinômio Gi(x) num monômio Gi−(x,x) no ponto

x

=

x

, a partir da desigualdade da média geométrica-aritmética: se xj >0, j=1,...,n,então

= = ≤ n j n j w j j j j x x w 1 1 , com wW.

Observe que a divisão de Gi+(x) por Gi−(x,x) leva a um posinômio. Veja (Oliveira (2005)) para

maiores detalhes. Um procedimento sub-ótimo para resolução de problemas signomiais via condensação é resumido a seguir.

(9)

Algoritmo de Condensação

Passo 1. Reescrever o problema de programação geométrica signomial na forma de função objetivo linear, na forma de uma variável adicional x0, e restrições não-lineares como razões de funções

posinomiais: 1, 1,2,... ; ) ( ) ( m i x G x G i i = − +

Passo 2. Condensar cada função posinomial Gi−(x), i=1,2,...,m num monômio Gi−(x,x) (função condensada), num dado ponto factível x;

Passo 3. Resolver o problema posinomial resultante através da técnica adequada (Oliveira e Ferreira, 2003) ;

Passo 4. O algoritmo termina quando a solução corrente for igual ao ponto de condensação. Não havendo convergência, retorna-se ao Passo 2, com a solução atual como o novo ponto da condensação.

A técnica da condensação foi usada como técnica de busca local no algoritmo BB com a finalidade de refinar o limitante superior. O Passo 2 do algoritmo BB foi adaptado para explorar esta técnica. A idéia fundamental consiste em criar uma restrição convexa do problema original sempre que o ponto corrente for factível. Com isso, resolvendo-se o problema convexo implicado, a melhoria do limitante superior seria acelerada. Os detalhes envolvidos na adaptação da técnica de condensação no Passo 2 do algoritmo BB são apresentados em (Oliveira (2005)). Assim, por simplicidade, apresenta-se apenas o resultado final do Passo 2 a seguir.

Passo 2: Se Gi x ≤εf

+

) (

max para i=1,2,...,mentão, o conjunto de restrições é εf-factível em Iter c y , . Resolve-se então, o Problema Condensado Convexo.

,...,m , i y y G y y Iter c i n 2 1 0 ) , ( ) ( G s.a Minimizar , i 1 = ≤ − + + com ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ − ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ =

+ = + = ∈ − + + 1 1 1 1 , , i exp exp ) , ( ) ( G n j j ji jki n j Iter c j ji K k i ik Iter c i y a y d y y G y i β β α e

∑ ∏

∑ ∏

− − ∈ + = − ∈ + = = = i jki i jki K k n j a Iter c j ik i Iter c i K k n j a Iter c j ik ji d x x G x 1 1 , , 1 1 , ) ( e ) ( ) ( α α β

Com a solução y*j, j=1,2,...,n,atualiza-se o limitante superior: )) ( , ( min 0 0 * 0 G G y GUBD = UBD .

(10)

6. Exemplos Numéricos

Nesta Seção apresentaremos seis problemas de otimização não-linear, abordados em (Ruckaert, et al. (1978)), que foram resolvidos usando o algoritmo Branch-and-Bound com a busca local via condensação. Uma característica fundamental para o melhor desempenho do método proposto é a quantidade de pontos factíveis encontrados durante a execução do algoritmo. As soluções dos problemas são apresentadas na Tabela 1. A plataforma computacional utilizada para a obtenção dos resultados é composta por um computador Pentium IV, 2.4 GHz com 512MBytes de memória RAM. O algoritmo foi implementando utilizando o software MATLAB® (V.6.5)/ Optimization Toolbox (V.2.1.1). Problema 1

. 0 , 1 05 . 0 7673 . 0 s.a 700 985 . 1 3.7 Minimizar 2 1 1 05 . 0 2 75 . 0 2 1 85 . 0 1 > ≤ − + + − x x x x x x x Problema 2 . 0 , , 1 0005 . 0 01 . 0 01 . 0 s.a 5 5 . 0 Minimizar 3 2 1 3 1 1 1 1 3 2 1 2 1 2 1 > ≤ + + − − − − − x x x x x x x x x x x x Problema 3 . 0 , , , 1 05882 . 0 2 4 1 1 . 0 05882 . 0 s.a 4 . 0 Minimizar 4 3 2 1 3 3 .. 1 2 1 4 71 . 0 2 1 4 2 1 4 3 67 . 0 3 67 . 0 1 1 > ≤ + + ≤ + + − − − − − − x x x x x x x x x x x x x x x x Problema 4

. 0 , , , , , , , 1 05882 . 0 2 4 1 05882 . 0 2 4 1 1 . 0 1 . 0 05882 . 0 1 1 . 0 05882 . 0 s.a 4 . 0 4 . 0 Minimizar 8 6 6 5 4 3 2 1 7 3 .. 1 6 1 8 71 . 0 2 1 8 6 3 3 .. 1 2 1 4 71 . 0 2 1 4 2 5 1 8 7 1 4 3 67 . 0 7 67 . 0 5 67 . 0 3 67 . 0 1 5 1 > ≤ + + ≤ + + ≤ + + ≤ + + + − − − − − − − − − − − − x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

(11)

Problema 5 . 0 , , , , , , , , , 1 10 1 1 1 5 1 10 1 05 . 0 05 . 0 1 5 s.a 4 . 0 4 . 0 Minimizar 10 9 8 7 6 5 4 3 2 1 10 1 8 6 1 8 1 8 1 2 7 1 2 2 . 1 10 8 1 7 1 6 1 10 1 9 8 5 . 1 7 1 6 1 3 1 1 3 2 3 2 . 1 5 3 1 2 1 1 1 5 1 4 3 5 . 1 2 1 1 67 . 0 7 67 . 0 5 67 . 0 3 67 . 0 1 6 > ≤ ≤ − ≤ + ≤ + ≤ − ≤ + ≤ + + + − − − − − − − − − − − − − − − − − − − − x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Problema 6 45 27 , 45 27 , 45 27 , 45 33 , 102 78 1 00012157 . 0 00007992 . 0 0.00029955 1 40584 . 0 2668 . 0 2275.1327 1 00007379 . 0 00010159 . 0 0.00024186 1 30586 . 0 42 . 0 1330.3294 1 00033085 . 0 00009395 . 0 7 0.00085300 1 0000734 . 0 00006663 . 0 0.00002584 s.a 2392 . 37 8357 . 0 3578 . 5 Minimizar 5 4 3 2 1 4 3 3 1 5 3 1 5 4 1 5 1 1 5 1 3 2 3 2 1 5 2 1 5 2 3 1 2 1 5 1 1 5 1 2 5 3 4 1 5 2 4 1 5 2 5 3 1 5 1 2 3 ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ + + ≤ − − ≤ + + ≤ − − ≤ + + ≤ + + + + − − − − − − − − − x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

A Tabela 1 exibe uma comparação entre duas soluções (Solução 1 e Solução 2). A tolerância fixa considerada para esses problemas foi ε=0.001.A Solução 1 adota o algoritmo BB com a busca local via condensação; a Solução 2 é a fornecida em (Ruckaert e Matens (1978)). O número de iterações necessárias para encontrar uma solução ótima global para cada problema também é apresentado na coluna Iters. Analisando a coluna FunObj1 (FunObj2) pode-se observar que os valores ótimos globais são praticamente os mesmos nas duas abordagens.

Tabela 1: Soluções encontradas usando o algoritmo BB com a Busca Local.

Prob Iters Solução 1 Solução 2 FunObj1 (FunObj2)

1 8 (0.746, 420.792) (0.819, 446) 11.9046 (11.91) 2 2 (87.97, 8.21, 1.36) (88.31, 7.45, 1.31) -83.23 (-83.21) 3 2 (7.42, 0.63, 0.75, 5.76) (8.13, 0.61, 0.56, 5.63) -5.5811 (-5.7398) 4 2 (5.87, 0.68, 1.16, 6.03, 2.52, 0.60, 0.48, 5.58) (6.46, 0.66, 1.01, 5.93, 2.23, 0.59, 0.40, 5.52) -6.0104 (-6.0482) 5 116 (1.73, 10.86, 8.25, 0.91, 0.29, 0.57, 8.34, 1.16, 0.94, 0.09) (2.09, 12.09, 7.90, 0.45, 0.35, 0.45, 10.45, 1.64, 1.19) 1.3354 (1.1436) 6 37 (78, 33.32, 31.07, 45, 34.13) (78, 33, 29.99, 45, 36.7673) 10302.0 (10127.13)

(12)

7. Conclusão

Neste artigo discutiu-se a possibilidade de melhoria de um algoritmo do tipo Branch-and-Bound voltado para problemas geométricos signomiais. A tentativa de melhoria consistiu em incorporar, ao algoritmo BB, um procedimento de busca local baseado no conceito de Condensação. O algoritmo foi implementado no software MATLAB® versão 6.5, aplicado a alguns problemas clássicos da literatura (Ruckaert et al. (1978)) e apresentou bom desempenho nos problemas testados. T

rabalhos futuros

visarão aplicar o algoritmo proposto a um número maior de problemas geométricos a fim de

demonstrar ganhos mais efetivos com o uso da busca local. Por fim, vislumbra-se uma

implementação do algoritmo na linguagem C

++

, combinada com pacotes de otimização

especializados para programação não-linear.

Agradecimentos

Os autores agradecem a FAPESP “Fundação de Amparo à Pesquisa do Estado de São Paulo” e ao CNPq “Conselho Nacional de Desenvolvimento Científico e Tecnológico ”pelo apoio financeiro. Referências

Beightler, C. e Phillps, D. T., Applied Geometric Programming, John Wiley & Sons, New York, 1976.

Duffin, R. J., Peterson, E. L. e Zener, C., Geometric Programming. John Wiley & Sons, New York, 1967.

Horst, R., Pardalos, P. M. e Thoai, N. V., Introduction to Global Optimization. Kluwer Academic Publishers, Netherlands, 1995.

Horst, R. e Pardalos, P. M., Handbook of Global Optimization. Kluwer Academic Publishers, Netherlands, 1995.

Kachian, L. G. (1979), A Polynomial Algorithm in Linear Programming, Soviet Mathematica

Doklady., 20, 191-194.

Maranas, C. A. e Floudas, C. A. (1997), Global Optimization in Generalized Geometric Programming. Computers e Chemical Engineering, 21, 351-367.

Oliveira, R. M. e Ferreira, P. A. V. (2003), Programação Geométrica Multiobjetivo: Uma Implementação Computacional Via Matlab. Atas do XXXV Simpósio Brasileiro de Pesquisa

Operacional, Natal.

Oliveira, R. M. (2005), Algoritmos de Busca Global para Problemas Geométricos e Multiplicativos. Tese de Doutorado da FEEC- UNICAMP.

Ruckaert, M. J. e Matens, X. M. (1978), Comparison of Generalized Programming Agorithms,

Journal of Optimization Theory and Applications, 26, 2, 205-242.

Vavasis, S. A., Complexity Issues in Global Optimization: A Survey, Handbook of Global Optimization Problems, 27-40. Kluwer Academic Publishers, Netherlands, 1995.

Zener, C. (1961), A Mathematical Aid in Optimizing Engineering Designs. Procedings of The

Referências

Documentos relacionados

1.3 Resolução exata de problemas Algoritmo de branch-and-bound Algoritmo de planos de corte 1.4 Utilização de

Em segundo lugar, o número de agricultores que cultivam variedades biotecnológicas poderá atingir, e até ultrapassar, a projeção de 20 milhões de plantadores de culturas

• Aumento do valor do ticket mínimo de investimento quando envolva transferência de capitais (i.e., de € 1.000k para € 1.500k), fundos de investimento/capital de risco (i.e., de

Os resultados obtidos neste trabalho mostram que o número de óbitos por causas externas em Alagoas no período do estudo, compreendido nos anos de 2000 a 2008, foi de 20.652

Nosso processo de caracterizac¸˜ao foi resultante da an´alise de trˆes estrat´egias, base- adas em caracter´ısticas lingu´ısticas do conte´udo, onde analisamos

Maria Alice Biscaro de Bakker A Justiça e a Misericórdia como mensagem de Salvação Universal: análise exegética de Jn 4,1-11 em seu contexto histórico e

• Manutenção Manutenção Manutenção ((((Gerou Manutenção Gerou Gerou recomendações Gerou recomendações para recomendações recomendações para para extensão para

Fundamental na intermediação dos referenciais simbólicos que utilizamos para compreender a vida cotidiana, o jornalismo também está sendo fortemente impactado por