• Nenhum resultado encontrado

Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo - PPL-RT

N/A
N/A
Protected

Academic year: 2021

Share "Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo - PPL-RT"

Copied!
386
0
0

Texto

(1)

MESTRADO ACADÊMICO EM SISTEMAS E COMPUTAÇÃO

Problema do Passeio Lucrativo com

Passageiros e Restrições de Tempo –

PPL-RT

Vinícius Araújo Petch

Natal-RN Agosto de 2018

(2)

Problema do Passeio Lucrativo com

Passageiros e Restrições de Tempo –

PPL-RT

Dissertação de Mestrado apresentada ao 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 como requisito parcial para a obtenção do grau de Mestre em Sistemas e Computação.

Linha de pesquisa:

Algoritmos Experimentais

Orientador

Prof. Dr. Marco Cesar Goldbarg

PPgSC – Programa de Pós-Graduação em Sistemas e Computação DIMAp – Departamento de Informática e Matemática Aplicada

CCET – Centro de Ciências Exatas e da Terra UFRN – Universidade Federal do Rio Grande do Norte

Natal-RN Agosto de 2018

(3)

Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI

Catalogação de Publicação na Fonte. UFRN - Biblioteca Setorial Prof. Ronaldo Xavier de Arruda - CCET

Petch, Vinícius Araújo.

Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo - PPL-RT / Vinícius Araújo Petch. - 2018.

385f.: il.

Dissertação (mestrado) - 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. Natal, 2018.

Orientador: Marco Cesar Goldbarg.

1. Computação - Dissertação. 2. Otimização combinatória - Dissertação. 3. Programação exata - Dissertação. 4.

Meta-heurísticas - Dissertação. 5. Variantes do caixeiro viajante - Dissertação. I. Goldbarg, Marco Cesar. II. Título.

RN/UF/CCET CDU 004

(4)
(5)
(6)

“In the midst of chaos, there is also opportunity” Sun Tzu

(7)

Problema do Passeio Lucrativo com Passageiros e

Restrições de Tempo – PPL-RT

Autor: Vinícius Araújo Petch Orientador: Prof. Dr. Marco Cesar Goldbarg

R

ESUMO

Este trabalho busca modelar e explorar soluções para o Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo e Custo. Este trabalho propõe um modelo matemático para o problema, algoritmo exato de solução e meta-heurísticas para a aproximação de solução. Para operacionalizar o experimento computacional necessário à presente pesquisa e por se tratar de um modelo não descrito na literatura, foram também criadas instâncias de teste. O trabalho realiza um experimento computacional para avaliar o desempenho da modelagem matemática e delinear a capacidade de aproximação de algoritmos meta-heurísticos para o problema. Por fim, é sugerido como o problema poderá ser desenvolvido em trabalhos futuros. Palavras-chave: Otimização Combinatória, Programação Exata, Meta-heurísticas, Variantes do Caixeiro Viajante.

(8)

Profitable Tour Problem with Passengers and Time

Constraints – PTP-TC

Author: Vinícius Araújo Petch Advisor: Prof. Dr. Marco Cesar Goldbarg

A

BSTRACT

This work aims to model and explore solutions to the Profitable Tour Problem with Passengers and Time and Cost Constraint. This work proposes a mathematical model for the problem, an exact algorithm of solution and metaheuristics for the solution approximation. In order to operationalise the computational experiment necessary to the current research and as it’s about a model not described in the literature, test instances were also created. The work accomplishes a computational experiment to evaluate the performance of the mathematical modelling and delineate the approximation capacity of metaheuristics algorithms for the problem. At last, it is suggested how the problem can be developed in future works.

Keywords: Combinatorial Optimization, Exact Programming, Metaheuristics, Traveling Salesman variants.

(9)

Lista de algoritmos

Algoritmo 1. Pseudocódigo do algoritmo exato de carregamento de passageiros

... 69

Algoritmo 2. Pseudocódigo do algoritmo míope de carregamento de passageiros ... 71

Algoritmo 3. Pseudocódigo do algoritmo híbrido de carregamento de passageiros ... 73

Algoritmo 4. Pseudocódigo do algoritmo construtivo semi-guloso com tamanho aleatório ... 74

Algoritmo 5. Pseudocódigo do algoritmo construtivo semi-guloso com tamanho guloso ... 75

Algoritmo 6. Pseudocódigo do operador de cruzamento 1-ponto ... 83

Algoritmo 7. Pseudocódigo do operador de cruzamento n-ponto ... 84

Algoritmo 8. Pseudocódigo do operador de cruzamento aleatório ... 84

Algoritmo 9. Pseudocódigo do operador de cruzamento SCX ... 86

Algoritmo 10. Pseudocódigo do operador de perturbação aleatória mut() ... 88

Algoritmo 11. Pseudocódigo do operador de perturbação de crescimento inc() ... 88

Algoritmo 12. Pseudocódigo do operador de perturbação de redução red() .. 88

Algoritmo 13. Pseudocódigo da versão sequencial do algoritmo path-relinking ... 90 Algoritmo 14. Pseudocódigo da versão aleatória do algoritmo path-relinking91

(10)

Algoritmo 15. Pseudocódigo do algoritmo de igualação de tamanho para o

algoritmo path-relinking ... 92

Algoritmo 16. Pseudocódigo da implementação do algoritmo hill climbing ... 93

Algoritmo 17. Pseudocódigo do VNS ... 95

Algoritmo 18. Pseudocódigo do VND ... 95

Algoritmo 19. Pseudocódigo da função de seleção das buscas locais do VNS e do VND ... 96

Algoritmo 20. Pseudocódigo da etapa de perturbação do VNS e do VND ... 96

Algoritmo 21. Pseudocódigo do GRASP com VNS e path-relinking ... 134

Algoritmo 22. Pseudocódigo do GRASP com VND e path-relinking ... 134

Algoritmo 23. Pseudocódigo do Algoritmo Genético ... 143

Algoritmo 24. Pseudocódigo da etapa de mutação do Algoritmo Genético . 143 Algoritmo 25. Pseudocódigo do Algoritmo Memético ... 151

Algoritmo 26. Pseudocódigo da segunda versão do Algoritmo Memético .... 152

Algoritmo 27. Pseudocódigo do Algoritmo Transgenético ... 159

Algoritmo 28. Pseudocódigo da hibridização do Algoritmo Memético com o VNS ... 184

(11)

Lista de equações

Equação 1. Função de peso baseado no feromônio e no cálculo heurístico177

Equação 2. Função de evaporação do feromônio ... 177

Equação 3. Função de atualização do feromônio ... 177

Equação 4. Limites do feromônio no Max-min Ant System ... 178

Equação 5. Cálculo do limite superior dos feromônios do Max-min Ant System ... 178

Equação 6. Cálculo do limite inferior dos feromônios do Max-min Ant System ... 178

Equação 7. Função de evaporação do feromônio no ACS ... 178

Equação 8. Função de atualização do feromônio no ACS ... 178

Equação 9. Função de peso para o PTP-RP ... 179

Equação 10. Função de cálculo da heurística σ1 ... 180

Equação 11. Cálculo do feromônio τ'3i do vértice i a partir dos feromônios τ3ik. Ki representa os passageiros que tem como origem o vértice i ... 181

Equação 12. Cálculo da heurística σ'3i do vértice i a partir da heurística σ3ik. Ki representa o conjunto de passageiros que tem como origem o vértice i ... 181

(12)

Lista de figuras

Figura 1. Exemplo de uma solução de tamanho 6 e com 3 passageiros por

aresta, de acordo com a representação utilizada neste trabalho. ... 65

Figura 2. Exemplo da busca local 2-exchange ... 77

Figura 3. Exemplo da busca local 1-shift ... 78

Figura 4. Exemplo da busca local 2-opt ... 79

