uma hiper-heurística híbrida para a otimização de algoritmos · 0 1 8 82 $% %%5 péricles...

105
Pós-Graduação em Ciência da Computação Péricles Barbosa Cunha de Miranda UMA HIPER-HEURÍSTICA HÍBRIDA PARA A OTIMIZAÇÃO DE ALGORITMOS Tese de Doutorado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE/2016

Upload: others

Post on 21-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Pós-Graduação em Ciência da Computação

Péricles Barbosa Cunha de Miranda

UMA HIPER-HEURÍSTICA HÍBRIDA PARA A

OTIMIZAÇÃO DE ALGORITMOS

Tese de Doutorado

Universidade Federal de Pernambuco

[email protected] www.cin.ufpe.br/~posgraduacao

RECIFE/2016

Page 2: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

PÉRICLES BARBOSA CUNHA DE MIRANDA

UMA HIPER-HEURÍSTICA HÍBRIDA PARA OTIMIZAÇÃO DE ALGORITMOS

ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE DOUTOR EM CIÊNCIA DA COMPUTAÇÃO.

ORIENTADOR: RICARDO BASTOS CAVALCANTE PRUDÊNCIO

RECIFE/2016

Page 3: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Catalogação na fonteBibliotecária Joana D’Arc Leão Salvador CRB 4-572

M672h Miranda, Pericles Barbosa Cunha de. Uma hiper-heurística híbrida para a otimização de algorítmos / Pericles

Barbosa Cunha de Miranda. – 2016. 104 f.: fig., tab.

Orientador: Ricardo Bastos Cavalcante Prudêncio. Tese (Doutorado) – Universidade Federal de Pernambuco. CIN. Ciência

da Computação, Recife, 2016. Inclui referências.

1. Programação genética. 2. Meta-aprendizado. 3. Otimização por enxame de partículas. 4. Geração de algorítmos. I. Prudêncio, Ricardo Bastos Cavalcante (Orientador). II. Titulo.

006.31 CDD (22. ed.) UFPE-MEI 2016-113

Page 4: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Péricles Barbosa Cunha de Miranda

Uma Hiper-heurística Híbrida para a Otimização de Algoritmos

Tese apresentada ao Programa de Pós-

Graduação em Ciência da Computação da

Universidade Federal de Pernambuco, como

requisito parcial para a obtenção do título de

Doutor em Ciência da Computação.

Aprovado em: 22/08/2016.

_________________________________________

Prof. Ricardo Bastos Cavalcante Prudêncio Orientador do Trabalho de Tese

BANCA EXAMINADORA

________________________________________________

Prof. Dr. Cleber Zanchettin

Centro de Informática / UFPE

________________________________________________

Prof. Dr. Abel Guilhermino da Silva Filho

Centro de Informática / UFPE

_________________________________________________

Prof. Dr. Adriano Lorena Inácio de Oliveira

Centro de Informática / UFPE

________________________________________________

Profa. Dra. Gisele Lobo Pappa

Departamento de Ciência da Computação/UFMG

_________________________________________________

Profa. Dra. Ana Carolina Lorena

Instituto de Ciência e Tecnologia /UNIFESP

Page 5: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Dedico este trabalho à minha família, amigos e amor, que sempre me apoiam e confortam

mesmo nos momentos mais difíceis da vida. Em especial ao meu pai Antônio Pádua de Miranda,

pessoa fantástica e inesquecível. Amo você para sempre.

Page 6: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Agradecimentos

Gostaria de agradecer primeiramente a Deus pela saúde e pela força. Isso é suficientepara caminhar e buscar. A família é tudo na vida. Eu gostaria de agradecer a toda a minha famíliapelo carinho e amor que recebo todos os dias. Mesmo nos momentos difíceis nos apoiamos enos fortalecemos para continuar caminhando em frente.

Agradeço também à minha esposa, Mouriely Rodrigues, por sua atenção, compreensão eamor. Você é minha inspiração e tudo o que faço é para que a gente seja ainda mais feliz. Te amo.

Aos meus amigos agradeço pelas conversas, saídas, brainstorms...amigos são irmãos quea vida nos dá. Sou grato a todos vocês que nos momentos que saturação e desconforto tinhamuma palavra para descontrair e animar.

Gostaria de fazer um agradecimento especial ao meu orientador Ricardo Prudêncio, queme acolheu como aluno de mestrado e vêm aturando desde então. Como minha formação foi naUPE, não conhecia nenhum professor no CIn-UFPE. Fiquei com receio inicialmente em tentar após-graduação na UFPE pois fui muito bem orientado pelo professor Carmelo Bastos duranteminha graduação e temia não ter a mesma sorte. Foi então que o professor Meuser Valença meindicou professor Ricardo como um bom professor e orientador. Fui feliz na escolha e agradeçopor você ter me dado a oportunidade de aprender e fazer pesquisa. Me espelho muito em você eadmiro sua inteligência, atenção e disponibilidade para atender seus alunos. Meu muito obrigadopor ter tido paciência e feito críticas construtivas para mim como aluno e como pessoa.

Page 7: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Resumo

A escolha de algoritmos ou heurísticas para a resolução de um dado problema é uma tarefadesafiadora devido à variedade de possíveis escolhas de variações/configurações de algoritmos ea falta de auxílio em como escolhê-las ou combiná-las. Por exemplo, o desempenho de algoritmode otimização depende da escolha dos seus operadores de busca e do ajuste adequado de seushiper-parâmetros, cada um deles com muitas possibilidades de opções a serem escolhidas. Poreste motivo, existe um interesse de pesquisa crescente na automatização da otimização dealgoritmos de modo a tornar esta tarefa mais independente da interação humana. Diferentesabordagens têm lidado com a tarefa de ajuste de algoritmos como sendo outro problema de(meta)otimização. Estas abordagens são comumente chamadas de hiper-heurísticas, onde cadasolução do espaço de busca, neste caso, é um possível algoritmo avaliado em um dado problema.Inicialmente, hiper-heurísticas foram aplicadas na seleção de valores de hiper-parâmetros emum espaço de busca pré-definido e limitado. No entanto, recentemente, hiper-heurísticas têmsido desenvolvidas para gerar algoritmos a partir de componentes e funções especificados. Hiper-heurísticas de geração são consideradas mais flexíveis que as de seleção devido à sua capacidadede criar algoritmos novos e personalizados para um dado problema. As hiper-heurísticas têm sidolargamente utilizadas na otimização de meta-heurísticas. No entanto, o processo de busca torna-sebastante custoso, pois a avaliação das soluções trata-se da execução do algoritmo no problemade entrada. Neste trabalho, uma nova hiper-heurística foi desenvolvida para a otimização dealgoritmos considerando um dado problema. Esta solução visa prover algoritmos otimizados quesejam adequados para o problema dado e reduzir o custo computacional do processo de geraçãosignificativamente quando comparado ao de outras hiper-heurísticas. A hiper-heurística propostacombina uma abordagem de seleção de algoritmos com uma hiper-heurística de geração. A hiper-heurística de geração é responsável por criar uma base de conhecimento, que contém algoritmosque foram gerados para um conjunto de problemas. Uma vez que esta base de conhecimentoesteja disponível, ela é usada como fonte de algoritmos a serem recomendados pela abordagem deseleção de algoritmos. A ideia é reusar algoritmos previamente construídos pela hiper-heurísticade geração em problemas similares. Vale salientar que a criação de hiper-heurísticas visandoreduzir o custo de geração de algoritmos sem comprometer a qualidade destes algoritmos não foiestudada na literatura. Além disso, hiper-heurísticas híbridas que combinam de abordagens deseleção de algoritmos e hiper-heurísticas de geração para a otimização de algoritmos, propostanesta tese, é novidade. Para avaliar o algoritmo proposto, foi considerada como estudo de casoa otimização do algoritmo baseado em enxames (PSO). Nos experimentos realizados, foramconsiderados 32 problemas de otimização. O algoritmo proposto foi avaliado quanto à suacapacidade de recomendar bons algoritmos para problemas de entrada, se estes algoritmosatingem resultados competitivos frente à literatura. Além disso, o sistema foi avaliado quanto àsua precisão na recomendação, ou seja, se o algoritmo recomendado seria, de fato, o melhor aser selecionado. Os resultados mostraram que a hiper-heurística proposta é capaz de recomendar

Page 8: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

algoritmos úteis para os problemas de entrada e de forma eficiente. Adicionalmente, os algoritmosrecomendados atingiram resultados competitivos quando comparados com algoritmos estado daarte e a recomendação dos algoritmos atingiu um alto percentual de precisão.

Palavras-chave: Meta-aprendizado. Otimização por enxame de partículas. Programação Gené-tica. Geração de algoritmos.

Page 9: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Abstract

Designing an algorithm or heuristic to solve a given problem is a challenging task due to thevariety of possible design choices and the lack of clear guidelines on how to choose and/orcombine them. For instance, the performance of an optimization algorithm depends on thedesign of its search operators as well as an adequate setting of specific hyper-parameters, each ofthem with many possible options to choose from. Because of that, there is a growing researchinterest in automating the design of algorithms by exploring mainly optimization and machinelearning approaches, aiming to make the algorithm design process more independent from humaninteraction. Different approaches have dealt with the task of optimizing algorithms as another(meta)optimization problem. These approaches are commonly called hyper-heuristics, whereeach solution of the search space is a possible algorithm. Initially, hyper-heuristics were appliedfor the selection of parameters in a predefined and limited search space. Nonetheless, recently,generation hyper-heuristics have been developed to generate algorithms from a set of specifiedcomponents and functions. Generation hyper-heuristics are considered more flexible than theselection ones due to its capacity to create new and customized algorithms for a given problem.Hyper-heuristics have been widely used for the optimization of meta-heuristics. However, thesearch process becomes expensive because the evaluation of each solution depends on theexecution of an algorithm in a problem. In this work, a novel hyper-heuristic was developedto optimize algorithms considering a given problem. The proposed approach aims to provideoptimized algorithms for the input problem and reduce the computational cost of the optimizationprocess significantly when compared to other hyper-heuristics. The proposed hyper-heuristicscombines an automated algorithm selection method with a generation hyper-heuristic. Thegeneration hyper-heuristic is responsible for the creation of the knowledge base, which containspreviously built algorithms for a set of problems. Once the knowledge base is available, itis used as a source of algorithms to be recommended by the automated algorithm selectionmethod. The idea is to reuse the algorithms already built by the generation hyper-heuristic onsimilar problems. It is worth mentioning that the creation of hyper-heuristics aiming to reducethe cost of the algorithm generation without harming the quality of these algorithms were notstudied yet. Besides, hybrid hyper-heuristics which combine an algorithm selection approachwith a generation hyper-heuristic for the algorithm optimization, proposed in this thesis, are anovelty. To evaluate the proposed algorithm, it was considered as case study the optimizationof the Particle Swarm Optimization algorithm (PSO). In our experiments, we considered 32optimization problems. The proposed system was evaluated regarding its capacity to recommendadequate algorithms for an input problem, the quality of the recommended algorithms, and,finally, regarding its accuracy to recommend algorithms. The results showed that the proposedsystem recommends useful algorithms for the input problem. Besides, the algorithms achievedcompetitive results when compared to state-of-the-art algorithms, and also, the system presenteda high percentage of accuracy in the recommendation.

Page 10: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Keywords: Meta-learning. Particle Swarm Optimization. Genetic Programming. Algorithmgeneration.

Page 11: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Lista de ilustrações

Figura 1 – Esquema do formalismo básico para o problema de seleção de algoritmos. . 17Figura 2 – Roadmap da pesquisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Figura 3 – Arquitetura do MtL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Figura 4 – Mtl: Modo de Aquisição de Conhecimento. . . . . . . . . . . . . . . . . . 27Figura 5 – MtL: Modo de Consulta. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figura 6 – Arquitetura de HHs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Figura 7 – Uso de GA na otimização do PSO quando aplicado a problemas de otimização

contínua sem restrições. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Figura 8 – Representação de indivíduos em formato de árvore. . . . . . . . . . . . . . 32Figura 9 – Exemplo de gramática para a geração de indivíduos no contexto do problema

de regressão simbólica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Figura 10 – Funcionamento do GGGP. . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Figura 11 – Exemplo de operador de mutação em GGGP. . . . . . . . . . . . . . . . . . 36Figura 12 – Exemplo de operador de cruzamento em GGGP. . . . . . . . . . . . . . . . 37Figura 13 – Indivíduo representado por array de 8-bits. . . . . . . . . . . . . . . . . . . 38Figura 14 – Topologias (a) Estrela e (b) Anel. . . . . . . . . . . . . . . . . . . . . . . . 47Figura 15 – Topologia Focal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Figura 16 – Topologia Hierárquica com N = 7. . . . . . . . . . . . . . . . . . . . . . . 49Figura 17 – Algoritmo de atualização da Topologia Hierárquica. . . . . . . . . . . . . . 49Figura 18 – Algoritmo de atualização da Topologia Von Neumann. . . . . . . . . . . . . 50Figura 19 – Topologia Four-Clusters. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Figura 20 – Topologia Clan e a conferência dos líderes. . . . . . . . . . . . . . . . . . . 51Figura 21 – Arquitetura proposta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Figura 22 – Mecanismo de retro-alimentação da meta-base com o aprendizado gerado a

partir do problema novo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Figura 23 – Fitness landscape dos problemas P1 e P2. . . . . . . . . . . . . . . . . . . 61Figura 24 – Gramática proposta para otimização do PSO. . . . . . . . . . . . . . . . . . 63Figura 25 – Classificação e codificação de objetos três pontos como neutro, enrugado e

liso baseada nos valores de fitness relativos. . . . . . . . . . . . . . . . . . 66Figura 26 – Superfície de Fitness das funções matemáticas. . . . . . . . . . . . . . . . . 68Figura 27 – Cálculo de dispersão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Figura 28 – Média dos valores de fitness (a cada 500 iterações) dos algoritmos gerados

pelos CFG-GP, GE e RS para todas as categorias de problemas. . . . . . . . 79

Page 12: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Lista de tabelas

Tabela 1 – Problemas de classificação utilizados para a geração de meta-exemplos. . . 27Tabela 2 – Métricas para descrição de problemas de classificação. . . . . . . . . . . . . 28Tabela 3 – Resumo dos principais trabalhos relacionados à seleção/geração de algorit-

mos para PSO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Tabela 4 – Métricas de FLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Tabela 5 – Parâmetros adotados pelos CFG-GP e GE. . . . . . . . . . . . . . . . . . . 75Tabela 6 – Média dos valores de fitness dos algoritmos CFG-GPprop e CFG-GPadv em

cada problema de otimização. . . . . . . . . . . . . . . . . . . . . . . . . . 76Tabela 7 – Média dos valores de fitness dos algoritmos CFG-GP, GE e RS em cada

problema de otimização. . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Tabela 8 – Ranking dos algoritmos considerando todos os problemas. . . . . . . . . . . 81Tabela 9 – Média dos valores de fitness dos algoritmos gerados pelo CFG-GP e dos

algoritmos do ICSI 2014 em cada problema de otimização. . . . . . . . . . 83Tabela 10 – Valores de parâmetros resultantes por categoria de problema. . . . . . . . . 84Tabela 11 – Valores de <TOPOLOGIA> utilizados durante as simulações por categoria

de problemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Tabela 12 – Exemplos de <UPDATE-VELOCITY> por categoria de problemas. . . . . 86Tabela 13 – Comparação entre os valores de fitness da recomendação e dos valores de

fitness dos algoritmos originais, para cada problema. . . . . . . . . . . . . . 88Tabela 14 – Resultados da recomendação da abordagem proposta para cada problema. . 89

Page 13: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Lista de abreviaturas e siglas

ACO Ant Colony Optimization

AM Aprendizagem de Máquina

BBO biogeography-based optimization

BNF Backus-Naur form

CFG-GP Context-free Grammar Genetic Programming

DE Differential Evolution

DM Dispersion Measure

EFWA Enhanced Fireworks Algorithm

ES Evolution Strategy

FCI Fitness Cloud Index

FEM First Entropic Measure

FLA Fitness Landscape Analysis

FWA Fireworks Algorithm

GA Genetic Algotihms

GDE Grammatical Differential Evolution

GE Grammatical Evolution

GEFPSO Grammatical Evolution Framework for Particle Swarm Optimization

GGGP Grammar-guided Genetic Programming

GM Gradient Measure

GP Genetic Programming

GS Grammatical Swarm Evolution

HHs Hiper-heurísticas

IL Information Landscape

ICSI International Conference on Swarm Intelligence

Page 14: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

LOGENPRO Logic grammar-based genetic programming

MLP Multi-Layer Perceptron

MPCPSO Multiple Population Co-evolution PSO

MtL Meta-Learning

NSM Nonlinear Simplex Model

PSO Particle Swarm Optimization

RS Random Search

SVM Support Vector Machine

Page 15: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1 Contexto da tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1.1 Seleção de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1.2 Seleção de valores de hiper-parâmetros . . . . . . . . . . . . . . . . . 181.1.3 Geração de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.2 Definição do problema da tese . . . . . . . . . . . . . . . . . . . . . . 191.3 Trabalho desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4 Estudo de caso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.5 Organização da tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 CONCEITOS BÁSICOS . . . . . . . . . . . . . . . . . . . . . . . . . 252.1 Meta-aprendizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 Hiper-heurísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.3 Programação Genética guiada por gramática . . . . . . . . . . . . 332.4 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3 ALGORITMOS INSPIRADOS EM ENXAMES DE PARTÍCULAS . . 413.1 O algoritmo do PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2 Técnicas de inicialização populacional . . . . . . . . . . . . . . . . 433.3 Equações de atualização de velocidade . . . . . . . . . . . . . . . . 443.4 Constantes de aceleração . . . . . . . . . . . . . . . . . . . . . . . . 463.5 Topologias de comunicação . . . . . . . . . . . . . . . . . . . . . . . 463.6 Operadores de Mutação . . . . . . . . . . . . . . . . . . . . . . . . . . 533.7 Seleção/Geração de algoritmos para PSO . . . . . . . . . . . . . . . 533.8 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4 HIPER-HEURÍSTICA HÍBRIDA PARA A OTIMIZAÇÃO DE ALGO-RITMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.1 Arquitetura do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 574.1.1 Geração de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.1.2 Extração de características . . . . . . . . . . . . . . . . . . . . . . . . . 604.1.3 Meta-base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.1.4 Seleção de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.2 Implementação da arquitetura . . . . . . . . . . . . . . . . . . . . . . 614.2.1 Geração de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.2.2 Extração de características . . . . . . . . . . . . . . . . . . . . . . . . . 64

Page 16: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

4.2.3 Meta-base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.2.4 Seleção de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.3 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5 EXPERIMENTOS E RESULTADOS . . . . . . . . . . . . . . . . . . . 725.1 Metodologia experimental . . . . . . . . . . . . . . . . . . . . . . . . 725.2 Domínio do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.3.1 Análise da geração de algoritmos . . . . . . . . . . . . . . . . . . . . . 745.3.1.1 Comparação entre gramáticas para a geração de algoritmos para o PSO . . . . . 74

5.3.1.2 Comparação entre abordagens baseadas em GGGP . . . . . . . . . . . . . . . 75

5.3.1.3 Comparação com algoritmos do ICSI 2014 . . . . . . . . . . . . . . . . . . . . 80

5.3.1.4 Análise da estrutura dos algoritmos gerados . . . . . . . . . . . . . . . . . . . 82

5.3.2 Análise da seleção de algoritmos . . . . . . . . . . . . . . . . . . . . . 855.3.3 Análise do custo computacional . . . . . . . . . . . . . . . . . . . . . . 905.4 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.1 Contribuições do trabalho . . . . . . . . . . . . . . . . . . . . . . . . 926.2 Produção bibliográfica . . . . . . . . . . . . . . . . . . . . . . . . . . 926.2.1 Artigos em conferências . . . . . . . . . . . . . . . . . . . . . . . . . . . 926.2.2 Artigos em revistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936.3 Limitações e trabalhos futuros . . . . . . . . . . . . . . . . . . . . . 93

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Page 17: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

16

1 Introdução

1.1 CONTEXTO DA TESE

Um problema de otimização pode ser definido como a tarefa de encontrar a melhorsolução dentre as possíveis soluções para um problema (HOOS e STÜTZLE, 2004). Diversosproblemas reais podem ser mapeados como problemas de otimização, tais como, planejamentofinanceiro, controle de processos, gerenciamento de riscos, projeto de escalonamento, planeja-mento de produção, roteamento, empacotamento e etc. Por este motivo a grande importância dese estudar estratégias para resolvê-los.

Geralmente, métodos heurísticos (problem-dependent) ou meta-heurísticos (problem-

independent) são usados para solucionar estes problemas, já que métodos exatos podem levarmuito tempo para alcançar a solução ótima. Estas abordagens não garantem que a solução ótimaserá encontrada, mas o objetivo é retornar uma solução razoavelmente boa em um tempo ememória aceitável (TALBI, 2009; GENDREAU e POTVIN, 2010). Na literatura, encontra-seuma variedade de algoritmos meta-heurísticos aplicados a problemas de otimização. Dentreos algoritmos, pode-se citar busca tabu, Algoritmos Genéticos (do inglês, Genetic Algorithms)(GA), Programação Genética (do inglês, Genetic Programming) (GP), algoritmos meméticos,busca baseada em vizinhança variável, busca local, GRASP, Otimização baseada em Colônia deFormigas (do inglês, Ant Colony Optimization) (ACO), Otimização por Enxame de Partículas(do inglês, Particle Swarm Optimization) (PSO), têmpera simulada, entre outros (TALBI, 2009;GENDREAU e POTVIN, 2010). Diante da grande variedade de algoritmos e de problemas aserem resolvidos, naturalmente surge a seguinte pergunta: Qual é o algoritmo mais adequado

para um dado problema?. Utilizar a estratégia de tentativa e erro para identificar o melhoralgoritmo, seus parâmetros e componentes (e.g. operador de mutação) é a resposta mais direta,mas não é viável. Como não existe um algoritmo genérico que possa resolver todos os problemas(WOLPERT e MACREADY, 1997), surge a necessidade de automatizar o processo de definiçãodo algoritmo mais adequado para um problema de entrada. Pode-se destacar três vertentes depesquisa na área de otimização de algoritmos: a seleção de algoritmos, a seleção de valores dehiper-parâmetros e a geração de algoritmos (PAPPA e FREITAS, 2009).

1.1.1 Seleção de algoritmos

O problema de seleção de algoritmos pode ser definido como, dado um conjunto dealgoritmos candidatos, escolher o melhor algoritmo para um problema de entrada considerandouma métrica desejada de avaliação. Rice (1975) propôs um formalismo genérico para seleçãode algoritmos (ver figura 1). Este formalismo relaciona problemas e algoritmos através dodesempenho destes algoritmos e as características dos problemas. Em seu formalismo, observa-

Page 18: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 17

se o espaço de problemas P , que contém todo o conjunto de instâncias de problemas. O espaçode características F que contém características adquiridas de P e realizadas por um extrator decaracterísticas qualquer. O espaço de algoritmos A, que contém todos os algoritmos capazes deresolver um determinado problema. O espaço de medidas de desempenho D, que contém todasas medidas de desempenho possíveis. Dado um problema x ∈ P que contém característicasf(x) ∈ F , a tarefa consiste em encontrar um mapeamento S(f(x)) no espaço de algoritmosA de forma que um algoritmo candidato selecionado a ∈ A apresente o maior desempenhod(a(x)) ∈ D.

Figura 1 – Esquema do formalismo básico para o problema de seleção de algoritmos.

Fonte: adaptado de (RICE, 1975)

O problema de seleção de algoritmos abriu possibilidades para investigar se o processode aprendizado pode ocorrer em um nível de abstração em que é possível aprender sobre opróprio processo de aprendizado e gerar conhecimento a partir da experiência de execuçõesanteriores. Dessa forma, torna-se possível a realização de uma seleção automática de algoritmostomando como base o conhecimento adquirido e as características de um novo problema aser resolvido. Uma das abordagens mais conhecidas neste contexto é o Meta-Aprendizado (doinglês, Meta-Learning) (MtL) (SMITH-MILES, 2008; KANDA et al., 2011b). MtL é o processode aquisição automática de conhecimento a partir de uma avaliação empírica de algoritmosde treinamento em diferentes problemas (conjuntos de dados). Um sistema de MtL resolve oproblema de seleção de algoritmos efetivamente através da realização de um mapeamento entreum determinado problema e um modelo preditivo. A função preditiva é modelada na forma deum problema de aprendizagem supervisionada. O processo difere da abordagem tradicional deaprendizagem de máquina principalmente no nível de abstração em que a adaptação do modelode aprendizagem ocorre. A aprendizagem dos métodos tradicionais foca na adaptação do modeloem uma tarefa específica. MtL, por outro lado, utiliza modelos de aprendizado induzidos a partirde conhecimento em nível meta, fazendo uso da experiência resultante de várias aplicações deum sistema de aprendizado. Em um contexto de recomendação de algoritmos, por exemplo, oconhecimento adquirido é utilizado para construir a função de mapeamento entre características

Page 19: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 18

de problemas e desempenho de algoritmos (BRAZDIL; SOARES; COSTA, 2003). Sendo assim,a qualidade de um modelo de MtL está intimamente ligada à qualidade do conhecimento obtidodurante a etapa de aprendizagem (meta-base).

MtL, como abordagem de seleção de algoritmos, têm contribuído bastante no processode otimização de algoritmos. Isto se deve ao reuso do conhecimento adquirido a partir dosexperimentos passados. Este procedimento reduz o custo na definição de um algoritmo paraum novo problema de entrada, quando comparado a outras abordagens tais como algoritmos debusca que precisam avaliar cada possível algoritmo candidato. Embora MtL seja uma abordagemeficiente, esta pode apresentar algumas limitações. Uma delas é com relação à construção dameta-base, pois a capacidade de MtL para selecionar algoritmos versáteis para os problemasde entrada está intimamente ligada à qualidade do conhecimento obtido durante o processo deaprendizagem. Além disso, o desempenho da recomendação de algoritmos do MtL é dependenteda escolha das métricas de caracterização dos problemas. Caso as métricas não sejam adequadaspara a descrição dos problemas considerados, a recomendação é prejudicada.

1.1.2 Seleção de valores de hiper-parâmetros

O problema de seleção de parâmetros pode ser definido como, dado um algoritmo e umespaço de hiper-parâmetros, escolher a melhor configuração de valores para os hiper-parâmetrosdo algoritmo de modo que este alcance um bom desempenho em um dado problema de entrada.Algoritmos do estado da arte geralmente possuem hiper-parâmetros (e.g. taxa de mutação em GAe, constantes de regularização no PSO) e, quando estes algoritmos são aplicados na resolução deproblemas reais e complexos, os seus hiper-parâmetros precisam ser devidamente ajustados. Casocontrário, valores inadequados podem influenciar negativamente o desempenho dos algoritmos.

Visando evitar o ajuste manual dos parâmetros dos algoritmos, este problema passoua ser encarado como um problema de otimização. Podendo-se, portanto, aplicar algoritmosde otimização na busca por parâmetros ótimos para que um certo algoritmo maximize seudesempenho quando aplicado em um dado problema de entrada (SHI e EBERHART, 1998b;EIBEN; HINTERDING; MICHALEWICZ, 1999). Vale salientar que a aplicação de MtL tambémjá foi investigada para a seleção de valores de hiper-parâmetros de algoritmos. Destacam-se osseguintes trabalhos relacionados (KUBA et al., 2002; PAPPA et al., 2014; SMITH-MILES, 2009;MIRANDA et al., 2014).

1.1.3 Geração de algoritmos

O problema de geração de algoritmos pode ser definido como, dado um conjunto de com-ponentes de um ou vários algoritmos, gerar novos algoritmos a partir dos componentes existentes.As abordagens anteriormente apresentadas objetivavam apenas a seleção de algoritmos padrão ouajustar os parâmetros destes algoritmos. Em busca de maior flexibilidade na construção de umamelhor solução (algoritmo) para um dado problema, foram criadas técnicas para geração total de

Page 20: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 19

algoritmos (hiper-heurísticas de geração), considerando-se funções e elementos complexos deprogramação (e.g. loops e if-then-else) (FREITAS e PAPPA, 2009). Neste ramo de geração dealgoritmos destacam-se as hiper-heurísticas (HHs). HHs podem ser definidas como o processo deusar (meta-)heurísticas para escolher/construir (meta-)heurísticas para resolver um determinadoproblema. Enquanto meta-heurísticas realizam a busca em um espaço de soluções candidataspara um problema diretamente, HHs realizam a busca em um espaço de (meta-)heurísticas. Cada(meta-)heurística é um possível algoritmo para resolver o problema de otimização, e é avaliadaatravés de uma função de avaliação sobre o problema. Uma vez que o desempenho de cada(meta-)heurística é avaliado sobre o problema, a HH é capaz de direcionar a busca considerandoas (meta-)heurísticas mais promissoras.

