lev - caderno de atividades - ieav.cta.br · lev - caderno de atividades ... zakharov, griewank e...

14
Laboratório de Engenharia Virtual LEV - Caderno de Atividades Relatório de andamento de trabalho CA 2015/001 – Implementação da Meta-heurística GRASP no Framework de Otimização do LEV Wakim Saba, Carlos Alberto da Silva Junior, Angelo Passaro, Nancy M. Abe, Roberto Tanaka Palavra chave: Framework, Otimização, GRASP. 1. Objetivo Implementar a meta heurística C-GRASP no framework de otimização do LEV e verificar seu comportamento utilizando inicialmente uma função analítica simples, de uma variável, e as funções multimodais Schwefel, Rosenbrock, Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. Os resultados deste trabalho serão entregues até o dia 11 de novembro de 2015 para o professor da disciplina TE-282 do IEAv/ITA. 2. Justificativa C-GRASP (Continuous Greedy Randomized Adaptative Search Procedure) é uma meta- heurística de solução única que se orienta por comportamentos randômicos, gulosos e adaptativos para resolver problemas de otimização global continua (Feo e Resende 1995) A meta-heurística C-GRASP é um procedimento de busca local multi-start (Feo e Resende 1989) (Feo e Resende 1995) e em seus ciclos de iterações são executados procedimentos de busca em duas fases: a fase de construção e a fase de busca local. Na fase de construção, iterações que contêm ações gulosas e randômicas geram um conjunto de soluções de boa qualidade. Na fase de busca local é realizado um refinamento ao investigar uma quantidade expressiva de vizinhos da melhor solução encontrada a partir da fase de construção. Figura 1 - Pseudocódigo do C-GRASP

Upload: dinhphuc

Post on 08-Jan-2019

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

Laboratório de Engenharia Virtual

LEV - Caderno de Atividades

Relatório de andamento de trabalho

CA 2015/001 – Implementação da Meta-heurística GRASP no Framework de Otimização do LEV

Wakim Saba, Carlos Alberto da Silva Junior, Angelo Passaro, Nancy M. Abe, Roberto Tanaka

Palavra chave: Framework, Otimização, GRASP.

1. Objetivo Implementar a meta heurística C-GRASP no framework de otimização do LEV e verificar

seu comportamento utilizando inicialmente uma função analítica simples, de uma variável, e as funções multimodais Schwefel, Rosenbrock, Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis.

Os resultados deste trabalho serão entregues até o dia 11 de novembro de 2015 para o professor da disciplina TE-282 do IEAv/ITA.

2. Justificativa C-GRASP (Continuous Greedy Randomized Adaptative Search Procedure) é uma meta-

heurística de solução única que se orienta por comportamentos randômicos, gulosos e adaptativos para resolver problemas de otimização global continua (Feo e Resende 1995)

A meta-heurística C-GRASP é um procedimento de busca local multi-start (Feo e Resende 1989) (Feo e Resende 1995) e em seus ciclos de iterações são executados procedimentos de busca em duas fases: a fase de construção e a fase de busca local. Na fase de construção, iterações que contêm ações gulosas e randômicas geram um conjunto de soluções de boa qualidade. Na fase de busca local é realizado um refinamento ao investigar uma quantidade expressiva de vizinhos da melhor solução encontrada a partir da fase de construção.

Figura 1 - Pseudocódigo do C-GRASP

Page 2: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

2

Caderno de Atividades – Laboratório de Engenharia Virtual

Na Figura 1 é ilustrado o pseudocódigo do algoritmo da meta-heurística C-GRASP. Na assinatura do procedimento existem sete parâmetros de configuração:

� – Dimensão do problema, definida pela quantidade de variáveis de projeto. � – Vetor de dimensão � que corresponde aos valores de limite inferior para cada uma das

variáveis de projeto. � – Vetor de dimensão � que corresponde aos valores de limite superior para cada uma das

variáveis de projeto. �(. ) – Função objetivo do problema. – Densidade inicial da grid de discretização. � – Densidade final da grid de discretização. � � – Porção de vizinhança, utilizado para definir a quantidade de vizinhos que serão

