AlgoritmosdeSoluçãoparaoProblemado ......Algoritmos de solução para o problema do caixe iro...

59
Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação Algoritmos de Solução para o Problema do Caixeiro Viajante com Passageiros e Quota Jean Gleison de Santana Silva Natal-RN Julho de 2017

Transcript of AlgoritmosdeSoluçãoparaoProblemado ......Algoritmos de solução para o problema do caixe iro...

Universidade Federal do Rio Grande do NorteCentro de Ciências Exatas e da Terra

Departamento de Informática e Matemática AplicadaPrograma de Pós-Graduação em Sistemas e Computação

Algoritmos de Solução para o Problema doCaixeiro Viajante com Passageiros e Quota

Jean Gleison de Santana Silva

Natal-RNJulho de 2017

Jean Gleison de Santana Silva

Algoritmos de Solução para o Problema do CaixeiroViajante com Passageiros e Quota

Dissertação de Mestrado apresentada ao Pro-grama de Pós-Graduação em Sistemas e Com-putação do Departamento de Informática eMatemática Aplicada do Centro de CiênciasExatas e da Terra da Universidade Federaldo Rio Grande do Norte como requisito par-cial para a obtenção do grau de Mestre emSistemas e Computação.

Orientador(a)Marco Cesar Goldbarg

Universidade Federal do Rio Grande do Norte – UFRNDepartamento de Informática e Matemática Aplicada – DIMAp

Natal-RNJulho de 2017

Catalogação da Publicação na Fonte. UFRN / SISBI / Biblioteca Setorial

Especializada do Centro de Ciências Exatas e da Terra – CCET.

Silva, Jean Gleison de Santana.

Algoritmos de solução para o problema do caixeiro viajante com passageiros e

quota / Jean Gleison de Santana Silva. – Natal, RN, 2017.

58f. : il.

Orientador: Marco Cesar Goldbarg.

Coorientador: Elizabeth Ferreira Gouvêa Goldbarg.

Dissertação (mestrado) – Universidade Federal do Rio Grande do Norte. Centro

de Ciências Exatas e da Terra. Departamento de Informática e Matemática Aplicada.

Programa de Pós-Graduação em Sistemas e Computação.

1. Algoritmos – Dissertação. 2. Caixeiro viajante com passageiros – Dissertação.

3. Programação inteira – Dissertação. 4. Algoritmos evolucionários – Dissertação. I.

Goldbarg, Marco Cesar. II. Goldbarg, Elizabeth Ferreira Gouvêa. III. Título.

RN/UF/BSE-CCET CDU 004.021(043.3)

JEAN GLEISON DE SANIANA SILVA

Algoritmos de Solução para o Problema do Caixeiro Viajante

conl Passageiros e Quota

Esta Dissertação foi julgada adequada para a obtenção do titulo de mestre em

Sistemas e Cornputaçào e aprovada etn sua forma final pelo Programa de Pós-

Graduaçào em Sistemas e Cotnputaçào do l)epartanwnto de Infortnática e Matemática

Aplicada da Unive s idade Federal do Rio Gr' e do Norte.

Dr. Marco sar are — UFRN

Presiden e)

Dr. Bruno Motta de - UFRN

(Coordenador do Programa)

Banc: Exntninndora

Dra. Elizabet Fe reira Gouvea -

(Exa inadora)

Dra. Silvia Maria niz Monteiro Mata• -UFRN(Examinadora)

Dr. M' heus da Iva Menezes UFERSA(Examinador)

Julho, 2017

Aos meus pais e a todos que me deram apoio nessa longa caminhada.

Agradecimentos

Primeiramente a Deus, pois ele quem nós dá força pra seguir em frente nosmomentos mais difíceis de nossas vidas.

Aos professores D.Sc. Marco César Goldbarg e D.Sc. Elizabeth Ferreira GouvêaGoldbarg pela grande oportunidade de aprender um pouco com eles, pelas críticas constru-tivas e pelo compartilhamento de ideias e saberes que contribuiu bastante para a conclusãodeste trabalho e também para a minha formação. Agradeço também pelos conselhos eapoio na tomada de decisões em questões pessoais.

A professora Dra Sílvia Maria Diniz Monteiro Maia pelo apoio e empenho ematender as demandas do Laboratório de Algoritmos Experimentais (LAE), tornandopossível a realização desse trabalho. Agradeço também pela honra de ter aceitado o convitepara compor a banca de defesa dessa dissertação e pela contribuição dada na qualificação.

Ao professor Dr. Matheus da Silva Menezes pela contribuição dada na qualificaçãoe por ter aceito o convite para compor a banca de defesa dessa dissertação.

Ao colegas de pós, em especial, Zailton Calheiros, Zé Filho, Lucas Daniel, EmersonCarvalho, Romerito Campos, Ronildo Moura e Augusto Lustosa, pelo conhecimentocompartilhado e momentos de descontração.

Aos meu pais Edneide Bezerra de Santana e Francisco das Chagas Silva quesempre me dão força para alcançar todos os meus objetivos.

A minha namorada Cláudia Bezerra Silva, por todo amor, carinho e compreensão.Ao DIMAp e seus funcionários por toda estrutura e apoio.A CAPES pelo apoio financeiro para o desenvolvimento dessa pesquisa.

“Não podemos resolver problemas usandoo mesmo tipo de pensamento que usamos quando

os criamos.”

Albert Einsten

Algoritmos de Solução para o Problema do CaixeiroViajante com Passageiros e Quota

Autor: Jean Gleison de Santana SilvaOrientador(a) : Marco Cesar Goldbarg

RESUMOO Problema do Caixeiro Viajante com Passageiros e Quota pertence à classe de Problemasdo Caixeiro Viajante com Quota. Neste problema, considera-se uma vantagem econômicaquando o caixeiro, viajando em um veículo privado, embarca passageiros que passam adividir as despesas da viagem com ele. O modelo pode representar situações reais ondeo motorista tem uma rota de visita de cidade predefinida, na qual a cada cidade estáassociado um bônus, sendo demandada a coleta de um valor mínimo desses bônus, nafunção objetivo da variante investigada leva-se em conta a possibilidade da redução doscustos do caixeiro embarcando pessoas em seu veículo. Um modelo matemático, seisalgoritmos evolucionários, um GRASP e um heurístico são apresentados para o problema.O comportamento dos algoritmos propostos é analisado em um experimento computacionalcom 48 instâncias.

Palavras-chave: Caixeiro Viajante com Passageiros. Programação Inteira. AlgoritmosEvolucionários.

Solution Algorithms for The Traveling SalesmanProblem with Rideshare and Quota

Author: Jean Gleison de Santana SilvaAdvisor: Marco Cesar Goldbarg

ABSTRACTThe Traveling Salesman Problem with Ridesharing and Quota belongs to the class of QuotaTraveling Salesman problems. In this problem, it is considered the economic advantageachieved when the salesman, traveling in a private vehicle, gives ride to passengers whoshare travel expenses with him. The model can represent real situations where a driverprograms a route to visit cities, each of which associated with a bonus, with the requirementof collecting a minimum sum of bonuses and taking into account the possibility of reducingcosts due to people embarked in his vehicle. A math model, six evolutionary algorithms, aGRASP and one heuristic are presented for the problem addressed. The behavior of theproposed algorithms is analyzed on a computational experiment with 48 instances.

Keywords: Traveling salesman with passengers. Integer programming. Evolutionaryalgorithms.

Lista de ilustrações

Figura 1 – Representação do cromossomo. . . . . . . . . . . . . . . . . . . . . . . 29Figura 2 – Recombinação entre dois cromossomos. . . . . . . . . . . . . . . . . . . 30

Lista de tabelas

Tabela 1 – Intervalos de cada parâmetro submetidos ao irace. . . . . . . . . . . . . 38Tabela 2 – Parâmetros sugeridos pelo irace para os algoritmos evolucionários. . . . 38Tabela 3 – Conjunto de referência com as melhores soluções. . . . . . . . . . . . . 39Tabela 4 – Limites inferior e superior das instâncias executadas pelo solver Gurobi. 41Tabela 5 – Resultados obtidos pela heurística NAIVE. . . . . . . . . . . . . . . . 42Tabela 6 – p-valores computados pelo teste de Friedman para cada grupo de instância. 42Tabela 7 – p-valores de Shaffer computados para comparação dois a dois dos

algoritmos de solução para intâncias simétricas. . . . . . . . . . . . . . 43Tabela 8 – Mediana das medianas para cada grupo de instâncias. . . . . . . . . . 43Tabela 9 – p-valores obtidos do Mann-Whitney para o conjunto de instâncias

assimétricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Tabela 10 – Média das soluções de cada algoritmos para o conjunto de instâncias

assimétricas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Tabela 11 – Resultados do algoritmo GEN-SPLIT para instâncias simétricas. . . . . 45Tabela 12 – Resultados do algoritmo GEN-SCX para instâncias simétricas. . . . . . 46Tabela 13 – Resultados do algoritmo GEN-SCX-BASED para instâncias simétricas. 47Tabela 14 – Resultados do algoritmo MEM-SPLIT para instâncias simétricas. . . . 48Tabela 15 – Resultados do algoritmo MEM-SCX para instâncias simétricas. . . . . 49Tabela 16 – Resultados do algoritmo MEM-SCX-BASED para instâncias simétricas. 50Tabela 17 – Resultados do GRASP para instâncias simétricas. . . . . . . . . . . . . 51Tabela 18 – Resultados do algoritmo GEN-SPLIT para instâncias assimétricas. . . 51Tabela 19 – Resultados do algoritmo GEN-SCX para instâncias assimétricas. . . . . 52Tabela 20 – Resultados do algoritmo GEN-SCX-BASED para instâncias assimétricas. 52Tabela 21 – Resultados do algoritmo MEM-SPLIT para instâncias assimétricas. . . 52Tabela 22 – Resultados do algoritmo MEM-SCX para instâncias assimétricas. . . . 52Tabela 23 – Resultados do algoritmo MEM-SCX-BASED para instâncias assimétricas. 52Tabela 24 – Resultados do GRASP para instâncias assimétricas. . . . . . . . . . . . 53

Lista de abreviaturas e siglas

PTP – Profitable Tour ProblemOP – Orienteering ProblemPCTSP – Prize-Collection Traveling Salesman ProblemPCVPQ – Problema do Caixeiro Viajante com Passageiros e QuotaTSPRQ – Traveling Salesman Problem with Ridesharing and QuotaRAM – Random Access Memoryg++ – GNU C++ Compiler

Lista de Algoritmos

1 Heurística de carregamento ótimo para o PCVPQ. . . . . . . . . . . . . . . 282 GRASP para o PCVPQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Procedimento de reparo de um cromossomo. . . . . . . . . . . . . . . . . . . 334 Heurística de carregamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Arquitetura do algoritmo genético. . . . . . . . . . . . . . . . . . . . . . . . 346 Arquitetura do algoritmo memético. . . . . . . . . . . . . . . . . . . . . . . 35

Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1 Objeto de Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2 Procedimentos Metodológicos . . . . . . . . . . . . . . . . . . . . . 151.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.1 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . 18

2 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . 192.1 Problemas de Roteamento com Coleta de Bônus . . . . . . . . . 192.1.1 Profitable Tour Problem (PTP) . . . . . . . . . . . . . . . . . . . . . . 192.1.2 Orienteering Problem (OP) . . . . . . . . . . . . . . . . . . . . . . . . 202.1.3 Prize-Collection Traveling Salesman Problem (PCTSP) . . . . . . . . 202.2 Problemas de Transporte Solidário . . . . . . . . . . . . . . . . . . 202.3 O Problema de Ridesharing . . . . . . . . . . . . . . . . . . . . . . 21

3 PROBLEMA DO CAIXEIRO VIAJANTE COM PASSAGEI-ROS E QUOTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Definição do problema . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4 ALGORITMOS DE SOLUÇÃO PARA O PCVPQ . . . . . . . 274.1 Método Exato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 Heurística de Carregamento Ótimo (NAIVE) . . . . . . . . . . . 274.3 GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.4 Algoritmos Evolucionários para o PCVPQ . . . . . . . . . . . . . 284.5 Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . 294.5.1 Representação do Cromossomo . . . . . . . . . . . . . . . . . . . . . . 294.5.2 Inicialização e Seleção . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.5.3 Cruzamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.5.3.1 Recombinação SPLIT (GEN-SPLIT) . . . . . . . . . . . . . . . . . . . . . 304.5.3.2 Cruzamento Sequencial Construtivo (GEN-SCX) . . . . . . . . . . . . . . . 304.5.3.3 Cruzamento Sequencial Construtivo Modificado (GEN-SCX-BASED) . . . . 314.5.4 Mutação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.5.5 Critério de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.5.6 Procedimento de Reparação da Solução . . . . . . . . . . . . . . . . . 324.5.7 Heurística de Carregamento . . . . . . . . . . . . . . . . . . . . . . . . 32

4.6 Algoritmos Meméticos . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 EXPERIMENTOS E RESULTADOS . . . . . . . . . . . . . . . 365.1 Experimentos Computacionais . . . . . . . . . . . . . . . . . . . . . 365.1.1 Sobre o Banco de Instâncias . . . . . . . . . . . . . . . . . . . . . . . . 365.1.2 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . 546.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

15

1 Introdução

O presenta capítulo está organizado em quarto seções nas quais descrevem, res-pectivamente o objeto de estudo da pesquisa; os procedimentos metodológicos utilizadospara solução do problema investigado e as contribuições desta pesquisa; os objetivos e porfim, a organização do trabalho.

1.1 Objeto de EstudoA classe de problemas de roteamento com coleta de bônus, introduzida por

(BALAS, 1989), se trata de problemas de otimização combinatória caracterizados porsua definição através de grafos com bônus associados aos seus vértices nos quais não háobrigação de visita de qualquer vértice em especial.

O Problema do Caixeiro Viajante com Passageiros e Quota (PCVPQ) tambémdenominado Traveling Salesman Problem with Ridesharing and Quota (TSPRQ) inclui notradicional problema de roteamento com coleta de bônus, a consideração do valor econômicorelativo ao aproveitamento do potencial do transporte solidário associado ao eventualcompartilhamento do carro do motorista. Levando em consideração a representação doproblema através de grafos, o motorista não é obrigado a visitar qualquer vértice específico,no entanto, a coleta total de bônus feita nos vértices escolhidos, devem atender à umaquota mínima pré-estabelecida. Dessa forma, a escolha dos vértices a serem visitados pelocaixeiro, bem como a rota empregada para tal visita, depende tanto dos bônus que sãorecolhidos em cada vértice, como da possível economia decorrente do potencial embarquede passageiros nos vértices visitados. A contribuição de cada passageiro no custo total daviagem é calculada em função da rota escolhida, não podendo exceder o valor limite queeste está disposto a pagar pela viagem, uma vez que o PCVPQ não objetiva diretamentelucro, mas a redução de custos.

O PCVPQ tem um grande impacto socioeconômico, de um lado beneficia moto-ristas e passageiros pela redução dos custos da viagem e por outro, contribui na reduçãode emissões de poluentes, assim como na diminuição do fluxo de carros nas vias.

1.2 Procedimentos MetodológicosOtimização consiste em encontrar um máximo ou mínimo de uma determinada

função que está definida em um certo domínio. Nesse sentido, a otimização combinatória,onde o domínio é normalmente finito, pode parecer um problema simples de se resolverencontrando a melhor solução contida no número finito de possibilidades. Essas possibili-

Capítulo 1. Introdução 16

dades podem, por exemplo, incluir todos os ciclos Hamiltonianos de um grafo completo.Listar todas a possibilidades para encontrar a melhor solução dentre elas é uma práticaum tanto inviável, mesmo para instâncias de tamanho razoável (GRÖTSCHEL; LOVÁSZ,1993).

Nos casos em que a solução é muito difícil de encontrar, algoritmos heurísticospodem ser utilizados para encontrar uma solução aproximada(GRÖTSCHEL; LOVÁSZ,1993). Segundo (GOLDBARG; GOLDBARG; LUNA, 2016), heurística é uma técnicaaproximativa que objetiva encontrar uma solução aproximada utilizando um esforço com-putacional admissível para um determinado problema, sendo capaz de garantir viabilidadeou até mesmo a otimalidade da solução encontrada, dependendo das condições.

Meta-heurística é uma arquitetura geral de regras que pode servir de base para oprojeto de heurísticas em geral (GOLDBARG; GOLDBARG; LUNA, 2016). Os AlgoritmosEvolucionários são uma classe de meta-heurísticas que trabalham em iterações, chamadasde gerações e operam sob um espaço de busca 𝑆, onde cada ponto do conjunto 𝑆 é umapossível soluções para o problema em questão. Uma espécie de pontuação é atribuída acada solução de 𝑆 através do uso de uma função 𝑓 , chamada de função fitness. A cadageração é constituída uma nova população 𝑃 , onde 𝑃 é uma coleção de elementos de 𝑆, ecada elemento de 𝑃 é chamado de indivíduo. Dessa forma, pela definição, 𝑃 pode contervárias cópias de indivíduos. A renovação de 𝑃 a cada geração é feita através da seleção dealguns de seus indivíduos que irão gerar novos pontos de 𝑆. Esses indivíduos selecionadossão chamados de pais, que vão gerar novos indivíduos. Geralmente, os melhores indivíduosde 𝑃 são mantidos em 𝑃 , e os piores tendem a ser substituídos pelos novos (JANSEN,2013). Os Algoritmos Evolucionários têm se mostrado uma ferramenta útil e eficiente emvárias aplicações práticas. Um bom exemplo é o Problema do Caixeiro Viajante. Dentreos algoritmos evolucionários mais conhecidos destacam-se os Algoritmos Genéticos (AGs)(WHITLEY; SUTTON, 2012) e os Algoritmos Genéticos Híbridos, também chamados deMeméticos (AMs) (EL-MIHOUB et al., 2006; NERI; COTTA, 2012). Os AMs são umavariante já reconhecida como promissora pelo estado da arte (ONG; KEANE, 2004).

