• Nenhum resultado encontrado

Análise experimental de variações da heurística de Lin e Kernighan para o problema do caixeiro viajante multiobjetivo

N/A
N/A
Protected

Academic year: 2021

Share "Análise experimental de variações da heurística de Lin e Kernighan para o problema do caixeiro viajante multiobjetivo"

Copied!
131
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. Análise Experimental de Variações da Heurística de Lin e Kernighan para o Problema do Caixeiro Viajante Multiobjetivo. Emerson Bezerra de Carvalho. Natal-RN Julho de 2017.

(2) Emerson Bezerra de Carvalho. Análise Experimental de Variações da Heurística de Lin e Kernighan para o Problema do Caixeiro Viajante Multiobjetivo. 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 para a obtenção do grau de Mestre em Sistemas e Computação. Linha de pesquisa: Algoritmos Experimentais. Orientador. Profa . Dra. 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 Julho de 2017.

(3) Catalogação da Publicação na Fonte. UFRN / SISBI / Biblioteca Setorial Especializada do Centro de Ciências Exatas e da Terra – CCET.. Carvalho, Emerson Bezerra de. Análise experimental de variações da heurística de Lin e Kernighan para o problema do caixeiro viajante multiobjetivo / Emerson Bezerra de Carvalho. – Natal, RN, 2017. 130f. : il. Orientadora: Elizabeth Ferreira Gouvêa Goldbarg. Dissertação (mestrado) – Universidade Federal do Rio Grande do Norte. Centro de Ciências Exatas e da Terra. Departamento de Informática e Matemática Aplicada. Programa de Pós-Graduação em Sistemas e Computação. 1. Algoritmos experimentais. 2. Problema do caixeiro viajante. 3. Lin e Kernighan. 4. Multiobjetivo. 5. PCVM. I. Goldbarg, Elizabeth Ferreira Gouvêa. II. Título. RN/UF/BSE-CCET. CDU 004.021.

(4) Dissertação de Mestrado sob o título Análise Experimental de Variações da Heurística de Lin e Kernighan para o Problema do Caixeiro Viajante Multiobjetivo apresentada por Emerson Bezerra de Carvalho e aceita pelo Programa de Pós-Graduação em Sistemas e Computação do Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio Grande do Norte, sendo aprovada por todos os membros da banca examinadora abaixo especificada:. Profa . Dra. Elizabeth Ferreira Gouvêa Goldbarg Presidente DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte. Prof. Dr. Marco Cesar Goldbarg DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte. Profa . Dra. Silvia Maria Diniz Monteiro Maia DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte. Profa . Dra. Carolina Paula de Almeida Departamento de Ciência da Computação UNICENTRO - Universidade Estadual do Centro-oeste. Natal-RN, 24 de julho de 2017.

(5) Aos meus pais, irmão, avós e noiva, os grandes pilares de minha vida..

(6) Agradecimentos Primeiramente gostaria de agradecer a Deus pai todo poderoso, que me guiou durante toda caminhada. E a Maria santíssima que sempre intercedeu por mim. Aos meus avós Osvaldo e Filomena, que me acolheram com carinho em seu lar e me aturam por tanto tempo. A minha avó Severina, que mesmo distante sei que torce por mim. A meu avô José Araújo (in memoriam), que Deus o guarde em um bom lugar. A minha mãe Rosineide que sempre me apoiou, torceu por mim, e me deu muito amor e carinho, coisas que só uma verdadeira mãe pode dar. Ao meu pai Ednaldo que sempre me aconselhou a continuar e nunca desistir, me dando as oportunidades que ele não pôde ter. Ao meu primo e irmão Jhonnata. Obrigado por tudo, sem seu apoio eu não teria conseguido. Aos meus irmão Elaine e Eric, amo vocês. A minha noiva Rafaela. É indescritível a sua importância em minha vida, você sempre esteve ao meu lado quando eu mais precisei. Te amo! Aos meus amigos, obrigado pela amizade de vocês. Agradeço a professora Elizabeth, por aceitar o convite para me orientar, e me guiar neste trabalho. Espero que este seja só mais um, nos muitos que ainda virão. Agradeço também aos professores Marco, Sílvia e Carolina , que aceitaram o convite para participar da banca..

(7) A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original. Albert Einstein.

(8) Análise Experimental de Variações da Heurística de Lin e Kernighan para o Problema do Caixeiro Viajante Multiobjetivo. Autor: Emerson Bezerra de Carvalho Orientador(a): Profa . Dra. Elizabeth Ferreira Gouvêa Goldbarg. Resumo A heurística de Lin e Kernighan (LK) é um dos métodos mais eficientes para o Problema do Caixeiro Viajante (PCV). Devido a este fato, diferentes implementações para a LK foram propostas na literatura e esta heurística é também usada como parte de diversos algoritmos meta-heurísticos. A heurística LK tem sido utilizada no contexto do PCV multiobjetivo (PCVM) conforme proposta originalmente por seus autores, isto é, com o foco mono-objetivo. Este trabalho investiga a extensão da heurística LK no contexto multiobjetivo. É investigado o potencial de extensões da LK combinadas com outras técnicas meta-heurísticas. Resultados de um experimento computacional para instâncias do PCVM com 2, 3 e 4 objetivos são reportados. Palavras-chave: Problema do caixeiro viajante, Lin e Kernighan, Multiobjetivo, PCVM..

(9) Experimental Analisy of Variants of the Lin and Kernighan’s heuristic for the Multi-objective Traveling Salesman Problem. Author: Emerson Bezerra de Carvalho Supervisor: Profa . Dra. Elizabeth Ferreira Gouvêa Goldbarg. Abstract The Lin and Kernighan’s heuristic (LK) is one of the most effective methods for the Traveling Salesman Problem (TSP). Due to this fact, different implementations for the LK were proposed in literature and this heuristic is also used as part of various meta-heuristic algorithms. LK has been used in the context of the multi-objective TSP (MTSP) as originally proposed by its authors, i.e., with a single objective focus. This study investigates variants of the LK heuristic in the multi-objective context. We investigate the potential of LK extensions combined with other metaheuristic techniques. Results of a computational experimental are reported for MTSP instances with 2, 3 and 4 objectives. Keywords: Traveling Salesman Problem, MTSP, Lin and Kernighan, Multiobjective..

(10) Lista de figuras 1. Movimentos da busca local para o melhoramento do caminho. . . . . .. 2. Gráfico boxplot do grupo das variantes de duas fases para a instância kroAB100 segundo o indicador de qualidade IH. . . . . . . . . . . . . .. 3. p. 40. Gráfico boxplot do grupo das variantes de duas fases para a instância kroAB100 segundo o tempo de execução. . . . . . . . . . . . . . . . . .. 5. p. 39. Gráfico boxplot do grupo das variantes de duas fases para a instância kroAB100 segundo o indicador de qualidade Iε+ . . . . . . . . . . . . . .. 4. p. 29. p. 41. Gráfico boxplot do grupo das variantes de duas fases para as instâncias kroABC100(na linha superior) e kroABCD100(na linha inferior) segundo o IH(esquerda) e Iε+ (direita). . . . . . . . . . . . . . . . . . . . . . . .. 6. p. 41. Gráfico boxplot do grupo das variantes de duas fases para a instância kroABC100(esquerda) e kroABCD100(direita) segundo o tempo de execução. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. p. 42. Gráfico boxplot do grupo das variantes de duas fases mais as variantes com esquema dicotômico . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 43. 8. Gráfico boxplot das variantes que utilizam o esquema dicotômico . . . .. p. 44. 9. Gráfico boxplot das variantes GRASP . . . . . . . . . . . . . . . . . . .. p. 45. 10. Gráfico boxplot das variantes MPAES . . . . . . . . . . . . . . . . . . .. p. 46. 11. Gráfico boxplot das variantes NSGA-II . . . . . . . . . . . . . . . . . .. p. 47. 12. Porção do espaço objetivo delimitado entre a fronteira de Pareto e um ponto de referência . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 127.

