• Nenhum resultado encontrado

Hibridização de meta-heurísticas com métodos baseados em programação linear para o problema do caixeiro alugador

N/A
N/A
Protected

Academic year: 2021

Share "Hibridização de meta-heurísticas com métodos baseados em programação linear para o problema do caixeiro alugador"

Copied!
101
0
0

Texto

(1)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 Mestrado Acadêmico em Sistemas e Computação. Hibridização de Meta-Heurísticas com Métodos Baseados em Programação Linear para o Problema do Caixeiro Alugador. Brenner Humberto Ojeda Rios. Natal-RN Fevereiro de 2018.

(2) Brenner Humberto Ojeda Rios. Hibridização de Meta-Heurísticas com Métodos Baseados em Programação Linear para o Problema do Caixeiro Alugador. 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 a Dr a Elizabeth Ferreira Gouvêa 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 Fevereiro de 2018.

(3) Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede. Rios, Brenner Humberto Ojeda. Hibridização de meta-heurísticas com métodos baseados em programação linear para o problema do caixeiro alugador / Brenner Humberto Ojeda Rios. - 2018. 100 f.: il. Dissertação (mestrado) - Universidade Federal do Rio Grande do Norte, Centro de Ciências Exatas e da Terra, Programa de PósGraduação em Sistemas e Computação. Natal, RN, 2018. Orientadora: Prof.ª Dr.ª Elizabeth Ferreira Gouvêa Goldbarg.. 1. Programação linear - Dissertação. 2. Meta-heurísticas híbridas - Dissertação. 3. Computação evolucionária Dissertação. 4. Busca em vizinhança variável - Dissertação. 5. Busca local adapta - Dissertação. I. Goldbarg, Elizabeth Ferreira Gouvêa. II. Título. RN/UF/BCZM. CDU 519.852. Elaborado por ANA CRISTINA CAVALCANTI TINOCO - CRB-15/262.

(4)

(5) Agradecimentos Inicio os agradecimentos por meus pais, que sempre primaram pela minha educação. Muito obrigado Sra. Blanca e Sr. Miguel por, além de me oferecer a oportunidade de estudar no estrangeiro, sempre estar presente apesar da distância, eu sou muito feliz por isso. A eles dedico este trabalho. À minha irmã Marilin, por sempre me apoiar e por sempre estar comigo nos momentos mais difíceis. Agradeço também a Greis por me acompanhar e me fazer sentir como se não estivesse longe de casa. Agradeço a minha orientadora professora Dr a Elizabeth Ferreira Gouvêa, pela sua disponibilidade, pelas opiniões e criticas, pela total colaboração para solucionar minhas dúvidas e problemas que foram surgindo ao longo da realização desta dissertação. Também agradeço a ajuda do professor Dr. Matheus da Silva Menezes, que ajudou na realização dos testes euclidianos. Ao professor Dr. Marco César Goldbarg e à professora Dr a Silvia Maria Diniz Monteiro Maia pela participação na banca e por suas contribuições na minha dissertação. Ao CAPES/Demanda Social, pelo apoio financeiro para o desenvolvimento desta pesquisa..

(6) Eu não tenho medo dos computadores. Temo a falta deles. Isaac Asimov.

(7) Hibridização de Meta-Heurísticas com Métodos Baseados em Programação Linear para o Problema do Caixeiro Alugador. Autor: Brenner Humberto Ojeda Rios Orientador(a): Prof a Dr a Elizabeth Ferreira Gouvêa Goldbarg. Resumo O Problema do Caixeiro Viajante com Aluguel de Carros, ou simplesmente Problema do Caixeiro Alugador (PCA), é uma generalização do clássico Problema do Caixeiro Viajante (PCV) onde seu tour de visitas pode ser decomposto em caminhos contíguos que podem ser percorridos com diferentes carros alugados. O objetivo é determinar o circuito hamiltoniano que resulte em um custo final mínimo, considerando a penalização paga em cada troca de veículos no tour. A penalização é o custo de retornar o carro até a cidade onde foi alugado. O PCA está classificado como um problema NP-difícil. O presente trabalho estuda a variante mais usada na literatura do PCA que é: completo, total, irrestrito, sem repetição, livre e simétrico. O foco da pesquisa são os procedimentos híbridos que combinam meta-heurísticas e métodos baseados na Programação Linear. São hibridizados: algoritmos científicos (ScA), descida em vizinhança variável (VND), busca local adaptativa (ALSP) e uma nova variante do ALSP chamada busca local adaptativa iterativa (IALSP). As seguintes técnicas são propostas para lidar com o PCA: ScA+ALSP, ScA+IALSP e ScA+VND+IALSP. É proposto um modelo de programação inteira mista para o PCA o qual é usado no ALSP e no IALSP. Testes não paramétricos são usados para comparar os algoritmos em um conjunto de instâncias da literatura. Palavras-chave: Meta-heurísticas híbridas, programação linear, problema do caixeiro viajante com aluguel de carros, algoritmos científicos, computação evolucionária, busca em vizinhança variável, busca local adaptativa..

(8) Hybridization of Metaheuristics with Methods Based on Linear Programming for the Traveling Car Renter Salesman Problem. Author: Brenner Humberto Ojeda Rios Supervisor: Phd Elizabeth Ferreira Gouvêa Goldbarg. Abstract The Traveling Car Renter Salesman Problem, or simply Traveling Car Renter Problem (CaRS), is a generalization of the Traveling Salesman Problem (TSP) where the tour can be decomposed into contiguous paths that are traveled by different rented cars. The objective is to construct a minimal cost Hamiltonian circuit, considering the penalty paid for changing cars in the tour. This penalty is the cost of returning a car to the city where it was rented. CaRS is classified as an NP-hard problem. This work studies the CaRS version classified as: complete, total, unrestricted, with no repetition, free and symmetric. This research is focused on hybrid procedures that combine metaheuristics and methods based on Linear Programming (LP). The following methods were investigated: scientific algorithms (ScA), variable neighborhood descent (VND), adaptive local search (ASLP) and a new variant of ALSP called iterated adaptive local search (IALSP). The following techniques are proposed to deal with CaRS: ScA+ALSP, ScA+IALSP and ScA+VND+IALSP. A mixed integer programming model is proposed for CaRS which was used in the ALSP and IALSP. Non-parametric tests were used to compare the algorithms within a set of instances from the literature. Keywords: Hybrid meta-heuristics, linear programming, traveling car renter salesman problem, scientific algorithms, evolutionary computation, variable neighborhood search, adaptive local search..

(9) Lista de figuras 1. Solução inconsistente da formulação matemática proposta em Silva e Ochi (2016). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 32. 2. Exemplo de representação de um indivíduo. . . . . . . . . . . . . . . .. p. 51. 3. Dois swaps independentes. . . . . . . . . . . . . . . . . . . . . . . . . .. p. 56. 4. Um movimento 2-opt.. . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 56. 5. Um movimento 3-opt.. . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 57. 6. Representação de uma solução. . . . . . . . . . . . . . . . . . . . . . .. p. 57. 7. Exemplo do operador α1 . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 58. 8. Exemplo do operador α2 . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 58. 9. Exemplo do operador α3 . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 58. 10. Exemplo do operador α4 . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 59. 11. Exemplo do operador α5 . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 59. 12. Exemplo do operador α6 . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 59. 13. Status das variáveis entre os conjuntos do ALSP. . . . . . . . . . . . . .. p. 61. 14. Status das variáveis entre os conjuntos do IALSP. . . . . . . . . . . . .. p. 64. 15. (JOURDAN; BASSEUR; TALBI, 2009). . . . . . . . . . . . . . . . . . . . .. p. 68. 16. Fluxograma do algoritmo ScA+VND+IALSP. . . . . . . . . . . . . . .. p. 70. 17. Representação de um pesquisador.. . . . . . . . . . . . . . . . . . . . .. p. 95. 18. Representação de um tema. . . . . . . . . . . . . . . . . . . . . . . . .. p. 96. 19. Representação de uma hipótese.. . . . . . . . . . . . . . . . . . . . . .. p. 96. 20. Representação do operador γ2 .. . . . . . . . . . . . . . . . . . . . . . .. p. 96. 21. Representação do operador λ1 .. . . . . . . . . . . . . . . . . . . . . . .. p. 97.

(10) 22. Representação do operador λ2 .. . . . . . . . . . . . . . . . . . . . . . .. p. 98. 23. Representação do operador λ3 .. . . . . . . . . . . . . . . . . . . . . . .. p. 98. 24. Representação do operador λ4 .. . . . . . . . . . . . . . . . . . . . . . .. p. 98. 25. Representação do operador λ5 .. . . . . . . . . . . . . . . . . . . . . . .. p. 99.

