• Nenhum resultado encontrado

Identificação de componentes recombinantes no generalized partition crossover

N/A
N/A
Protected

Academic year: 2021

Share "Identificação de componentes recombinantes no generalized partition crossover"

Copied!
84
0
0

Texto

(1)

Ozéas Quevedo de Carvalho

Identificação de componentes recombinantes

no operador Partition Crossover

Cornélio Procópio/PR

2019

(2)
(3)

Ozéas Quevedo de Carvalho

Identificação de componentes recombinantes no operador

Partition Crossover

Dissertação apresentada ao Programa de Pós-Graduação em Informática da Universidade Tecnológica Federal do Paraná – UTFPR, Campus de Cornélio Procópio, como requisito parcial para a obtenção do grau de “Mestre”.

Universidade Tecnológica Federal do Paraná Campus de Cornélio Procópio/PR Programa de Pós-Graduação em Informática

Orientador: Prof. Dr. Danilo Sipoli Sanches

Cornélio Procópio/PR

2019

(4)

Dados Internacionais de Catalogação na Publicação

C331 Carvalho, Ozéas Quevedo de

Identificação de componentes recombinantes no operador partition crossover / Ozéas Quevedo de Carvalho. - 2019.

72 f. : il. ; 31 cm.

Orientador: Danilo Sipoli Sanches.

Dissertação (Mestrado) – Universidade Tecnológica Federal do Paraná. Programa de Pós-Graduação em Informática, Cornélio Procópio, 2019.

Bibliografia: p. 67-72.

1. Otimização combinatória. 2. Algoritmos Genéticos 3. Componentes recombinantes. 4. Operador partition crossover. 5. Informática – Dissertações. I. Sanches, Danilo Sipoli, orient. II. Universidade Tecnológica Federal do Paraná. Programa de Pós- Graduação em Informática. III. Título.

CDD (22. ed.) 004

Biblioteca da UTFPR - Câmpus Cornélio Procópio

Bibliotecário/Documentalista responsável: Simone Fidêncio de Oliveira Guerra – CRB-9/1276

(5)

Ministério da Educação

Universidade Tecnológica Federal do Paraná

Câmpus Cornélio Procópio

Programa de Pós-Graduação em Informática

Título da Dissertação Nº 64:

IDENTIFICAÇÃO DE COMPONENTES RECOMBINANTES

NO OPERADOR PARTITION CROSSOVER

”.

por

Ozéas Quevedo de Carvalho

Orientador: Prof. Dr. Danilo Sipoli Sanches

Esta dissertação foi apresentada como requisito parcial à obtenção do grau de MESTRE EM INFORMÁTICA – Área de Concentração: Computação Aplicada, pelo Programa de Pós-Graduação em Informática – PPGI – da Universidade Tecnológica Federal do Paraná – UTFPR – Câmpus Cornélio Procópio, às 15h30 do dia 13 de agosto de 2019. O trabalho foi _____________ pela Banca Examinadora, composta pelos professores:

__________________________________

Prof. Dr. Danilo Sipoli Sanches (Presidente – UTFPR-CP)

__________________________________

Prof. Dr. Lucas Dias Hiera Sampaio (UTFPR-CP)

______________________________________ Prof. Dr. Renato Tinós

(USP)

Participação à distância via ______________

Visto da coordenação: __________________________________

Danilo Sipoli Sanches

Coordenador do Programa de Pós-Graduação em Informática UTFPR Câmpus Cornélio Procópio

A Folha de Aprovação assinada encontra-se na Coordenação do Programa. Av. Alberto Carazzai, 1640 - 86.300-000- Cornélio Procópio – PR.

(6)
(7)
(8)
(9)

Agradecimentos

Agradeço a minha amada esposa Dri e aos meus amigos Max, Lobinho e Malhado o amor, a dedicação e a paciência. Agradeço aos amigos que já partiram o amor que deixaram. Agradeço ao meu pai o amor que me salva todos os dias. Agradeço a minha Professora da 5a Série, Cleuza Maroubo, o incentivo, apoio e auxílio ao longo de todos esses anos; não teria chegado até aqui sem sua ajuda. Agradeço a minha amiga Marcia Aguena o incentivo, apoio e auxílio. Agradeço às Professoras Lia Duarte e Andrea Dorini e aos Professores Fábio Eder, Paulo Chixaro, José Augusto Fabri e Nelson Alves Pinto o incentivo, apoio e auxílio. Agradeço aos Professores da UTFPR Pedro Henrique Bugatti, Priscila Tiemi Maeda Saito, Katia Romero Felizardo Scannavino, Fabricio Martins Lopes, Lucas Dias Hiera Sampaio e André Yoshiaki Kashiwabara. Agradeço ao Secretário de curso, Eduardo José de Oliveira. Agradeço aos meus amigos Harrison, Amilton, Gediel e Higor as contribuições e a paciência em me ouvir falando tantas vezes sobre algoritmos genéticos. Agradeço aos meus amigos Patrick e Erick Pires as intermináveis discussões sobre ciência e metafísica. Agradeço aos meus amigos e colegas Vinicius dos Santos, Luiz Gustavo Uzai, Daniel Acorsi, Elcio Cezario Sanches Júnior, Gabriel de Abreu, Vinícius Macedo Noda, Geraldo Pereira Junior, Orides Morandin Junior, Josimar da Silva Rocha e Bruna Osti. Além disso, agradeço a todas as pessoas anônimas o trabalho que faz da UTFPR a mudança na vida de muitas pessoas.

Agradeço aos Professores Renato Tinós e Darrell Whitley todo incentivo, apoio, contribuições, sugestões e críticas.

Por fim, e não menos importante, agradeço ao meu Orientador, Professor Danilo Sipoli Sanches, o incentivo, apoio, auxílio, confiança, paciência e amizade ao longo dessa incrível jornada.

(10)
(11)

“Le savant n’étudie pas la nature parce que cela est utile; il l’étudie parce qu’il y prend plaisir et il y prend plaisir parce qu’elle est belle. Si la nature n’était pas belle, elle ne vaudrait pas la peine d’être connue, la vie ne vaudrait pas la peine d’être vécue” (Henri Poincaré, Science et Méthode, 1908)

(12)
(13)

Resumo

O Problema do Caixeiro Viajante (PCV) é um dos mais conhecidos problemas de otimização e consiste em encontrar o menor circuito Hamiltoniano para um conjunto de vértices. O Partition Crossover (PX) é um importante operador de recombinação desenvolvido para o PCV. O operador gera descendentes pela recombinação dos componentes conectados encontrados após a remoção de arestas duplas do grafo formado pela união das soluções pais. Para tanto, o operador determina quais componentes podem ser recombinados para formar soluções filhas, chamados de componentes recombinantes. Para identificar componentes recombinantes, o operador aplica um teste que compara os grafos simplificados das soluções pais dentro do componente, chamados de grafos internos. Um grafo interno simplifica os caminhos de uma solução dentro de um componente. Se os grafos internos das soluções forem iguais, o componente é recombinante. No entanto, é possível demonstrar que existem componentes recombinantes que não são identificados pelo operador. A partir do estudo da relação entre grafos simplificados e emparelhamentos perfeitos, um conceito da Teoria dos Grafos, este trabalho propõe dois testes adicionais. Experimentos demonstram que o PX pode encontrar mais componentes recombinantes com o emprego dos testes propostos, melhorando assim o desempenho do operador.

(14)
(15)

Abstract

The Traveling Salesman Problem (TSP) is one of the best-known optimization problems and consists of finding the shortest Hamiltonian circuit for a set of vertices. Partition Crossover (PX) is an important recombination operator developed for the TSP. It generates offspring by the recombination of connected components found after removing shared edges from the graph formed by the union of parent solutions. The operator then determines which components can be recombined to generate offspring. However, not every connected component can be recombined. To identify recombining components, the operator applies a test comparing the simplified graphs of parent solutions within the component, called inner graphs. An inner graph simplifies one solution paths within a component. If solutions inner graphs are equal, the component is a recombining component. However, one can demonstrate that there are recombining components not identified by the operator. Based on the study of the relation between simplified graphs and perfect matchings, a concept from Graph Theory, this work proposes two additional tests. Experiments show that PX can find more recombining components applying the proposed tests, hence improving operator performance.

(16)
(17)

Lista de ilustrações

Figura 1 – Fluxograma do AG tradicional . . . 34

Figura 2 – Exemplo de AG . . . 34

Figura 3 – Representação cromossomial - Permutação - PCV . . . 36

Figura 4 – Exemplo de recombinação no GPX2 . . . 44

Figura 5 – Construção do grafo simplificado . . . 47

Figura 6 – Representação de grafos simplificados . . . 48

Figura 7 – Matriz de conectividade (H6) . . . 49