utilizados na fase de busca local. Na linha 1 a variável f* , que armazena o melhor valor da função objetivo é inicializada com

um valor grande. Essa variável será atualizada na linha 12 sempre que um melhor valor for encontrado pelos procedimentos de busca da meta-heurística, o que implica satisfazer a expressão booleana da linha 10.

Da linha 2 até a linha 18 existe um laço de repetições que confere ao algoritmo sua característica multi-start. Toda vez que uma iteração desse laço é realizada o algoritmo atribui uma nova solução gerada de forma pseudoaleatória na variável �, reinicializa a densidade da grid de discretização e termina um ciclo de iterações que foram feitos dentro do laço mais interno que fica entre as linhas 5 e 17.

O laço de repetições entre as linhas 5 e 17 termina quando a densidade da grid de discretização atingir o menor valor possível definido por �, concluindo assim uma iteração do laço de repetição externo. Os procedimentos ContructGreedyRandomized e LocalImprovement, executados nas linhas 8 e 9, são responsáveis pela execução da fase de construção e da fase de busca local. A cada iteração a melhor solução encontrada é preservada, como pode ser visto no pseudocódigo entre as linhas 10 e 13. Quando uma melhor solução não é encontrada nem na fase de construção nem na fase de busca local o valor de é diminuído na razão de dois.

O algoritmo termina quando o critério de parada do laço de repetição externo for satisfeito, linha 2, e a melhor solução encontrada é retornada, linha 19.

Os pseudocódigos dos procedimentos ContructGreedyRandomized e LocalImprovement, citados nas linhas 8 e 9 da Figura 1, são apresentados dentro de dois retângulos de cor cinza na Figura 2. A imagens, apresentada na Figura 2, contêm demarcações retangulares de cores distintas para facilitar a explicação de alguns blocos de lógica dos procedimentos ContructGreedyRandomized e LocalImprovement.

O procedimento ContructGreedyRandomized pode ser visto dentro do retângulo cinza do lado esquerdo da imagem e dentro dele foram inseridos os retângulos de cor roxa, vermelha, laranja e marrom :

Dentro do retângulo de cor roxa é possível ver duas inicializações importantes: A primeira delas ocorre na linha 1 com a criação do vetor Unfixed de tamanho n que contém os índices de todos os elementos do vetor x. Na linha 2 a variável � é inicializada de forma pseudoaleatória no intervalo real � ≤ � ≤ �.

A variável ReUse, inicializada na linha 3, testada na linha 9 e atualizada nas linhas 26 ou 29, é utilizada apenas para evitar a execução desnecessária da função LineSearch() e da função objetivo, linhas 10 e 11, quando a variável x contiver o mesmo valor da iteração anterior.

O laço de repetição principal do procedimento fica entre as linhas 4 e 33 e no final de cada iteração é feita a remoção de um dos elementos do vetor Unfixed, linha 32, de modo que o laço termina quando este vetor estiver vazio.

O retângulo vermelho delimita um trecho de lógica executado a cada iteração do laço de repetição principal. Dentro desse trecho de lógica são realizadas buscas por vizinhos da solução x,

Page 3: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

3

Caderno de Atividades – Laboratório de Engenharia Virtual

alterando apenas um dos n elementos do vetor x por vez o que implica na estratégia adaptativa do método. A busca é executada pelo procedimento LineSearch() que leva em conta o valor de h, variável que representa a densidade da grid de discretização. Para cada um dos vizinhos encontrados é realizada a execução da função objetivo e armazenados tanto o valor da função objetivo quanto o i-ésimo elemento do vetor x. O melhor e o pior valor de função objetivo encontrados são armazenados.

O retângulo laranja demarca um segundo trecho de lógica onde é realizada a criação de uma lista restrita de candidatos RCL , linhas 19 até 23. A RCL sempre será composta por alguns dos elementos alterados a partir do vetor x no trecho de logica anterior. Um dos critérios utilizados para a inclusão do elemento na RCL é que o valor de função objetivo associado ao elemento seja menor ou igual ao limiar definido na linha 18. Esse trecho de lógica termina quando é realizada a seleção randômica de um dos elementos da lista, linha 24. O teste para inclusão de um elemento na RCL , linha 21, e a escolha aleatória, linha 24, conferem ao método as características gulosa e randômica.