(11) Lista de tabelas 1. Variantes com duas fases . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 32. 2. Variantes com duas fases que utilizam o esquema dicotômico . . . . . .. p. 33. 3. Variantes com meta-heurísticas . . . . . . . . . . . . . . . . . . . . . .. p. 34. 4. Instâncias Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 36. 5. Parâmetros para as Meta-heurísticas . . . . . . . . . . . . . . . . . . .. p. 38. 6. Tabela descritiva para as variantes com duas fases, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 6. Tabela descritiva para as variantes com duas fases, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 6. p. 60. Tabela descritiva para as variantes com duas fases, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . .. 9. p. 59. Tabela descritiva para as variantes com duas fases, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . .. 8. p. 58. Tabela descritiva para as variantes com duas fases, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . .. 8. p. 57. Tabela descritiva para as variantes com duas fases, segundo o Iε+ , para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 8. p. 56. Tabela descritiva para as variantes com duas fases, segundo o Iε+ , para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 7. p. 55. Tabela descritiva para as variantes com duas fases, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 7. p. 54. p. 61. Tabela descritiva para as variantes com duas fases, segundo o IH, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. p. 62.

(12) 10. Tabela descritiva para as variantes com duas fases, segundo o IH, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 11. Tabela descritiva para as variantes com duas fases, segundo o Iε+ , para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 12. p. 75. Tabela descritiva para as variantes do GRASP, segundo o Tempo, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 24. p. 74. Tabela descritiva para as variantes do GRASP, segundo o Iε+ , para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 23. p. 73. Tabela descritiva para as variantes do GRASP, segundo o IH, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 22. p. 72. Tabela descritiva para as variantes do GRASP, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 21. p. 71. Tabela descritiva para as variantes do GRASP, segundo o Iε+ , para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 20. p. 70. Tabela descritiva para as variantes do GRASP, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 19. p. 69. Tabela descritiva para variantes com busca dicotômica, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . .. 18. p. 68. Tabela descritiva para variantes com busca dicotômica, segundo o Iε+ , para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . .. 17. p. 67. Tabela descritiva para variantes com busca dicotômica, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . .. 16. p. 66. Tabela descritiva para as variantes com duas fases, segundo o Tempo, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . .. 15. p. 65. Tabela descritiva para as variantes com duas fases, segundo o Tempo, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . .. 14. p. 64. Tabela descritiva para as variantes com duas fases, segundo o Iε+ , para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 13. p. 63. p. 76. Tabela descritiva para as variantes do GRASP, segundo o IH, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. p. 77.

(13) 25. Tabela descritiva para as variantes do GRASP, segundo o Iε+ , para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 26. Tabela descritiva para as variantes do GRASP, segundo o Tempo, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 27. p. 87. Tabela descritiva para as variantes do MPAES, segundo o Tempo, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 36. p. 87. Tabela descritiva para as variantes do MPAES, segundo o Iε+ , para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 35. p. 86. Tabela descritiva para as variantes do MPAES, segundo o IH, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 34. p. 85. Tabela descritiva para as variantes do MPAES, segundo o Tempo, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 33. p. 84. Tabela descritiva para as variantes do MPAES, segundo o Iε+ , para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 32. p. 83. Tabela descritiva para as variantes do MPAES, segundo o IH, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 31. p. 82. Tabela descritiva para as variantes do MPAES, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 30. p. 81. Tabela descritiva para as variantes do MPAES, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 29. p. 80. Tabela descritiva para as variantes do MPAES, segundo o Iε+ , para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 29. p. 79. Tabela descritiva para as variantes do MPAES, segundo o Iε+ , para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 28. p. 78. Tabela descritiva para as variantes do MPAES, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 28. p. 77. Tabela descritiva para as variantes do MPAES, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 27. p. 77. p. 87. Tabela descritiva para as variantes do NSGA-II, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. p. 88.

(14) 36. Tabela descritiva para as variantes do NSGA-II, segundo o IH, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 37. Tabela descritiva para as variantes do NSGA-II, segundo o Iε+ , para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 37. p. 100. Tabela comparativa para as variantes com duas fases, segundo o Iε+ , para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 46. p. 99. Tabela comparativa para as variantes com duas fases, segundo o IH, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 46. p. 97. Tabela comparativa para as variantes com duas fases, segundo o IH, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 45. p. 97. Tabela descritiva para as variantes do NSGA-II, segundo o Tempo, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 45. p. 97. Tabela descritiva para as variantes do NSGA-II, segundo o Iε+ , para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 44. p. 96. Tabela descritiva para as variantes do NSGA-II, segundo o IH, para as instâncias com 4 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 43. p. 95. Tabela descritiva para as variantes do NSGA-II, segundo o Tempo, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 42. p. 94. Tabela descritiva para as variantes do NSGA-II, segundo o Iε+ , para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 41. p. 93. Tabela descritiva para as variantes do NSGA-II, segundo o IH, para as instâncias com 3 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 40. p. 92. Tabela descritiva para as variantes do NSGA-II, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 39. p. 91. Tabela descritiva para as variantes do NSGA-II, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 38. p. 90. Tabela descritiva para as variantes do NSGA-II, segundo o Iε+ , para as instâncias com 2 objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 38. p. 89. p. 101. Tabela comparativa para as variantes com duas fases, segundo o Iε+ , para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. p. 102.

(15) 47. Tabela comparativa para as variantes com duas fases, segundo o Tempo para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . .. 47. Tabela comparativa para as variantes com duas fases, segundo o Tempo para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . .. 48. p. 111. Tabela comparativa para as variantes do GRASP, segundo o Tempo, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 60. p. 110. Tabela comparativa para as variantes do GRASP, segundo o Iε+ , para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 59. p. 109. Tabela comparativa para as variantes do GRASP, segundo o IH, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 58. p. 108. Tabela comparativa para variantes com busca dicotômica, segundo o Tempo, para as instâncias com 2 objetivos . . . . . . . . . . . . . . . .. 57. p. 108. Tabela comparativa para variantes com busca dicotômica, segundo o Iε+ , para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . .. 56. p. 107. Tabela comparativa para variantes com busca dicotômica, segundo o IH, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . .. 55. p. 107. Tabela comparativa para as variantes com duas fases, segundo o Tempo, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . .. 54. p. 106. Tabela comparativa para as variantes com duas fases, segundo o Tempo, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . .. 53. p. 106. Tabela comparativa para as variantes com duas fases, segundo o Iε+ , para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 52. p. 105. Tabela comparativa para as variantes com duas fases, segundo o Iε+ , para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 51. p. 105. Tabela comparativa para as variantes com duas fases, segundo o IH, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 50. p. 104. Tabela comparativa para as variantes com duas fases, segundo o IH, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 49. p. 103. p. 112. Tabela comparativa para as variantes do GRASP, segundo o IH, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. p. 112.

(16) 61. Tabela comparativa para as variantes do GRASP, segundo o Iε+ , para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 62. Tabela comparativa para as variantes do GRASP, segundo o Tempo, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 63. p. 118. Tabela comparativa para as variantes do MPAES, segundo o Tempo, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . .. 75. p. 118. Tabela comparativa para as variantes do MPAES, segundo o Iε+ , para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 74. p. 118. Tabela comparativa para as variantes do MPAES, segundo o IH, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 73. p. 117. Tabela comparativa para as variantes do MPAES, segundo o Tempo, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . .. 72. p. 117. Tabela comparativa para as variantes do MPAES, segundo o Iε+ , para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 71. p. 116. Tabela comparativa para as variantes do MPAES, segundo o IH, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 70. p. 115. Tabela comparativa para as variantes do MPAES, segundo o Tempo, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . .. 69. p. 114. Tabela comparativa para as variantes do MPAES, segundo o Iε+ , para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 68. p. 114. Tabela comparativa para as variantes do MPAES, segundo o IH, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 67. p. 113. Tabela comparativa para as variantes do GRASP, segundo o Tempo, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 66. p. 113. Tabela comparativa para as variantes do GRASP, segundo o Iε+ , para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 65. p. 113. Tabela comparativa para as variantes do GRASP, segundo o IH, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . . .. 64. p. 113. p. 118. Tabela comparativa para as variantes do NSGA-II, segundo o IH, para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. p. 119.