(11) Lista de tabelas 1. Descrição do significado dos parâmetros da formulação matemática proposta por Goldbarg et al. (2013) para o PCA. . . . . . . . . . . . . . .. 2. Descrição do significado das variáveis da formulação matemática proposta por Goldbarg et al. (2013) para o PCA. . . . . . . . . . . . . . .. 3. p. 39. Descrição do significado das variáveis da formulação baseada no fluxo da rede proposta por Goldbarg et al. (2017) para o PCA. . . . . . . . . . .. 11. p. 38. Valores da variável de decisão binária wic na restrição (2.30) do modelo original e a restrição(2.64) do modelo corrigido. . . . . . . . . . . . . .. 10. p. 36. Valores da variável de decisão binária ric na restrição (2.28) do modelo original e restrição (2.63) do modelo corrigido. . . . . . . . . . . . . . .. 9. p. 35. Valores da variável de decisão binária wic na restrição (2.30) do modelo original e restrição (2.55) do modelo corrigido. . . . . . . . . . . . . . .. 8. p. 32. Valores da variável de decisão binária ric na restrição (2.28) do modelo original e restrição (2.54) do modelo corrigido. . . . . . . . . . . . . . .. 7. p. 30. Variáveis da formulação apresentada em Silva e Ochi (2016) que criam uma solução inconsistente se forem definidas como 1. . . . . . . . . . .. 6. p. 29. Descrição do significado das variáveis da formulação matemática proposta por Silva e Ochi (2016) para o PCA. . . . . . . . . . . . . . . . .. 5. p. 27. Descrição do significado das variáveis da formulação matemática proposta por Menezes (2014) para o PCA. . . . . . . . . . . . . . . . . . .. 4. p. 27. p. 41. Descrição do significado das variáveis da formulação com restrições quadráticas proposta por Goldbarg et al. (2017) para o CaRS. . . . . . . .. p. 43. 12. Resultado para instâncias não-euclidiana do PCA . . . . . . . . . . . .. p. 45. 13. Resultado para instâncias euclidiana do PCA . . . . . . . . . . . . . . .. p. 46. 14. Resumo dos resultados computacionais . . . . . . . . . . . . . . . . . .. p. 47.

(12) 15. Instâncias de treinamento euclidianas e não-euclidianas . . . . . . . . .. p. 73. 16. Parâmetros usados pelo irace. . . . . . . . . . . . . . . . . . . . . . . .. p. 74. 17. Parâmetros dos algoritmos para instâncias não-euclidianas . . . . . . .. p. 75. 18. Parâmetros dos algoritmos para instâncias euclidianas . . . . . . . . . .. p. 75. 19. Resultados do ScA, EA+ALSP, e ScA+ALSP. . . . . . . . . . . . . . .. p. 77. 20. Melhoria percentual obtida pelo ScA+ALSP . . . . . . . . . . . . . . .. p. 77. 21. Resultados do ScA+ALSP e ScA+IALSP. . . . . . . . . . . . . . . . .. p. 79. 22. Melhoria percentual obtida pelo ScA+IALSP . . . . . . . . . . . . . . .. p. 79. 23. Resultados do ScA+IALSP e ScA+VND+IALSP. . . . . . . . . . . . .. p. 80. 24. Melhoria percentual obtida pelo ScA+VND+IALSP. . . . . . . . . . .. p. 81. 25. Múltiplas comparações por pares usando o procedimento de Nemenyi .. p. 82. 26. Diferenças entre pares de algoritmos . . . . . . . . . . . . . . . . . . . .. p. 82. 27. p-valores entre pares de algoritmos . . . . . . . . . . . . . . . . . . . .. p. 83. 28. Diferenças significativas entre pares de algoritmos . . . . . . . . . . . .. p. 83. 29. Múltiplas comparações por pares usando o procedimento de Nemenyi .. p. 84. 30. Diferenças entre pares de algoritmos . . . . . . . . . . . . . . . . . . . .. p. 84. 31. p-valores entre pares de algoritmos . . . . . . . . . . . . . . . . . . . .. p. 85. 32. Diferenças significativas entre pares de algoritmos . . . . . . . . . . . .. p. 85. 33. Resultados dos algoritmos para instâncias não-euclidianas do PCA . . .. p. 93. 34. Resultados dos algoritmos para instâncias euclidianas do PCA . . . . .. p. 94. 35. Parâmetros do EA . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 99.

(13) Lista de abreviaturas e siglas ALSP – Adaptive Local Search Procedure IALSP – Iterated Adaptive Local Search Procedure EA – Evolutionary Algorithm ScA – Scientific Algorithms VND – Variable Neighborhood Descent MIP – Mixed-Integer Programming PCV – Problema do Caixeiro Viajante PCA – Problema do Caixeiro Alugador CaRS – Traveling Car Renter Salesman Problem TSP – Traveling Salesman Problem QAP – Quadratic Assignment Problem.

(14) Lista de símbolos C – Conjunto de diferentes tipos de carros. V – Conjunto de n cidades (vértices). E – Conjunto de estradas (arestas). G = (V, E) – Grafo G, cujo conjunto de vértices é V e o conjunto de arestas é E. n – Número de vértices em um grafo G (n = |V |)). c – Um carro pertencente ao conjunto C (c ∈ C). c Fi,j – Refere-se ao custo de tomar c de volta para i de j. c – Refere-se ao custo de transporte da condução do carro c no arco (i, j) . Di,j. xck,i – Indica se a cidade i é visitada na ordem k-ésimo por o carro c (xck,i = 1) ou não (xck,j = 0). yic – Indica se carro c é alugado na cidade i (yic = 1) ou não (yic = 0). zjc – Indica se o carro c for devolvido na cidade j (zjc = 1) ou não (zjc = 0). fijc – Indica se o carro c atravessa a aresta (i, j) de i para j (fijc = 1) ou não (fijc = 0). xci,j – Indica se o caixeiro vai da cidade i para j com o carro c (xci,j = 1) ou não (xci,j = 0). pci,j – Indica se o carro c é alugado em i e devolvido à cidade j (pci,j = 1) ou não (pci,j = 0). acj – Indica se o caixeiro chega á cidade j usando o carro c (acj = 1) ou não (acj = 0). dci – Indica se o caixeiro deixa a cidade i usando o carro c (dci = 1) ou não (dci = 0). ric – Indica se o caixeiro entrega o carro c quando esta visitando a cidade i (ric = 1) ou não (ric = 0). wic – Indica se o caixeiro aluga o carro c na cidade i (wic = 1) ou não (wic = 0). ui – Indica a ordem em que a cidade i é visitada. uij – Inteiros não negativos arbitrários..

(15) Sumário. p. 16. 1 Introdução 1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 18. 1.1.1. Objetivos gerais . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 18. 1.1.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . .. p. 18. 1.2. Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 19. 1.3. Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 20. 1.4. Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 20. 2 O Problema do Caixeiro Alugador 2.1. 2.2. 2.3. p. 22. Revisão da literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 22. 2.1.1. Trabalhos correlatos - q-CaRS . . . . . . . . . . . . . . . . . . .. p. 24. Descrição do problema . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 24. 2.2.1. Variações do PCA . . . . . . . . . . . . . . . . . . . . . . . . .. p. 26. Formulações Matemáticas . . . . . . . . . . . . . . . . . . . . . . . . .. p. 27. 2.3.1. Modelo Quadrático de Programação Inteira - Modelo01 . . . . .. p. 27. 2.3.2. Modelo de Programação Inteira Mista - Modelo02 . . . . . . . .. p. 29. 2.3.3. Modelo de Programação Inteira Mista - Modelo03 . . . . . . . .. p. 30. 2.3.4. Formulações corrigidas propostas para o Modelo03 . . . . . . . .. p. 32. 2.3.4.1. Primeira proposta de correção - Modelo04 . . . . . . .. p. 33. 2.3.4.2. Segunda proposta de correção - Modelo05 . . . . . . .. p. 36. 2.3.5. Modelo baseado no QAP - Modelo06 . . . . . . . . . . . . . . .. p. 39. 2.3.6. Modelo baseado no fluxo em rede - Modelo07 . . . . . . . . . .. p. 41.

(16) 2.3.7. Modelo com restrições quadráticas - Modelo08 . . . . . . . . . .. p. 42. 2.3.8. Solução do Modelo04 e Modelo05 . . . . . . . . . . . . . . . . .. p. 44 p. 49. 3 Abordagens heurísticas 3.1. ScA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 49. 3.2. EA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 51. 3.3. VND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 53. 3.3.1. Algoritmo VND proposto. . . . . . . . . . . . . . . . . . . . . .. p. 54. 3.3.2. Buscas Locais para VND . . . . . . . . . . . . . . . . . . . . . .. p. 55. 4 Abordagens baseadas em programação linear. p. 60. 4.1. ALSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 60. 4.2. Algoritmo IALSP proposto . . . . . . . . . . . . . . . . . . . . . . . . .. p. 63. 5 Algoritmos híbridos propostos 5.1. 5.2. Algoritmos híbridos sequenciais . . . . . . . . . . . . . . . . . . . . . .. p. 67. 5.1.1. ScA+ALSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 69. 5.1.2. ScA+IALSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 69. Algoritmo ScA+VND+IALSP . . . . . . . . . . . . . . . . . . . . . . .. p. 69. 6 Experimentos Computacionais 6.1. p. 67. p. 71. Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 71. 6.1.1. Comparação particular . . . . . . . . . . . . . . . . . . . . . . .. p. 72. 6.1.2. Comparação geral . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 72. 6.2. Parametrização dos algoritmos . . . . . . . . . . . . . . . . . . . . . . .. p. 73. 6.3. Análise comparativa - instâncias não-euclidianas . . . . . . . . . . . . .. p. 75. 6.3.1. ScA+ALSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 75. 6.3.2. ScA+IALSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 78.