No retângulo marrom, é realizado um teste para saber se o elemento escolhido a partir da RCL representa uma melhora no valor da função objetivo do vetor x. Caso exista uma melhora, esse elemento é substituído no elemento de mesmo índice do vetor x e é a partir dessa nova solução que deverão ser gerados novos vizinhos na iteração seguinte. Ainda na lógica desse retângulo é realizada a atualização na variável Imprc para o valor verdadeiro, o que indica que houve ao menos uma melhora na fase de busca de construção.

A iteração termina na linha 33, depois da remoção do índice do elemento j do vetor UnFixed que corresponde ao índice do elemento do vetor x avaliado nesta iteração. A remoção do elemento j do vetor UnFixed implica em não mais utilizar este elemento nos trechos de lógica do retângulo vermelho, linha 8, nem no trecho de lógica do retângulo de cor roxa, linha 20, nas próximas iterações.

Figura 2 - Pseudocódigo dos procedimentos ContructGreedyRandomized e LocalImprovement

Page 4: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

4

Caderno de Atividades – Laboratório de Engenharia Virtual

No retângulo cinza do canto direito da Figura 2 foi ilustrado o pseudocódigo do procedimento LocalImprovement. Nas linhas 1 e 2 são atribuídos os valores do vetor x e da função objetivo do vetor x, armazenando-as em duas variáveis temporárias, x* e f* respectivamente. Essas variáveis são alteradas no procedimento LocalImprovement sempre que um vizinho com melhor valor de função objetivo for encontrado.

As linhas 3 e 4 delimitadas pelo retângulo azul contém as expressões do cálculo utilizado para definir o número máximo de iterações que serão realizadas no laço de repetições que fica entre as linhas 6 e 15. A variável MaxPointsToExamine é utilizada para armazenar o número máximo de repetições. A expressão utilizada para ao cálculo tem característica exponencial considerando a diminuição do valor de h e tem característica fatorial dependendo da quantidade de variáveis de projeto do problema.

Em cada iteração do laço de repetição, linha 6 até 15, é gerado um vizinho x a partir de x* utilizando a estrutura de vizinhança de uma Hiperesfera centrada em x com raio h (Hirsch, Pardalos e Resende 2010). Sempre que o vizinho x tiver um melhor valor de função objetivo que x* as variáveis temporárias x* e f* serão substituídas pelas variáveis x e f e o índice NumPointsExamined, utilizado no laço de repetições, é reiniciado. A variável Imprl é atualizada para o valor verdadeiro, sempre que uma melhor solução for encontrada na fase de busca de local.

Depois da implementação de C-GRASP um conjunto de testes deve ser planejado para verificar a qualidade da implementação e estudar o comportamento da meta-heurística.

Testar C-GRASP no framework de otimização do LEV utilizando funções cujos mínimos são conhecidos ajuda a entender melhor o comportamento da meta heurística e a validar a implementação de software. Para validar a implementação de uma versão inicial da meta-heurística será utilizada a função multimodal de uma variável �(�) = � ��� (�) e as funções multimodais Schwefel, Rosenbrock, Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis.

3. Datas Início do trabalho em 18 de outubro de 2015.

4. Procedimentos, comentários e resultados obtidos Todos os experimentos deste trabalho foram feitos utilizando uma máquina Inspiron 15

Série 5000 do fabricante Dell com processador Intel i7, 64 bits, 2,4 GHz, cache L1 32K, cache L2 256K, cache L3 4096K, memória RAM com 16GB, Sistema Operacional Windows 8, compilador C++ gcc-4.4.3.

Para todos os testes realizados nesse trabalho a meta-heurística foi configurada com o parâmetro � � = �. �.

Os valores das funções utilizados neste trabalho foram obtidos sempre a partir de valores médios gerados a partir de três execuções. Para esses casos utilizou-se a média aritmética.