Figura 5. Exemplo da busca local 2-interchange ... 80

Figura 6. Exemplo da busca local add1 ... 80

Figura 7. Exemplo da busca local add2 ... 81

Figura 8. Exemplo da busca local remove ... 82

Figura 9. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo ga ... 104

Figura 10. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo gb ... 105

Figura 11. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo gc ... 106

Figura 12. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo gd ... 107

Figura 13. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo ha ... 108

Figura 14. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo hb ... 109

(13)

Figura 15. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo hc ... 110 Figura 16. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo hd ... 111 Figura 17. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo ia ... 112 Figura 18. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo ib ... 113 Figura 19. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo ic ... 114 Figura 20. Gráfico comparativo da média dos resultados dos experimentos para as versões do VNS para as instâncias do tipo id ... 115 Figura 21. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo ga ... 116 Figura 22. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo gb ... 117 Figura 23. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo gc ... 118 Figura 24. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo gd ... 119 Figura 25. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do

(14)

tipo ha ... 120 Figura 26. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo hb ... 121 Figura 27. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo hc ... 122 Figura 28. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo hd ... 123 Figura 29. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo ia ... 124 Figura 30. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo ib ... 125 Figura 31. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo ic ... 126 Figura 32. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do VNS para as instâncias do tipo id ... 127 Figura 33. Gráfico comparativo da média dos resultados dos experimentos para as versões do GRASP ... 138 Figura 34. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do GRASP ... 139

(15)

Figura 35. Gráfico comparativo da média dos resultados dos experimentos para as versões do GRASP ... 146 Figura 36. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do GRASP ... 147 Figura 37. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Memético ... 154 Figura 38. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Memético ... 155 Figura 39. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ga 163 Figura 40. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo gb 163 Figura 41. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo gc 164 Figura 42. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo gd 164 Figura 43. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo há 165 Figura 44. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo hb 165 Figura 45. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo hc 166 Figura 46. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo hd 166 Figura 47. Gráfico comparativo da média dos resultados dos experimentos

(16)

para as versões do Algoritmo Transgenético para as instâncias do tipo ia . 167 Figura 48. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ib . 167 Figura 49. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ic . 168 Figura 50. Gráfico comparativo da média dos resultados dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo id . 168 Figura 51. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ga ... 169 Figura 52. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo gb ... 169 Figura 53. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo gc ... 170 Figura 54. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo gd ... 170 Figura 55. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ha ... 171 Figura 56. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo hb ... 171 Figura 57. Gráfico comparativo da média dos tempos de execução, em

(17)

segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo hc ... 172 Figura 58. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo hd ... 172 Figura 59. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ia ... 173 Figura 60. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ib ... 173 Figura 61. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo ic ... 174 Figura 62. Gráfico comparativo da média dos tempos de execução, em segundos, dos experimentos para as versões do Algoritmo Transgenético para as instâncias do tipo id ... 174 Figura 63. Comparativo dos resultados dos experimentos para a análise do acoplamento das instâncias. Utilização do solver matemático Gurobi limitado a 80000 segundos, Hill Climbing, heurística ingênua e limite superior encontrado pelo Gurobi. ... 190 Figura 64. Comparação da média dos resultados dos algoritmos VNS-Spg e VNS-Ptb para as instâncias de tamanho 100 ... 193 Figura 65. Comparação da média dos tempos de execução, em segundos, dos algoritmos VNS-Spg e VNS-Ptb para as instâncias de tamanho 100 ... 194 Figura 66. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo ga ... 197

(18)

Figura 67. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo gb ... 198 Figura 68. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo gc ... 199 Figura 69. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo gd ... 200 Figura 70. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo ha ... 201 Figura 71. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo hb ... 202 Figura 72. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo hc ... 203 Figura 73. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo hd ... 204 Figura 74. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo ia ... 205 Figura 75. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo ib ... 206 Figura 76. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo ic ... 207 Figura 77. Comparação da média dos resultados das meta-heurísticas para as instâncias do tipo id ... 208 Figura 78. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo ga ... 209 Figura 79. Comparação da média dos tempos de execução, em segundos, das

(19)

meta-heurísticas para as instâncias do tipo gb ... 210 Figura 80. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo gc ... 211 Figura 81. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo gd ... 212 Figura 82. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo ha ... 213 Figura 83. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo ha ... 214 Figura 84. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo hc ... 215 Figura 85. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo hd ... 216 Figura 86. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo ia ... 217 Figura 87. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo ib ... 218 Figura 88. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo ic ... 219 Figura 89. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias do tipo id ... 220 Figura 90. Comparação da média dos resultados das meta-heurísticas para as instâncias de tamanho 150 ... 227 Figura 91. Comparação da média dos resultados das meta-heurísticas para as instâncias de tamanho 200 ... 228

(20)

Figura 92. Comparação da média dos resultados das meta-heurísticas para as instâncias de tamanho 300 ... 229 Figura 93. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias de tamanho 150 ... 230 Figura 94. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias de tamanho 200 ... 231 Figura 95. Comparação da média dos tempos de execução, em segundos, das meta-heurísticas para as instâncias de tamanho 300 ... 232

(21)

Lista de tabelas

Tabela 1. Parâmetros utilizados na geração das instâncias, comum a todos os

grupos ... 62

Tabela 2. Parâmetros utilizados na geração das instâncias do grupo g ... 63

Tabela 3. Parâmetros utilizados na geração das instâncias do grupo h ... 63

Tabela 4. Parâmetros utilizados na geração das instâncias do grupo i ... 63

Tabela 5. Ajuste do custo do pedágio de acordo com o custo da respectiva aresta, para as instâncias do grupo h e i ... 64

Tabela 6. Ajuste do custo da aresta de acordo com o bônus dos vértices relacionados, para as instâncias do grupo i ... 64

Tabela 7. Quantidade de passageiros por vértice de acordo com o bônus do vértice, para as instâncias do grupo i, a partir da capacidade do veículo C . 64 Tabela 8. Versões implementadas do VNS/VND e comparadas na primeira etapa de experimentos ... 100

Tabela 9. Limites dos parâmetros definidos para o irace para o VNS-Ptb e configurações retornadas pelo irace ... 101

Tabela 10. Limites dos parâmetros definidos para o irace para o VND-Ptb e configurações retornadas pelo irace ... 101

Tabela 11. Limites dos parâmetros definidos para o irace para o VNS-Prs e configurações retornadas pelo irace ... 101

Tabela 12. Limites dos parâmetros definidos para o irace para o VND-Prs e configurações retornadas pelo irace ... 102

(22)

Tabela 13. Resultados do teste de Friedman para os resultados das versões do VNS, divididos por tamanho ... 129 Tabela 14. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 10. Os valores inferiores a 0,05 estão em destaque ... 129 Tabela 15. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 20. Os valores inferiores a 0,05 estão em destaque ... 130 Tabela 16. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 30. Os valores inferiores a 0,05 estão em destaque ... 130 Tabela 17. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 40. Os valores inferiores a 0,05 estão em destaque ... 130 Tabela 18. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 50. Os valores inferiores a 0,05 estão em destaque ... 131 Tabela 19. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 60. Os valores inferiores a 0,05 estão em destaque ... 131 Tabela 20. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 70. Os valores inferiores a 0,05 estão em destaque ... 131 Tabela 21. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 80. Os valores inferiores a 0,05 estão em destaque ... 132 Tabela 22. P-valores retornados pelo teste post-hoc de Conover para as versões

(23)