(17) 6.4. 6.3.3. ScA+VND+IALSP . . . . . . . . . . . . . . . . . . . . . . . . .. p. 80. 6.3.4. Análise do desempenho geral dos algoritmos . . . . . . . . . . .. p. 82. Análise comparativa - instâncias euclidianas . . . . . . . . . . . . . . .. p. 83. 7 Considerações finais 7.1. Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 86 p. 87. Referências. p. 88. Apêndice A -- Tabelas de Resultados Computacionais. p. 92. Anexo A -- Meta-heurísticas. p. 95. A.1 Aplicação do ScA ao PCA . . . . . . . . . . . . . . . . . . . . . . . . .. p. 95. A.2 Parâmetros do EA . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 99.

(18) 16. 1. Introdução. As pesquisas em meta-heurísticas para problemas de otimização combinatória têm experimentado uma notável mudança para hibridização de meta-heurísticas com outras técnicas de otimização (BLUM; RAIDL, 2016). Hoje em dia, para resolver um problema não se promove o uso de certa meta-heurística se não a melhor maneira possível de resolvê-lo, isto se consegue com um cruzamento de diferentes áreas de otimização como: modelagem matemática, pesquisa operacional, estatística e outros campos. Este cruzamento gerou um grande número de algoritmos híbridos poderosos. A hibridização não se restringe a diferentes variantes de meta-heurísticas, inclui por exemplo, a combinação de programação matemática, programação dinâmica, programação de restrições ou modelagem estatística com meta-heurísticas (BLUM; RAIDL, 2016). Logística e transporte são algumas áreas que usam a programação matemática e métodos heurísticos para resolver muitos de seus problemas (SILVA; OCHI, 2016). É comum abordar problemas dessas áreas por Programação Mista Inteira (Mixed-Integer Programming, MIP), uma vez que um modelo matemático é válido para um problema dado. O sucesso do MIP reside, principalmente, nos poderosos MIP solvers que existem hoje, como: GUROBI, CPLEX Optimizer, GLPK, SCIP ou XPRESS. Tendo um modelo adequado, estes solvers são frequentemente capazes de resolver instâncias de problemas difíceis em tempo razoável. Caso a execução do solver seja interrompida, ainda podem ser produzidas soluções aproximadas úteis, juntamente com garantias de qualidade de um limite (BLUM; RAIDL,. 2016).. O negócio de aluguel de carros na área de transporte é um dos segmentos mais interessantes devido ao seu crescimento significativo nos últimos anos (SEAY; NARSING, 2013). Para compreender a importância do aluguel de automóveis no mundo de hoje, pode-se analisar sua escala nos países desenvolvidos. Nos EUA, o faturamento das empresas de aluguel de carros em 2014 atingiu $41,68 bilhões; apenas na cidade de Londres existem quatro escritórios de aluguel de automóveis para cada 100 pessoas, e de acordo com especialistas, o mercado global em 2019 vai chegar a 81,2 bilhões de dólares (MARTYSHENKO;.

(19) 17 VINICHUK,. 2016). Junto com o aumento dos lucros, há também uma diversificação cres-. cente nos serviços prestados, particularmente aqueles que enfrentam o setor de turismo (SILVA; OCHI, 2016). Vários problemas de otimização surgiram nesse contexto. O principal objetivo da maioria deles é reduzir os custos das empresas de aluguel de automóveis. Poucos trabalhos de pesquisa têm se concentrado em modelos que consideram o ponto de vista do cliente. Goldbarg e colegas (GOLDBARG; ASCONAVIETA; GOLDBARG, 2011) apresentaram uma variante do clássico Problema do Caixeiro Viajante (PCV), que modela os aspectos centrais de alugar um carro desde o ponto de vista do cliente, chamado de Problema do Caixeiro Alugador (PCA) ou Traveling Car Renter Problem (CaRS). O PCA é uma generalização do PCV, onde o trajeto pode ser decomposto em caminhos contíguos que são percorridos por diferentes carros alugados (GOLDBARG; ASCONAVIETA; GOLDBARG, 2011). No PCA, um cliente pretende utilizar carros alugados para visitar um determinado conjunto de cidades, com a ideia de minimizar o custo relacionado ao aluguel de carros no trajeto. Vários veículos de empresas diferentes estão disponíveis em cada cidade, gerando uma grande variedade de possibilidades de escolha para alugar carros durante o percurso. O PCV é um caso particular do PCA na situação em que existe apenas um veículo disponível para o aluguel na primeira cidade do tour e nenhuma possibilidade de troca desse veículo nas demais cidades (SILVA, 2011b). Dado que o PCV é NP-difícil e também é um caso especial do PCA, quando apenas um carro é usado para realizar o percurso, o PCA também é um problema NP-difícil (MENEZES, 2014). No primeiro trabalho sobre o PCA (GOLDBARG; ASCONAVIETA; GOLDBARG, 2011), quatro meta-heurísticas foram apresentadas: dois híbridos das meta-heurísticas GRASP (Greedy Randomized Adaptive Search Procedure) (FEO; RESENDE, 1995) com VND (Variable Neighborhood Descent) (MLADENOVIĆ; HANSEN, 1997) e dois algoritmos meméticos (MOSCATO; COTTA, 2010). Desde então, várias meta-heurísticas têm sido aplicadas ao PCA, tais como: otimização de colônias de formigas (SILVA, 2011c), algoritmos transgenéticos (ASCONAVIETA; GOLDBARG; GOLDBARG, 2011; GOLDBARG et al., 2013), algoritmos meméticos (GOLDBARG; ASCONAVIETA; GOLDBARG, 2011), algoritmos científicos (ScA) (FELIPE; GOLDBARG; GOLDBARG, 2014), e um híbrido entre um algoritmo evolutivo (EA) e Adaptive Local Search Procedure (ALSP) (SILVA; OCHI, 2016). Apenas um trabalho (SILVA; OCHI, 2016) abordou a hibridização de meta-heurística e programação linear. Este trabalho aprofunda essa investigação, através da análise de diferentes modelos e meta-heurísticas. Nesta dissertação foi feita uma investigação dos.

(20) 18. modelos para o PCA da literatura. Tal investigação encontrou um modelo com erros na formulação, assim, foram propostos dois modelos através da correção deste. A principal motivação da pesquisa foi usar um modelo matemático na hibridização com metaheurísticas. Para usar o modelo foi proposto o algoritmo IALSP. O IALSP funciona como busca local. Também foi proposto o VND, dado que a chance de alcançar um ótimo global é menor, quando se usa uma única busca local. Além dos algoritmos propostos, foram investigados um algoritmo científico e um algoritmo evolucionário. Este trabalho cobre várias técnicas de hibridização que provaram ser bem-sucedidas para o PCA.. 1.1. Objetivos. 1.1.1. Objetivos gerais. Este trabalho tem como principal objetivo a hibridização de meta-heurísticas e métodos baseados em programação linear para o PCA. São objetivos gerais deste trabalho: • Analisar os modelos matemáticos da literatura para PCA. • Comparar modelos matemáticos do PCA, a fim de escolher um deles para usá-lo na hibridização. • Propor algoritmos híbridos entre meta-heurísticas e métodos baseados em programação linear. • Contribuir para a literatura do PCA.. 1.1.2. Objetivos específicos. De forma mais detalhada, os objetivos específicos que se pretende alcançar são: • Analisar os modelos matemáticos propostos por Silva e Ochi (2016) e por Goldbarg et al. (2017). • Propor duas propostas de correção para o modelo de Silva e Ochi (2016). • Selecionar o melhor modelo, com base em experimentos computacionais, para usá-lo na hibridização. • Propor uma variante iterativa do Algoritmo ALSP (IALSP)..