O termo Algoritmo Genético (AG) foi inicialmente utilizado por Holland (1975).O GA é eficiente na solução de problemas de otimização combinatória devido a sua grandecapacidade de diversificação de suas soluções, no entanto em algumas situações encontradificuldades para realizar a intensificação (HORN; GOLDBERG, 1994). De modo geral,o AG inicia com uma população de indivíduos (conjunto inicial de soluções) e a cadaiteração evolui essa população para uma nova geração, geralmente com melhores indivíduos.O processo de renovação da geração é feito como descrito anteriormente, tal como nametáfora evolutiva, a cada iteração indivíduos são selecionados para fazer recombinação oucruzamento, repassando suas características para seus filhos gerados, que por sua vez sãoincorporados à população atual. Após o processo de cruzamento, cada indivíduo geradopode sofrer uma mutação. O processo de seleção é feito após o cruzamento dos indivíduos

Capítulo 1. Introdução 17

selecionados, dando origem a uma nova geração. O critério de parada do AG pode sero número de gerações que se quer alcançar até extrair o melhor indivíduo da geraçãoresultante.

Antes de falar de Algoritmo Memético (AM) é necessário definir o termo meme,cunhado por Dawkins (1976) para representar uma unidade de informação codificadaem formato não genético ou mesmo uma unidade de informação cultural. O AlgoritmoMemético é uma variante do Algoritmo Genético que inclui uma função de melhoria após osprocessos de recombinação e mutação. Na fase de evolução do AM, é permitida a herançade características adquiridas, além disso, qualquer melhoria obtida por um cromossomo épassível de transmissão (GOLDBARG; GOLDBARG; LUNA, 2016).

GRASP, do Inglês (Randomized Adaptive Search Procedures) é uma meta-heurísticaiterativa usada em problemas de combinatória onde cada iteração consiste em duas fases:construção e busca local. A primeira fase, construção, é responsável por construir umasolução válida de forma gulosa e aleatória. Na busca local, segunda fase, um procedimentode busca local é usado para explorar a vizinhança da solução obtida na primeira fase atéencontrar um mínimo local. A melhor solução encontrada é armazenada e esse procedimentoé repetido várias vezes (GENDREAU; POTVIN, 2010).

O GRASP é uma meta-heurística de fácil adaptação e implementação, dependendodo problema de otimização que se que atacar. Além disso, suas fases não dependem umada outra, o que permite a composição de procedimentos construtivos com estratégias debusca local (GOLDBARG; GOLDBARG; LUNA, 2016).

Tendo em vista que o PCVPQ é um problema de otimização combinatória, essetrabalho propõe uma formulação de modelo matemático para o problema. Nesse sentido, osAlgoritmos Evolutivos tendem a ser uma boa alternativa para esse tipo de problema, assim,esse trabalho optou por usar o GA, e AM como ferramenta para solucionar o PCVPQ,bem como o GRASP, em função de sua fácil adaptação e implementação aos problemas deotimização combinatória (GOLDBARG; GOLDBARG; LUNA, 2016).

Nesse sentido, dentre as contribuições dessa pesquisa podemos destacar a proposi-ção de um modelo matemático para o PCVPQ. Uma heurística NAIVE, três versões dealgoritmo genético, três versões de algoritmo memético, e uma implementação do GRASP.

Como mencionado anteriormente o PCVPQ é um problema que reúne caracte-rísticas de dois problemas: o clássico Problema de Roteamento com Coleta de Bônuse o Ridesharing, que serão abordados no capítulo seguinte. Nesse sentido, procurou-seabordagens já apresentadas para ambos problemas para servir de base para a concepção dasolução do problema. Esse trabalho contribui para pesquisas futuras em otimização de pro-blemas de roteamento aliado com Ridesharing. Além disso, outra importante contribuiçãoé uma base de instâncias para o problema proposto.

Em um dos capítulos desse trabalho trata-se dos experimentos computacionaispara a comprovação da eficiência dos algoritmos desenvolvidos para solução do PCVPQ.

Capítulo 1. Introdução 18

A análise experimental é fundamentada na comparação dos resultados dos algoritmosdesenvolvidos com um conjunto de referência, que foi construído a partir das melhoressoluções encontradas pela junção das soluções obtidas pelos métodos aqui usados, umavez que o problema é novo e não existem casos de teste ou abordagens de solução pararesolvê-lo, até onde compreende o autor.

1.3 Objetivos

1.3.1 Objetivos Gerais

O objetivo geral desta dissertação é modelar e sugerir algoritmos de solução parauma nova variante do Problema do Caixeiro Viajante com Quota que adiciona caracterís-ticas de um problema de roteamento, o ridesharing ou em Português, Caronas Solidárias,presentemente denominado Caixeiro Viajante com Passageiros e Quota (PCVPQ).

1.3.2 Objetivos Específicos

∙ Produzir informações para suportar futuras pesquisas no tema, através da definiçãodo problema e apresentação dos trabalhos relacionados;

∙ Desenvolver o modelo matemático do problema;

∙ Desenvolver algoritmos de solução para o problema para servir de inspiração ouponto de partida para pesquisas futuras no tema.

1.4 Organização do TrabalhoEste trabalho se divide em 6 capítulos. O Capítulo 1 introduz de forma breve a

origem e importância do problema aqui abordado, assim como os objetivos almejados nodesenvolvimento dessa pesquisa. No Capítulo 2 são apresentados trabalhos da literaturarelacionados ao tema desta dissertação.

O Capítulo 3 descreve o Problema do Caixeiro Viajante com Passageiros e Quotade forma detalhada e apresenta também um modelo matemático para o problema.

O Capítulo 4 descreve os algoritmos usados na resolução do PCVPQ, onde éapresentado um método exato, uma heurística e 7 algoritmos metaheurísticos.

No Capítulo 5, descreve-se a metodologia empregada para os experimentos com-putacionais, assim como os resultados obtidos.

Finalmente, no Capítulo 6, são apresentados as considerações finais e trabalhosfuturos.

19

2 Trabalhos Relacionados

Este capítulo descreve alguns trabalhos da literatura mais relevantes para acontextualização do problema proposto nesta dissertação. São apresentados alguns conceitosrelacionados ao problema do transporte solidário e ridesharing.

2.1 Problemas de Roteamento com Coleta de BônusOs problemas de roteamento com coleta de bônus, do Inglês Traveling Salesman

Problem with Profits (TSPP), são definidos em grafos com bônus associados aos vértices.O motorista não é obrigado a visitar qualquer vértice específico do grafo, contudo deverealizar um ciclo hamiltoniano que permita recolher pelo menos uma quota conhecida debônus (AWERBUCH et al., 1998). Essa classe de problemas foi introduzida por Balas(1989). Awerbuch et al. (1998) estuda um caso de coleta semelhante ao presentementeproposto e é denominado como Quota Traveling Salesman Problem. No tema, destacam-seos trabalhos de Ausiello et al. (2004) que relata um algoritmo para o The On-Line QuotaTraveling Salesman Problem, bem como no trabalho de Yu, Liu e Bao (2014), qual investigaalgoritmos determnísticos ótimos para algumas variantes do Problema do Caixeiro Viajantecom Quotas On-Line.

Jozefowiez, Glover e Laguna (2008) introduz uma nova abordagem para o Problemado Roteamento com Coleta de Bônus multiobjetivo que lida com dois objetivos conflitantes:minimizar o tamanho do tour e maximizar a coleta de bônus. Sua abordagem consiste emum algoritmo evolucionário multiobjetivo combinado a uma busca local ejection chain parageração de soluções iniciais diversificadas. O seu método híbrido é validado comparando-seas soluções obtidas com boas soluções mono-objetivas obtidas da literatura.

Segundo Jozefowiez, Glover e Laguna (2008), da perspectiva mono-objetivo, po-demos definir, de forma geral, três problemas de Caixeiro Viajante com coleta bônus:Profitable Tour Problem (PTP), Orienteering Problem (OP) e Prize-Collection TravelingSalesman Problem (PCTSP).

2.1.1 Profitable Tour Problem (PTP)

O Profitable Tour Problem (PTP), inicialmente proposto por Dell’Amico, Maffiolie Värbrand (1995), é um problema que envolve um único veículo e um bônus associado àcada cidade (profit). O objetivo é determinar uma rota, que seja um ciclo hamiltoniano,que minimiza a diferença entre o custo total da viagem e o bônus coletado.

Capítulo 2. Trabalhos Relacionados 20

2.1.2 Orienteering Problem (OP)

O Orienteering Problem (OP) (CHAO; GOLDEN; WASIL, 1996), também co-nhecido como Selective Traveling Salesman Problem (STSP) (LAPORTE; MARTELLO,1990), consiste em definir uma rota, que seja um ciclo hamiltoniano, de forma a maximizara coleta de bônus levando em consideração um tempo limite para completar a viagem.

O nome Orienteering Problem (OP) originou-se do esporte orienteering, ondecompetidores individuais começam a prova em um ponto específico, tentando alcançaro máximo de marcos de percurso (checkpoints), e retornando ao mesmo ponto de inícioem um certo tempo. Cada checkpoint tem uma pontuação e o objetivo é maximizar ototal de pontos coletados nesses marcos. Dessa forma, o OP é uma combinação da seleçãode vértices e a determinação do menor caminho hamiltoniano considerando o vérticesde partida e os marcos da prova (VANSTEENWEGEN; SOUFFRIAU; OUDHEUSDEN,2011).

2.1.3 Prize-Collection Traveling Salesman Problem (PCTSP)

O Prize-Collection Traveling Salesman Problem (PCTSP) (BALAS, 1989) consi-dera uma coleta mínima de bônus 𝑝𝑚𝑖𝑛 como restrição. O objetivo do PCTSP é encontraruma rota, sendo um ciclo hamiltoniano, que minimiza o custo da viagem do caixeiro ecuja coleta de bônus obtida no percurso não seja menor que 𝑝𝑚𝑖𝑛.

2.2 Problemas de Transporte SolidárioO transporte solidário incentiva o compartilhamento de um veículo por diferentes

pessoas que tenham um destino de viagem ou parte do trajeto em comum. Os sistemasde transporte público ou privado podem ser considerados casos especiais do transportesolidário, entretanto o foco do transporte solidário é o compartilhamento de veículos depropriedade privada sem fins lucrativo. A prática desse tipo de transporte possibilitauma série de vantagens para todas as partes envolvidas, motoristas donos dos veículos epassageiros podem ser beneficiados por: redução de custos e do tempo de viagem, aumentodo conforto e segurança dos passageiros embarcados. Adicionalmente benefícios ambientaissão alcançados através da redução da poluição e diminuição do fluxo de carros nas vias,contribuindo para um trânsito mais fluido. O transporte solidário é incentivado em paísescomo os Estados Unidos, Canadá e alguns estados da União Europeia (NOURINEJAD,2014).

Segundo Nourinejad (2014) existem diferentes modalidades de serviços de trans-porte emergentes que incorporaram o consumo colaborativo em seus modelos de negócio,tais como bikesharing, carsharing, ridesharing, personal vehicle sharing, carpooling, slugginge taxi-sharing. O Bikesharing e o carsharing possibilita o uso de bicicletas e veículos,

Capítulo 2. Trabalhos Relacionados 21

respectivamente, a indivíduos que não se preocupam com os custos e responsabilidades deproprietário. O Ridesharing consiste em combinar motoristas com passageiros em sua rota,que vão dividir os custos da viagem. No Personal vehicle sharing indivíduos têm acessoa curto prazo a veículos de propriedade privada. O carpooling é o compartilhamento deviagens diárias específicas como ir ao trabalho. O Slugging é uma variação do ridesharingonde é feita a prática informal do carpooling para tirar vantagens da máxima ocupação doveículo e redução de pedágios. A carona é oferecida informalmente em filas localizadasnas proximidades do acesso à pista. Finalmente o taxi-sharing é o compartilhamento deviagens em taxis. Indivíduos com rotas comuns dividem o custo da viagem pago ao taxista.

2.3 O Problema de RidesharingA popularização do ridesharing nos últimos anos deu-se principalmente em função

do uso de Smartphones que possibilitou o uso em massa do GPS, e redes sociais (AMEY;ATTANUCCI; MISHALANI, 2011). Alguns aplicativos foram desenvolvidos para facilitaçãoda reunião de caronas e motoristas como: Uber, BlaBlaCar, Zanzu, Carona Direta, Meleva,dentre outros.

O problema de ridesharing é definido de várias formas na literatura (AMEY;ATTANUCCI; MISHALANI, 2011). De uma forma geral, corresponde ao problema dereunir duas ou mais pessoas para partilhar uma única viagem em um veículo, sem levar emconta um acordo prévio ou um histórico de cooperação (DAILEY; LOSEFF; MEYERS,1999). O problema é tradicionalmente aplicado ao transporte com o uso de carros e implica,na prática, na reunião de um motorista e diversos passageiros que ocupam assentos no carrodo motorista aproveitando para seguir na viagem previamente definida pelo motorista.

Outras implicações são possíveis além da lotação do carro, com impactos em áreascomo transportes, economia e ciências sociais (KLEINER; NEBEL; ZIPARO, 2011). Emampla visão o serviço de ridesharing pode ser pensado até mesmo como um serviço detaxi ou de transporte personalizado, todavia seguindo um trajeto e condições definidaspreviamente (CHAN; SHAHEEN, 2012). A importância do aspecto ocasional e oportunistada reunião de motoristas e passageiros é ressaltada em vários trabalhos na literatura deforma que as versões “real-time” (GRUEBELE, 2008) ou “dinâmica” (DEAKIN; FRICK;SHIVELY, 2010) do ridesharing têm recebido grande atenção e esforço de pesquisaatualmente.

A reunião de motoristas e passageiros se dá espontaneamente em razão das mútuasvantagens. Os motoristas podem dividir os custos de operação do carro com o carona ouobter vantagens do sistema de transporte como redução de pedágio e outras. Os caronaspodem economizar nos custos de viagem, reduzir o tempo de deslocamento, alcançarmaior conforto, maior segurança e aumentar suas opções de decisão. Eventualmentemotorista e carona podem valorizar a oportunidade de socialização e companhia no trajeto.

Capítulo 2. Trabalhos Relacionados 22

Finalmente pode haver incentivo oficial com descontos no pedágio, descontos em taxas deestacionamento, licenciamento do carro e outras.

Por outro lado, embora muitas vezes vantajoso, principalmente na questão econô-mica, deve-se levar em conta o lado negativo na prática do ridesharing. Nesse sentido,podemos destacar como ponto negativo o fato de compartilhar o veículo com pessoasdesconhecidas implicando em questões de segurança.

Podemos relacionar o ridesharing ao carpooling e ao dial-a-ride de forma que ocarpooling apresenta a peculiaridade de uma demanda regular com pouca mudança nosdestinos dos participantes e com longo planejamento (MORENCY, 2007). O dial-a-rideconsiste no planejamento das rotas e horários de menor custo operacional para 𝑚 veículosidênticos localizados em um mesmo ponto de partida, para atender uma demanda depedidos de recolhimento e entrega (pickup and delivery) onde usuários clientes definemo ponto de recolhimento e o ponto de entrega de um objeto (CORDEAU; LAPORTE,2007). Nesse sentido, o ridesharing se assemelha ao dial-a-ride no fato de tentar atender apedidos de caronas com origem e destino variados dentro de uma área específica, e por serdirecionado a um público alvo geralmente conhecido, e por serem atendidos por carrosapropriados para esse tipo de demanda.

Basicamente existem duas variantes de algoritmos de solução para o ridesharing:de otimização centralizada e de otimização descentralizada baseada em agentes. Na opçãocentralizada a função objetivo é compartilhada por motoristas e caronas. Na opçãodescentralizada, via de regra, os caronas podem possuir diferentes objetivos.

Uma revisão sistemática dos modelos de otimização mais relevantes do ridesharingdinâmico com informação online é apresentada em (AGATZ et al., 2012). Agatz et al.(2012) observam que os métodos centralizados de otimização não fornecem respostas emtempo real para casos práticos em tempo suficientemente rápido. Ressaltam também quenão conferem a flexibilidade necessária para atender vários passageiros com embarques edesembarques variados. Os autores apontam a introdução de novos modelos que unem oridesharing descentralizado com abordagens de decomposições eficazes no que diz respeitoà segmentação geográfica baseada no ponto de desembarque dos passageiros.

Agatz et al. (2011), Amey, Attanucci e Mishalani (2011) e Ghoseiri et al. (2011)apresentam abordagens centralizadas. Winter e Nittel (2006), Xing et al. (2009) e Kleiner,Nebel e Ziparo (2011) apresentam abordagens descentralizadas. Xing et al. (2009) introduzum sistema de ridesharing, em que os passageiros buscam por motoristas que oferecemcaronas em uma rede on-line que é atualizado a cada 2 minutos. Os autores apontam quequando comparado ao transporte público, o sistema oferece um menor tempo de viagempara os passageiros que demandam carona, desde que haja motoristas suficientes paraatender a demanda de caronas.

Diversas variantes de Colônia de Formigas para o ridesharing multi-objetivo sãoestudadas no trabalho de Herbawi e Weber (2011). Os objetivos a serem minimizados, são:

Capítulo 2. Trabalhos Relacionados 23