do VNS e as instâncias de tamanho 90. Os valores inferiores a 0,05 estão em destaque ... 132 Tabela 23. P-valores retornados pelo teste post-hoc de Conover para as versões do VNS e as instâncias de tamanho 100. Os valores inferiores a 0,05 estão em destaque ... 132 Tabela 24. Versões implementadas do GRASP e comparadas na primeira etapa de experimentos ... 136 Tabela 25. P-valores resultados do teste estatístico post-hoc de Conover para o teste de Friedman para as versões do GRASP. Os valores destacados são inferiores a 0,05 ... 140 Tabela 26. Versões implementadas do Algoritmo Genético e comparadas na primeira etapa de experimentos ... 144 Tabela 27. P-valores retornados pelo teste post-hoc de Conover para as versões do Algoritmo Genético. Os valores inferiores a 0,05 estão em destaque ... 148 Tabela 28. Limites dos parâmetros definidos para o irace para o Algoritmo Genético e configurações retornadas pelo irace ... 149 Tabela 29. Versões do Algoritmo Memético comparadas na primeira etapa de comparações ... 152 Tabela 30. P-valores retornados pelo teste post-hoc de Conover para as versões do Algoritmo Memético. Os valores inferiores a 0,05 estão em destaque ... 156 Tabela 31. Limites dos parâmetros definidos para o irace para o Algoritmo Memético e configurações retornadas pelo irace ... 156 Tabela 32. Parâmetros definidos, limites inferiores e superiores e configurações retornadas pelo o irace para o AT-A ... 161 Tabela 33. Parâmetros definidos, limites inferiores e superiores e configurações retornadas pelo o irace para o AT-B ... 162

(24)

Tabela 34. Resultados do teste de Friedman para os resultados das versões do Algoritmo Transgenético, divididos por tamanho. Os valores em destaque são inferiores a 0,05 ... 175 Tabela 35. Limites dos parâmetros definidos para o irace para o Ant Colony System e configurações retornadas pelo irace ... 182 Tabela 36. Limites dos parâmetros definidos para o irace para a hibridização do Algoritmo Memético e do VNS, e configurações retornadas pelo irace ... 186 Tabela 37. Resultados dos experimentos para a análise do acoplamento das instâncias. Utilização do solver matemático limitado a 80000 segundos (Gurobi), heurística simples (hill climbing), heurística ingênua (naive) e limite superior encontrado pelo Gurobi. ... 191 Tabela 38. P-valores do teste de Friedman para a comparação das meta-heurísticas, dividido pelo tamanho da instância ... 222 Tabela 39. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 10. Os valores inferiores a 0,05 estão em destaque ... 222 Tabela 40. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 20. Os valores inferiores a 0,05 estão em destaque ... 223 Tabela 41. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 30. Os valores inferiores a 0,05 estão em destaque ... 223 Tabela 42. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 40. Os valores inferiores a 0,05 estão em destaque ... 223 Tabela 43. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 50. Os valores inferiores a 0,05 estão

(25)

em destaque ... 224 Tabela 44. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 60. Os valores inferiores a 0,05 estão em destaque ... 224 Tabela 45. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 70. Os valores inferiores a 0,05 estão em destaque ... 224 Tabela 46. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 80. Os valores inferiores a 0,05 estão em destaque ... 225 Tabela 47. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 90. Os valores inferiores a 0,05 estão em destaque ... 225 Tabela 48. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 100. Os valores inferiores a 0,05 estão em destaque ... 225 Tabela 49. P-valores do teste de Friedman para as meta-heurísticas para as instâncias de tamanho 150, 200 e 300 ... 234 Tabela 50. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 150. Os valores inferiores a 0,05 estão em destaque ... 234 Tabela 51. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 200. Os valores inferiores a 0,05 estão em destaque ... 234 Tabela 52. P-valores retornados pelo teste post-hoc de Conover para as meta-heurísticas e as instâncias de tamanho 300. Os valores inferiores a 0,05 estão em destaque ... 234

(26)

Tabela 53. Resultados dos experimentos do VNS-Nrt para as instâncias do grupo g ... 257 Tabela 54. Resultados dos experimentos do VNS-Nrt para as instâncias do grupo h ... 258 Tabela 55. Resultados dos experimentos do VNS-Nrt para as instâncias do grupo i ... 259 Tabela 56. Tempo de execução, em segundos, dos experimentos do VNS-Nrt para as instâncias do grupo g ... 260 Tabela 57. Tempo de execução, em segundos, dos experimentos do VNS-Nrt para as instâncias do grupo h ... 261 Tabela 58. Tempo de execução, em segundos, o dos experimentos do VNS-Nrt para as instâncias do grupo i ... 262 Tabela 59. Resultados dos experimentos do VND-Nrt para as instâncias do grupo g ... 263 Tabela 60. Resultados dos experimentos do VND-Nrt para as instâncias do grupo h ... 264 Tabela 61. Resultados dos experimentos do VND-Nrt para as instâncias do grupo i ... 265 Tabela 62. Tempo de execução dos experimentos do VND-Nrt para as instâncias do grupo g ... 266 Tabela 63. Tempo de execução dos experimentos do VND-Nrt para as instâncias do grupo h ... 267 Tabela 64. Tempo de execução dos experimentos do VND-Nrt para as instâncias do grupo i ... 268 Tabela 65. Resultados dos experimentos do VNS-Ptb para as instâncias do

(27)

grupo g ... 269 Tabela 66. Resultados dos experimentos do VNS-Ptb para as instâncias do grupo h ... 270 Tabela 67. Resultados dos experimentos do VNS-Ptb para as instâncias do grupo i ... 271 Tabela 68. Tempo de execução dos experimentos do VNS-Ptb para as instâncias do grupo g ... 272 Tabela 69. Tempo de execução dos experimentos do VNS-Ptb para as instâncias do grupo h ... 273 Tabela 70. Tempo de execução dos experimentos do VNS-Ptb para as instâncias do grupo i ... 274 Tabela 71. Resultados dos experimentos do VND-Ptb para as instâncias do grupo g ... 275 Tabela 72. Resultados dos experimentos do VND-Ptb para as instâncias do grupo h ... 276 Tabela 73. Resultados dos experimentos do VND-Ptb para as instâncias do grupo i ... 277 Tabela 74. Tempo de execução dos experimentos do VND-Ptb para as instâncias do grupo g ... 278 Tabela 75. Tempo de execução dos experimentos do VND-Ptb para as instâncias do grupo h ... 279 Tabela 76. Tempo de execução dos experimentos do VND-Ptb para as instâncias do grupo i ... 280 Tabela 77. Resultados dos experimentos do VNS-Rst para as instâncias do grupo g ... 281

(28)

Tabela 78. Resultados dos experimentos do VNS-Rst para as instâncias do grupo h ... 282 Tabela 79. Resultados dos experimentos do VNS-Rst para as instâncias do grupo i ... 283 Tabela 80. Tempo de execução dos experimentos do VNS-Rst para as instâncias do grupo g ... 284 Tabela 81. Tempo de execução dos experimentos do VNS-Rst para as instâncias do grupo h ... 285 Tabela 82. Tempo de execução dos experimentos do VNS-Rst para as instâncias do grupo i ... 286 Tabela 83. Resultados dos experimentos do VND-Rst para as instâncias do grupo g ... 287 Tabela 84. Resultados dos experimentos do VND-Rst para as instâncias do grupo h ... 288 Tabela 85. Resultados dos experimentos do VND-Rst para as instâncias do grupo i ... 289 Tabela 86. Tempo de execução dos experimentos do VND-Rst para as instâncias do grupo g ... 290 Tabela 87. Tempo de execução dos experimentos do VND-Rst para as instâncias do grupo h ... 291 Tabela 88. Tempo de execução dos experimentos do VND-Rst para as instâncias do grupo i ... 292 Tabela 89. Resultados dos experimentos do VNS-Prs para as instâncias do grupo g ... 293 Tabela 90. Resultados dos experimentos do VNS-Prs para as instâncias do

(29)