A abordagem de geração de algoritmos tem sido importante para a área de otimizaçãode algoritmos pois provê meios para projetar novos algoritmos com modelos previamente nãoconsiderados. Isto torna-se interessante para o especialista, pois permite o surgimento de novospontos de vista com relação ao desenvolvimento de algoritmos (FREITAS e PAPPA, 2009). Noentanto, um ponto crítico existente na geração de algoritmos, é a avaliação da solução. Comocada solução do espaço de busca representa um possível algoritmo, o cálculo de fitness de cadasolução é a execução do próprio algoritmo no problema de entrada. Deste modo, a geração dealgoritmos torna-se bastante custosa, principalmente quando o número de soluções e iterações dasimulação é grande (HARDING e BANZHAF, 2007). Vale salientar que algoritmos de geraçãode algoritmos propostos na literatura não levaram em consideração este custo, sendo, portanto,um problema em aberto (MCKAY et al., 2010). No entanto, pode-se citar alguns trabalhos queutilizaram GPUs para tentar acelerar a avaliação dos indivíduos (HARDING e BANZHAF, 2007;ROBILLIARD; MARION; FONLUPT, 2009).

1.2 DEFINIÇÃO DO PROBLEMA DA TESE

Hiper-heurísticas de geração automática de algoritmos têm sido largamente estudadas eaplicadas em diversos domínios. Embora os resultados alcançados sejam promissores, o problemarelacionado ao custo de geração de algoritmos ainda está em aberto. Diante disto, esta tese propõeuma alternativa para a redução do custo de geração de algoritmos sem comprometer a qualidadedestes algoritmos quando aplicados no problema de entrada.

1.3 TRABALHO DESENVOLVIDO

A escolha por uma HH de geração para o problema de otimização de algoritmos estáassociada ao potencial desses métodos de construir algoritmos mais ricos, dependendo de comoo espaço de busca é definido. Por outro lado, esta abordagem pode ter um custo computacionalproibitivo, que pode ser aliviado por implementações de hardwares sofisticados (HARDING eBANZHAF, 2007; ROBILLIARD; MARION; FONLUPT, 2009).

Page 21: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 20

Abordagens de seleção de algoritmos foram concebidas para selecionar algoritmosa partir de um conjunto limitado de algoritmos bem conhecidos. Neste caso, os algoritmosconsiderados candidatos à recomendação podem não ser suficientemente versáteis para lidarcom uma variedade de problemas de entrada, ou seja, o conhecimento adquirido, durante osexperimentos realizados, pode não ser suficiente para a definição de uma boa meta-base. Emcontrapartida, o processo de seleção de algoritmos, uma vez que a meta-base foi criada, é debaixo custo computacional.

Diante dos pontos elucidados, foi desenvolvida neste trabalho uma hiper-heurísticahíbrida que combina HH de geração com um método de seleção de algoritmos (MtL). Estasolução visa prover algoritmos gerados que sejam adequados para um problema dado com baixocusto computacional quando comparado ao de outras HHs de geração.

A fim de melhorar a diversidade dos algoritmos disponíveis para a seleção, inicialmentea HH de geração é utilizada para criar um conjunto de algoritmos mais diverso, flexível e rico. Aideia é que para cada problema de entrada, um algoritmo customizado seja gerado. Estes novosalgoritmos são usados pelo MtL no processo de construção da meta-base para auxiliar na seleçãode algoritmos. O objetivo desta combinação é ter a vantagem do baixo custo computacional daabordagem de seleção de algoritmos para recomendar algoritmos ricos, que foram gerados pelaHH de geração, para um dado problema de entrada.

O funcionamento da abordagem proposta leva em consideração duas etapas: a construçãodo conhecimento e a recomendação do algoritmo mais adequado. A etapa de construção deconhecimento cria uma base de problemas de otimização, em que cada problema é associado aum algoritmo produzido pela HH de geração. Embora nesta tese a relação seja de um algoritmogerado por problema, esta é uma decisão de implementação. Pode-se, portanto, definir o númerode algoritmos, a serem armazenados na meta-base, por problema. No processo de construção éfornecido como entrada um problema de otimização. A partir daí, duas operações são realizadas:1) a aplicação de métricas de caracterização do problema objetivando descrever o problema, e 2)a execução de uma hiper-heurística de geração na construção de algoritmos sobre o problemadado. Como pode-se perceber, o processo de construção da meta-base é bastante custoso. Noentanto, à medida que o conhecimento adquirido com a geração de algoritmos em um certonúmero de problemas, este conhecimento pode ser reutilizado para resolver novos problemassem a necessidade do processo de geração novamente. A etapa de uso da meta-base é apresentadaa seguir.

Na etapa de recomendação do algoritmo, um problema de otimização não consideradoaté o momento é fornecido como entrada. Diante disto, extrai-se as características deste novoproblema, sendo estas comparadas com características de problemas que já foram solucionadospreviamente (contidos na meta-base). Uma vez identificado o problema mais similar, o algo-ritmo gerado para este problema (neste trabalho decidiu-se selecionar apenas um algoritmo) érecomendado para o problema de entrada. O custo computacional da recomendação leva em

Page 22: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 21

consideração a extração de características do novo problema e a definição do problema maissimilar, fazendo com que o especialista tenha acesso a um algoritmo para o problema de entradarapidamente, sem a necessidade de executar a hiper-heurística para a geração de um algoritmopara o problema de entrada.

A hipótese considerada neste trabalho é que uma vez que o problema mais similar sejaidentificado e sua solução recomendada ao problema de entrada, esta solução seja útil e atinjabons resultados, sem a necessidade de geração de um algoritmo para o problema de entradaespecificamente. O roadmap desta pesquisa é apresentado na Figura 2.

Como apresentado no roadmap, para a realização deste trabalho duas áreas foraminvestigadas: HHs e MtL. As técnicas de HHs serão utilizadas no componente gerador dealgoritmos visando a construção da meta-base. Para a criação deste componente foram necessáriasas seguintes atividades:

• Definir um estudo de caso para aplicar a abordagem proposta;

• Escolher a hiper-heurística de geração mais adequada;

• Analisar a geração dos algoritmos;

• Comparar algoritmos gerados com algoritmos estado da arte presentes na literatura;

Como já foi mencionado na Seção 1.2, o custo computacional necessário para a geraçãode um algoritmo resultante pode ser alto. Se para cada problema novo que surgir o processo degeração de algoritmo tiver que ser executado novamente, esta atividade pode se tornar bastantedemorada. A área de MtL será utilizada para evitar o tempo gasto na reexecução do componentegerador de algoritmo. Deste modo, será criada uma infraestrutura para recomendar algoritmos jáavaliados, em problemas anteriores, para um dado problema de entrada. Para a sua criação, asseguintes atividades foram realizadas:

• Criar meta-base (base de conhecimento) composta por problemas de otimização já resol-vidos e os respectivos algoritmos adotados para cada problema (construídos a partir docomponente gerador de algoritmos);

• Definir meta-características para descrever problemas de otimização;

• Recomendar, para o problema de entrada, o algoritmo adotado no problema mais similarpresente na meta-base;

• Analisar a qualidade da recomendação, ou seja, se o algoritmo recomendado é útil para oproblema dado.

Page 23: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 22

Figura 2 – Roadmap da pesquisa.

Fonte: o autor

1.4 ESTUDO DE CASO

Para avaliar a abordagem proposta, o PSO foi escolhido como algoritmo a ser otimizadolevando em considerando um conjunto de problemas de otimização. O PSO é uma meta-heurísticadesenvolvida nos anos 90, inspirada no comportamento social de bandos de pássaros buscandopor comida (KENNDY e EBERHART, 1995). Esta técnica tem alcançado um grande interessena comunidade científica devido a sua simplicidade, flexibilidade e seus resultados competitivos

Page 24: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 23

em diferentes aplicações (ENGELBRECHT, 2007). Diversas variações foram propostas paraa melhoria deste algoritmo. Por exemplo, os fatores de inércia e constrição foram propostospara melhorar a convergência e a estabilidade do algoritmo (EIBEN; HINTERDING; MICHA-LEWICZ, 1999). Além disso, diferentes topologias foram desenvolvidas para definir comoas partículas trocam informações durante o processo de otimização (ENGELBRECHT, 2007;KENNEDY e MENDES, 2002). Estas e outras abordagens desenvolvidas mostraram-se úteis emelhoraram o desempenho do PSO significativamente. Porém, assim como acontece com outrosalgoritmos, o desempenho do PSO em um dado problema de otimização pode ser afetado pelaescolha dos elementos que o compõe (SHI e EBERHART, 1998b). O uso da topologia global, porexemplo, favorece potencialmente o PSO em problemas com baixo número de mínimos locais,enquanto que a topologia local seria mais adequada para problemas de superfície mais complexa.Além da topologia, também foi constatada a influência de outros elementos no desempenho doPSO, tais como equações de velocidade, valores de constantes de aceleração e operadores demutação (XU, 2013).

A tarefa de decidir qual é o melhor algoritmo do PSO para solucionar um problemaparticular torna-se complicada devido ao grande número de possíveis variações e parâmetrosdo PSO a serem levados em conta (POLI; CHIO; LANGDON, 2005). Dentre as abordagens,destacam-se as hiper-heurísticas que lidam com a tarefa de ajuste de algoritmos do PSO comosendo outro problema de (meta)otimização. O espaço de busca, neste caso, é um conjunto depossíveis algoritmos para o PSO no dado problema. A função objetivo, por outro lado, é amesma adotada no problema de (base)otimização corrente. O uso de técnicas na otimizaçãode algoritmos é uma estratégia sistemática que vem sendo estudada na literatura para evitarexperimentos exaustivos de tentativa e erro (POLI; CHIO; LANGDON, 2005). Já foram aplicadospara a otimização do PSO, algoritmos como GA (LIU, 2008) e Evolução Diferencial (do inglês,Differential Evolution) (DE) (ZHANG et al., 2003). No entanto, estas abordagens visavamapenas a seleção adequada de parâmetros para o PSO. Trabalhos mais recentes estudaram ageração de novos PSOs através do uso de GP (RASHID, 2010; POLI; LANGDON; HOLLAND,2005). Nestes trabalhos, foram geradas novas equações de velocidade para o PSO objetivando-sebalancear a convergência e a exploração. Ainda com relação à geração do PSO, há trabalhosque também focaram na geração da equação de velocidade do PSO, porém, fazendo uso deuma variação de GP que utiliza gramática (do inglês, Grammar-guided Genetic Programming)(GGGP) (SI, 2012; SI, 2013; SI; DE; BHATTACHARJEE, 2014). Como pode-se ver, o estudo dageração de modelos para o PSO não foi estudada profundamente. Além disso, os componentese valores de parâmetros considerados nos trabalhos citados foram limitados e investigados empoucos problemas.

Page 25: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 1. Introdução 24

1.5 ORGANIZAÇÃO DA TESE

Além deste capítulo, esta tese será apresentada em mais cinco capítulos que estãoorganizados da seguinte forma:

Capítulo 2: Neste capítulo são apresentados os trabalhos relacionados a otimização de algorit-mos e são apresentadas críticas, vantagens e limitações.

Capítulo 3: Neste capítulo são apresentados os conceitos básicos do algoritmo PSO para ummelhor entendimento do estudo de caso.

Capítulo 4: Neste capítulo é apresentada a proposta da tese, sua motivação e a formalização dotrabalho desenvolvido.

Capítulo 5: Neste capítulo são apresentados os experimentos realizados e resultados obtidos.

Capítulo 6: Neste capítulo são apresentadas conclusões, contribuições, limitações e trabalhosfuturos.

Page 26: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

25

2 Conceitos básicos

Neste trabalho tem-se como objetivo a otimização de algoritmos de forma eficiente.Diante disso, neste capítulo, serão apresentadas as áreas de MtL e HHs, bem como os trabalhosrealizados nestas áreas que estão relacionados ao problema em questão.

2.1 META-APRENDIZADO

MtL é uma abordagem de seleção de algoritmos que se baseia na associação entre ascaracterísticas de um dado problema (e.g. classificação ou otimização) e o desempenho alcançadopor algoritmos naquele problema (RENDELL e CHO, 1990). O objetivo é formar uma basede conhecimento em que sabe-se quais algoritmos obtiveram os melhores desempenhos emum dado conjunto de problemas (RENDELL e CHO, 1990). Com isto, MtL explora os dadosobtidos de experimentos passados e constrói a partir deles modelos que podem ser utilizadospara predição do algoritmo mais adequado para um novo problema de entrada.

O primeiro estudo nesta área foi desenvolvido por Rendell e Cho (1990), dando início àstentativas de caracterizar problemas de classificação e examinar o seu impacto no comportamentodo algoritmo, usando características relacionadas ao tamanho e concentração das classes. Aha(1992) estendeu esta ideia, utilizando algoritmos de aprendizado baseados em regra para criarregras como: se o conjunto de dados apresenta as características C1, C2, ..., Cn, então use o algo-ritmo A1 e não use o algoritmo A2. Neste trabalho foram utilizados algoritmos de classificaçãopara a resolução do problema de reconhecimento de caracteres. As características utilizadas paradescrever os problemas de classificação incluíam o número de instâncias, número de classes,número de atributos relevantes e irrelevantes.

Outro trabalho bastante importante para o desenvolvimento da área de MtL foi o projetoStatlog. O principal objetivo deste projeto era apresentar o potencial e as fraquezas existentesnos diversos algoritmos de classificação existentes. A análise experimental deste trabalho foireferenciada no livro de Brazdil e Henery (1994), que relaciona o desempenho dos algoritmos àssuas caraterísticas ou medidas descritivas de conjuntos de dados de classificação. O resultadofinal deste trabalho foi um conjunto de medidas para caraterizar conjuntos de dados agrupadasem medidas simples (e.g. número de instâncias, classes, etc), estatísticas (e.g. média e variânciados atributos) e de teoria da informação (e.g. entropia). Estas categorias de características dedados são utilizadas até hoje (SMITH-MILES, 2009).

Baseado no sucesso do projeto Statlog e o progresso da pesquisa em MtL, foi fundadoo projeto ESPRIT, em 1998, intitulado METAL: a meta-learning assistant for providing user

support in machine learning and data mining. O objetivo deste projeto foi desenvolver propostaspara seleção de modelos de algoritmos e disponibilizar para o usuário. Este projeto, quando

Page 27: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 26

criado, incorporava 53 bases de classificação, 10 algoritmos de aprendizado e medidas dedesempenho do algoritmo baseadas na validação cruzada e no custo computacional. Atualmente,os números são bem maiores.

A Figura 3 mostra a arquitetura do MtL. Em MtL, dada uma nova base de dados, o sistemaindica quais as melhores soluções (e.g. algoritmos, heurísticas, configurações de parâmetros) quegeram os melhores resultados a partir das características do problema, proporcionando ao usuárioeconomia de tempo, pois reduz a quantidade de algoritmos ou configurações de parâmetros queele iria testar. De modo a facilitar o entendimento do conceito de MtL, utilizamos a arquiteturadefinida por Brazdil et al. (2008) como referência. A arquitetura do MtL pode ser dividida emdois modos de operação, aquisição de conhecimento e consulta, que serão detalhados a seguir. Omodo de aquisição de conhecimento objetiva aprender sobre o próprio processo de aprendizagem.A Figura 4 ilustra este modo de operação.

Figura 3 – Arquitetura do MtL.

Fonte: o autor

Assume-se que a entrada do sistema consiste em um conjunto de bases de dados deexemplos, como pode-se ver na Figura 4-A. Para cada base de dados são extraídas características(Figura 4-B) que podem estar ou não relacionadas ao domínio particular da aplicação. Estascaracterísticas ou meta-características, por sua vez, formam um conjunto de aspectos descritivosdas bases (e.g., o número de atributos, número de outliers, número de atributos simbólicos,entre outros) que sejam capazes de capturar informação útil. Além disso, técnicas (Figura 4-C)são escolhidas (e.g. classificadores, meta-heurísticas) para serem aplicadas nas bases de dados,gerando seu desempenho no dado problema (Figura 4-D). Os valores das meta-características e docálculo de desempenho são combinados, formando o meta-exemplo (Figura 4-E), e armazenadosna meta-base (Figura 4-F).

Page 28: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 27

Figura 4 – Mtl: Modo de Aquisição de Conhecimento.

Fonte: o autor

Para exemplificar o processo de aquisição do conhecimento será considerado o problemade seleção de parâmetros da SVM no contexto de classificação. O objetivo é configurar a SVMcom parâmetros adequados de acordo com o problema de classificação fornecido como entradaobjetivando-se maximizar sua precisão na classificação. Deste modo, faz-se necessária a criaçãoda meta-base. Para isto, um conjunto de 25 problemas de classificação são selecionados comoexemplo (ver Tabela 1). Em seguida, métricas de descrição de problemas são aplicadas em cadaproblema, gerando como saída um vetor de características para cada problema. Na Tabela 2podem ser vistas as métricas adotadas para a descrição dos problemas de classificação.

Tabela 1 – Problemas de classificação utilizados para a geração de meta-exemplos.

Blood Northix Credit-a Mamography First-ordertheorem proving

Leaf Vehicle Lung Cancer Optdigits Spoken Arabic DigitColic Soybean Hill Wholesale Istanbul

Valley customers Stock ExchangeHeart Splice Hepatitis Musk v.2 Image Segment.Colon Libras Breast-w Ozone Lvl. Robot Execution

Detection Failures

Este exemplo está considerando a otimização de dois hiper-parâmetros da SVM: γ dokernel RBF e C. Os valores possíveis de cada hiper-parâmetro é definido da seguinte forma:

Page 29: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 28

Tabela 2 – Métricas para descrição de problemas de classificação.

Número de exemplosNúmero de atributosNúmero de classes

Média da correlação dos atributos

γ assume 19 valores diferentes (de 2−15 a 23) e C assume 21 valores diferentes (de 2−5 a 215),totalizando 399 diferentes combinações de parâmetros. O desempenho da SVM, configuradacom cada possível combinação de parâmetros, é avaliado sobre cada problema considerado.Esta avaliação se dá através do experimento de validação cruzada 10-fold. Uma vez que ascaracterísticas de cada problema foram extraídas e que o desempenho da SVM foi avaliado,considerando-se cada possível configuração em todos os problemas, os meta-exemplos sãocriados e armazenados na meta-base. A meta-base é o principal resultado da fase de aquisição doconhecimento, refletindo a experiência acumulada ao longo de diferentes tarefas. A eficácia dometa-aprendizado aumenta à medida que são acumulados meta-exemplos.

No modo de consulta, dada um novo problema como entrada (Figura 5-A), o objetivo érecomendar a solução (e.g. algoritmo, configurações do algoritmo) através da comparação entreas características da base de entrada e dos meta-exemplos. A meta-base gerada no modo anterior éutilizada como um repositório de execuções passadas (meta-exemplos). Com o surgimento de umnovo problema de entrada, são extraídas suas características (Figura 5-B) comparando-as com ascaracterísticas dos meta-exemplos da meta-base (Figura 5-C) de modo a produzir recomendações(Figura 5-D). Deste modo, uma vez identificado o meta-exemplo mais similar com relaçãoao problema de entrada, a solução que obteve o melhor desempenho sobre o meta-exemplo érecomendada como solução para o problema de entrada (Figura 5-E).

Nos últimos anos, MtL têm sido aplicada com sucesso, principalmente, na seleçãode algoritmos (cenário apresentado previamente) em uma variedade de tipos de problemas(BRAZDIL et al., 2008). No trabalho realizado por Brazdil, Soares e Costa (2003) foi criado ummétodo de MtL que auxilia usuários na seleção de algoritmos de Aprendizagem de Máquina(AM) para uma dada base de dados. Também destaca-se o trabalho desenvolvido por Mirandaet al. (2014) que utilizou MtL na seleção/recomendação de parâmetros para Support Vector

Machine (SVM).

Page 30: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 29

Figura 5 – MtL: Modo de Consulta.

Fonte: o autor

Embora as pesquisas realizadas em MtL sejam em sua maioria focadas na seleção dealgoritmos ou modelos na área de AM, alguns estudos aplicam MtL em outras áreas, tais comootimização. Em (XU et al., 2008), a abordagem SATzilla seleciona meta-heurísticas para soluçãode problemas de satisfatibilidade. Em (SMITH-MILES, 2008), um modelo de MtL baseado noMulti-Layer Perceptron (MLP) é usado para selecionar algoritmos de otimização para o problemade atribuição quadrática. Já nos trabalhos (KANDA et al., 2011a; KANDA et al., 2011b; SMITH-MILES; HEMERT; LIM, 2010), o MtL foi utilizado para recomendar meta-heurísticas parao problema do Caixeiro Viajante. Nos trabalhos mencionados acima, as meta-característicasadotadas são dependentes do contexto. No caso do problema do caixeiro viajante, por exemplo,características como número de vértices, menor e maior custo de vértice, custo médio dos vérticesforam adotadas na descrição dos problemas.

MtL, como abordagem de seleção de algoritmos, têm contribuído bastante no processode otimização de algoritmos. Isto se deve ao reuso do conhecimento adquirido a partir dos expe-rimentos passados. Este procedimento reduz o custo na definição de um algoritmo para um novoproblema de entrada, quando comparado a outras abordagens tais como algoritmos de busca queprecisam avaliar cada possível algoritmo candidato. Embora MtL seja uma abordagem eficiente,esta pode apresentar algumas limitações. Uma delas é com relação à construção da meta-base,pois a qualidade de um modelo de MtL está intimamente ligada à qualidade do conhecimentoobtido durante o processo de aprendizagem. Além disso, o desempenho da recomendação doMtL é dependente da escolha das métricas de caracterização dos problemas. Caso as métricas nãosejam adequadas para a descrição dos problemas considerados, a recomendação é prejudicada.

Page 31: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 30

2.2 HIPER-HEURÍSTICAS

HHs podem ser definidas como o processo de usar (meta-)heurísticas para escolher(meta-)heurísticas para resolver um determinado problema (BURKE et al., 2003). A figura 6mostra a arquitetura genérica de uma HH. Enquanto meta-heurísticas realizam a busca em umespaço de soluções candidatas para um problema diretamente, HHs realizam a busca em umespaço de (meta-)heurísticas. Cada (meta-)heurística é um possível algoritmo para resolver oproblema de otimização, e é avaliada através de uma função de avaliação sobre o problema. Umavez que o desempenho de cada (meta-)heurística é avaliado sobre o problema, a HH é capazde direcionar a busca considerando as (meta-)heurísticas mais promissoras. Esta abordagemé muito utilizada para automatizar a seleção de algoritmos (componentes como parâmetros eprocedimentos) de algoritmos para resolução de problemas (BURKE et al., 2009).

Figura 6 – Arquitetura de HHs.

Fonte: o autor

Inicialmente, foram utilizadas meta-heurísticas (e.g. GA e DE) para a otimização deoutras meta-heurísticas como o PSO na resolução de problemas de otimização contínua semrestrições (LIU, 2008; PARSOPOULOS, 2010). A figura 7 apresenta o modelo da HH definidapor (LIU, 2008), cujo objetivo era otimizar os parâmetros do PSO quando aplicado a problemasde otimização contínua sem restrições. Cada PSO contido no conjunto de (meta-)heurísticas dizrespeito à um PSO ajustado com uma possível configuração de parâmetros. Deste modo, cadapossível PSO é avaliado em um dado problema de otimização contínua sem restrições quanto àsua capacidade de encontrar a solução ótima para aquele problema.

No entanto, a grande dificuldade inerente às meta-heurísticas, GA e DE, mencionadas éque a forma como estas representam indivíduos (soluções) é de baixa expressividade (string ou

Page 32: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 31

Figura 7 – Uso de GA na otimização do PSO quando aplicado a problemas deotimização contínua sem restrições.

Fonte: o autor

vetor), onde os genes do indivíduo tipicamente correspondem a dados como valores de variáveis(PAPPA e FREITAS, 2009). Por este motivo, os trabalhos encontrados. que aplicam GA e outrasabordagens como HH, são fundamentalmente de seleção de algoritmos ou de parâmetros.

Objetivando-se considerar não apenas a seleção de (meta-)heurísticas pré-definidas eseus parâmetros no processo de otimização, mas também a geração de novas (meta-)heurísticas,foram desenvolvidas hiper-heurísticas de geração (PAPPA et al., 2014). Hiper-heurísticas degeração, diferentemente das hiper-heurísticas que selecionam (meta-)heurísticas de um conjuntopré-definido, são capazes de construir novas (meta-)heurísticas a partir das já existentes. Osurgimento desta nova variação de hiper-heurísticas fez com que a definição de hiper-heurísticasse expandisse para uma metodologia automatizada para selecionar ou gerar (meta-)heurísticas

para solucionar problemas de otimização. Dentre as hiper-heurísticas de geração, a mais comu-mente utilizada na literatura é GP (BURKE et al., 2009). GP é conhecido por ser um algoritmousado na evolução/geração de programas, e sua flexibilidade na representação e geração deprogramas complexos e personalizados fez com que esta abordagem tenha se tornado popular naotimização de algoritmos (WOODWARD e SWAN, 2014).

Antes de entrar em detalhes a respeito da abordagem de GP, conceitos básicos precisamser esclarecidos. O termo genótipo está associado a como o indivíduo é modelado utilizandouma estrutura de dados que é manipulada pelos operadores genéticos, tais como mutação ecruzamento. Por outro lado, o fenótipo aparece quando o indivíduo é traduzido para uma repre-sentação executável (programa ou algoritmo), podendo assim ter o seu desempenho avaliado.Diferentemente do GA, GP possui uma capacidade de representação dos seus indivíduos (genó-

Page 33: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 32

tipo) com poder de expressividade maior. Cada indivíduo em GP é mapeado em uma estruturade árvore (ver figura 8), sendo possível representar dados (tipicamente nós terminais da árvore) efunções ou operadores (tipicamente nós internos da árvore). A evolução de soluções candidatasconsiderando-se os tipos de dados mencionados anteriormente é a característica de GP quepermite a descoberta de soluções para problemas de maior complexidade, quando comparadocom outros algoritmos evolucionários convencionais.

Figura 8 – Representação de indivíduos em formato de árvore.

Fonte: o autor

Com a ascensão de GP no contexto de otimização de algoritmos, pode-se destacar avan-ços nas áreas de Otimização Combinatória e Aprendizagem de Máquina/Mineração de Dados.Em otimização combinatória tem-se trabalhos que aplicaram GP na resolução de problemas deempacotamento (BURKE et al., 2010; POLI; WOODWARD; BURKE, 2007), satisfatibilidade(FUKUNAGA, 2008; BADER-EL-DEN e POLI, 2007), escalonamento (TAY e HO, 2008) ecaixeiro viajante (BURKE et al., 2013). Nas áreas de aprendizagem de máquina e mineração dedados, GP foi aplicada na otimização de modelos de classificação (YAO, 1999; VELLA et al.,2012; SMART e ZHANG, 2005; BOT e LANGDON, 2000; FOLINO; PIZZUTI; SPEZZANO,2000), descoberta de regras de classificação (BOJARCZUK; LOPES; FREITAS, 1999), des-coberta de conhecimento (BOJARCZUK; LOPES; FREITAS, 2000) e outros, que podem serencontrados em (PAPPA e FREITAS, 2009).

O algoritmo de GP pode apresentar um problema (não satisfatibilidade da propriedadede fechamento) que permite a geração de soluções incorretas sintaticamente, ou seja, programasincoerentes. Este fenômeno, limitação intrínseca ao algoritmo de GP, faz com que muitassoluções tenham que ser descartadas durante o processo de busca. Esta propriedade requer quetodos os nós terminais e funções do GP produzam um valor que pode ser usado como valorde entrada por outra função do GP. Para exemplificar o não cumprimento desta propriedade,

Page 34: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 33

considera-se as funções aritméticas tradicionais: +,−, ∗, / e os valores: 0, 1, 2 como terminais.Neste caso, a propriedade de fechamento não é satisfeita, pois é possível que (2/0) aconteça,podendo abortar o programa com o erro de divisão por zero. Estes problemas motivaram o estudoe desenvolvimento de novas abordagens, como por exemplo a GP guiada por gramática (doinglês, Grammar-guided Genetic Programming (GGGP)), que utiliza uma gramática para definirregras usadas para a construção de programas/algoritmos (MCKAY et al., 2010). Abordagensbaseadas em GGGP têm se popularizado devido à sua capacidade de representar informaçõessensíveis ao domínio através da gramática, evitando, portanto, problemas relacionados à criaçãode indivíduos incoerentes. A seção a seguir apresentará com detalhes abordagens baseadas emGGGP.

2.3 PROGRAMAÇÃO GENÉTICA GUIADA POR GRAMÁTICA

