• Nenhum resultado encontrado

3.10 Resultados num´ericos

4.1.3 Otimiza¸c˜ao unidimensional: M´etodo da Se¸c˜ao ´ Aurea

eficientes quando a fun¸c˜ao a ser minimizada ´e cont´ınua na primeira derivada. V´arios outros m´etodos, como o m´etodo de Newton, s˜ao somente apropriados quando a segunda derivada ´e facilmente calculada.

4.1.2

Otimiza¸c˜ao com restri¸c˜oes

Na otimiza¸c˜ao com restri¸c˜oes, o objetivo geral ´e transformar o problema em um conjunto de subproblemas que podem ser resolvidos usando um processo iterativo. Uma grande parte dos m´etodos transformam um problema com res- tri¸c˜oes em um problema sem restri¸c˜oes. Nestes casos o problema com restri- ¸c˜oes ´e resolvido usando uma seq¨uˆencia de otimiza¸c˜ao sem restri¸c˜oes parame- trizadas, a qual, no limite, converge para um problema com restri¸c˜oes. Atu- almente estes m´etodos s˜ao considerados relativamente ineficientes e tem sido trocados por m´etodos que est˜ao focados em solu¸c˜oes de equa¸c˜oes de Kuhn- Tucker (KT). As equa¸c˜oes de KT s˜ao condi¸c˜oes necess´arias para otimizar problemas com restri¸c˜ao. A solu¸c˜ao das equa¸c˜oes de KT forma a base para muitos algoritmos de programa¸c˜ao n˜ao-linear. Estes algoritmos esfor¸cam-se para calcular os Multiplicadores de Lagrange diretamente.

4.1.3

Otimiza¸c˜ao unidimensional: M´etodo da Se¸c˜ao

´

Aurea

O m´etodo da Se¸c˜ao ´Aurea estima o m´aximo, m´ınimo ou zero de uma fun¸c˜ao de uma vari´avel. ´E uma t´ecnica popular por v´arias raz˜oes: primeiro, se a fun¸c˜ao assumida for unimodal, ou seja, possui somente um ponto de m´aximo ou de m´ınimo no intervalo de busca, esta n˜ao precisa ter derivadas cont´ınuas (Bazarra et al., 1993). Segundo, ao contr´ario das t´ecnicas polinomiais ou

outras baseadas no ajuste de curvas, a raz˜ao de convergˆencia para o m´etodo da se¸c˜ao ´aurea ´e conhecida.

Para ilustrar os fundamentos do m´etodo, considere como problema de- terminar o m´ınimo de uma fun¸c˜ao f , sendo f uma fun¸c˜ao de uma vari´avel independente x. Assumindo que os limites maior e menor de x s˜ao xl e xu,

respectivamente, e as fun¸c˜oes calculadas em cada um dos limites s˜ao, respec- tivamente fl e fu (Figura 4.2), escolhe-se dois pontos intermedi´arios x1 e x2,

sendo x1 < x2, e avalia-se as fun¸c˜oes nestes pontos, dadas como f1 e f2,

respectivamente.

Como foi assumido que a fun¸c˜ao ´e unimodal, x1ou x2 s˜ao os novos limites.

Neste caso, f1 ´e maior que f2. Ent˜ao, como foi assumido que s´o existe um

m´ınimo no intervalo, este n˜ao estar´a entre xl e x1. Deste modo, x1 forma o

novo limite menor e tem-se um novo intervalo limitado por x1 e xu.

Como pr´oximo passo, precisa-se escolher um ponto adicional, x3, no qual

´e avaliado f3. No nosso exemplo, comparando f2 e f3, pode-se ver que f3

´e maior, e ent˜ao x3 ´e trocado por xu como o limite maior. Repete-se este

processo at´e encontrar a tolerˆancia desejada.

Precisa-se determinar um m´etodo para escolher os pontos interiores x1, x2,

x3, ..., para reduzir o limite rapidamente. Como, depois da escolha inicial xl,

xu e x1 a fun¸c˜ao ´e avaliada em cada itera¸c˜ao, ´e mais eficiente um algoritmo