grupo h ... 294 Tabela 91. Resultados dos experimentos do VNS-Prs para as instâncias do grupo i ... 295 Tabela 92. Tempo de execução dos experimentos do VNS-Prs para as instâncias do grupo g ... 296 Tabela 93. Tempo de execução dos experimentos do VNS-Prs para as instâncias do grupo h ... 297 Tabela 94. Tempo de execução dos experimentos do VNS-Prs para as instâncias do grupo i ... 298 Tabela 95. Resultados dos experimentos do VND-Prs para as instâncias do grupo g ... 299 Tabela 96. Resultados dos experimentos do VND-Prs para as instâncias do grupo h ... 300 Tabela 97. Resultados dos experimentos do VND-Prs para as instâncias do grupo i ... 301 Tabela 98. Tempo de execução, em segundos, dos experimentos do VND-Prs para as instâncias do grupo g ... 302 Tabela 99. Tempo de execução, em segundos, dos experimentos do VND-Prs para as instâncias do grupo h ... 303 Tabela 100. Tempo de execução, em segundos, dos experimentos do VND-Prs para as instâncias do grupo i ... 304 Tabela 101. Resultado dos experimentos do VND-Rst para as instâncias de tamanho 150 ... 305 Tabela 102. Tempos de execução, em segundos, dos experimentos do VND-Rst para as instâncias de tamanho 150 ... 305

(30)

Tabela 103. Resultado dos experimentos do VND-Rst para as instâncias de tamanho 200 ... 306 Tabela 104. Tempos de execução, em segundos, dos experimentos do VND-Rst para as instâncias de tamanho 200 ... 306 Tabela 105. Resultado dos experimentos do VND-Rst para as instâncias de tamanho 300 ... 307 Tabela 106. Tempos de execução, em segundos, dos experimentos do VND-Rst para as instâncias de tamanho 300 ... 307 Tabela 107. Resultado dos experimentos do GRASP-AS para as instâncias de tamanho 100 ... 308 Tabela 108. Tempo de execução, em segundos, dos experimentos do GRASP-AS para as instâncias de tamanho 100 ... 308 Tabela 109. Resultados dos experimentos do GRASP-GS para as instâncias de tamanho 100 ... 309 Tabela 110. Tempo de execução, em segundos, dos experimentos do GRASP-GS para as instâncias de tamanho 100 ... 309 Tabela 111. Resultado dos experimentos do GRASP-AD para as instâncias de tamanho 100 ... 310 Tabela 112. Tempo de execução, em segundos, dos experimentos do GRASP-AD para as instâncias de tamanho 100 ... 310 Tabela 113. Resultado dos experimentos do GRASP-GD para as instâncias de tamanho 100 ... 311 Tabela 114 Tempo de execução, em segundos, dos experimentos do GRASP-GD para as instâncias de tamanho 100 ... 311 Tabela 115. Resultado dos experimentos do GRASP-ASP para as instâncias de

(31)

tamanho 100 para as instâncias de tamanho 100 ... 312 Tabela 116 Tempo de execução, em segundos, dos experimentos do GRASP-ASP para as instâncias de tamanho 100 ... 312 Tabela 117. Resultado dos experimentos do GRASP-GSP para as instâncias de tamanho 100 ... 313 Tabela 118 Tempo de execução, em segundos, dos experimentos do GRASP-GSP para as instâncias de tamanho 100 ... 313 Tabela 119. Resultado dos experimentos do GRASP-ADP para as instâncias de tamanho 100 ... 314 Tabela 120 Tempo de execução, em segundos, dos experimentos do GRASP-ADP para as instâncias de tamanho 100 ... 314 Tabela 121. Resultado dos experimentos do GRASP-GDP para as instâncias de tamanho 100 ... 315 Tabela 122. Tempo de execução, em segundos, dos experimentos do GRASP-GDP para as instâncias de tamanho 100 ... 315 Tabela 123. Resultado dos experimentos do GRASP-RDP para as instâncias de tamanho 100 ... 316 Tabela 124. Tempo de execução, em segundos, dos experimentos do GRASP-RDP para as instâncias de tamanho 100 ... 316 Tabela 125. Resultado dos experimentos do GRASP-PDP para as instâncias de tamanho 100 ... 317 Tabela 126. Tempo de execução, em segundos, dos experimentos do GRASP-PDP para as instâncias de tamanho 100 ... 317 Tabela 127. Resultado dos experimentos do GRASP-APD para as instâncias do grupo g ... 318

(32)

Tabela 128. Resultado dos experimentos do GRASP-APD para as instâncias do grupo h ... 319 Tabela 129. Resultado dos experimentos do GRASP-APD para as instâncias do grupo i ... 320 Tabela 130. Tempo de execução, em segundos, dos experimentos do GRASP-ADP para as instâncias do grupo g ... 321 Tabela 131. Tempo de execução, em segundos, dos experimentos do GRASP-ADP para as instâncias do grupo h ... 322 Tabela 132. Tempo de execução, em segundos, dos experimentos do GRASP-ADP para as instâncias do grupo i ... 323 Tabela 133. Resultados dos experimentos do GRASP-ADP para as instâncias de tamanho 150 ... 324 Tabela 134. Tempo de execução, em segundos, dos experimentos do GRASP-ADP para as instâncias de tamanho 150 ... 324 Tabela 135. Resultados dos experimentos do GRASP-ADP para as instâncias de tamanho 200 ... 325 Tabela 136. Tempo de execução, em segundos, dos experimentos do GRASP-ADP para as instâncias de tamanho 200 ... 325 Tabela 137. Resultados dos experimentos do GRASP-ADP para as instâncias de tamanho 300 ... 326 Tabela 138. Tempo de execução, em segundos, dos experimentos do GRASP-ADP para as instâncias de tamanho 300 ... 326 Tabela 139. Resultados dos experimentos do AG-Opn para as instâncias de tamanho 100 ... 327 Tabela 140. Tempo de execução, em segundos, dos experimentos do AG-Opn

(33)

para as instâncias de tamanho 100 ... 327 Tabela 141. Resultados dos experimentos do AG-Npn para as instâncias de tamanho 100 ... 328 Tabela 142. Tempo de execução, em segundos, dos experimentos do AG-Npn para as instâncias de tamanho 100 ... 328 Tabela 143. Resultados dos experimentos do AG-Rnd para as instâncias de tamanho 100 ... 329 Tabela 144. Tempo de execução, em segundos, dos experimentos do AG-Rnd para as instâncias de tamanho 100 ... 329 Tabela 145. Resultados dos experimentos do AG-SCX para as instâncias de tamanho 100 ... 330 Tabela 146. Tempo de execução, em segundos, dos experimentos do AG-SCX para as instâncias de tamanho 100 ... 330 Tabela 147. Resultados dos experimentos do AG-Rnd para as instâncias do grupo g ... 331 Tabela 148. Resultados dos experimentos do AG-Rnd para as instâncias do grupo h ... 332 Tabela 149. Resultados dos experimentos do AG-Rnd para as instâncias do grupo i ... 333 Tabela 150. Tempo de execução, em segundos, dos experimentos do AG-Rnd para as instâncias do grupo g ... 334 Tabela 151. Tempo de execução, em segundos, dos experimentos do AG-Rnd para as instâncias do grupo h ... 335 Tabela 152. Tempo de execução, em segundos, dos experimentos do AG-Rnd para as instâncias do grupo i ... 336

(34)