Existem duas reais motivações para combinar gramática e GP (O’NEILL e RYAN,2001). Primeira, permite-se que o usuário incorpore na gramática conhecimento prévio sobreo domínio do problema para ajudar a guiar a busca. Segunda, elimina as chances da nãosatisfação da propriedade de fechamento através da definição das regras de produção da gramática.Inicialmente, abordagens baseadas em GGGP representavam uma pequena parcela das técnicasdesenvolvidas em GP. No entanto, este cenário mudou, e o número de trabalhos envolvendoGGGP têm crescido (MCKAY et al., 2010; O’NEILL e RYAN, 2001).

Abordagens baseadas em GGGP apresentam os seguintes componentes: i) Gramática, ii)Mecanismo de busca e iii) Processo de mapeamento genótipo/fenótipo. As regras de produçãodo programa/algoritmo precisam ser definidas na gramática. Uma solução (genótipo) presente nomecanismo de busca, antes de ser avaliada, precisa ser convertida para um programa (fenótipo)através do processo de mapeamento. Uma vez convertida em programa, a solução pode seravaliada através de uma função de avaliação. A seguir é apresentado o funcionamento geraldo GGGP (ver Figura 10). O primeiro passo a ser dado é definir a gramática. Esta pode serrepresentada por uma tupla, (N, T, P, S), onde N é o conjunto de símbolos não-terminais, T éo conjunto de símbolos de terminais, P é o conjunto de regras de produção que mapeiam oselementos de N a T , e S é o símbolo de início, membro de N .

Para contextualizar os termos apresentados, a figura 9 apresenta um exemplo de umagramática para a construção de indivíduos que representam equações matemáticas para umproblema de regressão simbólica 1.

Uma vez definida a gramática, um conjunto de indivíduos ou genótipos será geradoaleatoriamente como população inicial do mecanismo de busca. Considerando a gramática apre-sentada, um exemplo de indivíduo seria Sin(X) + Cos(X ∗X). Cada indivíduo da populaçãoserá traduzido de genótipo para um programa (no caso do exemplo, uma equação matemática cal-1 A regressão simbólica é um dos processos de busca de funções para um modelo matemático, que é descrito no

formato de dados de entrada e saída.

Page 35: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 34

Figura 9 – Exemplo de gramática para a geração de indivíduos no contexto do problemade regressão simbólica.

Fonte: o autor

culável) através do processo de mapeamento. Em seguida, cada indivíduo gerado será executadono problema dado, e seu valor de fitness armazenado. Estes passos iniciais antecedem o processoiterativo do algoritmo. Uma vez avaliados todos os indivíduos da população, são selecionadosos melhores pais e sobre estes são aplicados operadores genéticos de mutação e cruzamento.Após a aplicação dos operadores sobre os pais, novos indivíduos são gerados. Como apenas osmelhores filhos (genótipos) permanecem na população na próxima iteração, estes precisam sertraduzidos através do processo de mapeamento e assim terem seus valores de fitness executadosda mesma forma como explicado previamente.

Dentre as abordagens de GGGP criadas, destacam-se os algoritmos de GGGP base-ados em árvore e genoma linear (MCKAY et al., 2010). Estas abordagens adotam o mesmofuncionamento apresentado na figura 10, sendo suas peculiaridades apresentadas a seguir.

Nas abordagens baseadas em árvore, os genótipos são representados por árvores dederivação produzidas a partir de uma gramática. A avaliação da solução acontece através daleitura da árvore de expressões (genótipo) de cada indivíduo a partir das folhas da árvore de

Page 36: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 35

Figura 10 – Funcionamento do GGGP.

Fonte: o autor

derivação. Uma vez construída a solução, o programa/algoritmo é executado. Assim como GP,GGGP baseado em árvore utiliza operadores genéticos como seleção, mutação, reprodução ecruzamento. No entanto, os operadores de cruzamento e mutação precisaram ser adaptados.Com relação à mutação, um nó interno é escolhido aleatoriamente. Em seguida, uma sub-árvoreoriginada a partir daquele nó é removida, e então, substituída por outra gerada aleatoriamenteseguindo as regras da gramática. Este procedimento pode ser visto na figura 11. Como pode servisto nesta figura, o nó selecionado foi o Sub e toda a sub-árvore abaixo dele foi modificada.

Com relação ao cruzamento, dois nós internos da árvore de derivação são selecionadosaleatoriamente, e suas respectivas sub-árvores são trocadas. É importante mencionar que omecanismo de cruzamento exige que ambos os nós selecionados possuam o mesmo rótulo

Page 37: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 36

Figura 11 – Exemplo de operador de mutação em GGGP.

Fonte: (MCKAY et al., 2010)

descrito na gramática. A figura 12 apresenta um exemplo da operação de cruzamento. Comopode-se ver, foram selecionados dois nós internos com o mesmo rótulo NP e suas sub-árvoresforam trocadas. Vale destacar que existem outras implementações de operadores evolucionáriospara abordagens baseadas em árvores, podendo estas serem encontradas em (MCKAY et al.,2010). Dentre as abordagens baseadas em árvore, destacam-se a CFG-GP (do inglês, Context-

free Grammar Genetic Programming) (WHIGHAM, 1995) e LOGENPRO (do inglês, Logic

grammar-based genetic programming) (WONG e LEUNG, 1997). No entanto, outros algoritmosbaseados em árvore podem ser encontrados em (MCKAY et al., 2010).

Nas abordagens baseadas em genoma linear, o genótipo adota uma estrutura de sequêncialinear (vetor de genes) para ser manipulado pelos operadores genéticos, e o fenótipo adota arepresentação de árvore de expressões (fenótipo). A estrutura linear como forma de representar ogenótipo oferece algumas vantagens quando comparado com abordagens baseadas em árvore.O benefício mais aparente é que esta representação permite o uso da teoria e prática da área decomputação evolucionária, que também utiliza representação linear, tais como GA e estratégiasbaseadas em evolução (do inglês, Evolution Strategy) (ES). Deste modo, operadores genéticoscomumente utilizados tornaram-se disponíveis para operar sobre genótipos no formato linear.Este benefício fez com que as abordagens baseadas em genoma linear chamassem a atenção daárea tornando-se largamente estudadas (MCKAY et al., 2010).

Ao longo dos anos, diferentes abordagens lineares foram propostas como apresentadoem (MCKAY et al., 2010). Porém, Evolução Gramatical (do inglês, Grammatical Evolution)(GE) (O’NEILL e RYAN, 2001) tornou-se a variação de GGGP, que adota genoma linear, maisutilizada (MCKAY et al., 2010). Uma das primeiras aplicações foi na evolução da topologia deredes neurais artificiais (GRUAU, 1996; HUSSAIN e BROWSE, 1998). Também foi utilizadaem regressão de funções simbólicas (KELLER e BANZHAF, 1996; MCCONAGHY e GIELEN,

Page 38: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 37

Figura 12 – Exemplo de operador de cruzamento em GGGP.

Fonte: (MCKAY et al., 2010)

2006; O’NEILL e RYAN, 2001), agrupamento de tarefas em mineração de dados (FALCOet al., 2005), e evolução de conjunto de regras (O’NEILL et al., 2001; TSAKONAS et al.,2004; WONG, 1998). Também são identificados trabalhos que aplicaram GE em problemasde otimização combinatória (BADER-EL-DEN; POLI; FATIMA, 2009; SOTELO-FIGUEROAet al., 2013; BURKE; HYDE; KENDALL, 2012; KELLER e POLI, 2007b; KELLER e POLI,2007a; SABAR et al., 2013; MASCIA et al., 2014).

A principal diferença existente entre o GE e abordagens baseadas em árvore é o processode mapeamento. Como o genótipo é representado por um vetor de genes, cada elemento do vetor,também chamado de códon, assume valores numéricos de 8-bits. Cada códon representa umaregra quando convertido pelo processo de mapeamento, e vai determinar qual regra será utilizada.O processo de mapeamento utiliza o genótipo para mapear símbolos de início em símbolosterminais. Isto se dá através da leitura códon por códon (esquerda para a direita) gerando-se umnúmero inteiro que diz respeito a uma regra na gramática (ver figura 9:

regra = (valor inteiro do códon)MOD

(número de regras do item não terminal atual).

Se for considerada a seguinte regra para o terminal op, existem 4 regras de produção

Page 39: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 38

para selecionar:

(2) < op >::= + (0)

| − (1)

| / (2)

| ∗ (3)

Supondo-se que o códon lido correntemente tenha um valor 6 então 6 MOD 4 = 2,resultando na regra 2. O processo de mapeamento ocorre de forma circular até que não haja maispossibilidade de expansão.

Para exemplificar o processo de mapeamento, será considerado o indivíduo representadona Figura 13.

Figura 13 – Indivíduo representado por array de 8-bits.

Partindo do símbolo de início< expr >, 4 possíveis regras de produção são identificadas.A escolha da regra se dá através da leitura do valor do primeiro códon do indivíduo, usando-separa gerar um número. Este número é calculado através do procedimento mostrado previamente220 MOD 4 = 0, o que significa que a regra de índice 0 substituirá o símbolo < expr >:

< expr >< op >< expr > .

Agora, tem-se 3 símbolos a serem traduzidos. O primeiro a ser lido sempre é o símbolomais à esquerda, neste caso < expr >. Repetindo-se o mesmo procedimento, chega-se a 240MOD 4 = 0, sendo a regra de índice 0 selecionada mais uma vez. Isto resulta em:

< expr >< op >< expr >< op >< exp > .

Novamente, tem-se o valor 220 para o símbolo < expr >, resultando na seleção na regrade índice 0, gerando-se:

< expr >< op >< expr >< op >< expr >< op >< exp > .

No próximo passo, o símbolo < expr > assume o valor 203 resultando na regra 3, ouseja, o símbolo < expr > é substituído por < var >. O símbolo < var > possui 2 possíveisregras. Como o valor do próximo códon é 101, a regra 1 é selecionada gerando a seguintesequência:

1.0 < op >< expr >< op >< expr >< op >< exp > .

Page 40: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 39

O próximo passo vai determinar qual operador < op > será utilizado. Como existem 4possíveis opções, 53 MOD 4 = 1. Este processo continua até que uma expressão apenas comterminais seja encontrada, assim como no exemplo a seguir:

1.0− Sin(X) ∗ Sin(X)− Sin(X) ∗ Sin(X). (2.1)

Embora as abordagens lineares tenham se popularizado, principalmente o GE, existemdois problemas críticos associados à representação linear (WHIGHAM et al., 2015). Primeiro,um genótipo supostamente válido pode resultar em um fenótipo cujo fitness não pode ser avaliado.Embora este problema possa ser solucionado de forma simples através da atribuição de um valorde fitness ruim para estes indivíduos, porém esta solução insere indivíduos inconsistentes noprocesso de busca. Caso o número de indivíduos inconsistentes seja grande, o bom funcionamentodo GGGP linear pode ser prejudicado. O segundo problema associado à representação linearestá relacionado ao princípio da localidade. Este princípio afirma que pequenas modificaçõesno genótipo devem resultar em pequenas modificações no fenótipo (WHIGHAM et al., 2015).No entanto, em representações lineares, pequenas modificações no genótipo podem causargrande mudança no fenótipo. Como consequência, o fenótipo pode produzir um comportamentodiferente do que foi codificado no genótipo. Em uma situação extrema, onde o número de soluçõesinconsistentes torna-se elevada, o processo de busca pode funcionar de forma similar à umaabordagem aleatória (WHIGHAM et al., 2015). Reconhecendo-se as problemáticas associadasao GGGP linear, diversos trabalhos foram desenvolvidos visando entender e melhorar a formacomo estes algoritmos operam (MCKAY et al., 2010). Vale salientar que os dois problemasapresentados não acontecem em abordagens baseadas em árvore devido à forma como osindivíduos são representados e como os operadores genéticos funcionam nestes indivíduos. Destemodo, o fato de as abordagens lineares terem sido utilizadas de forma unânime na última décadana geração de programas/algoritmos, não significa que esta é a abordagem mais apropriadadentre as abordagens de GGGP já desenvolvidas.

As abordagens de geração de algoritmos têm sido importantes para a área de otimizaçãode algoritmos pois provê meios para projetar novos algoritmos com modelos previamente nãoconsiderados. No entanto, um ponto crítico existente na geração de algoritmos, é a avaliação dassoluções. Como cada solução do espaço de busca representa um possível algoritmo, o cálculo dodesempenho de cada solução é a execução do próprio algoritmo no problema de entrada. Destemodo, a geração de algoritmos torna-se bastante custosa, principalmente quando o número desoluções e iterações da simulação é grande (HARDING e BANZHAF, 2007). Vale salientar quealgoritmos de geração de algoritmos propostos na literatura não levaram em consideração estecusto, sendo portanto um problema em aberto (MCKAY et al., 2010). No entanto, pode-se citaralguns trabalhos que utilizaram GPUs para tentar acelerar a avaliação dos indivíduos (HARDINGe BANZHAF, 2007; ROBILLIARD; MARION; FONLUPT, 2009).

Page 41: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 2. Conceitos básicos 40

2.4 CONSIDERAÇÕES FINAIS

Neste capítulo foram apresentadas três áreas relevantes para o problema de otimização dealgoritmos: MtL, HHs e GGGP. As HHs, bem como MtL, podem ser utilizadas para automatizara seleção ou geração de algoritmos. Dentre os trabalhos relacionados a seleção de algoritmos,destacam-se inicialmente aqueles que aplicaram GA e DE. Objetivando-se considerar não apenasvalores de variáveis no processo de otimização, mas também funções e elementos complexos deprogramação, um novo ramo de trabalhos surgiu aplicando-se GP na geração de algoritmos. Noentanto, foi descoberta uma limitação inerente ao algoritmo de GP podendo-se gerar soluçõesincoerentes, ou seja, sintaticamente incorretas. Diante disto, foi criada a GGGP, que vem sendolargamente utilizada na geração de algoritmos. Porém, o custo para se gerar algoritmos fazendouso de HHs, seja GP ou GGGP, é elevado e não foram encontradas abordagens que considereeste aspecto.

O capítulo a seguir apresenta com detalhes o algoritmo PSO (adotado como estudo decaso desta tese), as principais melhorias propostas ao algoritmo padrão e os trabalhos existentesrelacionados à otimização do PSO, nas áreas de seleção e geração.

Page 42: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

41

3 Algoritmos inspirados em enxames de partículas

O conceito de algoritmos de otimização baseados em enxames de partículas surgiu comestudos a respeito do comportamento de bandos de pássaros, quais regras os regiam, e comopoderiam mudar o curso de forma tão repentina e sincronizada (KENNDY e EBERHART,1995). O PSO foi proposto após a simulação de modelos sociais simplificados baseados emobservações feitas nos bandos de aves à procura de alimento. Fazendo uma analogia, o termopartícula foi adotado para simbolizar os pássaros e representar as possíveis soluções do problemaa ser resolvido. A área sobrevoada pelos pássaros é equivalente ao espaço de busca e encontrar olocal com comida, ou o ninho, corresponde a encontrar a solução ótima. Para que o bando depássaros sempre se aproxime do objetivo, ao invés de se perder ou nunca alcançar o alvo focado,utiliza-se uma função que irá avaliar o desempenho das partículas, chamada de função de fitness.Para alcançar o alvo focado, sejam os alimentos ou os ninhos, os pássaros fazem uso de suaspróprias experiências e da experiência do próprio bando. Isso ressalta o senso cognitivo e social,em que os indivíduos aprendem com o seu sucesso e o sucesso dos seus vizinhos, priorizando oobjetivo do grupo. Desta forma, não há centralização de controle e o grupo consegue atingir assoluções desejadas em conjunto.

Um enxame possui inteligência se certas características estiverem presentes (MILLO-NAS, 1992). Essas características são descritas por princípios básicos:

1. Princípio da proximidade: Afirma que os membros do enxame devem ter a noção doespaço e tempo durante seu deslocamento, de modo que mudanças possam ser realizadassem interferir na movimentação de seus vizinhos.

2. Princípio da qualidade: Afirma que os membros do enxame devem ser capazes de se adaptaraos fatores de qualidade do ambiente, isto é, a depender do(s) objetivo(s) almejado(s),a população deve buscar um caminho em que resulta na(s) melhor(es) solução(ões),garantindo qualidade para o seu bando.

3. Princípio da resposta diversa: As mudanças no processo são sempre desejadas a fim deque o enxame possa evoluir em sua busca. Isso previne que os membros fiquem presosem um local em que não se encontra a melhor solução (ótimo local). Porém, é desejávelque haja ações corretivas caso ocorram mudanças repentinas, pois do contrário podemocorrer desvios no processo de busca que podem acarretar em um aumento no esforçocomputacional.

4. Princípio da estabilidade: Diz que os membros do enxame não devem mudar o seucomportamento a cada mudança do ambiente. O enxame deve ser capaz de avaliar se talmudança é necessária a fim de aplicar um esforço conjunto de todo o bando.

Page 43: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 42

5. Princípio da adaptabilidade: Afirma que a população deve mudar seu comportamentoquando o custo computacional envolvido valer a pena, isto é, o enxame deve possuir acapacidade de avaliar as mudanças ocorridas e decidir se é válida a mudança no comporta-mento do bando.

A existência dessas características é extremamente importante para garantir o equilíbrio ea estabilidade do bando durante a evolução do processo, qualificando-o, assim, como inteligente.

3.1 O ALGORITMO DO PSO

Na maioria das implementações do PSO, as partículas movem-se no espaço de buscasendo guiadas por uma combinação entre a melhor posição encontrada pela partícula e a melhorposição encontrada pela vizinhança em que ela está inserida. Esta vizinhança é definida comoum conjunto de partículas com as quais a partícula pode se comunicar, podendo este conjuntose estender para todo o enxame ou não. O que define esta comunicação entre as partículas é atopologia de comunicação entre elas. Uma variedade de topologias já foi proposta. As principaisestruturas serão apresentadas na seção 3.5.

Como as partículas movem-se pelo espaço de soluções em busca da melhor solução, apartícula necessita ter suas velocidade e posição atualizadas. O vetor velocidade é atualizadoatravés da equação 3.1:

~vi(t+ 1) = ~vi(t) + c1r1(~pi(t)− ~xi(t)) + c2r2(~ni(t)− ~xi(t)). (3.1)

onde i = 1, ..., N ,N é o número de partículas; c1 e c2 são os coeficientes de aceleração cognitivoe social; r1 e r2 são dois números aleatórios gerados pela função de densidade de probabilidadeuniforme no intervalo [0, 1]. A variável ~pi(t) representa a melhor solução encontrada pelapartícula, também chamada de pbest, e ~ni(t) representa a melhor solução encontrada pelavizinhança, também chamada de gbest.

Uma vez que a partícula possui um novo vetor velocidade com base nas informaçõescognitiva e social, a equação 3.2 é utilizada para calcular o novo vetor posição da partícula.

~xi(t+ 1) = ~xi + ~vi(t+ 1), (3.2)

Cada partícula está sob influência de três forças que podem ser representadas matemati-camente como vetores:

Vetor inércia: representa o movimento atual da partícula, ou seja, a velocidade atual. NaEquação 3.1 está representado por ~vi(t).

Page 44: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 43

Vetor cognitivo: representa o componente cognitivo da partícula, uma relação entre a posiçãoatual e a melhor posição encontrada por aquela partícula. Na Equação 3.1 é representadopelo termo c1r1(~pi(t) − ~xi(t)).

Vetor social: representa a influência do enxame em uma determinada partícula. É uma relaçãoentre a melhor posição encontrada pela vizinhança da partícula e a posição atual dapartícula. Na Equação 3.1 é representado pelo termo c2r2(~ni(t) − ~xi(t)).

O pseudo-código abaixo mostra o funcionamento do PSO canônico de forma detalhada:

Pseudocódigo 1 Pseudo-código do PSO.Criar partículas com posições (~xi) e velocidade (~vi) aleatóriasAtribuir a ~pi(t) a posição atual das partículasAtribuir a ~ni(t) a melhor posição encontrada pela vizinhança de cada partículawhile critério de parada não satisfeito do

for all partícula p doCalcular fitness f(~xi)Atualizar velocidade e posição utilizando as Equações 3.1 e 3.2Atualizar pbest

end forAtualizar gbest

end while=0

O PSO canônico foi largamente estudado e diversas melhorias foram propostas. Nassubseções a seguir serão apresentadas técnicas de inicialização populacional, variações deequações de velocidade, valores testados para as constantes c1 e c2, topologias criadas parabalancear convergência e exploração, e operadores de mutação que foram adicionados aoalgoritmo tradicional a fim de favorecer a diversidade.

3.2 TÉCNICAS DE INICIALIZAÇÃO POPULACIONAL

A inicialização do enxame não é uma fase comumente estudada do algoritmo do PSO.Porém, a inicialização das soluções demonstrou poder influenciar o desempenho do PSO emvários problemas (PARSOPOULOS, 2010). Nos casos onde as partículas estão posicionadaspróximas ao ótimo global, o algoritmo converge rapidamente para uma boa solução. Por outrolado, se elas são inicializadas próximo à mínimos locais, a convergência pode ser prejudicada.

A técnica de inicialização mais popular é a inicialização aleatória uniforme, pois estatrata cada parte do espaço de busca igualmente (PARSOPOULOS, 2010). No entanto, diferentesestratégias de inicialização foram propostas visando contribuir com o processo de busca. Dentreas estratégias, destacam-se o Modelo Simplex Não-linear (do inglês, Non-linear Simplex Model)

Page 45: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 44

(NSM) (PARSOPOULOS e VRAHATIS, 2002) e a técnica baseada em oposição (JABEEN;JALIL; BAIG, 2009). Ambas demonstraram ser úteis e serão apresentadas a seguir.

O NSM executa o algoritmo simplex considerando um espaço de busca k-dimensional.Então, os k + 1 vértices iniciais do simplex irão constituir as primeiras k + 1 partículas doenxame. Em seguida, o simplex é aplicado por N − (k + 1) iterações, onde N é o tamanho doenxame. A cada iteração do simplex, um novo vértice produzido é inserido como nova soluçãodo enxame. Com a geração de N partículas a partir dos vértices produzidos pelo simplex, oalgoritmo é finalizado e o PSO pode ser executado com a população inicial.

A técnica baseada em oposição é inspirada na ideia que se uma partícula está distante deuma solução promissora, seu oposto provavelmente terá uma melhor posição. De acordo comeste mecanismo, dois enxames são criados. O primeiro enxame é inicializado aleatoriamenteusando uma distribuição uniforme. A partir dele, o segundo enxame (enxame oposto) é definidoatravés da reflexão de cada solução do primeiro enxame em relação ao valor médio em cadadimensão do vetor posição. Este cálculo do valor de cada dimensão de uma determinada posiçãoé calculada através da equação 3.3:

xo = xmin + xmax − x, (3.3)

onde xmin e xmax são os valores extremos de cada dimensão, x é o valor da dimensão correntede uma partícula do primeiro enxame; e xo é o valor oposto x. Uma vez que os dois enxamesforam criados, as partículas de cada enxame têm seus fitness avaliados, e as melhores partículasdos dois enxames são usadas como população inicial do PSO.

3.3 EQUAÇÕES DE ATUALIZAÇÃO DE VELOCIDADE

Um fenômeno frequentemente observado nos enxames que utilizavam o algoritmoclássico é a "explosão"do valor da velocidade. Facilmente uma partícula adquiria uma velocidademuito grande muito rapidamente, o que a levava a sua perturbação dentro do espaço de busca.

Foi proposto por Eberhart, Kennedy et al. (1995) um mecanismo que estabelece umlimite vmax para a velocidade das partículas. Foi observado, no entanto, que a determinaçãodo valor vmax não era nada trivial, e a escolha errada para este valor poderia implicar em umaperda de desempenho ou taxas de erro inadmissíveis. Por exemplo, espaços de busca maioresdemandavam valores maiores de vmax para garantir a exploração, enquanto que espaços de buscamenores exigiam menores valores para evitar o problema da "explosão"de velocidades.

O peso de inércia e o fator de constrição (CLERC e KENNEDY, 2002) foram introduzi-dos com a intenção de se remover completamente o conceito de velocidade limite. A ideia erautilizar a velocidade anterior da partícula como parâmetro para atualização de sua velocidade. Aequação de velocidade pode ser reescrita na forma da equação 3.4 para comportar o conceito de

Page 46: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 45

peso de inércia (representado por ω):

~vi(t+ 1) = ω~vi(t) + c1r1(~pi(t)− ~xi(t)) + c2r2(~ni(t)− ~xi(t)). (3.4)

Os autores sugerem que o valor de ω seja inicializado em 1, para favorecer o compor-tamento exploratório inicial da partícula. Durante a execução do algoritmo esse valor pode serlinearmente reduzido para que a partícula realize uma busca mais refinada nos arredores daposição onde ela atualmente se encontra, pois assume-se que a partícula já encontrou uma regiãoonde a probabilidade de se encontrar uma solução satisfatória é grande (SHI e EBERHART,2001).

O fator de constrição, conceito similar ao peso de inércia, consiste na introdução de umnovo parâmetro χ, derivado das constantes existentes na equação de velocidade. O parâmetro χé calculado de acordo com a equação 3.5.

χ = 2|2− ϕ−

√ϕ2 − 4ϕ|

, ϕ = c1 + c2. (3.5)

Foi demonstrado por Clerc e Kennedy (2002) que para valores de c1 e c2 tal que ϕ < 4, oenxame converge lenta e espiralmente para a solução. Ao passo que quando ϕ = 4 a convergênciaé rápida e garantida. Por simplicidade, assume-se o valor de ϕ = 4, 1 e consequentemente c1 ec2 iguais a 2,05 para assegurar a convergência. Para aplicar o fator de constrição à equação deatualização de velocidade, esta precisa ser reescrita na forma da equação 3.6.

~vi(t+ 1) = χ(~vi(t) + c1r1(~pi(t)− ~xi(t)) + c2r2(~ni(t)− ~xi(t))). (3.6)

Eberhart e Shi compararam o desempenho do PSO adotando o peso inercial e o fator deconstrição e concluíram que a melhor abordagem é usar o fator de constrição para controlar avelocidade das partículas (EBERHART e SHI, 2000).

Embora tenha havido esta constatação, diversos estudos surgiram tentando melhorar o de-sempenho do PSO levando em conta os valores destes parâmetros. Inicialmente, foram realizadosestudos considerando-se o peso de inércia (SHI e EBERHART, 1998b; RATNAWEERA; HAL-GAMUGE; WATSON, 2004; CHATTERJEE e SIARRY, 2006; JIAO; LIAN; GU, 2008). Asdiversas estratégias para definir valores de peso de inércia podem ser categorizadas em 3 classes.A primeira classe possui estratégias em que o valor do peso de inércia é constante ou aleatóriodurante a busca (SHI e EBERHART, 1998b; RATNAWEERA; HALGAMUGE; WATSON,2004). Na segunda classe, o valor do peso de inércia varia em função do tempo ou número deiterações (CHATTERJEE e SIARRY, 2006; JIAO; LIAN; GU, 2008; SHI e EBERHART, 1998a).Além disso, também são encontrados trabalhos que utilizam a abordagem fuzzy na atribuiçãode valores aos parâmetros (SHI e EBERHART, 2001; KANG; WANG et al., 2006; KUMAR

Page 47: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 46

e CHATURVEDI, 2011). Embora automatizem a definição dos valores dos parâmetros, estesmétodos não são considerados adaptativos pois não monitoram o comportamento das partículasdurante o processo de busca. A terceira classe possui estratégias que monitoram a influência doparâmetro na busca, alterando seus valores quando necessário (YANG et al., 2007; PANIGRAHI;PANDI; DAS, 2008; TANG; WANG; FANG, 2011).

Pode-se destacar, também, trabalhos que se preocuparam em melhorar o desempenho doPSO fazendo mudanças na equação de atualização de velocidade (YANG, 2011; XINCHAO,2010; EL-SHERBINY, 2011; XU, 2013). Em (YANG, 2011), por exemplo, foi criado o MVPSO,um PSO cuja equação de atualização de velocidade foi modificada para que toda partícula sejaatraída pela melhor partícula global e por uma partícula escolhida aleatoriamente a partir de umconjunto de partículas promissoras. Neste cenário, também se destaca o trabalho realizado porWang et. al, que propuseram um PSO adaptativo baseado em aprendizado (SLPSO) (WANGet al., 2011). O SLPSO adota quatro estratégias de atualização de velocidade já propostas emtrabalhos anteriores. Um modelo de probabilidade é usado para descrever a probabilidade deuma estratégia ser usada para atualizar a partícula. O modelo se ajusta durante a simulaçãoaperfeiçoando sua capacidade de escolher estratégias que tendam a gerar soluções de melhorqualidade.

3.4 CONSTANTES DE ACELERAÇÃO

As constantes de aceleração, c1 e c2, representam o peso dos termos de aceleraçãoaleatória que tendenciam a posição das partículas em direção a ~pi e ~ni. O ajuste nas constantesmuda a tensão no sistema. Baixos valores fazem as partículas explorarem mais o espaço debusca, enquanto que altos valores resultam em um movimento brusco em direção a regiões alvo(EBERHART e KENNEDY, 1995). A escolha dos valores de c1 e c2 é dependente do problema,porém valores normalmente entre 0 e 5 são escolhidos (EBERHART e SHI, 2000).

Pode-se destacar os trabalhos desenvolvidos por Kang, Wang et al. (2006) e Kumar eChaturvedi (2011) que tentaram ajustar os valores das constantes de aceleração c1 e c2 através delógica fuzzy.

3.5 TOPOLOGIAS DE COMUNICAÇÃO

Algoritmos inteligentes baseados em enxames, e consequentemente semelhantes ao PSO,são algoritmos que tentam mapear comportamentos sociais em um ambiente computacionalcontrolado. As partículas que compõem o enxame precisam, de alguma forma, propagar asinformações que conseguem coletar, caso contrário, os referidos algoritmos não poderiam seapoiar no conceito de sociedade, pois as partículas estariam "voando"pelo espaço de busca àprocura de soluções sendo influenciadas apenas por sua própria experiência.

Neste cenário, as topologias, que definem as regras de como as partículas devem se

Page 48: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 47

comunicar, desempenham um papel importantíssimo, influenciando completamente o resultadoda execução. Na maioria das vezes a topologia pode levar ao sucesso ou ao fracasso de umadeterminada instância do algoritmo.

As topologias mais conhecidas e utilizadas são as topologias Estrela e Anel (KENNDY eEBERHART, 1995) (ver Figura 14). A topologia estrela foi a primeira a ser proposta, e defineque cada partícula está conectada com qualquer outra partícula do enxame. Consequentemente,uma partícula é influenciada por todas as outras partículas, pois estaria recebendo informaçõesde todo o enxame. Isto apresenta grandes vantagens quando o problema é sabidamente unimodal(apresenta uma única solução ótima), pois as partículas tenderão rapidamente para a únicasolução.

A topologia em anel é considerada a variação mais importante do algoritmo do PSOoriginal, onde cada partícula se comunica apenas com seus vizinhos diretos. Uma influênciadireta desta diferença entre os modelos de comunicação é responsável por fazer enxames coma topologia estrela terem um desempenho, na maioria das vezes, superior aos enxames comtopologia em anel em problemas unimodais, enquanto que problemas multimodais (problemascom várias soluções ótimas ou sub-ótimas) são melhor tratados com o uso de enxames comtopologia em anel. Isso se deve à característica exploratória da topologia em anel, não atraindo,portanto, todas as partículas para uma solução sub-ótima, o que é bastante comum em problemasmultimodais.

Vale salientar que na maioria das aplicações reais do PSO não se conhece bem o problemaa ser resolvido, muito menos sabe-se quantas soluções satisfatórias ele pode ter. Consequente-mente, utilizar a topologia estrela pode ser muito arriscado. No entanto, aplicar a topologia emanel geralmente leva a uma convergência mais lenta, pois em um enxame de N partículas, umapartícula pode ter de esperar de uma a N/2 iterações para indiretamente receber informações damelhor partícula do enxame, enquanto que na topologia estrela, após a primeira iteração todasas partículas já têm conhecimento da melhor solução do bando. Diante deste problema, outrastopologias foram criadas visando um maior número de conexões como as Focal, Hierárquica eVon Neumann.

Figura 14 – Topologias (a) Estrela e (b) Anel.

Fonte: (BARREIROS, 2008)

Page 49: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 48

A topologia focal (ENGELBRECHT, 2007) introduz o conceito de partícula focal.Esta partícula desempenha um papel especial no enxame. Ela está conectada a todas as outraspartículas no enxame, enquanto que todas as partículas não-focais estão ligadas apenas à partículafocal (ver Figura 15). A referida partícula funciona como uma mediadora, arbitrando a cadaiteração se as informações passadas a ela pelas partículas não-focais devem ou não ser propagadaspara todo o enxame.

De maneira mais simples, a partícula focal só atualizará sua posição no espaço se estaatualização acarretar melhora no seu desempenho. Este detalhe faz a diferença, pois se a partículafocal simplesmente repassasse a informação da melhor partícula para todo o enxame, se estariafalando da topologia estrela, ou seja, neste caso, um enxame com N partículas e topologia focalseria equivalente a um enxame com N − 1 partículas com topologia estrela.

Figura 15 – Topologia Focal.

Fonte: (BARREIROS, 2008)

A topologia hierárquica (JANSON e MIDDENDORF, 2005) estrutura as partículas emuma árvore. Neste modelo, cada partícula é influenciada apenas por sua própria experiência epela informação da partícula imediatamente superior a ela na hierarquia. Por definição, h é aaltura da árvore, d a sua ordem e N a quantidade total de nós na árvore. A Figura 16 apresentaum exemplo. A árvore é construída inicialmente de forma aleatória. Após a inicialização daárvore, atualiza-se a posição das partículas de acordo com o seu fitness. O algoritmo básico deatualização da árvore na topologia hierárquica pode ser observado na Figura 17. A cada iteração,um fato interessante que pode ser observado no algoritmo mostrado é que uma partícula podesubir apenas um nível na hierarquia e pode chegar ao topo em no máximo em h− 1 iterações, anão ser que uma solução melhor tenha sido encontrada. No entanto, um nó pode descer até oúltimo nível mesmo na primeira iteração. O processo demonstrado na Figura 17 ocorre após aavaliação da função objetivo, mas antes da atualização da velocidade e posição de cada partículado enxame.

A cada iteração, o algoritmo seleciona na árvore, utilizando o caminhamento em largura,todos os nós internos (um por vez). Para cada partícula selecionada, o algoritmo verifica seseus filhos têm desempenho melhor. Em caso positivo, é realizada a troca do pai com o filhocorrente, de forma que ao fim deste passo, o lugar antes ocupado pelo pai será agora ocupado

Page 50: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 49

Figura 16 – Topologia Hierárquica com N = 7.

Fonte: (BARREIROS, 2008)

pela partícula com o melhor desempenho entre o pai e seus filhos. Vale salientar que o número defilhos máximo d determina o potencial exploratório do enxame. Um valor baixo para d significaque a partícula pai é influenciada por poucas partículas, favorecendo a diversidade da busca. Emcontrapartida, um valor alto para d favorece a convergência da busca.

Figura 17 – Algoritmo de atualização da Topologia Hierárquica.

Fonte: (BARREIROS, 2008)

Outra topologia bastante conhecida é a Von Neumann (KENNEDY e MENDES, 2002).O esquema gráfico desta topologia pode ser comparado a uma malha, onde a vizinhança de cadapartícula é estática, com os quatro vizinhos diretos (ver Figura 18). O grafo formado geralmenteé fechado, de forma que as partículas de uma extremidade se comunicam com as partículas da

Page 51: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 50

extremidade oposta.

Figura 18 – Algoritmo de atualização da Topologia Von Neumann.

Fonte: (BARREIROS, 2008)

A topologia Von Neumann obteve resultados interessantes devido a sua abordagembalanceada entre exploration e exploitation. Esta topologia inspirou a criação das topologias Four

Clusters e Clan. A topologia Four-Clusters (MENDES; KENNEDY; NEVES, 2003) consiste emligar grupos de partículas. Ela é inspirada por pequenas comunidades que se comunicam atravésde informantes. A quantidade de informantes em cada agrupamento é exatamente a quantidadede agrupamentos de todo o enxame menos um, ou seja, quantidade de agrupamentos que comos quais um determinado agrupamento deve se comunicar (ver Figura 19). De acordo com adefinição da topologia, os agrupamentos marcados com "A", "B", "C"e "D"são os chamadosclusters. As partículas realçadas em cinza são os informantes, que se comunicam com os demaisclusters.

Figura 19 – Topologia Four-Clusters.

Fonte: (BARREIROS, 2008)

Os informantes de um cluster são estáticos, ou seja, permanecem os mesmos durantetoda a execução do algoritmo. Utilizando essa estrutura, a informação flui de um informantediretamente para outro. Um aspecto que pode ser notado, é que uma informação boa nãoserá diretamente transmitida para outros clusters, o que faz com que algumas iterações sejamdesperdiçadas desnecessariamente.

Page 52: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 51

Diante desta desvantagem, foi criada a topologia Clan (CARVALHO e BASTOS-FILHO,2009), que flexibilizou o processo de transmissão da melhor informação, tornando-o mais rápido.Nesta topologia, clãs são grupos de indivíduos que de alguma forma se relacionam através deuma característica comum a todos os integrantes do clã. Internamente ao clã há um processo quedetermina seu líder, que intuitivamente todas as outras partículas tendem a seguir. O significadosocial do clã pode ser visto como uma pequena parte de uma sociedade maior.

Uma vez determinado, de forma aleatória, o conjunto de partículas de cada clã, a cadaiteração, cada clã seleciona a partícula que obteve o melhor desempenho dentro do clã comolíder. A delegação do líder representa a definição da partícula que terá o poder de liderar asoutras partículas em direção à uma região mais promissora. Objetivando-se o compartilhamentode informações entre clãs, a topologia Clan adota um mecanismo, chamado de conferência, emque os líderes de cada clã se comunicam trocando informação uns com os outros. A Figura 20demonstra graficamente os clãs utilizando uma comunicação interna baseada na topologia estrelae a conferência entre líderes (coloridos de preto) também utilizando a mesma topologia. Valesalientar que a escolha da topologia é arbitrária, podendo-se usar tanto a topologia anel quanto atopologia estrela internamente ou externamente ao clã.

Figura 20 – Topologia Clan e a conferência dos líderes.

Fonte: (BARREIROS, 2008)

Após a conferência dos líderes, cada líder atualiza sua posição e velocidade, e retornaao seu clã de origem para propagar a informação adquirida. A informação então é diretamentetransmitida para cada partícula no clã, sendo, portanto, indiretamente influenciadas pela melhorpartícula do enxame.

As topologias apresentadas previamente são estáticas, ou seja, as partículas são conceitu-almente conectadas. Consequentemente, os vizinhos de cada partícula nunca mudam duranteo processo de busca. Deste modo, a informação da população pode não ser suficientementeusada em alguns tipos de esquemas (WANG e XIANG, 2008). Visando superar esta limitação,a criação de topologias dinâmicas foi proposta. Estas topologias permitem que partículas per-tençam a vizinhanças diferentes durante a busca, balanceando a exploração e a convergência epermitindo que a informação da população seja melhor transmitida durante a busca. A seguir sãoapresentadas cinco topologias consideradas relevantes pela literatura: Niche (BRITS; ENGEL-

Page 53: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 52

BRECHT; BERGH, 2002), Clubs (ELSHAMY; EMARA; BAHGAT, 2007), Cluster (PASSAROe STARITA, 2008), Species e Dynamic Ring(LI, 2004; WANG e XIANG, 2008). Esta relevânciaé baseada na fonte de inspiração, desempenho, propriedades teóricas, número de trabalhos eaplicações publicadas e o potencial para desenvolvimentos e melhorias futuras.

A estrutura de comunicação baseada em Niche adota a criação de sub-populações (ni-chos). Partículas em diferentes nichos não se comunicam, explorando diferentes áreas do espaçodo problema de forma isolada. Inicialmente, o número de nichos é igual ao número de partículas,ou seja, cada partícula é o próprio nicho. Deste modo, cada partícula busca por soluções individu-almente. No entanto, se a variância do fitness de uma partícula durante 3 iterações for menor queδ, um nicho é criado com a partícula corrente e o vizinho mais próximo. Outras partículas podemsubsequentemente se juntar ao nicho criado se eles se moverem para uma solução próxima àárea de busca do nicho. A característica de dividir o enxame em grupos independentes torna-seinteressante para a resolução de problemas mais complexos, pois nestes podem existir múltiplosótimos globais e seria desejável localizar todas ou parte substancial destas soluções.

A topologia Niche serviu de inspiração para outras topologias dinâmicas como a Cluster.A principal ideia por trás desta abordagem é dinamicamente adaptar a estrutura da vizinhançade modo a formar diferentes nichos. Isto é feito através da aplicação de um algoritmo deagrupamento (k-means) para identificar nichos e então restringir a vizinhança de cada partícula àsoutras partículas do mesmo grupo. Desta forma, cada grupo realiza uma busca local objetivandoa localização de diferentes ótimos.

A topologia Clubs têm um funcionamento análogo à um clube onde indivíduos seencontram e socializam. Nesta topologia, cada partícula pode se juntar a mais de um clube, ecada clube pode acomodar qualquer número de partículas. Clubes vazios também são permitidos.Após a inicialização aleatória da posição e velocidade das partículas, cada partícula junta-sea um número pré-definido de clubes, que é conhecido como seu nível padrão de filiação. Aescolha destes clubes é feita de forma aleatória. Uma vez definidos os clubes de cada partícula, aposição, velocidade e pbest das partículas são atualizadas levando em consideração a melhorposição encontrada pela vizinhança, a partir de todos os clubes que cada partícula pertence.Durante o processo de busca, se uma partícula apresenta desempenho superior que as demaisde sua vizinhança, esta é obrigada a reduzir sua influência sobre as demais partículas. Paraisto, a partícula tem o seu nível de filiação reduzido, sendo assim, obrigada a deixar um clubealeatoriamente. Este procedimento evita que haja convergência prematura do enxame. Por outrolado, se a partícula apresenta o pior desempenho da sua vizinhança, esta deve se juntar a maisum clube selecionado aleatoriamente para aumentar suas chances de adquirir informações úteispara si e para as demais partículas de sua vizinhança.

Na topologia Species, a população é dividida em sub-populações baseadas nas simi-laridades das partículas. Cada grupo possui um líder (partícula semente) e as partículas maissimilares ao líder, ou seja, que estejam dentro do seu raio de cobertura, compõem o grupo. A

Page 54: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 53

cada iteração, as partículas semente são identificadas na população inteira e então adotadascomo gbest das partículas que estão presentes no seu grupo separadamente. As espécies sãoformadas adaptativamente a cada iteração baseadas no desempenho das partículas no problema.Esta abordagem também demonstrou bom desempenho em problemas multimodais.

Na topologia Dynamic Ring, o esquema é similar ao da topologia Anel, onde partículassão posicionadas em uma estrutura de anel regular. No entanto, diferentemente da topologiaoriginal, partículas são conectadas de acordo com seu melhor desempenho pessoal pbest, aoinvés de estarem conceitualmente conectadas de acordo com seus índices (lista circular). Natopologia Dynamic Ring, a partícula de pior pbest é posicionada na primeira posição, a segundapior partícula em segundo e assim por diante. Ao final, a última partícula (de melhor pbest) éconectada à primeira (pior pbest) partícula do anel.

3.6 OPERADORES DE MUTAÇÃO

O PSO pode encontrar soluções promissoras mais rapidamente que outras técnicas debusca como GA (PANT et al., 2008). No entanto, pode sofrer de convergência prematura resul-tando em soluções sub-ótimas. Esta limitação agrava-se ainda mais em problemas multimodaiscom múltiplos ótimos locais (PANT et al., 2008). A falta de ausência da diversidade na populaçãopode ser a razão para este tipo de comportamento (CLERC e KENNEDY, 2002).

Uma estratégia para melhorar a diversidade no enxame é incluir no PSO um operadorde mutação, assim como é adotado em algoritmos evolucionários (PANT et al., 2008). Váriosoperadores de mutação definidos na literatura fazem uso de distribuições de probabilidadesaleatórias. Em (HIGASHI e IBA, 2003), um operador de mutação muda uma dimensão departícula usando uma perturbação aleatória tirada a partir da distribuição de Gauss. Um operadorsemelhante foi proposto em (STACEY; JANCIC; GRUNDY, 2003; ZHANG et al., 2007), masusando a distribuição de probabilidade de Cauchy, para evitar que o PSO ficasse preso em umótimo local. Em (LEE e YAO, 2001), a mutação de Levy foi estudada em algoritmos evolutivos eos resultados foram promissores. Este operador de mutação é em certo sentido uma generalizaçãoda mutação Cauchy já que a distribuição Cauchy é um caso especial da distribuição de Levy.Finalmente, podemos citar o operador de mutação não uniforme de Michalewicz. Os númerosaleatórios utilizados para mutar valores dependem da corrente iteração do algoritmo, em que aprobabilidade de um valor a ser mutado é mais elevado no início da otimização.

3.7 SELEÇÃO/GERAÇÃO DE ALGORITMOS PARA PSO

Nesta seção são apresentados trabalhos de seleção e geração de algoritmos no contextodo PSO. Na literatura foram identificados apenas trabalhos que aplicaram HHs para otimizaçãodo PSO. Um resumo dos principais trabalhos que aplicaram HHs na otimização do PSO pode servisto na tabela 3. Embora MtL tenha sido largamente aplicada na seleção e geração de algoritmos

Page 55: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 54

em aprendizagem de máquina, não foram identificados trabalhos para a otimização de algoritmosdo PSO. Dentre os primeiros trabalhos que envolveram o uso de HHs para a otimização doPSO, pode-se destacar as abordagens que utilizaram o algoritmo de DE para a adaptaçãodinâmica (no decorrer da simulação) dos valores dos parâmetros do PSO (HENDTLASS, 2001;PARSOPOULOS e VRAHATIS, 2002; ZHANG et al., 2003). Além de DE, destaca-se o trabalhodesenvolvido por Liu Liu (2008), que aplicou GA na otimização de parâmetros do PSO. Nestetrabalho, os parâmetros c1, c2 e o coeficiente de constrição χ são otimizados pelo GA. Agrande dificuldade inerente a GAs é que a sua representação dos indivíduos (soluções) é debaixa expressividade (string ou vetor), onde os genes do indivíduo tipicamente correspondema dados como valores de variáveis (PAPPA e FREITAS, 2009). Por este motivo, os trabalhosencontrados que aplicam GA como HH são fundamentalmente de seleção de valores de variáveis,componentes ou heurísticas.

Com relação a trabalhos que aplicam GP para a geração de algoritmos do PSO, elessão escassos. Destacam-se as pesquisas de que propuseram a aplicação de GP na otimizaçãoda equação de velocidade do PSO (POLI; LANGDON; HOLLAND, 2005; POLI; CHIO;LANGDON, 2005; RASHID, 2010). Nesses trabalhos, cada indivíduo da GP representa umapossível equação de velocidade para o PSO. A principal contribuição do trabalho desenvolvido emRashid (2010) é que GP foi capaz de gerar equações de velocidade para o PSO que apresentarammelhores resultados que algumas já propostas na literatura. No entanto, três limitações podem seridentificadas nestes trabalhos. A primeira é que apenas a equação de velocidade foi consideradana otimização. Sabe-se que diversos outros aspectos influenciam no desempenho do PSO (e.g.topologia). Segunda, a utilização do algoritmo de GP permitiu a geração de soluções incorretassintaticamente, ou seja, equações de velocidade inválidas. Este fenômeno, limitação intrínseca aoalgoritmo de GP, fez com que muitas soluções tivessem que ser descartadas durante o processode busca. Finalmente, a terceira limitação é o reduzido número de problemas de otimizaçãoconsiderados no artigo, sendo estes com baixa dimensionalidade (2 e 10 dimensões).

Além de GP, foram encontrados trabalhos que aplicaram GGGP para a geração dealgoritmos do PSO. Porém, estes trabalhos utilizaram apenas abordagens lineares. Si et. al (SI,2012; SI, 2013) propuseram a aplicação da técnica Evolução Diferencial Gramatical (do inglês,Grammatical Differential Evolution) (GDE) (O’NEILL e BRABAZON, 2006) para adaptação doPSO, em que cada partícula adota uma equação de atualização de velocidade diferente duranteo processo de busca, gerando mais exploração do espaço de busca. Além disso, recentementefoi desenvolvido um trabalho pelo mesmo pesquisador (SI; DE; BHATTACHARJEE, 2014),que aplicou GE baseada em Enxames (do inglês, Grammatical Swarm) (GS) (O’NEILL eBRABAZON, 2006) na geração de equações de velocidade do PSO. GS é uma variação doGE onde ao invés de ser um algoritmo evolucionário, passa a ser utilizado o algoritmo do PSO.Neste trabalho, a topologia considerada foi a Star e foi otimizada a equação de atualização develocidade do PSO, e o PSO resultante foi testado em 8 problemas benchmark de otimização semrestrição. Como pode-se ver, os trabalhos apresentam algumas limitações: i) avaliou apenas a