Na fase de refinamento da meta-heurística, que está implementada na função LocalImprovement() e que é chamada a partir da linha 9 do pseudocódigo na Figura 1, existe um laço de repetição em que uma quantidade cada vez mais expressiva de iterações são realizadas na medida que o número de variáveis de projeto aumenta. Neste trabalho foi assumido o número máximo de 1000 iterações para o refinamento de uma solução, como sugerido em trabalho de teste da meta-heurística (Hirsch, Pardalos e Resende 2010).

Page 5: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

5

Caderno de Atividades – Laboratório de Engenharia Virtual

4.1 Procedimentos Nos primeiros testes da implementação da meta heurística C-GRASP foi utilizada a função

�(�) = � ��� (�) de modo que a variável x assumisse valores dentro do intervalo restrito: −� ≤

� ≤ ��. Para todos os testes realizados utilizando essa função objetivo a meta-heurística foi

configurada com o parâmetro = �. �. Já para o parâmetro � foram escolhidos os valores 0.01, 0.02, 0.04, 0.08, 0.16, 0.32 e 0.64 em cada um dos testes realizados.

Considerando apenas o intervalo de restrição −� ≤ � ≤ ��, é possível notar que a função multimodal estudada tem um conjunto de mínimos locais, Figura 3.

Figura 3 - Gráfico da função x * sen(x)

No gráfico da Figura 3, o mínimo global está localizado no canto inferior direito da

imagem onde é possível verificar que o valor f(x) desse mínimo global é aproximadamente -29.8618.

Também foram realizados testes utilizando as funções multimodais Schwefel, Rosenbrock, Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis.

Na Figura 4 é possível ver a representação gráfica das funções Schwefel, Rosenbrock, Zakharov, Greiwank e Sphere (Surjanovic 2015) com duas variáveis.

Para todos os testes foi utilizada a função objetivo com mais de uma variável, a meta-heurística foi configurada com os parâmetros: = �. � e � = �. ��. Esses valores de configuração são um dos possíveis valores entre outros apresentados em um estudo de testes para a meta-heurística C-GRASP (Hirsch, Pardalos e Resende 2010).

Page 6: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

6

Caderno de Atividades – Laboratório de Engenharia Virtual

Figura 4 - Funções analiticas Schwefel, Rosenbrock, Zakharov, Griewank e Sphere

4.2 Resultados Na Figura 5 é possível ver as curvas de convergência dos primeiros testes realizados

utilizando a função objetivo �(�) = � ��� (�):

Page 7: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

7

Caderno de Atividades – Laboratório de Engenharia Virtual

Figura 5 - Convergência para diferentes valores de he

Os resultados apresentados na Figura 5 foram obtidos de sete testes em que a meta-heurística foi configurada com os parâmetros de = �. �, � � = �. � e � variando de 0.01 até 0.64.

O eixo vertical representa os valores de função objetivo enquanto que o eixo horizontal representa o número de iterações. Nesse estudo inicial foi considerado apenas as 100 primeiras iterações da meta-heurística.

Para todos os testes realizados C-GRASP encontrou um caminho de convergência para a região do ótimo global.

Com exceção do teste em que a meta-heurística foi configurada com os parâmetros =

�. � e � = �. ��, em todos os outros testes a região do mínimo global foi encontrada na primeira iteração do método. Entretanto, no teste onde se utilizou a configuração com parâmetros = �. � e � = �. �� foi encontrada uma solução mais refinada do que no teste que foram utilizados os parâmetros = �. � e � = �. ��.

As variações de configuração do parâmetro � não tiveram influencia na convergência para a região do ótimo global, uma vez que para todos os testes realizados a região do ótimo global foi atingida entre as iterações 0 e 1.

O refinamento aconteceu mais rapidamente para os testes nos quais foram utilizadas grids de discretização de maior densidade, onde foram utilizados os valores de � igual à 0.01, 0.02, 0.04 e 0.08.

Embora a região do ótimo global tenha sido atingida nas primeiras iterações, não foi possível ver nesse gráfico o caminho percorrido pela melhores soluções.