(17) 76. Tabela comparativa para as variantes do NSGA-II, segundo o Iε+ , para as instâncias com 2-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 77. Tabela comparativa para as variantes do NSGA-II, segundo o Tempo, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . .. 78. 84. p. 123. Tabela comparativa para as variantes do NSGA-II, segundo o Iε+ , para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 83. p. 123. Tabela comparativa para as variantes do NSGA-II, segundo o IH, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 82. p. 122. Tabela comparativa para as variantes do NSGA-II, segundo o Tempo, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . .. 81. p. 122. Tabela comparativa para as variantes do NSGA-II, segundo o Iε+ , para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 80. p. 121. Tabela comparativa para as variantes do NSGA-II, segundo o IH, para as instâncias com 3-objetivos . . . . . . . . . . . . . . . . . . . . . . . .. 79. p. 120. p. 123. Tabela comparativa para as variantes do NSGA-II, segundo o Tempo, para as instâncias com 4-objetivos . . . . . . . . . . . . . . . . . . . . .. p. 123. Relação de dominância entre conjunto de soluções. p. 126. . . . . . . . . . . ..

(18) Lista de abreviaturas e siglas PCV – Problema do Caixeiro Viajante PCVM – PCV Multiobjetivo TPLS – Two-Phase Local Search PLS – Pareto Local Search LK – Lin and Kernighan LKM – Lin Kernighan Multiobjetivo PLS – Pareto Local Search IH – Indicador Hipervolume Iε+ – Epsilon Aditivo POM – Problemas de Otimização Multiobjetivo.

(19) Sumário. 1 Introdução. p. 19. 1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 20. 1.2. Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 20. 1.3. Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 20. 1.4. Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 20. 1.5. Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 21. 2 Problema do Caixeiro Viajante Multiobjetivo. p. 22. 2.1. Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 22. 2.2. Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 23. 3 Heurística de Lin e Kernighan e Variações para o caso Multiobjetivo. p. 27. 3.1. Algoritmo de Lin e Kernighan . . . . . . . . . . . . . . . . . . . . . . .. p. 27. 3.2. Adaptação Multiobjetivo do LK . . . . . . . . . . . . . . . . . . . . . .. p. 29. 3.3. Variantes Propostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 31. 3.3.1. Variantes com Duas Fases . . . . . . . . . . . . . . . . . . . . .. p. 31. 3.3.2. Variantes com Busca Dicotômica . . . . . . . . . . . . . . . . .. p. 32. 3.3.3. Variantes com Meta-Heurísticas . . . . . . . . . . . . . . . . . .. p. 33. 4 Experimentos Computacionais 4.1. p. 35. Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 35. 4.1.1. p. 36. Indicadores de Qualidade . . . . . . . . . . . . . . . . . . . . . ..

(20) 4.2. 4.1.2. Teste Estatístico . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 37. 4.1.3. Critério de Parada e Parâmetros . . . . . . . . . . . . . . . . . .. p. 37. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 39. 4.2.1. Variantes de Duas Fases . . . . . . . . . . . . . . . . . . . . . .. p. 39. 4.2.2. Variantes de Duas Fases com Esquema Dicotômico . . . . . . .. p. 42. 4.2.3. Variantes Meta-Heurísticas . . . . . . . . . . . . . . . . . . . . .. p. 43. 5 Considerações finais. p. 48. Referências. p. 49. Apêndice A -- Tabelas Descritivas. p. 53. Apêndice B -- Tabelas Comparativas. p. 98. Anexo A -- Problemas de Otimização Multiobjetivo e Indicadores de qualidade. p. 124. A.1 Problemas de Otimização Multiobjetivo . . . . . . . . . . . . . . . . . .. p. 124. A.2 Indicador Hipervolume . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 126. A.3 Indicador Épsilon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 127.

(21) 20. 1. Introdução. O Problema do Caixeiro Viajante (PCV) é um problema de otimização combinatória que possui diversas aplicações, relações com outros problemas e inúmeras variantes (GOLDBARG; GOLDBARG, 2012). É um problema NP-difícil (GAREY; JOHNSON, 1979) que consiste em um caixeiro que deseja visitar um conjunto de cidades, partindo de uma determinada cidade e terminando seu trajeto na mesma cidade. O desafio do problema é minimizar este trajeto, respeitando a regra de que o caixeiro só deve passar em cada umas das outras cidades uma única vez. O PCV multiobjetivo (PCVM) é uma generalização do PCV que busca otimizar simultaneamente vários objetivos. Como exemplo, pode-se ilustrar um contexto no qual o caixeiro precisa minimizar o custo do percurso e a distância gastando o mínimo de tempo possível. Diversos trabalhos já foram propostos para o PCVM. Dentre eles, existem aqueles que possuem abordagens exatas (FISCHER; RICHTER, 1982); (FLORIOS; MAVROTAS, 2014), abordagens evolucionárias (JASZKIEWICZ; ZIELNIEWICZ, 2009); (PENG; ZHANG; LI, 2009); (ELAOUD; TEGHEM; LOUKIL, 2010) e abordagens de busca local (PAQUETE; STÜTZLE, 2003); (PAQUETE; CHIARANDINI; STÜTZLE, 2004); (LUST; TEGHEM, 2010a). Uma das heurísticas mais eficientes para o PCV foi proposta por Lin e Kernighan (1973) (LK), e duas de suas principais implementações foram propostas por Helsgaun (2000) e por Applegate, Cook e Rohe (2003). Entretanto, até onde sabe o autor, tal heurística não havia sido pensada no contexto multiobjetivo. Apesar de existir um trabalho que utiliza o LK como parte de uma proposta para a resolução do PCVM (LUST; TEGHEM, 2010a), neste trabalho fez-se necessária a utilização da técnica de agregação de objetivos para ser possível utilizar o LK em sua forma original, ou seja, em sua forma mono-objetivo..

(22) 21. 1.1. Objetivo. O objetivo deste trabalho é propor uma adaptação do algoritmo LK para o contexto multiobjetivo, o LK multiobjetivo (LKM), e verificar sua eficiência em conjunto com técnicas já conhecidas na literatura para a resolução do PCVM.. 1.2. Metodologia. Para o inicio do estudo apresentado neste trabalho, foram feitas diversas pesquisas e estudos do estado arte em busca dos mais variáveis trabalhos que lidam com o PCVM. Durante o processo percebeu-se que não existia uma versão do LK que lidasse com problemas multiobjetivo em sua forma canônica. Foram estudadas formas para adaptar o LK para o contexto multiobjetivo, para a concepção do LKM. Ao todo, foram utilizadas 27 instâncias de tamanho 100, que possuem de 2 a 4 objetivos, e implementadas 23 variantes, entre heurísticas e meta-heurísticas, que podem ou não utilizar o LKM.. 1.3. Motivação. Desde os anos 70, os problemas multiobjetivo tornaram-se um importante campo de pesquisa operacional. Existem diversas técnicas para resolução de problemas multiobjetivo (agregação de objetivos, hierarquia de objetivos, etc) (LUST; TEGHEM, 2010a). O PCV certamente é um dos problemas mais conhecidos da pesquisa operacional, uma das heurísticas mais eficientes para ele é a LK, mas até onde sabe o autor, não existe uma proposta multi-objetivo para o LK. O fato desta heurística ser tão boa para o seu propósito motivou o autor realizar a extensão do LK para a resolução do PCVM.. 1.4. Contribuições. Este trabalho deixa como contribuição o LKM, uma nova versão para a heurística LK, que é sua extensão para o contexto multiobjetivo. Além disso, mostra-se a análise da eficiência desta proposta em combinação com heurísticas e meta-heurísticas já conhecidas da literatura. O LKM foi testado tanto no framework PLS do Paquete, Chiarandini e Stützle (2004) quanto no da Angel, Bampis e Gourves (2004). Parte dos algoritmos utilizados neste trabalho foram utilizados em um framework de.