Page 56: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 55

Tabela 3 – Resumo dos principais trabalhos relacionados à seleção/geração de algoritmospara PSO.

Autor Estratégia Técnica Vantagem Desvantagem(LIU, 2008) Seleção de

parâmetrosGA Seleção automática

das constantes de ace-leração e do fator deconstrição da equa-ção de velocidade

Considerou apenas oaspecto velocidade naotimização do PSO

(ZHANG etal., 2003)

Seleção deparâmetros

DE Seleção automáticade operadores de mu-tação e ajuste de pa-râmetros da equaçãode velocidade para amanutenção da diver-sidade

Desconsiderou a sele-ção de topologias etestou a abordagemem poucos problemasde otimização

(POLI;LANGDON;HOLLAND,2005)

Geração dealgoritmos

GP Geração automáticade novas equaçõe develocidade para oPSO de acordo com oproblema de entrada

Não considerou a evo-lução de outros aspec-tos como operadoresde mutação e topolo-gia, e testou a aborda-gem em poucos pro-blemas de otimizaçãocom baixa dimensio-nalidade (2 e 10 di-mensões)

(RASHID,2010)

Geração dealgoritmos

GP Geração automáticade novas equações deatualização de posi-ção para o PSO paraevitar a estagnação

Não considerou a evo-lução de outros as-pectos como operado-res de mutação, velo-cidade e topologia

(SI, 2012) Geração dealgoritmos

Grammatical Dif-ferential Evolution(GDE)

Geração automáticade novas equaçõesde velocidade para oPSO

Não considerou a evo-lução de outros aspec-tos como operadoresde mutação e topolo-gia e testou a aborda-gem em poucos pro-blemas de otimização

(SI, 2013) Geração dealgoritmos

GDE Geração automáticade novas equaçõesde velocidade para oPSO aplicado ao con-texto da problemas deotimização sem restri-ção

Não considerou a evo-lução de outros aspec-tos como operadoresde mutação e topolo-gia e testou a aborda-gem em poucos pro-blemas de otimização

(SI; DE;BHATTA-CHARJEE,2014)

Geração dealgoritmos

Grammatical Swarm(GS)

Geração automáticade novas equaçõesde velocidade para oPSO aplicado ao con-texto da problemas deotimização sem restri-ção

Não considerou a evo-lução de outros aspec-tos como operadoresde mutação e topolo-gia e testou a aborda-gem em poucos pro-blemas de otimização

equação de velocidade desconsiderando outros aspectos importantes como topologia, constantesde aceleração e operador de mutação; ii) soluções testadas em poucos problemas de otimização.

Apesar das limitações, os resultados apresentados pelos trabalhos anteriores mostraram-se promissores, podendo, portanto, o GE ser utilizado na otimização de algoritmos. No entanto,problemas relacionados à localidade e geração de indivíduos inválidos surgiram devido à repre-sentação linear adotada pelo GE. Como mencionado previamente, estes problemas podem terintroduzido inconsistência no processo de busca e consequentemente prejudicado a busca.

Page 57: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 3. Algoritmos inspirados em enxames de partículas 56

Além disso, vale mencionar que a grande dificuldade existente na geração do algoritmodo PSO é a avaliação da função de fitness. Como cada solução do espaço de busca representaum possível algoritmo para o PSO, o cálculo de fitness de cada solução é a execução do próprioPSO adotando o respectivo algoritmo. Deste modo, o cálculo da função de fitness torna-sebastante custoso, principalmente quando o número de soluções e iterações da simulação é grande(HARDING e BANZHAF, 2007). Nenhuma hiper-heurística considerou o problema de custo nageração de algoritmos. Porém, pode-se citar alguns trabalhos que utilizaram GPUs para tentaracelerar a avaliação dos indivíduos (HARDING e BANZHAF, 2007; ROBILLIARD; MARION;FONLUPT, 2009) em outros domínios de problemas.

3.8 CONSIDERAÇÕES FINAIS

O PSO é um algoritmo consolidado e bastante utilizado como alternativa na resolução deproblemas de otimização. Assim como acontece com outros algoritmos, o desempenho do PSOem um dado problema de otimização pode ser afetado pela escolha de fatores como equações develocidade, topologia de comunicação utilizada ou valores dos seus parâmetros. Com o interesseda comunidade científica em aprimorá-lo, diversas variações foram propostas, algumas delas,inclusive, apresentadas no decorrer deste capítulo. Embora avanços tenham sido alcançados,encontra-se na literatura uma infinidade de novos mecanismos de diversidade, parâmetros eoperadores de mutação, tornando a escolha do melhor design do PSO para um dado problemaainda mais difícil de ser tomada (SÖRENSEN, 2015).

No capítulo a seguir será apresentada a proposta do trabalho, que visa garantir doisrequisitos: 1) geração de algoritmos adequados para o problema dado e 2) algoritmos geradoscom menor custo computacional. Além disso, será apresentada a forma como a abordagemproposta foi adaptada para o estudo de caso que é gerar algoritmos para o PSO.

Page 58: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

57

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

No capítulo 2 foram apresentadas abordagens relacionadas ao problema de geração dealgoritmos. Foram destacadas três áreas consideradas relevantes para o problema de otimizaçãode algoritmos: MtL, HHs e GGGP. As HHs, bem como MtL, foram utilizadas inicialmentepara automatizar a seleção de algoritmos. Objetivando-se considerar não apenas um conjuntopré-definido de parâmetros ou componentes no processo de otimização, mas também funções eelementos complexos de programação, um novo tipo de HH surgiu aplicando-se GP na geraçãode algoritmos. No entanto, foi descoberta uma limitação inerente ao algoritmo de GP podendo-segerar soluções incoerentes, ou seja, sintaticamente incorretas. Diante disto, foi criada a GGGPpara reduzir a incidência do problema identificado em GP, tornando-se, portanto, largamenteutilizada na geração de algoritmos. Porém, o custo para se gerar algoritmos fazendo uso de HHs,seja GP ou GGGP, é elevado e não foram encontradas abordagens que considerem este aspecto.

Esta tese preocupa-se com a eficiência na disponibilização da solução para um dadoproblema de entrada. Diante disto, foi desenvolvida uma hiper-heurística híbrida que combinaMtL e uma HH de geração, visando agregar os benefícios de cada área.

Neste capítulo é apresentada a arquitetura da proposta da tese e como esta arquitetura foiimplementada para o estudo de caso adotado, que é a otimização do algoritmo PSO.

4.1 ARQUITETURA DO SISTEMA

A abordagem desenvolvida propõe a combinação da infraestrutura de recomendação doMtL com a capacidade de geração de algoritmos de HHs. Vale ressaltar que esta abordagemhíbrida ainda não foi considerada na literatura. A Figura 21 apresenta a arquitetura do sistema.O funcionamento da arquitetura será apresentado levando-se em consideração duas etapas: aconstrução do conhecimento e a recomendação do algoritmo.

No processo de construção do conhecimento é fornecido como entrada um problema deotimização. A partir daí, duas operações são realizadas: a aplicação de métricas de caracterizaçãodo problema objetivando descrevê-lo; e a execução de uma HH na geração de algoritmos para oproblema dado. Estas duas operações não são triviais. A primeira operação é feita no componentede Extração de características e tem como objetivo aplicar métricas para descrever o problemade entrada. No entanto, escolher as métricas mais adequadas para extrair informações a respeitodo problema é um desafio (SMITH-MILES, 2009; VASSILEV; FOGARTY; MILLER, 2003).Dentre os trabalhos encontrados na literatura que propuseram métricas, destacam-se (SMITH-MILES, 2009; BRAZDIL et al., 2008) que criaram descritores para problemas de aprendizagem,e.g. classificação e regressão. Como as métricas criadas são específicas ao domínio e nem todos osproblemas de aprendizagem são problemas de otimização, surgiu a necessidade de criar medidas

Page 59: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

Figura 21 – Arquitetura proposta.

Fonte: o autor

para extração de características da superfície de fitness do problema de otimização (MALAN eENGELBRECHT, 2013; MALAN, 2014). Estas métricas são interessantes, pois o processo deextração de características torna-se genérico. O componente de extração de características utilizaestas métricas baseadas na superfície de fitness e seu funcionamento será detalhado na seção4.1.2.