Tabela 153. Resultados dos experimentos do AM-Exp para as instâncias de tamanho 100 ... 337 Tabela 154. Tempo de execução, em segundos, dos experimentos do AM-Exp para as instâncias de tamanho 100 ... 337 Tabela 155. Resultados dos experimentos do AM-Inp para as instâncias de tamanho 100 ... 338 Tabela 156. Tempo de execução, em segundos, dos experimentos do AM-Inp para as instâncias de tamanho 100 ... 338 Tabela 157. Resultados dos experimentos do AM-Shp para as instâncias de tamanho 100 ... 339 Tabela 158. Tempo de execução, em segundos, dos experimentos do AM-Shp para as instâncias de tamanho 100 ... 339 Tabela 159. Resultados dos experimentos do AM-Opp para as instâncias de tamanho 100 ... 340 Tabela 160. Tempo de execução, em segundos, dos experimentos do AM-Opp para as instâncias de tamanho 100 ... 340 Tabela 161. Resultados dos experimentos do AM-Exs para as instâncias de tamanho 100 ... 341 Tabela 162. Tempo de execução, em segundos, dos experimentos do AM-Exs para as instâncias de tamanho 100 ... 341 Tabela 163. Resultados dos experimentos do AM-Ins para as instâncias de tamanho 100 ... 342 Tabela 164. Tempo de execução, em segundos, dos experimentos do AM-Ins para as instâncias de tamanho 100 ... 342 Tabela 165. Resultados dos experimentos do AM-Shs para as instâncias de

(35)

tamanho 100 ... 343 Tabela 166. Tempo de execução, em segundos, dos experimentos do AM-Shs para as instâncias de tamanho 100 ... 343 Tabela 167. Resultados dos experimentos do AM-Ops para as instâncias de tamanho 100 ... 344 Tabela 168. Tempo de execução, em segundos, dos experimentos do AM-Ops para as instâncias de tamanho 100 ... 344 Tabela 169. Resultados dos experimentos do AM-Inp para as instâncias do grupo g ... 345 Tabela 170. Resultados dos experimentos do AM-Inp para as instâncias do grupo h ... 346 Tabela 171. Resultados dos experimentos do AM-Inp para as instâncias do grupo i ... 347 Tabela 172. Tempo de execução, em segundos, dos experimentos do AM-Inp para as instâncias do grupo g ... 348 Tabela 173. Tempo de execução, em segundos, dos experimentos do AM-Inp para as instâncias do grupo h ... 349 Tabela 174. Tempo de execução, em segundos, dos experimentos do AM-Inp para as instâncias do grupo i ... 350 Tabela 175. Resultados dos experimentos do AT-A para as instâncias do grupo g ... 351 Tabela 176. Resultados dos experimentos do AT-A para as instâncias do grupo h ... 352 Tabela 177. Resultados dos experimentos do AT-A para as instâncias do grupo i ... 353

(36)

Tabela 178. Tempo de execução, em segundos, dos experimentos do AT-A para as instâncias do grupo g ... 354 Tabela 179. Tempo de execução, em segundos, dos experimentos do AT-A para as instâncias do grupo h ... 355 Tabela 180. Tempo de execução, em segundos, dos experimentos do AT-A para as instâncias do grupo i ... 356 Tabela 181. Resultados dos experimentos do AT-B para as instâncias do grupo g ... 357 Tabela 182. Resultados dos experimentos do AT-B para as instâncias do grupo h ... 358 Tabela 183. Resultados dos experimentos do AT-B para as instâncias do grupo i ... 359 Tabela 184. Tempo de execução, em segundos, dos experimentos do AT-B para as instâncias do grupo g ... 360 Tabela 185. Tempo de execução, em segundos, dos experimentos do AT-B para as instâncias do grupo h ... 361 Tabela 186. Tempo de execução, em segundos, dos experimentos do AT-B para as instâncias do grupo i ... 362 Tabela 187. Resultados dos experimentos do AT-A para as instâncias de tamanho 150 ... 363 Tabela 188. Tempo de execução, em segundos, dos experimentos do AT-A para as instâncias de tamanho 150 ... 363 Tabela 189. Resultados dos experimentos do AT-A para as instâncias de tamanho 200 ... 364 Tabela 190. Tempo de execução, em segundos, dos experimentos do AT-A para

(37)

as instâncias de tamanho 200 ... 364 Tabela 191. Resultados dos experimentos do AT-A para as instâncias de tamanho 300 ... 365 Tabela 192. Tempo de execução, em segundos, dos experimentos do AT-A para as instâncias de tamanho 300 ... 365 Tabela 193. Resultados dos experimentos do ACO para as instâncias do grupo g ... 366 Tabela 194. Resultados dos experimentos do ACO para as instâncias do grupo h ... 367 Tabela 195. Resultados dos experimentos do ACO para as instâncias do grupo i ... 368 Tabela 196. Tempo de execução, em segundos, dos experimentos do ACO para as instâncias do grupo g ... 369 Tabela 197. Tempo de execução, em segundos, dos experimentos do ACO para as instâncias do grupo h ... 370 Tabela 198. Tempo de execução, em segundos, dos experimentos do ACO para as instâncias do grupo i ... 371 Tabela 199. Resultados dos experimentos do AM+VNS para as instâncias do grupo g ... 372 Tabela 200. Resultados dos experimentos do AM+VNS para as instâncias do grupo h ... 373 Tabela 201. Resultados dos experimentos do AM+VNS para as instâncias do grupo i ... 374 Tabela 202. Tempo de execução, em segundos, dos experimentos do AM+VNS para as instâncias do grupo g ... 375

(38)

Tabela 203. Tempo de execução, em segundos, dos experimentos do AM+VNS para as instâncias do grupo h ... 376 Tabela 204. Tempo de execução, em segundos, dos experimentos do AM+VNS para as instâncias do grupo i ... 377 Tabela 205. Resultados dos experimentos do AM+VNS para as instâncias de tamanho 150 ... 378 Tabela 206. Tempo de execução, em segundos, dos experimentos do AM+VNS para as instâncias de tamanho 150 ... 378 Tabela 207. Resultados dos experimentos do AM+VNS para as instâncias de tamanho 200 ... 379 Tabela 208. Tempo de execução, em segundos, dos experimentos do AM+VNS para as instâncias de tamanho 200 ... 379 Tabela 209. Resultados dos experimentos do AM+VNS para as instâncias de tamanho 300 ... 380 Tabela 210. Tempo de execução, em segundos, dos experimentos do AM+VNS para as instâncias de tamanho 300 ... 380 Tabela 211. Resultado dos experimentos do VNS-Spg para a análise do pedágio ... 381 Tabela 212. Tempo de execução, em segundos, dos experimentos do VNS-Spg para a análise do pedágio ... 381 Tabela 213. Resultado dos experimentos do VNS-Ptb para a análise do pedágio ... 382 Tabela 214. Tempo de execução, em segundos, dos experimentos do VNS- Mut para a análise do pedágio ... 382

(39)

Lista de abreviaturas e siglas

UFRN – Universidade Federal do Rio Grande do Norte

DIMAp – Departamento de Informática e Matemática aplicada PPgSC – Programa de Pós-graduação em Sistemas e Computação

PPL-RT – Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo

PTP-TC – Profitable Tour Problem with Passengers and Time Constraints PCV – Problema do Caixeiro Viajante

TSP – Traveling Salesman Problem PTP – Profitable Tour Problem OP – Orienteering Problem

PCTSP - Prize-collecting Traveling Salesman Problem VNS – Variable Neighborhood Search

VND – Variable Neighborhood Descent

GRASP – Greedy Randomized Adaptive Search Procedure AG – Algoritmo Genético

AM – Algoritmo Memético AT – Algoritmo Transgenético ACO – Ant Colony Optimization ACS – Ant Colony System

(40)

Sumário