(21) 19. • Aplicar o modelo selecionado, do conjunto de modelos estudados, no IALSP e ALSP. • Realizar hibridizações sequenciais usando os algoritmos ALSP ou IALSP com os algoritmos ScA e VND. • Propor os algoritmos ScA+ALSP, ScA+IALSP, ScA+VND+IALSP. • Testar os algoritmos híbridos propostos para identificar qual deles tem o maior potencial na solução do PCA. • Executar testes do benchmark da literatura.. 1.2. Metodologia. Este trabalho seguiu os procedimentos metodológicos padrão de pesquisas na área. Foi realizada uma revisão bibliográfica compreendendo textos sobre meta-heurísticas, otimização combinatória e programação linear. Os modelos matemáticos foram implementados em um MIP solver. Foram desenvolvidos algoritmos híbridos com meta-heurísiticas. Foram realizados testes com instâncias do benchmark de Silva (2011b). Finalmente, foi realizada a análise estatística dos resultados. A primeira etapa do trabalho esteve relacionada ao estudo e definição de uma formulação matemática para o PCA. Foram analisados 4 modelos distintos da literatura (SILVA; OCHI,. 2016; GOLDBARG et al., 2017) com 1 forma de linearização em cada. Verificou-se. que o modelo de Silva e Ochi (SILVA; OCHI, 2016) apresentava erros em algumas das suas restrições, em seguida, efetuou-se sua correção. Foram propostos dois modelos corrigidos. Os modelos corrigidos e o melhor modelo da literatura (GOLDBARG et al., 2017) foram aplicados na solução de 28 instâncias não-euclidianas e 28 instâncias euclidianas do PCA. Foi realizada a análise de resultados e desempenho computacional entre as formulações matemáticas da literatura e das formulações corrigidas propostas. Dando prosseguimento à pesquisa, várias abordagens híbridas foram aplicadas ao PCA. Neste trabalho é proposta a técnica Iterated Adaptive Local Search Procedure (IALSP) baseada no ALSP (SILVA; OCHI, 2016). As meta-heurísticas escolhidas foram: o algoritmo científico (FELIPE; GOLDBARG; GOLDBARG, 2014), o algoritmo evolucionário (SILVA; OCHI, 2016) e o VND (MLADENOVIĆ; HANSEN, 1997). As seguintes abordagens híbridas foram investigadas: ScA+ALSP, ScA+IALSP e ScA+VND+IALSP. Para avaliar o desempenho desses algoritmos, foram feitos experimentos computacionais em 21 instâncias nãoeuclidianas e 24 instâncias euclidianas da biblioteca CArSLIB..

(22) 20. Dado o fato de que cada algoritmo híbrido possui elementos não determinísticos, foram feitas 30 execuções independentes em todas as instâncias. Para a análise dos resultados, especificamente na comparação entre as meta-heurísticas híbridas, foi usado o teste estatístico de Friedman (FRIEDMAN, 1937) com auxílio da ferramenta XLSTAT (ADDINSOFT, 2017).. 1.3. Contribuições. A aplicação dos algoritmos híbridos resultantes da combinação entre meta-heurísticas e programação linear ao problema do caixeiro alugador superou os resultados do estado da arte do problema, encontrando 9 novos melhores resultados em 17 instâncias nãoeuclidianas. Isto caracteriza os algoritmos híbridos como o novo estado da arte para o problema do caixeiro alugador. As principais contribuições da pesquisa são resumidas nos tópicos a seguir. • Introdução de abordagens híbridas entre meta-heurísticas e programação linear para solução do PCA. • Proposição de um modelo para o PCA, o qual é originário da correção de uma formulação proposta anteriormente e sua linearização. Este modelo foi publicado no IEEE Congress on Evolutionary Computation (CEC) 2017 sob o título: A hybrid metaheuristic using a corrected formulation for the traveling car renter salesman problem. • Apresentação de uma nova variante do Adaptive Local Search Procedure (SILVA; OCHI, 2016) chamada de Iterated Adaptive Local Search Procedure. Esta variante foi apresentada no BRACIS 2017 Brazilian Conference on Intelligent Systems em um artigo intitulado: A hybrid metaheuristic for the Traveling Car Renter Salesman Problem. • Realização de análise experimental considerando os diversos algoritmos propostos.. 1.4. Organização do trabalho. A organização geral do trabalho se apresenta em 6 capítulos, além deste. No capítulo 2 é apresentada a definição do problema do caixeiro alugador, os modelos matemáticos apresentados na literatura, e duas formulações corrigidas para o PCA. Nos capítulos 3 e 4.

(23) 21. são descritas as abordagens heurísticas e as abordagens baseadas na programação linear desenvolvidas para o PCA, respectivamente. O capítulos 5 apresenta as meta-heurísticas híbridas propostas. O capítulo 6 relata os resultados dos experimentos computacionais em 21 instâncias não-euclidianas e 24 instâncias euclidianas com tamanhos entre 14 e 300 cidades, além disso, são reportados resultados das comparações com os algoritmos apresentados por Felipe, Goldbarg e Goldbarg (2014), e por Silva e Ochi (2016). Por fim, no capítulo 7, o trabalho é finalizado com considerações finais e propostas para futuros trabalhos..

(24) 22. 2. O Problema do Caixeiro Alugador. Neste capítulo é apresentado o PCA. São revisados os modelos da literatura. São apresentados dois novos modelos, os quais resultam da correção de uma formulação proposta anteriormente por Silva e Ochi (2016). São mostrados testes computacionais que comparam três modelos: dois novos modelos, e o modelo DFJ proposto por Goldbarg et al. (2017). Este último foi apontado como o melhor dentre os modelos propostos por Goldbarg et al. (2017). A organização do capítulo apresenta: revisão da literatura, na seção 2.1, descrição do problema, na seção 2.2, e a análise das formulações matemáticas do PCA, na seção 2.3. Os modelos da seção 2.3.4 são propostos para corrigir o modelo proposto por Silva e Ochi (2016). A seção 2.3.8 apresenta a solução dos modelos propostos.. 2.1. Revisão da literatura. O PCA foi apresentado pela primeira vez por Silva, Goldbarg e Goldbarg (2010). Um Algoritmo Memético (MA) e uma hidridização entre GRASP e VND (GRASP/VND) foram propostos para o novo problema. As duas meta-heurísticas foram comparadas para estabelecer limites para um conjunto de 40 instâncias euclidianas e não-euclidianas. O problema foi analisado por Asconavieta, Goldbarg e Goldbarg (2011), Silva (2011b), Goldbarg, Asconavieta e Goldbarg (2011), e mais recentemente, por Goldbarg et al. (2013), Felipe, Goldbarg e Goldbarg (2014), Silva e Ochi (2016) e Goldbarg et al. (2017). Tais trabalhos trataram a mesma variante do PCA estudada por Silva, Goldbarg e Goldbarg (2010). Goldbarg et al. (2013) apresentou a primeira formulação matemática (um modelo de programação quadrática implementada no solver GLPK), mas Silva e Ochi (2016) observaram que faltavam algumas restrições na formulação. No mesmo trabalho (GOLDBARG et al.,. 2013) foi apresentado um algoritmo transgenético e um algoritmo memético, os quais.

(25) 23. foram aplicados a 60 instâncias (30 euclidianas e 30 não-euclidianas) do banco de instâncias CArSLIB (SILVA, 2011a), em que foi evidente o desempenho superior do algoritmo transgenético em termos de tempo e qualidade de soluções. No trabalho realizado por Felipe, Goldbarg e Goldbarg (2014), os algoritmos científicos foram apresentados como uma meta-heurística inspirada no processo de investigação científica. Nesse trabalho um algoritmo científico foi testado em 20 instâncias não-euclidianas do banco de instâncias CArSLIB (SILVA, 2011a). Os resultados mostraram que o algoritmo científico encontrou 13 novos melhores resultados para o conjunto de instâncias investigadas. O algoritmo científico tem um tempo de processamento de 10 a 100 vezes mais rápido do que o algoritmo transgenético apresentado por Goldbarg et al. (2013). Em Silva e Ochi (2016), os algoritmos EA, ALSP e EA+ALSP foram desenvolvidos para lidar com o PCA. EA é um algoritmo evolutivo e o ALSP é um framework que visa resolver o problema de espaço de soluções dos problemas de otimização. Nesse trabalho, um algoritmo híbrido EA+ALSP foi apresentado como o melhor algoritmo para resolver o PCA. No algoritmo híbrido, o ALSP utiliza internamente um novo modelo matemático como um mecanismo para explorar o espaço de soluções do PCA. No entanto, o modelo foi formulado erroneamente. O experimento computacional desse trabalho comparou os resultados do algoritmo transgenético apresentado por Goldbarg et al. (2013), EA e o EA+ALSP. Foram testadas todas as instâncias não-euclidianas de Goldbarg et al. (2013) exceto das pequenas (instâncias com menos de 14 cidades). O EA+ALSP encontrou novos limites em 20 dos 30 casos testados. Em Goldbarg et al. (2017) foram apresentadas três formulações de programação inteira para o PCA, das quais duas têm funções objetivas quadráticas e a outra tem restrições quadráticas. O primeiro modelo com uma função objetivo quadrática é fundamentado no PCV interpretado como um caso especial do quadratic assignment problem (QAP). O segundo modelo com uma função objetivo quadrática é baseado na formulação de Gavish e Graves (1978) para o PCV. O terceiro modelo (chamado de DFJ) com restrições quadráticas se baseia na formulação de Dantzig, Fulkerson e Johnson (1954) para o PCV. As formulações lineares apresentadas foram implementadas em dois solvers: CPLEX (versão 12.6.3.0) e Gurobi (versão 6.5.2). Foram apresentados os resultados de experimentos computacionais baseados em 50 instâncias do banco CArSLIB (SILVA, 2011a). O modelo DFJ implementado em ambos solvers produziu os melhores resultados para as instâncias não-euclidianas quanto ao número de problemas resolvidos de forma ótima, tempo de processamento e desvio percentual do limite inferior calculado pelos solvers..