Figura 8 – União de emparelhamentos perfeitos em grafos de t = 4 e t = 6 vértices 50 Figura 9 – Possíveis padrões de grafo simplificado (ou emparelhamentos perfeitos) em componentes de quatro portais. . . 51

Figura 10 – Combinações de padrões de grafo simplificado em componentes com quatro portais. . . 51

Figura 11 – Linha P1/P3, coluna P2/P2. . . 52

Figura 12 – Combinações entre grafos internos e externos . . . 53

Figura 13 – Construção de soluções inválidas sem arestas espelhadas . . . 54

Figura 14 – Sobreposição particionada . . . 55

Figura 15 – Construção de quatro soluções . . . 56

Figura 16 – Fluxograma do Experimento 1. . . 60

Figura 17 – Curva de convergência do AG (instância u1084) . . . 62

Figura 18 – Curva de convergência do AG com 2-opt na mutação (instância u1084) 64 Figura 19 – Melhor solução encontrada (instância vm1084) . . . 65

(18)
(19)

Lista de quadros

Quadro 1 – Objetivo, tipo de PCV e representação . . . 35

Quadro 2 – Modelo de população, elitismo e hibridização . . . 37

Quadro 3 – Função de aptidão . . . 37

Quadro 4 – Operadores de inicialização e seleção . . . 38

Quadro 5 – Operadores de recombinação e mutação . . . 39

Quadro 6 – Propriedades dos operadores de recombinação . . . 41

(20)
(21)

Lista de tabelas

Tabela 2 – Comparativo - Operadores de recombinação . . . 40

Tabela 3 – Parametrização . . . 42

Tabela 4 – Recombinação de componentes . . . 48

Tabela 5 – Sobreposições de duas soluções . . . 51

Tabela 6 – Grafos simplificados do Componente 1 antes da recombinação parcial . 55 Tabela 7 – Grafos simplificados do Componente 1 após a recombinação parcial . . 55

Tabela 8 – Recombinação de componentes . . . 56

Tabela 9 – Componentes recombinantes . . . 60

Tabela 10 – Desempenho . . . 61

Tabela 11 – Experimento com AG tradicional . . . 62

Tabela 12 – Resultados do teste t . . . 63

Tabela 13 – Experimentos com 2-opt na mutação . . . 63

Tabela 14 – Detalhes dos circuitos encontrados nos experimentos com 2-opt na mutação . . . 64

(22)
(23)

Lista de abreviaturas e siglas

AG Algoritmo Genético

CLK Chained Lin-Kernighan

EAX Edge Assembly Crossover

ER Edge Recombination Operator

GAPX Generalized Asymmetric Partition Crossover GPX Generalized Partition Crossover

GPX2 Generalized Partition Crossover 2 GPX3 Generalized Partition Crossover 3 ITP Iterated Partial Transcription

LK Lin-Kernighan

LKH Lin-Kernighan-Helsgaun

NN Nearest Neighbor

ODEC Optimized Directed Edge Crossover

OCX Optimized Cycle Crossover

PCV Problema do Caixeiro Viajante

PX Partition Crossover

TSP Traveling Salesman Problem

(24)
(25)

Lista de símbolos

G Grafo completo do PCV 32

V Conjunto de vértices do grafo G 32, 33

E Conjunto de arestas do grafo G 32, 33

cij Custo de se percorrer a aresta (i, j) no grafo G 32, 33 C Matriz de custos do grafo G 32, 33

xij Variável binária de decisão que indica se aresta (i, j) é ou não percorrida em um circuito 32,33

S Subconjunto de V 33 F (x) Função de aptidão no AG 36, 37, 58 f (x) Função objetivo do PCV 36,37, 58 N Tamanho da população no AG 38,41, 42 Pc Probabilidade de cruzamento no AG 41, 42 Pm Probabilidade de mutação no AG 41, 42 Gu Grafo união de duas soluções pais 43,44, 57

A Solução A; grafo da solução A 43, 45, 47, 53, 54, 56,

57

B Solução B; grafo da solução B 43, 45, 47, 53, 54, 56,

57

t Dimensão da matriz de conectividade 49,50, 51

Ht Matriz de conectividade 49

Mi Emparelhamento perfeito da i-ésima linha da matriz Ht 49, 50

Mj Emparelhamento perfeito da j-ésima coluna da matriz Ht 49, 50

P1 Padrão de grafo simplificado, ou de emparelhamento perfeito, em componentes de 4 vértices 50, 51,52

P2 Padrão de grafo simplificado, ou de emparelhamento perfeito, em componentes de 4 vértices 50, 51,52

P3 Padrão de grafo simplificado, ou de emparelhamento perfeito, em componentes de 4 vértices 50, 51,52

L Conjunto de portais em um componente 53

Ain Grafo simplificado interno da solução A em um dado componente 53

Aout Grafo simplificado externo da solução A em um dado componente 53

(26)

Bin Grafo simplificado interno da solução B em um dado componente 53

Bout Grafo simplificado externo da solução B em um dado componente 53

S1 Melhor combinação de caminhos em um conjunto de componentes recombinantes 56

S2 Segunda melhor combinação de caminhos em um con-junto de componentes recombinantes 56

Ai Distância total das arestas simples da solução A no i-ésimo componente 56

Bi Distância total das arestas simples da solução B no i-ésimo componente 56

AR Caminhos da solução A no restante do grafo 56 BR Caminhos da solução B no restante do grafo 56

(27)
(28)

Sumário

Lista de símbolos . . . 23

Introdução . . . 29

1 FUNDAMENTAÇÃO TEÓRICA . . . 31

1.1 Revisão da literatura . . . 31

1.2 O Problema do Caixeiro Viajante . . . 32

1.2.1 Formulação . . . 33

1.3 Algoritmo Genético. . . 33

1.3.1 Terminologia . . . 35

1.3.2 Representação cromossomial . . . 35

1.3.3 Modelo de população, elitismo e hibridização . . . 36

1.3.4 Função de aptidão . . . 37 1.3.5 Inicialização . . . 38 1.3.6 Seleção . . . 38 1.3.7 Reprodução . . . 39 1.3.8 Mutação . . . 41 1.3.9 Parametrização . . . 42 1.4 Partition Crossover . . . 42

1.5 Generalized Partition Crossover 2 . . . 43

1.5.1 União das soluções pais. . . 43

1.5.2 Criação de vértices fantasma . . . 44

1.5.3 Remoção de arestas duplas . . . 45

1.5.4 Componentes conectados . . . 45

1.5.5 Identificação de componentes recombinantes . . . 45

1.5.6 Recombinação . . . 46

2 MATERIAL E MÉTODOS . . . 47

2.1 Grafo simplificado interno . . . 47

2.2 Grafo simplificado externo. . . 48

2.3 Emparelhamento perfeito . . . 49

2.4 Identificação de componentes recombinantes . . . 50

2.4.1 Formulação dos testes de grafos simplificados . . . 53

(29)

2.6 Relações entre componentes . . . 54

2.7 Grafo restante . . . 56

2.8 Modificações . . . 57

2.9 Algoritmo Genético. . . 58

3 EXPERIMENTOS, RESULTADOS E DISCUSSÃO . . . 59

3.1 Experimento 1 . . . 59 3.1.1 Resultados . . . 59 3.2 Experimento 2 . . . 61 3.2.1 Algoritmo Genético . . . 61 3.2.2 Resultados . . . 62 4 CONCLUSÃO . . . 67 REFERÊNCIAS . . . 69

A

ANEXO A

75

(30)
(31)

29

Introdução

O Problema do Caixeiro Viajante (PCV) é um dos problemas de otimização combinatória mais conhecidos. Consiste em encontrar o menor circuito para um conjunto de cidades, de modo que todas as cidades sejam visitadas somente uma vez e se retorne ao ponto de partida. Matematicamente, equivale a encontrar o menor circuito Hamiltoniano para um conjunto de vértices. É um problema difícil de tempo polinomial não determinístico (NP-difícil), de aplicação prática relevante, possui extensa literatura e é utilizado como

referência para a avaliação de algoritmos de otimização (APPLEGATE et al., 2007). Desde sua introdução, diversos métodos de solução exatos e aproximativos foram propostos. Uma das melhores ferramentas de resolução do PCV é o software Concorde, que implementa diversos métodos da programação linear, bem como heurísticas baseadas na busca Lin-Kernighan (LK). Em 2006, o Concorde encontrou solução ótima para uma instância do PCV com 85.900 cidades (COOK, 2014).

Heurísticas baseadas em população, como algoritmo genético (AG), otimização por colônia de formigas e por enxame de partículas, entre outras, também têm sido empregadas para solucionar o PCV. Entre elas, o AG com o Edge Assembly Crossover (EAX), proposto

por Nagata (2006), foi capaz de encontrar a melhor solução conhecida para uma instância