Já na Figura 6 é ilustrado um teste onde é possível ver o caminho percorrido pela meta-heurística até à região do ótimo global.

Page 8: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

8

Caderno de Atividades – Laboratório de Engenharia Virtual

Figura 6 - Caminho da melhor vizinhança

Na Figura 6 é possível ver o gráfico da função �(�) = � ��� (�) na cor azul e também uma curva na cor verde que passa por alguns pontos identificados de vermelho. Os pontos identificados de vermelho são as melhores soluções encontradas em um dos testes realizados e a curva verde é uma representação da trajetória realizada pela meta-heurística até chegar aos pontos mais a direita do gráfico e atingir a região do ótimo global.

O primeiro indivíduo encontrado tem um valor de função objetivo de aproximadamente -6.05 e foi encontrado em uma região distante da região do mínimo global. Ainda na iteração 0 foi encontrado um vizinho com valor de função objetivo de aproximadamente -8.05 em uma região mais próxima do mínimo global. Um melhor valor de função objetivo de aproximadamente -17.20 foi encontrado em uma região de ótimo local menos promissora do que a anterior. Ainda na iteração 0 um vizinho com valor de função objetivo de aproximadamente -28.52 foi encontrado já na região do ótimo global. Nas iterações 5 e 34 novas soluções foram descobertas com valores de função objetivo de aproximadamente -29.64 e -29.79.

Esses vizinhos foram encontrados quando a meta-heurística funcionava com uma grid de discretização pouco densa, valor de = �. �.

Essa característica de exploração do espaço de busca se deve justamente ao fato de que com uma baixa densidade da grid de discretização C-GRASP privilegia buscas em diferentes regiões do espaço de busca, descobrindo soluções vizinhas de uma forma mais espalhada e diversificada.

Para analisar a relação que existe entre a dinâmica da densidade da grid de discretização e a curva de convergência da função objetivo para múltiplas reinicializações do método foram realizados alguns testes utilizando a função sphere que já se encontra implementada no framework de otimização do LEV.

A Figura 6 é composta por dois gráficos que têm em comum o eixo horizontal que representa o número de iterações. Esses gráficos foram montados a partir dos resultados obtidos das 250 primeiras iterações de um teste em que a meta-heurística foi configurada com os parâmetros = �. � e � = �. �� utilizando a função sphere com 2 variáveis.

Page 9: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

9

Caderno de Atividades – Laboratório de Engenharia Virtual

Figura 7 - Gráficos de evolução de h e da função objetivo da função sphere com 2 variáveis

Na Figura 7, o gráfico superior ilustra os valores obtidos da variável ao longo das primeiras 250 iterações. No gráfico inferior é possível ver a curva azul que ilustra os valores de função objetivo para as melhores soluções encontradas nas primeiras 250 iterações enquanto que a curva vermelha representa a convergência dos melhores valores de função objetivo encontrados em todos os ciclos de reinicio, da meta-heurística.

No gráfico superior pode ser observado que assume os valores de 1.00, 0.50, 0.25, 0.125, 0.0625, 0.0313 e 0.0156 e logo em seguida volta ao valor inicial de 1.00 reestabelecendo um novo ciclo de reinício. Isso confere ao método a característica mult-start, onde ciclos de reinício fazem com que a meta-heurística atribua valores iniciais a todas as suas variáveis preservando apenas o melhor valor de solução encontrado até o momento, a solução global. Isso ocorre no momento posterior à diminuição do valor da variável para um valor inferior ou igual ao mínimo estabelecido de 0.01.

No gráfico inferior da imagem pode ser observado que a partir de alguns dos ciclos de reinicio soluções melhores do que a solução global foram encontradas por volta das iterações 105, 140 e 205. Pode acontecer do ciclo terminar sem que seja encontrada uma solução melhor do que a solução global. Nesse caso um caminho diferente de convergência foi testado e como não houve uma solução melhor do que a melhor solução global preservada pela meta-heurística, o ciclo todo de soluções é desprezado.