que reduza os limites a uma mesma raz˜ao em cada itera¸c˜ao. ´E preciso escolher cada x1 que ser´a o novo limite menor ou x2 que ser´a o novo limite maior para

que estes valores sejam sim´etricos sobre o centro do intervalo, assim:

Assumindo que a raz˜ao:

r = x2− x1 xu− xl

(4.2) ´e constante ao longo das itera¸c˜oes, tem-se, substituindo (4.1) em (4.2):

r = x2− x1 xu− xl

= xu+ xl− 2x1 xu− xl

(4.3) Na pr´oxima itera¸c˜ao, se x1 se tornar o novo limite menor xl, ent˜ao x2 se

tornar´a x1 e a raz˜ao (4.3) se torna:

r = xu+ x1− 2x2 xu− x1 (4.4) Igualando-se (4.3) e (4.4), tem-se: xu+ xl− 2x1 xu − xl = xu+ x1− 2x2 xu− x1 (4.5) Ap´os algumas manipula¸c˜oes alg´ebricas, tem-se:

x1− xl

xu− xl

= x2− x1 xu− x1

(4.6) Por conveniˆencia, assuma que: xl = 0, e xu = 1. Agora x2 = 1 − x1 e a

equa¸c˜ao (4.2) ´e escrita como:

x1 = 1 − 2x1

1 − x1

(4.7) Simplificando:

x21− 3x1+ 1 = 0 (4.8)

Da equa¸c˜ao (4.8), tem-se duas ra´ızes: x1 =

3 ±√5