do PCV com 1.000.000 de cidades (NAGATA; KOBAYASHI, 2013). Com efeito, um dos aspectos importantes do AG para tratar eficientemente problemas complexos é o operador de recombinação, ou crossover (WHITLEY, 2016).

O Partition Crossover (PX) é um operador de recombinação determinístico pro-jetado para o PCV. Introduzido por Whitley, Hains e Howe (2009), foi recentemente empregado para melhorar resultados das principais heurísticas do PCV, como o Lin-Kernighan-Helsgaun (LKH) e o EAX (SANCHES; WHITLEY; TINÓS,2017b;SANCHES;

WHITLEY; TINÓS,2017a). O PX particiona a união das soluções pais em componentes

que podem ser otimizados e reconectados para formar uma nova solução. Quanto mais componentes encontrados, maiores as possibilidades de otimização. No entanto, nem todo componente pode ser recombinado. Para identificar componentes recombinantes, o opera-dor testa se os grafos simplificados internos das soluções são iguais. Um grafo simplificado interno simplifica os caminhos de uma solução dentro de um componente.

Sabemos que existem componentes recombinantes que o operador não identifica. A partir do estudo da relação entre grafos simplificados e emparelhamentos perfeitos, um conceito da teoria dos grafos, este trabalho propõe novas formas de identificar componentes recombinantes através de testes envolvendo também o grafo externo, que simplifica a solução do lado de fora do componente. Esses testes adicionais são a principal contribuição

(32)

30 Introdução

deste estudo.

O texto está organizado do seguinte modo. No Capítulo1, apresentamos uma breve revisão da literatura a respeito de algoritmos genéticos aplicados ao PCV, discutimos algumas questões sobre operadores de recombinação para problemas de permutação, revisamos os estudos sobre o PX e apresentamos seu funcionamento em mais detalhes. No Capítulo 2, discutimos a sustentação teórica dos testes de grafo adicionais e apresentamos detalhes sobre a implementação. No Capítulo 3, descrevemos os experimentos conduzidos, apresentamos e discutimos os resultados. Este trabalho é concluído no Capítulo 4, que contém as considerações finais, problemas em aberto e questões para trabalhos futuros.

(33)

31

1 Fundamentação teórica

Neste Capítulo apresentamos a revisão da literatura, os conceitos fundamentais envolvidos, bem como a história e o funcionamento do operador Partition Crossover em mais detalhes.

1.1

Revisão da literatura

Na revisão da literatura, além da seleção manual dos trabalhos fundamentais, aplicamos alguns conceitos da Revisão Sistemática para auxiliar na busca de respostas das questões de pesquisa relevantes ao presente trabalho (KITCHENHAM, 2004). Não tivemos a pretensão de executar rigorosamente uma revisão sistemática, mas sim lançar mão de alguns de seus princípios para orientar a pesquisa bibliográfica. Considerando o objetivo do trabalho delimitado na introdução, definimos o escopo, as questões de pesquisa e os critérios de exclusão de estudos, como segue:

1. Escopo da busca:

a) Estudos primários e secundários que tratam da aplicação de AG ao PCV; b) Trabalhos relacionados ao PX.

2. Questões de pesquisa dos estudos primários: a) Qual é o objetivo do trabalho?

b) O PCV é simétrico ou assimétrico? c) Qual é a representação cromossomial? d) O AG é hibridizado? Em quais etapas?

e) Como a população inicial é gerada? f) Qual é a função de avaliação empregada?

g) Quais são os operadores de seleção, reprodução e mutação? h) Como é a parametrização do AG?

i) Quais são as instâncias de teste? 3. Critérios de exclusão de estudos:

a) Estudos que não contém informações suficientes para responder as questões propostas;

(34)

32 Capítulo 1. Fundamentação teórica

A partir dessas definições, construímos as strings de busca para cada base de pesquisa, executamos a seleção de estudos recentes relevantes e a extração das informa-ções. As informações extraídas estão sintetizadas em quadros e tabelas apresentados ao longo deste capítulo. Os estudos secundários e aqueles relacionados ao PX são discutidos oportunamente.

1.2

O Problema do Caixeiro Viajante

O PCV, conhecido na literatura em inglês como Traveling Salesman Problem, tem sua origem nos trabalhos de Karl Menger em 1930. Entretanto, problemas relacionados já eram conhecidos desde 1800 pelos trabalhos de W. H. Hamilton e T. P. Kirkman (BIGGS;

LLOYD; WILSON, 1999; LAWLER et al., 1995). Uma extensa discussão a respeito da

história do PCV até 1960 pode ser encontrada em Schrijver (2005), principalmente o trabalho de G. Dantzig, R. Fulkerson e S. Johnson, que em 1954 estabeleceram um importante marco resolvendo o PCV para 49 cidades utilizando programação linear.

Inúmeros métodos de solução foram propostos ao longo de mais de meio século desde a introdução do PCV. Entre os principais métodos exatos temos a programação linear, programação dinâmica e algoritmos como cutting plane, and-bound e branch-and-cut. Entre os métodos aproximativos, destacam-se as heurísticas baseadas na busca

Lin-Kernighan (LK), como Lin-Kernighan-Helsgaun (LKH) e Chained Lin-Kernighan (CLK) (APPLEGATE et al., 2007). Abordagens como essas são empregadas na resolução de grandes instâncias do PCV, como é o caso dos trabalhos de D. Applegate, R. Bixby, V. Chvátal, W. Cook e K. Helsgaun, que em 2006 encontraram o menor trajeto em um circuito integrado com 85.900 cidades utilizando o software Concorde, uma das melhores ferramentas de resolução do PCV existentes de que temos notícia. Com efeito, o Concorde é uma compilação dos principais métodos exatos e aproximativos (COOK, 2014).

Entre as heurísticas de população mais importantes, podemos citar a otimização por colônia de formigas, recozimento simulado, algoritmos genéticos (AG), otimização por enxame de partículas, entre outras (COOK, 2014). Nesse contexto se destacam os operadores de cruzamento EAX proposto porNagata (2006) e PX proposto porWhitley,

Hains e Howe(2009). O AG com EAX foi utilizado para encontrar a melhor solução

conhe-cida da instância Mona Lisa, que possui 1.000.000 de conhe-cidades (NAGATA; KOBAYASHI,

2013). O PX, por sua vez, tem sido empegado para melhorar resultados do LKH e do EAX (SANCHES; WHITLEY; TINÓS,2017b;SANCHES; WHITLEY; TINÓS,2017a). No caso do LKH, o PX foi empregado em substituição ao Iterated Partial Transcription (ITP), operador de recombinação utilizado nas reinicializações da busca LK. O IPT apresenta complexidade de tempo O(n2) no pior caso, enquanto o PX apresenta complexidade de tempo O(n) (TINÓS; WHITLEY; OCHOA,2019).

(35)

1.3. Algoritmo Genético 33

1.2.1

Formulação

Mais formalmente, o PCV pode ser formulado do seguinte modo (LANGEVIN;

SOUMIS; DESROSIERS,1990;DAVENDRA,2010): Seja o grafo completoG= {V,E}

for-mado pelo conjunto de vértices V = {1, 2, 3, ..., n} e conjunto de arestasE = {(i, j) | i, j ∈

V, i 6= j}. Sejacij o custo de se percorrer a aresta (i, j), tal quecij é o elemento da i-ésima

linha e j-ésima coluna da matriz de custos C = (cij) ∈ Rn×n≥0 . Seja ainda a variável binária de decisão xij = 1, caso a aresta (i, j) faça parte do circuito ou xij = 0 caso contrário.

Procura-se minimizar: X i6=j cijxij (1.1) Sujeito a: n X j=1 xij = 1 (∀i ∈V, i 6= j) (1.2) n X i=1 xij = 1 (∀j ∈V, j 6= i) (1.3) X i,j∈S xij ≤ |S| − 1 (SV, 2 ≤ |S| ≤ n − 2) (1.4) xij ∈ {0, 1} (i, j) ∈E (1.5)

A distância total do circuito é dada pela expressão(1.1)que é a soma dos custos das arestas percorridas. É um problema de minimização que consiste em encontrar a permutação de arestas com o menor custo total, isso é, o menor circuito. As expressões (1.2) e (1.3)

formam a restrição de grau (cada vértice é visitado somente uma vez); A restrição (1.4)

assegura a existência de apenas um circuito e a restrição (1.5) refere-se à integralidade. Esse conjunto de restrições garante que a solução seja um circuito Hamiltoniano.

Se a matriz de custosC for simétrica, isso é, cij = cji, ∀i, j ∈V, i 6= j, então temos o PCV simétrico, caso em que o custo de se percorrer a aresta (i, j) é o mesmo partindo-se de i ou j. Se C for uma matriz assimétrica, isso é, cij 6= cji, ∀i, j ∈V, i 6= j, temos o PCV assimétrico. Nesse estudo, trataremos apenas o PCV simétrico.