o custo, tempo e número de motoristas. Herbawi e Weber (2012) trata novamente umaversão multi-objetivo do ridesharing, mas dessa vez, os objetivos a serem minimizadossão: a distância total da percurso, o tempo total dos motoristas e o tempo total dospassageiros. Essa versão também considera maximizar o número de demandas atendidas dospassageiros. Coltin e Veloso (2014) investigam o problema de ridesharing com passageirosque é controlado por um sistema de decisão centralizado. Furuhata et al. (2013) apresentauma classificação de sistemas que implementam soluções para o problema de ridesharing.

O trabalho mais recente que apresenta uma revisão do estado da arte dos problemasde roteamento é apresentado por Lahyani, Khemakhem e Semet (2015).

24

3 Problema do Caixeiro Viajante ComPassageiros e Quota

Este capítulo apresenta uma definição mais detalhada do objeto de estudo destetrabalho, o Problema do Caixeiro Viajante com Passageiros e Quota. Uma proposta demodelo matemático também é apresentada.

3.1 Definição do problemaO Problema do Caixeiro Viajante com Passageiros e Quota (PCVPQ) também

denominado Traveling Salesman Problem with Ridesharing and Quota (TSPRQ) é umavariação do problema do caixeiro viajante com quota combinado com o problema deridesharing em que o caixeiro pode reduzir o custo total da viagem compartilhando ocusto de deslocamento entre trechos com eventuais passageiros que solicitam carona. Oproblema considera um grafo 𝐺 = (𝑁, 𝑀, 𝐵), onde 𝑁 = {1, ..., 𝑛} é o conjunto de cidades,𝑀 = {1, ..., 𝑚} é o conjunto de estradas que ligam as cidades de 𝑁 e 𝐵 = {𝑏1, 𝑏2, ..., 𝑏𝑛} éo conjunto de bônus associados às cidades, onde 𝑏1 = 0. Os bônus são coletados a cadacidade visitada e a soma total de bônus coletado deve ser no mínimo 𝑇 . Custos 𝑑𝑖𝑗 paraviajar de uma cidade 𝑖 para a 𝑗, 𝑖, 𝑗 ∈ 𝑁 , estão associados às estradas que as ligam. Aviagem é iniciada na cidade 1. Existe um conjunto de potenciais passageiros, 𝐿 = {1, ..., 𝑛},onde cada passageiro se encontra em uma cidade de 𝑁 e deseja se deslocar para uma dascidades que o caixeiro pode escolher. Contudo, cada passageiro está disposto a pagar nomáximo 𝑡𝑙, 𝑙 ∈ 𝐿, unidades monetárias pela viagem. Essa restrição de contribuição máximagarante uma vantagem econômica para o passageiro assim como impossibilita uma possívelextensão da viagem para aumentar a contribuição do passageiro e consequentementediminuir o custo do motorista. Cada passageiro 𝑙, 𝑙 ∈ 𝐿, tem como cidade de origem 𝑃𝑙

e destino 𝑄𝑙, 𝑄𝑙 ̸= 𝑃𝑙,∀𝑙 ∈ 𝐿. O custo de deslocamento entre as cidades 𝑖 e 𝑗, 𝑑𝑖𝑗, édivido igualmente entre os ocupantes do veículo, incluindo o motorista. O caixeiro podetransportar no máximo 𝑅 passageiros em seu veículo.

O objetivo é minimizar o custo total da viagem do caixeiro, atendendo as restriçõesde capacidade do carro, origem e destino dos passageiros, contribuição máxima permitidapara o passageiro e a soma mínima de quotas coletadas nas cidades visitadas pelo caixeiro. Otransporte dos passageiros é condicionado aos custos do caixeiro e o mesmo não é obrigadoa transportar qualquer passageiro. É considerado também que não existe incompatibilidadeentre os passageiros, ou seja, qualquer passageiro pode compartilhar sua viagem comqualquer outro. O motorista é livre para decidir que cidades irá visitar e que passageirosirá transportar. No entanto, somente podem ser embarcados passageiros cujo custo de

Capítulo 3. Problema do Caixeiro Viajante Com Passageiros e Quota 25

sua viagem associada não ultrapasse o valor máximo fixado pelo próprio passageiro. Ospassageiros e o motorista não levam em consideração a duração da viagem, permanêncianas localidades ou o número de cidades visitadas. Na medida em que as hipóteses anterioressão modificadas, são possíveis diversas variantes para o PCVPQ.

Por ser um problema da classe do caixeiro viajante, o PCVPQ possui restriçõesque garantem uma solução que contém um simples e contínuo subtour Hamiltoniano queinicia e termina no vértice raiz, que para o modelo proposto é representado pelo vértice 1.Existem também restrições que garantem que o embarque e o desembarque dos passageirosocorram nas respectivas cidades de origem e de destino. Dessa forma, uma vez que opassageiro embarca, o motorista deve obrigatoriamente deixá-lo em seu destino, casocontrário o seu embarque não é feito.

No modelo proposto aqui, é considerado um grafo 𝐺 = (𝑁, 𝑀, 𝐵), onde 𝑁 ={1, ..., 𝑛} é o conjunto de vértices que representam as cidades, 𝑀 = {1, ..., 𝑚} é conjuntode arestas que representam as rodovias que ligam as cidades, e 𝐵 = {𝑏1, ..., 𝑏𝑛} é conjuntode bônus associado à cada vértice, coletado no momento da visita à uma cidade. 𝑑𝑖𝑗 ∈𝑀

é custo associado à aresta (𝑖, 𝑗), que representa o custo de deslocamento entre da cidade𝑖 para a 𝑗. 𝐿 = {1, ..., 𝑛} é o conjunto de potenciais passageiros, um para cada cidade.𝑥𝑖𝑗, uma variável binária, cujo valor será 1 se a aresta (𝑖, 𝑗) está na solução e 0, casocontrário. 𝑣𝑙

𝑖𝑗, também binária, e terá valor 1 se o passageiro 𝑙 é transportado pela aresta𝑖− 𝑗, 0 caso contrário. 𝑠𝑙 e 𝑑𝑙, que representam respectivamente, a origem e destino deuma passageiro 𝑙 ∈ 𝐿. 𝑠 é o vértice em que o caixeiro irá iniciar e finalizar o tour. Combase nas variáveis definidas, segue o modelo para o PCVPQ é apresentado por meio dasexpressões matemáticas 3.1-3.19.

A função objetivo, expressa em 3.1, visa minimizar o custo total da viagem docaixeiro fazendo o rateio dos custos de deslocamento dentre os ocupantes do carro, incluindoo motorista. As restrições 3.2 e 3.3 permitem que o percurso do caixeiro possa ser compostopor um subconjunto de vértices de 𝑁 . As restrições 3.4 e 3.5 garantem que o percursofeito pelo caixeiro inicia e termina na cidade 𝑠. A restrição 3.6 garante que ao entrarem uma cidade, diferente de sua origem, o caixeiro tem que sair. A restrição 3.7 garanteque só haverá um subciclo na solução (MILLER; TUCKER; ZEMLIN, 1960). A restrição3.8 garante a coleta mínima de bônus 𝑇 durante o percurso. A restrição 3.9 garante acapacidade do carro, no máximo 𝑅. A restrição 3.10 garante que cada passageiro 𝑙 ∈ 𝐿

pagará no máximo 𝑡𝑙 unidades monetárias pela viagem. A restrição 3.11 garante que seo passageiro embarcar, ele deve ser conduzido até seu destino. As restrições 3.12 e 3.13garantem que o passageiro 𝑙 ∈ 𝐿 só trafegará da sua origem 𝑠𝑙 ao seu destino 𝑑𝑙. A restrição3.14 garante o retorno de um passageiro somente para origem, caso em que sua cidade deorigem seja diferente de 𝑠 e seu destino seja a cidade em que o caixeiro iniciou o percurso,caso contrário o passageiro não está apto para embarcar, uma vez que sua cidade destinojá passou. E por último, a restrição 3.15 garante que não há coleta de bônus na cidade de

Capítulo 3. Problema do Caixeiro Viajante Com Passageiros e Quota 26

origem do caixeiro.

Minimizar

𝑍 =∑︁

(𝑖,𝑗)∈𝑀

𝑥𝑖𝑗𝑑𝑖𝑗∑︁𝑙∈𝐿

𝑣𝑙𝑖𝑗 + 1

(3.1)

Sujeito à∑︁𝑖∈𝑁∖{𝑗}

𝑥𝑖𝑗 ≤ 1 ∀𝑗 ∈ 𝑁 ∖ {𝑠} (3.2)

∑︁𝑖∈𝑁∖{𝑗}

𝑥𝑗𝑖 ≤ 1 ∀𝑗 ∈ 𝑁 ∖ {𝑠} (3.3)

∑︁𝑖∈𝑁∖{𝑠}

𝑥𝑠𝑖 = 1 (3.4)

∑︁𝑖∈𝑁∖{𝑠}

𝑥𝑖𝑠 = 1 (3.5)

∑︁𝑖∈𝑁∖{𝑗}

𝑥𝑖𝑗 −∑︁

𝑖∈𝑁∖{𝑗}𝑥𝑗𝑖 = 0 ∀𝑗 ∈ 𝑁 ∖ {𝑠} (3.6)

𝑢𝑖 − 𝑢𝑗 + (𝑛− 1)𝑥𝑖𝑗 ≤ 𝑛− 2 2 ≤ 𝑖, 𝑗 ≤ 𝑛, 𝑖 ̸= 𝑗 (3.7)∑︁(𝑖,𝑗)∈𝑀

𝑖 ̸=𝑗

𝑏𝑖𝑥𝑖𝑗 ≥ 𝑇 (3.8)

∑︁𝑙∈𝐿

𝑣𝑙𝑖𝑗 ≤ 𝑅𝑥𝑖𝑗 ∀(𝑖, 𝑗) ∈𝑀, 𝑖 ̸= 𝑗 (3.9)

∑︁(𝑖,𝑗)∈𝑀

𝑣𝑙𝑖𝑗𝑑𝑖𝑗∑︁

𝑙∈𝐿

𝑣𝑙𝑖𝑗 + 1

− 𝑡𝑙 ≤ 0 ∀𝑙 ∈ 𝐿, 𝑖 ̸= 𝑗 (3.10)

∑︁𝑗∈𝑁∖{𝑖}

𝑣𝑙𝑗𝑖 −

∑︁𝑗∈𝑁∖{𝑖}

𝑣𝑙𝑖𝑗 = 0 ∀𝑙 ∈ 𝐿, 𝑖 ∈ 𝑁 ∖ {𝑠𝑙, 𝑑𝑙} (3.11)

∑︁𝑖∈𝑁∖{𝑠𝑙}

𝑣𝑙𝑖𝑠𝑙

= 0 ∀𝑙 ∈ 𝐿 (3.12)

∑︁𝑖∈𝑁∖{𝑑𝑙}

𝑣𝑙𝑑𝑙𝑖

= 0 ∀𝑙 ∈ 𝐿 (3.13)

∑︁𝑖∈𝑁∖{𝑠}

𝑣𝑙𝑠𝑖 = 0 ∀𝑙 ∈ 𝐿, 𝑠𝑙 ̸= 𝑠 (3.14)

𝑏𝑠 = 0 (3.15)

1 ≤ 𝑢𝑖 ≤ 𝑛− 1 2 ≤ 𝑖 ≤ 𝑛 (3.16)

𝑏𝑖 ∈ R+ (3.17)

𝑥𝑖𝑗 ∈ {0, 1} ∀(𝑖, 𝑗) ∈𝑀 (3.18)

𝑑𝑖𝑗 ∈ R+ ∀(𝑖, 𝑗) ∈𝑀 (3.19)

27

4 Algoritmos de Solução para o PCVPQ

O presente capítulo descreve os algoritmos utilizados para resolver o PCVPQ.Um método exato, uma heurística, um GRASP, 3 algoritmos genéticos e 3 meméticos sãodescritos.

4.1 Método ExatoO modelo proposto, descrito na seção anterior, foi implementado usando o solver

de programação matemática Gurobi versão 6.5.21, que oferece suporte a diversos tiposde problemas, tais como Programação Linear (LP), Programação Linear Inteira Mista(MILP), Programação Quadrática (QP), Programação Quadrática Inteira Mista (MIQP),e Programação Quadrática Restrita (QCP) e Programação Quadrática Restrita InteiraMista (MIQCP). Também suporta algumas linguagens de programação, tais como C++,Java, .NET e Python. Para a implementação, o modelo de programação matemáticautilizado foi o de Programação Quadrática e a linguagem de programação C++.

4.2 Heurística de Carregamento Ótimo (NAIVE)A heurística de carregamento ótimo (NAIVE) visa obter a rota de menor custo

possível, e para essa rota, obter o embarque ótimo para o carro. Inicialmente a rota𝑅 é obtida com os vértices de maior bônus que são adicionados a 𝑅 até que o bônusmínimo 𝑇 seja atingido, satisfazendo a inequação 3.8. A rota obtida é então submetidaà função Melhoria, que no caso de instâncias simétricas, consiste no uso da heurísticaLin-Kernighan, considerada um dos métodos mais eficientes na resolução do PCV, ondesão feitas trocas de arestas às quais está associado um ganho. A troca de arestas só é feitase há um ganho positivo. O algoritmo termina quando não houver mais ganho ou quandotodas as trocas possíveis forem feitas (LIN; KERNIGHAN, 1973). Já no caso de instânciasassimétricas a busca local 2-opt é utilizada. Inicialmente proposto por Croes (1958), oalgoritmo da busca local 2-opt remove duas arestas do tour e as reconecta de forma agerar outro tour diferente, que é considerado um vizinho. Esse procedimento é feito atéque todos os vizinhos sejam gerados ou atinja um caso de parada específico, por exemploum número máximo de vizinhos gerados. Após a tentativa de melhorar a rota, a mesmaé submetida à função Solver cujo objetivo é obter uma configuração de carregamentoótimo para uma rota preestabelecida. Dessa forma, Solver é definida fixando valores paracada 𝑥𝑖𝑗 nas restrições 3.2 à 3.7 reduzindo modelo matemático proposto para o PCVPQ na1 Solver de programação matemática. Pode ser acessado em: <http://www.gurobi.com/>

Capítulo 4. Algoritmos de Solução para o PCVPQ 28

seção 3.1 às restrições de 3.8 à 3.19 com a mesma função objetivo. O Algoritmo 1 descreveo procedimento da heurística descrita nessa seção.

As soluções obtidas pela heurística NAIVE são usadas como limite superior paraanálise de qualidade das soluções obtidas pelos algoritmos metaheurísticos descritos nasseções seguintes.

Algoritmo 1: Heurística de carregamento ótimo para o PCVPQ.1 NAIVE(𝐺 = (𝑁, 𝑀, 𝐵), 𝑇 )2 Considere R uma fila3 𝐶𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑜𝑠← 𝑁4 𝑅.𝑝𝑢𝑠ℎ(0) # cidade inicial5 enquanto bônus de 𝑅 < 𝑇 faça6 𝑐← selecione o vértice não visitado de maior bônus em 𝐶𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑜𝑠7 marque 𝑐 como visitado8 𝑅.𝑝𝑢𝑠ℎ(𝑐)9 fim

10 𝑛𝑜𝑣𝑎𝑅𝑜𝑡𝑎←Melhoria(𝑅)11 𝑆𝑜𝑙← Solver(𝑛𝑜𝑣𝑎𝑅𝑜𝑡𝑎)12 retorne 𝑆𝑜𝑙

4.3 GRASPO GRASP para o PCVPQ é descrito no pseudocódigo 2, a sua fase de construção

consiste na utilização de uma roleta para selecionar os vértices de acordo com o seubônus e os incorporando à rota. A solução construída nessa primeira fase desconsidera oembarque de passageiros, portanto o caixeiro faz seu percurso, sem embarcar passageiroalgum (linhas 2 à 8). A fase de busca local é similar à heurística NAIVE descrita na seçãoanterior. No caso de instâncias simétricas usa-se Lin-Kernighan, caso assimétricas, 2-opt. Acarregamento dessa solução é obtido de forma ótima pela mesma função Solver definidatambém na heurística NAIVE. Esse procedimento é repetido várias vezes armazenando-sea melhor solução.

4.4 Algoritmos Evolucionários para o PCVPQPara os algortimos evolucionários implementados para solução do PCVPQ, a

função fitness utlizada é função objetivo, descrita na seção 3.1. As seções a seguir dedicam-se a descrição desses algoritmos desenvolvidos, sendo 3 algoritmos genéticos e 3 meméticos.

Capítulo 4. Algoritmos de Solução para o PCVPQ 29

Algoritmo 2: GRASP para o PCVPQ.1 GRASP(𝐺 = (𝑁, 𝑀, 𝐵), 𝑇 )2 Considere 𝑀𝐴𝑋_𝐼𝑇𝐸 como sendo o número máximo de iterações do GRASP3 Considere 𝐵𝑒𝑠𝑡𝑆𝑜𝑙 como sendo a melhor solução encontrada4 para 𝑖 de 1 até 𝑀𝐴𝑋_𝐼𝑇𝐸 faça5 Considere R uma fila6 𝐶𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑜𝑠← 𝑁7 𝑅.𝑝𝑢𝑠ℎ(0) # cidade inicial8 enquanto bônus de 𝑅 < 𝑇 faça9 𝑏← Roleta(𝐶𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑜𝑠)

10 𝑅.𝑝𝑢𝑠ℎ(𝑏)11 fim12 𝑛𝑜𝑣𝑎𝑅𝑜𝑡𝑎←Melhoria(𝑅)13 𝑆𝑜𝑙← Solver(𝑛𝑜𝑣𝑎𝑅𝑜𝑡𝑎)14 se 𝑆𝑜𝑙 é melhor que 𝐵𝑒𝑠𝑡𝑆𝑜𝑙 então15 𝐵𝑒𝑠𝑡𝑆𝑜𝑙← 𝑆𝑜𝑙16 fim17 fim18 retorne 𝐵𝑒𝑠𝑡𝑆𝑜𝑙