O componente de geração de algoritmos, referente à segunda operação do processode construção de conhecimento implementa uma HH responsável por gerar um algoritmoresultante para o problema fornecido como entrada. A composição do melhor algoritmo gerado(proveniente do gerador de algoritmos) e os valores das características (provenientes do extratorde características) forma o meta-exemplo do problema de entrada. O meta-exemplo criado é entãoarmazenado na meta-base ou base de conhecimento. A meta-base é o principal resultado da fasede aquisição do conhecimento, refletindo a experiência acumulada ao longo de diferentes tarefas.Vale salientar que a utilização do gerador de algoritmos no processo de construção da meta-baseé novidade e exerce papel fundamental no bom funcionamento da proposta. Mais detalhes arespeito do componente gerador de algoritmo serão apresentados na seção 4.1.1. Embora acriação da meta-base seja uma etapa custosa, a eficácia do meta-aprendizado aumenta à medidaque são acumulados meta-exemplos. Isso deve ser considerado para que a recomendação nãoseja comprometida.

As operações apresentadas previamente fazem parte da construção do conhecimento.A seguir, será apresentada a etapa de recomendação. Nesta etapa, considera-se que se deseja

Page 60: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

resolver um problema de otimização não resolvido até o momento. Diante disto, o novo problemaé fornecido como entrada para o extrator de características. As características do novo problemasão comparadas com características de meta-exemplos na meta-base que já foram solucionadospreviamente. Uma vez identificado o meta-exemplo mais similar, o algoritmo aplicado sobreo respectivo problema é recomendado para o problema de entrada. Vale salientar que nenhumalgoritmo precisa ser gerado novamente pela HH de geração, o que acarretaria em mais tempode execução. O custo computacional da recomendação leva em consideração a extração decaracterísticas do novo problema e a definição do problema mais similar, fazendo com que oespecialista tenha acesso a um algoritmo para o problema de entrada rapidamente.

É importante mencionar que a arquitetura da hiper-heurística proposta também podeser composta por um mecanismo de retro-alimentação, ou seja, o aprendizado provenienteda recomendação feita para o problema de entrada pode ser armazenado na meta-base (verfigura 22). Como foi apresentado previamente, no processo de recomendação de algoritmo, ascaracterísticas são extraídas do problema de entrada e o algoritmo mais adequado é recomendadoe avaliado neste problema. Deste modo, as três informações necessárias (características, algoritmoe desempenho do algoritmo no problema) para a criação de um novo meta-exemplo, a partir doproblema de entrada, já foram definidas. Com a criação do novo meta-exemplo, este pode serinserido na meta-base, podendo ser considerado em futuras recomendações. A retro-alimentaçãoé bastante útil para a expansão da meta-base. É importante mencionar que a retro-alimentaçãonão foi estudada nesta tese, e consta como trabalho a ser realizado no futuro.

Figura 22 – Mecanismo de retro-alimentação da meta-base com o aprendizado gerado apartir do problema novo.

Fonte: o autor

A seguir serão apresentados os componentes da arquitetura proposta. É importantesalientar que a arquitetura foi projetada de modo que cada componente seja independente dosdemais.

Page 61: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

4.1.1 Geração de algoritmos

O componente gerador de algoritmos tem como principal função fornecer um algoritmoadequado para cada problema usado para gerar a meta-base. Este componente recebe comoentrada um problema de otimização e executa uma HH que irá evoluir/construir algoritmospara este problema. Após a simulação da HH, o melhor algoritmo gerado para o problema deentrada é fornecido como saída. Vale salientar que selecionar apenas o melhor algoritmo foiuma decisão de implementação. É possível fornecer como saída um conjunto de algoritmos queatingiram bons resultados. Como foi mencionado anteriormente, esta saída (o melhor algoritmo)irá compor o meta-exemplo, que será adicionado à meta-base.

A escolha da HH do gerador de algoritmo é fundamental para garantir a qualidade doconhecimento gerado. Todas as limitações existentes envolvendo HHs (ver seções 2.2 e 2.3), quepodem influenciar negativamente a busca, foram levadas em consideração na tomada de decisõespara a implementação da arquitetura (ver seção 4.2).

4.1.2 Extração de características

O componente extrator de características objetiva descrever um dado problema através deum vetor de características. Este componente recebe como entrada um problema de otimização eaplica sobre este métricas para extração de valores que o caracteriza (vetor de características).Esta saída irá compor, juntamente com a saída do gerador de algoritmos, o meta-exemplo.

Este componente também exerce um papel fundamental para o bom desempenho darecomendação dos algoritmos gerados. A escolha de métricas inadequadas pode comprometer acaracterização do problema e consequentemente a recomendação do melhor algoritmo para umdado problema de entrada.

Objetivando-se criar uma proposta capaz de fornecer um algoritmo adequado para proble-mas de otimização de forma genérica, foram consideradas métricas que extraem característicasda superfície de fitness dos problemas de otimização, tais como número de picos, inclinaçãodos picos, espaçamento entre os picos, entre outras (MALAN e ENGELBRECHT, 2013). Afigura 23 apresenta a superfície de dois problemas distintos P1 e P2. Percebe-se, visualmente,que as superfícies são distintas e que as melhores soluções se encontram em regiões diferentesdo espaço busca.

O estudo da superfície de problemas de otimização deu origem ao termo Fitness Lands-

cape Analysis (FLA). As métricas de FLA normalmente utilizadas são chamadas de métricasaproximadas, pois utilizam uma amostra de soluções do espaço de busca para prever característi-cas da superfície como um todo (MALAN e ENGELBRECHT, 2013). Mais detalhes a respeitodas métricas utilizadas neste componente podem ser vistos na ver seção 4.2.

Page 62: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

Figura 23 – Fitness landscape dos problemas P1 e P2.

Fonte: (MALAN e ENGELBRECHT, 2013)

4.1.3 Meta-base

A meta-base é composta por meta-exemplos, sendo cada meta-exemplo representado poruma tupla ( ~Ci, Di, Fi). ~Ci é um vetor que armazena os valores das características do problema i.Di é o algoritmo resultante da execução do Gerador de algoritmos para o problema i e Fi é ovalor médio de fitness alcançado pelo algoritmo Di quando avaliado no problema i.

4.1.4 Seleção de algoritmos

O componente de seleção de algoritmos tem a função de fornecer para o especialistao algoritmo mais adequado para o problema de entrada. Este componente recebe o vetor decaracterísticas do problema de entrada, e busca na meta-base o meta-exemplo mais similar combase nos valores destas características. Uma vez identificado o meta-exemplo mais similar, oalgoritmo que foi gerado é recomendado como solução para o problema de entrada.

4.2 IMPLEMENTAÇÃO DA ARQUITETURA

A seção anterior apresentou os componentes arquiteturais da abordagem proposta. Cadacomponente foi definido genericamente, pois a forma como cada um será implementado édependente do estudo de caso (e.g. problema a ser resolvido, tipo do algoritmo a ser gerado oudecisões técnicas do usuário). Nesta tese, o estudo de caso adotado foi a otimização de algoritmosPSO. Diante disto, todas as decisões de implementação de cada componente da arquitetura forambaseadas neste estudo de caso.

Page 63: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

4.2.1 Geração de algoritmos

Objetivando-se utilizar o que há de melhor na literatura em termos de HHs, decidiu-seadotar uma abordagem de GGGP baseado em árvore. A escolha de GGGP para a geração dealgoritmos é devido às limitações de GP tradicional e da possibilidade de se utilizar o poder degramáticas na definição de regras para criação de algoritmos. Além disso, como foi previamenteapresentado na seção 2.3 do capítulo 2, esta abordagem baseada em árvore é promissora e evitacertos problemas como localidade e geração de indivíduos inválidos comumente apresentadospela abordagem linear. O algoritmo adotado nesta implementação é o CFG-GP, mencionado naseção 2.3 do capítulo 2 (ver detalhes em (WHIGHAM, 1995)).

Três componentes fazem parte da GGGP baseada em árvore: i) a gramática, ii) o me-canismo de busca e iii) o processo de mapeamento. O mecanismo de busca e o processo demapeamento adotados neste trabalho são os mesmos utilizados no algoritmo proposto porWhigham et al. (2015). Com relação à gramática, neste trabalho foi desenvolvida uma gramáticaespecífica para a otimização do PSO. Esta gramática considera os seguintes aspectos a seremotimizados no PSO: técnicas de inicialização populacional, equações de velocidade, operadoresde mutação e topologias. A escolha destes aspectos é fundamentada na importância que estes pos-suem na geração de soluções de qualidade e pela recorrência da otimização destes em trabalhosrelacionados citados no Capítulo 3. Vale salientar que o motivo da criação de uma nova gramáticase deu pelo fato de que apenas uma gramática foi proposta na literatura (desenvolvida por Si(2012)) no contexto de otimização do PSO; e esta considerou apenas a evolução da equação develocidade.

O algoritmo do PSO, com os parâmetros e componentes estabelecidos neste trabalho, aser otimizado é apresentado em pseudocódigo 2.

Pseudocódigo 2 Algoritmo do PSO a ser otimizadoRequire: size: tamanho do enxame, nIt: número de iteraçõesswarm = <INITIALIZATION> de size partículasAvaliar cada p no swarmtopology =<TOPOLOGY>for i = 0 até maxIt do

for all p no swarm do<UPDATE-VELOCITY> de pAtualizar posição de pif (rand(0-1) < <PROB_MUTATION>) then

Mutar p usando <MUTATION>end ifAvaliar pAtualizar pbest

end forAtualizar gbest de acordo com <TOPOLOGY>

end for=0

Page 64: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

Os elementos que estão no formato de tag <> representam os parâmetros ou procedi-mentos que podem ser alterados no algoritmo. A seguir, serão apresentados os componentes evalores de parâmetros do PSO definidos na gramática (veja a Figura 24).

Figura 24 – Gramática proposta para otimização do PSO.

Fonte: o autor

Vale salientar que os valores adotados na gramática são comumente utilizados na litera-tura (CLERC e KENNEDY, 2002):

• Inicialização: a tag <INITIALIZATION> representa a estratégia de inicialização doenxame. Foram considerados três métodos de inicialização: a tradicional inicializaçãoaleatória uniforme, NSM e Oposição. Estas abordagens foram apresentadas na seção 3.2.

• Equação de velocidade: a tag <UPDATE-VELOCITY> representa a equação de veloci-dade que atualiza a velocidade das partículas. A gramática adotada pode produzir umavariedade de equações combinando informações cognitivas e sociais (gbest e pbest). Asequações de velocidade padrão apresentadas na seção 3.3 do capítulo 3 são apenas casosespeciais que podem ser derivados desta gramática. O ω utiliza uma estratégia de redução

Page 65: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

linear (XIN; CHEN; HAI, 2009) e χ = 0.7 (fator de constrição) podem ser eventualmenteutilizados para o controle da velocidade das partículas. A constante r, da tag <VAR>,assume valores entre 0 e 1.

• Topologia: a tag<TOPOLOGY> corresponde ao mecanismo de comunicação que provê asinformações da vizinhança para a atualização da velocidade. Definir a topologia adequadapara um determinado problema é importante pois representa a forma como as partículasinteragem durante a busca. Devido à rica literatura do PSO, escolher um conjunto detopologias relevantes pode ser difícil. Foram selecionadas sete topologias das apresentadasna seção 3.5: duas estáticas, Star, Ring; e cinco dinâmicas, Niche, Clubs, Cluster, Species

e Dynamic Ring.

• Mutação: finalmente, operadores de mutação para o PSO são representados pela tag<MUTATION>. Cinco operadores de mutação, sugeridos por Li, Yang e Korejo (2008),podem ser atribuídos à tag. Além dos operadores, também se considera o cenário em quenenhum operador é utilizado (a tag assume o valor λ). Já a tag <PROB-MUTATION>define os valores possíveis da taxa de mutação.

As regras gramaticais que vão definir as opções possíveis de substituição destas tags porparâmetros ou procedimentos podem ser vistas na Figura 24. Nesta gramática pode-se identificaras regras de produção e os elementos terminais necessários para a geração de algoritmos doPSO. Um exemplo de algoritmo do PSO que pode ser gerado a partir da gramática proposta podeser visto no pseudocódigo 3. Neste exemplo pode-se ver que a topologia adotada foi a Clan, aequação de velocidade gerada para a atualização da posição das partículas foi χ ∗ (~vi + [~ni −r1 ∗ ~xi]− ~vi ∗ r2), o operador de mutação selecionado foi Cauchy utilizando probabilidade demutação igual a 0.3.

Vale salientar que cada algoritmo de PSO gerado é avaliado em um dado problema deotimização. O desempenho do PSO gerado no problema dado é o valor de fitness do indivíduo(solução), sendo através deste valor que diferentes indivíduos são comparados.

4.2.2 Extração de características

A superfície de fitness apresenta características que ajudam a descrever um problema deotimização. De acordo com Malan e Engelbrecht (2013), as principais métricas de FLA avaliamcaracterísticas como modalidade, escalabilidade, diferenciabilidade e separabilidade.

A modalidade corresponde ao número de ótimos locais presente na superfície de fitnessda função. Um problema de alta modalidade pode ter um impacto negativo na busca, pois ootimizador pode ficar preso em ótimos locais. A escalabilidade está relacionada à dimensiona-lidade. De acordo com Yao e Liu (1996), à medida que o número de variáveis ou dimensõesaumenta, o espaço de busca também aumenta. A escalabilidade pode ser uma barreira para quase

Page 66: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

Pseudocódigo 3 Exemplo de possível algoritmo para o PSO considerando a gramática proposta.Require: size: tamanho do enxame, nIt: número de iteraçõesswarm = inicializar size partícula usando Uniform RandomAvaliar cada p no swarmtopology = Clubsvelocity = χ ∗ (~vi + [~ni − r1 ∗ ~xi]− ~vi ∗ r2)for i = 0 até maxIt do

for all p no swarm doAtualizar velocidade de p com velocityAtualizar posição de pif (rand(0-1) < 0.3) then

Mutar p usando Cauchyend ifAvaliar pAtualizar pbest

end forAtualizar gbest de acordo com topology

end for=0

todos os algoritmos de otimização. Com relação à diferenciabilidade, a superfície de fitness édiferenciável, se existe a derivada em cada ponto no seu domínio. Isso resulta que o gráficode uma função diferenciável deve ter uma linha tangente não vertical em cada ponto no seudomínio, ou seja, ser relativamente suave, e não pode conter quaisquer quebras, dobras, ou cantos.Finalmente, problemas separáveis são relativamente fáceis de solucionar quando comparadascom funções não separáveis. Quando um problema é separável, cada variável é independentedas outras variáveis. Sendo assim, cada variável pode ser otimizada independentemente. Aseparabilidade não representa características físicas na superfície de fitness do problema, porém,tem-se confirmado que a utilização de topologias que favorecem o exploration, melhoram odesempenho do PSO na busca pelo ótimo quando o problema é separável e, enfrenta problemasde convergência quando o problema é não-separável (HANSEN et al., 2008).

Um trabalho recente desenvolvido por Garden e Engelbrecht (2014) selecionou e avaliou8 métricas de FLA para estudar superfícies de problemas de otimização provenientes dascompetições do CEC 2005 (SUGANTHAN et al., 2005) e BBOX 2009 (HANSEN et al., 2009).Devido ao bom desempenho apresentado por estas métricas na descrição de problemas deotimização, um subconjunto de cinco destas métricas no componente extrator de características.As outras três métricas foram desconsideradas pois eram uma medida que estimava o desempenhode um algoritmo em problemas com ótimo global conhecido. Embora que para os problemasconsiderados nesta tese, o ótimo global seja conhecido, para um novo problema de outra natureza,não se conhece o ótimo global a priori. As medidas selecionadas, portanto, são mais genéricas eindependentes da natureza do problema.

(1) First Entropic Measure (FEM): FEM mede o enrugamento da superfície de fitness efoi proposta por Vassilev, Fogarty e Miller (2003). O enrugamento é uma característica importante

Page 67: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

na descrição de um problema de otimização, pois esta está associada ao número e distribuição deótimos locais. A FEM é calculada usando uma amostra de valores de fitness adquirida a partirdo algoritmo de random walk (MALAN e ENGELBRECHT, 2014) na superfície de fitness doproblema. O random walk é um algoritmo iterativo que objetiva avaliar soluções do espaço desoluções. A primeira solução avaliada é definida aleatoriamente. Na iteração seguinte, três fatoresdeterminam a próxima solução a ser avaliada, o tamanho do passo ou deslocamento, a dimensãodo problema e a direção do passo. O tamanho do passo pode ser definido da seguinte forma,(xmaxxmin)× k. Onde xmax e xmin são os limites máximo e mínimo do domínio do problema, ek é o tamanho do passo. Se k = 0.1 significa que cada passo equivale a um deslocamento de10% no espaço de soluções.

O caminho na superfície, através do random walk, é representado como um conjuntode objetos de três pontos, sendo cada objeto um ponto no caminho junto com seus vizinhos.Cada objeto pode ser classificado como neutro, liso ou enrugado. Um ponto considerado neutroé aquele que possui o mesmo valor de fitness que seus vizinhos. No ponto liso, as diferençasde fitness entre os três pontos mudam em uma direção. Já no enrugado, os valores de fitnessdiferem entre os três pontos em duas direções. O conjunto de objetos gerados a partir do random

walk é fornecido como entrada para o cálculo da entropia da amostra, base para a definiçãoda estimativa de enrugamento da superfície do problema. A figura 25 mostra um exemplo declassificação de objetos.

Figura 25 – Classificação e codificação de objetos três pontos como neutro, enrugado eliso baseada nos valores de fitness relativos.

Fonte: (MALAN e ENGELBRECHT, 2013)

Este conjunto de objetos é representado como uma string, S(ε) = s1, s2, s3...sn, de

Page 68: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

símbolos si ∈ {1, 0, 1}, obtido através da função:

si = Ψft(i, ε) = 1, sefi − fi−1 < −ε

= 0, se|fi − fi−1| ≤ ε

= 1, sefi − fi−1 > ε

(4.1)

O valor de ε determina o quão preciso é o cálculo da string S(ε). Um baixo valor de εresulta em uma alta sensitividade com relação às diferenças dos valores de fitness dos vizinhos,ou seja, quanto maior o valor de ε, maior o número de objetos serão considerados neutros.

O cálculo da entropia H(ε) é realizado através da seguinte equação:

H(ε) = −∑p6=q

P[pq]logbP[pq] (4.2)

sendo p e q elementos do conjunto {1, 0, 1}, P[pq] é definido como

P[pq] = l[pq]

l(4.3)

e l[pq] é o número de sub-blocos pq na string S(ε).

A equação 4.2 resulta em um valor entre [0, 1], representando a estimativa de formasenrugadas durante o random walk. O logaritmo na equação 4.2 possui base b, onde b é o númerode possíveis formas enrugadas definidas. Se considerássemos a figura 25, 6 formas enrugadas sãodefinidas na classificação, sendo assim, b = 6. Finalmente, a equação 4.3 calcula a probabilidadede cada elemento enrugado ocorrer. Desta forma, um alto valor para H(ε) significa uma maiorvariedade de formas enrugadas no caminho e, consequentemente, na superfície.

Neste trabalho são usados FEM0.01 (enrugamento a nível micro) e FEM0.1 (enrugamentoa nível macro) que calculam o enrugamento da superfície executando o algoritmo do random

walk com tamanho de passos de 1% e 10% do domínio do problema.

(2) Dispersion Measure (DM): Esta métrica, diferentemente da FEM, não tenta conta-bilizar os possíveis ótimos locais, e sim identificar o comportamento macro dos ótimos locaisna superfície do problema. O comportamento macro previamente mencionado diz respeito àestrutura global da superfície de fitness, também chamada de funil. De acordo com Sutton et al.(2006), um funil é um conjunto de ótimos locais agrupados. Visando facilitar o entendimento,a figura 26 apresenta superfície de fitness de 6 problemas de otimização. Embora todas sejammultimodais, as figuras 26 a, b, c, d e f apresentam uma estrutura global unimodal. Já a figura26 e apresenta dois funis.

De acordo com (SUTTON et al., 2006), um número de ótimos locais não determina adificuldade do problema, e sim o número de funis que a superfície do problema possui. Ou seja,

Page 69: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

Figura 26 – Superfície de Fitness das funções matemáticas.

Fonte: (MALAN e ENGELBRECHT, 2013)

embora o problema tenha alta modalidade, se este tem uma estrutura global unimodal, o processode busca pode se tornar mais simples.

A métrica de dispersão adotada neste trabalho foi desenvolvida por Lunacek e Whitley(2006) e é baseada em dispersão para estimar a presença de funis em uma superfície de fitness.A dispersão mede a proximidade em que um conjunto de pontos estão em uma amostra. Esteconjunto de pontos é determinado através de uma amostragem aleatória uniforme a partir doespaço de busca. Desta amostra, apenas um percentual dos melhores pontos é considerado. Ovalor da dispersão é resultado do cálculo da média da distância par-a-par dos melhores pontos.

Para facilitar o entendimento do uso desta métrica, a figura 27 apresenta a mudança delimiar (linha horizontal) nas funções de teste Rastrigin (figuras no topo) e Schwefel (figuras nabase). Abaixo do limiar encontram-se os melhores pontos, uma vez que o limiar está associado aonúmero de melhores pontos a serem selecionados. A figura 27 mostra que com o decaimento dolimiar houve uma diminuição da dispersão por parte da função Rastrigin (a média das distânciasentre as soluções diminuiu) e um aumento de dispersão por parte da função Schwefel (a médiadas distância entre as soluções aumentou). Maiores detalhes a respeito da implementação destamétrica podem ser encontrados em (LUNACEK e WHITLEY, 2006).

(3) Gradient Measure (GM): steep gradients ou declividades levam em consideração amagnitude das mudanças de fitness dos pontos da vizinhança. A grande motivação de usá-los nadescrição do problema é que uma superfície com declividades possui uma maior probabilidadede ser "enganosa"para a busca. Neste trabalho foi utilizada uma métrica para estimativa dedeclividades proposta por Malan e Engelbrecht (2013). Esta métrica é baseada no Manhattan

progressive random walk, uma forma particular de random walk através de espaços de buscacontínuos. Mais detalhes da implementação da métrica em (MALAN e ENGELBRECHT, 2013).

Page 70: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

Figura 27 – Cálculo de dispersão.

Fonte: (MALAN e ENGELBRECHT, 2013)

(4) Information Landscape (IL): A métrica IL (BORENSTEIN e POLI, 2005) estima oquão difícil é realizar a busca do ótimo global em um determinado problema de otimização. Paraisto, realizam-se comparações par a par entre os valores de fitness de todas soluções presentesem uma determinada amostra aleatória, para um determinado problema de otimização. Um vetorde valores é gerado como resultado desta comparação. Em seguida, é calculada a distância entreeste vetor e o IL de um vetor de landscape considerado ótimo, tal como o da função Esfera (queé um problema simples de ser otimizado). A distância entre os dois vetores dá uma indicação dasimplicidade de se buscar o ótimo da superfície, onde baixos valores indicam que o landscape ésimples e valores altos indicam dificuldade na busca da solução ótima.

(5) Fitness Cloud Index (FCI): Esta métrica foi proposta por Malan (2014) e calcula arazão de melhoria do fitness de cada solução com o passar das iterações. Esta métrica utilizou oalgoritmo do PSO como otimizador, sendo executado por duas iterações. Considerando que oPSO foi executado duas vezes, a nova população X ′ é comparada com a população anterior X ,sendo a razão de melhoria do fitness de cada solução calculada.

Neste trabalho foram utilizadas as 5 métricas acima, sendo gerados 8 valores paradescrição do problema. A listagem das métricas com suas descrições são apresentadas na Tabela4.

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

Page 71: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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

Tabela 4 – Métricas de FLA

Métrica Intervalo e InterpretaçãoFEM0.01 [0,1]: onde 0 indica uma superfície plana e 1 indica enrugamento máximo, considerando.

k = 1%

FEM0.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 valorpositivo 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).FCIcog [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 suaatualização, considerando um algoritmo com tendência social.

(30 dimensões) e foram retirados do Survey (JAMIL e YANG, 2013), CEC 2005 (SUGANTHANet 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ódigo4. 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 oproblema 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. Umavez 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çãoconsiderado, totalizando 32 meta-exemplos.

Pseudocódigo 4 Processo de criação da meta-baseproblems = problemas de otimização consideradosmeta_base = conjunto vaziofor all i no problems doDi = melhor algoritmo gerado para iFi = fitness de algorithm em i~Ci = características extraídas de iInserir 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 algoritmodo PSO proveniente do meta-exemplo mais similar com relação ao problema de entrada. Neste

Page 72: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

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 entreseus 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õesde implementação de cada componente da arquitetura do sistema foram elucidadas de acordocom o estudo de caso adotado. O próximo capítulo apresenta os experimentos realizados e osresultados obtidos.

Page 73: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

72

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 deentrada 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 dameta-base, verificando-se se o gerador de algoritmos adotado está produzindo algoritmoscompetitivos e úteis para cada problema de otimização considerado. Neste experimentosão investigados os seguintes aspectos: i) Comparação entre gramáticas na geração dealgoritmos para o PSO, ii) Comparação entre abordagens baseadas em GGGP na geraçãode algoritmos para o PSO, iii) comparação dos algoritmos de PSO gerados com algoritmosde 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 pelogerador de algoritmos.

• Análise da seleção de algoritmos: No segundo experimento, o processo de seleção dealgoritmos é 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 seaproxima para a solução ótima). Diante disto, é importante calcular a diferença entre fitnessdo 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 serrecomendado dentre os algoritmos disponíveis na meta-base. Pois, pode acontecer de umalgoritmo gerado ser bom para o problema de entrada, porém existem outros algoritmosque atingiriam resultados ainda melhores caso tivessem sido recomendados. Esta avaliaçãotrata 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 degeração.

5.2 DOMÍNIO DO PROBLEMA

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

Page 74: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 73

utilizada em competições). Além disso, as funções escolhidas pertencem a quatro categoriasde problemas (SURJANOVIC e BINGHAM, 2013): formato tigela (Bowl-Shaped), formatoprato (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íveisde dificuldade. Neste experimento, cada categoria possui 8 funções de minimização cada, cujomínimo global é zero.

O formato Bowl-Shaped recebe essa denominação devido a característica física das suasfunçõ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 eunimodais. 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 suasfunções de otimização. Existem duas características marcantes, a primeira é que as pontas opostasda 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 naplaní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 categoriaBowl-Shaped é que esta é composta por funções não-separáveis. Esta característica adiciona umadificuldade a mais na busca pelo ótimo global.

O formato Valley-Shaped recebe essa denominação devido a característica física das suasfunções de otimização. Diferentemente do formato Plate Shaped, o formato Valley-Shaped alémde possuir uma área maior de planície, possui apenas uma das pontas da superfície de maiorelevação. Como o mínimo global também encontra-se na planície, a tarefa de encontrar o ótimotorna-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 formatoPlate Shaped, no entanto, as funções desta categoria apresentam a região plana mais extensa euniforme, dificultando ainda mais a convergência.

O formato Many Local Minima agrega mais complexidade quando comparado aos demaisjá 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,

Page 75: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 74

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 umacaracterística diferente de todas as outras: a multimodalidade, ou seja, a presença de múltiplosmínimos locais. A presença destes mínimos dificulta bastante a busca pelo ótimo, pois os falsosmínimos podem "enganar"o otimizador fazendo com que este fique estagnado.

5.3 RESULTADOS

5.3.1 Análise da geração de algoritmos

A análise de geração de algoritmos foi dividida em quatro partes: i) comparação entregramáticas propostas para a geração de algoritmos para o PSO, ii) comparação dos algoritmosgerados por hiper-heuristicas baseadas em GGGP, iii) comparação dos algoritmos gerados peloCFG-GP com algoritmos de competição ICSI 2014, e iv) análise da estrutura (componentes eparâmetros definidos) dos algoritmos gerados por categoria de problema.

5.3.1.1 Comparação entre gramáticas para a geração de algoritmos para o PSO

Este experimento visa comparar os algoritmos gerados pela gramática desenvolvidanesta tese e a criada por Si (2012). Vale salientar que as gramáticas otimizam o PSO levandoem consideração aspectos diferentes. O objetivo desta comparação é verificar se os aspectosconsiderados na gramática proposta favorecem a geração de algoritmos do PSO em relação àproposta por Si (2012). Para isto, a hiper-heurística adotada no módulo de geração de algoritmos,o CFG-GP, foi executada usando as gramáticas, uma por vez. Deste modo, os resultados dosalgoritmos obtidos pelo CFG-GP com a gramática desenvolvida neste trabalho (CFG-GPprop)foram comparados com os do CFG-GP usando a gramática de Si (2012) (CFG-GPadv).

Os parâmetros adotados pelo CFG-GP considerando as duas gramáticas são os mesmospropostos por Whigham et al. (2015). Todos os hiper-parâmetros e seus respectivos valores sãoapresentados na tabela 5. Além disso, os algoritmos gerados pelo CFG-GP usaram as mesmasconfigurações de parâmetros: tamanho populacional com 30 indivíduos, critério de parada de5.000 iterações por simulação e cada algoritmo executou 20 vezes para gerar um valor médiode fitness (desempenho do algoritmo). Vale salientar que o tamanho populacional e número deiterações foram escolhidos experimentalmente, sendo estes valores suficientes para aquisição debons resultados.