2 ⇒ {

x1 = 0.38197

Ignora-se a segunda ra´ız porque neste caso x1 ´e maior que o limite maior.

Desta forma, tem-se, finalmente:

x1 =

3 −√5

2 = 0.38197 (4.10)

x2 = 1 − x1 = 0.61803 (4.11)

A raz˜ao destas solu¸c˜oes ´e o n´umero conhecido como Se¸c˜ao Dourada: x2

x1

= 1.61803 (4.12)

que ´e empregado desde a idade antiga em constru¸c˜oes e desenhos. Da´ı o nome do m´etodo.

A se¸c˜ao dourada proporciona uma seq¨uˆencia ideal para dividir o intervalo e encontrar o valor m´ınimo de f . Pode-se definir os pontos interiores x1 e

x2 em termos de xl, xu e τ , onde: τ = 3 − 5 2 = 0.38197 = x1 (4.13) x1 = (1 − τ )xl+ τ xu (4.14) x2 = τ xl+ (1 − τ )xu (4.15)

O m´etodo da sec¸c˜ao ´aurea se baseia na t´ecnica de limita¸c˜ao da busca a um intervalo, isto ´e, consiste em reduzir os limites do universo da busca at´e que o intervalo formado pelos limites seja menor que um erro admiss´ıvel (Vanderplaats, 1999).

Como em um processo iterativo, precisa-se definir um crit´erio para a identificar quando o processo converge para a solu¸c˜ao aceit´avel. Assumindo

um intervalo inicial de incerteza, xu − xl, deseja-se reduzir o intervalo para

algum ε do intervalo inicial, chamado de tolerˆancia relativa, ou para algum ∆x que ´e uma tolerˆancia absoluta. O valor de ε ser´a encontrado da seguinte forma:

ε = ∆x

xu− xl

(4.16) Pode-se converter a tolerˆancia relativa ε para o n´umero m´aximo de fun¸c˜oes avaliadas. Assim, requer-se trˆes fun¸c˜oes para serem avaliadas: fl, f1 e fu,

para que o intervalo seja reduzido de τ (38%) em cada itera¸c˜ao. A tolerˆancia espec´ıfica ε ser´a:

ε = (1 − τ )N −3 (4.17)

onde N ´e o n´umero total de fun¸c˜oes a serem avaliadas, incluindo as trˆes iniciais, fl, f1 e fu. Da equa¸c˜ao (4.17) tem-se:

N = ln(ε)

ln(1 − τ ) + 3 = −2.078ln(ε) + 3 (4.18)

Por exemplo, se desejar reduzir o intervalo para 1% do intervalo inicial, ε = 0.01. De (4.18) tem-se:

N = 9.6 + 3 = 12.6 = 13 (4.19)

ou seja, 13 ´e o n´umero de fun¸c˜oes avaliadas.

Pode-se usar N como crit´erio de convergˆencia para terminar o processo de itera¸c˜ao. A tabela (4.1) mostra a tolerˆancia relativa para o n´umero de fun¸c˜oes N avaliadas.

O fluxograma 4.1 mostra como o algoritmo da se¸c˜ao ´aurea deve ser im- plementado.

xl, fl, xu, fu, N τ = 0.381966 x1= (1 −τ )xl+τ xu f1=f (x1) x2=τ xl+ (1 −τ )xu f2=f (x2) k = 3 k = k + 1 k ≥ N f1> f2 xu=x2 fu=f2 xl=x1 fl=f1 fl=f2 xl=x2 fl=f1 xl=x1 x2=τ xl+ (1 −τ )xu x1= (1 −τ )xl+τ xu f2=f (x2) f1=f (x1) Fim Sim Sim N˜ao N˜ao Iniciar

x

l

x

u

x

1

x

2

x

3

f

u

f

l

f

3

f

1

f

2

Intervalo inicial

Depois do primeiro passo

Depois do segundo passo

N ε N ε N ε 3 1 9 0.05573 15 0.00311 4 0.61803 10 0.03444 16 0.00192 5 0.38197 11 0.02129 17 0.00119 6 0.23607 12 0.01316 18 0.00073 7 0.14590 13 0.00813 19 0.00045 8 0.09017 14 0.00503 20 0.00028

Tabela 4.1: Raz˜ao de convergˆencia para o m´etodo da se¸c˜ao ´aurea.

4.1.4

Otimiza¸c˜ao multi-dimensional: M´etodo Simplex

1. O m´etodo simplex b´asico

O m´etodo Simplex (Spendley et al., 1962) ´e um m´etodo seq¨uencial de otimiza¸c˜ao que pode ser empregado tanto para maximizar como minimizar uma resposta. Um simplex ´e uma figura geom´etrica em n dimens˜oes, cons- titu´ıdo de n + 1 pontos. Cada dimens˜ao corresponde a uma vari´avel a ser otimizada. Um simplex em duas dimens˜oes ´e um triˆangulo, em trˆes dimens˜oes ´e um tetraedro, e assim sucessivamente. O m´etodo pode ser estendido para maiores dimens˜oes, mas n˜ao ser´a f´acil a visualiza¸c˜ao do simplex. Apesar disto, o m´etodo Simplex pode ser aplicado, teoricamente, para a otimiza¸c˜ao de qualquer n´umero de vari´aveis.

O procedimento de otimiza¸c˜ao, no m´etodo Simplex, come¸ca pela escolha dos n + 1 pontos onde ser´a feita a avalia¸c˜ao da resposta. Na Figura 4.3 temos um exemplo do processo para o qual a otimiza¸c˜ao come¸ca com os pontos P0,

P1 e P2. Esses formam um triˆangulo e atrav´es da an´alise da figura, o ponto

P0 mostra ter a pior resposta dos trˆes. Uma conclus˜ao l´ogica ´e que a melhor

resposta est´a na dire¸c˜ao oposta a este ponto. Portanto, o simplex ´e refletido de modo que o ponto P3, oposto ao ponto P0, seja obtido. Os pontos P1,

P2 e P3 juntos formam um novo simplex. O procedimento ´e repetido suces-

sivamente, descartando-se a pior resposta. Portanto, o objetivo do m´etodo seq¨uencial Simplex ´e for¸car o simplex a mover-se para a regi˜ao de resposta ´otima. As decis˜oes requeridas para que isso aconte¸ca constituem as chamadas “regras” do procedimento simplex.

2. O m´etodo simplex modificado

Em 1965, Nelder e Mead propuseram modifica¸c˜oes no procedimento o- riginal de movimenta¸c˜ao do simplex b´asico, que permitiu obter um ponto ´otimo estacion´ario com suficiente precis˜ao e clareza, al´em de permitir um desenvolvimento mais r´apido do simplex em dire¸c˜ao ao ´otimo, originando o denominado M´etodo Simplex Modificado (MSM). A principal diferen¸ca do M´etodo Simplex Modificado em rela¸c˜ao ao m´etodo que lhe deu origem ´e que podem ser alterados o tamanho e a forma do simplex. As regras de movimenta¸c˜ao do m´etodo Simplex b´asico s˜ao v´alidas e a estas foram acrescidas, por Nelder e Mead, outras que caracterizam o m´etodo simplex modificado.

Considera-se inicialmente, a minimiza¸c˜ao de uma fun¸c˜ao de n vari´aveis, sem restri¸c˜oes. P0, P1, ..., Pn s˜ao os (n+1) pontos no espa¸co de n dimens˜oes

definindo o simplex.

Escreve-se yi para o valor da fun¸c˜ao em Pi, e define-se:

yh = max(yi)

yl = min(yi)

A seguir, ´e definido P como sendo o centr´oide dos pontos com i 6= h, e escrevemos [PiPj] como sendo a distˆancia de Pi at´e Pj. A cada est´agio do

P

0

P

1

P

2

P

3

P

4

P

5

x

1

x

2

processo Ph ´e trocado por um novo ponto, onde s˜ao usadas trˆes opera¸c˜oes:

reflex˜ao, contra¸c˜ao e expans˜ao.

A reflex˜ao de Ph ´e denotada por P∗, e suas coordenadas s˜ao definidas pela

rela¸c˜ao:

P∗ = (1 + α)P − αPh (4.20)

onde α ´e uma constante positiva chamada de coeficiente de reflex˜ao, de forma que:

[P∗P ] = α[P

hP ] (4.21)

Se y∗ est´a entre y

h e yl, ent˜ao Ph ´e trocado por P∗ e come¸ca novamente

com um novo simplex. Se y∗ < y

l, isto ´e, se a reflex˜ao definiu um novo m´ınimo, ent˜ao expande-se

P∗ para P∗∗ atrav´es da rela¸c˜ao:

P∗∗= γP∗+ (1 − γ)P (4.22)

onde γ ´e o coeficiente de expans˜ao, o qual ´e maior que 1, e ´e a raz˜ao entre as distˆancias [P∗∗P ] e [PP ].

Se y∗∗< y

l, troca-se Ph por P∗∗ e reinicia-se o processo. Mas se y∗∗> yl,

ent˜ao tem-se uma falha de expans˜ao, e troca-se Ph por P∗ antes de reiniciar.

Se na reflex˜ao de P para P∗ encontrar y > y

i para todo i 6= h, ou seja, se

trocando P por P∗ tornou y o ponto de m´aximo, ent˜ao, define-se um novo

Ph no lugar do antigo Ph ou de P∗, qual dos dois tiver o valor menor de y.

Em seguida calcula-se P∗∗ a partir da equa¸c˜ao:

P∗∗= βP

onde β ´e o coeficiente de contra¸c˜ao que est´a entre 0 e 1 e representa a raz˜ao entre as distˆancias [P∗∗P ] e [P P ]. Aceita-se P∗∗ no lugar de P

h e reinicia,

a n˜ao ser que y∗∗ > min(y

h, y∗), ou seja, o ponto contra´ıdo ´e pior que o

melhor entre Ph e P∗. Para tal falha de contra¸c˜ao, troca-se todos os Pi por

(Pi+ Pl)/2 e reinicia o processo (Nelder e Mead, 1965).

Como crit´erio de parada, tem-se a restri¸c˜ao

rX

(yi− y)2/n < ε (4.24)

onde ε ´e um valor pequeno, maior que zero, previamente definido. O m´etodo completo ´e dado no fluxograma (4.4).

4.2

Otimiza¸c˜ao de estruturas de materais com-

Documentos relacionados