4.5 Algoritmos GenéticosTrês versões de algoritmo genético foram criadas, cada um com operadores de

cruzamento diferente.

4.5.1 Representação do Cromossomo

O cromossomo ou indivíduo é representado por duas listas 𝐿𝑟 e 𝐿𝑒, onde 𝐿𝑟 definea sequência de cidades a ser visitada, ou seja, a rota do motorista, e 𝐿𝑒 define quaispassageiros serão transportados. A i-ésima posição de 𝐿𝑒, 𝐿𝑒[𝑖], é 1 se o passageiro nalocalidade 𝐿𝑟[𝑖] estiver embarcado e 0 caso contrário. A Figura 1 mostra um exemplode um cromossomo. A rota do motorista contém as cidades 1, 3, 2 e 4. Passageiros nascidades 1, 3 e 4 estão embarcados nesta ordem.

1 3 2 4

1 1 0 1

Lr

Le

Figura 1 – Representação do cromossomo.

Capítulo 4. Algoritmos de Solução para o PCVPQ 30

4.5.2 Inicialização e Seleção

A população inicial, 𝑃 , é composta por cromossomos que representam soluçõesválidas geradas aleatoriamente com distribuição uniforme. 𝑃 é inicializada com |𝑃 | cro-mossomos. O tamanho da população, |𝑃 |, é um parâmetro dos algoritmos genéticos. Umavez definida a população inicial, 𝑃𝑥 cromossomos de 𝑃 são selecionados via roleta para arecombinação. 𝑃𝑥 também é um parâmetro do algoritmo.

4.5.3 Cruzamento

Três operadores de cruzamento são definidos: recombinação SPLIT, cruzamentosequencial construtivo (SCX) e operador baseado no SCX com poucas modificações. Cadacruzamento define um algoritmo genético diferente.

4.5.3.1 Recombinação SPLIT (GEN-SPLIT)

Os 𝑃𝑥 cromossomos selecionados são organizados em pares para cruzar e assim darorigem a novos cromossomos. Dado dois cromossomos 𝐴 e 𝐵, a operação de recombinaçãoconsiste na escolha aleatória de um ponto de quebra 𝑘 (1 ≤ 𝑘 ≤ |𝐴| − 1, para 𝐴 e1 ≤ 𝑘 ≤ |𝐵| − 1, para 𝐵, onde |𝑋| é o número de cidades visitadas na rota 𝑋) para cadacromossomo. A recombinação entre 𝐴 e 𝐵 irá gerar dois novos cromossomos, 𝐴′ e 𝐵′,onde o primeiro filho, 𝐴′, será composto pela primeira parte de 𝐴, obtida com a quebra, eelementos de 𝐵 que não estão na primeira parte de 𝐴. A concepção do segundo filho, 𝐵′,se dá de maneira análoga à 𝐴′. A Figura 2 ilustra o procedimento de recombinação entredois cromossomos 𝐴 e 𝐵. O ponto de quebra escolhido para p cromossomo 𝐴 é 𝑘𝐴 = 2.Para 𝐵, 𝑘𝐵 = 3. Os novos cromossomos 𝐴′ e 𝐵′ são construídos com base na escolha dospontos de quebra. A cada geração são realizadas 𝑃𝑥

2 recombinações.

1 2 4 5

1 0 1 0A

PAIS

1 3 5 4

1 0 1 1B

FILHOS

2

1

1 2 3 5

1 0 0 1A'

1 3 5 2

1 0 1 0B'

4

1

4

1

Figura 2 – Recombinação entre dois cromossomos.

4.5.3.2 Cruzamento Sequencial Construtivo (GEN-SCX)

O operador Cruzamento Sequencial Construtivo, também conhecido como SCX(Sequencial Contrutive Crossover, do Inglês) constrói um novo cromossomo usando as

Capítulo 4. Algoritmos de Solução para o PCVPQ 31

melhores arestas de seus pais, com base em seus valores. O SCX não depende somente daestrutura dos cromossomos dos pais, uma vez que ele pode inserir no novo cromossomonovas boas arestas que não estão nos pais (AHMED, 2010). Abaixo o passo a passo doprocedimento de cruzamento:

Passo 1: Inicie no vértice 1 (𝑝 = 1), concatene-o a solução.

Passo 2: Busque em ambos os pais um vértice ainda não visitado que aparece depois de𝑝. Se não existir, busque sequencialmente nos vértices {2, 3, ..., 𝑛} considerando oprimeiro candidato.

Passo 3: Se o nó 𝛼 e 𝛽 encontrados respectivamente no primeiro e segundo pai, vá parao Passo 4.

Passo 4: Se o custo 𝐶𝑝𝛼 < 𝐶𝑝𝛽 (custo das arestas 𝑝− 𝛼 e 𝑝− 𝛽), selecione 𝛼, se não 𝛽 econcatene-o ao cromossomo filho parcialmente construído. Se o cromossomo filho éum cromossomo completo então pare, se não atribua este nó à 𝑝 e volte ao Passo 1.

4.5.3.3 Cruzamento Sequencial Construtivo Modificado (GEN-SCX-BASED)

Como mencionado o PCVPQ é um subproblema peculiar do PCV. As rotasmanipuladas nem sempre têm todos os vértices. No passo 4 do SCX há uma escolha dopróximo 𝑝, e esse 𝑝 pode não existir no máximo em um dos pais. Uma adaptação é feita,segue abaixo o procedimento:

Passo 1: Inicie no vértice 1 (𝑝 = 1), concatene-o a solução.

Passo 2: Busque em ambos os pais um vértice ainda não visitado que aparece depois de𝑝. Considere o nó 𝛼 e 𝛽 encontrados respectivamente no primeiro e segundo pai. Seum dos dois não existir, iguale o que não foi encontrado ao que foi encontrado, ouseja, os dois vão ter o mesmo valor (𝛼 = 𝛽).

Passo 3: Caso houve sucesso na busca de 𝛼 e 𝛽, escolha o que tem melhor custo 𝐶𝑝𝛼 < 𝐶𝑝𝛽

e incorpore a solução e atualize 𝑝 com o nó escolhido.

Passo 4: Se 𝑝 foi herdado do primeiro pai, copie os vértices não visitados depois de 𝑝

do segundo pai para o cromossomo em construção. Caso contrário a copia é feita apartir do primeiro pai.

Passo 5: Insira os vértices ainda não visitados em ordem no cromossomo filho.

Capítulo 4. Algoritmos de Solução para o PCVPQ 32

4.5.4 Mutação

Após a fase de cruzamento, é possível que as soluções representadas pelos novoscromossomos não sejam válidas, assim é necessário repará-las. O procedimento de reparaçãode solução é descrito na seção 4.5.6.

Para a mutação, um limite de admissibilidade, 𝑎𝑙𝑖𝑚, é considerado para mutação.Esse valor é um parâmetro para o algoritmos genéticos e é definido no intervalo [0, 1].Para cada cromossomo um valor nesse intervalo é definido de forma uniforme. Se este formaior que 𝑎𝑙𝑖𝑚, o cromossomo sofre mutação. Dessa forma, a taxa de mutação é 1 - 𝑎𝑙𝑖𝑚.A mutação consiste na escolha de uma posição randômica, 𝑖, do cromossomo e atribuir𝐿𝑒[𝑖] = 1 se o valor de 𝐿𝑒[𝑖] for 0, e 𝐿𝑒[𝑖] = 0, caso 𝐿𝑒[𝑖] for 1.

A cada iteração os cromossomos da próxima geração são escolhidos via roletadentre os cromossomos novos e antigos, dando origem a uma nova população de tamanho|𝑃 |.

4.5.5 Critério de Parada

O critério de parada é baseado na quantidade máxima de avaliações da funçãoobjetivo realizada na execução, assim quando essa quantidade é atingida a execução doalgoritmo é interrompida.

4.5.6 Procedimento de Reparação da Solução

O procedimento de reparação consiste em duas partes:

∙ Reparar a rota para garantir a restrição de quota definida na inequação 3.8.

∙ Reparar os embarques.

O Algoritmo 3 mostra o reparo de um cromossomo. O reparo da rota é feito naslinhas de 2-11. Para garantir que coleta ou soma de bônus mínimo, 𝑇 , seja alcançada,novas cidades são incluídas na rota até que a coleta mínima seja atingida. O embarqueé reparado nas linhas 12 e 13, onde os embarques que violam a restrições do problemasão removidos, por exemplo, 𝐿𝑒[𝑖] é definido como 0 se a solução for inválida devidoao embarque de um passageiro na cidade 𝐿𝑟[𝑖]. No pior caso, todos os embarques sãoremovidos, garantindo assim que todo cromossomo possa ser reparado apesar da qualidadeda solução que o mesmo representa. Para melhorar a qualidade da solução o cromossomoreparado é submetido à uma heurística de carregamento descrita na seção 4.5.7.

4.5.7 Heurística de Carregamento

O objetivo da heurística de carregamento é melhorar a qualidade de uma soluçãorepresentada por um cromossomo. Sua estratégia é explorar a capacidade máxima do

Capítulo 4. Algoritmos de Solução para o PCVPQ 33

Algoritmo 3: Procedimento de reparo de um cromossomo.1 Reparar(cromossomo 𝐴)

2 se|𝐴|∑︀𝑖=1

𝐵[𝐿𝑟[𝑖]] < 𝑇 então3 # Repara a rota para garantir a coleta da quota mínima4 Defina uma lista 𝑍 com cidades que não estão em 𝐴 em ordem decrescente de

bônus5 𝑗 ← 16 repita7 |𝐴| ← |𝐴|+ 18 𝐿𝑟[|𝐴|]← 𝑍[𝑗]9 𝑗 ← 𝑗 + 1

10 até|𝐴|∑︀𝑖=1

𝐵[𝐿𝑟[𝑖]] ≥ 𝑇 ;

11 fim12 verficar 𝐴 em busca de embarques que violam as restrições13 remover todos os embarques que violam restrições

veículo para minimizar o custo da viajem embarcando passageiros que não violem asrestrições. O objetivo é obter o melhor carregamento possível do carro para um trajetopré-estabelecido. O procedimento Carregar tenta inserir um passageiro em cada cidadeda rota preservando o atendimento das restrições do problema. A heurística é descrita noAlgoritmo 4.

Algoritmo 4: Heurística de carregamento.1 Carregar(cromossomo 𝐴)2 para 𝑖← 1 até |𝐴| faça3 se 𝐿𝑒[𝑖] = 0 então4 𝐿𝑒[𝑖]← 15 se 𝐿𝑒[𝑖] viola alguma restrição então6 𝐿𝑒[𝑖]← 07 fim8 fim9 fim

A arquitetura geral dos algoritmos genéticos é descrita no pseudocódigo 5. Ao gerara população inicial, para garantir que as soluções representadas pelos seus cromossomossejam válidas, é necessário aplicar o procedimento de reparação para cada cromossomo de𝑃 (linhas 4-6). Após a fase de reprodução, linhas 7-9, as soluções representadas pelos doisnovos indivíduos criados são reparadas pelo Algoritmo 3, uma vez que ao alterar a rota oua configuração de embarque, a solução pode se tornar inválida.

Capítulo 4. Algoritmos de Solução para o PCVPQ 34

Algoritmo 5: Arquitetura do algoritmo genético.1 GEN(𝐺 = (𝑁, 𝑀, 𝐵), |𝑃 |, 𝑎𝑣𝑎𝑙𝑠, 𝑎𝑙𝑖𝑚, taxa de cruzamento)2 𝑛𝑖𝑠 ← taxa de recombinação ×|𝑃 |3 𝑃 ← população inicial de tamanho |𝑃 |4 para cada 𝐶 ∈ 𝑃 faça5 Reparar(𝐶)6 fim7 repita8 𝐿𝑖𝑛𝑑𝑠 ← selecione 𝑛𝑖𝑠 indivíduos de 𝑃 via roleta9 para cada 𝐴, 𝐵 ∈ 𝐿𝑖𝑛𝑑𝑠 faça

10 𝐴′, 𝐵′ ← Cruzamento(𝐴, 𝐵)11 Mutacao(𝐴′)12 Mutacao(𝐵′)13 Reparar(𝐴′)14 Carregar(𝐴′)15 Reparar(𝐵′)16 Carregar(𝐵′)17 𝑃 ← 𝑃 ∪ {𝐴′, 𝐵′}18 fim19 𝑃 ← selecione |𝑃 | indivíduos de 𝑃

20 até que o número de avaliações seja igual a 𝑎𝑣𝑎𝑙𝑠;21 retorne a melhor solução 𝑆 ∈ 𝑃

4.6 Algoritmos MeméticosOs operadores de cruzamentos descritos na seção 4.5.3.1, também são usados

nesses algoritmos, dando origem a três versões de algoritmo memético: MEM-SPLIT,MEM-SCX e MEM-SCX-BASED. Para criar os algoritmos meméticos uma função demelhoria da solução foi adicionada à da arquitetura do genético (pseudocódigo 5). Parainstâncias simétricas o Lin-Kernighan é usado como procedimento de melhoria, já paraas instâncias assimétricas o 2-opt é adotado, uma vez que o Lin-Kernighan é uma boaheurística para o PCV simétrico (LIN; KERNIGHAN, 1973). O pseudocódigo geral doalgoritmo memético é descrito no Algoritmo 6. Após a reprodução e reparo das soluções,linhas 7-11, a função de melhoria é aplicada às duas soluções criadas a cada reprodução.

Capítulo 4. Algoritmos de Solução para o PCVPQ 35

Algoritmo 6: Arquitetura do algoritmo memético.1 Men(𝐺 = (𝑁, 𝑀, 𝐵), |𝑃 |, 𝑎𝑣𝑎𝑙𝑠, 𝑎𝑙𝑖𝑚, taxa de cruzamento)2 𝑛𝑖𝑠 ← taxa de recombinação ×|𝑃 |3 𝑃 ← população inicial de tamanho |𝑃 |4 para cada 𝐶 ∈ 𝑃 faça5 Reparar(𝐶)6 fim7 repita8 𝐿𝑖𝑛𝑑𝑠 ← selecione 𝑛𝑖𝑠 indivíduos de 𝑃 via roleta9 para cada 𝐴, 𝐵 ∈ 𝐿𝑖𝑛𝑑𝑠 faça

10 𝐴′, 𝐵′ ← Cruzamento(𝐴, 𝐵)11 Mutacao(𝐴′)12 Mutacao(𝐵′)13 Reparar(𝐴′)14 Carregar(𝐴′)15 Reparar(𝐵′)16 Carregar(𝐵′)17 𝐴′ ←Melhoria(𝐴′)18 𝐵′ ←Melhoria(𝐵′)19 𝑃 ← 𝑃 ∪ {𝐴′, 𝐵′}20 fim21 𝑃 ← selecione |𝑃 | indivíduos de 𝑃

22 até que o número de avaliações seja igual a 𝑎𝑣𝑎𝑙𝑠;23 retorne a melhor solução 𝑆 ∈ 𝑃

36

5 Experimentos e Resultados

Esse capítulo descreve os experimentos computacionais, assim como a metodologiaempregada no mesmo. Os resultados alcançados também são descritos aqui.

5.1 Experimentos ComputacionaisOs experimentos computacionais foram desenvolvidos em um computador com

processador Intel(R) Core(TM) i7-4790 CPU de 3.60GHz, 16GB de RAM, e sistemaoperacional Linux Ubuntu 14.04 LTS 64-bit. Os algoritmos desenvolvidos foram implemen-tados em C++. O compilador usado foi o GNU C++ Compiler (g++) versão 4.8.4, e osargumentos passados para o compilador no momento da construção do executável foram-O3, para otimização do executável e -std=c++11 para especificar que a versão do C++.

5.1.1 Sobre o Banco de Instâncias

As instâncias são divididas em simétricas e assimétricas. As simétricas foramconstruídas a partir de uma adaptação das instâncias obtidas no trabalho de Calheiros(2015) para o PCV-Pa. As assimétricas foram retiradas e adaptadas da TSPLIB (REINELT,1991). Segue abaixo a estrutura das instâncias geradas para o problema aqui proposto:

∙ 𝑛 – Número de cidade (vértices);

∙ 𝑝 – Número de pessoas que solicitam carona;

∙ 𝑅 – Número máximo de passageiros permitidos no veículo;

∙ 𝐷 – Matriz de custos entre as cidades de ordem 𝑛, onde cada 𝑑𝑖𝑗 ∈ 𝐷 representa ocusto de deslocamento da cidade 𝑖 para a cidade 𝑗;

∙ Uma lista com 𝑝 pares de cidades definindo a origem e destino de cada possívelpassageiro;

∙ Uma lista com 𝑝 entradas que definem quanto no máximo cada solicitante de caronaestá disposto a pagar pela viagem;

∙ 𝑇 – Bônus total a ser coletado, ou seja a quota mínima;

∙ Uma lista com 𝑛 entradas onde cada uma representa o bônus associado a cadacidade.

Capítulo 5. Experimentos e Resultados 37

Para cada instância a tarifa máxima que cada possível passageiro está disposto apagar é calculada obtendo-se uma porcentagem fixa da árvore geradora mínima do grafo 𝐺

construído de acordo com os custos da matriz 𝐷. Dessa forma, para cada instância todosos potenciais passageiros estão associados a mesma tarifa. As porcentagens usadas emcada instância foram: 25%, 33% e 50%. As entradas de 𝐷 são geradas de forma aleatóriano intervalo [50, 500] no caso das simétricas, no caso das assimétricas são obtidos deinstâncias da TSPLIB. O valor do bônus de cada cidade é gerado randomicamente nointervalo [1, 100]. A quota mínima, 𝑇 , é 50% da soma dos bônus das 𝑛 cidades.