1. Introdução... 39 1.1. Objetivos e organização do trabalho ... 42 2. Estudo da literatura... 48 3. Definição do problema ... 51 4. Metodologia dos experimentos ... 58 4.1. Geração das instâncias ... 61 4.2. Representação da solução ... 65 5. Algoritmos Implementados ... 66 5.1. Algoritmo de carregamento de passageiros ... 66 5.2. Algoritmos de construção de soluções ... 73 5.3. Operadores de busca local ... 76 5.4. Operadores de cruzamentos ... 83 5.5. Operadores de perturbação ... 87 5.6. Algoritmo path-relinking ... 89 5.7. Hill climbing ... 92 6. Variable Neighborhood Search ... 94 6.1. Escolha dos parâmetros ... 100 6.2. Experimentos e resultados ... 102

(41)

7. Greedy Randomized Adaptive Search Procedure ... 133 7.1. Experimentos e resultados ... 136 8. Algoritmos Genéticos ... 142 8.1. Experimentos e resultados ... 145 8.2. Escolha dos parâmetros ... 148 9. Algoritmos Meméticos ... 150 9.1. Experimentos e resultados ... 153 9.2. Escolha dos parâmetros ... 156 10. Algoritmos Transgenéticos ... 157 10.1. Escolha dos parâmetros ... 161 10.2. Experimentos e resultados ... 162 11. Ant Colony Optimization ... 176 11.1. Escolha dos parâmetros ... 181 12. Hibridização do Algoritmo Memético e VNS... 183 12.1. Escolha dos parâmetros ... 185 13. Experimentos computacionais ... 187 13.1. Análise de acoplamento ... 187 13.2. Análise do pedágio ... 191 13.3. Comparação das meta-heurísticas ... 194 14. Conclusões ... 235 15. Trabalhos futuros ... 239

(42)

Referências ... 242 APÊNDICE A – Formulação e desenvolvimento do modelo matemático ... 249 APÊNDICE B – Resultados e tempos de execução dos experimentos .. 256

(43)

1. Introdução

O problema de circulação de veículos nos grandes centros metropolitanos é um dos mais complexos da atualidade. Ele envolve, dentre outros fatores, a qualidade de vida dos usuários, impacto ambiental, segurança física e aspectos econômicos. As iniciativas que minimizam o número de veículos individuais circulando em grandes corredores das cidades são cada vez mais bem vindas, e várias alternativas já são aplicadas e estudadas com esse fim. Uma opção praticada e incentivada em várias cidades do mundo para a redução de veículos nas vias diz respeito ao compartilhamento de assentos. Alguns tipos de compartilhamento de assentos se dão em veículos em frota de prestação de serviço. Essa solução engloba modelos frequentemente denominados de ridesharing. Outras iniciativas envolvem a organização espontânea das pessoas e a formação de grupos de transporte colaborativo. Além disso, existem outras alternativas híbridas, cada uma com as suas vantagens, desvantagens e peculiaridades.

Já utilizada por muitos, a opção mais clássica compreende o uso do transporte público coletivo, como ônibus, trem, metrô e Veículos de Transporte Leve (pequenos trens ou bondes). Estes meios de locomoção são capazes de deslocar uma grande quantidade de passageiros com um espaço ocupado nas vias e custo de uso bem mais eficientes que os veículos particulares. Porém, são menos confortáveis e não possuem a mesma disponibilidade e liberdade, já que o usuário precisa respeitar o itinerário e os locais que o transporte irá passar.

Como transportes públicos individuais, temos os serviços de táxi e os serviços de ridesharing, como o Uber, Lyft, 99, e outras empresas que existiram ou existirão ao longo do tempo. Apesar de não haver redução na quantidade de veículos em circulação nas vias, há a redução na quantidade

(44)

de veículos na cidade. A sua economia é relativa à frequência de uso do transporte: caso a necessidade seja esporádica, um táxi será mais barato ao longo do tempo do que um veículo particular, mas este será mais econômico caso o seu uso seja diário. A questão de conforto é variável, enquanto a disponibilidade, apesar de ser muito melhor que um transporte coletivo, deixa a desejar em relação a um veículo particular.

Em algumas cidades, transportes não-motorizados como bicicletas, triciclos e serviços de taxi bike podem ser utilizados para distâncias curtas. Apesar de ser a melhor opção nos quesitos economia, ecologia e saúde, o transporte coletivo não é um transporte confortável comparado às outras opções. Por outro lado, um veículo não motorizado não consegue chegar tão rápido ou tão longe quanto um veículo motorizado, e a sua disponibilidade depende da infraestrutura da cidade ou local que será trafegado.

Uma alternativa cada vez mais usada é a reunião de pessoas em um veículo de menor porte, denominada de carpooling ou ridesharing colaborativo, onde diferente do ridesharing mencionado anteriormente (Uber, Lyft, 99), funciona a partir da colaboração e acordo entre os participantes. No carpooling, um usuário que possui um veículo particular (motorista) combina com 1 ou mais outros usuários (passageiros) que possuem origens e destinos semelhantes ou no mesmo trajeto do motorista para que este colete e deixe os usuários nos locais desejados, desde que estes auxiliem nos custos acarretados pela rota.

Dessa maneira, os usuários poderão se beneficiar do conforto de um veículo particular com custos reduzidos, enquanto o motorista poderá realizar o mesmo trajeto com um custo reduzido se comparado ao custo original. Na questão de disponibilidade, os passageiros terão que adaptar o seu horário ao horário do motorista, enquanto o local de coleta e destino do passageiro podem sofrer uma certa flexibilidade.

O problema proposto, nomeado Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo (PPL-RT), em inglês Profitable Tour Problem

(45)

with Passengers and Time Constraints (PTP-TC), é baseado na alternativa de carpooling, onde um courier realiza serviços pela cidade e se aproveita do compartilhamento de assentos para economizar nos custos de sua rota.

O problema consiste de um courier (também chamado de motorista) que, durante a sua jornada de trabalho, realiza serviços de entrega e coleta de correspondências em diferentes locais utilizando um veículo como método de locomoção. Em cada local visitado é possível realizar uma coleta ou entrega, que resultará em um pagamento (bônus) ao courier e um gasto de tempo na entrega. O trajeto é escolhido pelo courier, onde será levado em consideração o custo e tempos gastos pelo deslocamento.

O courier possui como objetivo buscar o trajeto e os serviços que resultem no maior lucro possível, e é livre para escolher quantos e quais locais ele passará, inclusive optando por não cumprir qualquer rota. Todavia, o courier só realiza entregas ou recolhe correspondências em cada local apenas uma vez. Caso necessário, o courier poderá passar por uma residência e não realizar o serviço, utilizando o trajeto e não gastando tempo para realizar serviço e não recebendo nenhum pagamento referente à residência.

O custo de deslocamento a ser pago pelo courier é formado por dois elementos: o custo da rota e o custo do pedágio. Ambos são determinados para cada trecho a ser trafegado, e o valor final a ser pago pelo courier será definido de acordo com a quantidade de passageiros no veículo no dado momento da travessia.

O courier poderá compartilhar os assentos do seu veículo com passageiros durante o seu passeio entre os locais, desde que o passageiro esteja disponível para o embarque no local visitado, o seu desembarque no local de destino seja garantido, e que as condições do embarque respeitem as restrições de tarifa e tempo definidas pelo passageiro. Caso o courier embarque passageiros, o custo da rota entre os locais será repartido igualmente entre os passageiros ocupantes do veículo e o courier em um rateio uniforme.

(46)

Para que o courier possa embarcar um passageiro é necessário respeitar as seguintes restrições: o courier só poderá embarcar o passageiro no seu local de origem caso possa desembarca-lo em seu local de destino; o passageiro só estará disponível no seu intervalo de tempo determinado; cada passageiro possui um valor máximo que aceita pagar pela viagem, e só é embarcado caso a viagem programada garanta essa restrição; e o veículo possui um número máximo de assentos disponíveis, onde o embarque, em trecho algum da rota, não pode ultrapassar essa capacidade.

