Anda di halaman 1dari 9

Mtodos Estocsticos em problemas de otimizao

Claudir Oliveira, Prof. Gustavo Platt


Instituto Politcnico, IPRJ, UERJ,
Nova Friburgo, RJ
E-mail: coliveira@iprj.uerj.br
Resumo: Os mtodos de otimizao estocstica so bastante utizados na minimizao num-
rica de funes e problemas diversos dentro da engenharia. Neste trabalho sero avaliado trs
mtodos no contexto de algoritmos meta-heursticos utilizado na busca de mnimos de funes.
Os mtodos utilizados consiste em: Evoluo Diferencial, Harmony Search e Firey. Foram
realizados estudos comparativos de desempenho nos mtodos utilizados e apresentados na forma
de grcos e tabelas.
1 Introduo
Para encontrar as solues para problemas de otimizao, podemos usar de mtodos
convencionais de otimizao existentes. Entretanto, os problemas de otimizao globais so, na
maioria das vezes, no-lineares e os mtodos heursticos, como algoritmo Gentico por exemplo
e suas variaes possibilitam na resoluo desses problemas mais difcies e com algum grau
de incertezas presentes. Um dos mtodos usados neste trabalho, inspirado nos princpios do
algoritmo gentico, consiste na Evoluo Diferencial (Dierential Evolution - DE) que um
mtodo heurstico baseado em estratgias evolutivas populacional. O Harmony Search (HS)
por sua vez um algoritmo de otimizao relativamente recente que se baseia na imitao
de composio de msicas tais como reproduo aleatria de notas. O Firey, como muitos
algoritmos meta-heursticos, baseado em comportamentos encontrados na natureza e ser
exposto na seo seguinte. Para teste de desempenho dos algoritmos estocsticos foi aplicado a
seguinte equao,
f(x) =
_
d

i=1
|x
i
|
_
_
_
_
_
_
_
e
d

i=1
x
2
i
_
_
_
_
_
_
(1)
2 Descrio dos mtodos utilizados
2.1 Evoluo Diferencial
Na funo objetivo que se deseja minimizar (ou maximizar) o nmero da populao
(NP) pode ser denido com o tamanho igual a N dimens ao do problema, de forma a gerar
a populao inicial. Na terminologia da evoluo diferencial, cada indivduo chama um vetor e
cada varivel correspondente na funo do objetivo possui um vetor componente. O valor de um
componente do vetor escolhido aleatoriamente de tal modo que o seu valor se encontre entre
o limite inferior (Lower) especicado e o limite superior (Upper).
Na mutao, para cada i de indivduos NP, o chamado vetor alvo ou vetor tentativa F gera
um vetor mutante calculado pela seguinte expresso: v
i,G+1
= x
r1,G
+ F(x
r2,G
x
r3,G
), onde
G representa a gerao, r
1
,r
2
e r
3
so os trs nmeros aleatrios distintos entre si no intervalo
[0, NP 1] de tal forma que r1 = r2 = r3 = i. O termo F o vetor que determina a taxa de
evoluo da populao. um valor aleatrio no intervalo [0, 2].
O vetor mutante submetido a um cruzamento de mistura de componentes do seu vetor
(Crossover) com o vetor tentativa F em um processo de recombinao, sendo comparado por
elementos um a um. O mtodo de passagem denida de tal forma que um novo vetor
denido atravs da substituio de alguns componentes do vetor mutante por os componentes
correspondentes no vetor alvo. O nmero de componentes substitudos determinado pela
probabilidade de cruzamento (CR).
Finalmente, na seleo, o vetor obtido a partir do passo anterior comparado com o vetor
alvo. Se este produzir um melhor valor na funo objetivo (f (u
i,g+1
) f (x
i,G
)), neste caso,
espera-se que seja menor, ento ele substitui o vetor alvo na populao (x
i,G+1
= u
i,g+1
), sendo
escolhido portanto, para participar da prxima gerao. Caso contrrio, faz-se x
i,G+1
= x
i,G
. Os
passos descritos continuam at que o nmero mximo de geraes seja atingido e/ou o critrio
de convergncia seja satisfeito [6].
Resumidamente pode ser representado pelo seguinte esquema: Inicializao Mutao
Recombinao SeleoMutao ..., estabelecendo-se os seguintes critrios:
u
j,i,G+1
=
_
v
j,i,,G+1
se rand
i,j
CR ou j = I
rand
x
j,i,G
se rand
j,i
> CR e j = I
rand
(2)
sendo i = 1, 2, ..., N; j = 1, 2, ..., D e rand U[0, 1], I
rand
um nmero inteiro aleatrio a partir
de [1, 2, ..., D] que garante que v
i,G+1
= x
i,G
.
2.2 Harmony Search
O Hamony Search (HS) um algoritmo meta-heurstico de otimizao que foi recente-
mente desenvolvido por Geem et al. (2001). O algoritmo HS possui um conceito simples, com
poucos parmetros e de fcil implementao. Em resumo, o HS envolve os seguintes parmetros:
o tamanho da memria harmnica (HMS), taxa considerada da memria harmnica (HMCR),
a taxa de ajuste do passo (PAR), a largura de banda ou tamanho do passo para a perturbao
variante durante o ajuste (bw), e o nmero de improvisaes (NI). A memria harmnica uma
localizao da memria onde um conjunto de vetores de solluo para as variveis de deciso
armazenada. Os parmetros HMCR e PAR so utilizados para melhorar o vetor soluo e
aumentar a diversidade do processo de busca. Para resolver este problema de otimizao, o HS
executa as seguintes etapas [2]:
1) Inicializa o problema e os parmetros do algoritmo.
2) Inicializao a memria harmnica. Primeiramente , os parmetros de HS, ou seja, (HMS,
HMCR, PAR, bw) so denidas e a memria harmnica inicializada. Geralmente, os valores
iniciais da memria harmnica so gerados a partir de uma distribuio uniformes nos limites
da varivel de deciso: u
i
= lb
i
+rand(ub
i
-lb
i
), onde rand (0, 1) .
2
3) Improvisao de uma nova harmonia. O vetor da nova harmonia v
i
=
_
x

