heuristic otimizacao
Post on 09-Aug-2015
27 Views
Preview:
TRANSCRIPT
Métodos Estocásticos em problemas de otimização
Claudir Oliveira, Prof. Gustavo PlattInstituto Politécnico, IPRJ, UERJ,
Nova Friburgo, RJE-mail: coliveira@iprj.uerj.br
Resumo: Os métodos de otimização estocástica são bastante utizados na minimização numé-rica de funções e problemas diversos dentro da engenharia. Neste trabalho serão avaliado trêsmétodos no contexto de algoritmos meta-heurísticos utilizado na busca de mínimos de funções.Os métodos utilizados consiste em: Evolução Diferencial, Harmony Search e Firefly. Foramrealizados estudos comparativos de desempenho nos métodos utilizados e apresentados na formade gráficos e tabelas.
1 Introdução
Para encontrar as soluções para problemas de otimização, podemos usar de métodosconvencionais de otimização existentes. Entretanto, os problemas de otimização globais são, namaioria das vezes, não-lineares e os métodos heurísticos, como algoritmo Genético por exemploe suas variações possibilitam na resolução desses problemas mais difícies e com algum graude incertezas presentes. Um dos métodos usados neste trabalho, inspirado nos princípios doalgoritmo genético, consiste na Evolução Diferencial (Differential Evolution - DE) que é ummétodo heurístico baseado em estratégias evolutivas populacional. O Harmony Search (HS)por sua vez é um algoritmo de otimização relativamente recente que se baseia na imitaçãode composição de músicas tais como reprodução aleatória de notas. O Firefly, como muitosalgoritmos meta-heurísticos, é baseado em comportamentos encontrados na natureza e seráexposto na seção seguinte. Para teste de desempenho dos algoritmos estocásticos foi aplicado aseguinte equação,
f(x) =(
d∑i=1|xi|)e
d∑i=1
x2i
(1)
2 Descrição dos métodos utilizados
2.1 Evolução Diferencial
Na função objetivo que se deseja minimizar (ou maximizar) o número da população(NP) pode ser definido com o tamanho igual a N × dimensao do problema, de forma a gerara população inicial. Na terminologia da evolução diferencial, cada indivíduo chama um vetor ecada variável correspondente na função do objetivo possui um vetor componente. O valor de um
componente do vetor é escolhido aleatoriamente de tal modo que o seu valor se encontre entreo limite inferior (Lower) especificado e o limite superior (Upper).
Na mutação, para cada i de indivíduos NP, o chamado vetor alvo ou vetor tentativa F geraum vetor mutante calculado pela seguinte expressão: vi,G+1 = xr1,G + F (xr2,G − xr3,G), ondeG representa a geração, r1,r2 e r3 são os três números aleatórios distintos entre si no intervalo[0, NP − 1] de tal forma que r1 6= r2 6= r3 6= i. O termo F é o vetor que determina a taxa deevolução da população. É um valor aleatório 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 recombinação, sendo comparado porelementos um a um. O método de passagem é definida de tal forma que um novo vetor édefinido através da substituição de alguns componentes do vetor mutante por os componentescorrespondentes no vetor alvo. O número de componentes substituídos é determinado pelaprobabilidade de cruzamento (CR).
Finalmente, na seleção, o vetor obtido a partir do passo anterior é comparado com o vetoralvo. Se este produzir um melhor valor na função objetivo (f (ui,g+1) 6 f (xi,G)), neste caso,espera-se que seja menor, então ele substitui o vetor alvo na população (xi,G+1 = ui,g+1), sendoescolhido portanto, para participar da próxima geração. Caso contrário, faz-se xi,G+1 = xi,G. Ospassos descritos continuam até que o número máximo de gerações seja atingido e/ou o critériode convergência seja satisfeito [6].
Resumidamente pode ser representado pelo seguinte esquema: Inicialização −→Mutação−→Recombinação−→ Seleção−→Mutação ..., estabelecendo-se os seguintes critérios:
uj,i,G+1 ={vj,i,,G+1 se randi,j ≤ CR ou j = Irand
xj,i,G se randj,i > CR e j 6= Irand(2)
sendo i = 1, 2, ..., N ; j = 1, 2, ..., D e rand U [0, 1], Irand é um número inteiro aleatório a partirde [1, 2, ..., D] que garante que vi,G+1 6= xi,G.
2.2 Harmony Search
O Hamony Search (HS) é um algoritmo meta-heurístico de otimização que foi recente-mente desenvolvido por Geem et al. (2001). O algoritmo HS possui um conceito simples, compoucos parâmetros e de fácil implementação. Em resumo, o HS envolve os seguintes parâmetros:o tamanho da memória harmônica (HMS), taxa considerada da memória harmônica (HMCR),a taxa de ajuste do passo (PAR), a largura de banda ou tamanho do passo para a perturbaçãovariante durante o ajuste (bw), e o número de improvisações (NI). A memória harmônica é umalocalização da memória onde um conjunto de vetores de sollução para as variáveis de decisãoé armazenada. Os parâmetros HMCR e PAR são utilizados para melhorar o vetor solução eaumentar a diversidade do processo de busca. Para resolver este problema de otimização, o HSexecuta as seguintes etapas [2]:
1) Inicializa o problema e os parâmetros do algoritmo.2) Inicialização a memória harmônica. Primeiramente , os parâmetros de HS, ou seja, (HMS,
HMCR, PAR, bw) são definidas e a memória harmônica é inicializada. Geralmente, os valoresiniciais da memória harmônica são gerados a partir de uma distribuição uniformes nos limitesda variável de decisão: ui = lbi + rand(ubi-lbi), onde rand ∈ (0, 1) .
2
3) Improvisação de uma nova harmonia. O vetor da nova harmonia vi =(x
′1, x
′2, x
′3, ..., x
′N
)é obtido usando as seguintes etapas: consideração da memória e o ajuste do passo da seleçãoaleatória [3].
4) Atualização da memória harmônica.5) Verifica o critério de parada. Mais detalhes sobre essas etapas do algoritmo podem ser
encontrada em [2]. Resumidamente o algoritmo pode ser apresentado através do fluxograma aseguir.
Figura 1: Fluxograma do algoritmo Harmony Search
2.3 Firefly
O algoritmo Firefly foi desenvolvido por Xin-She Yang [4] e é baseado no comporta-mento idealizado das características brilhantes dos vagalumes [7][8]. Para simplificar, podemosresumir essas características intermitentes como os três seguintes regras:
i) Os vagalumes em questão não possuem distinção entre sexos, então todos os vagalumesde uma determinada população podem atrair-se entre si.
ii) A atratividade é proporcional ao seu brilho, assim, os vagalumes avançam para o maisbrilhante. A capacidade de atracção é proporcional ao brilho e eles diminuim à medida queaumenta a sua distância. Se não houver mais brilho o vagalume vai se mover aleatoriamente;
iii) O brilho de um vagalume é diretamente afetado pela topologia da função a ser otimizada.Há duas questões importantes nesse algoritmo: a variação da intensidade da luz e a formulaçãoda atratividade. Em resumo, podemos assumir que a capacidade de atração de um vagalume édeterminada pelo seu brilho que por sua vez está associado com a função objetivo.
Para casos simples de otimização, a luminosidade I de um certo indivíduo em uma posiçãox pode ser determinada por I ∝ f(x). Entretanto, a atratividade β é relativa, pois varia com adistância entre os indivíduos. Considerando-se os efeitos da distância r sobre a luminosidade eintroduzindo o coeficiente de absorção de luminosidade do meio, encontra-se a expressão:
I(r) = I0e−γr2 (3)
Como a atratividade de um vagalume é proporcional à sua luminosidade percebida pelosoutros indivíduos, pode-se defini-la como:
β = β0e−γr2 (4)
onde r é a distância entre cada par de vagalumes e β0 é a atratividade em r = 0 ou seja, quandodois vagalumes são encontrados no mesmo ponto do espaço de busca S. É importante ressaltar
3
que o expoente γr pode ser substiuido por outra função como γrm onde m > 0. A distânciaentre dois vagalumes i e j em xi e xj pode ser a distância Euclidiana dada por
rij = ‖xi − xj‖2 =
√√√√ d∑k=1
(xi,k − xj,k)2 (5)
O movimento do vagalume i atraído em direção a outro mais atraente j é determinado por:
xi = xi + β0e−γr2
ij (xj − xi) + αεi (6)
onde o segundo termo é a atração entre dois indivíduos, e o terceiro termo é a randomizaçãocom o vetor aleatório da variável εi sendo estabelecido a partir de uma distribuição Gaussianae α ∈ [0, 1].
O parâmetro α é o parâmetro randomico. Na maioria dos casos, o termo pode ser igual a 1 eo termo aleatório pode ser usado como uma distribuição estatística como, por exemplo, a normalN(0, 1). O parâmetro γ determina a taxa de absorção de luminosidada do meio e desempenhaum papel fundamental na velocidade de convergência do método. Tipicamente varia entre 0,01e 100. Baseando-se nas regras acima, é possível definir o pseudocódigo do algoritmo, comomostrado a seguir[7]:
Algoritmo 1 Algoritmo Firefly- Função Objetivo f(x),x = (x1, x2, ..., xn)T
- Inicializa a população xi do firefly (i = 1, 2, 3, ..., n)- Defina o oeficiente de absorção de luz γ- Wilhe(t < MaxGen)
for i=1:nfor j=1:i
Intensidade da luz Ii para xi é determinado por f(x)if(Ii > Ij)
Mover o firefly i em direção a j na dimensão d Eq. ()else Move o firefly i randomiccamenteend if
A atratividade varia com a distância r através da expressão e−γr2
Avalia novas soluções e atualiza a intensidade de luzend for j
end for iAvalia o firefly e encontra o melhor resultado atual
end whileProcessa resultados para visualização.
3 Métodologia, resultados e discussões
Para a avaliação dos métodos aplicados foram realizados diversas execuções com ostrês algoritmos, considerando parâmetros comuns a cada um visando observar a eficácia dosmétodos. Primeiramente foi feito o esboço do gráfico tridimensional e das curvas de níveis dafunção objetivo proposta, Eq. (1) Através das Figs. (2a-b) é possível observar que a funçãopossui quatro mínimos globais que serão aproximadas empregando os métodos.
4
a) b)
Figura 2: Representação tridimensional (a) da Eq. (1) e (b) as curvas de nível correspondente.
Nos experimentos de busca do valor ótimo foram considerados os seguintes parâmetros 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 variáveis x1 e x2. O número de gerações (G) e improvisos(NI) para os métodos foram variados a cada execução (Ver Tabelas), entretanto, não foramnecessárias um grande número de gerações para que os algoritmos encontrasse uma solução comboa acurácia. Os resultados apresentados nas Tabs. (1-3) foram adquiridos considerando osparâmetros experimentais e resumem o total de 8 execuções realizadas pelos algoritmos.
Tabela 1: Soluções aproximadas, encontradas para os limites -3 e 3 em 8 execuções.DE
run Nº Geração x1 x2 Função Objetivo Avaliação da F.O1 50 -0,49950929 -0,4995092 -0,606530 15392 100 -0,45939203 -0,4593920 -0,602428 29513 250 0,53001358 0,530013 -0,604390 59324 500 -0,50356722 0,5035672 -0,6064998 61175 1000 0,50363842 0,5036384 -0,606498 35956 2500 -0,4914300 -0,49538511 -0,6064537 54787 3500 -0,500178 -0,5001786 -0,6065305 60408 5000 0,51889038 -0,496148 -0,6062373 6138
Tempo médio: 2,365 seg
Tabela 2: Soluções aproximadas, encontradas para os limites -3 e 3 em 8 execuções.HS
run Nº Geração x1 x2 Função Objetivo Avaliação da F.O1 50 0.3930956 0.584506 -0.59521 4882 100 0.456278 0.437704 -0.599389 6433 250 -0.538351 -0.50250 -0.6051434 8944 500 0.4067175 -0.4008072 -0.5828373 10035 1000 -0.504853 0.5707668 -0.6018456 12476 2500 -0,503102 -0,48734 -0,6064 14127 3500 -0,596548 -0,500934 -0,598226 19368 5000 0,4797893 -0,5850433 -0,6007022 2092
Tempo médio: 3,02 seg
5
Tabela 3: Soluções aproximadas, encontradas para os limites -3 e 3 em 8 execuções.FF
run Nº Geração x1 x2 Função Objetivo Avaliação da F.O1 50 -1.062626 0.5523639 -0.3848305 13402 100 0.592241 -0.582832 -0.589127 17003 250 0.5561104 -0.5108216 -0.603258 20724 500 -0.4950949 0.465452 -0.605308 21925 1000 -0.507851 0.3815701 -0.594108 22666 2500 0.49164347 -0.49955294 -0.60646454 23127 3500 0.48124129 0.533816 -0.605556 28338 5000 -0.5003556 0.49871213 -0.60652931 3399
Tempo médio: 9,43 s
Conforme observado nas tabelas, o numéro de avaliação da função objetivo varia bastanteem relação ao tempo computacional. Nessas condições, não é possível apontar qual o melhormétodo. Considerando o tempo médio de execução, o DE se mostrou mais adequado.
As avaliações dos indivíduos para o algoritmo DE é mostrado nos gráficos da Fig. (3) eforam obtidos em diferentes gerações.
a) b) c)
Figura 3: Representação gráfica da evolução dos indivíduos durante a avaliação da função ob-jetivo usando o Evolução Diferencial. A figura (a) corresponde a geração inicial e em (b) 120 e(c) 285 gerações.
Figura 4: Representação gráfica da seleção do melhor indivíduo usando o algoritmo EvoluçãoDiferencial.
O gráfico na Fig. (5) representa o comportamento da função objetivo em seis execuções parao algoritmo HS. Cada caso corresponde a diferentes número de gerações (100, 300, 500, 700,
6
1000, 1500).
Figura 5: Representação gráfica (a) do comportamento da funcao objetivo para os casos aplicadosna seleção do melhor indivíduo.
a) b) c)
Figura 6: Representação gráfica da seleção do melhor indivíduo usando o HS.
Através do gráfico na Fig. (7) é possível notar que não foram necessárias o aumento dasgerações. Uma boa aproximação da função objetivo é alcançada com poucas gerações.
O gráfico na Fig.(7) corresponde ao comportamento da função objetivo para o algoritmoFirefly. Neste caso, foram feitas modificações no parâmetro α. Para valores de α pequenos(α = 0, 2 e α = 0, 3) o Firefly se mostrou eficaz, porém é possível notar a sensibilidade aoconsiderar valores maiores.
7
Figura 7: Comportamento da função objetivo para as diferentes gereções e execuções do algo-ritmo Firefly.
a) b) c) d)
Figura 8: Representação do comportamento da seleção do melhor indivíduo usando o FF consi-derando α = 0, 2.
4 Conclusão
O presente trabalho explorou as características de três métodos com estratégias esto-cástica em um problema de otimização. Nos gráficos apresentados é possível notar que, para oproblema adotado, os algoritmos se mostraram promissores, com baixo tempo de execução e boaacurácia na solução. O algoritmo Firefly porém se mostrou sensível ao parâmetros usados noentanto foi bem representativo nas soluções. Por outro lado, o DE apresentou bom desempenhocomputaciona.
Referências
[1] Ardia, David, B., Kris, Carl, Peter, M. K., and Peterson, B. G. Differentialevolution with deoptim: An application to non-convex portfolio optimization,(april 5, 2010)."The R Journal"3, 1 (2011), 27–34.
[2] Geem, Z.W., K. J., and Loganathan, G. A new heuristic optimization algorithm:Harmony search simulation. 60–68.
[3] Omran, M.G.H. & Mahdavi, M. Global-best harmony search. Applied Mathematics andComputation 198, 2 (2008), 643–656.
[4] S., Y. X. Nature-inspired metaheuristic algorithms. Luniver Press (2008).
[5] Storn, R., and Price, K. Differential evolution - a simple and efficient adaptive schemefor global optimization over continuous spaces. 1995.
8
[6] Storn, R., and Price, K. Differential evolution - a simple and efficient heuristic forglobal optimization over continuous spaces. 1997.
[7] Yang, X.-S. Firefly algorithm, levy flights and global optimization. In SGAI Conf. (2009),M. Bramer, R. Ellis, and M. Petridis, Eds., Springer, pp. 209–218.
[8] Yang, X. S. Firefly algorithms for multimodal optimization, in:stochastic algorithms foun-dations and applications (eds o. watanabe and t.zeugmann). Lecture Notes in computerScience, Springer-Verlag, Berlin, 5792 (2009), 169–178.
9
top related