Em ambos os gráficos da Figura 7, foram utilizados círculos roxos para identificar os momentos em que melhores soluções foram encontradas substituindo a solução global. No gráfico inferior isso ocorre quando os valores da curva azul são alterados e no gráfico superior quando os

Page 10: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

10

Caderno de Atividades – Laboratório de Engenharia Virtual

valores da variável diminuem ao ponto de tornar a grid de discretização mais densa, fazendo com que o método intensifique uma busca de refinamento da solução encontrada.

Outro teste foi executado para analisar possíveis diferenças no comportamento da meta-heurística utilizando a mesma função com um número maior de variáveis.

Os resultados obtidos desse novo teste podem ser visto na Figura 8, onde foram utilizadas 20 variáveis na mesma função de teste e foram mantidos os mesmos valores de parâmetros da meta-heurística:

Figura 8 - Gráficos de evolução de h e da função objetivo da função sphere com 20 variáveis

Uma diferença que pode ser notada entre os gráficos da Figura 8 e os gráficos da Figura 7 é a quantidade de iterações necessárias para concluir um ciclo de reinício. O grafico da Figura 8 apresenta um um número maior de iterações para a conclusão de cada ciclo de reinicio. Isso acontece por que o uso da função sphere com um número maior de variáveis, nesse caso 20, aumenta significativamente a possibilidade de serem encontrados melhores valores nas tentativas de busca pseudoaleatórias.

Existe uma melhoria no valor da função objetivo proveniente do terceiro ciclo de reinico por volta da iteração 118. A melhoria também ocorre no momento em que a grid de discretização fica mais densa.

Foi observado e identificado no grafico superior utilizando retangulos de cor roxa que no terceiro ciclo a variavel manteve-se com o valor 0.5 por um número maior de iterações do que no quarto ciclo. Isso está ligado ao comportamento estocástico do metodo estudado, que em geral encontra um caminho de soluções diferentes a cada ciclo. O terceiro ciclo percorreu um caminho onde foram encontrados melhores vizinhos por um número maior de iterações do que no quinto

Page 11: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

11

Caderno de Atividades – Laboratório de Engenharia Virtual

ciclo. Quando são encontradas melhores soluções em uma das duas fases de busca, linhas 8 a 9 da Figura 1, o critério para diminuição do valor de não é satisfeito, linhas 14 da Figura 1.

Foram realizados alguns testes utilizando as funções multimodais Schwefel, Rosenbrock, Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis em que a meta-heurística foi configurada com os parâmetros = �. � e � = �. ��. Todas as funções multimodais utilizadas têm em comum o valor da função objetivo com mínimo global igual a zero.

Os testes foram catalogados em três gráficos e seus resultados utilizados para ilustrar as Figuras Figura 9, Figura 10 e Figura 11:

Figura 9 - Gráficos de evolução de funções multimodais com 2 variáveis

Nos testes da Figura 9 foram utilizadas as funções multimodais com 2 variáveis e o estudo foi feito nas primeiras 1000 iterações. Para esses testes pode ser visto que os valores da função de Rosenbrock ficaram mais próximos do ótimo global com valores na casa de 10-6. Já os valores mais distantes do ótimo global foram os valores da função Griewank que ficaram na casa de 10-3. Os melhores valores encontrados para a função Zakharov foram melhores do que os valores obtidos para a função Rosenbrock até a iteração 960 e depois foi encontrado um melhor valor utilizando a função Rosenbrock.

Os resultados dos testes ilustrados na Figura 10 foram obtidos para as funções multimodais com 10 variáveis. Nesses testes foram estudadas as primeiras 5000 iterações.

Figura 10 - Gráficos de evolução de funções multimodais com 10 variáveis

Comparando os testes ilustrados na Figura 9 com os testes ilustrados na Figura 10, que teve um aumento da quantidade de variáveis, os resultados foram diferentes. Houve uma mudança no desempenho de C-GRASP para cada uma das funções quando comparado com os resultados dos testes apresentados na Figura 9.

A função Rosenbrock, que no teste anterior teve melhor resultado do que todas as outras funções, neste novo teste apresentou o pior resultado ficando na casa de 10+3.