1.3

Algoritmo Genético

Proposto por John Holland na década de 70 e popularizado pelos trabalhos de David Goldberg, o algoritmo genético (AG) é uma técnica de busca baseada nos princípios da evolução natural. O método evolui um conjunto de soluções candidatas (cromossomos)

(36)

34 Capítulo 1. Fundamentação teórica

por meio da aplicação iterativa dos operadores genéticos de seleção, reprodução e muta-ção (MITCHELL, 1997). A Figura 1 contém o fluxograma do AG tradicional de 5 etapas: geração da população inicial, avaliação, seleção, reprodução e mutação.

Figura 1 – Fluxograma do AG tradicional

Fonte: Elaborado pelo autor

Primeiro, uma população de soluções aleatórias é gerada. Em seguida, as soluções são avaliadas por uma função chamada função de aptidão, ou função fitness, que atribui à solução uma pontuação chamada de aptidão, ou fitness, que é uma estimativa da qualidade da solução em relação à função objetivo do problema. Em seguida, o operador de seleção escolhe os indivíduos para a etapa de reprodução, de modo que os mais aptos tenham maiores chances de serem selecionados. Na reprodução, de acordo com certa probabilidade, as soluções escolhidas (pais) são recombinadas entre si pelo operador de recombinação, ou crossover, para gerar novas soluções (filhos). Por fim, o operador de mutação perturba algumas soluções, inserindo diversidade. Ao final desse processo, obtém-se uma nova geração de indivíduos. A partir da seleção, todo o processo é repetido inúmeras vezes até que uma dada condição de parada seja alcançada, como número de gerações ou estagnação da aptidão máxima ou média da população, por exemplo (GOLDBERG,1989). A Figura2

contém um exemplo concreto de uma iteração no AG tradicional.

Figura 2 – Exemplo de AG

(37)

1.3. Algoritmo Genético 35

Como acontece com os seres vivos na natureza, espera-se que a aplicação dos princípios da seleção natural evolua a população de soluções para o problema considerado, o que é chamado de convergência, medida pela aptidão do melhor indivíduo. Por trabalhar com uma população, o algoritmo executa uma busca paralela no espaço de soluções utilizando poucos recursos de armazenamento, já que as populações são substituídas a cada geração (MITCHELL, 1997). Apesar de estocástico, dada a natureza probabilística dos operadores, o AG apresenta bons resultados em tempo polinomial e tem sido empregado em problemas NP-difícil (PIERRE; ZAKARIA,2017). O Quadro 1contém a relação dos objetivos dos estudos revisados que empregam AG para solucionar o PCV.

Quadro 1 – Objetivo, tipo de PCV e representação

Referência Objetivo PCV Representação

Singhal et al.(2020) Seleção dinâmica de operadores genéticos Simétrico Permutação

Akter et al.(2019) Propõe operador de recombinação Assimétrico Permutação

Arram e Ayob(2019) Recombinação com múltiplos pais Simétrico Permutação

Hussain e Muhammad(2019) Propõe operador de seleção Simétrico e assimétrico Permutação

Alipour et al.(2018) Propõe operador de inicialização e de recombinação Simétrico Permutação

Eremeev e Kovalenko(2018) Propõe operadores de recombinação e mutação Assimétrico Vetor de adjacência

Liu e Li(2018) Propõe operador de inicialização Simétrico Permutação

Tinos e Whitley(2018) Fusão no GAPX para o PCV assimétrico Assimétrico

-Chawda e Patel(2017) Comparação de algoritmos evolutivos Simétrico Permutação

Guo, Chen e Wang(2017) AG eficiente com mutação e elitismo Simétrico Permutação

Hussain et al.(2017) Propõe operador de recombinação Simétrico Permutação

Eremeev e Kovalenko(2016) Propõe operadores de recombinação Assimétrico Permutação e vetor de adjacência

Singh, Singh e Singh(2016) Seleção dinâmica de operadores genéticos Simétrico Permutação

Wang et al.(2016) AG com mais de dois filhos por recombinação Simétrico Permutação

Rafsanjani, Eskandari e Saeid(2015) Propõe operador de inserção de diversidade Simétrico Priority-based encoding

Pham e Huynh(2015) AG hibridizado com Variable neighborhood search Simétrico Permutação

Hassani, Benkachcha e Benhra(2015) Propõe operador de recombinação Simétrico Permutação

Paul et al.(2015) Propõe operador de inicialização Simétrico Permutação

-Não foi possível determinar

Fonte: Elaborado pelo autor

1.3.1

Terminologia

No contexto de algoritmos genéticos, muitos termos são empregados, como indivíduo, cromossomo, gene, alelo, população, entre outros. Indivíduo é uma solução do problema; população é o conjunto dos indivíduos; cromossomo é a representação genética, ou gênica, do indivíduo, formada por genes e alelos; gene é a menor parte da representação e alelo é o valor que o gene pode assumir (GOLDBERG, 2002). Neste estudo, utilizamos os termos indivíduo, solução e cromossomo de forma indistinta, bem como os termos cruzamento, recombinação e crossover.

1.3.2

Representação cromossomial

A escolha da representação das soluções, ou representação cromossomial (encoding), é um componente chave no desempenho do AG (RADCLIFFE; SURRY,1995). No contexto de problemas em que as soluções são circuitos Hamiltonianos, como no PCV, a representação padrão é uma lista dos vértices na ordem em que foram visitados, conhecida na literatura como permutação, ou path representation (TRÄFF, 2014). O Quadro 1 contém o tipo

(38)

36 Capítulo 1. Fundamentação teórica

Figura 3 – Representação cromossomial - Permutação - PCV

Fonte: Elaborado pelo autor

de PCV atacado e a representação adotada nos trabalhos considerados. A maioria dos estudos emprega a permutação. A Figura 3contém um exemplo de cromossomo para um PCV de cinco cidades. O primeiro vértice abre e fecha o circuito, mas na prática pode ser omitido no inicio ou final do cromossomo.

Como o PCV é um problema de permutação de arestas, adotamos a interpretação alélica da representação cromossomial, recomendada por Radcliffe e Surry (1995). Na representação alélica (Figura3), o bloco básico de informação é a aresta (alelo), formada por dois vértices, direcionados ou não. Essa distinção é importante, pois tradicionalmente os operadores são desenhados para manipular os vértices (genes). Nesse trabalho, nos interessa o modo como operadores manipulam as arestas (alelo), o bloco básico de construção das soluções de problemas que envolvem circuitos.

1.3.3

Modelo de população, elitismo e hibridização

O Quadro2 (próxima página) contém informações sobre o modelo geracional empre-gado, elitismo e em quais etapas o AG é hibridizado, se for o caso. No modelo de população geracional, adotado na maioria dos trabalhos revisados, as gerações são sucessivamente substituídas após a aplicação dos operadores genéticos. Nesse caso, pode ser desejável manter os melhores indivíduos entre gerações, técnica chamada de elitismo (MITCHELL,

1997). Além do modelo geracional, alguns trabalhos implementam o AG Steady State, ou AG monotônico. Nesse modelo, apenas duas soluções são selecionadas e recombinadas em cada geração. Os melhores filhos resultantes substituem as piores soluções na população, criando maior pressão seletiva e acelerando a convergência do AG, o que, no entanto, reduz rapidamente a diversidade da população (WHITLEY, 2018).

O AG tradicional não aplica conhecimento específico sobre o domínio do pro-blema e normalmente é ineficiente para tratar propro-blemas complexos. Para alcançar bons resultados, AGs são hibridizados em uma ou mais etapas para comportar técnicas de otimização local (GOLDBERG, 2002). Mais da metade dos estudos considerados emprega AG hibridizado em uma ou mais etapas.

(39)

1.3. Algoritmo Genético 37

Quadro 2 – Modelo de população, elitismo e hibridização

Referência Modelo de População Elitismo Hibridização

Singhal et al.(2020) Geracional S Seleção, recombinação e mutação

Akter et al.(2019) Steady State - Recombinação

Arram e Ayob(2019) Geracional -

-Hussain e Muhammad(2019) Steady State -

-Alipour et al.(2018) Geracional - Inicialização

Eremeev e Kovalenko(2018) Steady State - Reinicialização, recombinação e mutação

Liu e Li(2018) Geracional - Inicialização

Tinos e Whitley(2018) Geracional S Inicialização, recombinação e mutação

Chawda e Patel(2017) Geracional -

-Guo, Chen e Wang(2017) Geracional -

-Hussain et al.(2017) Geracional -

-Eremeev e Kovalenko(2016) Steady State - Reinicialização, recombinação e mutação

Singh, Singh e Singh(2016) Geracional - Recombinação e mutação

Wang et al.(2016) Geracional S

-Rafsanjani, Eskandari e Saeid(2015) Geracional - Busca local após reprodução