O courier também terá gastos com pedágios em determinadas ligações, onde os seus valores são vinculados à lotação do veículo. O valor pago pelo pedágio pelo courier é dependente do número de passageiros embarcados no carro por ocasião do trânsito na ligação com pedágio, porém diferentemente do custo da rota, esse valor não é rateado com os passageiros (e consequentemente, não influencia do limite da tarifa destes), e o seu valor é baseado em uma tabela definida para cada pedágio.

Como objetivo final, o courier busca maximizar o seu lucro na sua jornada de trabalho, onde este lucro é calculado pelo total de bônus coletado subtraído do custo de deslocamento. O custo de deslocamento é então calculado a partir do total do custo de rota somado ao total do custo de pedágio. Por fim, esses dois são calculados a partir da quantidade de passageiros embarcados no veículo durante a travessia de uma ligação.

1.1. Objetivos e organização do trabalho

Este trabalho tem como objetivo:

1. Definir formalmente o Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo e propor um modelo matemático para ele;

2. Descrever a metodologia de criação das instâncias;

3. Resolver de forma exata algumas das instâncias disponíveis, respeitando uma restrição de tempo imposta;

(47)

4. Demonstrar e implementar múltiplas meta-heurísticas elaboradas para solucionar o problema proposto: Hill Climbing, Variable Neighborhood Search (VNS), Greedy Randomized Adaptive Search Procedure (GRASP), Algoritmo Genético (AG); Algoritmo Memético (AM); Algoritmo Transgenético (AT); Ant Colony Optimization (ACO); e uma hibridização do Algoritmo Memético com Variable Neighborhood Search;

5. Descrever a metodologia de parametrização utilizada nas meta-heurísticas que empregam a ferramenta irace, incluindo o uso de experimentos adicionais para a comparação de diferentes configurações;

6. Realizar um experimento computacional com o objetivo de analisar se o problema pode ser resolvido de formal trivial a partir da solução dos dois subproblemas que formam o problema proposto;

7. Realizar um experimento computacional com o objetivo de analisar se se um algoritmo que ignore o custo do pedágio no cálculo da função objetivo é capaz de encontrar soluções tão boas quanto um algoritmo implementado propriamente para este;

8. Realizar experimentos computacionais e utilizar testes estatísticos com o objetivo de analisar a performance das meta-heurísticas mencionadas no item 4;

9. Tirar conclusões sobre os resultados encontrados nos itens anteriores, e sugerir trabalhos futuros relacionados ao problema

No capítulo 2 é apresentado um breve estudo da literatura, mostrando como o trabalho é formado e alguns trabalhos relacionados já publicados. No capítulo 3 é apresentada a definição formal do problema e o modelo matemático proposto.

No capítulo 4 é definida a metodologia utilizada para realizar os experimentos computacionais durante todo o trabalho. É definido a quantidade de execuções por instância, a condição de parada utilizada para todos os algoritmos, quais testes estatísticos serão utilizados e quais valores serão considerados para a análise, e quais dados serão coletados ou calculados a partir dos experimentos realizados. Também é definido como será

(48)

utilizada a ferramenta irace, responsável por selecionar as configurações utilizadas pelas meta-heurísticas.

Na seção 4.1 é apresentada como as instâncias utilizadas neste trabalho foram geradas, a seleção dos parâmetros, quais foram os valores utilizados, a categorização das instâncias, e o seu propósito. Na seção 4.2 é definido o formato utilizado para representar uma solução do problema na implementação dos algoritmos e meta-heurísticas.

No capítulo 5 são definidos os algoritmos, operadores e funções utilizados pelas meta-heurísticas implementadas neste trabalho. Na seção 5.1 são definidos os algoritmos de carregamento de passageiros, responsáveis por selecionar os passageiros em uma dada solução. Na seção 5.2 são definidos os algoritmos de construção de solução, responsáveis por gerar as soluções utilizadas pelas meta-heurísticas. Na seção 5.3 são definidos os operadores de busca local utilizados por algumas das meta-heurísticas. Na seção 5.4 são definidos os operadores de cruzamento utilizados pelos Algoritmo Genético e Algoritmo Memético. Na seção 5.5 são definidos os operadores de perturbação, utilizados tanto pelo VNS para perturbar a solução quanto pelo Algoritmo Genético e Algoritmo Memético como operadores de mutação. Na seção 5.6 são definidos os algoritmos de path-relinking, utilizados pelo GRASP. Na seção 5.7 é definido a implementação da meta-heurística hill climbing, utilizada na análise de acoplamento.

No capítulo 6 é introduzida a meta-heurística Variable Neighborhood Search (VNS), assim como a sua variante Variable Neighborhood Descent (VND). É mostrado como foram criadas e implementadas múltiplas versões da meta-heurística neste trabalho. Na seção 6.1 é definido como a escolha dos parâmetros das versões foi feita. Na seção 6.2 é demonstrado como foi realizado o experimento computacional com o objetivo de selecionar a melhor versão implementada, que será utilizada para o comparativo das meta-heurísticas.

No capítulo 7 é introduzida a meta-heurística Greedy Randomized Adaptive Search Procedure (GRASP), como foi utilizado o algoritmo

(49)

path-relinking na meta-heurística, e como foram utilizados o VNS e o VND na etapa de melhoramento da meta-heurística. É mostrado como foram criadas e implementadas múltiplas versões da meta-heurística neste trabalho. Na seção 7.1 é demonstrado como foi realizado o experimento computacional com o objetivo de selecionar a melhor versão implementada, que será utilizada para o comparativo das meta-heurísticas.

No capítulo 8 é introduzida a meta-heurística Algoritmo Genético. É mostrado como foram criadas e implementadas múltiplas versões da meta-heurística neste trabalho. Na seção 8.1 é demonstrado como foi realizado o experimento computacional com o objetivo de selecionar a melhor versão implementada, que será utilizada para o comparativo das meta-heurísticas. Na seção 8.2 é definido como a escolha dos parâmetros da versão selecionada no experimento computacional.

No capítulo 9 é introduzida a meta-heurística Algoritmo Memético. É mostrado como foram criadas e implementadas múltiplas versões da meta-heurística neste trabalho. Na seção 9.1 é demonstrado como foi realizado o experimento computacional com o objetivo de selecionar a melhor versão implementada, que será utilizada para o comparativo das meta-heurísticas. Na seção 9.2 é definido como a escolha dos parâmetros da versão selecionada no experimento computacional.

No capítulo 10 é introduzida a meta-heurística Algoritmo Transgenético. É mostrado como foram criadas e implementadas múltiplas versões da meta-heurística neste trabalho. Na seção 10.1 é definido como a escolha dos parâmetros das versões foi feita. Na seção 10.2 é demonstrado como foi realizado o experimento computacional com o objetivo de selecionar a melhor versão implementada, que será utilizada para o comparativo das meta-heurísticas.

No capítulo 11 é introduzida a meta-heurística Ant Colony Optimization, implementada se baseando na união do Max-min Ant Colony Optimization e Ant Colony System. É mostrado como foi implementada a meta-heurística

(50)

neste trabalho. Na seção 11.1 é definido como a escolha dos parâmetros para a meta-heurística.

No capítulo 12 é introduzida a hibridização da meta-heurística Algoritmo Memético com a meta-heurística Variable Neighborhood Search. É mostrado como essa hibridização foi formada e implementada, assim como a sua categoria na taxonomia de hibridização de algoritmos heurísticos. Na seção 12.1 é definido como a escolha dos parâmetros para a hibridização.

No capítulo 13 são apresentados os experimentos realizados com o intuito de analisar o problema e as instâncias e comparar as meta-heurísticas implementadas.