Neste experimento, foi realizada uma comparação pareada entre o CFG-GPprop e CFG-GPadv. A tabela 6 mostra a média dos valores de fitness e o desvio padrão de cada algoritmoproduzido pelas abordagens para cada problema de otimização. Como pode ser visto nestatabela, os valores de fitness alcançados pelos algoritmos de PSO gerados pelo CFG-GPprop

superaram o CFG-GPadv em todos os problemas de otimização. Para avaliar os resultados maisadequadamente, foi aplicado o teste de Wilcoxon para verificar se os resultados do CFG-GPprop

Page 76: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 75

Tabela 5 – Parâmetros adotados pelos CFG-GP e GE.

ValorHiper-parâmetro GE CFG-GP

Tamanho polulacional 500Gerações 50

Método de seleção TorneioTamanho do torneio 3Contador de elitismo 1Taxa de cruzamento 0.9Taxa de reprodução 0.1

Taxa de mutação 0.5 -

CruzamentoCruzamento LHS (HARPER e BLAIR, 2005)

Sub-árvore(Comprimento variável)

MutaçãoPointwise

Sub-árvore(por códon)

Seleção do nó do cruzamento Uniforme Koza-Style

Inicialização AleatórioRamped-Half

& HalfProfundidade mín de inicialização - 2Profundidade máx. de inicialização - 6

Profudidade máx. da árvore - 17Comprimento inicial do códon 200 -

Wrapping None -

são estatisticamente melhores que os do CFG-GPadv. O símbolo (H) indica que os resultadosalcançados por uma determinada abordagem é pior estatisticamente que os resultados do CFG-GPprop. Como pode-se ver, o CFG-GPprop venceu estatisticamente o CFG-GPadv em 27 dos32 problemas de otimização. Vale ressaltar que nos 5 demais problemas, ambas as abordagensforam consideradas estatisticamente idênticas. Isto mostra que considerar não apenas a equaçãode velocidade na otimização, mas também técnicas de inicialização, operadores de mutação etopologias pode fazer a diferença na geração de melhores algoritmos para o problema de entrada.

5.3.1.2 Comparação entre abordagens baseadas em GGGP

Este experimento visa analisar os algoritmos produzidos pela hiper-heurística adotadano módulo de geração de algoritmos. Deste modo, os resultados dos algoritmos obtidos peloCFG-GP foram comparados com os de outra abordagem baseada em GGGP, o GE. Comple-mentarmente ao CFG-GP e ao GE, também foi adotado o algoritmo de busca aleatória (doinglês, Random Search) (RS) nos experimentos. Este procedimento foi executado repetidamenteproduzindo soluções usando um método de inicialização aleatória da GE. Em cada iteração, omelhor indivíduo encontrado foi mantido. A intenção é usar o RS como um baseline contra oqual o desempenho do CFG-GP e GE é avaliado. Vale salientar que todas as abordagens baseadasem GGGP utilizaram a mesma gramática adotada pelo CFG-GP (a gramática desenvolvida nesta

Page 77: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 76

Tabela 6 – Média dos valores de fitness dos algoritmos CFG-GPprop e CFG-GPadv emcada problema de otimização.

Categoria Problemas AlgoritmosCFG-GPprop CFG-GPadv

Bowl

f1 1.22e-188 (± 1.33e-125) 2.36e-168 (± 3.1e-120)

f2 1.42e-123 (± 1.55e-80) 1.64e-118 (± 2.3e-69)

f3 1.67e-169 (± 1.49e-126) 4.84e-134 (± 2.3e-32) H

f4 1.33e-168 (± 2.21e-129) 1.42e-163 (± 2.8e-121)

f5 2.63e-172 (± 1.87e-135) 2.19e-163 (± 3.4e-123)

f6 1.43e-72 (± 1.32e-61) 1.31e-56 (± 3.4e-41)

f7 2.41e-169 (± 1.36e-137) 1.45e-143 (± 3.4e-54) H

f8 2.32e-84 (± 2.38e-56) 3.52e-59 (± 3.8e-34) H

Plate

f9 1.20e-44 (± 1.32e-21) 3.15 (± 1.5) H

f10 1.43e-68 (± 2.98e-32) 0.34 (± 2.6e-04) H

f11 2.51e-31 (± 2.23e-19) 9.16 (± 2.7) H

f12 1.31e-49 (± 1.65e-23) 3.23 (± 1.3) H

f13 1.14e-87 (± 2.24e-54) 5.34e-04 (± 0.028) H

f14 3.12e-26 (± 2.76e-14) 10.72 (± 1.2) H

f15 1.18e-57 (± 1.76e-37) 1.32e-04 (± 3.4e-04) H

f16 1.73e-53 (± 3.47e-43) 4.0e-05 (± 4.2e-04) H

Valley

f17 2.97e-25 (± 1.97e-22) 5.41 (± 1.1) H

f18 6.54e-24 (± 1.32e-18) 8.12 (± 1.9) H

f19 8.25e-11 (± 1.45e-08) 11.55 (± 2.3) H

f20 1.12e-20 (± 2.97e-15) 0.51 (± 1.5e-05) H

f21 1.24e-52 (± 2.76e-42) 0.023 (± 1.2e-04) H

f22 1.07e-39 (± 3.13e-28) 6.18 (± 1.4) H

f23 1.16e-19 (± 1.39e-12) 6.17 (± 0.3) H

f24 1.56e-19 (± 2.38e-11) 7.36 (± 1.2) H

Many

f25 1.41e-44 (± 1.34e-32) 11.15 (± 1.7) H

f26 0.0 (± 0.0) 11.83 (± 2.4) H

f27 2.69e-24 (± 3.65e-18) 14.97 (± 3.1) H

f28 2.18e-59 (± 2.43e-44) 10.17 (± 2.1) H

f29 1.13e-26 (± 1.76e-19) 16.18 (± 2.4) H

f30 1.23e-38 (± 1.37e-24) 15.42 (± 2.9) H

f31 0.0 (± 0.0) 12.62 (± 3.5) H

f32 1.25e-23 (± 1.45e-18) 17.27 (± 2.3) H

Page 78: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 77

tese). As implementações das abordagens deste experimento estão disponíveis no Github 1.

Os parâmetros adotados pelas abordagens baseadas em GGGP, CFG-GP e GE, são osmesmos propostos por (WHIGHAM et al., 2015). Todos os hiper-parâmetros e seus respectivosvalores são apresentados na tabela 5. Além disso, os algoritmos gerados pelo CFG-GP, GE eRS usaram as mesmas configurações de parâmetros: tamanho populacional com 30 indivíduos,critério de parada de 5.000 iterações por simulação e cada algoritmo executou 20 vezes para gerarum valor médio de fitness (desempenho do algoritmo). Vale salientar que o tamanho populacionale número de iterações foram escolhidos experimentalmente, sendo estes valores suficientes paraaquisição de bons resultados.

O algoritmo de RS foi dividido em 50 grupos de 500 indivíduos. Este processo é con-siderado igual à amostragem de 50 populações, cada uma com 500 indivíduos, mantendo-se omelhor indivíduo em cada iteração. Estes valores foram escolhidos para coincidir com os valoresadotados nos experimentos: tamanho populacional igual a 500 e 50 gerações.

Na tabela 7 é apresentada a média dos valores de fitness e o desvio padrão de cadaalgoritmo produzido pelas abordagens de GGGP para cada problema de otimização. Comopode ser visto nesta tabela, os valores de fitness alcançados pelos algoritmos de PSO geradospelo CFG-GP superaram o GE e o RS na maioria dos problemas de otimização. Para avaliar osresultados mais adequadamente, foi aplicado o teste de Wilcoxon para verificar se os resultadosdo CFG-GP são estatisticamente melhores que os das demais abordagens. O símbolo (H) indicaque os resultados alcançados por uma determinada abordagem são piores estatisticamente que osresultados do CFG-GP. Os algoritmos gerados aleatoriamente não foram capazes de alcançarresultados satisfatórios e, consequentemente, foram superados estatisticamente pelos algoritmosgerados pelo CFG-GP em 100% dos problemas. Diferentemente da abordagem aleatória, osalgoritmos produzidos pelo GE atingiram resultados promissores. No entanto, o CFG-GP venceuo GE em 28 dos 32 problemas de otimização, e nos outros 4 problemas, ambas as abordagensalcançaram resultados estatisticamente iguais.

Objetivando-se realizar uma investigação mais detalhada sobre os algoritmos gerados porcada abordagem, decidiu-se analisar como estes algoritmos comportam-se durante o processo debusca por soluções. A intenção desta análise é identificar possíveis obstáculos (e.g. estagnação)que possam surgir, em cada categoria de problemas, durante a simulação. Deste modo, cadaalgoritmo foi executado utilizando 30 partículas na população e 5.000 iterações como critériode parada para cada problema. Cada PSO foi executado 20 vezes para gerar a média de seusvalores de fitness. Com isto, 32 distribuições de valores (valores de fitness por iteração) foramarmazenadas, uma para cada problema. Como cada categoria possui 8 diferentes distribuições(uma para cada problema), decidiu-se gerar uma distribuição média por categoria.

A figura 28 apresenta as distribuições de valores de fitness médios das abordagens de1 https://github.com/grantdick/libgges

Page 79: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 78

Tabela 7 – Média dos valores de fitness dos algoritmos CFG-GP, GE e RS em cadaproblema de otimização.

Categoria Problemas AlgoritmosCFG-GP GE RS

Bowl

f1 1.22e-188 (± 1.33e-125) 1.46e-148 (± 2.41e-100) H 2.12 (± 3.1) H

f2 1.42e-123 (± 1.55e-80) 2.52e-73 (± 2.12e-25) H 3.70 (± 2.3) H

f3 1.67e-169 (± 1.49e-126) 3.04e-127 (± 1.85e-98) H 5.87 (± 2.3) H

f4 1.33e-168 (± 2.21e-129) 2.13e-138 (± 2.11e-102) H 7.32 (± 2.8) H

f5 2.63e-172 (± 1.87e-135) 2.36e-144 (± 2.31e-105) H 12.10 (± 3.4) H

f6 1.43e-72 (± 1.32e-61) 1.34e-51 (± 1.34e-26) 8.24 (± 3.4) H

f7 2.41e-169 (± 1.36e-137) 2.14e-135 (± 2.39e-101) H 7.40 (± 3.4) H

f8 2.32e-84 (± 2.38e-56) 2.23e-29 (± 2.26e-15) H 8.49 (± 3.8) H

Plate

f9 1.20e-44 (± 1.32e-21) 1.02e-4 (± 0.034) H 13.02 (± 4.5) H

f10 1.43e-68 (± 2.98e-32) 1.34e-28 (± 2.31e-12) H 10.30 (± 3.67) H

f11 2.51e-31 (± 2.23e-19) 2.15 (± 1.12) H 19.11 (± 6.7) H

f12 1.31e-49 (± 1.65e-23) 2.13e-15 (± 1.31e-06) H 23.14 (± 9.8) H

f13 1.14e-87 (± 2.24e-54) 1.2e-57 (± 2.37e-23) H 15.29 (± 5.3) H

f14 3.12e-26 (± 2.76e-14) 3.21 (± 0.036) H 20.24 (± 7.2) H

f15 1.18e-57 (± 1.76e-37) 1.22e-21 (± 3.76e-10) H 10.28 (± 3.4) H

f16 1.73e-53 (± 3.47e-43) 1.37e-19 (± 3.25e-08) H 14.24 (± 4.2) H

Valley

f17 2.97e-25 (± 1.97e-22) 2.79 (± 0.5) H 15.12 (± 3.1) H

f18 6.54e-24 (± 1.32e-18) 6.54 (± 1.2) H 12.07 (± 3.9) H

f19 8.25e-11 (± 1.45e-08) 8.25 (± 0.9) H 20.74 (± 4.3) H

f20 1.12e-20 (± 2.97e-15) 0.44 (± 0.0062) 12.86 (± 1.5) H

f21 1.24e-52 (± 2.76e-42) 2.42e-19 (± 2.3e-05) H 9.70 (± 1.2) H

f22 1.07e-39 (± 3.13e-28) 0.49 (± 0.0043) H 16.11 (± 6.4) H

f23 1.16e-19 (± 1.39e-12) 0.61 (± 0.02) H 21.08 (± 5.3) H

f24 1.56e-19 (± 2.38e-11) 0.615 (± 0.05) H 27.07 (± 5.8) H

Many

f25 1.41e-44 (± 1.34e-32) 2.14e-9 (± 1.35e-03) H 30.10 (± 6.7) H

f26 0.0 (± 0.0) 0.0 (± 0.0) 21.80 (± 1.2) H

f27 2.69e-24 (± 3.65e-18) 2.96 (± 1.2) H 24.91 (± 5.7) H

f28 2.18e-59 (± 2.43e-44) 1.75e-27 (± 1.56e-13) H 25.09 (± 7.1) H

f29 1.13e-26 (± 1.76e-19) 0.31 (± 0.05) H 26.11 (± 6.4) H

f30 1.23e-38 (± 1.37e-24) 1.79e-12 (± 2.65e-03) H 25.41 (± 5.9) H

f31 0.0 (± 0.0) 0.0 (± 0.0) 22.56 (± 6.5) H

f32 1.25e-23 (± 1.45e-18) 3.52 (± 0.07) H 27.20 (± 6.3) H

Page 80: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 79

Figura 28 – Média dos valores de fitness (a cada 500 iterações) dos algoritmos geradospelos CFG-GP, GE e RS para todas as categorias de problemas.

Fonte: os autores

GGGP quando aplicadas nos problemas das categorias Bowl, Plate, Valley-shaped e Many Local

Minima respectivamente.

Considerando a categoria Bowl (ver Figura 28 (A)), nas iterações iniciais, os resultadosde todas as abordagens são estatisticamente iguais. Porém, da geração 580 a 5.000 os resultadosdo CFG-GP são estatisticamente melhores que os das demais abordagens.

Com relação à categoria Plate (ver Figura 28 (B)), o desempenho do CFG-GP e GE sãoestatisticamente iguais durante as primeiras 1.000 iterações. Após isso, o CFG-GP foi capaz degerar algoritmos capazes de evitar a estagnação, convergindo rapidamente em direção à soluçãoótima. Consequentemente, a abordagem proposta superou o GE e RS estatisticamente até aúltima iteração.

Na categoria Valley, assim como na categoria Plate, o CFG-GP realizou uma exploraçãomaior nas primeiras iterações. Apenas a partir da iteração 1.980 que uma melhor região foiencontrada, fazendo com que houvesse a convergência em direção ao ótimo. O GE tambémapresentou um forte comportamento exploratório, no entanto demorou para encontrar umaregião promissora. Apenas após 3.490 iterações, o GE alcançou melhores soluções. O CFG-GPsuperou estatisticamente os resultados obtidos pelo GE desde a iteração 1.980. Antes disso, seusresultados são considerados estatisticamente iguais. A estagnação apresentada pelos algoritmosgerados pelas abordagens pode ser explicada pela complexidade da superfície de fitness dosproblemas destas categorias. Como mencionado na seção 5.2, ambas as categorias Plate e Valley

Page 81: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 80

apresentam o ótimo global em um plano uniforme. Esta característica torna a tarefa de encontraro ótimo mais difícil que em problemas da categoria Bowl.

Considerando a categorias Many Local Minima, o CFG-GP também superou o GE e oRS. Como os problemas desta categoria são mais complexos de solucionar, os algoritmos geradospelos CFG-GP e GE levaram mais iterações para convergir. Porém, os algoritmos gerados peloCFG-GP demonstraram ser capazes de explorar melhor o espaço de busca, evitando estagnaçãoe convergindo rapidamente em direção ao ótimo como desejado. O resultado do CFG-GP éestatisticamente melhor que o do GE desde a iteração 2.005 até a última. Assim como aconteceunas demais categorias, os algoritmos gerados pelo RS não foram capazes de evitar a estagnaçãosendo superados desde as primeiras iterações até o final.

Esta massiva superioridade do CFG-GP em relação às demais abordagens pode serrelacionada a forma como a abordagem proposta representa seus indivíduos. Como previamentemencionado na seção 2.3 do caítulo 2, os operadores de mutação e cruzamento desenvolvidos paraabordagens que utilizam a representação por genoma linear (e.g. GE) podem causar o problemada localidade e geração de indivíduos inválidos. Estes problemas prejudicam o desempenho dasabordagens lineares na tarefa de otimização de algoritmos. O mesmo problema não acontececom abordagens que adotam a representação baseada em árvore, como o CFG-GP.

Embora abordagens baseadas em árvore não tenham sido investigadas até então nocontexto de otimização do PSO, os resultados apresentados aqui mostraram que este método,especificamente o CFG-GP, obteve resultados melhores que o GE, podendo ser útil também emoutros contextos.

5.3.1.3 Comparação com algoritmos do ICSI 2014

Na última seção, pôde-se ver o potencial da abordagem CFG-GP na geração de algo-ritmos do PSO quando comparado com a abordagem GE, única abordagem adotada, até entãona literatura, para a otimização do PSO. Objetivando-se investigar se os algoritmos geradospelo CFG-GP são capazes de atingir resultados competitivos frente a algoritmos propostos naliteratura, foi realizada uma comparação entre os algoritmos gerados pela abordagem propostacom algoritmos da competição organizada pelo ICSI 2014. Foram considerados seis algoritmosde otimização:

• HSDB (ZHENG e WU, 2014) (A1): Combina DE e otimização baseada em biogeografia(do inglês, Biogeography-based Optimization) (BBO). Este algoritmo realiza mutações doDE nos estágios iniciais da busca e mais migrações do BBO nos últimos estágios da busca,objetivando balancear a exploração e a convergência. Além disso, este algoritmo tambémutiliza um método de tentativa e erro inspirado no DE auto adaptativo para escolher osesquemas de mutação e migração mais adequados durante a busca.

Page 82: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 81

• MPCPSO (XIAO e ZHANG, 2014) (A2): Do inglês, Multiple Population Co-evolution

PSO (MPCPSO), criado para superar alguns problemas apresentados pelo PSO padrãoem problemas com mínimos locais. Para isto, um mecanismo foi criado para realizar amúltiplas trocas de informação entre as partículas.

• MBO (ALKAYA et al., 2014) (A3): Uma nova meta-heurística bio-inspirada baseada naformação de vôo V de pássaros de migração.

• dynFWA (ZHENG et al., 2014) (A4): Uma versão do algoritmo baseado em Fireworks

(FWA) melhorado (do inglês, Enhanced Fireworks Algorithm) (EFWA) que usa um me-canismo de busca local dinâmico e adaptativo. O principal objetivo deste mecanismo étornar o dynFWA computacionalmente mais eficiente que o EFWA.

• DESP (ZHANG; ZHANG; ZHENG, 2014) (A5): Combinação do FWA com operadoresde DE: mutação, cruzamento e seleção. A cada iteração, operadores do DE são aplicadospara guiar a geração de novas soluções. A intenção é promover a diversidade do enxame eevitar que o mesmo fique estagnado em um mínimo local rapidamente.

• EFWA (ZHENG; JANECEK; TAN, 2013) (A6): Uma versão melhorada do FWA. Enquantoo desempenho do FWA convencional decai bastante piorando com o aumento de mínimoslocais, o EFWA adaptou operadores do FWA tradicional para melhorar seu desempenhoem problemas de múltiplos mínimos locais.

Vale a pena destacar que todos os algoritmos de A1 a A6 adotaram seus parâmetrosdefault utilizados na competição ICSI 2014.

A seguir, apresentamos um experimento que comparou os valores médios de fitnessalcançados pelos algoritmos gerados pelo CFG-GP em cada problema e os valores médios defitness obtidos pelos algoritmos do ICSI 2014 adotados. A tabela 8 apresenta o ranking médioconsiderando todos os algoritmos em todos os problemas (para cada problema, rank = 1 éatribuída ao melhor algoritmo, rank = 2 ao segundo melhor e assim por diante). O CFG-GPalcançou a primeira melhor posição no ranking dentro todos os algoritmos. Objetivando-severificar quais algoritmos foram superados estatisticamente pelo CFG-GP, foi aplicado o testede Wilcoxon. Com isto, pôde-se constatar que o CFG-GP superou estatisticamente todos osalgoritmos do ICSI 2014.

Tabela 8 – Ranking dos algoritmos considerando todos os problemas.

Rank 1 2 3 4 5 6 7Algs. CFG-GP A2 A5 A6 A4 A1 A3Rank médio 1.52 2.42 H 3.26 H 3.64 H 4.83 H 6.07 H 6.26 H

Page 83: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 82

A tabela 9 apresenta uma análise mais detalhada dos resultados. Esta tabela mostra ovalor de fitness médio alcançado pelo melhor algoritmo do ICSI 2014 e o algoritmo geradopelo CFG-GP para cada problema de otimização. Como pode-se ver na tabela, os algoritmosgerados pelo CFG-GP alcançaram valores de fitness que tenderam ao ótimo global em todos osproblemas. Para verificar se os resultados alcançados são competitivos em relação ao resultadodo melhor algoritmo de competição em cada problema, também se aplicou o teste de Wilcoxon.Os resultados alcançados pelos algoritmos gerados pelo CFG-GP são promissores, superandoestatisticamente os resultados dos algoritmos de competição em 19 dos 32 problemas de otimiza-ção. Com relação aos 13 problemas restantes, os resultados obtidos pelos algoritmos gerados ede competição são estatisticamente iguais.

Os resultados comparativos apresentados não devem ser considerados em sentido ab-soluto pois os algoritmos de competição foram executados usando seus parâmetros default,enquanto que os algoritmos gerados pelo CFG-GP são otimizados. Neste sentido, a comparaçãoseria injusta. No entanto, a intenção deste experimento é verificar se o CFG-GP pode geraralgoritmos do PSO que tenham a capacidade de alcançar resultados competitivos e que sejamúteis para o problema relacionado.

5.3.1.4 Análise da estrutura dos algoritmos gerados

Esta análise tem como principal objetivo investigar os melhores componentes e valoresde parâmetros para o PSO. Para isto, cada algoritmo gerado pelo CFG-GP foi armazenado ecada componente e valores de parâmetros adotados foram identificados (isto foi feito para cadaiteração do CFG-GP, por simulação). A tabela 10 mostra os componentes e parâmetros dosalgoritmos gerados por categoria de problemas. Esta tabela foca nos valores dos parâmetros eapresenta o percentual de vezes que um determinado valor de parâmetro esteve presente nosalgoritmos do PSO durante as simulações.

Como pôde ser visto na tabela 10, embora a inicialização aleatória uniforme seja aestratégia mais utilizada na literatura, as inicializações baseadas em Oposição e NSM mostraram-se úteis para problemas presentes nas categorias Plate, Valley e Many Local Minima. Ficou claratambém a importância de operadores de mutação no algoritmo do PSO. Em todas as categoriashouve a presença destes operadores, sendo o Gaussiano e o aleatório os mais utilizados. Levandoem consideração o parâmetro <TOPOLOGY>, pode-se notar que a escolha da topologiadepende do nível de dificuldade do problema. Diferentemente dos demais parâmetros discutidospreviamente, os valores adotados para <TOPOLOGY> apresentaram variações de acordo coma categoria dos problemas. Por este motivo, foi realizada uma investigação mais aprofundada acerca deste componente. A tabela 11 apresenta as frequências em que cada possível topologiafoi utilizada para cada categoria de problemas.

Como pode-se ver, a topologia Star foi a mais utilizada em problemas da categoria Bowl.Como os problemas desta categoria são mais simples de serem otimizados, então topologias

Page 84: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 83

Tabela 9 – Média dos valores de fitness dos algoritmos gerados pelo CFG-GP e dosalgoritmos do ICSI 2014 em cada problema de otimização.

Categoria Problemas AlgoritmosMelhor Algor. do ICSI CFG-GP

Bowl

f1 A2: 1.51e-167 (± 1.24e-105) H 1.22e-188 (± 1.33e-125)

f2 A2: 1.52e-100 (± 2.37e-56) H 1.42e-123 (± 1.55e-80)

f3 A2: 2.72e-150 (± 2.04e-107) H 1.67e-169 (± 1.49e-126)

f4 A2: 2.48e-157 (± 1.39e-123) 1.33e-168 (± 2.21e-129)

f5 A4: 2.59e-163 (± 1.16e-125) 2.63e-172 (± 1.87e-135)

f6 A4: 1.53e-49 (± 2.23e-23) H 1.43e-72 (± 1.32e-61)

f7 A2: 3.34e-155 (± 2.37e-121) 2.41e-169 (± 1.36e-137)

f8 A5: 2.23e-57 (± 1.54e-34) H 2.32e-84 (± 2.38e-56)

Plate

f9 A2: 2.42e-12 (± 2.43e-04) H 1.20e-44 (± 1.32e-21)

f10 A5: 1.12e-42 (± 2.25e-19) H 1.43e-68 (± 2.98e-32)

f11 A2: 1.12e-10 (± 1.28e-04) H 2.51e-31 (± 2.23e-19)

f12 A2: 3.19e-32 (± 1.39e-14) 1.31e-49 (± 1.65e-23)

f13 A5: 1.87e-75 (± 1.58e-43) 1.14e-87 (± 2.24e-54)

f14 A2: 2.40e-08 (± 0.0043) H 3.12e-26 (± 2.76e-14)

f15 A5: 1.54e-35 (± 3.21e-21) H 1.18e-57 (± 1.76e-37)

f16 A2: 1.45e-40 (± 2.72e-26) 1.73e-53 (± 3.47e-43)

Valley

f17 A4: 2.41e-04 (± 0.0031) H 2.97e-25 (± 1.97e-22)

f18 A4: 3.29e-04 (± 0.0026) H 6.54e-24 (± 1.32e-18)

f19 A4: 7.54e-07 (± 0.0053) 8.25e-11 (± 1.45e-08)

f20 A4: 1.34e-06 (± 0.0037) 1.12e-20 (± 2.97e-15)

f21 A5: 2.21e-29 (± 1.72e-21) H 1.24e-52 (± 2.76e-42)

f22 A6: 1.94 e-20 (± 2.22e-14) H 1.07e-39 (± 3.13e-28)

f23 A6: 1.85e-09 (± 1.34e-04) 1.16e-19 (± 1.39e-12)

f24 A5: 1.95e-09 (± 2.98e-04) 1.56e-19 (± 2.38e-11)

Many

f25 A2: 2.81e-24 (± 2.31e-15) H 1.41e-44 (± 1.34e-32)

f26 A2: 0.0 (± 0.0) 0.0 (± 0.0)

f27 A2: 1.12e-04 (± 0.0076) H 2.69e-24 (± 3.65e-18)

f28 A3: 1.12e-36 (± 2.72e-23) H 2.18e-59 (± 2.43e-44)

f29 A2: 1.37e-03 (± 0.054) H 1.13e-26 (± 1.76e-19)

f30 A3: 4.81e-28 (± 1.73e-14) 1.23e-38 (± 1.37e-24)

f31 A2: 0.0 (± 0.0) 0.0 (± 0.0)

f32 A3: 2.37e-02 (± 0.034) H 1.25e-23 (± 1.45e-18)

Page 85: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 84

Tabela 10 – Valores de parâmetros resultantes por categoria de problema.

Categoria ParâmetrosINITIAL. MUTATION PROB-MUT. TOPOLOGY

Bowl Random (62.5%) Random (32%) 0.2 (39%) Star (55%)Plate Opposit. (49%) Random (34%) 0.2 (31.7%) Niche (29.5%)Valley Opposit. (47%) Gauss. (33%) 0.3 (30.9%) Niche (33.4%)Many NSM (48%) Gauss. (32%) 0.4 (36%) Species (33%)

que favorecem a convergência são mais adequadas. Esta é a razão pela qual topologias maissofisticadas, com mecanismo de diversidade, e.g. Niche e Clan não foram tão adotadas. Estastopologias podem desperdiçar tempo explorando o espaço de busca quando não se faz necessário.

Diferentemente da categoria Bowl, os problemas pertencentes à categoria Plate precisamde topologias mais exploratórias para evitar estagnação na planície. Por este motivo, as topologiasNiche, Clubs e Species foram usadas mais frequentemente.

Os problemas pertencentes à categoria Valley são semelhantes aos problemas da categoriaPlate e por esta razão, topologias que favorecem a exploração do espaço de busca foram as maisutilizadas nos algoritmos. A topologia mais frequente nos algoritmos foi a Niche.

Com relação aos problemas da categoria Many Local Minima, as topologias mais so-fisticadas, Niche e Species, estiveram presentes em mais de 60% dos algoritmos. Isto se deveao fato de que estas topologias são providas de mecanismos que proveem um balanceamentoentre convergência e exploração. Este balanceamento é importante devido à irregularidade dasuperfície dos problemas desta categoria. Sendo assim, topologias que favorecem o exploraçãoem excesso, como a topologia Ring, não foram frequentemente utilizadas.