O banco de instâncias é composto por 48 instâncias, sendo 40 simétricas e 8assimétricas. As simétricas são agrupadas pelo número de vértices, cada grupo com 10instâncias de 10, 20, 30, 40 e 50 vértices. Já as assimétricas são de tamanhos variados, cadauma das 10 instâncias número de vértices diferentes. Para essas 48 instâncias o número decaronas solicitadas é mesmo número de cidades (vértices), sendo um carona por cidade. Acapacidade do carro varia entre 3 e 4, não contando com o motorista.

As instâncias assimétricas são nomeadas como TICid-𝑛-𝑝-𝑅, onde id, 𝑛, 𝑝 e 𝑅 sãorespectivamente um identificador, número de cidades, número de potenciais passageirose número máximo de passageiros no veículo. As instâncias assimétricas são nomeadascomo pref -𝑛-per, onde pref -𝑛 é o nome do arquivo tal qual foi retirado do repositório daTSPLIB, sendo 𝑛 o número de vértices e por fim, per, é porcentagem da árvore geradoramínima usada para gerar a tarifa máxima que cada passageiro deseja pagar.

5.1.2 Metodologia

Os algoritmos metaheurísticos: GRASP descrito na seção 4.3 e evolucionáriosdescritos nas seções 4.5 e 4.6 possuem parâmetros que carecem ser afinados para melhorara qualidade de suas soluções. O afinamento de parâmetros foi feito com a ferramenta irace(LÓPEZ-IBÁNEZ et al., 2011), pacote de software R1. O irace recebe como entrada asinstâncias de treinamento, o programa executável e o conjunto de parâmetros a seremajustados, bem como um intervalo de valores para cada parâmetro. Cinco instânciassimétricas adicionais foram geradas aleatoriamente juntamente com mais duas instânciasassimétricas retiradas da TSPLIB, para compor o conjunto de treinamento.

O GRASP tem somente um parâmetro a ser afinado, o número máximo de iterações(MAX_ITE). Nesse sentido, o intervalo [30, 300] foi usado para esse parâmetro e o valorsugerido pelo irace foi de 171 iterações (MAX_ITE = 171). No caso dos algoritmosevolucionários, tanto os genéticos quantos os meméticos têm os mesmos parâmetros aserem afinados (vide seção 4.5 e 4.6). A Tabela 1 mostra os intervalos usados na afinaçãodos parâmetros dos algoritmos evolucionários, onde |𝑃 |, aval, 𝑎𝑙𝑖𝑚 e taxa de cruzamento sãorespectivamente o tamanho da população 𝑃 , o número de avaliações durante a execução doalgoritmo, limite de admissibilidade considerado para mutação (vide seção 4.5). A mesma1 <https://www.r-project.org/>

Capítulo 5. Experimentos e Resultados 38

faixa de valores foi utilizada para configurar o irace. A Tabela 2 exibe a configuração deparâmetros sugerida pelo irace para cada algoritmo evolucionário.

Tabela 1 – Intervalos de cada parâmetro submetidos ao irace.

|𝑃 | 𝑎𝑣𝑎𝑙𝑠 𝑎𝑙𝑖𝑚 taxa de cruzamento (%)[100, 1000] [105, 2× 106] [0, 1] [0, 1]

Tabela 2 – Parâmetros sugeridos pelo irace para os algoritmos evolucionários.

Algoritmo |𝑃 | 𝑎𝑣𝑎𝑙𝑠Taxa de

cruzamento 𝑎𝑙𝑖𝑚

GEN-SPLIT 746 141656 0,72 0,32GEN-SCX 687 457903 0,70 0,80GEN-SCX-BASED 872 266409 0,50 0,97MEM-SPLIT 915 581874 0,13 0,89MEM-SCX 828 1870220 0,14 0,93MEM-SCX-BASED 500 149521 0,23 0,97

A fim de que os algoritmos tenham as mesmas chances de convergência para amelhor solução, o maior valor do número de avaliações obtido foi adotado para todos osconjuntos de parâmetros, nesse caso, 𝑎𝑣𝑎𝑙𝑠 = 1870220 em negrito na Tabela 2.

Cada instância é executada 30 vezes pelos algoritmos evolucionários e GRASPpara obtenção de dados para os testes estatísticos. Dessas execuções os seguintes dadosforam extraídos:

∙ BSol – Melhor solução;

∙ NSol – Número de vezes que Bsol foi encontrada;

∙ 𝐴𝑣 – Média das soluções;

∙ 𝑀𝑑 – Mediana das soluções;

∙ Tempo – Tempo médio em segundos.

Um conjunto de referência Ref é criado a partir da junção das melhores soluçõespara cada instância encontradas por todos os métodos de solução, ou seja, método exato,heurístico e meta-heurísticos. O conjunto Ref pode ser visto na Tabela 3, a coluna “Solução”contém as melhores soluções (Bsols) dentre todos os métodos para cada instância, e porfim, a coluna “Melhor algoritmo” exibe o algoritmo de solução que encontrou a melhorsolução para cada instância. Pode-se perceber que o GRASP obteve maior sucesso emencontrar boas soluções, mas é claro que essa é uma análise bem superficial, pois devemosanalisar o conjunto de soluções de cada método para então se ter uma reposta mais precisa

Capítulo 5. Experimentos e Resultados 39

de que método é qualitativamente melhor, uma vez que cada métodos possui uma amostrade 30 execuções por instância, exceto o SOLVER e NAIVE, quem tem somente umaamostra, por serem determinísticos.

Tabela 3 – Conjunto de referência com as melhores soluções.

# Instância Solução Melhor algoritmo

1 ftv35-4-25 362,03 GRASP2 ftv38-4-33 340,45 GRASP3 ftv44-4-25 472,90 GRASP4 ftv47-4-33 446,32 GRASP5 ftv55-4-25 627,63 GRASP6 ftv64-4-50 579,95 GRASP7 p43-4-25 49,62 MEM-SCX8 ry48p-4-50 2477,58 GRASP9 TIC01-10-10-3 262,17 SOLVER, GRASP

10 TIC07-10-10-3 296,17 SOLVER, NAIVE, GRASP11 TIC10-10-10-3 506,50 SOLVER12 TIC17-10-10-4 237,75 SOLVER, GRASP13 TIC19-10-10-4 286,95 SOLVER14 TIC38-10-10-4 366,83 SOLVER15 TIC50-10-10-3 269,92 SOLVER, GRASP16 TIC52-10-10-4 317,00 SOLVER, GRASP17 TIC10-20-20-3 208,42 SOLVER18 TIC20-20-20-4 311,58 GRASP19 TIC47-20-20-3 343,00 GRASP20 TIC48-20-20-3 341,08 GRASP21 TIC49-20-20-3 397,42 GRASP22 TIC53-20-20-4 346,28 GRASP23 TIC55-20-20-4 432,20 SOLVER24 TIC56-20-20-4 292,00 GRASP25 TIC04-30-30-3 379,50 GRASP26 TIC08-30-30-3 474,25 GRASP27 TIC16-30-30-4 407,83 GRASP28 TIC37-30-30-4 489,58 GRASP29 TIC42-30-30-3 414,83 GRASP30 TIC44-30-30-3 395,42 GRASP31 TIC46-30-30-3 340,42 GRASP32 TIC60-30-30-4 438,12 GRASP33 TIC03-40-40-3 524,33 GRASP34 TIC08-40-40-3 515,67 GRASP35 TIC11-40-40-4 411,67 GRASP36 TIC40-40-40-4 417,92 GRASP37 TIC44-40-40-3 477,75 GRASP38 TIC52-40-40-4 379,00 GRASP39 TIC54-40-40-4 405,37 GRASP40 TIC58-40-40-4 444,38 GRASP41 TIC04-50-50-3 614,42 GRASP42 TIC11-50-50-4 498,58 GRASP43 TIC40-50-50-4 461,50 GRASP44 TIC45-50-50-3 572,67 GRASP45 TIC47-50-50-3 605,58 GRASP46 TIC53-50-50-4 484,45 GRASP47 TIC58-50-50-4 452,97 GRASP48 TIC59-50-50-4 576,67 GRASP

5.2 ResultadosEm uma análise preliminar, analisando as melhores soluções obtidas pelos métodos

de soluções na Tabela 3, o GRASP detém a maioria das melhores soluções. Além disso, oGRASP também tem melhor tempo quando comparado aos outros métodos além de estar

Capítulo 5. Experimentos e Resultados 40

abaixo do limite imposto pela heurística NAIVE. Como já mencionado anteriormente,apesar de termos um possível melhor algoritmo para o problema proposto, se faz necessáriofazer uma análise mais profunda a respeito desses resultados, para comprovação detal hipótese. Esta seção vai tratar da análise estatística entre as soluções obtidas nosexperimentos para o banco de instâncias.

A Tabela 4 exibe as soluções de cada instância encontrada pelo solver Gurobi,com limite de execução em 80000 segundos, os limites inferior e superior são exibidos. Osolver alcançou a solução ótima somente para instâncias simétricas de tamanho 𝑛 = 10,onde o limite inferior é igual ao limite superior. A Tabela 5 exibe a solução e o tempo deexecução em segundos de cada instância alcançados pela heurística NAIVE.

Como mencionado na seção anterior, as instâncias simétricas são agrupadas pelonúmero de vértices. Cada grupo foi analisado em separado. Para análise estatística dosdados foi utilizado o teste de Friedman para saber se existe diferença entre as soluçõesgeradas pelos algoritmos metaheurísticos. Dessa forma, os dados de entrada para o Friedmansão os conjuntos gerados pelo desvio entre a melhor solução encontrada para cada instância– que compõe conjunto de referência – e a mediana das soluções de cada algoritmo tambémpor instância. Esse desvio, 𝐺𝑎𝑝, é calculado pela equação 5.1, onde 𝑀𝑑𝑖𝑛𝑠𝑡 é a medianadas soluções de um algoritmo para a instância 𝑖𝑛𝑠𝑡 e Ref 𝑖𝑛𝑠𝑡 é a melhor solução de 𝑖𝑛𝑠𝑡.

As tabelas 11, 12, 13, 14, 15, 16 e 17 exibem a melhor solução (Bsol), o número devezes que Bsol foi encontrado pelo método em questão (Nsol), a média das soluções (Av),a mediana das soluções (Md), o Gap e o tempo médio de execução em segundos para cadainstância simétrica. Olhando para a coluna Gap dessas tabelas é possível perceber que omelhor conjunto de Gaps é o do GRASP, na Tabela 17, com todos os valores abaixo de 1.

A Tabela 6 exibe os p-valores computados no teste de Friedman para cada grupode instâncias. Todos os valores são inferiores à 𝛼 = 0, 05, o que significa que a hipótesenula foi rejeitada, apontando que ao menos um dos conjuntos é diferente dos demais. A fimde identificar onde a diferença ocorre, um pós-teste (post hoc) foi aplicado, precisamente oteste de Shaffer. A ferramenta utilizada para computar os testes estatísticos (Friedman +Shaffer) foi o pacote Java CONTROLTEST usado em Derrac et al. (2011) e disponívelno SCI2S thematic public website Statistical Inference in Computational Intelligence andData Mining2.

𝐺𝑎𝑝 = 𝑀𝑑𝑖𝑛𝑠𝑡 − Ref 𝑖𝑛𝑠𝑡

Ref 𝑖𝑛𝑠𝑡

(5.1)

A Tabela 7 exibe os p-valores de Shaffer obtidos da comparação dois a dois dosalgoritmos envolvidos no teste de Friedman para cada grupo de instâncias. Os valores emnegrito significam que o p-valor ajustado de Shaffer é menor que 0, 05 e existe diferençaentre o par de algoritmos na coluna “Comparação”. Nesse caso analisamos qual dos doisalgoritmos tem a melhor mediana das medianas (vide Tabela 8). Dessa forma, para as2 <http://sci2s.ugr.es/sicidm>

Capítulo 5. Experimentos e Resultados 41

Tabela 4 – Limites inferior e superior das instâncias executadas pelo solver Gurobi.

Instância Limite superior Limite inferior

ftv35-4-25 100.002.000,00 6,50ftv38-4-33 1.736,50 6,50ftv44-4-25 2.756,00 6,50ftv47-4-33 3.098,00 0,00ftv55-4-25 200.003.000,00 0,00ftv64-4-50 200.007.000,00 0,00

p43-4-25 545,00 0,00ry48p-4-50 8.875,25 0,00

TIC01-10-10-3 262.167,00 262.167,00TIC07-10-10-3 296.167,00 296.167,00TIC10-10-10-3 506,50 506,50TIC17-10-10-4 237,75 237,75TIC19-10-10-4 286,95 286,95TIC38-10-10-4 366.833,00 366.833,00TIC50-10-10-3 269.917,00 269.917,00TIC52-10-10-4 317,00 317,00TIC10-20-20-3 208.417,00 106.297,00TIC20-20-20-4 499,50 62,58TIC47-20-20-3 381.833,00 161,82TIC48-20-20-3 365.333,00 198.321,00TIC49-20-20-3 492,50 167.799,00TIC53-20-20-4 355.333,00 160.518,00TIC55-20-20-4 432,20 283.029,00TIC56-20-20-4 304,45 110.333,00TIC04-30-30-3 1.076,50 73,50TIC08-30-30-3 1.088,00 108,00TIC16-30-30-4 1.074,60 42,00TIC37-30-30-4 1.125,00 136,50TIC42-30-30-3 1.207,33 27,00TIC44-30-30-3 947,00 60,50TIC46-30-30-3 662,50 67,50TIC60-30-30-4 639.167,00 125.822,00TIC03-40-40-3 4.552,00 54,00TIC08-40-40-3 3.752,50 54,00TIC11-40-40-4 2.066,00 53,00TIC40-40-40-4 3.379,00 0,00TIC44-40-40-3 2.876,00 0,00TIC52-40-40-4 6.032,00 0,00TIC54-40-40-4 4.024,00 0,00TIC58-40-40-4 4.847,00 59.375,00TIC04-50-50-3 6.009,00 72,67TIC11-50-50-4 6.654,00 51,00TIC40-50-50-4 6.254,00 0,00TIC45-50-50-3 7.439,00 64,67TIC47-50-50-3 8.527,00 50,00TIC53-50-50-4 6.264,00 0,00TIC58-50-50-4 7.124,00 0,00TIC59-50-50-4 5.635,00 71,25

instâncias simétricas os melhores algoritmos em todos os grupos são: GRASP, MEM-SPLITe MEM-SCX. Embora o teste post hoc indique que os três algoritmos citados anteriormentenão tenham uma diferença significativa em qualidade de solução na comparação por grupode instâncias, podemos dizer que o GRASP detém boas soluções em tempo inferior aosoutros algoritmos metaheurísticos.

O grupo de instâncias assimétricas não está organizado em tamanhos da mesmaforma que as instâncias simétricas, sendo assim, a análise dos resultados foi feita como teste Mann-Whitney agrupando os algoritmos heurísticos par a par, recebendo comoentrada o conjunto composto pelos desvios entre as médias das 30 execuções obtidas por

Capítulo 5. Experimentos e Resultados 42

Tabela 5 – Resultados obtidos pela heurística NAIVE.

Instância Solução Tempo

ftv35-4-25 1022,00 0,10ftv38-4-33 500,17 0,13ftv44-4-25 954,00 0,21ftv47-4-33 951,00 0,27ftv55-4-25 1153,17 0,44ftv64-4-50 1327,00 0,82

p43-4-25 5604,00 0,20ry48p-4-50 6736,00 0,28

TIC01-10-10-3 817,50 0,19TIC07-10-10-3 504,17 0,01TIC10-10-10-3 879,50 0,01TIC17-10-10-4 915,00 0,01TIC19-10-10-4 1500,50 0,01TIC38-10-10-4 666,50 0,01TIC50-10-10-3 1284,00 0,01TIC52-10-10-4 969,00 0,01TIC10-20-20-3 1055,00 0,03TIC20-20-20-4 1531,50 0,02TIC47-20-20-3 805,00 0,02TIC48-20-20-3 968,50 0,02TIC49-20-20-3 582,67 0,02TIC53-20-20-4 1299,50 0,02TIC55-20-20-4 1013,00 0,02TIC56-20-20-4 786,33 0,02TIC04-30-30-3 1601,00 0,08TIC08-30-30-3 1692,00 0,07TIC16-30-30-4 1354,00 0,07TIC37-30-30-4 841,50 0,07TIC42-30-30-3 1081,83 0,07TIC44-30-30-3 925,50 0,06TIC46-30-30-3 1006,67 0,07TIC60-30-30-4 1279,00 0,06TIC03-40-40-3 1085,50 0,18TIC08-40-40-3 689,50 0,16TIC11-40-40-4 723,17 0,16TIC40-40-40-4 1122,83 0,16TIC44-40-40-3 718,17 0,16TIC52-40-40-4 943,00 0,16TIC54-40-40-4 1048,50 0,17TIC58-40-40-4 1292,17 0,16TIC04-50-50-3 1363,00 0,32TIC11-50-50-4 852,33 0,33TIC40-50-50-4 887,67 0,33TIC45-50-50-3 694,75 0,40TIC47-50-50-3 1027,50 0,36TIC53-50-50-4 572,08 0,36TIC58-50-50-4 644,50 0,34TIC59-50-50-4 1518,50 0,33

Tabela 6 – p-valores computados pelo teste de Friedman para cada grupo de instância.

Númerode vértices (grupo) p-valor

10 1,17E-0720 2,94E-0830 2,48E-0840 8,85E-0850 2,47E-08

Capítulo 5. Experimentos e Resultados 43

Tabela 7 – p-valores de Shaffer computados para comparação dois a dois dos algoritmosde solução para intâncias simétricas.