Pham e Huynh(2015) Geracional - Busca local após reprodução

Hassani, Benkachcha e Benhra(2015) Steady State - Mutação

Paul et al.(2015) Geracional S Inicialização

-Ausente ou não foi possível determinar

Fonte: Elaborado pelo autor

1.3.4

Função de aptidão

A função de aptidão, que chamaremos deF (x), estima a aptidão dos indivíduos em relação ao problema considerado, guiando assim a convergência do AG dentro do espaço de soluções. No caso do PCV, a função de aptidão é normalmente definida em termos da função objetivo do problema, que chamaremo de f (x). O Quadro 3 contém as funções de aptidão empregadas nos estudos revisados. Os autores adotam a função objetivo f (x)

como função de aptidão F (x)em relação direta ou inversa. Em relação inversa, a constante c assume o valor 1 ou o valor da melhor solução conhecida da instância tratada. No caso da relação direta, a implementação do operador de seleção deve considerar o problema de minimização. No torneio, por exemplo, deve-se escolher a solução com o menor valor e não o maior, como acontece no caso da função de aptidão em relação inversa à função objetivo.

Quadro 3 – Função de aptidão

Função de Aptidão Referência

F (x)=f (x) Hussain e Muhammad(2019) Chawda e Patel(2017) Pham e Huynh(2015) F (x)= c f (x) Akter et al.(2019) Alipour et al.(2018)

Guo, Chen e Wang(2017)

Rafsanjani, Eskandari e Saeid(2015)

Hassani, Benkachcha e Benhra(2015)

(40)

38 Capítulo 1. Fundamentação teórica

1.3.5

Inicialização

No AG tradicional, a população inicial é gerada aleatoriamente, o que pode garantir certa diversidade, mas cria uma população de baixa qualidade. Por outro lado, buscas heurísticas aplicadas na inicialização geram boas soluções, mas podem reduzir a diversidade genética. A inicialização deve garantir certo equilíbrio entre diversidade e qualidade da população (WHITLEY, 2018). Os métodos de inicialização empregados nos estudos revisados estão relacionados no Quadro4. Mais da metade dos estudos utiliza a inicialização aleatória. Entre as heurísticas, destacamos o 3-opt, uma variante da busca k-opt. Nesse método, um circuito Hamiltoniano é quebrado em k sub-circuitos que são então reconectados encontrando-se a combinação de conexões que resulta no menor circuito possível. Esse método é utilizado na heurística Lin–Kernighan, uma das melhores heurísticas existentes para o PCV (HELSGAUN, 2009; WHITLEY, 2018).

Quadro 4 – Operadores de inicialização e seleção

Referência Inicialização Seleção

Singhal et al.(2020) Aleatória Torneio

Arram e Ayob(2019) Aleatória Roleta

Hussain e Muhammad(2019) Aleatória Split Rank Selection (SRS) Alipour et al.(2018) Multiagent Reinforcement Learning (MRL) Roleta

Eremeev e Kovalenko(2018) 3-opt Torneio

Liu e Li(2018) Greedy Permuting Method (GPM) Roleta

Tinos e Whitley(2018) 3-opt Torneio

Chawda e Patel(2017) Aleatória Torneio

Hussain et al.(2017) Aleatória Roleta

Eremeev e Kovalenko(2016) 3-opt Torneio

Singh, Singh e Singh(2016) Nearest Neighbor (NN) Seleção elitista

Wang et al.(2016) Aleatória Roleta

Pham e Huynh(2015) Aleatória Torneio

Hassani, Benkachcha e Benhra(2015) Aleatória Roleta

-Não foi possível determinar

Fonte: Elaborado pelo autor

1.3.6

Seleção

Existem diversos operadores de seleção, como roleta, torneio, ranqueamento, entre outros. No geral, a função do operador de seleção é privilegiar os melhores indivíduos para a reprodução. Ao mesmo tempo, deve evitar que a presença de indivíduos muito aptos impossibilite a reprodução dos demais, problema conhecido como pressão seletiva, que provoca convergência prematura do AG (MITCHELL, 1997).

O Quadro 4contém a relação dos operadores de seleção empregados nos trabalhos considerados. Diversas estratégias de seleção são empregadas, com destaque para o torneio. Nessa estratégia, k indivíduos aleatórios são escolhidos numa população deN indivíduos. O mais apto entre os k indivíduos é selecionado para a reprodução. Esse processo, chamado de turno, é repetido até queN− 1 indivíduos sejam selecionados. Por não ser um operador

(41)

1.3. Algoritmo Genético 39

de proporção, como a roleta, o torneio tolera valores negativos ou não normalizados de aptidão. O ajuste do tamanho do turno controla a pressão seletiva, pois quanto menor k, maiores são as chances dos menos aptos serem selecionados (GOLDBERG, 2002). Um comparativo dos principais operadores de seleção pode ser encontrado em Pandey (2016).

1.3.7

Reprodução

Assim como na reprodução natural, as características das soluções são transmitidas aos descendentes por meio do operador genético de recombinação, ou crossover. Na literatura, encontramos diversos tipos de operadores que, essencialmente, diferem no modo como as características dos país são transmitidas aos filhos. O Quadro 5contém os operadores de recombinação empregados nos trabalhos considerados. Um extenso survey sobre operadores de recombinação pode ser encontrado em Pavai e Geetha (2016).

Quadro 5 – Operadores de recombinação e mutação

Referência Recombinação Mutação

Singhal et al.(2020) PMX, OX Troca, Inversão

Arram e Ayob (2019) ABC, MPPMX, MPOX Troca

Hussain e Muhammad(2019) OX, CX, PMX Troca

Alipour et al. (2018) SMX Troca

Eremeev e Kovalenko(2018) ODEC 3-opt, 4-opt

Liu e Li(2018) 2p Troca

Tinos e Whitley(2018) SSCFX, GPX, GAPX 2-opt, 3-opt, double bridge

Chawda e Patel(2017) PMX Troca

Hussain et al.(2017) PMX, OX, CX, CX2

-Eremeev e Kovalenko(2016) OCX, ODEC 3-opt, 4-opt

Singh, Singh e Singh(2016) Inver-Over 2-opt

Wang et al.(2016) OX modificado Inversão

Pham e Huynh (2015) OX Inversão

Hassani, Benkachcha e Benhra(2015) PMX, ER, JMPX k-opt

-Não foi possível determinar

Fonte: Elaborado pelo autor

No geral, um bom operador de recombinação é aquele que consegue obter os me-lhores filhos possíveis a partir dos pais, o que é conhecido na literatura como Optimal Recombination Problem, ou em tradução livre, Problema da Recombinação Ótima (

ERE-MEEV; KOVALENKO, 2016). Num estudo sobre a relação entre representação alélica e

performance de algoritmos evolutivos, Radcliffe e Surry(1995) estabelecem e validam duas propriedades importantes para operadores de recombinação: respectful e transmit alleles. De acordo com os autores, um operador de recombinação é respeitoso (respectul), se, e somente se, todos os filhos herdam os alelos comuns aos pais; e um operador transmite alelos (transmit alleles), se, e somente se, todo alelo herdado está presente em pelo menos um dos pais. Trabalhos posteriores apresentam resultados que destacam a importância

(42)

40 Capítulo 1. Fundamentação teórica

dessas propriedades em relação ao Problema da Recombinação Ótima (WHITLEY; HAINS;

HOWE, 2009;EREMEEV; KOVALENKO,2019;TINÓS; WHITLEY; OCHOA,2019).

Sob a mesma perspectiva,Träff (2014) analisa diversos operadores de recombinação e heurísticas de busca do PCV, como LK e 2-opt. Ao final do trabalho, o autor apresenta os resultados de uma série de testes, reproduzidos na Tabela 2. As instâncias de teste utilizada são da TSPLIB (REINELT, 1991). Os operadores foram combinados com as heurísticas LK e 2-opt que aparecem entre parenteses antes ou depois do operador para indicar se a heurística foi empregada para gerar as soluções iniciais ou para refinar as soluções finais, respectivamente. O autor também aplicou o teste U de Mann-Whitney para avaliar a diferença estatística dos resultados e a rejeição da hipótese nula. Como podemos observar, o Generalized Partition Crossover (GPX) obteve os melhores resultados sempre que empregado. Por ser um trabalho de 2014, as versões mais recentes do PX, como o GPX2, não foram avaliadas nesse estudo.

Tabela 2 – Comparativo - Operadores de recombinação

Instância Algoritmo 1 Algoritmo 2 valor u Rejeição da hipótese nula Melhor algoritmo

kroA100 OX SCX (LK) 8 sim SCX (LK)

kroA100 GPX OX 0 sim GPX

kroA100 SCX (LK) GPX 10 sim GPX

kroA100 (LK) OX (2-opt) OX 20 sim (LK) OX