Tabela 11 – Valores de <TOPOLOGIA> utilizados durante as simulações por categoriade problemas.

Category TOPOLOGYStar Ring Dyn. Ring Niche Clubs Cluster Species

Bowl 55% 17% 6% 4% 5% 7% 5%Plate 4% 14% 6% 30% 18% 10% 17%Valley 2% 12% 7% 32% 11% 20% 16%Many 3% 2% 2% 30% 16% 15% 31%

Previamente, os valores selecionados para os parâmetros <MUTATION>, <PROB-MUTATION>, <INITIALIZATION> e <TOPOLOGY> foram apresentados. A seguir, iremosdetalhar as equações de velocidade que foram geradas para o PSO. Na seção 4.2.1 foi mencionadoque a <UPDATE-VELOCITY> pode assumir qualquer equação gerada a partir da gramática,seja ela uma equação tradicional ou totalmente nova. A tabela 12, para fins de ilustração,apresenta equações de velocidade geradas, uma por categoria de problema. Para a categoria Bowl-

Page 86: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 85

shaped, está sendo apresentada a equação de velocidade gerada para o problema de otimizaçãof1. Esta equação utiliza o peso inercial ω, possui um componente 100% social e um componentede atrito aleatório. O componente social em conjunto com a topologia Star (adotada em todos osproblemas da categoria) torna esta equação adequada para problemas da categoria, acelerando aconvergência para o ótimo global.

Com relação à categoria Plate-shaped, é apresentada a equação de velocidade para oproblema f9, sendo esta composta por três componentes. O primeiro componente, [~ni − ~xi] ∗ r1,atribui um peso maior ao aspecto social. O segundo componente, ~ni∗~xi∗r2, quando está próximoa zero significa que a posição da partícula está próxima da melhor posição da vizinhança dapartícula. Por outro lado, quando este componente não é zero ou próximo a zero, tende a acelerarou desacelerar a movimentação das partículas, de acordo com a posição atual da partícula ou damelhor partícula da vizinhança. O último componente da equação, ~vi ∗ r3, promove um atritoaleatório à partícula. A combinação desta equação com a topologia Niche tornou o algoritmogerado capaz de alcançar resultados interessantes para o problema f9.

A equação gerada para o problema f17 da categoria Valley-shaped possui uma estruturasimilar a da equação tradicional do PSO com o fator de constrição (ver equação 3.6). Estaequação utiliza a informação social e cognitiva da partícula visando balancear a exploraçãoe a convergência. Como o algoritmo resultante para o problema f17 utiliza a topologia Niche,o potencial de exploração da equação é maximizado, sendo adequado para o problema deotimização em questão.

Com relação à categoria Many, é apresentada a equação de velocidade gerada para oproblema f25. Espera-se que a equação seja útil para problemas com superfície multimodal.Uma característica interessante apresentada é a ausência do pbest ou ~pi. Isto aconteceu pois emsuperfícies multimodais, as partículas não deveriam confiar fortemente em suas experiênciascognitivas. O segundo componente exerce uma força sobre a partícula empurrando em direção àorigem caso a melhor partícula da vizinhança esteja na origem. Caso este componente não sejazero ou próximo a zero, pode controlar a velocidade de movimentação da partícula de acordocom as posições envolvidas nos componentes (posição atual e melhor posição da vizinhança).Além das características da equação apresentada, a topologia utilizada para o problema f25 foia Species, e isso ajudou o algoritmo gerado a alcançar um bom desempenho no problema emquestão.

5.3.2 Análise da seleção de algoritmos

Uma etapa fundamental da abordagem proposta é o processo de seleção de algoritmos,logo, é de fundamental importância avaliar se o algoritmo recomendado é útil (convirja para umaregião ótima ou próxima) para o problema de entrada. Para avaliar a etapa de recomendação foirealizado um experimento de leave-one-out. O conjunto de treinamento é composto por todasas instâncias disponíveis menos um e o teste é realizado utilizando a instância removida. Esse

Page 87: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 86

Tabela 12 – Exemplos de <UPDATE-VELOCITY> por categoria de problemas.

Category UPDATE-VELOCITY

Bowl f1 : ω ∗ ~vi + [~ni − r1 ∗ ~xi]− ~vi ∗ r2

Plate f9 : χ ∗ (~vi + [~ni − ~xi] ∗ r1 + ~ni ∗ ~xi ∗ r2 − ~vi ∗ r3)

Valley f17 : χ ∗ (~vi + r1 ∗ [~ni − ~xi] + r2 ∗ [~pi − ~xi]− r3 ∗ ~vi)

Many f25 : χ ∗ (~vi + r1 ∗ [~ni − ~xi]− r2 ∗ r3 ∗ ~xi ∗ ~n2i )

procedimento é repetido até que cada instância do conjunto de treinamento seja testada. A cadapasso do leave-one-out, um meta-exemplo é retirado para ser utilizado como novo problemade entrada e os 31 meta-exemplos restantes são mantidos na meta-base para o processo derecomendação.

A avaliação da utilidade da recomendação do sistema proposto é feita através da com-paração entre o valor de fitness alcançado pelo algoritmo recomendado aplicado ao problemade entrada, com o valor de fitness alcançado pelo algoritmo gerado para este problema origi-nalmente. Nas sub-seções anteriores, foi constatada a qualidade dos algoritmos gerados porproblema, sendo estes bastante competitivos. Diante disto, se o algoritmo recomendado para umdeterminado problema de otimização alcançar um resultado tão bom quanto ou melhor que oresultado alcançado pelo algoritmo gerado a partir deste problema (vamos chamar de algoritmooriginal), pode-se afirmar que o algoritmo recomendado é útil. Chamamos essa metodologiade precisão na otimização. Vale salientar que os algoritmos gerados presentes na meta-baseadotaram 5.000 iterações como critério de parada. Logo, o mesmo critério de parada foi adotadopara a execução dos algoritmos recomendados, sendo estes executados 20 vezes e o valor médiodo melhor fitness, armazenado.

Também foi incluída na comparação uma abordagem de seleção aleatória. Para cadaproblema considerado, foi selecionado aleatoriamente 1 algoritmo, desconsiderando-se o algo-ritmo original de cada problema. O algoritmo adotou 5.000 iterações como critério de parada eexecutou 20 vezes, tendo o seu melhor fitness armazenado. O procedimento de seleção aleatóriafoi realizado para cada problema 20 vezes, com reposição, e o fitness médio resultante dos 20algoritmos é a média dos fitness médios calculados. O cálculo do desvio padrão médio aconteceda mesma forma.

A Tabela 13 mostra os valores de fitness do algoritmo original, do algoritmo recomendadoe da abordagem de seleção aleatória para cada um dos 32 problemas de otimização. Constatou-se,

Page 88: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 87

com a aplicação do teste de Wilcoxon, que os valores de fitness alcançados pelos algoritmosrecomendados são estatisticamente superiores aos resultados da abordagem aleatória em 100%dos problemas. Além disso, também foi constatado que os resultados alcançados pelos algoritmosrecomendados foram estatisticamente iguais aos valores de fitness dos algoritmos originais em84.3% dos problemas. Os resultados que não atingiram significância estatística ocorreram,em sua maioria, nas categorias de problemas Plate e Valley. Um possível motivo para esteinsucesso talvez seja a dificuldade das métricas caracterizarem problemas destas categoriasdevido a grande semelhança entre eles. Vale salientar que embora certos algoritmos não tenhamalcançado semelhança estatística com os respectivos resultados do algoritmo original, elesatingiram resultados próximos ao ótimo. Essa informação mostra que o sistema pode recomendaralgoritmos úteis para o problema de entrada. Um estudo mais aprofundado a respeito da precisãona recomendação de algoritmos, visando responder estes questionamentos, foi realizado e seráapresentado adiante.

Também é válido investigar se o algoritmo recomendado para o problema de entradaé de fato o melhor a ser recomendado dentre os algoritmos disponíveis. Pode acontecer deum algoritmo gerado ser bom para o problema de entrada, porém existem outros algoritmosque atingiriam resultados ainda melhores caso tivessem sido recomendados. Chamaremos estaavaliação de precisão na recomendação (RA) e trata diretamente da capacidade das métricas emrepresentar o problema.

Para o cálculo do RA, considere que o algoritmo Dr foi recomendado para o problemaP . O valor de RA para o problema P é definido a partir da criação de um ranking de algoritmos,onde o objetivo é verificar a posição deDr no ranking. Para a criação de um ranking de algoritmospara P , cada algoritmo presente na meta-base é aplicado a P , sendo executado com critériode parada de 5.000 iterações, por 20 vezes e o seu valor médio do melhor fitness, armazenado.Deste modo, tem-se um ranking de algoritmos que foram ordenados pelo seu desempenho noproblema P . Este ranking é utilizado para verificar a posição em que o algoritmo inicialmenterecomendado Dr para P se encontra. O valor da precisão da recomendação pode ser calculadoda seguinte forma:

RA = (T + 1− ρ(Dr))T

× 100%, (5.1)

onde T é o total de possíveis algoritmos a serem recomendados para P e ρ(Dr) é aposição de Dr no ranking de algoritmos. Esta métrica é interessante pois compensa a precisão

na otimização. Ao invés de fazer uma análise absoluta do desempenho, esta métrica faz umaanálise relativa, comparando a recomendação realizada com todas as possíveis recomendações eassim saber quão boa foi a recomendação de fato. Vale salientar que cada posição do ranking

pode ser dividida entre dois ou mais algoritmos, ou seja, podem existir algoritmos ocupandoa mesma posição por terem alcançado resultados estatisticamente similares. Para a realizaçãodeste experimento, foi utilizada novamente o procedimento leave-one-out.

Page 89: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 88

Tabela 13 – Comparação entre os valores de fitness da recomendação e dos valores defitness dos algoritmos originais, para cada problema.

Categoria Problemas AlgoritmosGerado Recomendado Aleatório

Bowl

f1 1.22e-188 (± 1.33e-125) 2.34e-175 (± 2.35e-118) 2.61e-31 (± 1.86e-05) H

f2 1.42e-123 (± 1.55e-80) 2.76e-118 (± 1.86e-77) 1.746e-34 (± 1.17e-06) H

f3 1.67e-169 (± 1.49e-126) 3.27e-162 (± 1.31e-125) 1.16e-29 (± 2.81e-04)H

f4 1.33e-168 (± 2.21e-129) 4.96e-163 (± 1.36e-121) 2.23e-42 (± 1.23e-05)H

f5 2.63e-172 (± 1.87e-135) 2.19e-165 (± 1.04e-125) 1.36e-40 (± 1.46e-10)H

f6 1.43e-72 (± 1.32e-61) 1.31e-64 (± 1.14e-54) 1.76e-09 (± 1.29e-04)H

f7 2.41e-169 (± 1.36e-137) 2.65e-165 (± 1.96e-130) 2.76e-46 (± 2.44e-06)H

f8 2.32e-84 (± 2.38e-56) 1.77e-71 (± 1.56e-42) 2.76e-10 (± 1.82e-06)H

Plate

f9 1.20e-44 (± 1.32e-21) 1.24e-27 (± 2.37e-07) H 2.13e-04 (± 0.048)H

f10 1.43e-68 (± 2.98e-32) 2.44e-58 (± 1.29e-28) 1.76e-11 (± 0.057)H

f11 2.51e-31 (± 2.23e-19) 4.65e-23 (± 1.77e-09) 0.23 (± 1.34)H

f12 1.31e-49 (± 1.65e-23) 3.15e-38 (± 1.33e-20) 1.23e-08 (± 0.34)H

f13 1.14e-87 (± 2.24e-54) 1.76e-75 (± 1.42e-51) 1.67e-19 (± 1.86e-04)H

f14 3.12e-26 (± 2.76e-14) 3.4e-10 (± 1.12e-04) H 0.76 (± 0.45)H

f15 1.18e-57 (± 1.76e-37) 1.39e-49 (± 1.39e-34) 0.54 (± 0.65)H

f16 1.73e-53 (± 3.47e-43) 1.62e-43 (± 1.43e-39) 2.76e-07 (± 0.034)H

Valley

f17 2.97e-25 (± 1.97e-22) 2.85e-15 (± 2.83e-13) 0.23 (± 1.23)H

f18 6.54e-24 (± 1.32e-18) 2.1e-08 (± 2.13e-04) H 1.25 (± 3.24)H

f19 8.25e-11 (± 1.45e-08) 3.21e-07 (± 2.78e-06) 2.76 (± 2.34)H

f20 1.12e-20 (± 2.97e-15) 5.91e-16 (± 1.34e-11) 1.56e-04 (± 3.4e-02)H

f21 1.24e-52 (± 2.76e-42) 3.54e-46 (± 2.21e-42) 2.19 (± 2.86)H

f22 1.07e-39 (± 3.13e-28) 5.3e-25 (± 3.65e-23) 1.05e-04 (± 1.86e-02)H

f23 1.16e-19 (± 1.39e-12) 1.66e-12 (± 1.73e-10) 3.43 (± 3.56)H

f24 1.56e-19 (± 2.38e-11) 1.64e-12 (± 1.49e-10) 3.55 (± 2.89)H

Many

f25 1.41e-44 (± 1.34e-32) 1.97e-31 (± 1.84e-27) 1.14e-06 (± 1.75e-02)H

f26 0.0 (± 0.0) 0.0 (± 0.0) 7.98 (± 4.29)H

f27 2.69e-24 (± 3.65e-18) 3.0e-14 (± 2.43e-12) 4.76 (± 3.08)H

f28 2.18e-59 (± 2.43e-44) 2.36e-32 (± 3.76e-23) H 2.71 (± 2.97)H

f29 1.13e-26 (± 1.76e-19) 1.35e-19 (± 1.33e-16) 6.97 (± 2.17)H

f30 1.23e-38 (± 1.37e-24) 2.49e-31 (± 1.38e-21) 8.76 (± 3.04)H

f31 0.0 (± 0.0) 0.0 (± 0.0) 4.90 (± 5.87)H

f32 1.25e-23 (± 1.45e-18) 2.34e-08 (± 1.21e-04) H 8.76 (± 4.19)H

A tabela 14 apresenta quatro informações a respeito da recomendação para cada problema:o algoritmo recomendado (chama-se di o algoritmo gerado a partir do problema fi), algoritmosque estão na primeira colocação do ranking (atingiram resultados estatisticamente iguais), ovalor de RA e a posição do algoritmo recomendado no ranking de possíveis algoritmos a seremrecomendados para o problema de entrada.

Como pode ser visto na tabela 14, 81% dos algoritmos recomendados eram, de fato,os melhores algoritmos a serem recomendados. Nos outros 19% dos algoritmos recomenda-dos, 100% foram a segunda melhor recomendação possível. Um comportamento interessanteidentificado nos resultados da recomendação é que a maior parte dos erros na recomendação acon-teceram em problemas que pertencem a categorias diferentes mas que aparentam semelhanças.

Page 90: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 89

Isto é percebido com clareza nos problemas f9 a f18, que pertencem às categorias Plate e Valley.Estas duas categorias apresentam características da superfície similares, aumentando as chancesde falhas na recomendação do melhor algoritmo. É possível, através dos resultados apresentadosna tabela 14, que esta seja a razão de alguns resultados não terem sido bem sucedidos comomostrado na tabela 13. Por outro lado, as categorias mais divergentes (categorias Bowl e Many),ou seja, mais distantes entre si com relação às características da superfície, apresentaram umaalta precisão na recomendação. Isso se deve ao fato de que mesmo que o algoritmo recomendadonão seja o melhor, este algoritmo é proveniente de problemas da mesma categoria, aumentandoas chances de um bom resultado.

Tabela 14 – Resultados da recomendação da abordagem proposta para cada problema.

Categoria Problemas algoritmo recomendado Melhor algoritmo RA Ranking

Bowl

f1 d3 d2, d3, d4, d5, d6, d7, d8 100% 1o

f2 d1 d1, d3, d4, d5, d6, d7, d8 100% 1o

f3 d4 d1, d2, d4, d5, d6, d7, d8 100% 1o

f4 d1 d1, d2, d3, d5, d6, d7, d8 100% 1o

f5 d6 d1, d2, d3, d4, d6, d7, d8 100% 1o

f6 d1 d1, d2, d3, d4, d5, d7, d8 100% 1o

f7 d8 d1, d2, d3, d4, d5, d6, d8 100% 1o

f8 d5 d1, d2, d3, d4, d5, d6, d7 100% 1o

Plate

f9 d18 d10, d14, d15 96.8% 2o

f10 d9 d9, d14, d15 100% 1o

f11 d14 d10, d14, d15 100% 1o

f12 d14 d13, d14, d15, d16 100% 1o

f13 d12 d11, d12, d14, d15 100% 1o

f14 d17 d10, d11, d12 96.8% 2o

f15 d10 d13, d14, d16 96.8% 2o

f16 d13 d12, d13, d14, d15, d17 100% 1o

Valley

f17 d18 d18, d19, d21 100% 1o

f18 d15 d17, d19, d21 96.8% 2o

f19 d14 d17, d18, d21 96.8% 2o

f20 d23 d17, d22, d23, d24 100% 1o

f21 d19 d17, d18, d19 100% 1o

f22 d20 d17, d20, d23, d24 100% 1o

f23 d22 d20, d22, d24 100% 1o

f24 d23 d20, d22, d23 100% 1o

Many

f25 d29 d27, d29, d30 100% 1o

f26 d31 d28, d31 100% 1o

f27 d32 d29, d32 100% 1o

f28 d26 d26, d29, d31 100% 1o

f29 d25 d25, d27, d30 100% 1o

f30 d25 d25, d29 100% 1o

f31 d26 d26, d28 100% 1o

f32 d26 d27, d29 96.8% 2o

Page 91: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 5. Experimentos e Resultados 90

5.3.3 Análise do custo computacional

A principal contribuição da hiper-heurística proposta é o reuso de algoritmos, construídospor uma hiper-heurística de geração, através da recomendação destes por uma abordagemde seleção de algoritmos. Embora, o custo da construção da meta-base seja alto, uma vezcriada, quando um novo problema de otimização é dado, a hiper-heurística de geração não éexecutada, em vez disso, o procedimento de seleção de algoritmos recomenda um algoritmogerado previamente pertencente à meta-base. O custo computacional de selecionar um algoritmopara um dado problema está associado aos custos de extrair as características do problema deentrada, identificar o meta-exemplo mais similar e recomendar o algoritmo adotado no meta-exemplo mais similar. Todo este processo é bem menos caro computacionalmente que executaruma hiper-heurística de geração. Enquanto o tempo total necessário para gerar um algoritmopara um dado problema é, em média, 100 horas, o tempo total para selecionar um algoritmo dameta-base e executá-lo no problema de entrada é, em média, 25 minutos. Vale salientar que otempo de execução dos experimentos foi calculado considerando-se um processador Intel Corei7-5600U com 4M Cache, 8GB RAM e 3.20 GHz. É importante mencionar que a tarefa de cadacomponente da hiper-heurística híbrida proposta pode ser paralelizada, ou seja, a construção dameta-base, tarefa mais custosa do processo, pode ser acelerada e disponilizada mais rapidamentepara o processo de recomendação.

5.4 CONSIDERAÇÕES FINAIS

Neste capítulo foram apresentados os experimentos realizados e os resultados obtidos.Embora a meta-base criada seja composta por poucos meta-exemplos, a diversidade dos proble-mas selecionados a tornou útil e robusta. De acordo com os resultados apresentados, o sistemaproposto é capaz de gerar algoritmos competitivos e recomendá-los de forma precisa para novosproblemas ainda não solucionados, com baixo custo computacional.

O capítulo a seguir apresenta conclusões a respeito do trabalho desenvolvido, suaslimitações e trabalhos futuros.

Page 92: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

91

6 Conclusão

Nesta tese foi desenvolvida uma HH híbrida que combina uma abordagem de seleçãode algoritmos (MtL) com uma HH de geração que objetiva reduzir o custo computacional degerar algoritmos customizados para problemas de entrada. A abordagem proposta constrói umameta-base armazenando informações sobre o melhor algoritmo de otimização gerado para umproblema específico, e, também, características destes problemas. Quando um novo problema édado como entrada, o problema mais similar contido na meta-base é selecionado e o algoritmousado para resolvê-lo é recomendado como solução para o problema de entrada.

A proposta foi avaliada considerando-se como caso de estudo a otimização de algoritmospara o PSO para solucionar 32 problemas de otimização contínuos e sem restrições. Como onúmero de possíveis variações e de parâmetros do PSO é grande, e o desempenho do PSOdepende fortemente do ajuste destas configurações, a proposta é aplicada para determinar umaconfiguração para o PSO em termos do seu desempenho na otimização. Em capítulos anteriores,foram apresentadas diversas alternativas para este problema, como MtL e HHs. No entanto, umaabordagem híbrida, que utiliza os benefícios das duas áreas, ainda não havia sido investigada.

A abordagem desenvolvida nesta tese foi investigada em diferentes perspectivas: i)qualidade da gramática desenvolvida na tese, ii) qualidade da geração dos algoritmos queiriam compor a meta-base, iii) qualidade e precisão da seleção do algoritmo para um dadoproblema de entrada e; iv) custo computacional de todo o processo. Pôde-se constatar, atravésdos resultados apresentados na seção 5.3 do capítulo 5, que os resultados atingidos foramanimadores. A gramática desenvolvida nesta tese foi capaz de gerar algoritmos para o PSO queatingiram resultados superiores com relação à gramática desenvolvida por Si (2012) em 84.3%dos problemas considerados. Além disso, também foi investigada a capacidade do componentede geração de algoritmos (configurado com a gramática desenvolvida) na produção de algoritmospara a construção da meta-base. Pôde-se constatar que os algoritmos gerados atingiram um altograu de qualidade, sendo superiores, inclusive, à algoritmos estado da arte. Uma vez criada ameta-base, o componente de seleção de algoritmos foi avaliado. Os resultados mostraram queas métricas de descrição de problemas foram importantes para o sucesso da seleção, pois osalgoritmos recomendados foram úteis para os problemas de entrada. Além disso, foi estudada aprecisão do processo de seleção dos algoritmos, e percebeu-se que os algoritmos que estavamsendo selecionados eram de fato os que deveriam ser selecionados, ou seja, o processo de seleçãoexecutou com um alto percentual de precisão, consumindo apenas 1% do custo computacionalnecessário para produzir um algoritmo através de uma HH de geração.

Page 93: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 6. Conclusão 92

6.1 CONTRIBUIÇÕES DO TRABALHO

As principais contribuições deste trabalho são detalhadas a seguir:

• Contribuição 1: Desenvolvimento de uma hiper-heurística híbrida que fornece algoritmoscustomizados, que sejam adequados para os problemas de entrada, com custo computa-cional reduzido significativamente quando comparado ao de outras hiper-heurísticas degeração.

• Contribuição 2: Hiper-heurística criada com uma arquitetura genérica e flexível podendoser implementada de acordo com a necessidade do especialista.

• Contribuição 3: Aplicação da abordagem proposta em um estudo de caso pouco estudadona literatura que é a geração de algoritmos do PSO.

• Contribuição 4: Criação de uma gramática para a otimização do algoritmo PSO, con-siderando os aspectos: técnicas de inicialização populacional, equações de velocidade,operadores de mutação e topologias.

• Contribuição 5: Investigação e análise de abordagens de GGGP com representação lineare árvore no contexto de geração de algoritmos para o PSO.

• Contribuição 6: Investigação e análise de métricas de caracterização de problemas deotimização baseadas na superfície de fitness.

• Contribuição 7: Criação de uma base de dados (meta-base ou base de conhecimento),onde cada instância armazena uma tupla composta por valores que caracterizam umdado problema, o algoritmo gerado que melhor solucionou o problema e o desempenhodeste algoritmo no problema corrente. Esta base foi criada a partir da execução da hiper-heurística de geração escolhida em 32 problemas de otimização contínua sem restrições.

6.2 PRODUÇÃO BIBLIOGRÁFICA

Nesta seção, a lista de trabalhos desenvolvidos nesta tese, que foram publicados, éapresentada.

6.2.1 Artigos em conferências

• MIRANDA, P. B. C.; PRUDENCIO, R. B. C.. GEFPSO: A Framework for PSO Opti-mization based on Grammatical Evolution. In: Genetic and Evolutionary Computation(GECCO), 2015, Madrid. Proceedings of the 2015 Annual Conference on Genetic andEvolutionary Computation. NY: ACM New York, 2015. p. 1087-1094.

Page 94: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 6. Conclusão 93

• MIRANDA, P. B. C.; PRUDENCIO, R. B. C.. A Novel Context-Free Grammar to Guidethe Construction of Particle Swarm Optimization Algorithms (Aceito para publicação noBRACIS 2016).

• MIRANDA, P. B. C.; PRUDENCIO, R. B. C.. Tree-based Grammar Genetic Programmingto Evolve Particle Swarm Algorithms (Aceito para publicação no BRACIS 2016).

6.2.2 Artigos em revistas

• MIRANDA, PERICLES B. C.; PRUDENCIO, R. B. C.; CARVALHO, A. C. P. L. F.;Soares, C.. A hybrid meta-learning architecture for multi-objective optimization of SVMparameters. Neurocomputing (Amsterdam), v. 143, p. 27-43, 2014.

6.3 LIMITAÇÕES E TRABALHOS FUTUROS

Existem aspectos da proposta que podem ser melhor investigados e melhorados no futuro.Estes são listados a seguir:

• Gramática do PSO: Embora a gramática proposta considere diversos componentes doPSO, pode-se investigar novos componentes para o PSO propostos na literatura que possamser interessantes na composição do design.

• Meta-características: Neste trabalho foram utilizadas 5 métricas para descrição da super-fície de fitness de problemas de otimização. No futuro, pode-se investigar a aplicação deoutras métricas ou até incluir novas métricas que possibilitem uma melhor caracterizaçãodo problema.

• O sistema utiliza distância euclidiana para calcular a similaridade entre meta-exemplos.Pode-se investigar outros meios para tal tarefa.

• Incorporar mecanismo de retro-alimentação e investigar sua contribuição à arquitetura daabordagem proposta.

• Recomendação: O sistema proposto recomenda o melhor algoritmo do problema maissimilar ao problema de entrada. Embora os resultados tenham sido bons com esta abor-dagem, existem estratégias alternativas. Uma ideia seria, ao invés de considerar apenas oalgoritmo do problema mais similar, considerar os k problemas mais similares e montar umalgoritmo resultante (ensemble) a partir dos algoritmos destes k problemas (k é definidopelo especialista).

• A abordagem proposta otimiza os algoritmos considerando apenas um único objetivo,o valor de fitness alcançado pelo algoritmo em um problema dado. No futuro, pode-se

Page 95: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Capítulo 6. Conclusão 94

investigar outros objetivos que podem ser relevantes para a construção de algoritmos, taiscomo tempo de execução, uso de memória, entre outros.

• Aplicar a abordagem proposta na otimização de outros algoritmos (e.g. redes neurais).

Page 96: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

95

Referências

AHA, D. W. Generalizing from case studies: A case study. In: Proc. of the 9th InternationalConference on Machine Learning. [S.l.: s.n.], 1992. p. 1–10.

ALKAYA, A. F.; ALGIN, R.; SAHIN, Y.; AGAOGLU, M.; AKSAKALLI, V. Performance ofmigrating birds optimization algorithm on continuous functions. In: SPRINGER. InternationalConference in Swarm Intelligence. [S.l.], 2014. p. 452–459.

BADER-EL-DEN, M.; POLI, R. Generating sat local-search heuristics using a gp hyper-heuristicframework. In: SPRINGER. Artificial evolution. [S.l.], 2007. p. 37–49.

BADER-EL-DEN, M.; POLI, R.; FATIMA, S. Evolving timetabling heuristics using agrammar-based genetic programming hyper-heuristic framework. Memetic Computing, Springer,v. 1, n. 3, p. 205–219, 2009.

BARREIROS, E. F. S. PSS: Um simulador para otimização por enxames de partículas. Tese(Doutorado) — Universidade de Pernambuco, 2008.

BOJARCZUK, C. C.; LOPES, H. S.; FREITAS, A. A. Discovering comprehensible classificationrules by using genetic programming: a case study in a medical domain. In: CITESEER. GECCO.[S.l.], 1999. p. 953–958.

BOJARCZUK, C. C.; LOPES, H. S.; FREITAS, A. A. Genetic programming for knowledgediscovery in chest-pain diagnosis. Engineering in Medicine and Biology Magazine, IEEE, IEEE,v. 19, n. 4, p. 38–44, 2000.

BORENSTEIN, Y.; POLI, R. Information landscapes. In: ACM. Proceedings of the 7th annualconference on Genetic and evolutionary computation. [S.l.], 2005. p. 1515–1522.