1
, x

2
, x

3
, ..., x

N
_
obtido usando as seguintes etapas: considerao da memria e o ajuste do passo da seleo
aleatria [3].
4) Atualizao da memria harmnica.
5) Verica o critrio de parada. Mais detalhes sobre essas etapas do algoritmo podem ser
encontrada em [2]. Resumidamente o algoritmo pode ser apresentado atravs do uxograma a
seguir.
Figura 1: Fluxograma do algoritmo Harmony Search
2.3 Firey
O algoritmo Firey foi desenvolvido por Xin-She Yang [4] e baseado no comporta-
mento idealizado das caractersticas brilhantes dos vagalumes [7][8]. Para simplicar, podemos
resumir essas caractersticas intermitentes como os trs seguintes regras:
i) Os vagalumes em questo no possuem distino entre sexos, ento todos os vagalumes
de uma determinada populao podem atrair-se entre si.
ii) A atratividade proporcional ao seu brilho, assim, os vagalumes avanam para o mais
brilhante. A capacidade de atraco proporcional ao brilho e eles diminuim medida que
aumenta a sua distncia. Se no houver mais brilho o vagalume vai se mover aleatoriamente;
iii) O brilho de um vagalume diretamente afetado pela topologia da funo a ser otimizada.
H duas questes importantes nesse algoritmo: a variao da intensidade da luz e a formulao
da atratividade. Em resumo, podemos assumir que a capacidade de atrao de um vagalume
determinada pelo seu brilho que por sua vez est associado com a funo objetivo.
Para casos simples de otimizao, a luminosidade I de um certo indivduo em uma posio
x pode ser determinada por I f(x). Entretanto, a atratividade relativa, pois varia com a
distncia entre os indivduos. Considerando-se os efeitos da distncia r sobre a luminosidade e
introduzindo o coeciente de absoro de luminosidade do meio, encontra-se a expresso:
I(r) = I
0
e
r
2
(3)
Como a atratividade de um vagalume proporcional sua luminosidade percebida pelos
outros indivduos, pode-se deni-la como:
=
0
e
r
2
(4)
onde r a distncia entre cada par de vagalumes e
0
a atratividade em r = 0 ou seja, quando
dois vagalumes so encontrados no mesmo ponto do espao de busca S. importante ressaltar
3
que o expoente r pode ser substiuido por outra funo como r
m
onde m > 0. A distncia
entre dois vagalumes i e j em x
i
e x
j
pode ser a distncia Euclidiana dada por
r
ij
= x
i
x
j

2
=

_
d