A função Zakharov, continuou na segunda posição, com valores na casa de 10-2 e a função Sphere obteve os melhores valores de função objetivo convergindo para a casa de 10-4.

Page 12: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

12

Caderno de Atividades – Laboratório de Engenharia Virtual

Nos testes da Figura 11 foram utilizadas as funções multimodais com 20 variáveis onde as primeiras 10000 iterações foram estudadas.

Figura 11 - Gráficos de evolução de funções multimodais com 20 variáveis

Nos resultados ilustrados na Figura 11, a meta-heurística também apresentou os piores resultados para a função Rosenbrock, com valores na casa de 10+3. O desempenho da meta-heurística foi um pouco melhor para as funções Griewank e Zakharov com valores na casa de 10-1.

A meta-heurística apresentou melhor desempenho ao utilizar a função Sphere que obteve valores de função objetivo na casa de 10-4.

5. Discussão e problemas encontrados Quando os primeiros testes utilizando funções com mais de uma variável foram realizados,

foram identificados problemas de alocação dinâmica de memória. Isso impediu a continuidade dos testes para o problema da função Rosenbrock dimensionada para de 5 variáveis onde foram utilizados os valores de parâmetros da meta-heurística = �. �, � = �. �� � � � = �. ���. Na Figura 12 é possível ver a mensagem de erro destacada por um retângulo vermelho:

Figura 12 - Problema de alocação dinâmica para tamanhos grandes de vizinhança

Embora uma investigação mais detalhada na implementação da meta-heurística não tenha sido feita, foi identificado na fase de busca local que a quantidade de vizinhos investigados era cada vez mais expressiva na medida em que o valor da variável h diminuía. Depois de uma releitura em um dos artigos da meta-heurística (Hirsch, Pardalos e Resende 2010), foi descoberto que o autor propõe um valor máximo de 1000 iterações para contornar esse problema.

Page 13: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

13

Caderno de Atividades – Laboratório de Engenharia Virtual

6. Conclusões Neste trabalho foi realizado um estudo da meta-heurística de solução única C-GRASP

proposta para resolver problemas de otimização global continua (Hirsch, Pardalos e Resende 2010). Trata-se de uma meta-heurística mult-start que explora soluções vizinhas de boa qualidade a partir do uso de uma grid de discretização.

Uma implementação desta meta-heurística foi feita na estrutura de classes do framework de otimização do LEV. Com isso foi possível utilizar um conjunto de funções de teste já implementadas no próprio framework, além de aproveitar os recursos para a obtenção dos resultados por meio de arquivos em um padrão esperado. Essas funções de teste tem características multimodais e foram utilizadas nas dimensões de uma, duas, dez e vinte variáveis.

Para validar a implementação da meta-heurística foram realizados testes preliminares utilizando a função �(�) = � ��� (�). A validação preliminar foi feita a partir de sete testes em que a meta-heurística recebeu a configuração de = �. �, � � = �. � e � variando de 0.01 até 0.64. Os resultados obtidos a partir desses testes são razoáveis uma vez que para todos os casos a meta-heurística convergiu para a região do ótimo global. Além disso, foi possível constatar a melhora na eficiência do refinamento de resultados para os casos que uma grid de discretização mais densa foi explorada, Figura 5. Analisando o gráfico da Figura 6, onde foi ilustrado o caminho de melhores soluções percorridos por C-GRASP, foi possível constatar a busca de exploração realizada pela meta-heurística que encontrou os valores de função objetiva -6.05, -8.05 e -17.20 em três regiões de mínimos locais antes de encontrar o valor -28.52 na região do ótimo global.