BOT, M. C.; LANGDON, W. B. Application of genetic programming to induction of linearclassification trees. In: Genetic Programming. [S.l.]: Springer, 2000. p. 247–258.

BRAZDIL, P.; CARRIER, C. G.; SOARES, C.; VILALTA, R. Metalearning: applications todata mining. [S.l.]: Springer Science & Business Media, 2008.

BRAZDIL, P.; HENERY, R. Analysis of results. Machine learning, neural and statisticalclassification, Ellis Horwood, New York, p. 175–212, 1994.

BRAZDIL, P. B.; SOARES, C.; COSTA, J. P. D. Ranking learning algorithms: Using ibl andmeta-learning on accuracy and time results. Machine Learning, Springer, v. 50, n. 3, p. 251–277,2003.

BRITS, R.; ENGELBRECHT, A. P.; BERGH, F. Van den. A niching particle swarm optimizer.In: SINGAPORE: ORCHID COUNTRY CLUB. Proceedings of the 4th Asia-Pacific conferenceon simulated evolution and learning. [S.l.], 2002. v. 2, p. 692–696.

BURKE, E.; KENDALL, G.; NEWALL, J.; HART, E.; ROSS, P.; SCHULENBURG, S.Hyper-heuristics: An emerging direction in modern search technology. International series inoperations research and management science, Springer, p. 457–474, 2003.

Page 97: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 96

BURKE, E. K.; GENDREAU, M.; HYDE, M.; KENDALL, G.; OCHOA, G.; ÖZCAN, E.;QU, R. Hyper-heuristics: A survey of the state of the art. Journal of the Operational ResearchSociety, Palgrave Macmillan, v. 64, n. 12, p. 1695–1724, 2013.

BURKE, E. K.; HYDE, M.; KENDALL, G.; WOODWARD, J. A genetic programminghyper-heuristic approach for evolving 2-d strip packing heuristics. Evolutionary Computation,IEEE Transactions on, IEEE, v. 14, n. 6, p. 942–958, 2010.

BURKE, E. K.; HYDE, M. R.; KENDALL, G. Grammatical evolution of local search heuristics.Evolutionary Computation, IEEE Transactions on, IEEE, v. 16, n. 3, p. 406–417, 2012.

BURKE, E. K.; HYDE, M. R.; KENDALL, G.; OCHOA, G.; OZCAN, E.; WOODWARD,J. R. Exploring hyper-heuristic methodologies with genetic programming. In: Computationalintelligence. [S.l.]: Springer, 2009. p. 177–201.

CARVALHO, D. Ferreira de; BASTOS-FILHO, C. J. A. Clan particle swarm optimization.International Journal of Intelligent Computing and Cybernetics, Emerald Group PublishingLimited, v. 2, n. 2, p. 197–227, 2009.

CHATTERJEE, A.; SIARRY, P. Nonlinear inertia weight variation for dynamic adaptationin particle swarm optimization. Computers & Operations Research, Elsevier, v. 33, n. 3, p.859–871, 2006.

CLERC, M.; KENNEDY, J. The particle swarm-explosion, stability, and convergence in amultidimensional complex space. Evolutionary Computation, IEEE Transactions on, IEEE, v. 6,n. 1, p. 58–73, 2002.

EBERHART, R. C.; KENNEDY, J. A new optimizer using particle swarm theory. In: NEWYORK, NY. Proceedings of the sixth international symposium on micro machine and humanscience. [S.l.], 1995. v. 1, p. 39–43.

EBERHART, R. C.; SHI, Y. Comparing inertia weights and constriction factors in particleswarm optimization. In: IEEE. Evolutionary Computation, 2000. Proceedings of the 2000Congress on. [S.l.], 2000. v. 1, p. 84–88.

EIBEN, A. E.; HINTERDING, R.; MICHALEWICZ, Z. Parameter control in evolutionaryalgorithms. Evolutionary Computation, IEEE Transactions on, IEEE, v. 3, n. 2, p. 124–141,1999.

EL-SHERBINY, M. M. Particle swarm inspired optimization algorithm without velocityequation. Egyptian Informatics Journal, Elsevier, v. 12, n. 1, p. 1–8, 2011.

ELSHAMY, W.; EMARA, H. M.; BAHGAT, A. Clubs-based particle swarm optimization. In:IEEE. Swarm Intelligence Symposium, 2007. SIS 2007. IEEE. [S.l.], 2007. p. 289–296.

ENGELBRECHT, A. P. Computational intelligence: an introduction. [S.l.]: John Wiley & Sons,2007.

FALCO, I. D.; TARANTINO, E.; CIOPPA, A. D.; FONTANELLA, F. A novel grammar-basedgenetic programming approach to clustering. In: ACM. Proceedings of the 2005 ACMsymposium on Applied computing. [S.l.], 2005. p. 928–932.

Page 98: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 97

FOLINO, G.; PIZZUTI, C.; SPEZZANO, G. Genetic programming and simulated annealing: Ahybrid method to evolve decision trees. In: Genetic Programming. [S.l.]: Springer, 2000. p.294–303.

FREITAS, A. A.; PAPPA, G. L. Genetic Programming for Automatically Constructing DataMining Algorithms. 2009.

FUKUNAGA, A. S. Automated discovery of local search heuristics for satisfiability testing.Evolutionary Computation, MIT Press, v. 16, n. 1, p. 31–61, 2008.

GARDEN, R. W.; ENGELBRECHT, A. P. Analysis and classification of optimisationbenchmark functions and benchmark suites. In: IEEE. Evolutionary Computation (CEC), 2014IEEE Congress on. [S.l.], 2014. p. 1641–1649.

GENDREAU, M.; POTVIN, J.-Y. Handbook of metaheuristics. [S.l.]: Springer, 2010. v. 2.

GRUAU, F. On using syntactic constraints with genetic programming. In: MIT PRESS.Advances in genetic programming. [S.l.], 1996. p. 377–394.

HANSEN, N.; FINCK, S.; ROS, R.; AUGER, A. Real-parameter black-box optimizationbenchmarking 2009: Noiseless functions definitions. 2009.

HANSEN, N.; ROS, R.; MAUNY, N.; SCHOENAUER, M.; AUGER, A. Pso facingnon-separable and ill-conditioned problems. 2008.

HARDING, S.; BANZHAF, W. Fast genetic programming on gpus. In: Genetic Programming.[S.l.]: Springer, 2007. p. 90–101.

HARPER, R.; BLAIR, A. A structure preserving crossover in grammatical evolution. In: IEEE.Evolutionary Computation, 2005. The 2005 IEEE Congress on. [S.l.], 2005. v. 3, p. 2537–2544.

HENDTLASS, T. A combined swarm differential evolution algorithm for optimization problems.In: Engineering of intelligent systems. [S.l.]: Springer, 2001. p. 11–18.

HIGASHI, N.; IBA, H. Particle swarm optimization with gaussian mutation. In: IEEE. SwarmIntelligence Symposium, 2003. SIS’03. Proceedings of the 2003 IEEE. [S.l.], 2003. p. 72–79.

HOOS, H. H.; STÜTZLE, T. Stochastic local search: Foundations & applications. [S.l.]:Elsevier, 2004.

HUSSAIN, T. S.; BROWSE, R. A. Network generating attribute grammar encoding. In: IEEE.Neural Networks Proceedings, 1998. IEEE World Congress on Computational Intelligence. The1998 IEEE International Joint Conference on. [S.l.], 1998. v. 1, p. 431–436.

JABEEN, H.; JALIL, Z.; BAIG, A. R. Opposition based initialization in particle swarmoptimization (o-pso). In: ACM. Proceedings of the 11th Annual Conference Companion onGenetic and Evolutionary Computation Conference: Late Breaking Papers. [S.l.], 2009. p.2047–2052.

JAMIL, M.; YANG, X.-S. A literature survey of benchmark functions for global optimisationproblems. International Journal of Mathematical Modelling and Numerical Optimisation,Inderscience Publishers Ltd, v. 4, n. 2, p. 150–194, 2013.

Page 99: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 98

JANSON, S.; MIDDENDORF, M. A hierarchical particle swarm optimizer and its adaptivevariant. Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, IEEE, v. 35,n. 6, p. 1272–1282, 2005.

JIAO, B.; LIAN, Z.; GU, X. A dynamic inertia weight particle swarm optimization algorithm.Chaos, Solitons & Fractals, Elsevier, v. 37, n. 3, p. 698–705, 2008.

KANDA, J.; CARVALHO, A.; HRUSCHKA, E.; SOARES, C. Selection of algorithms to solvetraveling salesman problems using meta-learning. International Journal of Hybrid IntelligentSystems, IOS Press, v. 8, n. 3, p. 117–128, 2011.

KANDA, J. Y.; CARVALHO, A. C. D.; HRUSCHKA, E. R.; SOARES, C. Using meta-learningto recommend meta-heuristics for the traveling salesman problem. In: IEEE. Machine Learningand Applications and Workshops (ICMLA), 2011 10th International Conference on. [S.l.], 2011.v. 1, p. 346–351.

KANG, Q.; WANG, L. et al. Research on fuzzy adaptive optimization strategy of particle swarmalgorithm. Citeseer, 2006.

KELLER, R. E.; BANZHAF, W. Genetic programming using genotype-phenotype mappingfrom linear genomes into linear phenotypes. In: MIT PRESS. Proceedings of the 1st annualconference on genetic programming. [S.l.], 1996. p. 116–122.

KELLER, R. E.; POLI, R. Cost-benefit investigation of a genetic-programming hyperheuristic.In: SPRINGER. Artificial Evolution. [S.l.], 2007. p. 13–24.

KELLER, R. E.; POLI, R. Linear genetic programming of parsimonious metaheuristics.In: IEEE. Evolutionary Computation, 2007. CEC 2007. IEEE Congress on. [S.l.], 2007. p.4508–4515.

KENNDY, J.; EBERHART, R. Particle swarm optimization. In: Proceedings of IEEEInternational Conference on Neural Networks. [S.l.: s.n.], 1995. v. 4, p. 1942–1948.

KENNEDY, J.; MENDES, R. Population structure and particle swarm performance. IEEEcomputer Society, 2002.

KUBA, P.; BRAZDIL, P.; SOARES, C.; WOZNICA, A. et al. Exploiting sampling andmeta-learning for parameter setting for support vector machines. University of Sevilla, 2002.

KUMAR, S.; CHATURVEDI, D. Tuning of particle swarm optimization parameter using fuzzylogic. In: IEEE. Communication systems and network technologies (CSNT), 2011 internationalconference on. [S.l.], 2011. p. 174–179.

LEE, C.-Y.; YAO, X. Evolutionary algorithms with adaptive lévy mutations. In: IEEE.Evolutionary Computation, 2001. Proceedings of the 2001 Congress on. [S.l.], 2001. v. 1, p.568–575.

LI, C.; YANG, S.; KOREJO, I. An adaptive mutation operator for particle swarm optimization.MIC 2008, 2008.

LI, X. Adaptively choosing neighbourhood bests using species in a particle swarmoptimizer for multimodal function optimization. In: SPRINGER. Genetic and EvolutionaryComputation–GECCO 2004. [S.l.], 2004. p. 105–116.

Page 100: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 99

LIU, J.-L. Evolving particle swarm optimization implemented by a genetic algorithm. Journal ofAdvanced Computational Intelligence and Intelligent Informatics, v. 12, n. 3, p. 284–289, 2008.

LUNACEK, M.; WHITLEY, D. The dispersion metric and the cma evolution strategy. In: ACM.Proceedings of the 8th annual conference on Genetic and evolutionary computation. [S.l.], 2006.p. 477–484.

MALAN, K. M. Characterising continuous optimisation problems for particle swarmoptimisation performance prediction. Tese (Doutorado) — University of Pretoria, 2014.

MALAN, K. M.; ENGELBRECHT, A. P. A survey of techniques for characterising fitnesslandscapes and some possible ways forward. Information Sciences, Elsevier, v. 241, p. 148–163,2013.

MALAN, K. M.; ENGELBRECHT, A. P. A progressive random walk algorithm for samplingcontinuous fitness landscapes. In: IEEE. Evolutionary Computation (CEC), 2014 IEEE Congresson. [S.l.], 2014. p. 2507–2514.

MASCIA, F.; LÓPEZ-IBÁÑEZ, M.; DUBOIS-LACOSTE, J.; STÜTZLE, T. Grammar-basedgeneration of stochastic local search heuristics through automatic algorithm configuration tools.Computers & operations research, Elsevier, v. 51, p. 190–199, 2014.

MCCONAGHY, T.; GIELEN, G. Canonical form functions as a simple means for geneticprogramming to evolve human-interpretable functions. In: ACM. Proceedings of the 8th annualconference on Genetic and evolutionary computation. [S.l.], 2006. p. 855–862.

MCKAY, R. I.; HOAI, N. X.; WHIGHAM, P. A.; SHAN, Y.; O’NEILL, M. Grammar-basedgenetic programming: a survey. Genetic Programming and Evolvable Machines, Springer, v. 11,n. 3-4, p. 365–396, 2010.

MENDES, R.; KENNEDY, J.; NEVES, J. Watch thy neighbor or how the swarm can learn fromits environment. In: Swarm Intelligence Symposium, 2003. SIS\’03. Proceedings of the 2003IEEE. [S.l.: s.n.], 2003. p. 88–94.

MILLONAS, M. M. Swarms, phase transitions, and collective intelligence. [S.l.], 1992.

MIRANDA, P. B.; PRUDÊNCIO, R. B. Gefpso: A framework for pso optimization basedon grammatical evolution. In: ACM. Proceedings of the 2015 on Genetic and EvolutionaryComputation Conference. [S.l.], 2015. p. 1087–1094.

MIRANDA, P. B.; PRUDÊNCIO, R. B.; CARVALHO, A. P. D.; SOARES, C. A hybridmeta-learning architecture for multi-objective optimization of svm parameters. Neurocomputing,Elsevier, v. 143, p. 27–43, 2014.

O’NEILL, M.; BRABAZON, A. Grammatical differential evolution. In: IC-AI. [S.l.: s.n.], 2006.p. 231–236.

O’NEILL, M.; BRABAZON, A. Grammatical swarm: The generation of programs by socialprogramming. Natural Computing, Springer, v. 5, n. 4, p. 443–462, 2006.

O’NEILL, M.; BRABAZON, A.; RYAN, C.; COLLINS, J. Evolving market index trading rulesusing grammatical evolution. In: Applications of evolutionary computing. [S.l.]: Springer, 2001.p. 343–352.

Page 101: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 100

O’NEILL, M.; RYAN, C. Grammatical evolution. IEEE Transactions on EvolutionaryComputation, v. 5, n. 4, p. 349–358, 2001.

PANIGRAHI, B.; PANDI, V. R.; DAS, S. Adaptive particle swarm optimization approach forstatic and dynamic economic load dispatch. Energy conversion and management, Elsevier, v. 49,n. 6, p. 1407–1415, 2008.

PANT, M.; THANGARAJ, R.; SINGH, V. P.; ABRAHAM, A. Particle swarm optimizationusing sobol mutation. In: IEEE. Emerging Trends in Engineering and Technology, 2008.ICETET’08. First International Conference on. [S.l.], 2008. p. 367–372.

PAPPA, G. L.; FREITAS, A. A. Automating the design of data mining algorithms: anevolutionary computation approach. [S.l.]: Springer Science & Business Media, 2009.

PAPPA, G. L.; OCHOA, G.; HYDE, M. R.; FREITAS, A. A.; WOODWARD, J.; SWAN, J.Contrasting meta-learning and hyper-heuristic research: the role of evolutionary algorithms.Genetic Programming and Evolvable Machines, Springer, v. 15, n. 1, p. 3–35, 2014.

PARSOPOULOS, K.; VRAHATIS, M. Initializing the particle swarm optimizer using thenonlinear simplex method. Advances in intelligent systems, fuzzy systems, evolutionarycomputation, Citeseer, v. 216, p. 1–6, 2002.

PARSOPOULOS, K. E. Particle Swarm Optimization and Intelligence: Advances andApplications: Advances and Applications. [S.l.]: IGI Global, 2010.

PARSOPOULOS, K. E.; VRAHATIS, M. N. Recent approaches to global optimization problemsthrough particle swarm optimization. Natural computing, Springer, v. 1, n. 2-3, p. 235–306,2002.

PASSARO, A.; STARITA, A. Particle swarm optimization for multimodal functions: a clusteringapproach. Journal of Artificial Evolution and Applications, Hindawi Publishing Corp., v. 2008,p. 8, 2008.

POLI, R.; CHIO, C. D.; LANGDON, W. B. Exploring extended particle swarms: a geneticprogramming approach. In: ACM. Proceedings of the 7th annual conference on Genetic andevolutionary computation. [S.l.], 2005. p. 169–176.

POLI, R.; LANGDON, W. B.; HOLLAND, O. Extending particle swarm optimisation viagenetic programming. [S.l.]: Springer, 2005.

POLI, R.; WOODWARD, J.; BURKE, E. K. A histogram-matching approach to the evolution ofbin-packing strategies. In: IEEE. Evolutionary Computation, 2007. CEC 2007. IEEE Congresson. [S.l.], 2007. p. 3500–3507.

RASHID, M. Combining PSO Algorithm and Honey Bee Food Foraging Behavior for SolvingMultimodal and Dynamic Optimization Problems. Tese (Doutorado) — National University ofComputer & Emerging Sciences, 2010.

RATNAWEERA, A.; HALGAMUGE, S. K.; WATSON, H. C. Self-organizing hierarchicalparticle swarm optimizer with time-varying acceleration coefficients. Evolutionary Computation,IEEE Transactions on, IEEE, v. 8, n. 3, p. 240–255, 2004.

RENDELL, L.; CHO, H. Empirical learning as a function of concept character. MachineLearning, Springer, v. 5, n. 3, p. 267–298, 1990.

Page 102: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 101

RICE, J. R. The algorithm selection problem. 1975.

ROBILLIARD, D.; MARION, V.; FONLUPT, C. High performance genetic programming ongpu. In: ACM. Proceedings of the 2009 workshop on Bio-inspired algorithms for distributedsystems. [S.l.], 2009. p. 85–94.

SABAR, N. R.; AYOB, M.; KENDALL, G.; QU, R. Grammatical evolution hyper-heuristic forcombinatorial optimization problems. Evolutionary Computation, IEEE Transactions on, IEEE,v. 17, n. 6, p. 840–861, 2013.

SHI, Y.; EBERHART, R. A modified particle swarm optimizer. In: IEEE. EvolutionaryComputation Proceedings, 1998. IEEE World Congress on Computational Intelligence., The1998 IEEE International Conference on. [S.l.], 1998. p. 69–73.

SHI, Y.; EBERHART, R. C. Parameter selection in particle swarm optimization. In: SPRINGER.Evolutionary programming VII. [S.l.], 1998. p. 591–600.

SHI, Y.; EBERHART, R. C. Fuzzy adaptive particle swarm optimization. In: IEEE. EvolutionaryComputation, 2001. Proceedings of the 2001 Congress on. [S.l.], 2001. v. 1, p. 101–106.

SI, T. Grammatical differential evolution adaptable particle swarm optimization algorithm.International Journal of Electronics Communication and Computer Engineering, v. 3, n. 6, p.1319–1324, 2012.

SI, T. Grammatical differential evolution adaptable particle swarm optimizer for artificial neuralnetwork training. IJECCE, v. 4, n. 1, p. 239–243, 2013.

SI, T.; DE, A.; BHATTACHARJEE, A. K. Grammatical swarm based-adaptable velocity updateequations in particle swarm optimizer. In: SPRINGER. Proceedings of the InternationalConference on Frontiers of Intelligent Computing: Theory and Applications (FICTA) 2013.[S.l.], 2014. p. 197–206.

SMART, W.; ZHANG, M. Using genetic programming for multiclass classification bysimultaneously solving component binary classification problems. In: Genetic Programming.[S.l.]: Springer, 2005. p. 227–239.

SMITH-MILES, K. Towards insightful algorithm selection for optimisation using meta-learningconcepts. In: IEEE. WCCI 2008: IEEE World Congress on Computational Intelligence. [S.l.],2008. p. 4118–4124.

SMITH-MILES, K.; HEMERT, J. I. van; LIM, X. Y. Understanding tsp difficulty by learningfrom evolved instances. LION, Springer, v. 4, p. 266–280, 2010.

SMITH-MILES, K. A. Cross-disciplinary perspectives on meta-learning for algorithm selection.ACM Computing Surveys (CSUR), ACM, v. 41, n. 1, p. 6, 2009.

SÖRENSEN, K. Metaheuristics—the metaphor exposed. International Transactions inOperational Research, Wiley Online Library, v. 22, n. 1, p. 3–18, 2015.

SOTELO-FIGUEROA, M. A.; SOBERANES, H. J. P.; CARPIO, J. M.; HUACUJA, H. J. F.;REYES, L. C.; SORIA-ALCARAZ, J. A. Evolving and reusing bin packing heuristic throughgrammatical differential evolution. In: IEEE. Nature and Biologically Inspired Computing(NaBIC), 2013 World Congress on. [S.l.], 2013. p. 92–98.

Page 103: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 102

STACEY, A.; JANCIC, M.; GRUNDY, I. Particle swarm optimization with mutation. In:IEEE. Evolutionary Computation, 2003. CEC’03. The 2003 Congress on. [S.l.], 2003. v. 2, p.1425–1430.

SUGANTHAN, P. N.; HANSEN, N.; LIANG, J. J.; DEB, K.; CHEN, Y.-P.; AUGER, A.;TIWARI, S. Problem definitions and evaluation criteria for the cec 2005 special session onreal-parameter optimization. KanGAL report, Nanyang Technological University, Singapore; IITKanpur Kanpur, India, v. 2005005, p. 2005, 2005.

SURJANOVIC, S.; BINGHAM, D. Virtual library of simulation experiments: test functions anddatasets. Simon Fraser University, in: http://www. sfu. ca/˜ ssurjano/optimization. html, 2013.

SUTTON, A. M.; WHITLEY, D.; LUNACEK, M.; HOWE, A. Pso and multi-funnel landscapes:how cooperation might limit exploration. In: ACM. Proceedings of the 8th annual conference onGenetic and evolutionary computation. [S.l.], 2006. p. 75–82.

TALBI, E.-G. Metaheuristics: from design to implementation. [S.l.]: John Wiley & Sons, 2009.v. 74.

TAN, Y.; LI, J.; ZHENG, Z. Icsi 2014 competition on single objective optimization(icsi-2014-bs). arXiv preprint arXiv:1501.02128, 2015.

TANG, Y.; WANG, Z.; FANG, J.-a. Feedback learning particle swarm optimization. Applied SoftComputing, Elsevier, v. 11, n. 8, p. 4713–4725, 2011.

TAY, J. C.; HO, N. B. Evolving dispatching rules using genetic programming for solvingmulti-objective flexible job-shop problems. Computers & Industrial Engineering, Elsevier, v. 54,n. 3, p. 453–473, 2008.

TSAKONAS, A.; DOUNIAS, G.; JANTZEN, J.; AXER, H.; BJERREGAARD, B.;KEYSERLINGK, D. G. von. Evolving rule-based systems in two medical domains using geneticprogramming. Artificial Intelligence in Medicine, Elsevier, v. 32, n. 3, p. 195–216, 2004.

VASSILEV, V. K.; FOGARTY, T. C.; MILLER, J. F. Smoothness, ruggedness and neutrality offitness landscapes: from theory to application. In: Advances in evolutionary computing. [S.l.]:Springer, 2003. p. 3–44.

VELLA, A. et al. Hyper-heuristic decision tree induction. Tese (Doutorado) — Heriot-WattUniversity, 2012.

WANG, Y.; LI, B.; WEISE, T.; WANG, J.; YUAN, B.; TIAN, Q. Self-adaptive learning basedparticle swarm optimization. Information Sciences, Elsevier, v. 181, n. 20, p. 4515–4538, 2011.

WANG, Y.-X.; XIANG, Q.-L. Particle swarms with dynamic ring topology. In: IEEE.Evolutionary Computation, 2008. CEC 2008.(IEEE World Congress on ComputationalIntelligence). IEEE Congress on. [S.l.], 2008. p. 419–423.

WHIGHAM, P. A. Inductive bias and genetic programming. In: IET. Genetic Algorithms inEngineering Systems: Innovations and Applications, 1995. GALESIA. First InternationalConference on (Conf. Publ. No. 414). [S.l.], 1995. p. 461–466.

WHIGHAM, P. A.; DICK, G.; MACLAURIN, J.; OWEN, C. A. Examining the best ofboth worlds of grammatical evolution. In: ACM. Proceedings of the 2015 on Genetic andEvolutionary Computation Conference. [S.l.], 2015. p. 1111–1118.

Page 104: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 103

WOLPERT, D. H.; MACREADY, W. G. No free lunch theorems for optimization. EvolutionaryComputation, IEEE Transactions on, IEEE, v. 1, n. 1, p. 67–82, 1997.

WONG, M. L. An adaptive knowledge-acquisition system using generic genetic programming.Expert Systems with Applications, Elsevier, v. 15, n. 1, p. 47–58, 1998.

WONG, M. L.; LEUNG, K. S. Evolutionary program induction directed by logic grammars.Evolutionary Computation, MIT Press, v. 5, n. 2, p. 143–180, 1997.

WOODWARD, J. R.; SWAN, J. Template method hyper-heuristics. In: ACM. Proceedings of the2014 conference companion on Genetic and evolutionary computation companion. [S.l.], 2014.p. 1437–1438.

XIAO, X.; ZHANG, Q. The multiple population co-evolution pso algorithm. In: SPRINGER.International Conference in Swarm Intelligence. [S.l.], 2014. p. 434–441.

XIN, J.; CHEN, G.; HAI, Y. A particle swarm optimizer with multi-stage linearly-decreasinginertia weight. In: IEEE. Computational Sciences and Optimization, 2009. CSO 2009.International Joint Conference on. [S.l.], 2009. v. 1, p. 505–508.

XINCHAO, Z. A perturbed particle swarm algorithm for numerical optimization. Applied SoftComputing, Elsevier, v. 10, n. 1, p. 119–124, 2010.

XU, G. An adaptive parameter tuning of particle swarm optimization algorithm. AppliedMathematics and Computation, Elsevier, v. 219, n. 9, p. 4560–4569, 2013.

XU, L.; HUTTER, F.; HOOS, H. H.; LEYTON-BROWN, K. Satzilla: portfolio-based algorithmselection for sat. Journal of Artificial Intelligence Research, p. 565–606, 2008.

YANG, H. Particle swarm optimization with modified velocity strategy. Energy Procedia, n. 11,p. 1074–1079, 2011.

YANG, X.; YUAN, J.; YUAN, J.; MAO, H. A modified particle swarm optimizer with dynamicadaptation. Applied Mathematics and Computation, Elsevier, v. 189, n. 2, p. 1205–1213, 2007.

YAO, X. Evolving artificial neural networks. Proceedings of the IEEE, IEEE, v. 87, n. 9, p.1423–1447, 1999.

YAO, X.; LIU, Y. Fast evolutionary programming. In: CITESEER. Evolutionary Programming.[S.l.], 1996. p. 451–460.

ZHANG, B.; ZHANG, M.; ZHENG, Y.-J. Improving enhanced fireworks algorithm withnew gaussian explosion and population selection strategies. In: SPRINGER. InternationalConference in Swarm Intelligence. [S.l.], 2014. p. 53–63.

ZHANG, Q.; LI, C.; LIU, Y.; KANG, L. Fast multi-swarm optimization with cauchy mutationand crossover operation. In: Advances in Computation and Intelligence. [S.l.]: Springer, 2007. p.344–352.

ZHANG, W.-J.; XIE, X.-F. et al. Depso: hybrid particle swarm with differential evolutionoperator. In: IEEE International Conference on Systems Man and Cybernetics. [S.l.: s.n.], 2003.v. 4, p. 3816–3821.

ZHENG, S.; JANECEK, A.; TAN, Y. Enhanced fireworks algorithm. In: 2013 IEEE Congress onEvolutionary Computation. [S.l.: s.n.], 2013. p. 2069–2077. ISSN 1089-778X.

Page 105: Uma Hiper-heurística Híbrida para a Otimização de Algoritmos · 0 1 8 82 $% %%5 Péricles Barbosa Cunha de Miranda Uma Hiper -heurística Híbrida para a Otimização de Algoritmos

Referências 104

ZHENG, S.; LIU, L.; YU, C.; LI, J.; TAN, Y. Fireworks algorithm and its variants for solvingicsi2014 competition problems. In: SPRINGER. International Conference in Swarm Intelligence.[S.l.], 2014. p. 442–451.

ZHENG, Y.-J.; WU, X.-B. Evaluating a hybrid de and bbo with self adaptation on icsi 2014benchmark problems. In: SPRINGER. International Conference in Swarm Intelligence. [S.l.],2014. p. 422–433.