Comparação n=10 n=20 n=30 n=40 n=50

GEN-SCX vs .GEN-SPLIT 1,48 1,48 1,63 1,67 1,30GEN-SCX vs .GEN-SXP-BASED 2,10 0,37 0,64 0,49 0,74

GEN-SCX vs .MEM-SCX 0,07 1,48 0,74 1,22 0,74GEN-SCX vs .MEM-SCX-BASED 2,10 1,76E-05 9,72E-06 7,44E-06 1,76E-05

GEN-SCX vs .MEM-SPLIT 0,26 1,79E-02 2,67E-02 1,19E-02 2,38E-02GEN-SCX vs. GRASP 1,59E-03 3,19E-03 7,67E-04 7,67E-04 1,59E-03

GEN-SPLIT vs .GEN-SXP-BASED 0,73 0,17 0,41 0,93 0,41GEN-SPLIT vs .MEM-SCX-BASED 2,10 1,15 0,64 1,67 0,41

GEN-SPLIT vs. GRASP 1,01E-05 4,01E-06 4,01E-06 5,51E-05 2,14E-06GEN-SPLIT vs. MEM-SCX 1,59E-03 5,01E-03 1,19E-02 4,19E-02 6,24E-03

GEN-SPLIT vs. MEM-SPLIT 9,60E-03 7,67E-04 2,78E-04 5,01E-03 2,14E-04GEN-SXP-BASED vs .MEM-SCX 0,41 0,06 1,02 1,15 0,89

GEN-SXP-BASED vs .MEM-SCX-BASED 1,42 1,48 1,63 1,67 1,30GEN-SXP-BASED vs .MEM-SPLIT 0,95 1,48 0,31 0,41 0,26

GEN-SXP-BASED vs. GRASP 1,79E-02 0,95 2,67E-02 2,67E-02 1,79E-02GRASP vs .MEM-SCX 1,48 0,95 0,64 0,74 0,66

GRASP vs .MEM-SPLIT 0,95 1,48 1,42 1,49 1,30GRASP vs. MEM-SCX-BASED 9,57E-05 2,01E-03 1,19E-02 2,01E-03 1,79E-02

MEM-SCX vs .MEM-SPLIT 2,10 0,31 0,79 0,41 0,89MEM-SCX vs. MEM-SCX-BASED 1,19E-02 1,48 1,42 1,67 1,30

MEM-SCX-BASED vs. MEM-SPLIT 4,19E-02 0,09 0,17 0,06 0,26

Tabela 8 – Mediana das medianas para cada grupo de instâncias.

Númerode vértices

GEN-SCX

GEN-SPLIT

GEN-SXP-BASED GRASP MEM-

SCXMEM-SCX-

BASEDMEM-SPLIT

10 1332,79 1491,25 986,67 308,17 560,75 1330,13 720,2920 2437,04 2548,98 1787,55 413,00 1337,69 2072,49 673,4830 3747,13 3947,63 2902,00 454,45 2122,25 3117,96 1496,2740 4744,90 4741,50 3854,29 508,04 3119,11 4413,29 2420,9250 4842,79 4888,04 3994,60 578,23 2996,38 4022,60 2723,41

instância para cada algoritmo (𝐴𝑣𝑖𝑛𝑠𝑡) e as melhores soluções do conjunto de referência(Ref 𝑖𝑛𝑠𝑡). O desvio é calculado pela equação 5.2. A Tabela 9 dispõe os p-valores dacomparação par a par entre os algoritmos. Os p-valores inferiores à 𝛼 = 0, 05 indicamque há diferença significativa na comparação (valores em negrito). Para avaliar o melhoralgoritmo, verificou-se quem tem a melhor média das médias das soluções. A Tabela 10mostra a média das soluções médias de cada algoritmo para o conjunto de instânciasassimétricas. A ferramenta utilizada para fazer os testes estatísticos para as instânciasassimétricas foi o pacote SciPy 0.19.03 escrito em Python.

𝑎𝐺𝑎𝑝 = 𝐴𝑣𝑖𝑛𝑠𝑡 − Ref 𝑖𝑛𝑠𝑡

Ref 𝑖𝑛𝑠𝑡

(5.2)

As tabelas 18, 19, 20, 21, 22, 23 e 24 exibem a melhor solução (Bsol), o número devezes que Bsol foi encontrado pelo método em questão (Nsol), a média das soluções (Av),a mediana das soluções (Md), o aGap e o tempo médio de execução em segundos para3 <https://www.scipy.org/>

Capítulo 5. Experimentos e Resultados 44

Tabela 9 – p-valores obtidos do Mann-Whitney para o conjunto de instâncias assimétricas

Comparação p-valorGEN-SCX vs. GEN-SXP-BASED 7,81E-02

GEN-SCX vs. GRASP 6,80E-04GEN-SCX vs. MEM-SCX 6,80E-04

GEN-SCX vs. MEM-SCX-BASED 2,69E-03GEN-SCX vs. MEM-SPLIT 6,80E-04GEN-SPLIT vs. GEN-SCX 4,37E-01

GEN-SPLIT vs. GEN-SXP-BASED 1,14E-01GEN-SPLIT vs. GRASP 6,80E-04

GEN-SPLIT vs. MEM-SCX 6,80E-04GEN-SPLIT vs. MEM-SCX-BASED 2,69E-03

GEN-SPLIT vs. MEM-SPLIT 6,80E-04GEN-SXP-BASED vs. GRASP 6,80E-04

GEN-SXP-BASED vs. MEM-SCX 6,80E-04GEN-SXP-BASED vs. MEM-SCX-BASED 1,20E-02

GEN-SXP-BASED vs. MEM-SPLIT 6,80E-04MEM-SCX vs. GRASP 5,04E-03

MEM-SCX vs. MEM-SCX-BASED 9,46E-02MEM-SCX-BASED vs. GRASP 2,69E-03

MEM-SPLIT vs. GRASP 5,04E-03MEM-SPLIT vs. MEM-SCX 3,18E-01

MEM-SPLIT vs. MEM-SCX-BASED 6,39E-02

Tabela 10 – Média das soluções de cada algoritmos para o conjunto de instâncias assimé-tricas.

GEN-SCX GEN-SPLIT GEN-SXP-BASED GRASP MEM-SCX MEM-SCX-BASED MEM-SPLIT

54173057,18 49590053,31 22922275,62 1040,96 3023,32 4587818,67 3292,47

cada instância assimétrica. Olhando para a coluna aGap dessas tabelas é possível perceberque o melhor conjunto de Gaps é o do GRASP, na Tabela 17, com todos os valores abaixode 1.

Analisando os p-valores obtidos pelo Mann-Whitney (Tabela 9) o algoritmo quetem uma melhor qualidade em suas soluções é o GRASP.

Capítulo 5. Experimentos e Resultados 45

Tabela 11 – Resultados do algoritmo GEN-SPLIT para instâncias simétricas.

Instância Ref Bsol Nsol Av Md Gap Tempo

TIC01-10-10-3 262,17 665,50 1 1526,37 1572,75 5,00 224,10TIC07-10-10-3 296,17 385,08 1 1205,16 880,50 1,97 232,64TIC10-10-10-3 506,50 1081,50 1 1871,88 1915,50 2,78 214,09TIC17-10-10-4 237,75 602,00 1 1680,10 1496,00 5,29 220,00TIC19-10-10-4 286,95 1378,50 1 2006,87 1917,00 5,68 228,31TIC38-10-10-4 366,83 672,50 1 1462,68 1412,00 2,85 239,05TIC50-10-10-3 269,92 588,50 1 1414,66 1486,50 4,51 242,62TIC52-10-10-4 317,00 553,50 1 1147,62 981,00 2,09 245,11TIC10-20-20-3 208,42 1534,00 1 3143,34 2844,25 12,65 367,31TIC20-20-20-4 311,58 2501,50 1 3262,70 2908,25 8,33 384,73TIC47-20-20-3 343,00 502,83 1 2131,50 1856,25 4,41 424,26TIC48-20-20-3 341,08 1629,17 1 2829,81 2733,50 7,01 415,33TIC49-20-20-3 397,42 1232,00 1 2663,46 2128,71 4,36 409,48TIC53-20-20-4 346,28 1179,83 1 2376,77 2364,46 5,83 415,05TIC55-20-20-4 432,20 1646,50 1 3029,64 3117,73 6,21 440,98TIC56-20-20-4 292,00 964,50 1 2399,62 2203,09 6,54 419,50TIC04-30-30-3 379,50 1975,50 1 4349,46 4250,50 10,20 526,68TIC08-30-30-3 474,25 3168,50 1 4992,34 4901,75 9,34 579,28TIC16-30-30-4 407,83 2419,00 1 4573,08 3923,50 8,62 526,94TIC37-30-30-4 489,58 1581,00 1 4557,42 4818,92 8,84 599,20TIC42-30-30-3 414,83 1307,83 1 3739,05 3766,75 8,08 543,50TIC44-30-30-3 395,42 982,83 1 3492,12 3224,46 7,15 588,65TIC46-30-30-3 340,42 1564,00 1 3236,48 3240,34 8,52 555,32TIC60-30-30-4 438,12 1135,58 1 3993,73 3971,75 8,07 609,32TIC03-40-40-3 524,33 2932,00 1 5737,69 5757,00 9,98 689,60TIC08-40-40-3 515,67 2181,42 1 5915,53 5692,34 10,04 720,56TIC11-40-40-4 411,67 2644,00 1 5427,64 4849,34 10,78 694,78TIC40-40-40-4 417,92 2402,50 1 5316,75 4890,00 10,70 742,48TIC44-40-40-3 477,75 1752,25 1 4328,57 4063,75 7,51 654,83TIC52-40-40-4 379,00 1613,58 1 4657,24 4633,67 11,23 767,06TIC54-40-40-4 405,37 1776,53 1 4399,35 3957,50 8,76 721,94TIC58-40-40-4 444,38 1886,68 1 4300,20 4319,17 8,72 765,87TIC04-50-50-3 614,42 3251,25 1 7204,85 6501,25 9,58 919,14TIC11-50-50-4 498,58 4045,50 1 7708,53 7073,75 13,19 905,76TIC40-50-50-4 461,50 2621,50 1 7002,06 7026,22 14,22 958,35TIC45-50-50-3 572,67 2479,67 1 5192,12 4771,25 7,33 954,29TIC47-50-50-3 605,58 2339,33 1 4765,53 4847,38 7,00 943,78TIC53-50-50-4 484,45 2162,92 1 5241,27 4928,71 9,17 943,02TIC58-50-50-4 452,97 1809,12 1 5163,00 4687,13 9,35 1039,92TIC59-50-50-4 576,67 2356,17 1 5139,67 4675,17 7,11 1031,73

Capítulo 5. Experimentos e Resultados 46

Tabela 12 – Resultados do algoritmo GEN-SCX para instâncias simétricas.

Instância Ref Bsol Nsol Av Md Gap Tempo

TIC01-10-10-3 262,17 852,50 1 1.197,12 1.078,50 3,11 242,62TIC07-10-10-3 296,17 365,67 1 905,22 880,50 1,97 260,95TIC10-10-10-3 506,50 1.173,00 1 1.811,30 1.649,75 2,26 245,04TIC17-10-10-4 237,75 889,50 1 1.441,92 1.382,00 4,81 255,13TIC19-10-10-4 286,95 1.378,83 1 1.901,53 1.856,00 5,47 240,10TIC38-10-10-4 366,83 748,20 1 1.329,24 1.315,75 2,59 267,02TIC50-10-10-3 269,92 457,50 1 1.248,46 1.349,84 4,00 270,92TIC52-10-10-4 317,00 412,00 1 995,26 902,71 1,85 249,30TIC10-20-20-3 208,42 1.277,00 3 2.869,25 2.990,00 13,35 478,78TIC20-20-20-4 311,58 1.700,00 1 3.093,21 2.796,09 7,97 453,69TIC47-20-20-3 343,00 691,33 1 2.298,94 2.433,84 6,10 505,69TIC48-20-20-3 341,08 1.110,50 1 2.487,28 2.273,50 5,67 480,88TIC49-20-20-3 397,42 1.124,67 1 2.006,69 1.748,42 3,40 459,38TIC53-20-20-4 346,28 1.031,67 1 2.185,67 1.956,34 4,65 473,77TIC55-20-20-4 432,20 1.314,08 1 2.662,99 2.617,02 5,06 540,63TIC56-20-20-4 292,00 960,00 1 2.588,40 2.440,25 7,36 498,92TIC04-30-30-3 379,50 1.788,33 1 4.621,80 4.584,25 11,08 627,17TIC08-30-30-3 474,25 2.711,00 1 4.834,36 4.576,34 8,65 620,92TIC16-30-30-4 407,83 3.039,00 1 4.560,51 4.042,92 8,91 662,58TIC37-30-30-4 489,58 1.697,83 2 3.992,28 4.070,25 7,31 733,10TIC42-30-30-3 414,83 1.343,17 4 3.387,76 2.983,84 6,19 700,22TIC44-30-30-3 395,42 1.299,42 1 3.155,21 2.838,92 6,18 710,09TIC46-30-30-3 340,42 1.622,17 1 3.312,13 3.451,34 9,14 684,00TIC60-30-30-4 438,12 1.460,67 1 3.187,85 2.774,25 5,33 638,26TIC03-40-40-3 524,33 2.610,17 1 4.962,33 4.755,09 8,07 674,87TIC08-40-40-3 515,67 2.371,50 1 5.316,00 5.024,67 8,74 715,73TIC11-40-40-4 411,67 2.808,00 2 5.676,92 5.379,50 12,07 721,09TIC40-40-40-4 417,92 2.811,50 1 5.763,86 5.687,25 12,61 754,74TIC44-40-40-3 477,75 2.383,67 1 4.921,74 4.413,00 8,24 794,91TIC52-40-40-4 379,00 1.594,30 1 4.544,26 4.734,71 11,49 866,16TIC54-40-40-4 405,37 1.637,75 1 4.582,61 4.237,41 9,45 806,19TIC58-40-40-4 444,38 1.728,80 1 4.549,01 4.331,88 8,75 784,19TIC04-50-50-3 614,42 3.206,67 1 6.780,90 6.029,46 8,81 814,67TIC11-50-50-4 498,58 3.151,00 1 6.931,23 6.475,33 11,99 895,75TIC40-50-50-4 461,50 3.118,00 1 6.519,07 6.454,42 12,99 904,50TIC45-50-50-3 572,67 2.237,42 1 5.404,59 4.851,79 7,47 967,35TIC47-50-50-3 605,58 1.773,67 1 4.311,78 4.453,83 6,35 841,16TIC53-50-50-4 484,45 1.811,10 1 4.464,35 3.781,33 6,81 955,30TIC58-50-50-4 452,97 1.324,67 1 4.142,32 3.824,84 7,44 1.003,71TIC59-50-50-4 576,67 2.995,00 1 5.118,63 4.833,79 7,38 885,10

Capítulo 5. Experimentos e Resultados 47

Tabela 13 – Resultados do algoritmo GEN-SCX-BASED para instâncias simétricas.

Instância Ref Bsol Nsol Av Md Gap Tempo

TIC01-10-10-3 262,17 330,67 1 855,69 874,00 2,33 296,25TIC07-10-10-3 296,17 365,67 1 855,16 880,50 1,97 302,37TIC10-10-10-3 506,50 872,00 1 1.378,06 1.341,50 1,65 289,65TIC17-10-10-4 237,75 602,00 1 1.014,71 971,25 3,09 286,85TIC19-10-10-4 286,95 997,00 1 1.537,69 1.562,84 4,45 291,72TIC38-10-10-4 366,83 672,50 1 1.029,91 1.002,08 1,73 316,05TIC50-10-10-3 269,92 425,25 1 650,24 606,08 1,25 320,59TIC52-10-10-4 317,00 460,17 1 1.094,54 1.027,17 2,24 304,33TIC10-20-20-3 208,42 1.163,50 1 2.426,53 2.263,00 9,86 522,99TIC20-20-20-4 311,58 1.587,17 1 2.854,48 2.674,50 7,58 543,30TIC47-20-20-3 343,00 781,33 1 1.349,03 1.154,00 2,36 582,08TIC48-20-20-3 341,08 1.089,67 1 2.108,79 1.858,04 4,45 583,15TIC49-20-20-3 397,42 964,17 1 1.929,65 1.712,25 3,31 557,14TIC53-20-20-4 346,28 941,67 1 1.700,99 1.508,50 3,36 622,03TIC55-20-20-4 432,20 1.297,03 1 1.937,12 1.760,67 3,07 550,20TIC56-20-20-4 292,00 478,83 1 2.010,22 1.814,42 5,21 468,26TIC04-30-30-3 379,50 2.368,50 1 4.011,81 3.428,75 8,03 818,44TIC08-30-30-3 474,25 2.433,00 1 4.192,13 3.954,00 7,34 797,24TIC16-30-30-4 407,83 1.855,08 1 3.358,36 3.159,59 6,75 771,16TIC37-30-30-4 489,58 1.372,00 1 3.408,97 3.292,34 5,72 819,02TIC42-30-30-3 414,83 1.277,08 1 2.523,31 1.955,75 3,71 858,46TIC44-30-30-3 395,42 1.236,67 1 2.634,16 2.644,42 5,69 828,32TIC46-30-30-3 340,42 1.049,75 1 2.455,57 2.244,88 5,59 794,93TIC60-30-30-4 438,12 1.111,92 1 2.939,37 2.568,42 4,86 599,29TIC03-40-40-3 524,33 2.695,17 1 4.722,71 4.273,67 7,15 898,04TIC08-40-40-3 515,67 1.920,17 1 4.441,66 4.427,25 7,59 884,54TIC11-40-40-4 411,67 2.404,17 1 4.288,19 3.972,84 8,65 884,31TIC40-40-40-4 417,92 1.876,67 1 4.483,09 3.735,75 7,94 930,69TIC44-40-40-3 477,75 2.052,75 1 4.168,59 3.995,25 7,36 1.011,92TIC52-40-40-4 379,00 1.434,87 1 3.101,08 2.669,17 6,04 1.123,78TIC54-40-40-4 405,37 1.400,08 1 3.266,79 3.057,34 6,54 929,04TIC58-40-40-4 444,38 2.021,43 1 3.590,59 3.526,71 6,94 762,10TIC04-50-50-3 614,42 2.608,67 1 5.525,75 5.187,75 7,44 900,32TIC11-50-50-4 498,58 3.581,00 1 5.644,77 5.141,00 9,31 843,59TIC40-50-50-4 461,50 2.890,00 1 4.512,65 4.099,62 7,88 843,27TIC45-50-50-3 572,67 1.756,67 1 3.755,21 3.349,50 4,85 891,89TIC47-50-50-3 605,58 2.345,00 1 3.986,38 4.143,92 5,84 905,13TIC53-50-50-4 484,45 1.556,17 1 3.355,21 2.959,42 5,11 1.015,08TIC58-50-50-4 452,97 1.370,45 1 2.900,16 2.417,32 4,34 700,76TIC59-50-50-4 576,67 2.066,33 1 3.802,92 3.889,59 5,74 663,45

