• Nenhum resultado encontrado

3.7 Seleção/Geração de algoritmos para PSO

4.2.3 Meta-base

A criação da meta-base envolveu 32 funções diferentes de otimização matemática, continuas e sem restrição, com um único objetivo. Todos os problemas são multi-dimensionais

Tabela 4 – Métricas de FLA

Métrica Intervalo e Interpretação

F EM0.01 [0,1]: onde 0 indica uma superfície plana e 1 indica enrugamento máximo, considerando. k = 1%

F EM0.1 [0,1]: onde 0 indica uma superfície plana e 1 indica enrugamento máximo, considerando. k = 10%

DM [-dispD,√D − dispD]: onde dispDé um valor normalizado entre [0,1], para cada dimensão, de uma amostra aleatória uniforme com espaço D-dimensional de alta dispersão. Um valor positivo para DM indica a a presença de múltiplos funis.

GMavg É um valor positivo real proporcional ao gradiente médio.

GMdev É um valor positivo real proporcional aos desvios do gradiente médio.

ILns [0,1]: onde 0 indica que não há diferença entre a superfície avaliada e o vetor de referência). F CIcog [0,1]: Valor que representa a proporção de melhoria do fitness das soluções após sua

atualização, considerando um algoritmo com tendência cognitiva.

FCIsoc [0,1]: Valor que representa a proporção de melhoria do fitness das soluções após sua atualização, considerando um algoritmo com tendência social.

(30 dimensões) e foram retirados do Survey (JAMIL e YANG, 2013), CEC 2005 (SUGANTHAN et al., 2005), BBOX 2009 (HANSEN et al., 2009) e ICSI 2014 (TAN; LI; ZHENG, 2015).

O processo de criação da meta-base pode ser melhor entendido através do pseudocódigo 4. Para cada um dos 32 problemas considerados, um meta-exemplo deve ser criado. Sendo assim, o componente de geração de algoritmos é utilizado na geração de um algoritmo Di para o problema i e o desempenho Fi armazenado; e o componente de extração de características é utilizado para extrair informações que descrevem o problema, armazenando-as em ~Ci. Uma vez que as três informações que compõem o meta-exemplo são coletadas, a tupla ( ~Ci, Di, Fi) é armazenada na meta-base. Este procedimento se repete para cada problema de otimização considerado, totalizando 32 meta-exemplos.

Pseudocódigo 4 Processo de criação da meta-base problems = problemas de otimização considerados meta_base = conjunto vazio

for all i no problems do

Di = melhor algoritmo gerado para i Fi = fitness de algorithm em i

~

Ci = características extraídas de i Inserir tupla ( ~Ci, Di, Fi) em meta_base end for=0

4.2.4 Seleção de algoritmos

O componente de seleção ou recomendação é responsável por sugerir o melhor algoritmo do PSO proveniente do meta-exemplo mais similar com relação ao problema de entrada. Neste

Capítulo 4. Hiper-heurística híbrida para a otimização de algoritmos 71

trabalho, a comparação entre meta-exemplos é realizada através da distância euclidiana entre seus vetores de características.

4.3 CONSIDERAÇÕES FINAIS

Neste capítulo foi apresentado o trabalho proposto. Inicialmente, a arquitetura do algo- ritmo desenvolvido foi detalhada, sendo, cada componente apresentado. Finalmente, as decisões de implementação de cada componente da arquitetura do sistema foram elucidadas de acordo com o estudo de caso adotado. O próximo capítulo apresenta os experimentos realizados e os resultados obtidos.

5 Experimentos e Resultados

O Capítulo 4 apresentou uma visão detalhada da arquitetura e implementação da aborda- gem proposta. A seguir serão apresentados os experimentos realizados e resultados obtidos.

5.1 METODOLOGIA EXPERIMENTAL

A abordagem proposta objetiva fornecer algoritmos gerados para um dado problema de entrada de forma eficiente. Deste modo, a avaliação do sistema foi dividida em três experimentos:

• Análise da geração de algoritmos: O primeiro experimento avalia o processo de criação da meta-base, verificando-se se o gerador de algoritmos adotado está produzindo algoritmos competitivos e úteis para cada problema de otimização considerado. Neste experimento são investigados os seguintes aspectos: i) Comparação entre gramáticas na geração de algoritmos para o PSO, ii) Comparação entre abordagens baseadas em GGGP na geração de algoritmos para o PSO, iii) comparação dos algoritmos de PSO gerados com algoritmos de otimização que participaram da competição do International Conference on Swarm Intelligence(ICSI) em 2014, e iv) análise da estrutura dos algoritmos produzidos pelo gerador de algoritmos.