(23) 22. hibridização de meta-heurísticas que foi publicado no IEEE CEC 2017 (SILVA et al., 2017). Além deste, um outro trabalho está em fase de conclusão, e será submetido a uma revista internacional ainda neste semestre.. 1.5. Organização do trabalho. O trabalho está organizado da seguinte maneira: o Problema do Caixeiro Viajante Multiobjetivo é descrito no Capítulo 2; no Capítulo 3 será descrito o algoritmo do LK, bem como a adaptação feita para a versão multiobjetivo e as variantes propostas; os experimentos computacionais são descritos nos capítulos 4; e, por fim, as considerações finais são apresentadas no Capítulo 5..

(24) 23. 2. Problema do Caixeiro Viajante Multiobjetivo. Neste capítulo, a definição formal para o Problema do Caixeiro Viajante Multiobjetivo será apresentada, além de uma revisão da literatura sobre o problema, mostrando os principais trabalhos relacionados e suas respectivas formas de abordagem e resolução. As seções seguintes mostram, respectivamente, uma definição formal para o problema em análise e um resumo de alguns dos trabalhos relacionados a ele.. 2.1. Definição. O Problema do Caixeiro Viajante (PCV) é um dos problemas de otimização mais estudados da literatura. Isto se dá devido ao seu grande número de aplicações, sua relação com diversos problemas e das muitas de suas variantes existentes (GOLDBARG; GOLDBARG,. 2012). Existe uma grande variedade de livros que analisam e apresentam métodos. de resolução para o PCV, como, por exemplo, o The Traveling Salesman Problem and its Variations, proposto por Gutin et al. Gutin e Punnen (2002). O PCV é um problema NP-Difícil (GAREY; JOHNSON, 1979) que tem como objetivo encontrar um ciclo Hamiltoniano de custo mínimo para um grafo ponderado. Em outras palavras, o objetivo do PCV é determinar um percurso em que um caixeiro consiga passar por um conjunto de cidades sem repetí-las, retornando à cidade de partida percorrendo o menor curso possível. O Problema do Caixeiro Viajante Multiobjetivo (PCVM) é a extensão do PCV para o contexto dos problemas multiobjetivo, onde deve-se otimizar simultaneamente múltiplos objetivos. Formalmente, o PCVM pode ser definido da seguinte maneira: Dado um grafo completo ponderado em arestas G = (V, E, W ), onde V = {1, ..., n} é o conjunto de vértices, E = {(i, j)|i, j ∈ V, i 6= j} representa o conjunto de arestas e W.

(25) 24 p 1 é uma função que atribui um vetor (wij , ..., wij ) para cada aresta (i, j) ∈ E com p > 1, o. PCVM consiste em encontrar um ciclo de custo mínimo de G de acordo com a equação 2.1:. ck (ρ) =. n−1 X. k k wρ(i),ρ(i+1) + wρ(n),ρ(1) , k = 1, ..., p. (2.1). i=1. onde ck é a função que define o valor para o k-ésimo objetivo da solução ρ. Por se tratar de um problema de otimização multiobjetivo, na grande maioria dos casos não existirá uma única solução para o PCVM, mas sim um conjunto de soluções incomparáveis, o qual é chamado de Fronteira de Pareto (Pareto Front). As abordagem descritas neste trabalho buscam gerar uma aproximação deste conjunto. Para se entender o conceito de soluções incomparáveis, deve-se entender primeiramente as relações de dominância entre soluções multiobjetivo. Seja X um conjunto de soluções para o problema, Z = {f (x)|∀x ∈ X} o conjunto de vetores objetivo, z 1 e z 2 ∈ Z dois vetores objetivo distintos e f : Rn → Rp a função que retorna o vetor objetivo de uma solução. Diz-se que z 1 domina fracamente z 2 ( z 1  z 2 ) se, e somente se, ∀i, i = 1, 2, ..., p, zi1 ≤ zi2 . Ou seja, z 1 domina fracamente z 2 se z 1 não for pior que z 2 em nenhum objetivo. Daí, diz-se que duas soluções são incomparáveis se nem z 1  z 2 nem z 2  z 1 . Para um maior aprofundamento nos conceitos de relação entre soluções no contexto multiobjetivo, consultar o Anexo A.. 2.2. Trabalhos Relacionados. O PCVM possui um amplo acervo de trabalhos relacionados. Dentre eles, existem os que utilizam métodos exatos, tais como programação dinâmica (FISCHER; RICHTER, 1982) e ε−restrição com branch-and-cut (FLORIOS; MAVROTAS, 2014), e os que utilizam métodos heurísticos, tais como Busca Local (PAQUETE; STÜTZLE, 2003) (PAQUETE; CHIARANDINI; STÜTZLE,. 2004) (LUST; TEGHEM, 2010a) e Algoritmos Evolucionários (SAMANLIOGLU;. FERRELL; KURZ,. 2008) (JASZKIEWICZ; ZIELNIEWICZ, 2009) (ELAOUD; TEGHEM; LOUKIL,. 2010). Alguns destes trabalhos são descritos a seguir. Paquete e Stützle (2003) propuseram o Two-Phase Local Search (TPLS) , que é uma heurística de duas fases. A primeira fase consiste em encontrar uma boa solução otimizando apenas um dos objetivos; tal solução será utilizada como ponto de partida para a segunda fase da heurística. Na segunda fase, são utilizadas funções de agregação, as quais.

(26) 25. ponderam os objetivos e, assim, transformam o problema bi-objetivo em mono-objetivo. As funções de agregação variam a cada iteração, podendo estas variações ser aleatórias ou graduais. Cada uma das iterações gera uma nova solução a partir de uma busca local aplicada na solução obtida na iteração anterior. Ao final, as soluções encontradas são filtradas, e apenas as soluções não dominadas irão fazer parte do conjunto de aproximação gerado. Outras duas variantes foram propostas, a Double Two-Phase Local Search (DTPLS) e a Pareto Double Two-phase Local Search (PD-TPLS). O D-TPLS funciona da mesma maneira que a TPLS; entretanto, na primeira fase, é gerada uma solução para cada objetivo, para em seguida estas soluções serem filtradas de forma que permaneçam apenas as soluções incomparáveis no conjunto de aproximação inicial. Em seguida, dá-se inicio a segunda fase. O PD-TPLS é um melhoramento do D-TPLS, onde após a aplicação das funções de agregação na segunda fase, uma busca local é aplicada nas soluções geradas. Dentre as soluções encontradas após a busca local, apenas as incomparáveis permanecem no conjunto de aproximação. A estrutura de vizinhança utilizada por estes algoritmos é o 2-opt (GOLDEN et al., 1980). Paquete, Chiarandini e Stützle (2004) apresentam uma versão do Pareto Local Search (PLS) . Esta versão parte de uma solução aleatória, que é inserida em um arquivo A, e a cada iteração uma solução s ∈ A é escolhida aleatoriamente e toda a sua vizinhança, N (s), é explorada segundo alguma estrutura de vizinhança. No trabalho em questão foram utilizadas as estruturas 2-opt, 2hopt e 3-opt (GOLDEN et al., 1980). Em seguida, o algoritmo verifica se para cada s0 ∈ N (s), não existe uma solução s∗ ∈ A que domine s0 (s∗  s0 ). Então, o arquivo A é atualizado com s0 , removendo de A todas as soluções dominadas por s0 e inserindo s0 em A. A execução da PLS termina quando todas as soluções in A tenham sido exploradas. Samanlioglu, Ferrell e Kurz (2008) propõem um algoritmo memético para o PCVM que utiliza Random-Keys Genetic Algorithm (BEAN, 1994) (RKGA) e busca local 2-opt. O RKGA usa chaves aleatórias para representar os genes que formam o cromossomo (solução). Ele garante que, na operação de cruzamento, o cromossomo gerado é viável, assim, nenhuma função de reparação será necessária. A busca local utiliza funções de agregação, transformando o problema multiobjetivo em mono-objetivo. Jaszkiewicz e Zielniewicz (2009) propõem o Pareto Memetic Algorithm with Path Relinking, cuja principal ideia é utilizar um vetor de pesos aleatórios em cada uma das iterações. Estes vetores definem funções de escalarização. As duas melhores soluções com base na função de escalarização são escolhidas com o auxílio de um torneio. Este torneio.

(27) 26. é realizado com soluções que pertencem a um subconjunto das soluções correntes. Após esta escolha, o Path Relinking (que utiliza o 2-opt) é aplicado, e as duas melhores soluções encontradas neste procedimento, segundo a função de escalarização vigente, são utilizadas para recombinação. Após este último passo, uma busca local é aplicada à nova solução. A busca local é dividida em dois estágios: no primeiro, ela simplesmente aplica o 2-opt ignorando os arcos que são comuns entre os pais e o filho; no segundo, ela utiliza uma busca tabu baseada em uma versão do Lin-Kernighan feita pelos próprios autores. Peng, Zhang e Li (2009) fazem uma comparação entre o NSGA-II e o MOEA/D. Os resultados mostram que o MOEA/D tem melhores resultados que o NSGA-II utilizando o mesmo tempo de execução. Eles também comparam versões com e sem busca local 2-opt do MOEA/D, e mostram que o MOEA/D com busca local obtém melhores resultados. Elaoud, Teghem e Loukil (2010) propõem um método que combina múltiplos tipos de cruzamento e mutação no algoritmo genético. A cada iteração do algoritmo, um par de técnicas (cruzamento e mutação) é selecionado de maneira aleatória utilizando uma distribuição de probabilidade e, dependendo do desempenho deste par, as suas probabilidades podem aumentar ou diminuir. Lust e Teghem (2010a) fazem um revisão da literatura com foco em métodos metaheurísticos e propõem uma nova técnica constituída de duas fases. Na primeira fase, uma boa aproximação das soluções suportadas é procurada utilizando agregação de objetivos e aplicando a heurística de Lin e Kernighan implementada pelo Applegate, Cook e Rohe (2003); na segunda fase, a PLS proposta por Angel, Bampis e Gourves (2004) é empregada utilizando o 2-opt como estrutura de vizinhança para intensificar as buscas por soluções suportadas e as não suportadas. Zhou, Gao e Zhang (2013) mostram como medir o conflito das funções objetivo para o PCVM e, assim, desenvolver um novo conjunto de casos de testes. Além disso, é proposto o Multiobjective Estimation of Distribution Algorithm Based on Decomposition (MEDA/D), que é o MOEA/D com algoritmos que utilizam distribuição de estimação. A ideia do método é decompor o problema em sub-problemas, onde cada um terá um método probabilístico associado para auxiliar na resolução do problema. Dubois-Lacoste, López-Ibáñez e Stützle (2015) mostram o quão pobre é a convergência da PLS original, e propõem formas de modular a PLS dando alternativas para a utilização de cada modulo, de maneira que a PLS possa sempre melhorar a qualidade de soluções a qualquer tempo. Adicionalmente, é proposta a Dynagrid Heuristic, que particiona o espaço objetivo em uma grade de tamanho dinâmico, a qual ajuda na seleção das soluções que.

(28) 27. permanecerão no conjunto de aproximação do Pareto gerado pelo algoritmo. Os resultados obtidos mostram que a versão da PLS apresentada tem o comportamento, a qualquer tempo, melhor que sua versão original. Zhang et al. (2016) propõem uma estratégia de otimização para s Multi-objective Ant Colony Optimization (MOACOs) denominado iPM-MOACOs. Nele os autores buscam otimizam a inicialização da matriz de ferormônio com um prévio conhecimento do Physarum-inspired Mathematical Model (PMM). O PMM utiliza um mecanismo de feedback que permite encontrar a menor rota entre dois vértices. Os resultados obtidos pelo iPM-MOACOs são melhores que o MOACOs original para a resolução do Caixeiro Viajante Bi-objetivo. Cornu, Cazenave e Vanderpooten (2017) propõem o Perturbed Decomposition Algorithm (PDA), que combina métodos de decomposição, busca local e pertubações. O PDA possui duas fases, na primeira fase ele decompõe o problema multiobjetivo em problemas linearizados, para então, na segunda fase executar um processo iterativo, onde os problemas sofrem pertubações, são selecionados e passam por uma busca local. Os resultados do PDA que foram mostrados são superiores aos dos algoritmos que foram comparados..

(29) 28. 3. Heurística de Lin e Kernighan e Variações para o caso Multiobjetivo. A heurística proposta por Lin e Kernighan (1973) (LK) é uma das mais eficientes heurísticas propostas para o PCV. A heurística realiza trocas sequenciais de arestas, de forma que o ganho acumulado durante as iterações sempre seja positivo e respeite algumas restrições. A sua execução termina quando ou não há mais possibilidades de melhoramento, ou que uma modificação no ciclo ocasione uma quebra de restrição imposta pela heurística. Duas das mais famosas implementações do LK são as propostas por Helsgaun (2000) e por Applegate, Cook e Rohe (2003), respectivamente. Este capítulo tem por objetivo descrever a heurística LK proposta originalmente por Lin e Kernighan, para em seguida mostrar a adaptação desta heurística para o contexto multiobjetivo e, por fim, mostrar as variantes que são utilizadas neste trabalho para verificar a efetividade da adaptação proposta.. 3.1. Algoritmo de Lin e Kernighan. Seja T uma solução para o PCV. A cada iteração, o LK procura por dois conjuntos de arestas X = {x1 , ..., xr }, X ⊆ T, e Y = {y1 , ..., yr }, Y * T , tais que, ao criar uma nova solução T 0 = (T \ X) ∪ Y , ela será uma solução com melhor custo. Em outras palavras, ao retirarmos de T as arestas pertencentes a X e inserir em T as arestas pertencestes a Y , a solução resultante terá melhor custo. A geração dos conjuntos X e Y devem satisfazer as restrições i-iv elencadas a seguir. i) Troca sequencial: Na troca sequencial, as arestas xi ∈ X e yi ∈ Y devem compartilhar um vértice, assim como as arestas yi e x(i+1) . ii) Viabilidade: Todas as trocas efetuadas devem manter a viabilidade. Desta forma,.

(30) 29. a aresta xi ∈ X deve ser escolhida de maneira que, ao ser utilizada para unir as extremidades do caminho, o resultado será um ciclo viável, ou seja, um ciclo que contém todos os vértices. iii) Ganho positivo: Para que ao final do procedimento tenha-se uma maior possibilidade de obter uma nova solução com melhor custo, o ganho acumulado em todo o processo deve ser positivo. Seja Gi o ganho acumulado até a iteração i, e gi = w(xi )−w(yi ) o ganho pela realização da troca entre as arestas xi e yi na i-ésima iteração; desta forma, o valor Gi = g1 + g2 + ... + gi , durante todo o processo, deverá ser positivo. iv) Conjuntos disjuntos: A disjuntividade dos conjuntos X e Y (X ∩ Y = ∅) garante que as arestas removidas não retornem para solução, e que as inseridas durante o processo não sejam removidas. O esquema do LK é descrito a seguir, conforme mostram Karapetyan e Gutin (2010). 1. Seja S uma solução inicial (ciclo). 2. Para cada aresta (e, b) ∈ S faça: (a) Seja P um caminho obtido a partir de S removendo a aresta (e, b) (P = S (e, b)). (b) Reorganize P de forma que minimize seu custo. Toda vez que um melhoramento for encontrado durante esta operação, crie um ciclo ligando as extremidades do caminho P . Se o resultado for um ciclo melhor que S, salve esta solução no lugar de S e reinicie o procedimento. (c) Se não existir melhoramento, continue para a próxima aresta (passo 2). Na tentativa de melhoramento da solução, o algoritmo quebra o caminho em dois sub-caminhos, inverte um deles e os reconecta. A Figura 1 (a) mostra um caminho gerado a partir de um ciclo, cuja aresta (e, b) foi removida. A Figura 1 (b) mostra a remoção da aresta (x, y) e a inserção da aresta (x, e). O algoritmo pode realizar a quebra do caminho de maneiras diferentes: utilizando o melhor movimento como feito por Karapetyan e Gutin (2010); fazendo o uso do mecanismo de backtracking para analisar todas as possibilidades como feito no LK; e também a utilização de parte do backtracking, utilizando apenas nos primeiros α movimentos. Esta última forma é uma variação do backtracking onde se limita o número de combinações que o mesmo irá executar..

(31) 30. Figura 1: Movimentos da busca local para o melhoramento do caminho. O custo é reduzido em w(x → y) − w(x → e).. 3.2. Adaptação Multiobjetivo do LK. A adaptação do LK para o contexto multiobjetivo foi feita buscando realizar o mínimo de mudanças no LK, para que o mesmo pudesse ser utilizado no contexto multiobjetivo. As duas principais mudanças feitas estão na forma de analisar o ganho acumulado e no resultado do algoritmo. No que diz respeito ao ganho acumulado, o algoritmo continua seu procedimento se o ganho acumulado até aquele instante for positivo em pelo menos um dos objetivos, ou seja, enquanto existir ganho em um dos objetivos, mesmo que haja perda em outro objetivo, o algoritmo continua seu procedimento até atingir o caso de parada, que é quando não há mais operações a serem feitas (respeitando as restrições i-iv). Com relação ao resultado do algoritmo, ao contrário da versão mono-objetivo que retorna apenas a melhor solução, a versão multiobjetivo retornará um conjunto de soluções incomparáveis, que foram encontradas durante todo o procedimento de busca. Para uma exemplificação mais clara, o Lin Kernighan Multiobjetivo (LKM) foi divido em dois procedimentos: o primeiro, ilustrado no Algoritmo 1, tem como objetivo gerar um caminho a partir do ciclo inicial, para em seguida chamar o segundo procedimento passando como parâmetro o caminho criado. O Algoritmo 1 recebe como parâmetro um ciclo (solução) e inicializa uma variável global P S (linha 1) para salvar todas as soluções não dominadas que serão encontradas no procedimento. Em seguida, para cada aresta no ciclo inicial (linha 2), ele cria um caminho sem esta aresta (linha 3), inicializa um conjunto restrito de vértices (linha 4) e chama o segundo procedimento (linha 5). Por fim, ele retorna o conjunto P S (linha 7). O Algoritmo 2 mostra a segunda parte do LKM chamada ImprovePath. Este procedimento possui três parâmetros. O primeiro é um caminho P , cuja inserção de uma aresta.

(32) 31. Algoritmo 1 Lin-Kernighan Multiobjetivo – Inicio Entrada: O ciclo S Saída: Conjunto de Pareto da vizinhança de S 1: global P S ← ∅ % Variável global que salva todas as soluções não-dominadas encontradas 2: para cada aresta (u, v) ∈ S faça 3: S 0 /(u, v) % Remove (u, v) de S para gerar um caminho 4: R ← ∅ % Inicializa o conjunto de vértices restritos 5: ImprovePath(S 0 , 1, R) % Chama a função improvePath() 6: fim para 7: return PS entre seus vértices terminais implica na geração de uma solução viável para o PCVM, ou seja, um ciclo com todos os vértices. O segundo parâmetro, o depth, é a profundidade da recursão. Esta variável indica em qual nível da recursão o algoritmo está naquele momento. O terceiro parâmetro é um conjunto restrito de vértices R, que auxiliará na remoção/inserção de arestas no caminho. O algoritmo possui, ainda, a variável α. O valor α é o limitador da recursão, e deve ser definido previamente em tempo de compilação. Se α = n, sendo n igual ao número de vértices da solução, o algoritmo executará todos os níveis de recursão. No primeiro nível da recursão o algoritmo verifica todas as possibilidades de troca da primeira aresta do caminho; no segundo nível, ele verifica todas as possibilidades de troca da segunda aresta, e assim sucessivamente. Desta forma, o algoritmo possui um comportamento similar ao backtracking. No caso em que α < n, todas as possibilidades de troca para as primeiras α arestas da solução serão verificadas. O valor de α foi definido como 2. O algoritmo inicia checando se a profundidade da recursão alcançou o α (linha 1). Se a checagem retornar verdadeiro, o procedimento continua (prossegue para linha 2). Caso contrário, o algoritmo procura a aresta que maximiza o ganho dentre todos os objetivos (linha 14): se este ganho for positivo (linha 15), o procedimento cria uma nova solução (linha 16), atualiza o conjunto de soluções incomparáveis (linha 17) e finaliza o processo. Nas linhas 2 e 3, o procedimento verifica para cada aresta (x, y) ∈ P (cujo vértice x∈ / R) o ganho acumulado até aquele momento. Se existir ganho em pelo menos um dos objetivos (linha 4), um novo ciclo é criado conectando os vértices terminais do caminho (linha 5), e se a solução gerada não for dominada pela solução inicial, tenta-se inserir a solução no conjunto de soluções não dominadas (linha 7). Caso a solução seja inserida com sucesso, ou seja, não exista nenhuma solução no conjunto que domine a solução, o Algoritmo 2 é chamado recursivamente passando como parâmetro a nova solução, a profundidade acrescida de uma unidade e o conjunto restrito de vértices atualizado (linha.

(33) 32. 8). Algoritmo 2 Lin-Kernighan Multiobjetivo – ImprovePath(P,depth,R) Entrada: O caminho P , Profundidade da recursão depth e um conjunto de vértices restritos R. Saída: Atualiza o conjunto PS (Vide o Algoritmo 1) com soluções não-dominadas 1: se depth < α então 2: para cada aresta (x, y) ∈ P tal que x ∈ / R faça 3: Calcule gi = w(x, y) − w(e, y) (vide a Figura 1b), para i = 1, ..., p 4: se existe ganho em pelo menos um objetivo gi então 5: seja paux a solução gerada a partir da ligação dos vértices extremos do caminho 6: se o ciclo paux não é dominado pelo ciclo original então 7: se PS.inserir(paux) == Verdadeiro então 8: ImprovePath(paux, depth+1, R ∪ {x}) 9: fim se 10: fim se 11: fim se 12: fim para 13: senão 14: Encontre a aresta (xy) que maximize o ganho gi = w(x, y) − w(e, x) entre todos os objetivos 15: se gi > 0 então 16: seja paux a solução gerada a partir da ligação dos vértices extremos do caminho 17: PS.insert(paux) 18: fim se 19: fim se. 3.3. Variantes Propostas. Ao todo foram criados 5 grupos de variantes: o grupo de variantes com duas fases; o de variantes com duas fases mais a busca dicotômica; o de variantes do GRASP; o de variantes do NSGA-II; e o de variantes do MPAES. Cada um dos grupos serão detalhados nas próximas subseções.. 3.3.1. Variantes com Duas Fases. Uma das formas de se utilizar o LKM é em combinação com outras técnicas. Para verificar a eficiência do algoritmo proposto, o mesmo foi utilizado em combinação com técnicas já conhecidas na literatura. A ideia deste grupo é utilizar os métodos duas fases, assim como fizeram Paquete e Stützle (2003). Na primeira fase, procura-se por boas soluções utilizando ponderação de objetivos e, na segunda fase, aplica-se o Pareto Local Search.

(34) 33. (PLS) (PAQUETE; CHIARANDINI; STÜTZLE, 2004) utilizando o LKM como estrutura de vizinhança. Estas variantes utilizam, na primeira fase, vetores de ponderação aleatórios para agregar os objetivos. Em seguida, a heurística de Bellmore e Nemhauser (1968), conhecida como vizinho mais próximo (do inglês Nearest Neighborhood), é utilizada na geração de uma solução de boa qualidade. Após a geração da solução, um procedimento de busca pode ser aplicado à mesma. As estruturas de buscas utilizadas são a 2-opt (GOLDEN et al.,. 1980) ou o LK, ambas em suas versões mono-objetivo. Na segunda fase, a PLS (PA-. QUETE; CHIARANDINI; STÜTZLE,. 2004) é utilizada. A PLS necessita de uma estrutura de. vizinhança para realizar o melhoramento; é neste ponto que o LKM será utilizado. Uma outra estrutura de vizinhança, a 2-opt versão multiobjetivo, é utilizada com o objetivo de comparação. A versão multiobjetivo do 2-opt, ao invés de retornar a melhor solução, retorna um conjunto de soluções incomparáveis. Neste sentido, seis variantes foram implementadas neste grupo. A Tabela 1 apresenta as combinações de algoritmos utilizadas e suas respectivas denominações. A primeira coluna descreve os algoritmos utilizados na primeira fase da variante. O nn representa a forma de criação da solução, que neste caso foi o vizinho mais próximo (Nearest Neighborhood) com procedimento de busca ou sem procedimento de busca. A segunda coluna mostra a estrutura de vizinhança utilizada em combinação com a PLS, podendo ser lkm ou 2optm referenciando o LKM ou o 2opt multiobjetivo, respectivamente. A última coluna mostra como cada variante é chamada. Tabela 1: Variantes com duas fases Fase 1 Fase 2 Denominação nn lkm nn_lkm nn com lk lkm nnlk_lkm nn2opt_lkm nn com 2opt lkm nn 2optm nn_2optm nn com lk 2optm nnlk_2optm nn com 2opt 2optm nn2opt_2optm. 3.3.2. Variantes com Busca Dicotômica. Outras duas variantes foram idealizadas com o objetivo de fornecer à PLS um conjunto de soluções inicial de qualidade superior, fazendo com que o resultado final seja um conjunto melhor que os das variantes do primeiro grupo. As variantes do segundo grupo utilizam em sua primeira fase o esquema dicotômico (ANEJA; NAIR, 1979), assim como o.

(35) 34. 2PPLS proposto por Lust e Teghem (2010b) . Na segunda fase utilizam a PLS do Paquete, Chiarandini e Stützle (2004) (pls_p) ou da PLS da Angel, Bampis e Gourves (2004) (pls_a). A Tabela 2 mostra a denominação das variantes do segundo grupo. Na primeira coluna, o di representa a utilização do esquema dicotômico utilizado na primeira fase, e a segunda coluna mostra qual PLS está sendo utilizado na segunda fase em combinação com o LKM. A terceira coluna mostra como essas variantes serão chamadas. Tabela 2: Variantes com duas fases que utilizam o esquema dicotômico Fase 1 Fase 2 Denominação di pls_a di_lk_a di pls_p di_lk_p. 3.3.3. Variantes com Meta-Heurísticas. O LKM também foi introduzido em meta-heurísticas. As meta-heurísticas utilizadas são a NSGA-II (DEB et al., 2002), o MPAES (KNOWLES; CORNE, 2000) e o GRASP Multiobjetivo com Path Relinking (MARTí et al., 2015). Para as meta-heurísticas NSGA-II e MPAES, 5 variações foram implementadas: a primeira é a sua versão original, a segunda e a terceira utilizam o LKM e o 2OPTM logo após a operação de cruzamento, respectivamente, e as duas últimas versões utilizam a PLS (PAQUETE; CHIARANDINI; STÜTZLE, 2004) com a estrutura de vizinhança LKM ou 2OPTM no resultado obtido pela execução da versão original da meta-heurística. Ou seja, nas duas últimas vezes, assim como nos grupos anteriores, as variantes possuem duas fases: na primeira, a versão original da meta-heurística é utilizada para criar um conjunto inicial e, em seguida, na segunda fase, a PLS é aplicada com uma das estruturas de vizinhança. Para o GRASP foram implementadas 4 variantes, assim como para o NSGA-II e para o MPAES, com exceção apenas da versão original, a qual não foi implementada devido ao fato de que o autor deixou em aberto qual procedimento de busca utilizar. Desta maneira, as duas primeiras versões do GRASP utilizam o LKM e o 2OPTM como estrutura de busca, respectivamente, e as outras duas são variantes com duas fases, onde na primeira fase utiliza-se o resultado obtido pela execução do GRASP com o LKM, e na segunda fase aplica-se a PLS (PAQUETE; CHIARANDINI; STÜTZLE, 2004) com o LKM ou o 2OPTM, assim como feito anteriormente no NSGA-II e no MPAES. A Tabela 3 mostra como são denominadas cada uma das variantes dos grupos apresentados nesta subseção. A primeira coluna da tabela mostra qual meta-heurística foi utilizada; a segunda e terceira coluna mostram se houve ou não a utilização de uma es-.

(36) 35. trutura de busca e da PLS após a execução da meta-heurística, respectivamente; e, por fim, a quarta coluna mostra a denominação de cada uma das variantes. Tabela 3: Variantes Meta-heurística Busca MPAES MPAES LKM 2OPTM MPAES MPAES MPAES NSGA-II NSGA-II LKM 2OPTM NSGA-II NSGA-II NSGA-II GRASP LKM 2OPTM GRASP GRASP LKM LKM GRASP. com meta-heurísticas PLS + Denominação mpaes mpaes_lkm mpaes_2optm 2OPTM mpaes_pls_2optm LKM mpaes_pls_lkm nsgaII nsgaII_lkm nsgaII_2optm 2OPTM nsgaII_pls_2optm LKM nsgaII_pls_lkm grasp_lkm grasp_2optm 2OPTM grasp_pls_2optm LKM grasp_pls_lkm.

(37) 36. 4. Experimentos Computacionais. Neste capítulo são apresentados os resultados das variantes propostas no capítulo 3. Os experimentos computacionais foram executados em um computador com processador Intel core i5-2400 3.10GHz x 4, 4 GB de memória RAM, sistema operacional Linux Ubuntu 64-bits e linguagem de programação C++11. Cada algoritmo foi executado 30 vezes de maneira independente para cada instância. As próximas seções apresentam a metodologia utilizada nos experimentos, os indicadores de qualidade, os testes estatísticos e os resultados.. 4.1. Metodologia. Nesta seção é apresentada a metodologia utilizada nos experimentos computacionais. O conjunto de testes utilizado consiste de 16 instâncias com 2 objetivos, 8 instâncias com 3 objetivos e 3 instâncias com 4 objetivos. Cada instância contém 100 cidades. As instâncias com 2 objetivos foram utilizadas em diversos trabalhos, tais como (LUST, 2010 – (a)), (LUST; TEGHEM, 2010a), (LUST; TEGHEM, 2010b), (PAQUETE; STÜTZLE, 2009), e (PAQUETE; STüTZLE,. 2006). Estas instâncias estão disponíveis em https://sites.google.. com/site/thibautlust/research/multiobjective-tsp e em https://eden.dei.uc. pt/~paquete/tsp/. As instâncias de 3 e 4 objetivos foram criadas a partir da combinação de instâncias mono-objetivo disponíveis na TSPLIB (TSPLIB, 2016). A forma de criação destas instâncias segue a mesma metodologia de criação das instâncias com 2 objetivos. Por exemplo, uma instância 3-objetivo é criada a partir de 3 instâncias monoobjetivo, onde cada uma delas representa um objetivo para a nova instância. Uma das instâncias com 3 objetivos utilizadas neste trabalho é a kroABC100, que foi gerada a partir da combinação das instâncias kroA100, kroB100 e kroC100 propostas originalmente para o PCV. A tabela 4 mostra todas as instâncias utilizadas. Cada uma das variantes utiliza um subconjunto das instâncias da Tabela 4. As varian-.

(38) 37. tes da Tabela 1 utilizam todas as instâncias. As variantes da Tabela 2 utilizam apenas as instâncias com 2 objetivos. Isto acontece devido ao fato de que a implementação da busca dicotômica utilizada só funciona para os casos com 2 objetivos. As variantes da Tabela 3 utilizam 7 instâncias para treinamento com a ferramenta IRACE (LÓPEZ-IBÁNEZ et al., 2011). O IRACE foi utilizado para o ajuste de parâmetros destas variantes e, para que o ajuste possa ser automatizado, é necessária a utilização de um conjunto de instâncias de treinamento. As instâncias utilizadas para tal são: kroAB100, kroCD100, euclEF100, mixdII100, kroBCD100, randDEF100 e euclABCD100. Todas as outras instâncias são utilizadas para comparação entre as variantes. Tabela 4: Instâncias Utilizadas 2-objetivos kroAB100 kroBD100 euclCD100 kroAC100 kroCD100 euclEF100 kroAD100 clusAB100 randAB100 l kroBC100 euclAB100 randCD100 3-objetivos kroABC100 kroABD100 kroACD100 euclABC100 euclDEF100 randABC100 4-objetivos kroABCD100 euclABCD100 randABCD100. 4.1.1. randEF100 mixdGG100 mixdHH100 mixdII100 kroBCD100 randDEF100. Indicadores de Qualidade. Os conjuntos de aproximação gerados pelos algoritmos são comparados em função dos indicadores de qualidade Hipervolume (IH) (que deve ser maximizado) (ZITZLER et al., 2003) e Epsilon Aditivo (Iε+ ) (que deve ser minimizado) (KNOWLES; THIELE; ZITZLER, 2006) (vide Anexo A). Além destes, também é utilizada a variável Tempo de Execução (que deve ser minimizado). Para o cálculo do IH é necessário ter um ponto de referência, também conhecido como ponto Nadir. O ponto Nadir é um ponto que é dominado por todos os pontos do conjunto de aproximação. Para as instâncias com 2 objetivos, o ponto Nadir é gerado a partir da Fronteira de Pareto criada por Florios e Mavrotas (2014), onde, para cada instância, os piores valores para cada objetivo constituem seu ponto Nadir. Nas instâncias com 3 e 4 objetivos, o ponto Nadir é gerado a partir de um “super conjunto” de soluções incomparáveis, o qual é gerado a partir de todas as execuções de todas as variantes para cada uma das instâncias..

(39) 38. O cálculo do Iε+ precisa de um conjunto de referência, e assim como foi feito para o IH, nas instâncias com 2 objetivos o conjunto de referência é o gerado por Florios e Mavrotas (2014). Nas instâncias de 3 e 4 objetivos, o “super conjunto” de soluções incomparáveis é utilizado.. 4.1.2. Teste Estatístico. Para ter-se a comprovação de que existe diferença significativa entre as variantes comparadas, o teste estatístico de Kruskal-Wallis (KRUSKAL; WALLIS, 1952) foi utilizado. O nível de significância adotado foi de 0.05. Após o teste, se uma diferença significante for encontrada entre as variantes, o teste de Kruskal-Wallis com comparações múltiplas é aplicado para verificar quais variantes diferem uma das outras. Aquela variante que obtiver a melhor mediana é considerada a melhor. Os testes foram realizados na linguagem R com o auxílio da ferramenta Rstudio (https://www.rstudio.com/). Todas as tabelas comparativas estão localizadas no Apêndice B. Cada tabela descreve se houve ou não diferença significativa entre cada par de variante.. 4.1.3. Critério de Parada e Parâmetros. O critério de parada utilizado depende de cada uma das variantes, mas a execução de nenhuma delas excede o tempo limite de 50 minutos. Sendo assim, se a execução de uma determinada variante exceder os 50 minutos, sua execução será interrompida e o resultado atual é salvo. Para as variantes que utilizam a PLS, o critério de parada é quando toda a vizinhança de todas as soluções do conjunto de soluções incomparáveis tiverem sido exploradas. Este é o critério natural de parada da PLS. As variantes do MPAES, do NSGA-II e do GRASP tiveram seus parâmetros ajustados pelo IRACE (LÓPEZ-IBÁNEZ et al., 2011). Dadas as instâncias de treinamento e faixas de valores, o IRACE define quais as melhores configurações para serem utilizadas no algoritmo segundo as faixas de valores dadas. A Tabela 5 mostra a descrição dos parâmetros de cada meta-heurística. A primeira coluna da tabela mostra o nome da meta-heurística; a segunda coluna descreve os parâmetros da meta-heurística; a terceira coluna mostra como cada parâmetro é chamado no código; a quarta coluna mostra os valores definidos pelo IRACE para cada um dos parâmetros; e na última coluna são mostradas as faixas de valores utilizadas no IRACE para o ajuste de parâmetros..

(40) Meta-heurística. MPAES. NSGA-II GRASP. Tabela 5: Parâmetros para as Meta-heurísticas Descrição do parâmetro Parâmetro População inicial e número de recombinações. n Número máximo de tentativas de recombinação. recomb_trials_max Critério de parada. Número máximo de iterações. stop_criterion_max Tamanho dos lados dos quadrado que particionam o espaço objetivo. lengthOfSide Número de falhas no permitidas na busca local (PAES). l_fails Número de movimentos na busca local (PAES). l_opt Tamanho da população. popsize Número de gerações. generation Probabilidade de mutação. mutation_prob Parâmetro para a geração do conjunto restrito de candidatos. alpha Critério de parada. Número máximo de iterações. stop_criterion. Valor 130 5 29 811 1 12 199 1347 78% 0.1273 3087. Faixa 50 – 150 1–5 10 – 30 500 – 1000 1–5 5 – 15 50 – 200 800 – 1500 1% – 100% 0.1 – 1.0 1000 – 5000. 39.

(41) 40. 4.2. Resultados. As próximas subseções mostram a comparação entre cada grupo de variantes, mostrando quais delas obtiveram melhor resultado com relação às variáveis utilizadas.. 4.2.1. Variantes de Duas Fases. Nesta seção são apresentados os resultados dos testes que comparam o desempenho das variantes da Tabela 1, que são as variantes com duas fases baseadas no 2-opt e no LKM. A Tabela 6 (Apêndice A) mostra os resultados detalhados em relação ao IH para as instâncias com 2 objetivos. A primeira e a segunda coluna da tabela mostram a instância e a variante, respectivamente, e as colunas seguintes mostram os valores médio, mediano, mínimo e máximo para cada variante em relação a cada instância. Os valores em negrito nesta, e nas tabelas seguintes desta dissertação, destacam quais foram os melhores valores médio, mediano, mínimo e máximo dentre os algoritmos para cada uma das instâncias. Os valores médios e medianos das variantes que utilizam o LKM são sempre melhores do que as que não utilizam. Destaque para o nnlk_lkm que na maioria das instâncias, obteve melhores resultados. Nos valores mínimo e máximo, as variantes que utilizam o LKM também são melhores. Todos os resultados são confirmados pelos testes estatísticos. A Figura 2 mostra o gráfico boxplot para a instância kroAB100. Nela, pode-se observar a diferença entre as variantes que utilizam o LKM (as três primeiras da esquerda para direita) e as que não utilizam (as três ultimas da esquerda para a direita).. 0.692. kroAB100. IH. 0.690 0.688 0.686 m m m m m m _lk _lk _lk pt pt pt nn 2opt nnlk n_2o lk_2o pt_2o n nn 2o nn nn variante Figura 2: Gráfico boxplot do grupo das variantes de duas fases para a instância kroAB100 segundo o indicador de qualidade IH. O Iε+ concorda com o IH na grande maioria das instâncias. A Tabela 7 (Apêndice A).

Referências

Documentos relacionados

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

Penalidades: suspensão imediata da conduta vedada, quando for o caso; multa no valor de R$ 5.320,50 a R$ 106.410,00 aos agentes responsáveis, aos partidos políticos, às

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...

Depois da ação do último jogador, os jogadores devem novamente jogar ou descartar cartas na ordem de ORGANIZAÇÃO (a ordem pode alterar-se caso algum jogador ganhe ou

Os estudos originais encontrados entre janeiro de 2007 e dezembro de 2017 foram selecionados de acordo com os seguintes critérios de inclusão: obtenção de valores de

Débitos tributários e condominiais (propter rem) serão sub-rogados no valor da arrematação (art.. interessados a pesquisar e confirmar diretamente nos órgãos competentes,

Mais do que propor uma metodologia para a musicalização de adultos, esse trabalho deve fazer o leitor refletir sobre a prática do ensino musical atual vigente.. O que

Este trabalho é resultado de uma pesquisa quantitativa sobre a audiência realizada em 1999 envolvendo professores e alunos do Núcleo de Pesquisa de Comunicação da Universidade