Capítulo 5. Experimentos e Resultados 48

Tabela 14 – Resultados do algoritmo MEM-SPLIT para instâncias simétricas.

Instância Ref Bsol Nsol Av Md Gap Tempo

TIC01-10-10-3 262,17 414,83 1 925,41 743,25 1,83 357,83TIC07-10-10-3 296,17 342,83 1 1.006,33 817,42 1,76 370,00TIC10-10-10-3 506,50 598,00 1 1.520,77 1.083,75 1,14 359,54TIC17-10-10-4 237,75 296,67 1 788,29 697,33 1,93 348,14TIC19-10-10-4 286,95 502,25 1 1.115,66 1.012,50 2,53 356,94TIC38-10-10-4 366,83 371,83 2 544,95 455,49 0,24 395,99TIC50-10-10-3 269,92 366,42 1 667,50 497,88 0,84 264,48TIC52-10-10-4 317,00 453,08 1 706,63 598,03 0,89 230,47TIC10-20-20-3 208,42 363,67 1 699,15 579,42 1,78 611,75TIC20-20-20-4 311,58 1.608,00 1 2.357,31 2.366,75 6,60 584,18TIC47-20-20-3 343,00 455,33 3 682,22 610,92 0,78 457,75TIC48-20-20-3 341,08 474,58 1 749,38 713,63 1,09 355,61TIC49-20-20-3 397,42 504,50 1 658,66 633,33 0,59 345,22TIC53-20-20-4 346,28 530,08 1 739,74 723,24 1,09 262,85TIC55-20-20-4 432,20 565,37 1 802,41 731,25 0,69 256,79TIC56-20-20-4 292,00 370,92 1 604,62 588,88 1,02 266,04TIC04-30-30-3 379,50 1.696,25 1 2.226,43 2.213,84 4,83 813,51TIC08-30-30-3 474,25 2.410,00 1 3.093,03 3.100,00 5,54 805,87TIC16-30-30-4 407,83 2.232,50 1 2.638,09 2.570,75 5,30 811,05TIC37-30-30-4 489,58 1.189,58 1 1.812,36 1.697,83 2,47 871,36TIC42-30-30-3 414,83 531,67 1 1.009,63 1.097,75 1,65 879,59TIC44-30-30-3 395,42 405,17 1 839,45 620,00 0,57 882,38TIC46-30-30-3 340,42 408,75 1 941,56 860,00 1,53 849,72TIC60-30-30-4 438,12 963,92 3 1.292,39 1.294,71 1,96 619,38TIC03-40-40-3 524,33 1.940,50 1 3.680,69 3.448,25 5,58 1.069,38TIC08-40-40-3 515,67 2.088,92 1 2.872,52 2.564,17 3,97 1.053,28TIC11-40-40-4 411,67 2.341,62 1 3.435,01 3.433,75 7,34 1.033,70TIC40-40-40-4 417,92 1.926,67 1 2.934,74 2.983,00 6,14 1.107,61TIC44-40-40-3 477,75 1.365,75 1 2.336,10 2.277,67 3,77 1.081,35TIC52-40-40-4 379,00 1.161,75 1 1.711,47 1.682,87 3,44 1.356,98TIC54-40-40-4 405,37 1.364,55 1 1.994,79 1.958,42 3,83 1.222,17TIC58-40-40-4 444,38 1.643,67 1 2.193,99 2.204,21 3,96 1.310,08TIC04-50-50-3 614,42 3.080,83 1 4.537,04 4.273,00 5,95 1.298,38TIC11-50-50-4 498,58 2.585,67 1 4.318,43 4.176,25 7,38 1.278,77TIC40-50-50-4 461,50 1.798,58 1 3.205,37 3.474,50 6,53 1.326,56TIC45-50-50-3 572,67 2.117,92 1 3.145,21 3.033,21 4,30 1.285,42TIC47-50-50-3 605,58 1.927,25 1 2.471,02 2.345,00 2,87 3.153,58TIC53-50-50-4 484,45 1.270,85 1 1.871,44 1.866,67 2,85 2.673,73TIC58-50-50-4 452,97 1.204,27 1 1.762,49 1.665,09 2,68 2.395,69TIC59-50-50-4 576,67 1.726,90 1 2.552,73 2.413,62 3,19 2.678,18

Capítulo 5. Experimentos e Resultados 49

Tabela 15 – Resultados do algoritmo MEM-SCX para instâncias simétricas.

Instância Ref Bsol Nsol Av Md Gap Tempo

TIC01-10-10-3 262,17 343,50 1 548,93 536,50 1,05 333,66TIC07-10-10-3 296,17 296,17 5 390,78 342,83 0,16 344,42TIC10-10-10-3 506,50 540,83 1 1.166,16 1.223,50 1,42 330,47TIC17-10-10-4 237,75 539,83 4 728,44 691,25 1,91 333,42TIC19-10-10-4 286,95 355,17 1 1.449,57 1.529,75 4,33 324,56TIC38-10-10-4 366,83 368,73 1 479,52 454,00 0,24 396,97TIC50-10-10-3 269,92 272,17 1 417,05 393,42 0,46 316,45TIC52-10-10-4 317,00 334,17 1 538,32 585,00 0,85 250,87TIC10-20-20-3 208,42 491,83 1 1.603,83 1.539,09 6,38 566,21TIC20-20-20-4 311,58 1.718,67 1 2.664,02 2.668,00 7,56 569,94TIC47-20-20-3 343,00 361,58 1 494,54 454,63 0,33 385,25TIC48-20-20-3 341,08 767,33 1 1.418,06 1.410,58 3,14 437,72TIC49-20-20-3 397,42 795,58 1 1.318,11 1.287,54 2,24 385,71TIC53-20-20-4 346,28 920,08 1 1.201,98 1.183,50 2,42 335,05TIC55-20-20-4 432,20 887,00 1 1.417,17 1.387,84 2,21 281,20TIC56-20-20-4 292,00 311,22 1 594,49 513,67 0,76 274,61TIC04-30-30-3 379,50 1.697,67 1 2.850,45 2.494,50 5,57 815,10TIC08-30-30-3 474,25 1.958,67 1 3.280,42 3.297,00 5,95 788,24TIC16-30-30-4 407,83 2.497,00 1 3.226,71 3.023,25 6,41 826,59TIC37-30-30-4 489,58 1.288,08 1 2.401,08 2.294,09 3,69 905,76TIC42-30-30-3 414,83 1.296,00 1 2.113,71 1.897,46 3,57 878,73TIC44-30-30-3 395,42 476,42 1 1.939,41 1.829,96 3,63 829,14TIC46-30-30-3 340,42 1.146,50 1 1.990,51 1.950,42 4,73 819,12TIC60-30-30-4 438,12 918,75 1 1.475,07 1.352,13 2,09 382,82TIC03-40-40-3 524,33 2.788,00 1 3.910,26 3.687,42 6,03 1.089,65TIC08-40-40-3 515,67 2.307,67 1 3.597,64 3.325,09 5,45 1.084,54TIC11-40-40-4 411,67 2.798,00 1 3.861,13 3.711,00 8,01 1.022,21TIC40-40-40-4 417,92 1.844,92 1 3.510,17 3.278,25 6,84 1.115,85TIC44-40-40-3 477,75 1.516,58 1 2.961,66 2.959,96 5,20 1.091,17TIC52-40-40-4 379,00 1.016,92 1 1.859,90 1.884,13 3,97 664,96TIC54-40-40-4 405,37 1.231,48 1 2.060,86 2.056,93 4,07 567,06TIC58-40-40-4 444,38 1.422,02 1 2.271,16 2.173,40 3,89 497,16TIC04-50-50-3 614,42 3.823,83 1 5.745,24 5.089,50 7,28 1.337,46TIC11-50-50-4 498,58 3.033,33 1 4.955,49 4.755,50 8,54 1.311,70TIC40-50-50-4 461,50 2.205,67 1 4.583,34 4.012,50 7,69 1.415,27TIC45-50-50-3 572,67 2.147,58 1 3.402,49 3.297,21 4,76 1.335,07TIC47-50-50-3 605,58 1.947,00 1 2.693,49 2.553,75 3,22 1.631,70TIC53-50-50-4 484,45 1.227,30 1 1.969,31 1.866,67 2,85 1.015,03TIC58-50-50-4 452,97 1.146,93 1 1.899,57 1.990,14 3,39 905,49TIC59-50-50-4 576,67 1.606,23 1 2.695,51 2.695,55 3,67 853,21

Capítulo 5. Experimentos e Resultados 50

Tabela 16 – Resultados do algoritmo MEM-SCX-BASED para instâncias simétricas.

Instância Ref Bsol Nsol Av Md Gap Tempo

TIC01-10-10-3 262,17 820,00 1 1258,28 1162,00 3,43 314,33TIC07-10-10-3 296,17 365,67 1 1366,10 1295,25 3,37 323,43TIC10-10-10-3 506,50 1.189,50 1 1657,49 1619,25 2,20 308,28TIC17-10-10-4 237,75 710,00 1 1596,13 1604,50 5,75 305,28TIC19-10-10-4 286,95 1.581,50 1 1944,21 1856,00 5,47 287,84TIC38-10-10-4 366,83 884,00 1 1356,13 1365,00 2,72 327,36TIC50-10-10-3 269,92 315,67 1 1162,23 1246,59 3,62 320,58TIC52-10-10-4 317,00 679,83 1 1109,33 981,00 2,09 292,56TIC10-20-20-3 208,42 1.277,00 1 2723,29 2529,25 11,14 517,02TIC20-20-20-4 311,58 1.971,50 1 3068,76 2791,75 7,96 505,49TIC47-20-20-3 343,00 843,50 1 1888,84 1671,79 3,87 562,11TIC48-20-20-3 341,08 1.411,33 1 2440,49 2237,59 5,56 556,37TIC49-20-20-3 397,42 895,00 1 2174,03 1816,84 3,57 547,28TIC53-20-20-4 346,28 962,58 1 1936,82 1782,50 4,15 367,06TIC55-20-20-4 432,20 1.121,83 1 2198,80 2119,34 3,90 331,48TIC56-20-20-4 292,00 654,03 1 1989,28 2025,64 5,94 362,87TIC04-30-30-3 379,50 2.372,00 1 4057,04 3572,50 8,41 661,56TIC08-30-30-3 474,25 2.154,50 1 4424,89 3916,00 7,26 674,51TIC16-30-30-4 407,83 2.359,00 1 4029,40 3778,25 8,26 661,18TIC37-30-30-4 489,58 2.093,83 1 3878,69 3487,25 6,12 714,38TIC42-30-30-3 414,83 1.165,83 1 2962,28 2748,67 5,63 691,44TIC44-30-30-3 395,42 1.435,42 1 2787,93 2420,54 5,12 680,10TIC46-30-30-3 340,42 1.259,42 1 2874,33 2677,42 6,87 698,61TIC60-30-30-4 438,12 1.078,75 1 2475,19 2297,50 4,24 346,99TIC03-40-40-3 524,33 2.936,50 1 5218,89 4750,75 8,06 846,64TIC08-40-40-3 515,67 2.345,50 1 5094,75 5265,25 9,21 846,70TIC11-40-40-4 411,67 2.566,00 1 4660,29 4199,59 9,20 779,15TIC40-40-40-4 417,92 2.706,17 1 5303,95 5482,50 12,12 902,23TIC44-40-40-3 477,75 1.966,33 1 4575,31 4627,00 8,68 919,37TIC52-40-40-4 379,00 1.224,33 1 2208,56 2090,13 4,51 609,40TIC54-40-40-4 405,37 1.589,27 1 2689,20 2434,25 5,01 616,37TIC58-40-40-4 444,38 1.732,65 1 2716,25 2625,63 4,91 581,39TIC04-50-50-3 614,42 4.187,50 1 6514,88 5574,34 8,07 1009,20TIC11-50-50-4 498,58 3.161,33 1 6092,86 5284,42 9,60 995,07TIC40-50-50-4 461,50 2.259,73 1 5666,52 5280,54 10,44 1083,78TIC45-50-50-3 572,67 2.172,75 1 4754,74 4144,25 6,24 1114,28TIC47-50-50-3 605,58 1.817,42 1 4642,90 3900,96 5,44 1106,33TIC53-50-50-4 484,45 1.289,08 1 2353,80 2441,11 4,04 1173,56TIC58-50-50-4 452,97 1.211,35 1 2248,64 2286,50 4,05 731,27TIC59-50-50-4 576,67 2.119,08 1 3059,20 3110,93 4,39 735,89

Capítulo 5. Experimentos e Resultados 51

Tabela 17 – Resultados do GRASP para instâncias simétricas.

Instância Ref Bsol Nsol Av Md Gap Tempo

TIC01-10-10-3 262,17 262,17 2 295,59 281,83 0,07 1,86TIC07-10-10-3 296,17 296,17 29 297,72 296,17 0,00 1,89TIC10-10-10-3 506,50 519,50 13 541,94 540,83 0,07 1,87TIC17-10-10-4 237,75 237,75 19 247,93 237,75 0,00 1,99TIC19-10-10-4 286,95 293,25 13 322,53 320,17 0,12 1,87TIC38-10-10-4 366,83 368,73 20 370,26 368,73 0,01 1,86TIC50-10-10-3 269,92 269,92 1 286,61 272,17 0,01 1,96TIC52-10-10-4 317,00 317,00 10 333,8 326,17 0,03 1,84TIC10-20-20-3 208,42 243,17 1 283,45 278,17 0,33 7,22TIC20-20-20-4 311,58 311,58 1 368 371,33 0,19 6,77TIC47-20-20-3 343,00 343,00 1 402,55 410,33 0,20 6,78TIC48-20-20-3 341,08 341,08 1 413,74 415,67 0,22 7,46TIC49-20-20-3 397,42 397,42 1 459,14 454,79 0,14 7,30TIC53-20-20-4 346,28 346,28 1 421,52 428,18 0,24 7,19TIC55-20-20-4 432,20 470,10 1 531,9 533,37 0,23 7,31TIC56-20-20-4 292,00 292,00 2 346,89 347,33 0,19 7,14TIC04-30-30-3 379,50 379,50 1 412,87 413,92 0,09 20,20TIC08-30-30-3 474,25 474,25 1 546,31 545,25 0,15 20,72TIC16-30-30-4 407,83 407,83 1 444,74 446,89 0,10 20,52TIC37-30-30-4 489,58 489,58 1 542,99 539,29 0,10 16,75TIC42-30-30-3 414,83 414,83 1 462,44 462,00 0,11 17,99TIC44-30-30-3 395,42 395,42 1 430,23 428,79 0,08 17,11TIC46-30-30-3 340,42 340,42 1 420,28 427,75 0,26 17,04TIC60-30-30-4 438,12 438,12 1 506,49 510,26 0,16 16,90TIC03-40-40-3 524,33 524,33 1 585,04 591,21 0,13 48,08TIC08-40-40-3 515,67 515,67 1 563,88 564,38 0,09 42,76TIC11-40-40-4 411,67 411,67 1 480,6 484,48 0,18 41,14TIC40-40-40-4 417,92 417,92 1 487,44 491,34 0,18 39,34TIC44-40-40-3 477,75 477,75 1 560,69 562,46 0,18 38,30TIC52-40-40-4 379,00 379,00 1 429,96 437,70 0,15 37,09TIC54-40-40-4 405,37 405,37 1 446,18 447,46 0,10 37,14TIC58-40-40-4 444,38 444,38 1 520,69 524,73 0,18 36,91TIC04-50-50-3 614,42 614,42 1 682,56 679,04 0,11 88,79TIC11-50-50-4 498,58 498,58 1 533,69 532,91 0,07 78,15TIC40-50-50-4 461,50 461,50 1 505,84 509,18 0,10 74,52TIC45-50-50-3 572,67 572,67 1 652,42 654,83 0,14 75,09TIC47-50-50-3 605,58 605,58 1 641,04 642,67 0,06 74,19TIC53-50-50-4 484,45 484,45 1 541,75 537,12 0,11 72,63TIC58-50-50-4 452,97 452,97 1 486,68 487,07 0,08 72,16TIC59-50-50-4 576,67 576,67 1 624,64 619,35 0,07 67,39

Tabela 18 – Resultados do algoritmo GEN-SPLIT para instâncias assimétricas.

Instância Ref Bsol Nsol Av Md aGap Tempo