Na seção 13.1 é apresentando um experimento computacional que foi realizado com o objetivo de analisar o acoplamento das instâncias, ou seja, analisar se as instâncias ou o problema proposto podem ser trivialmente resolvidos por meio de uma heurística ingênua que busca resolver o problema dividindo-o em dois subproblemas, solucionando-os separadamente.

Na seção 13.2 é apresentando um experimento computacional que foi realizado com o objetivo de analisar se os pedágios possuem algum peso ou importância no problema. Para isso, será analisado se um algoritmo utilizando uma função objetivo modificada que ignora o custo do pedágio (realizando o cálculo correto apenas ao final da execução do algoritmo) consegue ter soluções tão boas quanto ou melhores do que um algoritmo que utilize a função objetivo normal (que calcule o custo do pedágio corretamente).

Na seção 13.3 são apresentados o experimento computacional que buscam comparar as meta-heurísticas implementadas, onde será comparado a melhor versão de cada meta-heurística com um conjunto de 120 instâncias, e as melhores meta-heurísticas serão comparadas novamente com um novo conjunto de 36 instâncias de tamanhos, diferentes do conjunto anterior.

Nos capítulos 14 e 15 são apresentadas as conclusões tiradas a partir do trabalho e sugestões para trabalhos futuros. Essas conclusões e sugestões

(51)

são realizadas a partir dos resultados dos experimentos computacionais, das análises tiradas a partir desses resultados, do problema proposto, dos algoritmos implementados e das instâncias geradas.

(52)

2. Estudo da literatura

É possível dividir o PPL-PRTC em dois subproblemas principais. O primeiro, denominado subproblema da rota, consiste em escolher a rota percorrida pelo courier, levando em consideração os custos e ganhos. O segundo, denominado subproblema do embarque, consiste em escolher quais passageiros serão embarcados durante a rota planejada.

O subproblema da rota tem como base o Profitable Tour Problem (PTP)[10], que por sua vez pertence à uma classe de problemas denominada Traveling Salesman Problems with Profits (TSPs with Profits).

A classe de problemas Traveling Salesman Problems with Profits (TSPs with Profits), categorizado por Feillet, Dejax e Gendreau (2001)[1][2], une os problemas que buscam encontrar um ciclo ótimo em um grafo conexo contendo pesos nas arestas, denominados custos de viagem, e pesos nos vértices, denominados lucros (ou bônus) coletados. Da mesma maneira como Feillet et al interpreta no seu trabalho, neste trabalho os vértices representaram clientes e as arestas representam os custos para viajar entre eles.

Podemos considerar que esta classe possui dois objetivos conflitantes, buscando maximizar o lucro coletado aumentando o percurso percorrido, enquanto tenta minimizar o custo total da viagem reduzindo o percurso. O TSPs with Profits é composto de três problemas genéricos que se diferenciam em como os objetivos de maximização de lucro e minimização de custo são interpretados: o Profitable Tour Problem, o Orienteering Problem, e o Prize-collecting Traveling Salesman Problem.

O Profitable Tour Problem (PTP), assim definido por Dell’Amico et al (1995)[10], combina ambos os objetivos em uma só função objetivo, buscando minimizar os custos de viagem subtraídos do lucro coletado. Como trabalhos

(53)

da literatura, existem o Capacitated Profitable Tour Problem dependente de tempo com janelas de tempo e restrições de precedência de Sun et al (2017)[27], Probabilistic Profitable Tour Problem de Zhang et al (2017)[28], algoritmo branch-and-cut para o Capacitated Profitable Tour Problem de Jepsen (2014)[29], Rich Profitable Tour Problem de Lahyani (2013)[30], Capacitated Profitable Tour Problem de Archetti et al (2009)[31], e Profitable Tour Problem com múltiplos veículos Handoko et al (2015)[32].

O Orienteering Problem (OP), como é mais comumente encontrado na literatura e primeiramente nomeado por Golden et al (1987)[33], busca maximizar o lucro coletado de tal forma que o custo total de viagem não exceda um limite superior determinado. Como exemplos de trabalhos, temos Capacitated Team Orienteering Problem de Archetti et al (2009)[31], e surveys sobre o Orienteering Problem de Vansteenwegen (2011)[34] e Gunawan et al (2016)[35].

O Prize-collecting Traveling Salesman Problem (PCTSP), de Balas (1989)[56], possivelmente o mais conhecido entre os três, busca minimizar o custo total de viagem, tendo um limite inferior para a quantidade de lucro coletado na rota, e recebendo uma penalidade no custo para cada vértice não visitado.

Assim como Feillet et al (2001)[2], será considerado neste trabalho a versão com penalidade nula, uma versão bastante trabalhada pelos pesquisadores1. Essa versão também é conhecida por Quota Traveling

Salesman Problem (QTSP). Como exemplos de trabalhos, temos Bienstock et al (1993)[37], Fischetti, Toth (1988)[38], e uma versão online do PCTSP de

1 Segundo (Feillet et al, 2001): “It should be noted that in the original definition of the PCTSP

by Balas (1989), penalty terms for unvisited vertices are also added to the objective function. Most of the authors who have worked on this problem, however, have null penalty terms in their applications”

(54)

Ausiello et al (2008)[39].

O subproblema do embarque de passageiros é uma atividade de decisão com várias restrições, limitada pela capacidade do veículo, origem e destino de cada passageiro e as restrições de gastos dos mesmos. Essa decisão está relacionada ao Pickup and Delivery Problem (PDP), ainda que no PPL-PRTC não se exija qualquer carregamento, ou seja, o carregamento é realizado para maximizar a função objetivo, não para atender uma demanda.

Apesar do problema proposto ser inédito na literatura, também existem trabalhos com problemas similares ao problema proposto: nos trabalhos de Bastos et al (2016)[60] e Bastos et al (2017)[62], trabalhou-se com o Problema do Caixeiro Viajante com Passageiros e Lotação; em Sabry et al(2016)[59], trabalhou-se com o Problema do Caixeiro Viajante Alugador com Passageiros; em Calheiros et al (2017)[61], trabalhou-se com o Problema do Caixeiro Viajante com Passageiros; em Silva (2017)[63], trabalhou-se com o Problema do Caixeiro Viajante com Passageiros e Quota.

Todos os trabalhos mencionados trabalham com um problema formado pela junção de um problema de roteamento (Caixeiro Viajante, Caixeiro Alugador, Caixeiro Viajante com Quota) com um problema de carregamento de passageiros. O mesmo pode ser afirmado sobre o problema proposto, porém este trabalha com um problema de roteamento diferente dos problemas mencionados.

Referências

Documentos relacionados

Pretendo, a partir de agora, me focar detalhadamente nas Investigações Filosóficas e realizar uma leitura pormenorizada das §§65-88, com o fim de apresentar e

Por meio destes jogos, o professor ainda pode diagnosticar melhor suas fragilidades (ou potencialidades). E, ainda, o próprio aluno pode aumentar a sua percepção quanto

ado a necessidade de modificar o pré- se manter o dorso do frango à 95C por 30 minutos, este procedimento desnaturava o colágeno, formando um gel scrito

Identificar a produção do conhecimento em enfermagem no período pós-parto imediato período Greenberg, nos últimos 5 anos, de 2005 a 2009;Demonstrar os resultados da

*No mesmo dia, saindo da sala do segundo ano, fomos a sala do primeiro ano, quando entramos os alunos já estavam em sala, depois de nos acomodarmos a professora pediu que

Parágrafo segundo – Não ocorrendo a citada homologação por responsabilidade do SESI-SP, em até 30 (trinta) dias após o prazo máximo para o pagamento das

Para recuperar o nióbio contido no rejeito de concentração de apatita da Anglo American Fosfato Brasil, foi construída, pela Anglo American Nióbio Brasil, uma

Users who join Reddit earlier post more and longer comments than those who join later, while users who survive longer start out both more active and more likely to comment than