• Análise da seleção de algoritmos: No segundo experimento, o processo de seleção de algoritmos é avaliado. Neste caso, o objetivo é verificar dois aspectos da seleção. Primeiro, se para um dado problema de entrada, o algoritmo selecionado é útil (converge ou se aproxima para a solução ótima). Diante disto, é importante calcular a diferença entre fitness do algoritmo recomendado e o fitness do melhor algoritmo para o problema corrente. Segundo, se o algoritmo recomendado para o problema de entrada é de fato o melhor a ser recomendado dentre os algoritmos disponíveis na meta-base. Pois, pode acontecer de um algoritmo gerado ser bom para o problema de entrada, porém existem outros algoritmos que atingiriam resultados ainda melhores caso tivessem sido recomendados. Esta avaliação trata diretamente da capacidade das métricas em representar o problema.

• Análise do custo computacional: O terceiro e último experimento avalia o custo com- putacional do algoritmo proposto, colocando-o em perspectiva com hiper-heurísticas de geração.

5.2 DOMÍNIO DO PROBLEMA

Foram adotadas neste experimento 32 funções de otimização matemática consideradas benchmark. Todas as funções são escalávéis e adotaram 30 dimensões (dimensão comumente

Capítulo 5. Experimentos e Resultados 73

utilizada em competições). Além disso, as funções escolhidas pertencem a quatro categorias de problemas (SURJANOVIC e BINGHAM, 2013): formato tigela (Bowl-Shaped), formato prato (Plate Shaped), formato vale (Valley-Shaped) e formato com múltiplos mínimos locais (Many Local Minima), nos permitindo avaliar a abordagem em diferentes perspectivas e níveis de dificuldade. Neste experimento, cada categoria possui 8 funções de minimização cada, cujo mínimo global é zero.

O formato Bowl-Shaped recebe essa denominação devido a característica física das suas funções de otimização. Estas funções têm formato convexo e apresentam um único mínimo global. As oito funções nesta categoria são: Sphere (f1), Sum of Different Powers (f2), Sum Squares (f3), Rotated Hyper-Ellipsoid(f4), Axis parallel hyper-ellipsoid (f5), Brown (f6), Exponential (f7) e Schwefel01 (f8). Todas estas funções são contínuas, diferenciáveis, separáveis, escaláveis e unimodais. Este conjunto de características torna estas funções simples de serem otimizadas.

O formato Plate Shaped recebe essa denominação devido a característica física das suas funções de otimização. Existem duas características marcantes, a primeira é que as pontas opostas da superfície são elevadas em relação à planície que fica ao centro. A segunda característica é que esta planície é uniforme e o ótimo global encontra-se nesta planície. Diante desta superfície, otimizadores tendem a encontrar a planície com facilidade, porém, encontrar o mínimo global na planície torna-se mais complicado. As oito funções nesta categoria são: Zakharov (f9), Bent Cigar (f10), Elliptic (f11), Discus (f12), AMGM (f13), Rotated High Conditioned Elliptic (f14), Rotated Bent Cigar (f15) e Rotated Discus (f16). Todas estas funções são contínuas, diferenciáveis, não-separáveis, escaláveis e unimodais. A única diferença entre esta categoria e a categoria Bowl-Shapedé que esta é composta por funções não-separáveis. Esta característica adiciona uma dificuldade a mais na busca pelo ótimo global.

O formato Valley-Shaped recebe essa denominação devido a característica física das suas funções de otimização. Diferentemente do formato Plate Shaped, o formato Valley-Shaped além de possuir uma área maior de planície, possui apenas uma das pontas da superfície de maior elevação. Como o mínimo global também encontra-se na planície, a tarefa de encontrar o ótimo torna-se mais complicada que no formato Plate Shaped. As oito funções nesta categoria são: Rosenbrock(f17), Shifted Rosenbrock (f18), Shifted and rotated Rosenbrock (f19), Dixon-Price (f20), Schwefel04 (f21), Rotated Dixon-Price (f22), Shifted Dixon-Price (f23) e Shifted and rotated Dixon-Price(f24). Todas estas funções são contínuas, diferenciáveis, não-separáveis, escaláveis e unimodais. Esta categoria apresenta grande semelhança com a categoria formato Plate Shaped, no entanto, as funções desta categoria apresentam a região plana mais extensa e uniforme, dificultando ainda mais a convergência.

O formato Many Local Minima agrega mais complexidade quando comparado aos demais já discutidos devido à presença de falsos mínimos globais. As oito funções nesta categoria são: Ackley(f25), Griewank (f26), Rastrigin (f27), Alpine (f28), Salomon (f29), Shifted Ackley (f30), Shifted and rotated Griewank(f31) e Shifted rastrigin (f32). Todas estas funções são contínuas,

escaláveis e multimodais. Porém, apenas as três primeiras são diferenciáveis e não-separáveis, enquanto que a função Alpine é não-diferenciável e separável. Esta categoria apresenta uma característica diferente de todas as outras: a multimodalidade, ou seja, a presença de múltiplos mínimos locais. A presença destes mínimos dificulta bastante a busca pelo ótimo, pois os falsos mínimos podem "enganar"o otimizador fazendo com que este fique estagnado.

5.3 RESULTADOS