kroA100 (2-opt) OX OX 14 sim (2-opt) OX

kroA100 SCX (LK) SCX (2-opt) 26 não n/a

kroA100 (LK) SCX SCX (LK) 12 sim (LK) SCX

kroA100 (LK) SCX (2-opt) SCX 54 não n/a

kroA100 (LK) SCX (aleatório) SCX 59 não n/a

kroA100 SCX (LK) (LK) OX 84 sim (LK) OX

kroA100 (LK) SCX (LK) OX 59 não n/a

kroA100 (LK) SCX GPX 0 sim GPX pr439 SCX (LK) OX 0 sim GPX pr439 GPX OX 0 sim GPX pr439 GPX SCX (LK) 10 sim GPX pr439 (LK) OX (2-opt) OX 0 sim (LK) OX pr439 (LK) SCX (2-opt) SCX 8 sim (LK) SCX pr439 (LK) SCX SCX (LK) 22 sim (LK) SCX pr439 (LK) SCX (LK) OX 99 não n/a pr439 SCX (LK) (LK) OX 82 não n/a pr439 GPX (LK) SCX 5 sim GPX

n/anão aplicado

valor uResultado do teste U de Mann-Whitney

Tomamos a liberdade de traduzir os termos da tabela para o vernáculo. A tabela parece conter um erro na linha com a primeira instância pr439, onde o GPX apresenta o melhor resultado em um teste entre o SCX e OX.

Fonte: Reprodução:Träff(2014, p.59)

No Quadro 6 (próxima página), classificamos os operadores de recombinação em-pregados nos estudos considerados de acordo com essas propriedades. Como é possível observar, apenas os operadores OCX, ODEC, IPT e os operadores da família PX, que trataremos mais adiante, apresentam as propriedades respectfull e transmit alleles. Essas propriedades não determinam por si só o sucesso de um operador de recombinação, apenas indicam que o operador se aproveita exclusivamente do espaço de busca das soluções pais na tentativa de obter os melhores filhos possíveis (exploitation), deixando a exploração para

(43)

1.3. Algoritmo Genético 41

outras etapas do processo de busca, como a mutação, por exemplo. De fato, a aplicação de operadores dessa natureza não gera novas arestas na população, limitando significati-vamente a convergência. Qualquer AG com uso desse tipo de operador deve considerar alguma heurística de introdução de diversidade (SANCHES; WHITLEY; TINÓS, 2017a). Apesar de também apresentar essas duas propriedades, o IPT possui complexidade de tempo O(n2). Por outro lado, todos os operadores da família PX apresentam complexidade de tempo O(n). Outros operadores como o Edge Recombination operator (ER), proposto

por Whitley(1991) e o EAX, apresentam essas propriedades, mas eventualmente

introdu-zem novas arestas na construção das soluções filhas. Ainda assim, o AG com EAX já foi utilizado para resolver uma das maiores instâncias do PCV (WHITLEY, 2018).

Quadro 6 – Propriedades dos operadores de recombinação

Operador de recombinação Respeitoso Transmite alelos

2p Two Point Crossover Não Não

ABC Adjacency-Based Crossover Não Não

CX Cycle Crossover Não Não

EAX Edge Assembly Crossover Não Não ER Edge Recombination Operator Não Não IPT Iterative Partial Transcription Sim Sim

JMPX Jump Crossover Não Não

MPOX Multi Parent Order Crossover Não Não MPPMX Multi-Parent Partially Mapped Crossover Não Não OCX Optimized Cycle Crossover Sim Sim ODEC Optimized Directed Edge Crossover Sim Sim

OX Order Crossover Não Não

PMX Partially Mapped Crossover Não Não PX (GPX, GAPX, GPX2) operadores Partition Crossover Sim Sim SCX Sequential Constructive Crossover Não Sim SMX Smart Multipoint Crossover Não Não SSCFX Same-Site-Copy-First Crossover Não Não TCO Triple Crossover Operator Não Não

Fonte: Elaborado pelo autor

1.3.8

Mutação

Normalmente, a mutação promove a exploração do espaço de busca, criando diversidade e impedindo que o AG fique preso em ótimos locais (EIBEN; SCHIPPERS,

1998). Como podemos ver no Quadro 5 (página 39), a maioria dos trabalhos emprega operadores de mutação que geram perturbações por mecanismos simples como troca de vértices ou arestas e inversões de sub-circuitos. Os demais estudos aplicam variantes da heurística k-opt, discutida anteriormente, que além de refinar o indivíduo que sofre mutação, insere diversidade na população (novas arestas).

(44)

42 Capítulo 1. Fundamentação teórica

1.3.9

Parametrização

Na Tabela 3 estão apresentadas as parametrizações dos AGs empregados nos trabalhos considerados.N é a população inicial; Pc a probabilidade de recombinação e Pm

a probabilidade de mutação. Além do número de gerações, os estudos combinam outros critérios de parada como ciclos de CPU ou quando se alcança a melhor solução conhecida. O Quadro também contém a quantidade de execuções e de instâncias de teste, bem como o tamanho da menor e da maior instância.

Tabela 3 – Parametrização

Referência N Pc Pm Parada Execuções

Instâncias

Quantidade Menor Maior

Arram e Ayob(2019) 100 1 0,05 5000 30 20 51 318

Hussain e Muhammad(2019) 150 0,8 0,05 5000 30 10 33 561

Eremeev e Kovalenko(2018) 100 1 0,1 Tempo de CPU 1000 26 33 443

Dinesh et al.(2018) 100 0,7 0,1 100 50 8 51 724 Liu e Li(2018) 200 0,9 0,01 5000 10 4 105 127 Tinos e Whitley(2018) 300 1 * 1500 25 19 17 443 Chawda e Patel(2017) 64 1 0,4 N 10 8 14 200 Deng et al.(2017) 200 0,9 0,01 1000 30 28 29 8512 Wang et al.(2017) 400 0,9 0,2 200 20 7 14 3038 Hussain et al.(2017) 150 0,8 0,1 500 30 12 21 53

Singh, Singh e Singh(2016) 40 0,8 0,25 2000 10 14 52 442

Hassani, Benkachcha e Benhra(2015) 60 1 0,3 3000 40 10 51 280

Paul et al.(2015) 100 0,6 0,02 250 50 17 51 8512

NTamanho da população;

PcProbabilidade de recombinação, ou crossover ;

PmProbabilidade de mutação;

*Mutação ocorre quando a recombinação não produz melhora.

Fonte: Elaborado pelo autor

A parametrização do AG é em si um problema de busca. A maioria dos autores adota a estratégia de tentativa-e-erro para definir a melhor parametrização, observando a relação entre o parâmetro alterado e a convergência do AG. No entanto, como na maioria dos trabalhos, geralmente a taxa de reprodução é alta e a de mutação baixa. Também há uma relação entre o tamanho da população inicial, o tipo de problema e o tamanho da instância (PIERRE; ZAKARIA,2017).

1.4

Partition Crossover

Proposto por Whitley, Hains e Howe (2009), o Partition Crossover (PX) é a primeira versão de uma série de operadores de recombinação determinísticos projetados para o PCV. O PX1 apresenta as propriedades respectful e transmit alleles discutidas na Seção 1.3.7 (página 39). O PX encontra pontos de recombinação pela remoção de arestas duplas no grafo resultante da união das soluções pais, obtendo grafos disjuntos

1 A não ser menção em contrário, sempre que usarmos a sigla PX, estaremos nos referindo a todas as

(45)

1.5. Generalized Partition Crossover 2 43

chamados de componentes conectados. O PX então escolhe o melhor caminho dentro de cada componente e os reconecta com as arestas removidas, criando assim uma nova solução. Desse modo, utilizando k componentes, o operador é capaz de encontrar a melhor solução num conjunto de 2k− 2 soluções (subtrai-se as duas recombinações que resultam nos próprios pais). Dessa forma, o operador nunca retorna soluções piores que os pais e apresenta o que os autores chamam de tunelling, que é o salto entre regiões de ótimos locais no espaço de busca, frequentemente retornando ótimos quando ótimos locais são recombinados. Todas as versões do PX apresentam complexidade de tempo O(n).