(26) 24. 2.1.1. Trabalhos correlatos - q-CaRS. Uma variante do PCA, que considera a coleta de prêmios, foi proposta por Menezes (2014). Tal variante é chamada de Caixeiro Alugador com Coleta de prêmios (pCaRS). Nesse problema, o nível de satisfação em visitar uma cidade é definido como um bônus. Essa satisfação é acumulada cada vez que uma cidade é visitada. Uma satisfação cumulativa mínima, pré-definida no problema, deve se atendida. O problema consiste em escolher uma cidade onde o tour começa e termina. O objetivo é selecionar um subconjunto de cidades, minimizando os custos relacionados com o aluguel dos carros (tal como no PCA) e no qual a satisfação pré-definida mínima seja atendida. Menezes, Goldbarg e Goldbarg (2014) propuseram uma formulação matemática para o pCaRS, essa é implementada em um solver para produzir resultados em 64 instâncias. Alem disso, um algoritmo memético foi proposto e seu desempenho foi avaliado em comparação com os resultados obtidos com o solver. Goldbarg et al. (2016) renomearam o problema pCaRS para q-CaRS. O motivo foi que a penalidade associada aos vértices não visitados, que é uma característica do prêmio que coleta PCV, não é computado e, portanto, o tipo de quota é mais adequado. Nesse trabalho, os autores propuseram um modelo de programação inteira para o q-CaRS, e apresentaram soluções ótimas para 24 instâncias. Além disso, um algoritmo evolutivo com um operador de plasmídeo proposto foi comparado com um algoritmo memético. Finalmente, os resultados obtidos dos experimentos computacionais com 72 instâncias foram mostrados.. 2.2. Descrição do problema. Conceitualmente, o PCA é uma generalização do PCV em que o tour pode ser decomposto em caminhos contíguos que são percorridos por diferentes carros alugados (GOLDBARG; ASCONAVIETA; GOLDBARG,. 2011). O objetivo é realizar o tour com o menor custo. possível. Vários tipos de veículos estão disponíveis para alugar, cada um com suas próprias características e custos operacionais (consumo de combustível, taxas de pedágio e custo de aluguel). Além disso, há uma taxa extra paga para devolver um veículo para a cidade na qual foi alugado, se for entregue em uma cidade diferente (FELIPE; GOLDBARG; GOLDBARG,. 2014).. Formalmente, o PCA é definido como um conjunto de diferentes tipos de carros C e um grafo G(V, E), onde V é um conjunto de n cidades (vértices) e E é um conjunto de estradas (arestas), formado por pares de cidades. O custo de usar um carro c ∈ C sobre.

(27) 25. uma estrada (i, j) é dado por Dijc . Um custo adicional Fijc deve ser pago cada vez que um carro c é alugado em uma cidade i e retornado em j, com i 6= j, o que corresponde à taxa extra sobre o retorno de c para i. O objetivo é construir um circuito hamiltoniano que minimize o custo total do tour mais o custo de retorno dos carros. O problema descrito possui as seguintes características adicionais (GOLDBARG; ASCONAVIETA; GOLDBARG,. 2011), listadas a seguir.:. 1. Vários tipos de carros estão disponíveis para alugar. Cada tipo de carro tem suas próprias características, por exemplo, consumo de combustível, taxas de pedágio e o valor do aluguel. O custo do aluguel, normalmente, é o quilômetro percorrido. O custo de operar um carro c ao percorrer uma aresta (i, j) é representado pelo parâmetro Dijc . 2. Se um carro é alugado em uma operadora, ele só pode ser retornado em uma cidade na qual há pelo menos uma agência da mesma operadora. 3. Se um carro c é alugado na cidade i e é devolvido na cidade j (onde i 6= j), uma taxa extra será cobrada. Essa sobretaxa corresponde ao custo de envio do carro c de j para i, e é representado com o parâmetro Fijc . 4. O tour é iniciado e concluído na mesma cidade em que o primeiro carro é alugado. Esta cidade é chamada de origem ou cidade base. 5. O custo de retorno do carro é nulo no caso em que o caixeiro realiza seu tour utilizando apenas um veículo, o qual é devolvido no mesmo lugar onde foi alugado. Este caso corresponde ao clássico PCV considerando-se as demais condições de custo associadas apenas ao carro selecionado. 6. Os custos de aluguel de carros com as mesmas características (na mesma rede de aluguel) podem ser diferentes dependendo das cidades. O parâmetro |C| representa o número de carros disponíveis. 7. Os custos do retorno dos carros alugados podem estar estritamente associados ao caminho entre a cidade de entrega e a de origem, ou serem decorrentes de cálculos independentes..

(28) 26. 2.2.1. Variações do PCA. O PCA admite varias situações específicas. De acordo com a definição do problema apresentado por Goldbarg, Asconavieta e Goldbarg (2011). O PCA pode ser classificado como: • Disponibilidade de carros para aluguel (parcial x total): Em termos práticos, nem sempre é possível alugar um tipo de carro em todas as cidades do tour. Dado que não há garantia de que todas as empresas tenham agências em todas essas cidades. O caso em que é possível alugar todos os carros em todas as cidades é denominado total. Em qualquer outro caso, ou o problema é chamado de parcial. • Alternativas de devolução do carro alugado (restrito x irrestrito): Em termos práticos, nem sempre é possível retornar um tipo de carro em qualquer uma das cidades do tour. Dado que não há garantia de que as empresas tenham serviços de recepção em todas essas cidades. No caso em que todas as cidades podem facilitar a recepção de todos os carros é chamado de irrestrito. Em qualquer outra situação ou problema é chamado de restrito. • Integridade do contrato (sem repetição x com repetição): Quando o problema não permite que o mesmo tipo de carro seja alugado mais de uma vez no tour, o problema é denominado sem repetição. O problema é denominado com repetição em qualquer outro caso. • Cálculos dos custos de devolução do carro alugado (livre x vinculado): Quando os custos de devolução dos carros são constituídos por valores independentes da topologia ou restrições da rede, o problema se denomina livre. No caso em que o custo de devolução é calculado considerando a rota empregada pelo carro para retornar a sua cidade de origem, o problema se denomina vinculado. • Simetria das distâncias entre as cidades (simétrico x assimétrico): Quando c c o problema é denominado simétrico. Em caso contrário, o problema é = Dj,i Di,j. denominado assimétrico. • Existência de ligações no grafo de conexão que modela o problema (completo x incompleto): Quando o grafo do problema for completo, o problema recebe o mesmo nome. O problema é denominado incompleto em caso contrário..

(29) 27. Este trabalho estuda a versão do PCA mais usada na literatura, classificada como: completo, total, irrestrito, sem repetição, livre e simétrico. O caixeiro deve começar e terminar o tour na cidade 1. Esta dissertação considera instâncias euclidianas e nãoeuclidianas, no entanto, tem-se um interesse especial nas instâncias não-euclidianas, porque são mais desafiantes e se encaixam em aplicações reais.. 2.3. Formulações Matemáticas. Nesta seção são apresentadas as formulações matemáticas para o PCA em ordem cronológica, como segue: um modelo quadrático de programação inteira, na subseção 2.3.1, dois modelos de programação inteira mista, nas subseções 2.3.2 e 2.3.3, duas formulações corrigidas, na subseção 2.3.4, um modelo baseado no QAP, na subseção 2.3.5, um modelo baseado no fluxo em rede, na subseção 2.3.6, e um modelo com restrições quadráticas, na subseção 2.3.7. Finalmente, na subseção 2.3.8 são mostrados testes computacionais que comparam as formulações corrigidas com o modelo com restrições quadráticas.. 2.3.1. Modelo Quadrático de Programação Inteira - Modelo01. A primeira formulação proposta para o PCA foi apresentada em Goldbarg et al. (2013). A função objetivo é quadrática e as restrições são lineares. Tal formulação deriva da ideia do que o PCV pode ser tratado com um modelo quadrático de programação inteira. Tabela 1: Descrição do significado dos parâmetros da formulação matemática proposta por Goldbarg et al. (2013) para o PCA. Parâmetro |C| c Fi,j c Di,j. Descrição Cardinalidade do conjunto C. Refere-se ao custo de tomar c de volta para i de j. Refere-se ao custo de transporte da condução do carro c no arco (i, j).. Tabela 2: Descrição do significado das variáveis da formulação matemática proposta por Goldbarg et al. (2013) para o PCA. var. xck,i yic zjc. Descrição Indica se a cidade i é visitada na ordem k pelo carro c (xck,i = 1) ou não (xck,j = 0). Indica se carro c é alugado na cidade i (yic = 1) ou não (yic = 0). Indica se o carro c for devolvido na cidade j (zjc = 1) ou não (zjc = 0)..