Também foram utilizados testes para investigar a relação entre a dinâmica da densidade do grid de discretização e a evolução de melhores valores de função objetivo ao longo das iterações da meta-heurística em vários ciclos de reinicio. Nesse teste foi utilizado a função Sphere com 2 e com 20 variáveis e feita a avaliação das primeiras 200 iterações. O C-GRASP é uma meta-heurística mult-start e ao longo de suas iterações um conjunto de ciclos de reinicio são construídos onde diversos caminhos de convergência são testados. Para o teste de 2 variáveis existiram 15 ciclos de reinício e em apenas 3 deles houve uma melhora na solução global. Isso ocorre porque C-GRASP é um método estocástico e cada caminho de convergência testado chega em uma região diferente do espaço de busca. Foi observado que para os ciclos de reinicio onde ocorreram melhoras na solução global isso ocorreu apenas quando os valores de estavam inferiores à 0.0625. Isso também se deve a característica de aleatoriedade do método que para esses casos encontrou caminhos de convergência com soluções melhores no final do ciclos de reinicio onde os valores de h eram inferiores a 0.0625.

Um outro conjunto de testes foi realizado utilizando as funções multimodais Schwefel, Rosenbrock, Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. Para esses casos a meta-heurística recebeu a configuração dos parâmetros = �. � e � = �. ��. As funções Schwefel, Rosenbrock, Zakharov, Griewank e Sphere, tem mínimo global conhecido e o valor da função objetiva do ponto ótimo, independentemente da quantidade de variáveis, é zero. Nos gráficos de convergência, Figura 9, Figura 10 e Figura 11, foi observado uma variação na eficiência da meta-heurística para funções objetivo iguais com diferentes dimensões de variáveis. Para os testes com duas variáveis, os valores obtidos a partir da função Rosenbrock ficaram mais próximos do ótimo global com valores na casa de 10-6 enquanto que os valores mais distantes do ótimo global foram os valores obtidos a partir da função Griewank que ficaram na casa de 10-3. Para os testes com 10 e 20 variáveis os melhores valores de função objetivo foram obtidos a partir da função Sphere por volta de 10-4 enquanto que os piores valores foram obtidos a partir da função Rosenbrock por volta de 10+3. Para todos os testes realizados o segundo melhor valor obtido foi obtido a partir da função Zakharov enquanto que o segundo pior valor foi obtido a partir da função Schwefel.

As funções Schwefel, Rosenbrock, Zakharov, Griewank e Sphere apresentam topologias distintas, onde podem ser vistos vales, planícies ou regiões acidentadas, Figura 4. Os resultados

Page 14: LEV - Caderno de Atividades - ieav.cta.br · LEV - Caderno de Atividades ... Zakharov, Griewank e Sphere, com duas, dez e vinte variáveis. ... fica entre as linhas 5 e 17

14

Caderno de Atividades – Laboratório de Engenharia Virtual

obtidos indicam que a meta-heurística enfrentou de forma razoável as adversidades de cada uma das funções de teste, mesmo sendo utilizada sem um estudo prévio para identificar seus parâmetros mais adequados para cada caso.

Os parâmetros de configurações utilizados nos testes da meta-heurística C-GRASP, foram limitados a um conjunto restrito de possibilidades uma vez que neste trabalho buscou-se a validação da implementação da meta heurística C-GRASP no framework de otimização do LEV e um estudo inicial de seu comportamento.

Entre as sugestão para trabalhos futuros estão: a) a exploração de diferentes valores de parâmetros de configuração da meta-heurística; b) O uso de outras funções multimodais com dimensões diferentes; c) Comparações entre os resultados obtidos por C-GRASP e outras meta-heurísticas.

7. Referências

Feo, Thomas A, e Mauricio G.C. Resende. 1989. “A probabilistic heuristic for a computationally difficult set covering problem.” Operations Research Letters Vol.8(2): pp.67-71.

Feo, Thomas, e Mauricio Resende. 1995. “Greedy Randomized Adaptive Search Procedures.” Journal of Global Optimization Vol.6(2): pp.109-133.

Hirsch, M.J, P.M Pardalos, e M.G.C Resende. 2010. “Speeding up continuous GRASP.” European Journal of Operational Research pp.507-521.

Surjanovic, S. & Bingham, D. 2015. Virtual Library of Simulation Experiments: Test Functions and Datasets. 4 de Novembro. Acesso em 4 de Novembro de 2015. http://www.sfu.ca/~ssurjano.

Talbi, El-Ghazali. 2009. Metaheuristics: From Design to Implementation. New Jersey: John Wiley & Sons.