Desde a introdução do PX, várias melhorias foram propostas. A primeira versão do PX era capaz de recombinar apenas dois componentes. Posteriormente, os autores introduziram o Generalized Partition Crossover (GPX) (WHITLEY; HAINS; HOWE,

2010), capaz de realizar a recombinação de mais de dois componentes, mas somente de componentes de duas entradas formadas por arestas duplas. Uma versão melhorada do GPX, chamada de GPX2 (SANCHES; WHITLEY; TINÓS, 2017b), integrava algumas melhorias propostas anos antes para uma variação do PX que tratava o PCV assimétrico, chamada de Generalized Asymmetric Partition Crossover (GAPX) (TINÓS; WHITLEY; OCHOA,

2014). As melhorias permitiam que o GPX2 encontrasse componentes conectados ligados por vértices de grau 4, além de possibilitar a identificação de componentes recombinantes com qualquer quantidade de entradas e saídas, utilizando o teste de igualdade do grafo interno. O GPX2 também testava se a fusão de dois componentes não-recombinantes vizinhos criava um componente recombinante, procedimento que também foi estendido para o GAPX (TINOS; WHITLEY, 2018). A versão mais recente do GPX2 incorpora mais alguma melhorias, como a busca em ordem direta e reversa dos país para encontrar mais componentes e a fusão de componentes não recombinantes aninhados com múltiplas entradas e saídas, além de otimizações na implementação do operador (TINÓS; WHITLEY;

OCHOA, 2019).

1.5

Generalized Partition Crossover 2

Nesta seção, descrevemos em mais detalhes a versão do PX considerada nesse trabalho, o GPX2 apresentado em (SANCHES; WHITLEY; TINÓS,2017b). Neste estudo, não consideramos a fusão de componentes não-recombinantes.

1.5.1

União das soluções pais

SejaGu o grafo resultante da união de dois circuitos hamiltonianos representados

pelos grafos A eB (Figura 4a2, próxima página). Como todos os vértices em cada circuito

2 Sempre que apresentarmos a sobreposição de duas soluções, usaremos traço contínuo azul para uma e

(46)

44 Capítulo 1. Fundamentação teórica

Figura 4 – Exemplo de recombinação no GPX2

a) Grafo Gu resultante da união das soluções pai; b) Criação dos vértices fantasma; c) Remoção das arestas duplas resulta em 4 componentes conectados; d) Componentes com arestas duplas internas; grafo simplificado interno do componente C3; e) Escolha do menor caminho em cada componente recombinante;

f) Solução obtida.

Fonte: Exemplo adaptado deSanches, Whitley e Tinós(2017a)

Hamiltoniano são necessariamente de grau 2, os vértices emGu podem ser de grau 2, 3 e

4. Podemos classificar as arestas em Gu como duplas, (ocorrem nos dois pais) e simples

(ocorrem apenas em um dos pais).

1.5.2

Criação de vértices fantasma

O primeiro passo consiste em duplicar os vértices de grau 4 em Gu. A duplicação é

feita em cada solução pai, criando-se uma aresta de custo 0 entre o vértice original e o vértice duplicado, chamado de vértice fantasma. Os vértices fantasma são criados antes ou depois do vértice original, dependendo do sentido em que se percorre o circuito. Então a duplicação é feita de modo consistente, escolhendo um mesmo sentido para os dois circuitos e criando o vértice fantasma sempre após (ou sempre antes) do vértice original. Esse procedimento cria arestas duplas emGu entre cada vértice original e seu respectivo vértice

fantasma. A criação dos vértices fantasma está ilustrada na Figura 4b. Nesse exemplo, considerando o sentido adotado, o vértice fantasma é criado antes do vértice original. Os vértices 1, 6, 9 e 16 são duplicados nos vértices fantasma 10, 60, 90 e 160, criando as arestas duplas (1, 10), (6, 60), (9, 90) e (16, 160), todas de custo 0. Como veremos adiante, a criação de vértices fantasma possibilita o particionamento do grafo Gu em mais componentes

(47)

1.5. Generalized Partition Crossover 2 45

1.5.3

Remoção de arestas duplas

A segunda etapa é a remoção das arestas duplas, o que resulta em grafos fechados disjuntos, chamados de componentes conectados. Caso a remoção de arestas duplas não resulte em pelo menos dois componentes, a recombinação não acontece. No exemplo da Figura 4, a remoção de arestas duplas resulta nos componentes C1, C2, C3 e C4 (Figura 4c). Podemos notar que a duplicação de vértices de grau 4 possibilitou que mais componentes fossem encontrados após a remoção das arestas duplas (1, 10) e (16, 160). Sem a criação de vértices fantasma, C1, C2 e C3 formariam um só componente após a remoção de arestas duplas. No entanto, nem toda duplicação de vértices gera divisão de componentes, como é o caso da remoção das arestas duplas (6, 60) e (9, 90).

1.5.4

Componentes conectados

Os autores demonstram que todo componente conectado é um ciclo de arestas alternadas de cada solução pai, chamado de ciclo AB (Figura4c). Se percorrermos uma das soluções, podemos notar que a solução entra em cada componente, visita todos os vértices, e então deixa o componente. Na Figura 4d mantivemos as arestas duplas que não geram particionamento para que seja possível observar os caminhos dentro de cada componente. Os vértices pelos quais a solução entra e sai do componente são chamados de vértices de entrada e saída. Como os vértices podem ser visitados somente uma vez, sempre existe um vértice de saída para cada vértice de entrada. O componente C1, por exemplo, possui apenas uma entrada e uma saída. Se considerarmos o sentido adotado, as soluções A eB

entram no componente C1 pelo vértice 16 e saem pelo vértice 11, mas visitam os vértices internos em ordem diferente (Evidentemente, o que chamamos de entrada ou saída muda de acordo com o sentido em que percorremos o circuito).

1.5.5

Identificação de componentes recombinantes

Uma forma de construir o melhor circuito utilizando as arestas duplas e sem introduzir novas arestas, seria escolher o caminho mais curto em cada componente e reconectar todos os caminhos escolhidos com as arestas duplas removidas. No entanto, precisamos verificar se é possível avaliar independentemente os caminhos dentro dos componentes, sem que a escolha de caminho dentro de um componente destrua o circuito Hamiltoniano a ser construído, isso é, precisamos determinar se o componente é um componente recombinante. Para tanto, os autores propõem dois testes. O primeiro verifica se o componente possui apenas uma entrada e uma saída. O segundo teste verifica se as soluções entram e saem do componente pelas mesmas entradas e saídas.

Em componentes de uma entrada e uma saída, as duas soluções necessariamente entram e saem do componente pelos mesmos vértices, então qualquer um dos dois caminhos

(48)

46 Capítulo 1. Fundamentação teórica

pode ser escolhido sem afetar a construção do circuito. Portanto, todo componente de uma entrada e uma saída é um componente recombinante.

Para determinar se um componente com múltiplas entradas e saídas é um com-ponente recombinante, os autores introduzem o conceito de grafo simplificado interno, que chamaremos apenas de grafo interno. O grafo interno simplifica o percurso de uma solução dentro de um componente e é construído substituindo-se cada caminho da solução dentro do componente por uma aresta simples. Os grafos internos das duas soluções para o componente C3 estão na Figura 4d (canto inferior esquerdo). Podemos observar que os grafos internos das duas soluções são iguais. Todo componente com grafos internos iguais entre as soluções é um componente recombinante, pois as soluções entram e saem do componente pelos mesmos pontos de entrada e saída, de modo que a escolha de um ou de outro caminho não afeta a construção do circuito.

No exemplo da Figura4, os componentes C1 e C2 são recombinantes pois possuem apenas uma entrada e uma saída. Os componentes C3 e C4 também são recombinantes, pois as duas soluções apresentam o mesmo grafo interno em cada componente.

O teste do grafo interno sempre identifica corretamente componentes recombinantes, no entanto, como veremos no próximo Capítulo, é possível demonstrar que existem componentes recombinantes que não são identificados pelo teste do grafo interno.

1.5.6

Recombinação

A Figura 4e contém as escolhas de caminho em cada componente recombinante. A Figura 4f contém a etapa final de recombinação, quando os caminhos escolhidos são reconectados pelas arestas duplas e, por fim, os vértices fantasma são removidos, formando uma solução filha. Na prática, não avaliamos a distância das arestas duplas, pois todas são copiadas para a solução filha. Os autores demonstram que o operador sempre gera circuitos Hamiltonianos com a recombinação de componentes identificados com o teste do grafo interno.

(49)

47

2 Material e Métodos

Neste Capítulo, discutimos a identificação de componentes recombinantes no GPX2 e a relação entre grafos simplificados e emparelhamentos perfeitos, um conceito da teoria dos grafos. A partir daí introduzimos testes adicionais de grafo que permitem a identificação de mais componentes recombinantes. Também demonstramos em quais circunstâncias os testes podem falhar e como isso pode ser contornado. Por fim, apresentamos o operador modificado e descrevemos os experimentos com algoritmo genético.

2.1

Grafo simplificado interno

Como discutimos anteriormente, um dado componente é recombinante caso seja possível escolher qualquer caminho de uma das duas soluções dentro do componente sem quebrar o circuito Hamiltoniano a ser formado. De acordo com Tinós, Whitley e Ochoa