(30) 28. As Tabelas 1 e 2 mostram a descrição dos parâmetros e variáveis usados na formulação de (GOLDBARG et al., 2013), respectivamente. Notar, que a única ordem de visitação k = 1, . . . , n é definida para cada nó i ∈ V . O modelo apresentado para o problema foi o seguinte: min. |C|  n−1 X X X c=1. Dijc xcki xc(k+1)j. +. k=1 (i,j)∈E. s.t.. X. c c D1j xn1 xc1j. +. (1,j)∈E |C| n X X. X. Fijc yic zjc. i∈V,j∈V. . (2.1). xcki = 1 ∀i = 1, . . . , n. (2.2). xcki = 1 ∀k = 1, . . . , n − 1. (2.3). c=1 k=1. |C| n X X c=1 i=2. |C| X. xcn1 = 1. (2.4). c=1. |C| X. y1c = 1. (2.5). z1c = 1. (2.6). c=1. |C| X c=1. |C| X c=1. yic. −. |C| X. zic = 0 ∀i = 2, . . . , n. (2.7). c=1. xcki ∈ {0, 1} ∀c = 1, . . . , |C|; k = 1, . . . , n; i = 1, . . . , n. (2.8). yic ∈ {0, 1} ∀c = 1, . . . , |C|; i = 1, . . . , n. (2.9). zjc ∈ {0, 1} ∀c = 1, . . . , |C|; j = 1, . . . , n. (2.10). A função objetivo (2.1) soma os custos operacionais incorridos na ordem de visitação dos nós mais as taxas de retorno extra associado com os carros usados. A igualdade (2.2) afirma que cada cidade é visitada em uma única ordem e com exatamente um carro. A igualdade (2.3) afirma que uma ordem genérica de visitação k−n é atribuída para qualquer cidade que não seja a origem 1. Em complemento, a igualdade (2.4) afirma que a origem 1 é o último nó a ser visitado, com um único carro selecionado. Note que cada uma das restrições (2.4-2.6) são específicos para o nó de origem 1, aparecendo assim apenas uma vez no modelo. A restrição (2.5) garante que exatamente um carro é alugado enquanto a restrição (2.6) afirma que exatamente um carro é entregue na cidade de origem 1. Para qualquer outra cidade i − 1, (2.7) afirma que se um carro é alugado, então um carro.