ftv35-4-25 362,03 1887,50 1 7,33E+07 1,00E+08 2,03E+05 657,21ftv38-4-33 340,45 2550,50 1 8,33E+07 1,00E+08 2,45E+05 666,48ftv44-4-25 472,90 1971,00 1 7,00E+07 1,00E+08 1,48E+05 864,75ftv47-4-33 446,32 2302,50 1 5,67E+07 4,41E+03 1,27E+05 875,73ftv55-4-25 627,63 2301,00 1 6,33E+07 1,00E+08 1,01E+05 1106,95ftv64-4-50 579,95 2070,50 1 5,00E+07 5,68E+03 8,62E+04 1222,17

p43-4-25 49,62 5765,17 1 1,51E+04 1,67E+04 3,02E+02 872,77ry48p-4-50 2477,58 6322,23 1 1,78E+04 1,57E+04 6,19E+00 948,06

Capítulo 5. Experimentos e Resultados 52

Tabela 19 – Resultados do algoritmo GEN-SCX para instâncias assimétricas.

Instância Ref Bsol Nsol Av Md aGap Tempo

ftv35-4-25 362,03 1605,00 1 9,00E+07 1,00E+08 2,49E+05 718,69ftv38-4-33 340,45 1193,50 1 7,67E+07 1,00E+08 2,25E+05 809,74ftv44-4-25 472,90 1885,00 1 6,67E+07 4,92E+03 1,41E+05 827,97ftv47-4-33 446,32 1435,50 1 8,67E+07 1,00E+08 1,94E+05 938,01ftv55-4-25 627,63 2215,00 1 5,67E+07 4,84E+03 9,03E+04 974,42ftv64-4-50 579,95 2060,50 1 5,67E+07 4,70E+03 9,77E+04 1261,56

p43-4-25 49,62 134,25 1 1,55E+04 1,68E+04 3,11E+02 839,19ry48p-4-50 2477,58 5901,00 1 1,61E+04 1,40E+04 5,52E+00 908,12

Tabela 20 – Resultados do algoritmo GEN-SCX-BASED para instâncias assimétricas.

Instância Ref Bsol Nsol Av Md aGap Tempo

ftv35-4-25 362,03 1271,5 1 5,00E+07 3510,5 1,38E+05 897,6653333ftv38-4-33 340,45 1197,7 1 6,00E+07 4242 1,76E+05 1008,613ftv44-4-25 472,90 1866,5 1 2,00E+07 2260,25 4,23E+04 866,7536667ftv47-4-33 446,32 1932,17 1 2,00E+07 3039 4,48E+04 954,822ftv55-4-25 627,63 2025,5 1 2,00E+07 3538,5 3,19E+04 1048,410667ftv64-4-50 579,95 1857,5 1 1,33E+07 2917,165 2,30E+04 1193,326333

p43-4-25 49,62 192,5 1 1,15E+04 11007,75 2,31E+02 932,2753333ry48p-4-50 2477,58 7461,58 1 1,59E+04 15797,1 5,41E+00 876,4533333

Tabela 21 – Resultados do algoritmo MEM-SPLIT para instâncias assimétricas.

Instância Ref Bsol Nsol Av Md aGap Tempo

ftv35-4-25 362,03 1243,50 1 1710,18 1657,00 3,72 1875,47ftv38-4-33 340,45 1014,67 1 1716,71 1665,50 4,04 2349,96ftv44-4-25 472,90 1437,00 1 1918,20 1899,25 3,06 3711,05ftv47-4-33 446,32 1759,00 1 2087,57 2008,50 3,68 3641,41ftv55-4-25 627,63 2004,50 1 2495,39 2301,00 2,98 6046,17ftv64-4-50 579,95 1342,92 1 2039,07 2087,50 2,52 9758,74

p43-4-25 49,62 213,17 1 5064,92 5746,09 101,07 1946,22ry48p-4-50 2477,58 5743,17 1 9307,70 8769,01 2,76 2158,71

Tabela 22 – Resultados do algoritmo MEM-SCX para instâncias assimétricas.

Instância Ref Bsol Nsol Av Md aGap Tempo

ftv35-4-25 362,03 1327,00 1 1959,98 1746,75 4,41 793,75ftv38-4-33 340,45 1081,00 1 1737,15 1690,34 4,10 951,36ftv44-4-25 472,90 1685,83 1 2135,46 2072,25 3,52 1419,26ftv47-4-33 446,32 1679,00 1 2092,61 2004,50 3,69 1652,59ftv55-4-25 627,63 1971,50 1 2631,13 2407,00 3,19 3011,31ftv64-4-50 579,95 1343,83 1 2147,42 2060,50 2,70 2876,26

p43-4-25 49,62 49,62 1 1834,43 180,26 35,97 686,93ry48p-4-50 2477,58 5196,78 1 9648,34 8823,75 2,89 901,09

Tabela 23 – Resultados do algoritmo MEM-SCX-BASED para instâncias assimétricas.

Instância Ref Bsol Nsol Av Md aGap Tempo

ftv35-4-25 362,03 1498,00 1 2,67E+07 2035,00 73662,85 671,48ftv38-4-33 340,45 1468,67 1 1,00E+07 2014,50 29377,88 846,36ftv44-4-25 472,90 1603,50 1 2151,12 1984,00 3,55 971,31ftv47-4-33 446,32 1725,58 1 2249,79 2093,50 4,04 1368,85ftv55-4-25 627,63 1885,83 1 2488,47 2344,59 2,96 1633,34ftv64-4-50 579,95 1665,17 1 2535,79 2246,00 3,37 2999,08

p43-4-25 49,62 267,17 1 7848,37 5911,92 157,17 553,39ry48p-4-50 2477,58 5259,75 1 14712,85 12429,35 4,94 756,86

Capítulo 5. Experimentos e Resultados 53

Tabela 24 – Resultados do GRASP para instâncias assimétricas.

Instância Ref Bsol Nsol Av Md aGap Tempo

ftv35-4-25 362,03 362,03 1 638,94 653,03 0,76 30,39ftv38-4-33 340,45 340,45 1 503,02 508,62 0,48 34,43ftv44-4-25 472,90 472,90 1 692,87 680,38 0,47 52,60ftv47-4-33 446,32 446,32 1 559,65 554,78 0,25 60,51ftv55-4-25 627,63 627,63 1 980,46 1001,29 0,56 97,37ftv64-4-50 579,95 579,95 1 659,92 652,69 0,14 152,30

p43-4-25 49,62 68,92 1 1540,56 124,46 30,05 40,10ry48p-4-50 2477,58 2477,58 1 2752,26 2782,79 0,11 58,33

54

6 Considerações Finais

6.1 ConclusõesEsta dissertação abordou um novo problema chamado Problema do Caixeiro

Viajante com Passageiros e Quota derivado do Problema do Caixeiro Viajante com Quota(PCVPQ). O problema examinado combina características do problema de ridesharingclássico com um problema de coleta de bônus. O PCVPQ é um problema de roteamentocom coleta de bônus e compartilhamento de veículo que visa minimizar o custo de viagemdo caixeiro dividindo os custos da vigem com os passageiros. O problema tem potencialpara ser aplicado em sistemas de otimização de transporte colaborativo. Para o problemaexaminado o trabalho sugeriu uma formulação matemática, seis algoritmos evolucionárioe um heurístico. Visando o levantamento de limites para a solução exata das instâncias,o modelo foi implementado no Solver Gurobi. Com base no experimento computacionaldesenvolvido e das análises estatísticas realizadas pôde-se concluir que, para as instânciassimétricas, os melhores desempenhos qualitativos foram alcançados pelos algoritmosGRASP, MEM-SPLIT e MEM-SCX, destacando-se o GRASP com o melhor tempo. Parao caso das instâncias assimétricas, o GRASP se mostra como o de maior potencial.

6.2 Trabalhos FuturosOs algoritmos apresentados aqui apresentam uma boa contribuição, apesar disso,

em busca de melhorar as soluções obtidas, é necessário investir em novas metaheurísticaspara o problema. A melhoria dos algoritmos propostos aqui também se faz um trabalhoválido. Nesse sentido, uma boa abordagem seria adicionar a função Solver, usada naheurística NAIVE e no GRASP, como função de melhoramento no algoritmo memético.No sentido de novas metaheurísticas, a transgenética pode se mostrar promissora uma vezque podemos iniciar com uma população de boas soluções, além de podermos explorar asua liberdade quanto a manipulação de partes de soluções, por exemplo um conjunto deboas rotas, nas quais podemos fazer um carregamento ótimo usando a função Solver.

55

Referências

AGATZ, N. et al. Optimization for dynamic ride-sharing: a review| nova. the university ofnewcastle’s digital repository. Elsevier BV, 2012.

AGATZ, N. A. et al. Dynamic ride-sharing: A simulation study in metro atlanta.Transportation Research Part B: Methodological, Elsevier, v. 45, n. 9, p. 1450–1464, 2011.

AHMED, Z. H. Genetic algorithm for the traveling salesman problem using sequentialconstructive crossover operator. International Journal of Biometrics & Bioinformatics(IJBB), v. 3, n. 6, p. 96, 2010.

AMEY, A.; ATTANUCCI, J.; MISHALANI, R. Real-time. In: Ridesharing–TheOpportunities and Challenges of Utilizing Mobile Phone Technology to Improve RideshareServices. Proceedings of the 90th Annual Meeting of the Transportation Research Board,January, Washington, DC. [S.l.: s.n.], 2011.

AUSIELLO, G. et al. Algorithms for the on-line quota traveling salesman problem. In:SPRINGER. International Computing and Combinatorics Conference. [S.l.], 2004. p.290–299.

AWERBUCH, B. et al. New approximation guarantees for minimum-weight k-trees andprize-collecting salesmen. SIAM Journal on Computing, SIAM, v. 28, n. 1, p. 254–262,1998.

BALAS, E. The prize collecting traveling salesman problem. Networks, Wiley OnlineLibrary, v. 19, n. 6, p. 621–636, 1989.

CALHEIROS, Z. Algoritmos evolucionários na solução do caixeiro viajante comcaronas. Ciência da Computação – Departamento de Informática e Matemática Aplicada,Universidade Federal do Rio Grande do Norte., Natal, 2015.

CHAN, N. D.; SHAHEEN, S. A. Ridesharing in north america: Past, present, and future.Transport Reviews, Taylor & Francis, v. 32, n. 1, p. 93–112, 2012.

CHAO, I.-M.; GOLDEN, B. L.; WASIL, E. A. A fast and effective heuristic for theorienteering problem. European journal of operational research, Elsevier, v. 88, n. 3, p.475–489, 1996.

COLTIN, B.; VELOSO, M. Ridesharing with passenger transfers. In: IEEE. 2014IEEE/RSJ International Conference on Intelligent Robots and Systems. [S.l.], 2014. p.3278–3283.

CORDEAU, J.-F.; LAPORTE, G. The dial-a-ride problem: models and algorithms. Annalsof Operations Research, v. 153, n. 1, p. 29–46, Sep 2007. ISSN 1572-9338. Disponível em:<http://dx.doi.org/10.1007/s10479-007-0170-8>.

CROES, G. A. A method for solving traveling-salesman problems. Operations research,INFORMS, v. 6, n. 6, p. 791–812, 1958.

Referências 56

DAILEY, D.; LOSEFF, D.; MEYERS, D. Seattle smart traveler: dynamic ridematchingon the world wide web. Transportation Research Part C: Emerging Technologies, Elsevier,v. 7, n. 1, p. 17–32, 1999.

DAWKINS, R. The selfish gene oxford university press. New York, 1976.

DEAKIN, E.; FRICK, K.; SHIVELY, K. Markets for dynamic ridesharing? case ofberkeley, california. Transportation Research Record: Journal of the TransportationResearch Board, Transportation Research Board of the National Academies, n. 2187, p.131–137, 2010.

DELL’AMICO, M.; MAFFIOLI, F.; VäRBRAND, P. On prize-collecting toursand the asymmetric travelling salesman problem. International Transactions inOperational Research, v. 2, n. 3, p. 297 – 308, 1995. ISSN 0969-6016. Disponível em:<http://www.sciencedirect.com/science/article/pii/0969601695000105>.

DERRAC, J. et al. A practical tutorial on the use of nonparametric statistical tests as amethodology for comparing evolutionary and swarm intelligence algorithms. Swarm andEvolutionary Computation, Elsevier, v. 1, n. 1, p. 3–18, 2011.

EL-MIHOUB, T. A. et al. Hybrid genetic algorithms: A review. Engineering Letters,v. 13, n. 2, p. 124–137, 2006.

FURUHATA, M. et al. Ridesharing: The state-of-the-art and future directions.Transportation Research Part B: Methodological, Elsevier, v. 57, p. 28–46, 2013.

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

GHOSEIRI, K. et al. Real-time rideshare matching problem. [S.l.]: Mid-AtlanticUniversities Transportation Center, 2011.

GOLDBARG, M. C.; GOLDBARG, E. G.; LUNA, H. P. L. Otimização Combinatória eMetaheurísticas: Algoritmos e Apliacações. 1. ed. Rio de Janeiro: Elsevier, 2016.

GRUEBELE, P. A. Interactive system for real time dynamic multi-hop carpooling. GlobalTransport Knowledge Partnership, 2008.

GRÖTSCHEL, M.; LOVÁSZ, L. Combinatorial Optimization: A Survey. 1993.

HERBAWI, W.; WEBER, M. Ant colony vs. genetic multiobjective route planning indynamic multi-hop ridesharing. In: IEEE. 2011 IEEE 23rd International Conference onTools with Artificial Intelligence. [S.l.], 2011. p. 282–288.

HERBAWI, W. M.; WEBER, M. A genetic and insertion heuristic algorithm for solvingthe dynamic ridematching problem with time windows. In: ACM. Proceedings of the 14thannual conference on Genetic and evolutionary computation. [S.l.], 2012. p. 385–392.

HOLLAND, J. H. Adaptation in natural and artificial systems, university of michiganpress, ann arbor, mi. 1975.

HORN, J. rey; GOLDBERG, D. E. Genetic algorithm difficulty and the modality offitness landscapes. Urbana, v. 51, p. 61801–2996, 1994.

JANSEN, T. Analyzing evolutionary algorithms: The computer science perspective. [S.l.]:Springer Science & Business Media, 2013.

Referências 57

JOZEFOWIEZ, N.; GLOVER, F.; LAGUNA, M. Multi-objective meta-heuristics forthe traveling salesman problem with profits. Journal of Mathematical Modelling andAlgorithms, Springer, v. 7, n. 2, p. 177–195, 2008.

KLEINER, A.; NEBEL, B.; ZIPARO, V. A mechanism for dynamic ride sharing based onparallel auctions. 2011.

LAHYANI, R.; KHEMAKHEM, M.; SEMET, F. Rich vehicle routing problems: From ataxonomy to a definition. European Journal of Operational Research, Elsevier, v. 241, n. 1,p. 1–14, 2015.

LAPORTE, G.; MARTELLO, S. The selective travelling salesman problem. Discreteapplied mathematics, Elsevier, v. 26, n. 2-3, p. 193–207, 1990.

LIN, S.; KERNIGHAN, B. W. An effective heuristic algorithm for the traveling-salesmanproblem. Operations research, INFORMS, v. 21, n. 2, p. 498–516, 1973.

LÓPEZ-IBÁNEZ, M. et al. The irace package: Iterated racing for automaticalgorithm configuration. IRIDIA, Université Libre de Bruxelles, Belgium, Tech. Rep.TR/IRIDIA/2011-004, Citeseer, 2011.

MILLER, C. E.; TUCKER, A. W.; ZEMLIN, R. A. Integer programming formulation oftraveling salesman problems. Journal of the ACM (JACM), ACM, v. 7, n. 4, p. 326–329,1960.

MORENCY, C. The ambivalence of ridesharing. Transportation, Springer, v. 34, n. 2, p.239–253, 2007.

NERI, F.; COTTA, C. Memetic algorithms and memetic computing optimization:A literature review. Swarm and Evolutionary Computation, v. 2, p. 1 – 14, 2012.ISSN 2210-6502. Disponível em: <http://www.sciencedirect.com/science/article/pii/S2210650211000691>.

NOURINEJAD, M. Dynamic Optimization Models for Ridesharing and Carsharing. Tese(Doutorado), 2014.

ONG, Y. S.; KEANE, A. J. Meta-lamarckian learning in memetic algorithms. IEEEtransactions on evolutionary computation, IEEE, v. 8, n. 2, p. 99–110, 2004.

REINELT, G. Tsplib—a traveling salesman problem library. ORSA journal on computing,INFORMS, v. 3, n. 4, p. 376–384, 1991.

VANSTEENWEGEN, P.; SOUFFRIAU, W.; OUDHEUSDEN, D. V. The orienteeringproblem: A survey. European Journal of Operational Research, v. 209, n. 1, p. 1 – 10,2011. ISSN 0377-2217. Disponível em: <http://www.sciencedirect.com/science/article/pii/S0377221710002973>.

WHITLEY, D.; SUTTON, A. M. Genetic algorithms—a survey of models and methods.In: Handbook of natural computing. [S.l.]: Springer, 2012. p. 637–671.

WINTER, S.; NITTEL, S. Ad hoc shared-ride trip planning by mobile geosensor networks.International Journal of Geographical Information Science, Taylor & Francis, v. 20, n. 8,p. 899–916, 2006.

Referências 58

XING, X. et al. Smize: a spontaneous ride-sharing system for individual urban transit.In: SPRINGER. German Conference on Multiagent System Technologies. [S.l.], 2009. p.165–176.

YU, W.; LIU, Z.; BAO, X. Optimal deterministic algorithms for some variants of onlinequota traveling salesman problem. European Journal of Operational Research, Elsevier,v. 238, n. 3, p. 735–740, 2014.