UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE CIÊNCIAS EXATAS E DA TERRA PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO Algoritmos Meta-heurísticos Para a Solução do Problema do Caixeiro Viajante com Múltiplas Caronas Guilherme Fernandes de Araújo Natal-RN Fevereiro de 2016 Guilherme Fernandes de Araújo Algoritmos Meta-heurísticos Para a Solução do Problema do Caixeiro Viajante com Múltiplas Caronas Dissertação de Mestrado apresentado ao Programa de Pós-graduação em Sistemas e Computação do Centro de Ciências Exatas e da Terra da Universidade Federal do Rio Grande do Norte como requisito parcial para a obtenção do grau de Mestre em Sistemas e Computação. Orientador Prof. Dr. Marco Cesar Goldbarg Universidade Federal do Rio Grande do Norte – UFRN Programa de Pós-Graduação em Sistemas e Computação Natal-RN Fevereiro de 2016 Catalogação da Publicação na Fonte Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI Araújo, Guilherme Fernandes de. Algoritmos meta-heurísticos para a solução do problema do caixeiro viajante com múltiplas caronas / Guilherme Fernandes de Araújo. - Natal, 2016. 71f: il. Orientador: Prof. Dr. Marco Cesar Goldbarg. Dissertação (Mestrado) - Universidade Federal do Rio Grande do Norte. Centro de Ciências Exatas e da Terra. Pós-Graduação em Sistemas e Computação. 1. Metaheurísticas. 2. Caixeiro viajante com caronas. 3. Programação inteira. I. Goldbarg, Marco Cesar. II. Título. RN/UF/CCET CDU 004.023 Dissertação de Mestrado sob o título “Algoritmos Meta-heurísticos Para a Solução do Problema do Caixeiro Viajante com Múltiplas Caronas” apresentada por Guilherme Fernandes de Araújo e aceita pelo Programa de Pós-Graduação em Sistemas e Computação do Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio Grande do Norte, sendo aprovada por todos os membros da banca examinadora abaixo especificada: ________________________________________________________ Prof. Dr. Marco Cesar Goldbarg Orientador DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte ________________________________________________________ Profª. Drª. Elizabeth Ferreira Gouvêa Goldbarg DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte _______________________________________________________ Profª. Drª. Sílvia Maria Diniz Monteiro Maia DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte ______________________________________________________ Prof. Dr. Lucidio dos Anjos Formiga Cabral DI – Departamento de Informática UFPB – Universidade Federal da Paraíba Natal-RN, 12 de fevereiro de 2016 Agradecimentos Agradeço à minha família e amigos, pelo apoio e compreensão pelos momentos em que me dediquei a este trabalho, e que sempre me deram forças para seguir adiante Ao prof. Marco Goldbarg, pela paciência e dedicação sem limites no sentido de me orientar e sugerir melhorias, e pelas longas discussões, sempre com aquelas anotações em uma folha em branco À profª Elizabeth pelo apoio e pelos ensinamentos desde o tempo da graduação. Aprendi muita coisa que um dia achei que nunca fosse chegar a entender À profª Silvia pela ajuda na disponibilização do laboratório para os testes Aos colegas de mestrado, pelas dicas e disposição para discutir detalhes de nossos trabalhos nos poucos momentos que tivemos para conversar Algoritmos Meta-heurísticos Para a Solução do Problema do Caixeiro Viajante com Múltiplas Caronas Autor: Guilherme Fernandes de Araújo Orientador: Prof. Dr. Marco Cesar Goldbarg RESUMO O Problema do Caixeiro Viajante com Múltiplas Caronas (PCV-MCa) é uma classe do Caixeiro Viajante Capacitado que apresenta a possibilidade de compartilhamento de assentos para passageiros aproveitando os deslocamentos do caixeiro entre as localidades do ciclo. O caixeiro divide o custo do trajeto com os passageiros embarcados. O modelo pode representar uma situação real em que, por exemplo, motoristas estão dispostos a compartilhar trechos de sua viagem com turistas que pretendem se deslocar entre duas localidades visitadas pela rota do motorista, aceitando compartilhar o veículo com outros indivíduos e visitando outras localidades do ciclo. Este trabalho propõe uma formulação para o problema, uma solução exata e algoritmos meta-heurísticos para a sua solução, apresentado os resultados obtidos, comparando-os entre si. Palavras-chave: Caixeiro Viajante com Caronas, Metaheurísticas, Programação Inteira. Metaheuristic Algorithms for the Solution of the Traveling Salesman with Multiple Ridesharing Author: Guilherme Fernandes de Araújo Advisor: Prof. Dr. Marco Cesar Goldbarg ABSTRACT The Traveling Salesman with Multiple Ridesharing (TSP-MR) is a type of the Capacitated Traveling Salesman, which presents the possibility of sharing seats with passengers taking advantage of the paths the salesman travels through his cycle. The salesman shares the cost of a path with the boarded passengers. This model can portray a real situation in which, for example, drivers are willing to share parts of a trip with tourists that wish to move between two locations visited by the driver’s route, accepting to share the vehicle with other individuals visiting other locations within the cycle. This work proposes a mathematical formulation for the problem, and an exact and metaheuristics algorithms for its solution, comparing them. Keywords: Ridesharing Traveling Salesman, Metaheuristics, Integer Programming. Lista de Figuras Figura 1: Busca do trajeto do motorista.......................................................25 Figura 2: Busca de caronas para determinado trajeto..................................25 Lista de Tabelas Tabela 1: Sequência de visita das localidades no trajeto do motorista .........27 Tabela 2: Armazenamento dos dados de percurso e embarque/desembarque de passageiros ...........................................................................................27 Tabela 3: Exemplo de lista aleatória de cidades gerada nos algoritmos evolucionários ...........................................................................................33 Tabela 4: Exemplo de Lista de Carona ........................................................34 Tabela 5: Operação de Cruzamento e Reparo ..............................................35 Tabela 6: Operação de Mutação ..................................................................35 Tabela 7: Busca local no Algoritmo Memético ..............................................40 Tabela 8: Lista de Instâncias .................................................................49-52 Tabela 9: Resultados do Algoritmo Exato ....................................................53 Tabela 10: Resultados do Algoritmo Genético ........................................54-56 Tabela 11: Resultados do Algoritmo Memético .......................................56-58 Tabela 12: Comparação entre os Resultados dos Algoritmos Genético e Memético .............................................................................................59-60 Tabela 13: Resultados do Algoritmo Colônia de Formigas ......................61-63 Tabela 14: Comparação entre os Resultados dos Algoritmos Genético, Memético e Colônia de Formigas ...........................................................63-65 Lista de Algoritmos Algoritmo 1: Algoritmo Exato ................................................................29-30 Algoritmo 2: Algoritmo Genético ................................................................37 Algoritmo 3: Algoritmo Memético ...............................................................42 Algoritmo 4: Colônia de Formigas ..............................................................46
Description: