9
Métodos Estocásticos em problemas de otimização Claudir Oliveira, Prof. Gustavo Platt Instituto Politécnico, IPRJ, UERJ, Nova Friburgo, RJ E-mail: [email protected] 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ês mé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. Foram realizados estudos comparativos de desempenho nos métodos utilizados e apresentados na forma de gráficos e tabelas. 1 Introdução Para encontrar as soluções para problemas de otimização, podemos usar de métodos convencionais de otimização existentes. Entretanto, os problemas de otimização globais são, na maioria das vezes, não-lineares e os métodos heurísticos, como algoritmo Genético por exemplo e suas variações possibilitam na resolução desses problemas mais difícies e com algum grau de incertezas presentes. Um dos métodos usados neste trabalho, inspirado nos princípios do algoritmo genético, consiste na Evolução Diferencial (Differential Evolution - DE) que é um mé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ção de composição de músicas tais como reprodução aleatória de notas. O Firefly, como muitos algoritmos 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 a seguinte equação, f (x)= d i=1 |x i | e d i=1 x 2 i (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 × dimens˜ ao do problema, de forma a gerar a população inicial. Na terminologia da evolução diferencial, cada indivíduo chama um vetor e cada variável correspondente na função do objetivo possui um vetor componente. O valor de um

Heuristic Otimizacao

Embed Size (px)

Citation preview

Page 1: Heuristic Otimizacao

Métodos Estocásticos em problemas de otimização

Claudir Oliveira, Prof. Gustavo PlattInstituto Politécnico, IPRJ, UERJ,

Nova Friburgo, RJE-mail: [email protected]

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

Page 2: Heuristic Otimizacao

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

Page 3: Heuristic Otimizacao

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

Page 4: Heuristic Otimizacao

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

Page 5: Heuristic Otimizacao

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

Page 6: Heuristic Otimizacao

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

Page 7: Heuristic Otimizacao

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

Page 8: Heuristic Otimizacao

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

Page 9: Heuristic Otimizacao

[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