(2019), o GPX2 identifica como recombinante os componentes em que as soluções apresen-tam o mesmo grafo interno. O grafo interno de uma solução é construído substituindo-se cada caminho entre os vértices de entrada e saída por uma aresta, obtendo-se assim um conjunto de arestas disjuntas que simplifica a solução dentro do componente. As Figuras 5b, 5c e 5d contêm os grafos internos das soluções A e B nos componentes do exemplo na Figura 5a, encontrados após a remoção de arestas duplas.

Figura 5 – Construção do grafo simplificado Fonte: Elaborado pelo autor

(50)

48 Capítulo 2. Material e Métodos

A Tabela 4 contém todas as possíveis escolhas de caminho (do pai A ou B) nos componentes desse exemplo. Como podemos observar, todas as combinações de caminhos nos componentes formam uma solução válida. Portanto, todos os componentes são recombinantes. No entanto, o GPX2 identifica como recombinante apenas o Componente 3, o único em que as duas soluções têm grafos internos iguais (Figura 5d, página anterior).

Tabela 4 – Recombinação de componentes

Componente Circuito 1 2 3 A A A Válido A A B Válido A B A Válido A B B Válido B A A Válido B A B Válido B B A Válido B B B Válido

Fonte: Elaborado pelo autor

2.2

Grafo simplificado externo

Neste estudo, por extensão, também consideramos o grafo simplificado externo. O grafo externo simplifica o caminho da solução do lado de fora do componente. Assim, a união do grafo interno e externo de uma mesma solução resulta em uma simplificação do circuito Hamiltoniano. Neste trabalho, faremos uso da representação ilustrada na Figura6. Os pontos sobre a linha pontilhada representam os vértices de entrada e saída do componente, chamados de portais. As arestas do grafo interno são desenhadas acima da linha pontilhada e as arestas do grafo externo são desenhadas abaixo. Cumpre notar que portais ocorrem aos pares, pois como os vértices são visitados somente uma vez, sempre existe uma saída para cada entrada. Quando um grafo interno possui uma aresta em comum com um grafo externo, dizemos que os grafos possuem uma aresta espelhada.

Figura 6 – Representação de grafos simplificados Fonte: Elaborado pelo autor

(51)

2.3. Emparelhamento perfeito 49

2.3

Emparelhamento perfeito

Um emparelhamento é o maior conjunto de arestas disjuntas em um grafo. Um emparelhamento é perfeito quando as arestas disjuntas visitam todos os vértices do grafo. Por conseguinte, só existem emparelhamentos perfeitos em grafos com quantidade par de vértices. Emparelhamentos são um importante tópico em teoria dos grafos, com base teórica bem estabelecida e aplicações em diversos problemas (WAKABAYASHI, 2017). Sabe-se, por exemplo, que todo circuito Hamiltoniano é formado pela união de dois emparelhamentos perfeitos disjuntos (STEFANES; RUBERT; SOARES, 2019).

Se considerarmos o grafo completo formado pelos portais de um componente, é possível observar que um grafo simplificado é um emparelhamento perfeito, pois os portais sempre ocorrem aos pares e as arestas dos grafos simplificados são disjuntas. Considerando essa equivalência, todas as observações sobre emparelhamentos são igualmente válidas para grafos simplificados e usaremos a mesma representação da Figura 6 (página anterior)

para emparelhamentos.

Em um estudo envolvendo emparelhamentos, Cygan, Kratsch e Nederlof (2013) introduzem uma matriz chamada de Matching Connectivity matrix, ou em tradução livre, matriz de conectividade de emparelhamentos, que doravante chamaremos apenas de matriz de conectividade. Para qualquer inteiro part≥ 2, a matriz de conectividadeHt correlaciona

todos os emparelhamentos perfeitos em um grafo completo de t vértices, de modo que o elemento Ht[Mi, Mj] assume o valor 1 caso a união dos emparelhamentos Mi eMj resulte

em um circuito Hamiltoniano, ou 0 caso contrário. A matriz de conectividade H6 está parcialmente reproduzida na Figura 7.

Figura 7 – Matriz de conectividade (H6) Fonte: (CYGAN; KRATSCH; NEDERLOF,2013)

(52)

50 Capítulo 2. Material e Métodos

De acordo comCygan, Kratsch e Nederlof (2018), para t= 2, MiMj resulta em

um circuito Hamiltoniano para quaisquer valores de i e j. Parat≥ 4, MiMj não resulta

em um circuito Hamiltoniano caso os emparelhamentos não sejam disjuntos, isso é, caso possuam uma ou mais arestas em comum, o que chamamos de arestas espelhadas.

A Figura 8 contém exemplos da união de emparelhamentos perfeitos em grafos de t = 4 e t = 6 vértices. Nos exemplos (a), (b) e (c), não há arestas espelhadas entre os emparelhamentos e as uniões resultam em circuitos Hamiltonianos. O exemplo (d) apresenta uma união com uma aresta espelhada, o que cria dois ciclos. Para os casos t= 4 et= 6, a disjunção entre os emparelhamentos é condição suficiente para queMiMj seja

um circuito Hamiltoniano.

Figura 8 – União de emparelhamentos perfeitos em grafos de t = 4 e t = 6 vértices Fonte: Elaborado pelo autor

Na matriz de conectividade H6 apresentada na Figura 7 (página anterior), a união de quaisquer dois emparelhamentos perfeitos disjuntos forma um circuito Hamiltoniano. Para t ≥ 8 essa condição é necessária, mas não é suficiente. Isso é o mesmo que dizer que todo circuito Hamiltoniano é a união de dois emparelhamentos perfeitos disjuntos, mas nem toda união de dois emparelhamentos perfeitos disjuntos forma um circuito Hamiltoniano (STEFANES; RUBERT; SOARES, 2019).

2.4

Identificação de componentes recombinantes

Existem apenas três padrões de grafo simplificado (ou emparelhamentos perfeitos) em componentes de quatro portais, apresentados na Figura9 (próxima página), os quais chamaremos de P1, P2 e P3. Sendo assim, existem nove casos possíveis de sobreposição dos padrões de grafos de duas soluções em um componente, a saber:P1/P1,P1/P2, P1/P3,

P2/P1,P2/P2,P2/P3,P3/P1,P3/P2 eP3/P3. Poderíamos, então, de modo similar à matriz de conectividade, correlacionar as sobreposições internas com as externas, como o que temos na Tabela5 (próxima página).

As linhas da tabela indicam a sobreposição dos grafos internos das duas soluções, e as colunas, a sobreposição dos grafos externos. A linhaP1/P3, por exemplo, contém os casos em que o grafo interno de uma solução está no padrãoP1 e o grafo interno da outra

(53)

2.4. Identificação de componentes recombinantes 51

Figura 9 – Possíveis padrões de grafo simplificado (ou emparelhamentos perfeitos) em componentes de quatro portais.

Fonte: Elaborado pelo autor

Tabela 5 – Sobreposições de duas soluções

P1/P1 P1/P2 P1/P3 P2/P1 P2/P2 P2/P3 P3/P1 P3/P2 P3/P3 P1/P1 - - - - V V - V V P1/P2 - - - i - i i - V P1/P3 - - - i V - i i -P2/P1 - i i - - - - i V P2/P2 V - V - - - V - V P2/P3 V i - - - - i i -P3/P1 - i i - V i - - -P3/P2 V - i i - i - - -P3/P3 V V - V V - - -

-VComponente válido para a recombinação (recombinante) iComponente inválido para a recombinação (não-recombinante) -Sobreposição inexistente

Fonte: Elaborado pelo autor

está no padrão P3. A coluna P1/P2, por sua vez, contém os casos em que o grafo externo de uma solução está no padrão P1 e o grafo externo da outra está no padrão P2.

Em decorrência das observações sobre união de emparelhamentos perfeitos em grafos det= 4 vértices, a união de dois desses padrões, um interno e outro externo, sempre cria um circuito Hamiltoniano (Figura 10), pois os três padrões são disjuntos. Evidentemente, unir padrões iguais não cria um circuito Hamiltoniano devido ao espelhamento de arestas. Logo, não existem soluções com grafos interno e externo iguais. Esses casos estão assinalados com hífen (-) na Tabela 5.

Figura 10 – Combinações de padrões de grafo simplificado em componentes com quatro portais.

a) P1∪ P2; b) P1∪ P3; c) P2∪ P3.

Referências

Documentos relacionados

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

Além do teste de força isométrica que foi realiza- do a cada duas semanas, foram realizados testes de salto vertical (squat jump e countermovement jump), verificação da

Desconto de 5% (cinco por cento) sobre a remuneração de cada trabalhador no mês de agosto de 2011, sendo que deste percentual será repassado 0,5% (meio por

16- - - - Licença para a realização da Festa em Honra de Nossa Senhora da Graça Licença para a realização da Festa em Honra de Nossa Senhora da Graça Licença para a

Comparativamente, neonatos que não possuem um correto desenvolvimento da microbiota terão maior chance de desenvolver doenças haja visto que quanto a obesidade,