Departmento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação
Doutorado em Ciência da Computação
MOSCA/D: Algoritmos Científicos
Multiobjetivo Baseados em Decomposição
Denis Felipe
Natal-RN Agosto de 2018
MOSCA/D: Algoritmos Científicos Multiobjetivo
baseados em Decomposição
Tese de Doutorado apresentada ao Programa de Pós-Graduação em Sistemas e Computa-ção do Departamento de Informática e Mate-mática Aplicada da Universidade Federal do Rio Grande do Norte como requisito parcial para a obtenção do grau de Doutor em Ciên-cia da Computação.
Linha de pesquisa:
Algoritmos Experimentais
Orientadora
Elizabeth Ferreira Gouvêa Goldbarg
Coorientadora
Myriam Regattieri Delgado
PPgSC – Programa de Pós-Graduação em Sistemas e Computação DIMAp – Departamento de Informática e Matemática Aplicada
CCET – Centro de Ciências Exatas e da Terra UFRN – Universidade Federal do Rio Grande do Norte
Natal-RN Agosto de 2018
Felipe, Denis.
MOSCA/D: Algoritmos Científicos Multiobjetivo Baseados em Decomposição / Denis Felipe. - 2018.
104f.: il.
Tese (doutorado) - Universidade Federal do Rio Grande do Norte, Centro de Ciências Exatas e da Terra, Programa de Pós-Graduação em Sistemas e Computação, Doutorado em Ciência da Computação. Natal, 2018.
Orientadora: Elizabeth Ferreira Gouvêa Goldbarg. Coorientadora: Myriam Regattieri Delgado.
1. Algoritmos - Tese. 2. Algoritmos científicos - Tese. 3. Decomposição - Tese. 4. Problema da Mochila Multidimensional Multiobjetivo - Tese. I. Goldbarg, Elizabeth Ferreira Gouvêa. II. Delgado, Myriam Regattieri. III. Título.
RN/UF/CCET CDU 004.021
Catalogação de Publicação na Fonte. UFRN - Biblioteca Setorial Prof. Ronaldo Xavier de Arruda - CCET
em Decomposição apresentada por Denis Felipe e aceita pelo Programa de Pós-Graduação em Sistemas e Computação do Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio Grande do Norte, sendo aprovado por todos os membros da banca examinadora abaixo especificada:
D.Sc. Elizabeth Ferreira Gouvêa Goldbarg
Presidente
DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte
D.Sc. Myriam Regattieri Delgado
Examinador
DAINF – Departamento Acadêmico de Informática UTFPR – Universidade Tecnológica Federal do Paraná
D.Sc. Marco Cesar Goldbarg
Examinador
DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte
D.Sc. Silvia Maria Diniz Monteiro Maia
Examinador
DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte
DCME – Departamento de Ciências Naturais, Matemática e Estatística
UFERSA – Universidade Federal do Semi-Árido
Este trabalho não seria possível sem a ajuda de muita gente. Agradeço minha família e amigos, além dos professores e colegas que acompanharam minha trajetória. Em es-pecial, agradeço Elizabeth, Marco e Myriam por terem acreditado em mim e terem me ajudado a crescer não apenas como aluno, mas como pessoa. Agradeço também a to-dos os pesquisadores que disponibilizaram os códigos ou resultato-dos para os experimentos computacionais.
lifetime mission: to explore strange new problems, to seek out new data and new optimizations, to boldly solve what no man has solved before!
baseados em Decomposição
Autor: Denis Felipe Orientadora: D.Sc. Elizabeth Ferreira Gouvêa Goldbarg Coorientadora: D.Sc. Myriam Regattieri Delgado
Resumo
Este trabalho apresenta uma versão multiobjetivo dos Algoritmos Científicos baseada em decomposição (MOSCA/D). Tal abordagem é uma nova meta-heurística inspirada pelos processos da pesquisa científica para resolver problemas de otimização multiobjetivo. O MOSCA/D usa o conceito de tema para direcionar o esforço computacional da busca para regiões promissoras do espaço objetivo, fixando diferentes variáveis de decisão em cada iteração. Um modelo probabilístico baseado na estatística TF-IDF auxilia a escolha de tais variáveis. Experimentos computacionais aplicaram o MOSCA/D a 16 instâncias do problema da mochila multidimensional multiobjetivo (MOMKP) com até 8 objetivos. Os resultados foram comparados ao NSGA-II, SPEA2, MOEA/D, MEMOTS, 2PPLS, MOFPA e HMOBEDA, cobrindo três algoritmos multiobjetivo clássicos, dois algoritmos do estado da arte do problema e dois algoritmo publicados mais recentemente para o problema, respectivamente. Testes estatísticos mostraram evidências de que o MOSCA/D pode competir com outras abordagens consolidadas da literatura e pode agora ser consi-derado o novo algoritmo do estado da arte para o MOMKP em instâncias com mais de dois objetivos, considerando os indicadores de qualidade hipervolume e epsilon.
Palavras-chave: Decomposição; problema da mochila multidimensional multiobjetivo; al-goritmos científicos.
based on Decomposition
Author: Denis Felipe Supervisor: D.Sc. Elizabeth Ferreira Gouvêa Goldbarg Co-supervisor: D.Sc. Myriam Regattieri Delgado
Abstract
This work presents a multi-objective version of the Scientific Algorithms based on decom-position (MOSCA/D). Such approach is a new metaheuristic inspired by the processes of scientific research to solve multi-objective optimization problems. MOSCA/D uses the concept of theme to direct the computational effort of the search to promising regions of the objective space, fixing different decision variables in each iteration. A probabilistic model based on the TF-IDF statistic assists the choice of such variables. Computational experiments applied MOSCA/D to 16 instances of the multi-objective multidimensional knapsack problem (MOMKP) with up to 8 objectives. The results were compared to NSGA-II, SPEA2, MOEA/D, MEMOTS, 2PPLS, MOFPA and HMOBEDA, covering th-ree classical multi-objective algorithms, two state of the art algorithms for the problem and two most recently published algorithms for the problem, respectively. Statistical tests showed evidence that MOSCA/D can compete with other consolidated approaches from literature and can now be considered the new state of the art algorithm for the MOMKP in instances with more than two objectives, considering the hypervolume and epsilon quality indicators.
Keywords: Decomposition; multi-objective multidimensional knapsack problem; scientific algorithms.
1 TF-IDF x Aleatório x Sem tema: Épsilon na instância com dois objetivos
e 750 itens . . . p. 50
2 TF-IDF x Aleatório x Sem tema: Hipervolume na instância com dois
objetivos e 750 itens . . . p. 51
3 MOSCA/D x 2PPLS x MEMOTS x MOFPA: Épsilon na instância com
dois objetivos e 250 itens . . . p. 52
4 MOSCA/D x 2PPLS x MEMOTS x MOFPA: Hipervolume na instância
com dois objetivos e 250 itens . . . p. 53
5 MOSCA/D x 2PPLS x MEMOTS x MOFPA: Épsilon na instância com
dois objetivos e 500 itens . . . p. 53
6 MOSCA/D x 2PPLS x MEMOTS x MOFPA: Hipervolume na instância
com dois objetivos e 500 itens . . . p. 54
7 MOSCA/D x 2PPLS x MEMOTS x MOFPA: Épsilon na instância com
dois objetivos e 750 itens . . . p. 55
8 MOSCA/D x 2PPLS x MEMOTS x MOFPA: Hipervolume na instância
com dois objetivos e 750 itens . . . p. 55
9 MOSCA/D x MEMOTS x MOFPA: Épsilon na instância com três
obje-tivos e 250 itens . . . p. 56
10 MOSCA/D x MEMOTS x MOFPA: Hipervolume na instância com três
objetivos e 250 itens . . . p. 57
11 MOSCA/D x MEMOTS x MOFPA: Épsilon na instância com três
obje-tivos e 500 itens . . . p. 57
12 MOSCA/D x MEMOTS x MOFPA: Hipervolume na instância com três
tivos e 750 itens . . . p. 58
14 MOSCA/D x MEMOTS x MOFPA: Hipervolume na instância com três
objetivos e 750 itens . . . p. 59
15 MOSCA/D x HMOBEDA: Épsilon na instância com dois objetivos e 100
itens . . . p. 59
16 MOSCA/D x HMOBEDA: Hipervolume na instância com dois objetivos
e 100 itens . . . p. 60
17 MOSCA/D x HMOBEDA: Épsilon na instância com dois objetivos e 250
itens . . . p. 60
18 MOSCA/D x HMOBEDA: Hipervolume na instância com dois objetivos
e 250 itens . . . p. 61
19 MOSCA/D x HMOBEDA: Épsilon na instância com três objetivos e 100
itens . . . p. 61
20 MOSCA/D x HMOBEDA: Hipervolume na instância com três objetivos
e 100 itens . . . p. 62
21 MOSCA/D x HMOBEDA: Épsilon na instância com três objetivos e 250
itens . . . p. 62
22 MOSCA/D x HMOBEDA: Hipervolume na instância com três objetivos
e 250 itens . . . p. 63
23 MOSCA/D x HMOBEDA: Épsilon na instância com quatro objetivos e
100 itens . . . p. 63
24 MOSCA/D x HMOBEDA: Hipervolume na instância com quatro
obje-tivos e 100 itens . . . p. 64
25 MOSCA/D x HMOBEDA: Épsilon na instância com quatro objetivos e
250 itens . . . p. 64
26 MOSCA/D x HMOBEDA: Hipervolume na instância com quatro
obje-tivos e 250 itens . . . p. 65
27 MOSCA/D x HMOBEDA: Épsilon na instância com cinco objetivos e
e 100 itens . . . p. 66
29 MOSCA/D x HMOBEDA: Épsilon na instância com cinco objetivos e
250 itens . . . p. 66
30 MOSCA/D x HMOBEDA: Hipervolume na instância com cinco objetivos
e 250 itens . . . p. 67
31 MOSCA/D x HMOBEDA: Épsilon na instância com oito objetivos e 100
itens . . . p. 67
32 MOSCA/D x HMOBEDA: Hipervolume na instância com oito objetivos
e 100 itens . . . p. 68
33 MOSCA/D x HMOBEDA: Épsilon na instância com oito objetivos e 250
itens . . . p. 68
34 MOSCA/D x HMOBEDA: Hipervolume na instância com oito objetivos
e 250 itens . . . p. 69
35 Soma Ponderada x Tchebycheff: Épsilon na instância com dois objetivos
e 250 itens . . . p. 84
36 Soma Ponderada x Tchebycheff: Hipervolume na instância com dois
ob-jetivos e 250 itens . . . p. 84
37 Soma Ponderada x Tchebycheff: Épsilon na instância com dois objetivos
e 500 itens . . . p. 85
38 Soma Ponderada x Tchebycheff: Hipervolume na instância com dois
ob-jetivos e 500 itens . . . p. 85
39 Soma Ponderada x Tchebycheff: Épsilon na instância com dois objetivos
e 750 itens . . . p. 86
40 Soma Ponderada x Tchebycheff: Hipervolume na instância com dois
ob-jetivos e 750 itens . . . p. 86
41 Soma Ponderada x Tchebycheff: Épsilon na instância com três objetivos
e 250 itens . . . p. 87
42 Soma Ponderada x Tchebycheff: Hipervolume na instância com três
e 500 itens . . . p. 88
44 Soma Ponderada x Tchebycheff: Hipervolume na instância com três
ob-jetivos e 500 itens . . . p. 88
45 Soma Ponderada x Tchebycheff: Épsilon na instância com três objetivos
e 750 itens . . . p. 89
46 Soma Ponderada x Tchebycheff: Hipervolume na instância com três
ob-jetivos e 750 itens . . . p. 89
47 TF-IDF x Aleatório x Sem tema: Épsilon na instância com dois objetivos
e 250 itens . . . p. 91
48 TF-IDF x Aleatório x Sem tema: Hipervolume na instância com dois
objetivos e 250 itens . . . p. 91
49 TF-IDF x Aleatório x Sem tema: Épsilon na instância com dois objetivos
e 500 itens . . . p. 92
50 TF-IDF x Aleatório x Sem tema: Hipervolume na instância com dois
objetivos e 500 itens . . . p. 92
51 TF-IDF x Aleatório x Sem tema: Épsilon na instância com dois objetivos
e 750 itens . . . p. 93
52 TF-IDF x Aleatório x Sem tema: Hipervolume na instância com dois
objetivos e 750 itens . . . p. 93
53 TF-IDF x Aleatório x Sem tema: Épsilon na instância com três objetivos
e 250 itens . . . p. 94
54 TF-IDF x Aleatório x Sem tema: Hipervolume na instância com três
objetivos e 250 itens . . . p. 94
55 TF-IDF x Aleatório x Sem tema: Épsilon na instância com três objetivos
e 500 itens . . . p. 95
56 TF-IDF x Aleatório x Sem tema: Hipervolume na instância com três
objetivos e 500 itens . . . p. 95
57 TF-IDF x Aleatório x Sem tema: Épsilon na instância com três objetivos
objetivos e 750 itens . . . p. 96
59 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Épsilon na instância com
dois objetivos e 250 itens . . . p. 98
60 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Hipervolume na instância
com dois objetivos e 250 itens . . . p. 98
61 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Épsilon na instância com
dois objetivos e 500 itens . . . p. 99
62 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Hipervolume na instância
com dois objetivos e 500 itens . . . p. 99
63 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Épsilon na instância com
dois objetivos e 750 itens . . . p. 100
64 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Hipervolume na instância
com dois objetivos e 750 itens . . . p. 100
65 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Épsilon na instância com
três objetivos e 250 itens . . . p. 101
66 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Hipervolume na instância
com três objetivos e 250 itens . . . p. 101
67 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Épsilon na instância com
três objetivos e 500 itens . . . p. 102
68 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Hipervolume na instância
com três objetivos e 500 itens . . . p. 102
69 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Épsilon na instância com
três objetivos e 750 itens . . . p. 103
70 MOSCA/D x NSGA-II x SPEA2 x MOEA/D: Hipervolume na instância
1 Tempo computacional . . . p. 48
(1+1)-PAES: Pareto Archived Evolution Strategy
2PPLS: Two-Phase Pareto Local Search
CENSGA: Controlled Elitism Non-dominated Sorting Genetic Algorithm
GPLS: Guided Pareto Local Search
GRASP: Gredy Randomized Adaptative Search Procedure
HMOBEDA: Hybrid Multi-Objective Bayesian Estimation of Distribution Algorithm
IMMOGLS: Ishibuchi and Murada’s Multi-Objective Genetic Local Search
M-PAES: Memetic Pareto Archived Evolution Strategy
MEMOTS: Multi-Objective Memetic Algorithm Integrating Tabu Search
MGRASP: Multi-Objective Gredy Randomized Adaptative Search Procedure
MILS: Multi-Objective Iterated Local Search
MOEA/D: Multiobjective Evolutionary Algorithm based on Decomposition
MOGLS: Multi-Objective Genetic Local Search
MOHEDA: Multi-Objective Hybrid Estimation of Distribution Algorithm
MOSA: Ulungu’s Multi-Objective Simulated Annealing
MOSCA/D: Multi-Objective Scientific Algorithms based on Decomposition
MOTGA: Multi-Objective Tchebycheff based Genetic Algorithm
NSGA: Non-dominated Sorting Genetic Algorithm
PMA: Pareto Memetic Algorithm
PMMMO: Problema da Mochila Multidimensional Multiobjetivo
PLS: Pareto Local Search
SMOSA: Serafini’s Multio-Objective Simulated Annealing
SPEA: Strength Pareto Evolutionary Algorithm
1 Algoritmo Científico . . . p. 27 2 MOEA/D . . . p. 32 3 MOSCA/D . . . p. 35 4 Levantar_hipotese . . . p. 44 5 Verificar_hipotese . . . p. 46 6 NSGA-II . . . p. 77 7 SPEA2 . . . p. 78 8 MEMOTS . . . p. 79 9 2PPLS . . . p. 80 10 MOFPA . . . p. 81 11 HMOBEDA . . . p. 82
1 Introdução p. 20 1.1 Motivação . . . p. 21 1.2 Objetivos . . . p. 21 1.3 Contribuições . . . p. 22 1.4 Metodologia . . . p. 23 1.5 Organização . . . p. 24 2 Fundamentação Teórica p. 25 2.1 Algoritmos Científicos . . . p. 25 2.2 Otimização Multiobjetivo . . . p. 29 2.3 Decomposição . . . p. 30
3 MOSCA/D: Algoritmos Científicos Multiobjetivo baseados em
De-composição p. 33
3.1 MOSCA/D . . . p. 33
3.2 TF-IDF . . . p. 35
4 Problema da Mochila Multidimensional Multiobjetivo p. 37
5 Aplicação do MOSCA/D ao PMMMO p. 41
5.1 Decomposição . . . p. 41
5.2 Pesquisadores . . . p. 42
5.3 Literatura . . . p. 42
5.6 Teses . . . p. 45
6 Experimentos Computacionais p. 47
6.1 Metodologia dos experimentos . . . p. 47
6.2 Resultados . . . p. 52
7 Considerações Finais p. 70
Referências p. 72
Apêndice A -- Outros Algoritmos p. 77
A.1 NSGA-II: Fast Elitist Non-Dominated Sorting Genetic Algorithm . . . p. 77
A.2 SPEA2: Improved Strength Pareto Evolutionary Algorithm . . . p. 78
A.3 MEMOTS: Multi-Objective Memetic Algorithm Integrating Tabu Search p. 79
A.4 2PPLS: Two-Phase Pareto Local Search . . . p. 80
A.5 MOFPA: Multi-Objective Firefly Algorithm with Particle Swarm
Opti-mization . . . p. 81
A.6 HMOBEDA: Hybrid Multi-Objective Bayesian Estimation of
Distribu-tion Algorithm . . . p. 82
Apêndice B -- Técnica de Decomposição no MOSCA/D: Soma
Ponde-rada x Tchebycheff p. 83
Apêndice C -- Geração de Tema no MOSCA/D: TF-IDF x Aleatório x
Sem tema p. 90
1
Introdução
Encontrar o conjunto de Pareto de um problema de otimização multiobjetivo é ge-ralmente uma tarefa difícil. Mesmo problemas que podem ser resolvidos por algoritmos polinomiais na versão mono-objetivo viram NP-difíceis quando múltiplos objetivos são considerados (EHRGOTT, 2005). Por consequência, não se espera que métodos exatos re-solvam grandes instâncias em tempo razoável. Por esse motivo, abordagens heurísticas são comumente empregadas para produzir aproximações do conjunto de Pareto.
Os algoritmos evolutivos têm recebido grande atenção do meio acadêmico por seu po-tencial em resolver problemas de otimização. Uma revisão de tais métodos foi apresentada por Zhou et al. (2011a). Uma categoria desses algoritmos, chamada Algoritmos Científicos, foi proposta e aplicada com sucesso para solucionar um problema de roteamento (FELIPE; GOLDBARG; GOLDBARG, 2014) (RIOS; GOLDBARG; GOLDBARG, 2017) (RIOS; GOLDBARG; QUESQUEN, 2017). Tais algoritmos são inspirados pela pesquisa científica e trazem o con-ceito de tema, um mecanismo que direciona o esforço computacional para uma simples fração da solução em cada momento. Esta tarefa é realizada por uma máscara de bits que define as variáveis de decisão que podem ser alteradas ou estarão fixas durante as iterações do algoritmo.
Uma das questões sobre os Algoritmos Científicos ainda não abordada na literatura envolve a forma como o tema é gerado. Em trabalhos anteriores, as aplicações dos Al-goritmos Científicos escolhem aleatoriamente as variáveis no tema (i.e., as variáveis de decisão que podem ser alteradas). Encontrar um mecanismo para gerar o tema de forma inteligente, identificando as regiões mais promissoras de cada solução, tem potencial para melhorar o desempenho geral da abordagem, impactando positivamente todas as aplica-ções dos Algoritmos Científicos.
Este trabalho expande os Algoritmos Científicos para o contexto multiobjetivo de-compondo o problema em subproblemas mais simples, com apenas um objetivo. Tal téc-nica, denominada decomposição, ganhou popularidade na otimização multiobjetivo com o
MOEA/D (ZHANG; LI, 2007), permitindo melhorar a diversidade distribuindo as soluções não-dominadas pelo espaço objetivo. Uma das vantagens da decomposição é que também trabalha com soluções dominadas durante o processamento, o que permite explorar re-giões da busca que poderiam ficar inexploradas pela ausência de soluções não-dominadas, causando perda de diversidade (ZHOU et al., 2011b). Sobre esta nova abordagem, é con-duzida uma investigação sobre o uso de um modelo probabilístico para gerar temas mais eficazes, baseado na frequência de termo - inverso da frequência de documento (TF-IDF) (RAJARAMAN; ULLMAN, 2011). O TF-IDF é a métrica de ponderação de termos mais uti-lizada em sistemas de recomendação baseado em texto, sendo bastante comum encontrar variações do TF-IDF em motores de busca (BREITINGER; GIPP; LANGER, 2015). A ideia deste trabalho é utilizar tal métrica para ponderar as variáveis de decisão do problema, identificando as variáveis mais relevantes para serem trabalhadas pelo algoritmo, i.e., as variáveis de decisão com maior perspectiva de melhoria caso alteradas na solução.
1.1
Motivação
O desenvolvimento de uma versão dos Algoritmos Científicos para problemas multi-objetivo consolida e expande a meta-heurística dos Algoritmos Científicos, além de de-monstrar sua robustez.
Adicionalmente, este trabalho busca aperfeiçoar o conceito de tema nos Algoritmos Científicos. A geração de temas eficazes nos Algoritmos Científicos, identificando por meio de um modelo probabilístico as regiões mais promissoras de cada solução, tem potencial para melhorar o desempenho geral da abordagem. Tal estudo é motivado pela importância do tema no contexto dos Algoritmos Científicos. Por ser o elemento central da abordagem, justifica-se um estudo sobre o direcionamento do esforço da busca de forma inteligente, em vez de aleatória.
1.2
Objetivos
Os objetivos principais deste trabalho são:
• Desenvolver uma versão multiobjetivo dos Algoritmos Científicos baseada em de-composição (MOSCA/D).
• Investigar o comportamento de um modelo probabilístico baseado no TF-IDF para auxiliar na geração de temas, melhorando a eficiência do MOSCA/D.
Como objetivos secundários, pretende-se:
• Testar o potencial da proposta algorítmica frente a algoritmos evolucionários clás-sicos e algoritmos no estado-da-arte.
• Aplicar a abordagem proposta a um problema multiobjetivo que permita comparar o desempenho do MOSCA/D aos outros algoritmos estudados. O problema escolhido foi o problema da mochila multidimensional multiobjetivo (PMMMO).
1.3
Contribuições
Este trabalho propõe uma nova abordagem para resolver problemas de otimização multiobjetivo. É apresentado um algoritmo evolucionário multiobjetivo segundo a meta-heurística Algoritmos Científicos. Assim como no algoritmo MOEA/D, esta abordagem utiliza decomposição, simplificando o problema que é resolvido como vários subproblemas de apenas um objetivo. O MOSCA/D se diferencia do MOEA/D por introduzir os concei-tos de literatura e tema, além de não se limitar a um contexto genético para operadores de geração e otimização de soluções.
Resultados iniciais desta pesquisa, no contexto mono-objetivo, foram publicados em um artigo apresentado no IEEE CEC 2014 Congress on Evolutionary Computation. A aplicação dos Algoritmos Científicos ao Problema do Caixeiro Alugador superou os re-sultados do estado da arte do problema, encontrando treze novos melhores rere-sultados conhecidos em vinte instâncias (FELIPE; GOLDBARG; GOLDBARG, 2014). Os Algoritmos Científicos também foram hibridizados com um método exato para o mesmo problema nos trabalhos de Rios, Goldbarg e Quesquén (2017) e Rios, Goldbarg e Goldbarg (2017).
Foi conduzida uma investigação de um modelo probabilístico para a escolha do tema, baseado no TF-IDF. Tal investigação apresentou evidências de que utilizar uma forma inteligente para fixar um conjunto de variáveis de decisão em cada iteração do MOSCA/D é mais eficiente do que explorar todas as variáveis das soluções ou fixar aleatoriamente as variáveis.
A aplicação do MOSCA/D ao PMMMO gerou melhores aproximações do conjunto de Pareto do que o MEMOTS (LUST; TEGHEM, 2008) nas instâncias com três objetivos, considerando os indicadores de qualidade usados. No contexto multiobjetivo, o MOSCA/D gerou melhores conjuntos de aproximação do que o HMOBEDA em intâncias até oito objetivos. Tais resultados são, atualmente, o estado da arte do problema.
1.4
Metodologia
O trabalho é contextualizado com uma revisão dos Algoritmos Científicos e do MOEA/D, representando os algoritmos que contribuem com elementos para o desenvolvimento do MOSCA/D. Os detalhes do MOSCA/D são explicados e as diferenças para outros algo-ritmos similares são observadas.
O modelo probabilístico baseado no TF-IDF é investigado por meio de uma compa-ração de três versões do MOSCA/D. A primeira versão possui o tema com variáveis de decisão escolhidas de forma aleatória. A segunda versão possui um tema que inclui todas as variáveis de decisão, efetivamente representando a ausência do conceito de tema do MOSCA/D, em que nenhuma variável de decisão é fixada nas soluções. Finalmente, a terceira versão realiza a escolha do tema utilizando o modelo probabilístico baseado no TF-IDF. Para verificar o potencial da abordagem proposta, um experimento computacio-nal aplica o MOSCA/D ao PMMMO, comparando os resultados com algoritmos clássicos e do estado da arte do problema. Os resultados são submetidos a testes estatísticos para validar a hipótese de que o MOSCA/D pode competir com algoritmos consolidados da literatura.
O problema da mochila multidimensional multiobjetivo, PMMMO, foi escolhido para realizar o estudo algorítmico. Além de ser um problema de referência clássico da literatura, o PMMMO é um problema com características diferentes do Problema do Caixeiro Alu-gador, trabalhado anteriormente pela versão mono-objetivo dos Algoritmos Científicos. Enquanto o Problema do Caixeiro Alugador é um problema de roteamento, a versão do PMMMO estudada neste trabalho se enquandra na categoria dos problemas de programa-ção 0-1, em que as variáveis de decisão só podem assumir valores binários. Os resultados do MOSCA/D são comparados com o Algoritmo Genético de Ordenação Não-dominada II (NSGA-II), o Algoritmo Evolutivo de Pareto de Força 2 (SPEA2), o Algoritmo Evolutivo Multiobjetivo baseado em Decomposição (MOEA/D), o Algoritmo Memético Integrando Busca Tabu (MEMOTS) (LUST; TEGHEM, 2008), a Busca Local de Pareto de Duas Fases (2PPLS) (LUST; TEGHEM, 2012), o Algoritmo de Vagalumes Multiobjetivo com Otimiza-ção por Nuvem de Partículas (MOFPA) (ZOUACHE; MOUSSAOUI; ABDELAZIZ, 2018) e o Algoritmo de Estimativa de Distribuição Bayesiana Híbrido Multiobjetivo (HMOBEDA) (MARTINS et al., 2017), cobrindo três algoritmos multiobjetivo clássicos, dois algoritmos do estado da arte para o problema e dois algoritmos publicados mais recentemente, res-pectivamente.
Os experimentos computacionais são realizados em 6 instâncias de referência do PMMMO, propostas no trabalho de Zitzler e Thiele (1999), em uma combinação de 2 e 3 objetivos com 250, 500 e 750 itens. O número de dimensões nessas instâncias é igual ao número de objetivos e os custos e pesos dos itens foram gerados aleatoriamente usando uma distribuição uniforme no intervalo [1, 100]. A capacidade de cada dimensão da mo-chila é metade da soma dos respectivos pesos de todos os itens. O 2PPLS não foi executado em instâncias com 3 objetivos por ter um tempo computacional impraticável, segundo os autores. A comparação com o HMOBEDA foi realizada em um conjunto diferente de ins-tâncias, para verificar a robustez do MOSCA/D no contexto de muitos objetivos. Tais instâncias possuem uma combinação de 2, 3, 4, 5 e 8 objetivos com 100 e 250 itens, com demais características similares às outras instâncias.
Os indicadores épsilon e hipervolume são usados para medir a qualidade das aproxi-mações do conjunto de Pareto encontradas pelos algoritmos, por apresentarem caracterís-ticas complementares entre si (ZITZLER et al., 2003). A análise estatística é feita por meio dos testes de Kruskal-Wallis e Wilcoxon utilizando a plataforma PISA (BLEULER et al., 2003), considerando os indicadores de 30 execuções independentes de cada algoritmo. Os resultados são apresentados na forma de boxplots.
1.5
Organização
Este trabalho está organizado em seis capítulos, além deste. O capítulo 2 introduz os fundamentos que inspiram a abordagem proposta. O capítulo 3 introduz os elementos do MOSCA/D e o TF-IDF. O capítulo 4 discute o PMMMO e a literatura relacionada. O capítulo 5 detalha a aplicação do MOSCA/D ao PMMMO. O capítulo 6 reporta os resul-tados dos experimentos computacionais. Finalmente, o capítulo 7 apresenta conclusões e observações a respeito dos resultados obtidos no trabalho.
2
Fundamentação Teórica
Este capítulo apresenta os conceitos fundamentais que inspiram a abordagem pro-posta. Inicialmente, é apresentada uma revisão dos Algoritmos Científicos, propostos por Felipe, Goldbarg e Goldbarg (2014). Em seguida, são apresentadas uma série de definições sobre otimização multiobjetivo, necessárias para contextualizar a versão multiobjetivo dos Algoritmos Científicos. Finalmente, a ideia de decomposição é detalhada, técnica que será utilizada para expandir os Algoritmos Científicos para o contexto multiobjetivo.
2.1
Algoritmos Científicos
A pesquisa científica é um dos principais processos para construção do conhecimento humano, responsável por criar novos conhecimentos e desenvolver o entendimento em diferentes áreas. O ato de pesquisar envolve buscar a verdade científica por meio de um procedimento formal, um método de pensamento reflexivo, permitindo a descoberta de novos fatos ou dados, relações ou leis em qualquer campo do conhecimento, conduzindo um processo científico. O método científico é um procedimento sistemático baseado em lógica, racionalidade, eficiência e eficácia, com o objetivo de auxiliar a tomada de decisão de pesquisadores na tarefa de produzir conhecimento científico (KOTHARI, 2004).
O processo da pesquisa científica possui algumas características interessantes que esti-mularam o desenvolvimento dos Algoritmos Científicos. Estas características apresentam uma analogia clara entre a metáfora da pesquisa científica e as técnicas heurísticas de melhoramento de solução, tornando natural estabelecer um paralelo entre a metáfora e o contexto computacional. As mais importantes destas características estão relacionadas a seguir.
• A pesquisa científica ocorre por meio de um procedimento sistemático. O método científico é uma sequência ordenada de passos, tornando espontânea sua colocação por meio de algoritmos.
• O conhecimento científico busca a verdade, mas é falível. A pesquisa cientí-fica não assegura a geração de conhecimentos definitivos, apenas desenvolve soluções melhores para os problemas em uma determinada situação, comportando-se de ma-neira heurística.
• A evolução do conhecimento é contínua. As teorias científicas são gradual-mente reformuladas para se ajustar a novos fatos e circunstâncias, criando novas situações que podem justificar o início de novos estudos, realimentando o ciclo da pesquisa científica.
Os aspectos da metáfora que fundamentam os Algoritmos Científicos estão listados a seguir.
• Um tema orienta os objetivos da pesquisa. A escolha de temas claros, específi-cos e precisos permite focar a atenção sobre os aspectos mais relevantes da pesquisa, evitando estudar o fenômeno por completo e explorar toda sua complexidade de uma vez.
• O trabalho científico pode se beneficiar de estudos anteriores. A utilização de dados publicados na literatura pode permitir aos pesquisadores iniciar o estudo de uma posição mais vantajosa, aproveitando o esforço realizado em outras pesquisas científicas.
O conjunto destas características peculiares deu origem à proposta de simular o pro-cesso da pesquisa científica em uma estrutura capaz de resolver problemas de Otimização, intitulada de Algoritmos Científicos.
Nos Algoritmos Científicos, o conhecimento dos indivíduos de uma comunidade cien-tífica é representado como uma população de soluções candidatas. Tais soluções são de-nominadas conhecimento dos pesquisadores (ou apenas pesquisadores, por simplicidade). O tópico da pesquisa corresponde a uma máscara de bits que seleciona um subconjunto das variáveis de decisão. Ele é usado para delimitar o escopo da busca, fixando o resto das variáveis de decisão da solução para reduzir o tempo computacional das iterações. Esta máscara de bits é chamada de tema da pesquisa (ou apenas tema, por simplicidade). A literatura é pensada como memória, ou informação significativa da busca armazenada em um repositório de informação. Esta informação, chamada literatura, é usada para en-viesar a busca, auxiliando o algoritmo para melhorar a intensificação ou diversificação.
Interações entre pesquisadores, tema e literatura resultam no procedimento de busca de um Algoritmo Científico.
O Algoritmo 1 apresenta a arquitetura genérica da versão mono-objetivo de um Al-goritmo Científico. As entradas do alAl-goritmo são a população inicial de pesquisadores e a literatura. A saída do algoritmo é a aproximação da solução ótima, representada pela solução mais adequada à função objetivo encontrada durante a execução do algoritmo. A etapa 3 gera um tema. O tema define um subconjunto das variáveis de decisão que será o foco da busca para a solução atual. Ele limita o escopo a uma área restrita do espaço de decisão, fixando todas as outras variáveis de decisão para reduzir o custo computacional das iterações. Uma das tarefas mais importantes nos algoritmos científicos é escolher um tema relevante para cada iteração, maximizando a probabilidade de encontrar melhorias nas demais etapas do algoritmo. A etapa 4 constrói uma nova solução (hipótese) reatri-buindo os valores das variáveis do tema na solução atual (pesquisador), enviesado pela informação na literatura. A etapa 5 realiza uma busca localizada na solução, limitada pelo tema, explorando as soluções próximas no espaço de decisão e retornando a melhor solução naquela região (tese). A proximidade entre duas soluções no espaço de decisão é definida pela quantidade de variáveis de decisão com valores iguais. A etapa 6 atualiza a melhor solução encontrada pelo algoritmo. Se a tese trouxer ganho ao conhecimento do pesquisador, atualiza o conhecimento do pesquisador para sua configuração. A etapa 7 atualiza a literatura, armazenando informação útil do estágio atual da busca. A etapa 10 retorna a melhor solução encontrada pelo algoritmo.
Algoritmo 1 Algoritmo Científico
Entrada: comunidade_cient´ıf ica // População de soluções Entrada: literatura // Repositório de informação
Saída: estado_da_arte // Aproximação da solução ótima 1: repita
2: para todo pesquisador em comunidade_cientif ica faça 3: tema ← Selecionar_tema(pesquisador, literatura)
4: hipotese ← Levantar_hipotese(pesquisador, tema, literatura) 5: tese ← V erif icar_hipotese(hipotese, tema, literatura)
6: Aprender(pesquisador, tese, estado_da_arte) 7: P ublicar(pesquisador, tese, literatura)
8: fim para
9: até que o critério de parada seja atingido 10: retorne estado_da_arte
O desenvolvimento de soluções em um algoritmo científico é contínuo, buscando me-lhorar o conjunto de soluções candidatas iterativamente. A iteração do algoritmo consiste
em selecionar conjuntos de variáveis do problema e otimizá-las nas soluções da população. Este procedimento pode ser realizado em paralelo. O processo de otimização é uma busca estocástica com viés. Este conjunto de características associam os algoritmos científicos à categoria dos algoritmos evolucionários (MICHALEWICZ; FOGEL, 2000).
A metáfora da pesquisa científica não é exclusiva dos algoritmos científicos. A meta-heurística conhecida como otimização por comunidade de cientistas simula o compor-tamento de cientistas competindo por fundos de pesquisa (MILANI; SANTUCCI, 2012). Entretanto, ela não é inspirada pelo método científico ou tem conceitos similares ao tema ou literatura. A otimização por comunidade de cientistas trata de distribuir o tempo de processamento necessário para otimizar soluções em um algoritmo genético. Os algorit-mos científicos e a otimização por comunidade de cientistas são, portanto, diferentes visões da mesma metáfora. Similarmente, os algoritmos meméticos e culturais também conside-ram os efeitos do conhecimento humano no contexto da evolução genética (RADCLIFFE; SURRY, 1994) (REYNOLDS, 1994). Os algoritmos meméticos tratam o conhecimento como uma função de melhoria aplicada ao final do cruzamento de um algoritmo genético. Assim, eles não possuem os elementos necessários para serem considerados algoritmos científicos. Os algoritmos culturais, por sua vez, representam o conhecimento como um banco de informação com vários tipos de dados diferentes (espaço de crenças), usados para auxiliar a evolução de um algoritmo evolucionário (espaço populacional). Eles diferem dos algorit-mos científicos principalmente pela ausência do conceito de tema. Apesar do tema poder ser simulado artificialmente, eles não fazem parte do procedimento dos algoritmos cultu-rais. Outras abordagens, como o algoritmo guloso iterado (RUIZ; STüTZLE, 2007) e a busca local iterada (LOURENçO, 2003), também usam a ideia de otimizar partes da solução. En-tretanto, além de não serem baseados em população de soluções, eles não possuem algum conceito similar à literatura para explorar o conhecimento prévio do espaço de busca.
A versão mono-objetivo dos Algoritmos Científicos foi aplicada ao Problema do Cai-xeiro Alugador e publicada em um artigo apresentado no IEEE CEC 2014 Congress on Evolutionary Computation, superando os resultados do estado da arte do problema e en-contrando treze novos melhores resultados conhecidos em vinte instâncias (FELIPE; GOLD-BARG; GOLDBARG, 2014). Posteriormente, os resultados neste problema foram melhorados com a aplicação de uma versão híbrida dos Algoritmos Científicos com um método exato, nos trabalhos de Rios, Goldbarg e Quesquén (2017) e Rios, Goldbarg e Goldbarg (2017).
2.2
Otimização Multiobjetivo
Um problema de otimização multiobjetivo sem restrições pode ser definido como nas expressões (2.1) e (2.2), onde Ω é o espaço de decisão. O espaço objetivo é definido em Rm tal que F : Ω → Rm. Esta formulação pode ser generalizada para problemas de minimização multiplicando os objetivos a serem minimizados por -1.
Maximizar F (x) = {f1(x), f2(x), ..., fm(x)} (2.1)
Sujeito a x ∈ Ω (2.2)
Neste tipo de problema, geralmente não existe solução em Ω que maximiza todos os objetivos simultaneamente. Em aplicações de otimização multiobjetivo da vida real, é comum os otimizadores entregarem um conjunto de soluções de compromisso com objeti-vos conflitantes, quando uma preferência não é previamente explicitada. Neste caso, um tomador de decisão é responsável por escolher a solução mais adequada entre aquelas pro-vidas pelo otimizador. Há também tomadores de decisão que interagem com o otimizador durante o processo de otimização.
Em otimização multiobjetivo, uma das maneiras de representar o conjunto ótimo de soluções é baseada na relação de dominância de Pareto. Um ponto F (x) no espaço objetivo domina fracamente outro ponto F (x0) se e somente se fi(x) ≥ fi(x0) para cada i =
{1, 2, ..., m}. Se a inequalidade for estrita pelo menos uma vez, F (x) domina fortemente F (x0). A relação de dominância forte é simbolizada por F (x) ≺ F (x0) e a relação de dominância fraca é simbolizada por F (x) F (x0).
Em um subconjunto Ω0 ⊆ Ω, uma solução x ∈ Ω0 é não-dominada se não existir outra
solução x0 ∈ Ω0
tal que F (x0) ≺ F (x). Uma solução é dita eficiente se ela for não-dominada em Ω. O conjunto de todas as soluções eficientes é denominado conjunto de Pareto e o conjunto de seus respectivos pontos no espaço objetivo é denominado fronteira de Pareto.
Encontrar todas as soluções eficientes do conjunto de Pareto é geralmente uma tarefa inviável, especialmente em problemas com muitos objetivos (EHRGOTT, 2005). Na prática, os otimizadores tentam entregar um conjunto com a maior quantidade e diversidade de soluções eficientes. Quando encontrar tais soluções é impraticável, os otimizadores tentam entregar uma boa aproximação dessas soluções. Tal conjunto de soluções é chamado de
aproximação do conjunto de Pareto, ou conjunto de aproximação, e o conjunto de seus respectivos pontos no espaço objetivo é denominado aproximação da fronteira de Pareto.
Há vários algoritmos diferentes usados para encontrar uma aproximação da fronteira de Pareto. É o caso dos algoritmos evolucionários, como o NSGA-II, SPEA 2 e MOEA/D, por exemplo. Para comparar tais algoritmos, existem vários indicadores na literatura que medem a qualidade das aproximações do conjunto de Pareto, mas nenhum destes indi-cadores se provou melhor do que os outros em todos os aspectos (ZITZLER et al., 2003). Infelizmente, medir a qualidade de aproximações do conjunto de Pareto é um problema de otimização multiobjetivo em si. Tais conjuntos buscam produzir pontos no espaço objetivo tão próximos da fronteira de Pareto como possível e garantir diversidade suficiente para as diferentes necessidades do tomador de decisão, além de outros aspectos. Na literatura, é comum utilizar mais de um indicador de qualidade para comparar diferentes aproxi-mações da fronteira de Pareto. Neste trabalho, os indicadores épsilon e hipervolume são usados para esta tarefa, por serem bem difundidos na literatura de otimização. O hipervo-lume mede a porção dominada do espaço objetivo. Para normalizar o valor, este trabalho considera a diferença do hipervolume do conjunto de referência para o hipervolume da aproximação. O épsilon mede a distância mínima necessária para mover todos os pontos de forma que este domine completamente o conjunto de referência. Ambos os indicadores devem ser minimizados.
2.3
Decomposição
A decomposição é uma técnica tradicionalmente utilizada por métodos de programa-ção matemática para encontrar a soluprograma-ção de problemas complexos (DANTZIG; WOLFE, 1960). Tal técnica consiste em decompor o problema em subproblemas mais simples, re-laxando as restrições do problema original, e resolver cada subproblema separadamente. As soluções dos subproblemas são usadas para formar uma aproximação da solução do problema original.
No caso da otimização multiobjetivo, a decomposição agrega os diferentes objetivos do problema em novas funções objetivo, geralmente com apenas um objetivo. As soluções são usadas para formar uma aproximação da fronteira de Pareto do problema original. A técnica de decomposição foi popularizada nos algoritmos evolucionários pelo MOEA/D (ZHANG; LI, 2007).
po-pulares são o método da soma ponderada e o método de Tchebycheff (MIETTINEN, 2012). Ambos utilizam um vetor de pesos, ou vetor de escalarização, λ = (λ1, λ2, ..., λm), tal que
λi ≥ 0 para i = 1, ..., m e
Pm
i=1λi = 1.
O método da soma ponderada considera uma combinação convexa de diferentes ob-jetivos, transformando um problema de otimização multiobjetivo, descrito nas expressões (2.1) e (2.2), no problema (2.3). Maximize G(x|λ) = m X i=1 λifi(x) Sujeito a x ∈ Ω (2.3)
O método de Tchebycheff utiliza um ponto de referência z∗ = {z∗1, z∗2, ..., zm∗} para re-alizar a escalarização. Esta abordagem transforma o problema de otimização no problema (2.4). Minimize G(x|λ, z∗) =maxm i=1 {λi|fi(x) − z ∗ i|} Sujeito a x ∈ Ω (2.4)
O Algoritmo 2 apresenta a arquitetura genérica do MOEA/D. As entradas do al-goritmo são um conjunto de decomposições do problema em subproblemas menores e a população inicial de soluções, com cada uma destas soluções candidatas associada à oti-mização de um dos subproblemas. A saída do algoritmo é uma aproximação do conjunto de Pareto, que é representada por um arquivo externo de soluções, de tamanho ilimitado, inicializado com todas as soluções não-dominadas da população inicial. A etapa 3 escolhe aleatoriamente duas entre as soluções mais próximas da solução atual. A distância entre duas soluções é considerada como a distância Euclidiana entre os pontos que represen-tam os respectivos vetores de pesos da decomposição. A etapa 4 cria uma nova solução (descendente) baseada nas soluções selecionadas, utilizando operadores genéticos. A etapa 5 aplica uma reparação específica para o problema ou uma heurística de melhoramento no descendente, produzindo uma solução refinada (descendente_melhorado). A etapa 6 adiciona a nova solução ao arquivo externo e filtra as soluções não-dominadas. Se o des-cendente melhorado for mais adequado à função objetivo agregada do que a solução atual, atualiza a solução atual para sua configuração. O mesmo procedimento pode ser aplicado às soluções mais próximas, considerando seus respectivos vetores de escalarização. A etapa 9 retorna todas as soluções não-dominadas encontradas durante a execução do MOEA/D para o tomador de decisão.
Algoritmo 2 MOEA/D
Entrada: λ // Conjunto de decomposições
Entrada: populacao_interna // População de soluções
Saída: populacao_externa // Aproximação do conjunto de Pareto 1: repita
2: para todo solucao em populacao_interna faça
3: pais ← Selecionar_pais(solucao, λsolucao, populacao_interna)
4: descendente ← Reproduzir(pais, λsolucao)
5: descendente_melhorado ← M elhorar(descendente, λsolucao)
6: Atualizar(descendente_melhorado, solucao, λsolucao, populacao_externa)
7: fim para
8: até que o critério de parada seja atingido 9: retorne populacao_externa
3
MOSCA/D: Algoritmos Científicos
Multiobjetivo baseados em
Decomposição
Este capítulo apresenta os Algoritmos Científicos Multiobjetivo baseados em Decom-posição, MOSCA/D. A primeira seção do capítulo descreve os elementos da abordagem proposta, usando a técnica de decomposição para expandir os Algoritmos Científicos para o contexto multiobjetivo. A segunda seção descreve a estatística TF-IDF, que será utili-zada para alimentar o modelo probabilístico para escolha do tema.
3.1
MOSCA/D
Esta seção apresenta uma versão multiobjetivo dos Algoritmos Científicos baseada em Decomposição (MOSCA/D). No MOSCA/D, o problema é dividido em subproblemas mono-objetivo menores e cada uma dessas instâncias é otimizada individualmente. As so-luções são inseridas em um arquivo de soso-luções externo e todas as soso-luções não-dominadas neste conjunto são usadas para criar a aproximação do conjunto de Pareto.
Uma das principais diferenças do MOSCA/D para a versão mono-objetivo dos Al-goritmos Científicos é que cada solução da população, ou pesquisador, tem por objetivo otimizar um subproblema diferente da decomposição. Além disso, o MOSCA/D utiliza um arquivo interno de soluções (comunidade_científica), representando a melhor solução de cada subproblema da decomposição, e um arquivo externo (estado_da_arte) repre-sentando o conjunto de aproximação. Apenas o arquivo interno é utilizado no processo de busca, enquanto o arquivo externo gera a saída do MOSCA/D.
O Algoritmo 3 apresenta a arquitetura genérica do MOSCA/D. As entradas do algo-ritmo são: um conjunto de decomposições do problema em subproblemas menores (λ); a população inicial de pesquisadores (comunidade_científica), com cada uma destas
solu-ções candidatas associada à otimização de um dos subproblemas; e a literatura. A saída do algoritmo é uma aproximação do conjunto de Pareto (estado_da_arte), que é repre-sentada por um arquivo externo de soluções, de tamanho ilimitado, iniciado com todas as soluções não-dominadas da população inicial.
A etapa 3 gera um tema. O tema é uma máscara de bits que seleciona um subconjunto das variáveis de decisão que serão o foco da busca para a solução atual. Ele limita o escopo a uma área restrita do espaço de decisão, fixando todas as outras variáveis de decisão para reduzir o custo computacional das iterações. Uma das tarefas mais importantes no MOSCA/D é escolher um tema relevante para cada iteração, maximizando a probabilidade de encontrar melhorias nas demais etapas do algoritmo. Em aplicações anteriores dos Algoritmos Científicos, o tema foi escolhido aleatoriamente. Este trabalho investiga o uso de um modelo probabilístico para escolher temas mais eficientes, baseado na estatística TF-IDF. Tal métrica está apresentada na seção 3.2.
A etapa 4 do algoritmo constrói uma nova solução (hipótese) reatribuindo os valores das variáveis do tema na solução atual (pesquisador), enviesado pela informação na litera-tura. A etapa 5 realiza uma busca localizada na solução, limitada pelo tema, explorando as soluções próximas no espaço de decisão e retornando a melhor solução naquela região (tese). A proximidade entre duas soluções no espaço de decisão é definida pela quanti-dade de variáveis de decisão com valores iguais. A etapa 6 envia a tese para o arquivo externo, filtrando as soluções não-dominadas. Adicionalmente, se a tese for uma melhor solução para o subproblema da decomposição do que o pesquisador, a população é atua-lizada, fazendo o pesquisador assumir sua configuração. A etapa 7 atualiza a literatura, armazenando informação útil do estágio atual da busca. Por exemplo, o tema utilizado, os valores das variáveis de decisão e se houve melhoria na solução. A etapa 10 retorna todas as soluções não-dominadas encontradas durante a execução do MOSCA/D para o tomador de decisão.
Apesar de também usar decomposição, o MOSCA/D não pode ser incluído na ca-tegoria do MOEA/D. Suas principais diferenças são o uso de histórico da busca para aprimorar a busca algorítmica, na forma da literatura, e o uso de tema para direcionar o esforço computacional a uma parte específica da solução em cada iteração. O MOSCA/D é uma extensão dos algoritmos científicos, usando o conceito de decomposição do MOEA/D para expandi-los ao contexto multiobjetivo.
Algoritmo 3 MOSCA/D
Entrada: λ // Conjunto de decomposições
Entrada: comunidade_cientif ica // População de soluções Entrada: literatura // Repositório de informação
Saída: estado_da_arte // Aproximação do conjunto de Pareto 1: repita
2: para todo pesquisador em comunidade_cientif ica faça
3: tema ← Selecionar_tema(pesquisador, λpesquisador, literatura)
4: hipotese ← Levantar_hipotese(pesquisador, λpesquisador, tema, literatura)
5: tese ← V erif icar_hipotese(hipotese, λpesquisador, tema, literatura)
6: Aprender(pesquisador, tese, λpesquisador, estado_da_arte)
7: P ublicar(pesquisador, tese, λpesquisador, literatura)
8: fim para
9: até que o critério de parada seja atingido 10: retorne estado_da_arte
3.2
TF-IDF
A medida estatística TF-IDF, ou frequência do termo - inverso da frequência nos documentos, é um valor que visa indicar a importância de uma palavra em um docu-mento contido em uma coleção (LARSON, 2010). Tal valor é frequentemente utilizado na mineração de dados e para ranquear resultados de motores de busca em sistemas de recomendação baseados em texto (RAJARAMAN; ULLMAN, 2011).
O TF-IDF é o produto de duas estatísticas complementares: a frequência do termo, TF, e o inverso da frequência nos documentos, IDF. A TF é proporcional à quantidade de vezes que o termo aparece no documento. O inverso da frequência nos documentos, IDF, é inversamente proporcional à quantidade de documentos em que o termo pode ser encontrado na coleção de documentos. O TF-IDF é calculado para cada termo de cada documento da coleção, permitindo ranquear os documentos pela relevância destes termos.
Seja t um termo, d um documento e ft,da quantidade de vezes em que t ocorre em d,
TF, pode ser definida pela equação 3.1.
T F (t, d) = P ft,d
t0∈dft0,d (3.1)
Seja D uma coleção de documentos, N a cardinalidade de D e nt,D a quantidade de
IDF (t, d) = log N nt,D
(3.2)
O TF-IDF, portanto, é definido pela equação 3.3.
T F -IDF (t, d, D) = T F (t, d) · IDF (t, D) (3.3)
A adaptação do TF-IDF para otimização pode ser realizada trivialmente mapeando os conceitos de um contexto para o outro. Por exemplo, em um problema de otimização combinatória, o TF-IDF pode ser usado para indicar a relevância de uma variável de decisão em uma solução usando o seguinte mapeamento:
• Termo: O valor de uma variável de decisão específica em uma solução.
• Documento: Uma solução do problema.
• Coleção: Um subconjunto de soluções, ou a configuração de uma solução em dife-rentes iterações do algoritmo.
O mapeamento do TF-IDF para o contexto de seleção de temas é realizado na seção 5.3.
4
Problema da Mochila
Multidimensional Multiobjetivo
O problema da mochila multidimensional multiobjetivo (PMMMO) pode ser definido como: dado um conjunto de itens I = {1, 2, ..., n}, um conjunto de custos associados Ci = {ci1, ci2, ..., cim} e um conjunto de pesos associados Wi = {wi
1, w2i, ..., wpi} para cada
item i, selecione o subconjunto de itens em I que maximiza os m custos totais enquanto os pesos totais não excedem as p capacidades da mochila K = {W1, W2, ..., Wp}. Uma das
formulações para este problema, proposta por Zitzler e Thiele (1999), é apresentada na Equação 4.1. Maximize zj(x) = n X i=1 cijxi j = {1, 2, ..., m} Sujeito a n X i=1 wkixi ≤ Wk k = {1, 2, ..., p} xi ∈ {0, 1} i = {1, 2, ..., n} (4.1)
Nesta formulação, xi é uma variável binária que tem valor 1 se o item i é selecionado
para compor a solução. Caso contrário, xi = 0.
Uma revisão da literatura do PMMMO pode ser encontrada no trabalho de Lust (2012). Até onde é conhecido, o primeiro estudo do problema com m > 1 foi feito por Zitzler e Thiele (1999). Neste artigo, os autores introduziram as instâncias posteriormente usadas por vários autores e propuseram o Strengh Pareto Evolutionary Algorithm (SPEA). Um estudo comparativo mostrou que o SPEA tem desempenho superior ao Non-dominated Sorting Genetic Algorithm (NSGA) (SRINVAS; DEB, 1994) e outras implementações mais simples de algoritmos evolucionários multiobjetivo (MOEA). Depois, Zitzler, Laumanns e Thiele (2001) propuseram uma versão melhorada do SPEA, chamada SPEA2. Eles concluíram por meio de experimentos que o SPEA2 supera o antecessor em todas as instâncias testadas.
No trabalho de Knowles e Korne (2000a), os autores compararam o Memetic Pa-reto Archived Evolution Strategy (M-PAES) (KNOWLES; CORNE, 2000b) com o Random Directions Multi-Objective Genetic Local Search (RD-MOGLS) (JASZKIEWICZ, 1998) e a Pareto Archived Evolution Strategy ((1+1)-PAES) (KNOWLES; CORNE, 1999). Os re-sultados mostraram que ambos os algoritmos produzem rere-sultados melhores do que a (1+1)-PAES.
No trabalho de Jaszkiewicz (2000), o autor aplicou a Multi-Objective Genetic Local Search (MOGLS) ao PMMMO e realizou uma comparação com o SPEA. Os experimen-tos computacionais mostraram que seu algoritmo tem melhor desempenho. Jaszkiewicz (2001b) prosseguiu com os experimentos e concluiu que o MOGLS supera o M-PAES, o Serafini’s Multi-Objective Simulated Annealing (SMOSA) (SERAFINI, 1992), o Ulungu’s Multi-Objective Simulated Annealing (MOSA) (ULUNGU et al., 1999) e o Pareto Simulated Annealing (PSA) (CZYZAK; JASZKIEWICZ, 1998). No trabalho de Jaszkiewicz (2002), no-vos resultados foram publicados mostrando que o MOGLS supera o SPEA, o M-PAES e a Ishibuchi and Murata’s Multi-Objective Genetic Local Search (IMMOGLS) (ISHIBUCHI; MURADA, 1998). Posteriormente, Jaszkiewicz (2004) comparou seu Pareto Memetic Algo-rithm (PMA) (JASZKIEWICZ, 2001a) com o SPEA e o Controlled Elitism Non-dominated Sorting Genetic Algorithm (CENSGA) (DEB; GOEL, 2001). Os resultados mostraram que o PMA tem melhor desempenho nas instâncias com mais de dois objetivos.
Barichard e Hao (2002) apresentaram uma busca tabu. Um estudo comparativo mos-trou que ela tem melhor desempenho do que o SPEA, mas pior do que o MOGLS. Depois, Barichard e Hao (2003) melhoraram o algoritmo e conseguiram resultados superiores ao MOGLS.
No trabalho de Li e Zhang (2000), os autores propuseram o Multi-Objective Hybrid Estimation of Distribution Algorithm (MOHEDA). Os resultados mostraram que o algo-ritmo consegue superar o MOGLS em alguns indicadores de qualidade.
No trabalho de Vianna e Arroyo, (2004), os autores propuseram um Greedy Rando-mized Adaptive Search Procedure (GRASP). Eles compararam seu método ao SPEA2 e ao MOGLS e mostraram que conseguem obter melhores resultados.
No trabalho de Silva, Clímaco e Figueira, (2004), os autores aplicaram uma adaptação da busca por dispersão. Eles concluíram que seu método é superior ao SPEA e ao MOGLS nas instâncias testadas com dois objetivos.
Tchebycheff based Genetic Algorithm (MOTGA). A comparação com o SPEA, o SPEA2 e o MOGLS mostrou que seu algoritmo atinge melhores indicadores de qualidade com menores tempos de execução.
Beausoleil, Baldoquin e Montejo (2008) propuseram um método de busca Multi-Start combinada com Path Relinking. Os resultados foram comparados aos algoritmos SPEA, SPEA2, NSGA, NSGA-II (DEB et al., 2002) e outros MOEAs. Os experimentos mostraram que a abordagem proposta é competitiva com relação a esses algoritmos.
Lust e Teghem (2008) apresentaram o Multi-Objective Memetic Algorithm Integrating Tabu Search (MEMOTS) e compararam seu algoritmo com a MOGLS e o PMA. Eles obtiveram melhores resultados para os indicadores de qualidade nas instâncias com dois e três objetivos. Posteriormente, no trabalho de Lust e Teghem (2012), os autores pro-puseram uma adaptação do Two-phase Pareto Local Search (2PPLS). A comparação de resultados mostrou que o 2PPLS tem melhor desempenho do que o MEMOTS em instân-cias biobjetivo, mas seu tempo de execução é inviável para resolver instâninstân-cias com três ou mais objetivos.
No trabalho de Alsheddy e Tsang (2009), os autores propuseram o Guided Pareto Local Search (GPLS) e variantes da Pareto Local Search (PLS). Eles compararam seu método com o SPEA, o SPEA2 e o NSGA-II e concluíram que seus algoritmos têm melhor desempenho para os indicadores de qualidade. Depois, Alsheddy e Tsang (2010) melhoraram a abordagem e atingiram melhores resultados.
No campo dos algoritmos exatos, Florios, Mavrotas e Diakoulaki (2010) publicaram um método exato usando a técnica de Branch and Bound. Os resultados em instâncias de três objetivos mostraram que o algoritmo executa mais rápido do que o algoritmo baseado no método epsilon-constraint desenvolvido por Laumanns, Thiele e Zitzler (2006).
No trabalho de Vianna e Vianna (2013), os autores apresentaram o Multi-Objective Greedy Randomized Adaptive Search Procedure (MGRASP) e o Multi-Objective Iterated Local Search (MILS). Os resultados foram comparados ao MOTGA, ao MOGLS e ao SPEA2 e mostraram que ambos os algoritmos têm melhor desempenho para os indicadores de qualidade. Eles também concluíram que o MILS obtem melhores resultados do que o MGRASP.
No trabalho de Martins et al. (2017), os autores desenvolveram o Hybrid Multi-Objective Bayesian Estimation of Distribution Algorithm (HMOBEDA). Os experimen-tos foram realizados em instâncias com até oito objetivos e comparados com o NSGA-II,
NSGA-III (DEB; JAIN, 2014), MOEA/D, NSGA-II com busca local (S-MOGLS) ( ISHI-BUCHI; HITOTSUYANAGI; NOJIMA, 2008) e o Multi-Dimensional Bayesian Network Esti-mation of Distribution Algorithm (MBN-EDA) (KARSHENAS et al., 2014). Os resultados mostraram que o HMOBEDA tem desempenho similar ou superior aos outros algoritmos para os indicadores de qualidade.
Finalmente, no trabalho de Zouache, Moussaoui e Abdelaziz (2018), os autores propu-seram o Multi-Objective Firefly Algorithm with Particle Swarm Optimization (MOFPA). Os resultados foram comparados ao NSGA-II, ao SPEA2, ao MOQAIS (GAO et al., 2014) e ao MOEA/D, revelando melhor desempenho do MOFPA.
Até o presente momento, os algoritmos 2PPLS e MEMOTS representam o estado da arte do PMMMO para dois e três objetivos, enquanto o HMOBEDA é o estado da arte no contexto de muitos objetivos. A abordagem desenvolvida neste trabalho será comparada ao NSGA-II, SPEA2, MOEA/D, MEMOTS, 2PPLS, HMOBEDA e MOFPA, cobrindo três algoritmos multiobjetivo clássicos, três algoritmos do estado da arte do problema e o algoritmo publicado mais recentemente, respectivamente. Uma descrição mais detalhada destes algoritmos está apresentada no Apêndice A.
5
Aplicação do MOSCA/D ao
PMMMO
Este capítulo descreve os elementos básicos da aplicação do MOSCA/D ao PMMMO e apresenta um exemplo didático no mesmo problema. Tais elementos são:
• Decomposição: O método para decompor o problema em subproblemas mais sim-ples.
• Pesquisadores: A estrutura de dados para armazenar as soluções.
• Literatura: As informações da busca utilizadas para melhorar o desempenho do algoritmo.
• Tema: As variáveis de decisão que serão fixadas e o método para selecioná-las em cada iteração.
• Hipóteses: O método para gerar novas soluções candidatas.
• Teses: O método de perturbação usado para refinar as soluções candidatas.
5.1
Decomposição
Na aplicação do MOSCA/D ao PMMMO, são gerados num_dec vetores de escala-rização λ distribuídos uniformemente, normalizados para que a soma dos elementos de cada vetor seja igual a um. Por exemplo, para dois objetivos e num_dec = 5, são ge-rados os vetores λ = {(0.0, 1.0), (0.25, 0.75), (0.5, 0.5), (0.75, 0.25), (1.0, 0.0)}. Para menos de quatro objetivos, num_dec é ajustado para o valor mais próximo que permita gerar a distribuição com incrementos iguais à Equação 5.1. Para cinco ou mais objetivos, os veto-res de escalarização são gerados aleatoriamente. Cada vetor de escalarização decompõe o PMMMO em um subproblema a ser otimizado por um dos pesquisadores do MOSCA/D.
1
b(m−1)p(m − 1)! · num_decc (5.1)
Uma comparação preliminar foi realizada para escolher o método de decomposi-ção mais eficiente entre o método da soma ponderada e o método de Tchebycheff no MOSCA/D, utilizando o mesmo conjunto de parâmetros e instâncias dos experimentos computacionais. Foram realizadas 30 execuções independentes utilizando cada método. Como resultado, o teste de Wilcoxon revelou evidência estatística de que o método da soma ponderada encontra aproximações do conjunto de pareto com melhores indicadores épsilon e hipervolume do que o método de Tchebycheff, com nível de significância de 0,05. Os resultados de tal experimento estão no Apêndice B.
5.2
Pesquisadores
Soluções são representadas como arranjos de n bits, em que o valor 1 associado ao i-ésimo bit, i = 1, ..., n, representa a presença do i-ésimo item na mochila e 0 representa sua ausência.
5.3
Literatura
São usadas diferentes estatísticas baseadas no TF-IDF para selecionar o tema e para gerar novas soluções tentativas durante o algoritmo. Seja ti o valor do tema para a variável
i, as estatísticas usadas para gerar o tema são listadas a seguir.
• T F _T V = [tf tvi
p]: Frequência de ti = 0 nas últimas ρ iterações do pesquisador
p. Quanto menos vezes i tiver sido escolhido para o tema de p no passado recente, maior a probabilidade de ti = 1 na próxima iteração.
• IDF _T V = [idf tvi
p]: Frequência de ti = 1 (ou inverso da frequência de ti = 0) no
tema dos ρ pesquisadores mais próximos de p durante a última iteração. A distância Euclidiana entre os pontos que definem os vetores de decomposição é usada para medir a proximidade entre os pesquisadores. Quanto mais soluções próximas de p escolheram i para o tema na última iteração, maior a probabilidade de ti = 1 na
próxima iteração.
• T F _T I = [tf tii
no pesquisador p. Quanto mais vezes a escolha de i para o tema ocasionou melhoria em p no passado recente, maior a probabilidade de ti = 1 na próxima iteração.
• DF _T I = [df tii
p]: Frequência de melhoria na última iteração em que o item
ti = 1 nos ρ pesquisadores mais próximos do pesquisador p. Quanto mais vezes a
escolha de i para o tema ocasionou melhoria nos vizinhos mais próximos de p na última iteração, maior a probabilidade de ti = 1 na próxima iteração.
Seja pi o valor da variável de decisão i no pesquisador p, as estatística usadas para
gerar novas soluções são:
• IDF _IV = [idf ivi
p]: Frequência de pi = 1 (ou inverso da frequência pi = 0) nos
ρ pesquisadores mais próximos de p. Quanto mais soluções próximas de p incluem i em sua solução, maior a probabilidade de pi = 1 na próxima solução tentativa de p.
• T F _II = [tf iii
p]: Frequência de melhoria nas últimas ρ iterações em que pi = 1 na
solução tentativa do pesquisador p. Quanto mais vezes a escolha de i para a solução tentativa de p ocasionou melhoria em p no passado recente, maior a probabilidade de pi = 1 na próxima solução tentantiva de p.
Como todas as estatísticas usadas medem frequência, seus valores estão contidos no intervalo [0, 1].
5.4
Tema
Assim como um pesquisador, o tema também é representado como um arranjo de n bits. O valor associado ao i-ésimo elemento do tema será notado por temai, i = 1, ..., n.
O valor 1 em temai, significa que o i-ésimo item faz parte do tema. Sendo assim, o valor
associado ao i-ésimo item no pesquisador é passível de mudança em soluções tentativas a partir daquele pesquisador. Caso contrário, temai = 0, significando que o valor associado
ao i-ésimo item no pesquisador não é passível de mudança, isto é, as soluções tentativas terão valor associado ao i-ésimo item idêntico ao do pesquisador. Em outras palavras, apenas os itens com temai = 1 poderão ter valor diferente do pesquisador em soluções
tentativas.
A probabilidade do i-ésimo item pertencer ao tema do pesquisador p é definida pela Equação (5.2), em que c, α, β, δ e γ são parâmetros do modelo estatístico.
ptip = c + α · tf tvpi + β · idf tvip+ δ · tf tiip+ γ · df tiip (5.2)
5.5
Hipóteses
O método usado para gerar hipóteses é descrito no Algoritmo 4. As entradas do algoritmo são: o pesquisador; o vetor de escalarização; o tema; e a literatura. A saída do algoritmo é a nova solução. A etapa 2 decide se o item estará na nova solução ou não, respectivamente nas etapas 3 e 4, usando a probabilidade definida na Equação 5.3. A função Aleatorio é um gerador de números aleatórios reais. Caso o item faça parte o tema, seu valor é definido utilizando informação da literatura. Caso contrário, o valor do pesquisador é copiado para a nova solução. A etapa 8 garante que a solução é viável após o processo. A função Reparar iterativamente remove da mochila cada item que faz parte do tema enquanto alguma restrição do problema estiver quebrada, seguindo a ordem dos itens com menor valor na Equação 6.1. Então, a função iterativamente insere na mochila cada item que faz parte do tema se ele não quebrar qualquer restrição do problema, seguindo a ordem inversa, com o objetivo de evitar criar uma solução com espaço suficiente para algum outro item. A etapa 9 retorna a hipótese.
Algoritmo 4 Levantar_hipotese
Entrada: pesquisador // Configuração inicial Entrada: decomposicao // Vetor de escalarização Entrada: tema // Variáveis que podem ser alteradas Entrada: literatura // Repositório de informação Saída: hipotese // Nova solução
1: para todo i de 1 até n faça 2: se Aleatorio(0, 1) < pii pesquisador então 3: hipotesei ← 1 4: senão 5: hipotesei ← 0 6: fim se 7: fim para
8: Reparar(hipotese, decomposicao, tema) 9: retorne hipotese
A Equação 5.3 define a probabilidade de um item i fazer parte da solução tentativa, em que ti é o valor do tema para o item i, pi é o valor da variável de decisão i no pesquisador
piip = ζ · tf iiip+ η · idf ivpi, se ti = 1 pi, caso contrário (5.3)
5.6
Teses
O método usado para verificar hipóteses é uma perturbação restrita às variáveis do tema, descrita no Algoritmo 5. As entradas do algoritmo são: a hipótese, o vetor de escalarização, o tema e a literatura. A literatura não é utilizada neste método, mas foi incluída didaticamente para deixar claro que ela poderia ser utilizada se o método de perturbação pudesse ser melhorado por informação da busca. A saída do algoritmo é a solução melhorada. A etapa 1 inicializa a tese com a mesma configuração da hipótese. A etapa 3 verifica se o item faz parte do tema. Em caso positivo, a etapa 4 inverte o valor da variável de decisão. Se o item estava na solução, ele é removido, se não estava, é adicionado. A etapa 5 invoca a função Reparar, descrita anteriormente. A etapa 6 verifica se a tese é melhor do que a hipótese, usando a função Custo para calcular a função objetivo do subproblema escalarizado. Se ela for, a etapa 7 reinicia o procedimento partindo da configuração atual. Por simplicidade, o Algoritmo 5 está descrito de forma recursiva, apesar de ter sido implementado para os experimentos computacionais sem recursão. Se a etapa 6 falhar, a etapa 9 desfaz quaisquer mudanças na tese durante a iteração atual. O algoritmo prossegue tentando inverter duas variáveis em vez de uma, nas etapas 10 a 35. A etapa 10 inverte o valor da variável de decisão na mochila. Nas etapas 11 a 17, outro item é adicionado à mochila seguindo a probabilidade µ. A função M elhor retorna o índice do j-ésimo item com maior valor na Equação 6.1. As etapas 18 a 22 são idênticas às etapas 5 a 9. As etapas 23 a 35 têm comportamento análogo às etapas 10 a 22, com a diferença de tentar remover a pior variável da mochila, em vez de tentar adicionar a melhor.
Algoritmo 5 Verificar_hipotese
Entrada: hipotese // Configuração inicial
Entrada: decomposicao // Vetor de escalarização Entrada: tema // Variáveis que podem ser alteradas Entrada: literatura // Repositório de informação Saída: tese // Solução melhorada
1: tese ← hipotese
2: para todo i de 1 até n faça 3: se temai então
4: Inverter(tesei)
5: Reparar(tese, decomposicao, tema)
6: se Custo(tese, decomposicao) > Custo(hipotese, decomposicao) então 7: retorne V erif icar_hipotese(tese, decomposicao, tema)
8: fim se
9: tese ← hipotese 10: Inverter(tesei)
11: para todo j de 1 até n faça 12: k ← M elhor(j)
13: se temak e não tesek e Aleatorio(0, 1) < µ então
14: Inverter(tesek)
15: j ← n
16: fim se
17: fim para
18: Reparar(tese, decomposicao, tema)
19: se Custo(tese, decomposicao) > Custo(hipotese, decomposicao) então 20: retorne V erif icar_hipotese(tese, decomposicao, tema)
21: fim se
22: tese ← hipotese 23: Inverter(tesei)
24: para todo j de 1 até n faça 25: k ← P ior(j)
26: se temak e tesek e Aleatorio(0, 1) < 0, 5 então
27: Inverter(tesek)
28: j ← n
29: fim se
30: fim para
31: Reparar(tese, decomposicao, tema)
32: se Custo(tese, decomposicao) > Custo(hipotese, decomposicao) então 33: retorne V erif icar_hipotese(tese, decomposicao, tema)
34: fim se
35: tese ← hipotese 36: fim se
37: fim para 38: retorne tese