k=1
(x
i,k
x
j,k
)
2
(5)
O movimento do vagalume i atrado em direo a outro mais atraente j determinado por:
x
i
= x
i
+
0
e
r
2
ij
(x
j
x
i
) +
i
(6)
onde o segundo termo a atrao entre dois indivduos, e o terceiro termo a randomizao
com o vetor aleatrio da varivel
i
sendo estabelecido a partir de uma distribuio Gaussiana
e [0, 1].
O parmetro o parmetro randomico. Na maioria dos casos, o termo pode ser igual a 1 e
o termo aleatrio pode ser usado como uma distribuio estatstica como, por exemplo, a normal
N(0, 1). O parmetro determina a taxa de absoro de luminosidada do meio e desempenha
um papel fundamental na velocidade de convergncia do mtodo. Tipicamente varia entre 0,01
e 100. Baseando-se nas regras acima, possvel denir o pseudocdigo do algoritmo, como
mostrado a seguir[7]:
Algoritmo 1 Algoritmo Firey
- Funo Objetivo f(x),x = (x
1
, x
2
, ..., x
n
)
T
- Inicializa a populao x
i
do firefly (i = 1, 2, 3, ..., n)
- Defina o oeficiente de absoro de luz
- Wilhe(t < MaxGen)
for i=1:n
for j=1:i
Intensidade da luz I
i
para x
i
determinado por f(x)
if(I
i
> I
j
)
Mover o firefly i em direo a j na dimenso d Eq. ()
else Move o firefly i randomiccamente
end if
A atratividade varia com a distncia r atravs da expresso e
r
2
Avalia novas solues e atualiza a intensidade de luz
end for j
end for i
Avalia o firefly e encontra o melhor resultado atual
end while
Processa resultados para visualizao.
3 Mtodologia, resultados e discusses
Para a avaliao dos mtodos aplicados foram realizados diversas execues com os
trs algoritmos, considerando parmetros comuns a cada um visando observar a eccia dos
mtodos. Primeiramente foi feito o esboo do grco tridimensional e das curvas de nveis da
funo objetivo proposta, Eq. (1) Atravs das Figs. (2a-b) possvel observar que a funo
possui quatro mnimos globais que sero aproximadas empregando os mtodos.
4
a) b)
Figura 2: Representao tridimensional (a) da Eq. (1) e (b) as curvas de nvel correspondente.
Nos experimentos de busca do valor timo foram considerados os seguintes parmetros ini-
ciais: NP = HMS = 75, F = 0, 6, PAR = 0, 8, CR = HMCR = 0, 834 e Ftol = 1, 0e 4,
empregando os limites 3 e 3 para as variveis x
1
e x
2
. O nmero de geraes (G) e improvisos
(NI) para os mtodos foram variados a cada execuo (Ver Tabelas), entretanto, no foram
necessrias um grande nmero de geraes para que os algoritmos encontrasse uma soluo com
boa acurcia. Os resultados apresentados nas Tabs. (1-3) foram adquiridos considerando os
parmetros experimentais e resumem o total de 8 execues realizadas pelos algoritmos.
Tabela 1: Solues aproximadas, encontradas para os limites -3 e 3 em 8 execues.
DE
run N Gerao x1 x2 Funo Objetivo Avaliao da F.O
1 50 -0,49950929 -0,4995092 -0,606530 1539
2 100 -0,45939203 -0,4593920 -0,602428 2951
3 250 0,53001358 0,530013 -0,604390 5932
4 500 -0,50356722 0,5035672 -0,6064998 6117
5 1000 0,50363842 0,5036384 -0,606498 3595
6 2500 -0,4914300 -0,49538511 -0,6064537 5478
7 3500 -0,500178 -0,5001786 -0,6065305 6040
8 5000 0,51889038 -0,496148 -0,6062373 6138
Tempo mdio: 2,365 seg
Tabela 2: Solues aproximadas, encontradas para os limites -3 e 3 em 8 execues.
HS
run N Gerao x1 x2 Funo Objetivo Avaliao da F.O
1 50 0.3930956 0.584506 -0.59521 488
2 100 0.456278 0.437704 -0.599389 643
3 250 -0.538351 -0.50250 -0.6051434 894
4 500 0.4067175 -0.4008072 -0.5828373 1003
5 1000 -0.504853 0.5707668 -0.6018456 1247
6 2500 -0,503102 -0,48734 -0,6064 1412
7 3500 -0,596548 -0,500934 -0,598226 1936
8 5000 0,4797893 -0,5850433 -0,6007022 2092
Tempo mdio: 3,02 seg
5
Tabela 3: Solues aproximadas, encontradas para os limites -3 e 3 em 8 execues.
FF
run N Gerao x1 x2 Funo Objetivo Avaliao da F.O
1 50 -1.062626 0.5523639 -0.3848305 1340
2 100 0.592241 -0.582832 -0.589127 1700
3 250 0.5561104 -0.5108216 -0.603258 2072
4 500 -0.4950949 0.465452 -0.605308 2192
5 1000 -0.507851 0.3815701 -0.594108 2266
6 2500 0.49164347 -0.49955294 -0.60646454 2312
7 3500 0.48124129 0.533816 -0.605556 2833
8 5000 -0.5003556 0.49871213 -0.60652931 3399
Tempo mdio: 9,43 s
Conforme observado nas tabelas, o numro de avaliao da funo objetivo varia bastante
em relao ao tempo computacional. Nessas condies, no possvel apontar qual o melhor
mtodo. Considerando o tempo mdio de execuo, o DE se mostrou mais adequado.
As avaliaes dos indivduos para o algoritmo DE mostrado nos grcos da Fig. (3) e
foram obtidos em diferentes geraes.
a) b) c)
Figura 3: Representao grca da evoluo dos indivduos durante a avaliao da funo ob-
jetivo usando o Evoluo Diferencial. A gura (a) corresponde a gerao inicial e em (b) 120 e
(c) 285 geraes.
Figura 4: Representao grca da seleo do melhor indivduo usando o algoritmo Evoluo
Diferencial.
O grco na Fig. (5) representa o comportamento da funo objetivo em seis execues para
o algoritmo HS. Cada caso corresponde a diferentes nmero de geraes (100, 300, 500, 700,
6
1000, 1500).
Figura 5: Representao grca (a) do comportamento da funcao objetivo para os casos aplicados
na seleo do melhor indivduo.
a) b) c)
Figura 6: Representao grca da seleo do melhor indivduo usando o HS.
Atravs do grco na Fig. (7) possvel notar que no foram necessrias o aumento das
geraes. Uma boa aproximao da funo objetivo alcanada com poucas geraes.
O grco na Fig.(7) corresponde ao comportamento da funo objetivo para o algoritmo
Firey. Neste caso, foram feitas modicaes no parmetro . Para valores de pequenos
( = 0, 2 e = 0, 3) o Firey se mostrou ecaz, porm possvel notar a sensibilidade ao
considerar valores maiores.
7
Figura 7: Comportamento da funo objetivo para as diferentes gerees e execues do algo-
ritmo Firey.
a) b) c) d)
Figura 8: Representao do comportamento da seleo do melhor indivduo usando o FF consi-
derando = 0, 2.
4 Concluso
O presente trabalho explorou as caractersticas de trs mtodos com estratgias esto-
cstica em um problema de otimizao. Nos grcos apresentados possvel notar que, para o
problema adotado, os algoritmos se mostraram promissores, com baixo tempo de execuo e boa
acurcia na soluo. O algoritmo Firey porm se mostrou sensvel ao parmetros usados no
entanto foi bem representativo nas solues. Por outro lado, o DE apresentou bom desempenho
computaciona.
Referncias
[1] Ardia, David, B., Kris, Carl, Peter, M. K., and Peterson, B. G. Dierential
evolution with deoptim: An application to non-convex portfolio optimization,(april 5, 2010).
"The R Journal"3, 1 (2011), 2734.
[2] Geem, Z.W., K. J., and Loganathan, G. A new heuristic optimization algorithm:
Harmony search simulation. 6068.
[3] Omran, M.G.H. & Mahdavi, M. Global-best harmony search. Applied Mathematics and
Computation 198, 2 (2008), 643656.
[4] S., Y. X. Nature-inspired metaheuristic algorithms. Luniver Press (2008).
[5] Storn, R., and Price, K. Dierential evolution - a simple and ecient adaptive scheme
for global optimization over continuous spaces. 1995.
8
[6] Storn, R., and Price, K. Dierential evolution - a simple and ecient heuristic for
global optimization over continuous spaces. 1997.
[7] Yang, X.-S. Firey algorithm, levy ights and global optimization. In SGAI Conf. (2009),
M. Bramer, R. Ellis, and M. Petridis, Eds., Springer, pp. 209218.
[8] Yang, X. S. Firey algorithms for multimodal optimization, in:stochastic algorithms foun-
dations and applications (eds o. watanabe and t.zeugmann). Lecture Notes in computer
Science, Springer-Verlag, Berlin, 5792 (2009), 169178.
9

Anda mungkin juga menyukai