(31) 29. também é devolvido nessa cidade. Dado que, não há relação entre as variáveis xcki e yic (ou zic ), este modelo foi reformulado por Goldbarg et al. (2017).. 2.3.2. Modelo de Programação Inteira Mista - Modelo02. Um modelo para o PCA baseado na formulação para o PCV proposta por Dantzig, Fulkerson e Johnson (1954) foi apresentada por Menezes (2014). Neste contexto, as variác são definidas na Tabela 3. Notar que nas Tabelas 1 e 2 pode-se veis binárias zic , fijc e wij. encontrar a descrição dos parâmetros e as variáveis usadas nesta formulação. Tabela 3: Descrição do significado das variáveis da formulação matemática proposta por Menezes (2014) para o PCA. Var. Descrição fijc Indica se o carro c atravessa a aresta (i, j) de i para j (fijc = 1) ou não (fijc = 0). c Variável binária que indica se o carro c é entregue ao nó i zi (zic = 1) ou não (zic = 0). c wij Indica se o carro c é alugado no nó i e entregue c c = 0). = 1) ou não (wij ao nó j (wij O modelo proposto para o PCA foi o seguinte: min. XX. Dijc fijc +. c Fijc wij. (2.11). c∈C i,j∈V. c∈C i,j∈V. s.t.. XX. XX. c fi,j = 1 ∀i ∈ V. (2.12). c∈C j∈V. XX. c fi,j = 1 ∀j ∈ V. (2.13). c∈C i∈V. X. (fijc + fjic ) ≤ 1 ∀i, j ∈ V, i 6= j. (2.14). c∈C. yic =. X. fijc ·. X. fjic ·. j∈V. zic =. j∈V. XX. fjir ∀k ∈ K, i ∈ V, i 6= j. (2.15). XX. fijr ∀k ∈ K, i ∈ V, i 6= j. (2.16). r∈C, j∈V r6=c. r∈C, j∈V r6=c. c wij = yic · zic ∀c ∈ C, i ∈ V, j ∈ V X y1c = 1 c∈C. (2.17) (2.18).

(32) 30. X. z1c = 1. (2.19). c∈C. XX. xi,j ≤ |S| − 1 ∀S ⊂ N. (2.20). k∈K i,j∈S c fijc , wij , yic , zic ∈ {0, 1}. (2.21). A função objetivo é apresentada em 2.11. Ela inclui o custo de percorrer as rotas com diferentes carros e taxas referentes à devolução dos mesmos. As restrições (2.12) e (2.13) garantem que a rota começa e termina na cidade base, ou seja, o vértice 1. A restrição (2.14) garante que cada vértice é visitado, no máximo, uma vez e se um carro chega ao vértice i, um carro deve deixar esse vértice. As restrições (2.15), (2.16) e (2.18), estão relacionadas ao aluguel e entrega de veículo. A restrição (2.18) garante que um carro é alugado no nó 1. A restrição (2.19) assegura que cada carro locado seja entregue. A restrição (2.20) proíbe a formação de subrota. A restrição (2.21) declara algumas variáveis binárias. Em (GOLDBARG et al., 2017) foi proposta uma formulação com restrições quadráticas baseada neste modelo.. 2.3.3. Modelo de Programação Inteira Mista - Modelo03. Nesta subseção é apresentado o modelo introduzido por Silva e Ochi (2016), que é baseado na formulação Miller-Tucker-Zemlin Traveling Salesman Problem (MTZ-TSP) (MILLER; TUCKER; ZEMLIN, 1960a). Tabela 4: Descrição do significado das variáveis da formulação matemática proposta por Silva e Ochi (2016) para o PCA. var. Descrição xci,j Indica se o caixeiro vai da cidade i para j com o carro c (xci,j = 1) ou não (xci,j = 0). c pi,j Indica se o carro c é alugado em i e devolvido à cidade j (pci,j = 1) ou não (pci,j = 0). acj Indica se o caixeiro chega à cidade j usando o carro c (acj = 1) ou não (acj = 0). dci Indica se o caixeiro deixa a cidade i usando o carro c (dci = 1) ou não (dci = 0). c ri Indica se o caixeiro entrega carro c quando está visitando a cidade i (ric = 1) ou não (ric = 0). wic Indica se o caixeiro aluga o carro c na cidade i (wic = 1) ou não (wic = 0). ui Representa a ordem em que a cidade i é visitada (1 ≤ ui ≤ n − 1 ∀i = 2, . . . , n)..

(33) 31. A Tabela 4 mostra todas as variáveis usadas na formulação de Silva e Ochi (2016). Notar que na Tabela 1 pode-se encontrar a descrição dos parâmetros usados nesta formulação. O modelo proposto para o PCA foi o seguinte:. min. |C| X X. c Di,j. ∗. xci,j. (i,j)∈E c=1. +. |C| XXX. c Fi,j ∗ pci,j. s.t. ui − uj + (n − 1) ∗ xci,j + (n − 3) ∗ xcj,i ≤ n − 2 ∀i, j = 2, . . . , n; i 6= j ∀c ∈ C acj. =. (2.22). i∈V j∈V c=1. n X. (2.23). xci,j ∀j ∈ V ∀c ∈ C. (2.24). acj = 1 ∀j ∈ V. (2.25). xci,j ∀i ∈ V ∀c ∈ C. (2.26). dci = 1 ∀i ∈ V. (2.27). i=1. |C| X c=1. dci. =. n X j=1. |C| X c=1. ric ≥ aci − dci ∀i ∈ V ∀c ∈ C X ric ≤ 1 ∀c ∈ C. (2.28) (2.29). i∈V. wic. ≥ dci − aci ∀i ∈ V ∀c ∈ C X wic ≤ 1 ∀c ∈ C. (2.30) (2.31). i∈V. |c| X. r1c = 1. (2.32). w1c = 1. (2.33). c=1. |c| X c=1. pci,j = wic ∗ rjc ∀i, j = 1, . . . , n ∀c ∈ C. (2.34). A função objetivo (2.22) adiciona os custos de viagem e as taxas extras para devolver os veículos para as cidades onde foram alugados. A restrição (2.23) é adaptada a partir da formulação de Miller-Tucker-Zemlin para o PCV apresentada por Desrochers e Laporte (1991). Restrições (2.24) e (2.25) garantem que cada cidade é visitada apenas uma vez por exatamente um carro. Restrições (2.26) e (2.27) garantem que cada cidade é deixada.

(34) 32. apenas uma vez por exatamente um carro. Restrições (2.28) e (2.30) modelam o aluguel e a entrega de cada carro. Restrições (2.29) e (2.31) garantem que cada carro é alugado apenas uma vez. Restrições (2.32) e (2.33) garantem que um único carro deve ser alugado e entregue à cidade 1. Finalmente, restrição (2.34) define a taxa de retorno que deve ser paga sempre que um carro c é alugado na cidade i e devolvido à cidade j, i 6= j. Este modelo tem evidência de não estar adequadamente formulado, por considerar c erroneamente a relação entre as variáveis pci,j , wi,j e ric . A correção deste modelo é apre-. sentada na subseção 2.3.4.. 2.3.4. Formulações corrigidas propostas para o Modelo03. Tabela 5: Variáveis da formulação apresentada em Silva e Ochi (2016) que criam uma solução inconsistente se forem definidas como 1. var. x31,14 x314,10 x210,12 x212,4 x24,6 x26,11 x211,7 x27,8 x316,2. 3. 3. significado 3 1→ − 14 3 14 → − 10 2 10 → − 12 2 12 → − 4 2 4→ − 6 2 6→ − 11 2 11 → − 7 2 7→ − 8 3 16 → − 2. 2. 2. 3. 3. 2. var. x28,5 x25,24 x224,9 x29,23 x223,18 x318,19 x319,17 x317,21 x32,1. 2. significado 2 8→ − 5 2 5→ − 24 2 24 → − 9 2 9→ − 23 2 23 → − 18 3 18 → − 19 3 19 → − 17 3 17 → − 21 3 2→ − 1. 2. 2. 2. var. x321,20 x320,26 x326,22 x322,25 x325,13 x313,15 x315,3 x33,16. significado 3 21 → − 20 3 20 → − 26 3 26 → − 22 3 22 → − 25 3 25 → − 13 3 13 → − 15 3 15 → − 3 3 3→ − 16. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 1→ − 14 → − 10 → − 12 → − 4→ − 6→ − 11 → − 7→ − 8→ − 5→ − 24 → − 9→ − 23 → − 18 → − 19 → − 3. 3. 3. 3. 3. 17 → − 21 → − 20 → − 26 → − 22 → − 25 → − 13 → − 15 → − 3→ − 16 → − 2→ − 1 Figura 1: Solução inconsistente da formulação matemática proposta em Silva e Ochi (2016). De acordo com a definição do PCA em Silva e Ochi (2016), o caixeiro deve começar e terminar a excursão na cidade 1. Portanto, as taxas de retorno pagas devem ser calculadas considerando a cidade 1 como a primeira cidade no tour. A ausência de restrições em pci,j pode levar a um valor ótimo errado. Será dado um exemplo para ilustrar os problemas da formulação. Tabela 5 mostra as variáveis de uma solução inconsistente da formulação apresentada em Silva e Ochi (2016). Na instância BrasilAM26n da biblioteca CArSLIB,.

(35) 33. por exemplo, suponha que na Tabela 5 as variáveis são todas iguais a 1, que corresponde à solução na Figura 1. Embora satisfaça todas as restrições da formulação, é claramente inconsistente. O carro 3 é alugado duas vezes (cidades 1 e 18). Além disso, a solução gerada pela formulação matemática de Silva e Ochi (2016) tem valor igual a 201, que é contraditoriamente inferior ao valor ótimo (202). Nossos experimentos confirmaram esses valores ótimos evidenciando que algumas restrições estão faltando nesse trabalho. ric e wic são a causa do problema, o valor de pci,j depende dessas variáveis, e as taxas de retorno 3 2 indicam que os carros 2 e 3 são e r10 pagas dependem de pci,j . No exemplo, as variáveis r18. devolvidos para suas cidades de origem nas cidades 18 e 10, respectivamente. Variáveis 3 2 w10 e w18 indicam que o carro 2 e 3 são alugados nas cidades 10 e 18, respectivamente.. pci,j é erroneamente calculado na restrição (2.34), as taxas de retorno pagas são calculadas somente considerando carros alugados nas cidades 10 e 18, sem considerar a cidade 1 como a primeira cidade para alugar um carro no tour. Além disso, ric e wic mostram um comportamento estranho no mesmo exemplo, as variáveis r11 e w11 são iguais a 1, não obstante, o carro de tipo 1 não foi alugado no tour. Devido ao mau relacionamento entre ric e wic no PCA, as restrições (2.28) e (2.30) no modelo original (SILVA; OCHI, 2016) são incorretas. Em consequência, o modelo original admite soluções inconsistentes que permite o aluguel do mesmo tipo de carro mais de uma vez no tour. Para corrigir o Modelo03 são propostos dois modelos, a saber: a primeira proposta de correção, na subseção 2.3.4.1, e a segunda proposta de correção, na subseção 2.3.4.2. 2.3.4.1. Primeira proposta de correção - Modelo04. A correção da formulação é apresentada de (2.35) a (2.53). min. |C| X X. c Di,j. (i,j)∈E c=1. ∗. xci,j. +. |C| XXX. c Fi,j ∗ pci,j. i∈V j∈V c=1. s.t. ui − uj + (n − 1) ∗ xci,j + (n − 3) ∗ xcj,i ≤ n − 2 ∀i, j = 2, . . . , n; i 6= j ∀c ∈ C acj. =. (2.35). n X. xci,j ∀j ∈ V ∀c ∈ C. (2.36). (2.37). i=1,i6=j |C| X c=1. acj = 1 ∀j ∈ V. (2.38).

(36) 34. dci. =. n X. xci,j ∀i ∈ V ∀c ∈ C. (2.39). j=1,j6=i |C| X. dci = 1 ∀i ∈ V. (2.40). c=1. ric ≤ aci ∀i ∈ V ∀c ∈ C. (2.41). ric ≤ 1 − dci ∀i ∈ V ∀c ∈ C. (2.42). ric ≥ aci − dci ∀i ∈ V ∀c ∈ C X ric ≤ 1 ∀c ∈ C. (2.43). wic ≤ 1 − aci ∀i ∈ V ∀c ∈ C. (2.46). wic ≥ dci − aci ∀i ∈ V ∀c ∈ C X wic ≤ 1 ∀c ∈ C. (2.47). (2.44). i∈V. wic. ≤ dci ∀i ∈ V ∀c ∈ C. (2.45). (2.48). i∈V. |C| X. r1c = 1. (2.49). w1c = 1. (2.50). c=1. |C| X c=1. pci,j ≤ wic ∀i, j = 1, . . . , n ∀c ∈ C. (2.51). pci,j ≤ rjc ∀i, j = 1, . . . , n ∀c ∈ C. (2.52). pci,j ≥ wic + rjc − 1 ∀i, j = 1, . . . , n ∀c ∈ C. (2.53). A formulação (2.35) a (2.53) incorpora quatro alterações ao modelo de da Silva e Ochi. Primeiro, a restrição (2.24) é substituída pela (2.37). Segundo, a restrição (2.26) é substituída pela (2.39). Nas duas primeiras mudanças, evitamos que a solução ótima tome o valor zero com i 6= j. Terceiro, a restrição (2.28) é substituída pela restrição (2.54). Quarto, a restrição (2.30) e substituída pela (2.55).. ric = aci · (1 − dci ) ∀i ∈ V ∀c ∈ C. (2.54). wic = dci · (1 − aci ) ∀i ∈ V ∀c ∈ C. (2.55). Na Tabela 6, todas as combinações possíveis das variáveis binárias de decisão aci e dci.

(37) 35. Tabela 6: Valores da variável de decisão binária ric na restrição (2.28) do modelo original e restrição (2.54) do modelo corrigido. aci. dci. 0 0 1 1. 0 1 0 1. Modelo original ric ≥ aci − dci 0|1 0|1 1 0|1. Modelo corrigido ric = aci (1 − dci ) 0 0 1 0. são mostradas, para verificar a restrição (2.28). 1. Se o caixeiro não chegar à cidade i usando o carro c e não partir da cidade i usando o mesmo carro c (i.e. se aci = 0 e dci = 0), por definição de PCA, a restrição correta forçará ao caixeiro não retornar o carro c quando visitar i (ric = 0); entretanto, a restrição (2.28) permite um comportamento ambíguo ric (1 or 0). 2. Se o caixeiro não chegar à cidade i usando o carro c e partir da cidade i usando o mesmo carro c (i.e. se aci = 0 e dci = 1), por definição de PCA, a restrição correta forçará ao caixeiro a não devolver o carro c quando visitar i (ric = 0); entretanto, restrição (2.28) permite um comportamento ambíguo ric (1 or 0) mais uma vez. 3. Se o caixeiro chegar à cidade i usando o carro c e não partir da cidade i usando o mesmo carro c (i.e. se aci = 1 e dci = 0), por definição de PCA, a restrição correta vai forçar ao caixeiro retornar o carro c quando visitar i (ric = 1). 4. Se o caixeiro chegar à cidade i usando o carro c e partir da cidade i usando o mesmo carro c (i.e. se aci = 1 e dci = 1), por definição de PCA, a restrição correta forçará ao caixeiro não retornar o carro c quando visitar i (ric = 0); entretanto, restrição (2.28) permite um comportamento ambíguo ric (1 or 0) novamente. A Tabela 7 é usada para verificar a restrição (2.30), ela mostra os valores da variável wic na restrição (2.30) do modelo original e a restrição (2.55) do modelo corrigido. Para explicar a terceira alteração, quando (2.28) é substituída pela restrição (2.54), usamos a Tabela 6. O mesmo raciocínio se aplica para explicar a quarta alteração, quando a restrição (2.30) é substituída pela restrição (2.55), neste caso, usamos a Tabela 7. As restrições (2.54) e (2.55) apresentadas são quadráticas e suas variáveis são binárias. Para contornar esse problema, aplica-se a conhecida técnica de linearização proposta por Fortet (1960) e reformulada por Glover e Woolsey (1974) onde o produto de duas variáveis.

(38) 36. Tabela 7: Valores da variável de decisão binária wic na restrição (2.30) do modelo original e restrição (2.55) do modelo corrigido. aci. dci. 0 0 1 1. 0 1 0 1. Modelo original wic ≥ dci − aci 0|1 1 0|1 0|1. Modelo corrigido wic = dci (1 − aci ) 0 1 0 0. binárias (restrição não linear), como em (2.56), pode ser linearizado e substituído pelo conjunto de equações (2.57)-(2.60).. d3 = d1 × d2. (2.56). d3 ≤ d1. (2.57). d3 ≤ d2. (2.58). d3 ≥ d1 + d2 − 1. (2.59). d1 , d2 , d3 ∈ {0, 1}. (2.60). Utilizamos esta técnica de linearização nas restrições (2.54) e (2.55). No caso das restrições (2.54) d3 = ric , d1 = aci e d2 = (1 − dci ). Do mesmo modo, na restrição (2.55) d3 = wic , d1 = dci e d2 = (1−aci ). Assim, as restrições (2.54) e (2.55) podem ser substituídas por (2.41)-(2.43) e (2.45)-(2.47), respectivamente. Em resumo: restrição (2.28) é substituída pela restrição (2.54), essa última é linearizada e substituída por (2.41)-(2.43). Algo semelhante acontece com a restrição(2.30), que é substituída pela restrição (2.55), então (2.55) é linearizada e substituída por (2.45)(2.47). Além disso, a restrição (2.34) do problema original é linearizada e substituída por (2.51)-(2.53). 2.3.4.2. Segunda proposta de correção - Modelo05. Para corrigir o Modelo04, propõe-se um segundo modelo. A nova formulação incorpora 4 mudanças. Primeiro, as restrições (2.24) e (2.26) são substituídas pelas restrições (2.61) e (2.62), respectivamente. Essas duas mudanças incluem a condição i 6= j para os somatórios, impedindo que a solução ótima seja igual a zero. Em segundo lugar, as restrições (2.28) e (2.30) são substituídas pelas equações (2.63) e (2.64), respectivamente..

(39) 37. As duas últimas mudanças são baseadas no modelo DFJ proposto por Goldbarg et al. (2017).. acj. n X. =. xci,j ∀j ∈ V ∀c ∈ C. (2.61). xci,j ∀i ∈ V ∀c ∈ C. (2.62). i=1,i6=j n X. dci =. j=1,j6=i. ric =. xcji. X. xcij. j∈N. wic. =. !. X. j∈N. ∀c ∈ C, ∀i ∈ N. (2.63). !. ∀c ∈ C, ∀i ∈ N. (2.64). xih. XX. xchi. c′ ∈C, c′ 6=c. !. !. XX. c′. h∈N. c′ ∈C, h∈N c′ 6=c. Por razões didáticas, são usadas 4 novas variáveis para explicar as equações (2.63) e (2.64) (duas variáveis para cada equação). Na equação (2.63), ric pode ser representada ′. c , onde: como o produto de Acj,i e Bi,h. Acj,i =. X. xcji. j∈N. ′. c Bi,h =. XX. !. xchi. c′ ∈C, h∈N c′ 6=c. (2.65). !. (2.66). ′. c também são variáveis binárias. Acj,i , indica Como ric é uma variável binária, Acj,i e Bi,h ′. c se o carro c viaja da cidade j para a cidade i (Acj,i = 1) ou não (Acj,i = 0). Bi,h , indica se ′. ′. c c = 0), onde o carro c′ é diferente = 1) ou não (Bi,h o carro c′ viaja da cidade i para h (Bi,h. do carro usado pelo caixeiro para chegar à cidade i. A Tabela 8 mostra os valores da variável ric nas restrições (2.28) e (2.63). Ela é usada para explicar algumas mudanças desta nova formulação. Na Tabela 8, todas as combinações possíveis das variáveis para as restrições (2.28) e (2.63) são mostradas. Essas combinações tornam claros os efeitos da restrição (2.28) na formulação matemática original, como mostrado nos itens 1 a 4 a seguir. 1. Se o caixeiro não chegar à cidade i usando o carro c (Acj,i = 0 ou aci = 0) e sair da.

(40) 38. Tabela 8: Valores da variável de decisão binária ric na restrição (2.28) do modelo original e restrição (2.63) do modelo corrigido. Modelo original Modelo Corrigido c′ c c c c c c c′ ric = Acj,i · Bi,h ai di ri ≥ ai − di Aj,i Bi,h 0 0 0|1 0 1 0 0 1 0|1 0 0 0 1 0 1 1 1 1 1 1 0|1 1 0 0 ′. c cidade i usando o carro c′ (Bi,h = 1 ou dci = 0), pela definição de PCA, a restrição. correta forçará ao caixeiro a não devolver o carro c ao visitar i (ric = 0). No entanto, restrição (2.28) permite um comportamento ambíguo de ric (1 or 0). 2. Se o caixeiro não chegar à cidade i usando o carro c (Acj,i = 0 or aci = 0) e não ′. c sair da cidade i usando o carro c′ (Bi,h = 0 ou dci = 1), pela definição de PCA, a. restrição correta forçará ao caixeiro a não devolver o carro c ao visitar i (ric = 0). No entanto, restrição (2.28) permite um comportamento ambíguo de ric (1 or 0). 3. Se o caixeiro chegar à cidade i usando o carro c (Acj,i = 1 or aci = 1) e sair da cidade ′. c = 1 or dci = 0), pela definição de PCA, a restrição correta i usando o carro c′ (Bi,h. obriga ao caixeiro a retornar o carro c ao visitar i (ric = 1). 4. Se o caixeiro chegar à cidade i usando o carro c (Acj,i = 1 or aci = 1) e não sair da ′. c = 0 or dci = 1), pela definição de PCA, a restrição cidade i usando o carro c′ (Bi,h. correta forçará ao caixeiro a não devolver o carro c ao visitar i (ric = 0). No entanto, restrição (2.28) permite um comportamento ambíguo de ric (1 or 0). ′. c é equivalente a dci , assim como, Acj,i é a aci . Em relação à equação Observe que 1 − Bi,h ′. c c , onde: e Mh,j (2.64), wic pode ser representada como o produto de Ei,j. c = Ei,j. X. xcij. j∈N. c′ Mh,j. =. XX. c′ ∈C, h∈N c′ 6=c. ! xchi. (2.67) !. (2.68). c c Ei,j , indica se existe um carro c viajando da cidade i para a cidade j (Ei,j = 1) ou ′. c c não (Ei,j = 0). Mh,j , indica se existe um carro c′ viajando da cidade h para a cidade j ′. ′. c c = 0), onde o carro c′ é diferente do carro com o qual o caixeiro = 1) ou não (Mh,j (Mh,j. chega à cidade i..

Referências

Documentos relacionados

Para o ferro puro foi utilizado uma camada de entrada com 4 neurônios (um para cada classe de dados de entrada – temperatura, tempo, diâmetro inicial de grão e

Após elaborar o texto, em resposta à atividade proposta, verifique se ele contém os seguintes aspectos: a relação entre fixos e fluxos, que elementos você considerou

Após este fenômeno, o óleo começa a impor resistência, devidos às altas frequências, assim, a rigidez dinâmica não cai muito, e aos poucos o amortecimento vai diminuindo, pois,

Este artigo apresentou uma nova abordagem para o Problema do Caixeiro Alugador, usando uma metodologia baseada na metaheur´ıstica Iterated Local Search com uma busca local

Mesmo com suas ativas participações na luta política, as mulheres militantes carregavam consigo o signo do preconceito existente para com elas por parte não somente dos militares,

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Hoje o gasto com a saúde equivale a aproximada- mente 8% do Produto Interno Bruto (PIB), sendo que, dessa porcentagem, o setor privado gasta mais que o setor público (Portal

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para