Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las...

111
U NIVERSIDAD A UTÓNOMA METROPOLITANA A ZCAPOTZALCO P OSGRADO EN OPTIMIZACIÓN Metaheurísticas para el problema de ruteo de vehículos con ventanas de tiempo (VRP-TW) Presenta: Ing. Edwin Montes Orozco Asesores: Dr. Roman Anselmo Mora Gutiérrez Dr. Javier Ramírez Rodríguez Idónea Comunicación de Resultados para obtener el grado de Maestro en Optimización Ciudad de México, México 2017

Transcript of Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las...

Page 1: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

UNIVERSIDAD AUTÓNOMA METROPOLITANA

AZCAPOTZALCO

POSGRADO EN OPTIMIZACIÓN

Metaheurísticas para el problema deruteo de vehículos con ventanas de

tiempo (VRP-TW)

Presenta:Ing. Edwin Montes Orozco

Asesores:Dr. Roman Anselmo Mora Gutiérrez

Dr. Javier Ramírez Rodríguez

Idónea Comunicación de Resultadospara obtener el grado de

Maestro en Optimización

Ciudad de México, México

2017

Page 2: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 3: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

3

Declaración

Yo, Ing. Edwin Montes Orozco, declaro que este trabajo titulado «Metaheurísti-cas para el problema de ruteo de vehículos con ventanas de tiempo (VRP-TW)»,es de mi autoría. Yo confirmo que:

Este trabajo fue realizado en su totalidad para la obtención de grado enesta Universidad.

Ninguna parte de esta tesis ha sido previamente sometida a un examende grado o cualquier otra titulación en esta universidad o cualquier otrainstitución.

Donde he consultado la obra publicada de los demás, esto se atribuyesiempre con claridad.

Donde he citado del trabajo de los demás, se da siempre la fuente. Con laexcepción de estas citas, esta tesis es enteramente mi propio trabajo.

Firma:

Fecha:

Page 4: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 5: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

5

«Nadie puede llegar a la cima armado sólo de su talento. Dios da el talento; el trabajotransforma el talento en genio.»

Anna Pavlova

Page 6: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 7: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

7

UNIVERSIDAD AUTÓNOMA METROPOLITANA AZCAPOTZALCO

Resumen

Metaheurísticas para el problema de ruteo de vehículos con ventanas detiempo (VRP-TW)

En este trabajo, se presentan 7 técnicas basadas en cuatro metaheurísticas ydos métodos exactos, las cuales son: Sistema de Hormigas (AS), Búsqueda Armó-nica (HS), Algoritmo Genético (GA), Búsqueda local iterada (ILS), Algoritmo primal-dual (PDA) y Método dual simplex (DSM) para resolver el problema de ruteo devehículos con ventanas de tiempo (VRP-TW), haciendo énfasis en los algoritmoshíbridos entre estas técnicas, los cuales se denominan AS-GA, AS-HS, DSM-AS-PDA, AS-ILS, donde a excepción de DSM-AS-PDA, las técnicas involucradastrabajan de manera entrelazada. Con el fin de analizar, comparar y caracteri-zar el comportamiento de las técnicas desarrolladas, estas se emplearon pararesolver 12 instancias del VRP-TW.

En AS-GA, se utiliza el GA para encontrar una mejor solución con la pobla-ción generada por un ciclo de n hormigas dentro de AS, con la cual se actualizael nivel de la matriz de feromona para el siguiente ciclo de hormigas. Con estose logra guiar la construcción de una manera más eficaz, y el algoritmo genéticoayuda a no converger de manera prematura, sino que debido a la codificaciónse diversifica el espacio de búsqueda.

Dentro de AS-HS, la técnica HS sirve para guiar el comportamiento del ASa través de los cambios en la matriz de feromona, ya que se aprovecha la in-formación de un número n de ejecuciones de la HS guardadas en la memoriaarmónica (HM). En el procedimiento propuesto se retoman las mejores solu-ciones para la actualización del nivel de la fermona.

Por último, en DSM-AS-PDA se utiliza el optimizador denominado Gurobiejecutando el método dual simplex para resolver dos relajaciones lineales delproblema original. Con las soluciones regresadas por Gurobi se inicializa la ma-tríz de nivel de fermona para AS y una vez que termina la ejecución de AS conbase en la mejor solución entregada, se utiliza el algoritmo PDA para revisar sila solución encontrada es la óptima. Los resultados muestran que los algorit-mos híbridos desarrollados poseen un comportamiento más robusto respectoa las técnicas reportadas en la literatura y a su vez, son capaces de generar me-jores soluciones con un número menor de llamadas a la función objetivo eninstancias grandes, utilizando menos recursos computacionales.

Page 8: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 9: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

9

UNIVERSIDAD AUTÓNOMA METROPOLITANA AZCAPOTZALCO

Abstract

Metaheuristics for the vehicle routing problem with time windows(VRP-TW)

In this work, 7 techniques based on four metaheuristics and two exact met-hods are presented, which are: Ant System (AS), Harmonic Search (HS), Gene-tic Algorithm (GA), Iterated Local Search (ILS), Primal-Dual Algorithm (PDA) andDual Simplex Method (DSM) to solve the vehicle routing problem with time win-dows (VRP-TW), emphasizing the hybrid algorithms between these techniques,which are called AS-GA, AS-HS and DSM-AS-PDA; where, with the exceptionof DSM-AS-PDA, these work in an interlaced way. In order to analyze and cha-racterize the behavior of the developed techniques, used a set of test instancesfor the VRP-TW.

In AS-GA, the GA is used to find a better solution with the population gene-rated by one cycle of n ants within AS, with which the level of the pheromonematrix for the next cycle of ants is updated. With this it is possible to guide theconstruction of a more effective way, and the GA helps to avoid the prematureconverge way, but due to the codification it diversifies the space of search.

Within AS-HS, the HS technique is used to guide the behavior of AS th-rough the changes in the pheromone matrix, since it takes advantage of theinformation of m executions of the HS stored in the harmonic memory (HM).In the proposed procedure, the best solutions for the updating of the pheromo-ne level are taken up.

Finally, in DSM-AS-PDA is used the optimizer called Gurobi executing thedual simplex method to solve two linear relaxations of the original problem.With the solutions returned by Gurobi the pheromone level for AS are initia-lized and once the execution of AS is terminated, based on the best solutiondelivered, the PDA is used to check if this solution is optimal. The results showthat the hybrid algorithms developed have a more robust behavior than thetechniques reported in the literature and, are able to generate better solutionswith a smaller number of calls to the objective function in large instances usingless computational resources.

Page 10: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 11: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

11

Agradecimientos y dedicatoriaAgradezco y dedico principalmente este trabajo al CONACyT por el apoyo eco-nómico otorgado y por la oportunidad de realizar mis estudios de maestría.

Al Dr. Roman Anselmo Mora Gutiérrez por el apoyo, las ideas, los conoci-mientos compartidos, la guía para la realización de esta investigación y porsupuesto por su gran amistad.

Al Dr. Javier Ramírez Rodríguez por su dirección, apoyo, motivación e ideaspara la realización de esta investigación.

A la Dra. Bibiana Obregón Quintana, por sus puntuales correcciones a estetrabajo y su apoyo y motivación para seguir realizando investigación.

A mi esposa Damariz, por estar siempre al pie conmigo, por soportar los ra-tos de desesperación, por apoyarme cuando las cosas se ponen difíciles, porser mi motivación, por ser paciente en los momentos en que llega la desespe-ración a mi persona, por alegrar mis días, por recibirme con un abrazo y unasonrisa cada vez que regreso de la universidad, y sobre todo por el gran amorque siempre me da.

A mis padres Susana y Norberto, porque siempre creyeron en mis sueños, porhacerme creer en mí mismo, por su amor, por ser parte de mi motivación y susconsejos y en especial porque siempre me apoyaron y se que seguirán hacién-dolo.

A mi hermano Bryan, ya que al comienzo de mis estudios de maestría se des-velaba conmigo con tal de no dejarme solo estudiando.

A mis abuelos Bertha y Norberto, por sus consejos dados, su crianza y su ense-ñanza desde los primeros días de mi vida hasta hoy en día.

Al Dr. Eric Rincón García y al Dr. Antonin Ponsich por sus consejos, sus ideasy apoyo durante mis estudios de maestría y en la realización de este trabajo. Ala Dra. María Elena Lárraga Ramírez, por aceptar revisar este trabajo y por susbuenos consejos.

Al Posgrado en Optimización de la Universidad Autónoma Metropolitana yal cuerpo académico que lo conforma, por la formación profesional dada.

A la División de Ciencias Básicas e Ingeniería de la Universidad AutónomaMetropolitana Azcapotzalco, por darme el todo de mi formación académica.

Y sin restar importancia, a mis amigos y compañeros, Miguel, Gilberto, Da-vid y Liz, porque siempre se aprende de las experiencias de cada uno y porseguir conmigo en este sueño llamado Optimización.

Page 12: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

12

Page 13: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

13

Índice general

Declaración 3

Resumen 7

Agradecimientos y dedicatoria 11

1. Introducción 23

1.- Aplicaciones de los problemas tipo VRP . . . . . . . . . . . . . . . 23

2.- Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.- Objetivos Particulares . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2. Conceptos básicos 27

1.- Problemas de Ruteo de Vehículos . . . . . . . . . . . . . . . . . . . 27

2.- Problema de Ruteo de Vehículos con Ventanas de Tiempo . . . . . 28

3.- Modelo Matemático para el VRP-TW . . . . . . . . . . . . . . . . . 29

4.- Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.- Métodos de solución exactos . . . . . . . . . . . . . . . . . . 32

4.2.- Métodos Heurísticos . . . . . . . . . . . . . . . . . . . . . . 34

4.2.1.- Técnicas Heurísticas. . . . . . . . . . . . . . . . . . 34

4.2.2.- Técnicas Metaheurísticas. . . . . . . . . . . . . . . 38

4.2.3.- Algoritmos híbridos y de combinación. . . . . . . 40

3. Técnicas de resolución base 43

1.- Descripción de las técnicas . . . . . . . . . . . . . . . . . . . . . . . 43

1.1.- Sistema de Hormigas (AS, por sus siglas en inglés) . . . . . 43

1.2.- Búsqueda Local Iterada (ILS, por sus siglas en inglés) . . . 44

Page 14: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

14

1.2.1.-Búsqueda Local (LS, por sus siglas en inglés) . . . 44

1.2.2.- Perturbaciones . . . . . . . . . . . . . . . . . . . . . 45

1.2.3.- Criterio de Aceptación . . . . . . . . . . . . . . . . 45

1.3.- Búsqueda Armónica (HS, por su siglas en inglés) . . . . . . 46

1.4.- Algoritmo Genético (GA, por sus siglas en inglés) . . . . . 46

1.5.- Algoritmo primal-dual (PDA, por sus siglas en inglés) . . . 46

1.5.1.- Procedimiento general . . . . . . . . . . . . . . . . 48

2.- Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.1.- Lenguaje de programación . . . . . . . . . . . . . . . . . . . 50

2.2.- Gurobi [46] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.2.1.- Manejo de los diferentes tipos de problemas . . . 51

2.2.2.- Formato LP de Gurobi . . . . . . . . . . . . . . . . 51

2.2.2.1.-Sección objetivo. . . . . . . . . . . . . . . . 52

2.2.2.2.-Sección de restricciones. . . . . . . . . . . . 53

2.2.2.3.-Sección límites. . . . . . . . . . . . . . . . . 53

2.2.2.4.-Sección tipo de variable. . . . . . . . . . . 53

4. Estrategias Desarrolladas 55

1.- Adaptaciones de las técnicas base para resolver el VRP-TW . . . . 55

1.1.-Sistema de hormigas . . . . . . . . . . . . . . . . . . . . . . . 55

1.1.1.- Inicialización de Feromonas (en términos de VRP-TW) . . . . . . . . . . . . . . . . . . . . . . . . . 56

1.1.2.- Actualización de Feromonas (en términos de VRP-TW) . . . . . . . . . . . . . . . . . . . . . . . . . 56

1.1.3.- Cálculo de la Probabilidad (en términos de VRP-TW) 56

1.1.4.- Construcción de la Solución . . . . . . . . . . . . . 57

1.2.- Búsqueda Local Iterada . . . . . . . . . . . . . . . . . . . . . 58

1.2.1.- Perturbaciones . . . . . . . . . . . . . . . . . . . . . 59

1.3.- Búsqueda armónica . . . . . . . . . . . . . . . . . . . . . . . 60

1.3.1.- Inicialización de la memoria armónica . . . . . . . 60

Page 15: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

15

1.3.2.- Improvisación de nuevas armonías . . . . . . . . . 61

1.3.3.- Actualización de la memoria armónica . . . . . . . 62

1.4.- Algoritmo genético . . . . . . . . . . . . . . . . . . . . . . . 64

1.4.1.- Selección . . . . . . . . . . . . . . . . . . . . . . . . 64

1.4.2.- Cruza . . . . . . . . . . . . . . . . . . . . . . . . . . 64

1.4.3.- Mutación . . . . . . . . . . . . . . . . . . . . . . . . 65

1.4.4.- Reparación . . . . . . . . . . . . . . . . . . . . . . . 66

2.- Algoritmos híbridos para el VRP-TW . . . . . . . . . . . . . . . . . 67

2.1.- Algoritmo híbrido sistema de hormigas-búsqueda local ite-rada (AS-ILS) . . . . . . . . . . . . . . . . . . . . . . . . . 68

2.2.- Algoritmo híbrido sistema de hormigas-búsqueda armóni-ca (AS-HS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

2.3.- Algoritmo híbrido sistema de hormigas-algoritmo genético(AS-GA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

2.4.- Algoritmo híbrido sistema de hormigas, algoritmo primal-dual y método dual simplex (DSM-AS-PDA) . . . . . . . 72

2.4.1.- Programas lineales relajados . . . . . . . . . . . . . 73

2.4.1.1.-Relajación respecto a ventanas de tiempo eintegralidad . . . . . . . . . . . . . . . 73

2.4.1.2.-Relajación respecto a capacidad vehiculare integralidad . . . . . . . . . . . . . . 73

5. Resultados 75

1.- Metodología de pruebas . . . . . . . . . . . . . . . . . . . . . . . . 75

1.1.- Instancias de Prueba . . . . . . . . . . . . . . . . . . . . . . 75

1.2.- Ajuste de Parámetros . . . . . . . . . . . . . . . . . . . . . . 76

2.- Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

2.1.- Tablas de resultados . . . . . . . . . . . . . . . . . . . . . . . 78

2.2.- Remuestreo de los datos . . . . . . . . . . . . . . . . . . . . 81

2.3.- Normalización de resultados . . . . . . . . . . . . . . . . . . 85

3.-Resultados comparativos . . . . . . . . . . . . . . . . . . . . . . . . 87

4.- Conclusiones y trabajo futuro . . . . . . . . . . . . . . . . . . . . . 90

Page 16: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

16

A. Principales funciones de la interfaz Gurobi C 93

A.1.- Solución de un modelo . . . . . . . . . . . . . . . . . . . . . . . . 93

A.1.1.- Modificación de atributos . . . . . . . . . . . . . . . . . . 93

A.1.2.- Gestión de los parámetros . . . . . . . . . . . . . . . . . . 94

A.1.3.- Seguimiento del Progreso . . . . . . . . . . . . . . . . . . 95

A.2.- Rutinas principales en Gurobi . . . . . . . . . . . . . . . . . . . . 95

A.2.1.- GRBloadmodel . . . . . . . . . . . . . . . . . . . . . . . . 95

A.2.2.- GRBnewmodel . . . . . . . . . . . . . . . . . . . . . . . . 97

A.2.3.- GRBaddvars . . . . . . . . . . . . . . . . . . . . . . . . . . 97

A.2.4.- GRBaddconstr . . . . . . . . . . . . . . . . . . . . . . . . . 98

A.2.5.- GRBoptimize . . . . . . . . . . . . . . . . . . . . . . . . . 98

A.2.6.- GRBcomputeIIS . . . . . . . . . . . . . . . . . . . . . . . . 98

A.2.7.- GRBfeasrelax . . . . . . . . . . . . . . . . . . . . . . . . . 99

B. Modelos matemáticos del VRP-TW utilizados en Gurobi 101

B.1.- Relajación respecto a capacidad vehícular e integralidad . . . . . 101

B.2.- Relajación respecto a ventanas de tiempo e integralidad . . . . . 103

Bibliografía 105

Page 17: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

17

Índice de figuras

2.1. Ejemplificación de solución para VRP. . . . . . . . . . . . . . . . 28

2.2. Ejemplificación de solución para VRP-TW. . . . . . . . . . . . . 29

3.1. Procedimiento algoritmo primal-dual [74]. . . . . . . . . . . . . 50

4.1. Vector solución. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.2. Procedimiento técnica Sistema de Hormigas. . . . . . . . . . . . 58

4.3. Perturbación movimiento doble-puente. . . . . . . . . . . . . . . 59

4.4. Perturbación cadena de expulsión. . . . . . . . . . . . . . . . . . 59

4.5. Perturbación doble intercambio. . . . . . . . . . . . . . . . . . . 60

4.6. Memoria armónica. . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.7. Procedimiento principal búsqueda armónica. . . . . . . . . . . . 63

4.8. Elementos a cruzar. . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.9. Elementos generados por la cruza. . . . . . . . . . . . . . . . . . 65

4.10. Movimiento de mutación. . . . . . . . . . . . . . . . . . . . . . . 66

5.1. Ajuste de parámetros mediante DE. . . . . . . . . . . . . . . . . 77

5.2. Diagrama de caja y bigote de los resultados normalizados. . . . 86

Page 18: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 19: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

19

Índice de tablas

1.1. Ejemplos de aplicaciones del VRP y sus variantes. . . . . . . . . 24

5.1. Casos de prueba. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2. Instancia C101 (10 clientes). . . . . . . . . . . . . . . . . . . . . . 76

5.3. Configuración de parámetros. . . . . . . . . . . . . . . . . . . . . 77

5.4. Resultados obtenidos por AS. . . . . . . . . . . . . . . . . . . . . 78

5.5. Resultados obtenidos por HS. . . . . . . . . . . . . . . . . . . . . 79

5.6. Resultados generados por GA. . . . . . . . . . . . . . . . . . . . . 79

5.7. Resultados obtenidos por AS-ILS. . . . . . . . . . . . . . . . . . . 80

5.8. Resultados generados por AS-HS. . . . . . . . . . . . . . . . . . . 80

5.9. Resultados generados por AS-GA. . . . . . . . . . . . . . . . . . 81

5.10. Resultados generados por DSM-AS-PDA. . . . . . . . . . . . . . 81

5.11. Remuestreo bootstrap para AS. . . . . . . . . . . . . . . . . . . . . 82

5.12. Remuestreo bootstrap para AS-ILS. . . . . . . . . . . . . . . . . . 82

5.13. Remuestreo bootstrap para GA. . . . . . . . . . . . . . . . . . . . . 83

5.14. Remuestreo bootstrap para AS-GA. . . . . . . . . . . . . . . . . . 83

5.15. Remuestreo bootstrap para HS. . . . . . . . . . . . . . . . . . . . . 84

5.16. Remuestreo bootstrap para AS-HS. . . . . . . . . . . . . . . . . . . 84

5.17. Remuestreo bootstrap para DSM-AS-PDA. . . . . . . . . . . . . . 85

5.18. Resultados normalizados. . . . . . . . . . . . . . . . . . . . . . . 86

5.19. Resultados comparativos (1). . . . . . . . . . . . . . . . . . . . . 87

5.20. Resultados comparativos (2). . . . . . . . . . . . . . . . . . . . . 88

5.21. Prueba Wilcoxon de los mejores valores para cada técnica (valorp). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Page 20: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

20

5.22. Prueba Wilcoxon de los mejores valores para cada técnica (valorh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.23. Prueba Wilcoxon para los resultados promedio (valor p). . . . . 89

5.24. Prueba Wilcoxon para los resultados promedio (valor h). . . . . 89

5.25. Prueba Wilcoxon para tiempos de ejecución (valor p). . . . . . . 90

5.26. Prueba Wilcoxon para tiempos de ejecución (valor h). . . . . . . 90

B.1. Instancia de muestra. . . . . . . . . . . . . . . . . . . . . . . . . . 101

Page 21: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

21

Lista de abreviaturas

API Application Programming Interface (Interfaz deprogramación de aplicaciones)

AS Ant System (Sistema de hormigas)AS-GA Ant System - Genetic Algorithm (Sistema de hormigas-

Algoritmo genético)AS-HS Ant System - Harmonic Search (Sistema de hormigas-

Búsqueda armónica)AS-ILS Ant System - Iterated Local Search (Sistema de hormigas-

Búsqueda local iterada)BW Band Width (Ancho de banda)DE Differential Evolution (Evolución diferencial)DRP Dual Restricted Primal (Primal dual restringido)DSM-AS-PDA Dual Simplex Ant System - Primal Dual Algorithm (Dual simplex,

Sistema de hormigas-Algoritmo primal dual)DSM Dual Simplex Method (Método dual simplex)GA Genetic Algorithm (Algoritmo genético)HM Harmonic Memory (Memoria armónica)HMCR Harmony Memory Considering Rate (Razón de exploración)HMS Harmonic Memory Size (Tamaño de la memoria armónica)HS Harmonic Search (Búsqueda armónica)ILS Iterated Local Search (Búsqueda local iterada)LP Linear Program (Programa lineal)LS Local Search (Búsqueda local)PAR Pitch Adjustment Ratio (Razón de ajuste de tono)PDA Primal Dual Algorithm (Algoritmo Primal-Dual)RP Restricted Primal (Primal restringido)TSP Traveling Salesman Problem (Problema del agente viajero)VRP Vehicle Routing Problem (Problema de ruteo de vehículos)VRP-TW Vehicle Routing Problem with Time Windows (Problema de

ruteo de vehículos con ventanas de tiempo)

Page 22: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 23: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

23

Capítulo 1

Introducción

Los problemas de logística y de transporte son tratados como problemas deinterés económico, porque se busca generar soluciones que minimicen diver-sos aspectos tales como la longitud de las rutas, el número de vehículos, lostiempos generados para cada ruta, entre otros. Además, el interés económico,también se debe a la gran cantidad de aplicaciones del mundo real.

En logística existen varios problemas que debido a su complejidad se vuel-ven de gran interés para la ciencia. Se pueden ver involucradas una serie dedisciplinas como la investigación de operaciones, la inteligencia artificial, opti-mización, entre otras.

Debido a lo anterior, a lo largo de los años se ha planteado una serie de pro-blemas de optimización en logística tales como el problema del agente viajero(Traveling Salesman Problem, o TSP) y el problema de ruteo de vehículos (VehicleRouting Problem, o VRP), los cuales han sido ampliamente estudiados debidoa su complejidad [82, 78, 84]. Además,se han propuesto diversas variacionesagregando restricciones, que han dado lugar a nuevos problemas.

En este trabajo se aborda el problema de ruteo de vehículos con ventanasde tiempo (Vehicle Routing Problem with Time Windows, o VRP-TW) a través detécnicas metaheurísticas, algoritmos híbridos y una matheurística. El VRP-TWimplica el cumplimiento de las restricciones temporales (tiempo en el que sesirve a cada cliente), las cuales provocan que las soluciones factibles sean pocasy diversas entre sí. Esto lleva a que la dificultad de encontrar las solucionesóptimas en corto tiempo para una instancia en particular sea aún mayor queen el VRP tradicional.

1.- Aplicaciones de los problemas tipo VRP

En la Tabla 1.1 se hace notar que el campo de aplicación del tipo de pro-blemas VRP es muy amplio, debido a que en la industria el problema de dis-tribución de productos y, en general, los problemas de transporte son de sumaimportancia para el correcto funcionamiento en los sistemas logísticos.

Page 24: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

24 Capítulo 1. Introducción

Área económica AplicaciónTransporte de materiales Combustible, gas natural, hormigón.Salud Reparto de medicamentos a farmacias.Banca Reparto y recolección de dinero en efectivo.Sector público Recolección de basura,reparto de correo.Servicios Reparación de electrodomésticos a domicilio.Industria Suministro de piezas o mercancías entre almacenes.Educación Rutas de autobuses escolares.Defensa Rutas de aviones espías, logística militar.Transporte Planificación de flotas vehículares.

TABLA 1.1: Ejemplos de aplicaciones del VRP y sus variantes.

2.- Objetivo General

Diseñar, implementar, probar y caracterizar al menos tres métodos híbridosaplicados al Problema de Ruteo de Vehículos con Ventanas de Tiempo (VRP-TW), cuyo desempeño mejore respecto a métodos reportados en la literatura.

3.- Objetivos Particulares

1. Identificar las características particulares del VRP-TW.

2. Revisar el estado del arte para el VRP-TW y las técnicas utilizadas parasu resolución.

3. Identificar las principales características de los métodos utilizados conmejores resultados.

4. Diseñar varias estrategias que combinen de manera sinérgica los elemen-tos identificados para atacar las problemáticas del VRP-TW.

5. Desarrollar métodos híbridos utilizando técnicas exactas y técnicas heu-rísticas.

6. Realizar el ajuste de parámetros para cada uno de los métodos desarro-llados.

7. Probar los métodos desarrollados y analizar si se pueden mejorar.

8. Realizar las pruebas estadísticas y comparaciones de cada método desa-rrollado y los métodos presentados en la literatura.

La estructura del presente trabajo a fin de lograr los objetivos propuestos,es la siguiente; en el Capítulo 2 se muestran los conceptos principales para la

Page 25: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

3.- Objetivos Particulares 25

realización del mismo, el modelo matemático del VRP-TW, así como un resu-men de la revisión del estado del arte para problemas tipo VRP. En el Capítulo3 se describen las técnicas originales utilizadas, en el Capítulo 4 se presentanlas modificaciones realizadas a las técnicas base y los algoritmos híbridos rea-lizados, con el fin de resolver de manera eficiente el VRP-TW.

En el Capítulo 5 se muestran los resultados obtenidos con las técnicas im-plementadas, donde se observa que los algoritmos híbridos AS-GA, AS-HS yDSM-AS-PDA obtienen los mejores resultados, utilizando menos llamadas a lafunción objetivo y mostrando un comportamiento más robusto respecto a lastécnicas que se reportan en la literatura.

Para justificar los resultados numéricos, se realizó el remuestreo de los da-tos del comportamiento de cada una de las técnicas desarrolladas y la pruebade Wilcoxon para demostrar que los resultados promedio y tiempos de cómpu-to, son estadísticamente diferentes respecto a las técnicas mostradas en la lite-ratura.

Page 26: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 27: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

27

Capítulo 2

Conceptos básicos

1.- Problemas de Ruteo de Vehículos

El problema de distribuir productos desde los depósitos hacia su destino esde gran importancia en muchos sistemas logísticos, por lo cual, en los últimosaños se han utilizado ciertas técnicas de optimización como herramientas parauna adecuada planificación, ya que esta puede traer considerables ahorros, de-bido a que se estima que los costos de transporte representan entre un 10 % y20 % del costo final de los productos [92].

Dada esta forma surge el problema del ruteo de vehículos (VRP), el cualtiene un depósito central que cuenta con una flota de vehículos y un conjun-to de clientes que se encuentran geográficamente distribuidos que deben seratendidos. El objetivo del VRP es minimizar el costo requerido para entregarlos productos solicitados por un conjunto de clientes mediante la creación derutas que se originan y terminan en el depósito.

Además, cada cliente es atendido una sola vez y el conjunto de clientesdebe ser atendido en su totalidad, para lo cual a cada vehículo se le asigna unsub-conjunto de clientes que debe visitar, satisfaciendo la demanda de estos sinexceder su capacidad.

Los problemas de ruteo de vehículos han sido de gran interés científico de-bido a que se demostró que pertenecen a la clase de problemas NP-duro1.[61]y a la gran cantidad de campos de aplicación que estos tienen; como son, trans-porte, logística, comunicaciones, manufactura, estrategia militar, entre otros[73].

En la Figura 2.1 se muestra una de las formas de representar una soluciónpara el VRP, en donde, cada vehículo parte del depósito y regresa al mismodespués de visitar a un conjunto de clientes asignados.

1NP-duro, es la clase de problemas, tales que, si fuesen polinómicos, se verificaría P=NP

Page 28: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

28 Capítulo 2. Conceptos básicos

FIGURA 2.1: Ejemplificación de solución para VRP.

2.- Problema de Ruteo de Vehículos con Ventanas de Tiem-po

Una forma de extender el VRP tradicional consiste en agregar un conjuntode restricciones que permitan asociar una ventana de tiempo a cada cliente, deesta manera se define un intervalo u horario en el que cada cliente debe seratendido, surgiendo así el VRP-TW [84].

En este problema, el tiempo en el que se inicia el servicio a un cliente debeser mayor o igual al inicio de su ventana de tiempo, y el instante en que sellega a cada cliente debe ser menor o igual al fin de su ventana de tiempo. Siun vehículo llega a la ubicación de un cliente antes del inicio de su ventana detiempo, debe esperar el horario indicado para servir al cliente.

En la Figura 2.2 se ilustra la forma en que se trabaja una solución para elVRP-TW en donde, al igual que en la ejemplificación de solución para VRP(Figura 2.1), cada vehículo parte del depósito y visita a un sub-conjunto declientes asignados satisfaciendo la demanda de estos sin sobrepasar su capa-cidad, sin embargo, para este tipo de problema también se satisface el límitetemporal en el cual el vehículo debe atender a cada cliente.

Page 29: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

3.- Modelo Matemático para el VRP-TW 29

FIGURA 2.2: Ejemplificación de solución para VRP-TW.

3.- Modelo Matemático para el VRP-TW

En esta sección se presenta el modelo del VRP-TW, para lo cual se requierede la siguiente notación [19]:

G = (Cl,A); gráfica completa no dirigida.Cl = {cl0, cl1, cl2, ..., cln}; conjunto de nodos (clientes), donde cl0 es el nododepósito.A = (i, j) : i, j ∈ Cl, i 6= j; conjunto de aristas que unen a todos los clientes i yj.C = (Cij); costo de moverse desde el cliente i hacia el cliente j.di ∈ Z+; demanda del cliente i.k; número de vehículos pertenecientes a la flota.Q ∈ Z+; capacidad de los vehículos.

Se consideran las variables de decisión:

Xvij =

{1, si el vehículo v viaja del cliente i al cliente j ;0, en otro caso.

Por último las variables auxiliares:

Page 30: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

30 Capítulo 2. Conceptos básicos

Yiv = Cantidad entregada por el vehículo v al cliente i.bvi = Hora de llegada del vehículo v al cliente i.

En esta variante del problema, como se detalla en la sección anterior, ade-más de capacidades sobre los vehículos, cada cliente cli ∈ Cl\cl0 tiene asociadauna ventana de tiempo [ei, li] que establece un horario de servicio permitidopara que un vehículo arribe a él y un tiempo de servicio o demora si (tiempode descarga o entrega de mercancía).

Por ejemplo, si el camino entre los clientes (i, j) es parte de una solución,bi y bj son las horas de arribo a los clientes i y j respectivamente, entonces lasventanas de tiempo implican que debe cumplirse bi ≤ li y bj ≤ lj . Además, seconsideran las constantes tij , que tienen como valor, la distancia existente entrelos clientes i y j.

El modelo de programación matemática para el VRP-TW es el siguiente[19]:

Función objetivo:

Minimizar

n∑i=0

n∑j=0

k∑v=1

CijXvij (2.1)

Sujeto a:

n∑i=0

k∑v=1

Xvij = 1; ∀ j = 1, ..., n (2.2)

n∑j=1

Xv0j = 1; ∀ v = 1, ..., k (2.3)

n∑i=1

Xvi0 = 1; ∀ v = 1, ..., k (2.4)

n∑i=0

Xvip −

n∑j=0

Xvpj = 0; ∀ p = 0, ..., n; v = 1, ..., k (2.5)

Yiv = di

n∑j=0

Xvji; ∀ i = 1, ..., n; v = 1, ..., k (2.6)

n∑i=0

Yiv ≤ Q ∀ v = 1, ..., k (2.7)

ei ≤ bvi ≤ li ∀ i, j = 0, ..., n; v = 1, ..., k (2.8)

Xvij(b

vi + si + tij − bvj ) ≤ 0 ∀ i = 1, 2, ..., n, v = 1, 2, ..., k (2.9)

Xvij ∈ {0, 1} y Yiv ≥ 0; ∀ i = 1, ..., n; v = 1, ..., k (2.10)

Page 31: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

4.- Estado del Arte 31

El conjunto de restricciones (2.2) asegura que cada cliente debe ser visitadosólo por un vehículo. Las restricciones (2.3) aseguran que cada vehículo partasolo una vez del depósito, mientras que el conjunto de restricciones (2.4) ase-gura que cada vehículo regrese al depósito. Las restricciones (2.5) hacen quecada vehículo al arribar a la ubicación de un cliente, salga de esta (restriccióde transbordo). El conjunto de restricciones (2.6) impone que la cantidad entre-gada al cliente i por el vehículo v sea satisfecha en su totalidad. La restricción(2.7) impone que la cantidad entregada en cada ruta no exceda la capacidad delvehículo. La restricción (2.8) asegura que los límites de las ventanas de tiemposon respetados. La restricción (2.9) asegura que cada vehículo v no pueda ini-ciar el servicio a cierto cliente j, si la suma del tiempo de transporte entre losclientes i y j, la duración del servicio para el cliente i y el tiempo de llegadaal cliente i, es mayor que la ventana de tiempo para el cliente j. La restricción(2.10) define el tipo de las variables utilizadas. Finalmente, la función objeti-vo (2.1) busca minimizar el costo total de las rutas asignadas al conjunto devehículos.

4.- Estado del Arte

En esta sección se describen los principales avances y técnicas que se handesarrollado desde la década de los años 50 para el VRP-TW, donde se muestrala descripción de las principales aportaciones en cada uno de los campos detécnicas de resolución, así como el surgimiento de esta clase de problemas.

En 1956, Flood desarrolló el primer problema planteado tipo VRP (aun-que en esa fecha todavía no se conocía el concepto VRP) el cual fue elproblema del agente viajero o TSP [37].

El primer trabajo donde se plantea el VRP fue presentado por Dantzig yRamser en 1959, quienes además propusieron una formulación matemá-tica [21].

En [68] se encuentra la primera referencia del TSP múltiple o m-TSP conMiller, Tucker y Zemlin. Este problema es una generalización del TSP enla cual se tiene un depósito y m agentes viajeros.

En 1964, Clarke y Wright propusieron el primer algoritmo que resultóefectivo para resolver el VRP, conocido como el algoritmo de ahorros[15].

En el año 1967 aparece el VRP-TW [78], el cual presenta las variacionestales como el VRP-TD (VRP with time deadlines, ventanas con fechasde entrega) en 1986 [9] [88], el VRP-MTW (VRP con ventanas de tiempomúltiples) el cual fue formulado en 1988 [85]; y VRP-STW (VRP with softtime windows, ventanas blandas de tiempo) en 1992 [57].

Además en 1981, Rinooy Kan y Lenstra demostraron que este tipo deproblemas se encuentra dentro de la clase NP-duro [61].

Page 32: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

32 Capítulo 2. Conceptos básicos

En la actualidad, las técnicas para resolver distintas instancias del tipo deproblemas VRP difieren entre sí dependiendo de la clase de algoritmos a la quepertenecen; es decir, si están basadas en programación lineal, o son técnicasheurísticas clásicas o metaheurísticas [54].

4.1.- Métodos de solución exactos

Estos métodos parten de una formulación como modelos de programaciónlineal o modelos de programación entera, y llegan a una solución factible enteragracias a los algoritmos de acotamiento del conjunto de soluciones factibles.Por otro lado, se reporta que los métodos exactos son eficientes en problemasde hasta 50 clientes [2] debido a restricciones de tiempo computacional.

En general, los métodos de solución exactos pueden clasificarse principal-mente en cuatro grupos:

1. Técnicas de relajación.

2. Búsqueda directa de árbol.

3. Programación dinámica.

4. Programación lineal entera.

Los cuales se describen de la siguiente forma:

Técnicas de relajación: Cuando se trabaja un problema de programa-ción lineal entera, se pueden relajar las restricciones de integralidad, ob-teniendo una relajación lineal, el cual es un problema de programaciónlineal continua y por tanto, más sencillo de resolver que el problema ori-ginal. A continuación, se muestran las mejores técnicas de relajación quese aplican a los problemas del tipo VRP:

1. Relajación lagrangeana. Fue introducida por Held y Karp [48] [49](1970, 1971), en la implementación de un algoritmo exacto para elTSP con la que se obtuvieron resultados prometedores, y posterior-mente, ha sido utilizada con éxito en la resolución de otros proble-mas de optimización combinatoria. Muchos problemas de optimi-zación complicados, son realmente problemas sencillos con un con-junto relativamente pequeño de restricciones complicadas, que alte-ran su estructura y son las responsables de su gran complejidad. LaRelajación lagrangeana consiste en relajar dichas restricciones com-plicadas y penalizar su violación en la función objetivo a través depesos determinados, obteniendo una relajación del problema inicialmás sencilla de resolver. En [34] y [33] se puede encontrar informa-ción detallada acerca de esta técnica.

Page 33: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

4.- Estado del Arte 33

2. Descomposición de Dantzig-Wolfe. Fue introducida por Dantzig yWolfe (1960, 1961) [22] [23], se aplica a problemas de programaciónlineal en las que existe un pequeño grupo de restricciones generalesen las que aparecen todas las variables del problema y el resto de res-tricciones se pueden dividir en grupos que involucran subconjuntosdisjuntos de variables.

3. Generación de Planos de Corte. Un plano de corte es una restricciónválida para un problema de optimización que se añade a la formula-ción de una relajación, eliminando la solución óptima de dicha rela-jación y sin eliminar alguna solución factible del problema original.El objetivo de la introducción de planos de corte es conseguir unasucesión de relajaciones cada vez mejores, con las que se obtienencotas inferiores próximas a la solución óptima del problema origi-nal.

Métodos de Búsqueda Directa de Árbol: En estos métodos, la búsquedase realiza sobre todos los nodos de un árbol siguendo ciertos criteriosespecíficos propios de cada método [58]. Una descripción breve de lasprincipales técnicas pertenecientes se muestra a continuación.

1. Algoritmo de Ramificación y Corte (Branch & Cut): Propuesto porGomory en 1958 [44]. Este método resuelve programas lineales sinrestricciones enteras utilizando algoritmos simples. Cuando se ob-tiene una solución óptima que tiene un valor no entero para unavariable que ha de ser entera, se utiliza el algoritmo de planos cor-tantes.

2. Algoritmo de Búsqueda de Árbol: Propuesto por Dakin en 1964[20]. Para este método, una solución factible se divide en cuatro par-tes; las aristas que no pertenecen al árbol, las aristas que forman elárbol, las aristas que son incidentes en el primer vértice y las aristasque no son incidentes en el primer vértice. Estos se traducen en res-tricciones en el modelo matemático y la función objetivo consiste ensumar el costo de todas las aristas en la solución.

3. Algoritmo de Ramificación y Acotamiento (Branch & Bound): Pro-puesto por Little et al. en 1968 [63]. Este método consiste en recorrercada nodo del árbol desde el nivel superior hasta los nodos hoja,resolviendo en cada uno, un programa lineal y determina qué no-dos pueden eliminarse. El algoritmo termina cuando todos los no-dos han sido revisados y la solución óptima es la de mayor cotainferior.

4. Asignación de cota inferior: Propuesto por Laporte et al. en 1986[59]. Consiste en asignar una cota inferior que permite disminuir elnúmero de vehículos requeridos para visitar todos los clientes. Estose realiza por medio del m-TSP, como relajación del VRP, propor-cionando una cota superior para el número de vehículos y transfor-mándolo en un TSP.

Page 34: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

34 Capítulo 2. Conceptos básicos

Programación Dinámica: Este método fue propuesto por Eilon et al., en1971 [31]. En el cual se considera un número fijo de m vehículos. Se en-cuentra primero el costo mínimo alcanzable utilizando un subconjunto kde vehículos, teniendo en cuenta la función del costo en la longitud deuna ruta, a través de todos los vértices del subconjunto, luego encuentrael costo de todos los subconjuntos de vértices con los m vehículos [58].

Programación Lineal y Entera: A continuación se describen las tres téc-nicas comprendidas dentro de esta clasificación [58]:

1. Conjunto de particiones y generaciones de columnas: Propuesto porBalinski y Quandt en 1964 [3]. Esta técnica consiste en resolver elproblema lineal por medio de la aplicación del Método Simplex; sinembargo, dada la enorme cantidad de columnas (asignaciones fac-tibles) para cada vehículo, en lugar de evaluar todas las columnasrespecto a su costo reducido, para determinar cual debe adicionarsea la base, se debe encontrar la columna con el mayor costo reducido.

2. Formulación de flujo de vehículos de dos índices: Propuesto porFisher y Jaikumar en 1978 [35]. Aquí se introdujo la idea de utilizarlas variables binarias xij para determinar si la arista (i, j) se utiliza ono en la solución.

3. Formulación de flujo de vehículos de tres índices: Propuesto porFisher y Jaikumar en 1978 [35]. En las formulaciones basadas en ín-dices, se agregan ya sea 2 o 3 índices al programa lineal original delVRP, para así discriminar entre los vehículos (3er índice).

4. En 2006 Chen et al., propusieron un Programa Lineal Entero-Mixtopara resolver el VRP-TW [12].

4.2.- Métodos Heurísticos

4.2.1.- Técnicas Heurísticas.

Las técnicas heurísticas proporcionan soluciones de aceptable calidad me-diante una exploración limitada del espacio de búsqueda [71]. Clarke y Wright[15], propusieron el primer método que resultó efectivo para resolver el VRP. Eldesarrollo de las técnicas heurísticas clásicas para resolver el VRP se dió entre1960 y 1990, las cuales se pueden dividir en tres grupos:

1. Métodos constructivos.

2. Métodos de dos fases.

3. Heurísticas de mejora.

Los cuales se describen de la siguiente forma:

Page 35: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

4.- Estado del Arte 35

Métodos constructivos: Dentro de este grupo se encuentran los algorit-mos de ahorros y las heurísticas de inserción, los cuales son ampliamenteconocidos dentro del campo de la investigación de operaciones. Los al-goritmos de ahorros se desarrollan como se muestra a continuación:

1. Algoritmo de Ahorros: Propuesto por Clarke y Wright en 1964 [15].En esta técnica, si en una solución se tienen dos rutas diferentes(0, ..., i, 0) y (0, j, ..., 0) se combinan formando una nueva ruta (0, ...,i, j, ..., 0), el ahorro (en distancia) obtenido por dicha unión es defi-nido como sij = ci0 + c0j − cij , por lo que en la nueva solución lasaristas (i, 0) y (0, j) no serán utilizadas y se agrega la arista (i, j).

2. Mejoras del Algoritmo de Ahorros: Propuestas por Gaskell en 1967[39] y Yellow en 1970 [96]. Para evitar algunas problemáticas del al-goritmo original, se parte de la relación que a menor distancia entreclientes, mayor ahorro hay en los costos, por lo que se verá reflejadoen la solución final. Sin embargo, el algoritmo tiende a formar rutascirculares, para lo cual se introduce un parámetro λ llamado formade la ruta, el cual evita la formación de rutas circulares mientras seva construyendo una solución.

3. Algoritmo de Ahorros basado en acoplamientos: Propuesto porDesrochers y Verhoog en 1989 [24]. A diferencia del algoritmo ori-ginal, se decide la union a realizar considerando cómo afecta esta alas posibles uniones en iteraciones siguientes. Para esto, se conside-ra una gráfica que tiene a todas las rutas como nodos y una aristaentre dos nodos p y q cuyo peso es el ahorro obtenido si las rutascorrespondientes se combinan (siempre que la combinación sea fac-tible). Un acoplamiento de peso máximo sobre dicha gráfica da unconjunto de combinaciones a realizar.

4. Heurística de construcción paralela-adaptativa: Propuesta por Pengen 2011 [75]. Esta técnica es eficiente y eficaz para la construcción derutas, que es particularmente útil para la generación de las solucio-nes iniciales para muchas metaheurísticas, para obtener solucionesiniciales de calidad.

Por otra parte, los trabajos realizados con las heurísticas de inserción selistan de la siguiente forma:

1. Heurísticas de inserción secuencial: Propuesto por Mole y Jamesonen 1976 [69]. En esta técnica se utilizan dos medidas para decidir elpróximo cliente a insertar en la solución parcial. Por un lado, paracada cliente no visitado se calcula la mejor posición para ubicarloen la ruta actual teniendo en cuenta solamente las distancias y sinreordenar los nodos que ya están en la ruta. Por lo que es necesarioutilizar un incentivo adicional para la inserción de clientes lejanos aldepósito.

2. Heurísticas de inserción en paralelo: Propuesto por Christofides,Mingozzi y Toth en 1979 [14]. Esta técnica opera en dos fases. En la

Page 36: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

36 Capítulo 2. Conceptos básicos

primera fase se determina la cantidad de rutas a utilizar, junto conun cliente para inicializar cada una de las rutas. En la segunda fasese crean dichas rutas y se inserta el resto de los clientes en ellas.

3. Heurística de inserción guiada: Propuesta por Yuichi y Olli en 2009[70]. La técnica primero minimiza el número de vehículos para man-tener temporalmente sin servicio a los clientes, lo que permite que latécnica pase por el espacio de soluciones factibles. A continuación,se reduce al mínimo la distancia del recorrido total, utilizando unalgoritmo de ascenso a la montaña multi-arranque, permitiendo a latécnica buscar en un vecindario más grande.

Métodos de dos fases: Dentro de estos métodos se encuentran los méto-dos de asignación elemental, el algoritmo de ramificación y acotamientotruncados, el algoritmo de los pétalos, el método de rutear primero y asig-nar después y los procedimientos de búsqueda local. A continuación selistan estas técnicas:

1. Métodos de asignación elemental:

1.1. Algoritmo de barrido: Propuesto por Wren en 1971 [95]. Con-siste en formar inicialmente agrupamientos girando una semi-rrecta con origen en el depósito e incorporando los clientes has-ta violar la restricción de capacidad. Una ruta de vehículos esobtenida para el aglomerado resolviendo un TSP.

1.2. Algoritmo basado en asignación generalizada: Propuesto porFisher y Jaikumar en 1981 [36]. Consiste en dos fases, la primerafase consiste en escoger los vértices semilla para construir losagrupamientos. En la segunda fase se asignan los vértices a cadaagrupamiento sin violar la capacidad del vehículo resolviendoun GAP.

1.3. Heurística basada en localización: Propuesto por Bramel y Simchi-Levi en 1995 [11]. Consiste en establecer las rutas iniciales comoun problema de localización con capacidades y los vértices res-tantes son incluidos en la ruta asignada en una segunda etapa.Para satisfacer las restricciones de capacidad y minimización delos costos, se debe decidir sobre las rutas, que vertices inicialesy terminales conectan cada ruta. Las rutas de los vehículos seconstruyen entonces, insertando en cada paso, el cliente asigna-do para que las rutas tengan el menor costo de inserción.

2. Algoritmo de ramificación y acotamiento truncados: Propuesto porChristofides, Mingozzi y Toth en 1979 [14]. En esta técnica el árbolde búsqueda tiene tantos niveles como rutas, y a su vez, cada nivelcontiene un conjunto de rutas, para ello se propone una implemen-tación en la cual se asigna una rama en cada nivel y una se descarta.

3. Métodos de asignar primero y rutear después: Propuesto por Fis-her y Jaikumar en 1981 [36]. Consiste en dos fases, en la primerase busca generar grupos de clientes que estarán en una misma ru-ta de la solución final, para esto se busca satisfacer la demanda del

Page 37: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

4.- Estado del Arte 37

vehículo. Para la segunda etapa, con esos aglomerados se resuelveun TSP para cada ruta.

4. Métodos de rutear primero y asignar después: Propuesto por Beas-ley en 1983 [4]. Esta técnica se divide en dos fases. En la primera secalcula una ruta que visita a todos los clientes resolviendo un TSP.Luego en la segunda fase, esta ruta se descompones en varias rutasfactibles, teniendo en cuenta la solución de la primera fase se deter-mina la mejor partición satisfaciendo la capacidad del vehículo.

5. Algoritmo de los pétalos: Propuesto por Ryan, Hjorring y Gloveren 1993 [82]. Esta técnica, surge como extensión del algoritmo debarrido y se utiliza para generar diversas rutas llamadas pétalos conel fin de hacer una selección final. Se dispone de un conjunto derutas, en donde, cada cliente es visitado por varias rutas y se debeseleccionar un subconjunto de las mismas que visite exactamenteuna vez cada cliente.

Heurísticas de mejora: Mejor conocidos como procedimientos de bús-queda local. Estos métodos se aplican para mejorar una solución ya ob-tenida. En estos procedimientos se define un conjunto de soluciones ve-cinas y parte de una solución inicial (generalmente aleatoria), para luegoremplazarla por una solución vecina con menor costo. El procedimientose repite hasta que no pueda mejorar la solución.

A continuación se listan los principales métodos de búsqueda local:

1. El operador de intercambio λ: Propuesto por Lin en 1965 [62]. Se di-ce que un intercambio λ consiste en eliminar λ aristas de la soluciónV y reconectar los λ segmentos restantes. Una solución es óptima sino puede ser mejorada utilizando λ intercambios.

2. El algoritmo de Lin-Kernighan: Propuesto en 1973 [62]. Esta técni-ca utiliza la idea de intercambiar un subconjunto de arcos por otro,donde dichos subconjuntos (y su cardinalidad) se modifican durantela ejecución del algoritmo. Es decir, se deben determinar dos conjun-tos de aristas x1, ..., xk e y1, ..., yk, tales que al realizar un intercambioentre estas disminuya el costo de la solución. Las aristas x deben serparte de la ruta, ambos conjuntos deben ser disjuntos y, además, eli-minar las aristas x y agregar las aristas y formando una ruta cerrada.

3. El operador Or-opt: Propuesto por Or en 1976 [72]. Consiste en eli-minar una secuencia de k clientes consecutivos de la ruta y colocar-los en otra posición de la ruta, de modo que permanezcan consecu-tivos y en el mismo orden.

4. GENI y GENIUS: Propuesto por Gendreau et al. en 1992 [41]. Sur-gen dentro de un método de solución para el TSP y tienen comoprincipal característica que la inserción de un cliente en una ruta nonecesariamente ocurre entre dos clientes adyacentes.

5. Algoritmos de transferencias cíclicas: Propuesto por Thompson yPsaraftis en 1993 [91]. Son movimientos multi-ruta que intentan eli-minar clientes de una ruta y reubicarlos en otra de manera cíclica.

Page 38: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

38 Capítulo 2. Conceptos básicos

También existe un movimiento que consiste en mover clientes deuna ruta a otra en la misma posición.

6. Operadores de Van Breedam: Propuestos en 1995 [93]. El prime-ro denominado Cadena de Traslado (String Relocation), se define comouna secuencia de m nodos que es transferida de una ruta a otra man-teniendo el orden en la ruta original. El segundo, denominado Cade-na de Intercambio (String Exchange), se intercambia una secuencia dem clientes con una secuencia de n clientes entre dos rutas.

4.2.2.- Técnicas Metaheurísticas.

Las metaheurísticas se desarrollan a partir de los años 90 y se caracterizanporque realizan un procedimiento de búsqueda para encontrar soluciones deaceptable calidad. Estas técnicas están diseñadas para resolver problemas di-fíciles de optimización, en los que las heurísticas clásicas no son efectivas nieficientes. Dentro de estas, se encuentran el recocido simulado, redes neurona-les, búsqueda tabú, algoritmos genéticos, algoritmos de hormigas y búsquedade vecindades variables, etc.

A continuación se muestra el listado de las principales metaheurísticas apli-cadas al VRP:

1. Búsqueda en vecindades variables: Propuesta por Hansen y Mladeno-vic en 1974 [47]. En esta técnica, se realiza una búsqueda local, en la cual,se lleva a cabo distintos cambios de vecindarios; aquí, generalmente serealizan vecindarios con cambios pequeños al inicio y conforme al pasode la búsqueda, se utilizan vecindarios con cambios más fuertes o vis-ceversa. Por otro lado, para evitar que la búsqueda se vuelva aleatoriaes recomendable utilizar distintos tamaños de vecindario al inicio de labúsqueda y cuando esta se encuentra avanzada.

2. Algoritmos genéticos: Propuestos por Holland en 1975 [51]. Esta técnicaestá inspirada en la teoría de la evolución darwiniana, se parte de unapoblación inicial de individuos que representan soluciones iniciales. Se-guidamente, la población evoluciona mediante la aplicación de operado-res evolutivos que combinan y modifican a los individuos de la poblacióncreando una nueva. Habitualmente se trabajan tres operadores genéticos:selección, cruza y mutación.

3. Recocido simulado: Propuesto por Kirkpatrichk et al., en 1983 [56]. Estametaheurística está inspirada en el proceso de recocido del acero y ce-rámicas, una técnica que consiste en calentar y luego enfriar lentamenteel material para variar sus propiedades físicas. El calor causa que los áto-mos aumenten su energía y que puedan así desplazarse de sus posicionesiniciales; el enfriamiento lento les da mayores probabilidades de recrista-lizar en configuraciones con menor energía que la inicial (óptimo local).

Page 39: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

4.- Estado del Arte 39

3.1. Recocido simulado determinístico: Propuesto por Dueck y Scheu-rer en 1990 [29]. A diferencia del Recocido Simulado original, sepropone una actualización determinista que acepta reordenamien-tos que conducen a soluciones de un mayor costo, y así ampliar elespacio de busqueda.

4. Redes neuronales: Propuestos por Hopfield y Tank en 1985 [53]. Se de-finen como un paradigma de auto-aprendizaje y procesamiento automá-tico inspirado en la forma en que funciona el sistema nervioso. Se tratade un sistema de interconexión de neuronas que colaboran entre sí paraproducir un estímulo de salida (en este caso soluciones).

5. Búsqueda tabú: Propuesta por Glover en 1986 [42]. Consiste en realizaruna búsqueda local aceptando soluciones que mejoran el comportamien-to del costo de tal manera que en cada iteración se desplaza de una so-lución (st) a otra mejor (st+1) dentro de un subconjunto de solucionescercanas. Como st+1 no necesariamente es el menor costo, se utiliza unamemoria de corto plazo que registre algunos atributos de soluciones yavisitadas.

5.1. Procedimiento de memoria adaptativa: Propuesta por Rochat y Tai-llard en 1994 [81]. Estas estrategias son favorables para encontrarsoluciones a los problemas debido a que desarrollan una búsquedainteligente, basada en el empleo de estructuras de memoria.

6. Algoritmos de hormigas: Popuestos por Dorigo et al., en 1992 [25]. Estatécnica, está inspirada en la forma en que las hormigas se mueven paraencontrar alimento. Cada hormiga, al recorrer un camino deja un rastrode feromona, el cual guiará a otras hormigas a seguirlo; mientras máshormigas recorran este camino, se fortalecerá con su feromona. Entonces,la feromona se acumulará mayormente en los caminos cortos.

En 2005 Cho y Wan [13] presentan un metaheurística que se basa en acep-tar y combinar con el vecino más próximo, y procedimientos de cambio pararesolver el VRP-TW. En ese año, Bouthillier y Crainic [10] proponen una me-taheurística paralela, basada en re-alojamiento de los depósitos.

Por otro lado, Potvin et al. [52] proponen un híbrido de dos fases, donde elobjetivo de la primera fase es la minimización del número de vehículos, mien-tras que el objetivo de la segunda fase es minimizar la distancia total mediantebúsqueda tabú. En ese mismo año, una metaheurística eficaz, fue propuesta, lacual consiste en una evolución activa guiada para el VRP-TW. Por último, enel año 2011 en [38] propusieron un algoritmo evolutivo multi-objetivo para elVRP-TW.

Page 40: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

40 Capítulo 2. Conceptos básicos

4.2.3.- Algoritmos híbridos y de combinación.

Se crean tomando ideas y métodos de los algoritmos exactos y las técni-cas heurísticas. Dumitrescu y Stützle [30] describen que existen hibridacionescentrándose en la búsqueda local que son reforzadas por el uso de algoritmosexactos. Puchinger y Raidl [77] definen dos principales ramas de algoritmoshíbridos, las cuales se definen de la siguiente forma:

1. Combinaciones colaborativas: Significa que los algoritmos intercambianinformación, pero no son parte de los otros. Los métodos exactos y heu-rísticos pueden ser ejecutados de forma secuencial, entrelazados o en pa-ralelo.

2. Combinaciones integradoras: Por integración se entiende que una técnicaes un componente incrustado subordinado de otra. Por lo tanto, hay unadistinción de la técnica que trabaja como principal, que puede ser tantoexacta como heurística, y al menos un receptor integrado.

Durante los últimos años, numerosos estudios han sido realizados para ge-nerar buenas soluciones para el VRP-TW con algoritmos genéticos híbridos condiferentes heurísticas de construcción [8, 6], búsquedas locales [54, 90] y otrasmeta-heurísticas tales como búsqueda tabú [50] y algoritmos de hormigas [5].

Los principales algoritmos híbridos propuestos en los últimos años se pre-sentan a continuación:

1. Algoritmo genético híbrido generacional. Propuesto por Khanh et al.,en 2014 [55]. En esta técnica se utiliza un algoritmo genético, en el cual serealiza una búsqueda local para el proceso de cruza a partir de las solucio-nes generadas hasta el momento por el algoritmo, es decir, la búsquedalocal se aplica con las soluciones que se tienen al momento y se lleva a ca-bo utilizando distintos tipos de vecindarios para llegar a óptimos locales,los cuales son regresados como individuos para la siguiente generación.

2. Búsqueda local iterada con búsqueda tabú granular. Propuesta por Es-cobar et al., en 2014 [32]. Se lleva a cabo el proceso de búsqueda local, yen el procedimiento de perturbación, se aplica la búsqueda tabú granularcuando la mejor solución encontrada no se puede mejorar por un númerodeterminado de iteraciones.

3. Algoritmos híbridos celulares hibridado con metaheurísticas. Propues-to por Willmer et al., en 2014 [94]. En esta técnica se mezclan distintasmetaheurísticas basadas en construcción con el algoritmo genético, es de-cir, el proceso de generación de la siguiente población se lleva de formaparalela aplicando distintas metaheurísticas a los individuos actuales.

4. Algoritmo híbrido con reencadenamiento de trayectorias y GRASP. Pro-puesto por Zhou et al., en 2013 [97]. La metodología GRASP (Búsqueda

Page 41: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

4.- Estado del Arte 41

Adaptativa Glotona Aleatorizada) y reencadenamiento de trayectorias se lle-van de forma secuencial, esto es, se realiza el GRASP de forma normal, ylas mejores soluciones obtenidas al final son unidas por medio del reen-cadenamiento de trayectorias, por lo que se obtienen mejores solucionesintermedias entre estas.

5. Algoritmo genético híbrido con búsqueda glotona. Propuesto por Soon-pracha et al., en 2015 [86]. Consiste en una modificación de un algoritmogenético y una adaptación de búsqueda glotona hibridizada con métodosde búsqueda local intra-ruta.

Page 42: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 43: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

43

Capítulo 3

Técnicas de resolución base

1.- Descripción de las técnicas

En esta sección, se muestran las técnicas base utilizadas en este trabajo. Selistan sus propiedades originales descritas en la literatura. Para este trabajo, serealizaron diversas modificaciones en las técnicas, con el objeto de aprovecharla estructura del problema y obtener mejores resultados; por lo cual, en el Capí-tulo 4 se da la descripción de estas técnicas y sus modificaciones para resolverel VRP-TW.

1.1.- Sistema de Hormigas (AS, por sus siglas en inglés)

Es una metaheurística propuesta por Dorigo et al. [25], que se inspira enuna metáfora natural, principalmente en la comunicación que existe entre lashormigas que les permite encontrar caminos desde su nido hasta las fuentesde alimento. La comunicación entre las hormigas, se basa en la segregaciónde sustancias químicas denominadas feromonas. Por ejemplo, si se tiene unahormiga que comienza su recorrido, al detectar un camino de feromonas concierta probabilidad esta hormiga lo seguirá y lo fortalecerá con la suya. Porlo tanto, la probabilidad de que otras hormigas sigan una trayectoria dada,aumenta con el número de hormigas que anteriormente lo han seguido. Estoconduce a la aparición de caminos más cortos, ya que por estos pasarán unamayor cantidad de hormigas, y existirá mayor concentración de feromona [25][26].

En el procedimiento de esta técnica, un número de hormigas construyensoluciones de manera “aleatoria” y glotona en cada ciclo. Cada hormiga elige elsiguiente elemento a incorporar en su solución parcial actual basada en algunasevaluaciones de ese elemento (probabilidad de elección), que va dada por lacantidad de feromona y por un peso asociado (generalmente la distancia almismo).

Existen tres tipos de AS (densidad hormiga, cantidad hormiga y ciclo hor-miga) [27], los cuales se diferencian por el momento en el cual se actualiza elnivel de feromona. En el presente trabajo se utiliza la version de ciclo hormiga,

Page 44: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

44 Capítulo 3. Técnicas de resolución base

el cual utiliza la actualización del nivel de feromona al terminar un ciclo deconstrucción de soluciones para n hormigas.

1.2.- Búsqueda Local Iterada (ILS, por sus siglas en inglés)

Búsqueda Local Iterada es una metaheurística propuesta por Lourenço, etal. [67] [66], y trabaja con la idea de realizar de manera iterativa diversos cam-bios de vecindario dentro de una búsqueda local. El procedimiento de la técni-ca se puede ver de la siguiente forma: dada una solución obtenida por la bús-queda local se aplica una perturbación que da lugar a una solución intermedia.Al aplicar nuevamente la búsqueda local a esta solución, se obtiene una nuevasolución que, si supera un criterio de aceptación, pasa a ser la nueva soluciónalterada. En la actualidad, se ha propuesto aplicar cualquier otra metaheurísti-ca en lugar de la búsqueda local guiada por la misma idea. A continuación, semuestran algunas características de la ILS.

Debe hacerse una buena elección de los vecindarios.

No siempre la mejor búsqueda local lleva a una mejora en ILS.

Si el tiempo de computación es fijo, puede ser mejor aplicar con más fre-cuencia un algoritmo de búsqueda local más rápido aunque menos efec-tivo, que uno más lento y más poderoso.

Para comprender mejor el funcionamiento de la búsqueda local iterada, esnecesario entender cómo funciona la búsqueda local, el criterio de aceptacióny las perturbaciones, por lo cual en las siguientes subsecciones se detalla cadauno de estos elementos.

1.2.1.-Búsqueda Local (LS, por sus siglas en inglés)

En esta técnica, se genera una solución aleatoria dentro del espacio de bús-queda que se evalúa mediante la función objetivo, después, esta solución inicialse modifica utilizando cierta estructura de vecindario y se evalúa del mismomodo. Si esta nueva solución es mejor que la actual, es sustituida, de lo contra-rio permanece sin cambios, esto se realiza hasta que se cumpla con el criteriode paro (generalmente cierto número de iteraciones). El Pseudocódigo 1 ilustrael procedimiento general de la LS.

Page 45: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Descripción de las técnicas 45

Pseudocódigo 1 Búsqueda Local1: Generar una solución aleatoria S2: Evaluar el valor de F.O. para S3: mientras no se cumpla el criterio de paro hacer4: Mover en cierto vecindario la solución S generando a S’5: Evaluar el valor de F.O. para S’6: si F (S′) ≤ F (S) entonces7: S = S′

8: fin si9: fin mientras

10: devolver la solución S

1.2.2.- Perturbaciones

Para el correcto funcionamiento de esta técnica, se recomienda que las per-turbaciones tomen en cuenta algunos aspectos del problema que se atacará, yaque una buena perturbación ayuda a encontrar mejores soluciones dentro delespacio de búsqueda, de lo contrario, si se tiene una perturbación demasiadofuerte, se puede tener una búsqueda que cada vez que perturbe una soluciónobtenga una solución igual a una generada de forma aleatoria y la probabilidadde encontrar mejores soluciones será baja.

1.2.3.- Criterio de Aceptación

El criterio de aceptación se utiliza para decidir en qué momento la soluciónperturbada y mejorada por la búsqueda local es aceptada; este parámetro esde gran importancia debido a que debe permitir que la intensificación y la di-versificación dentro de la búsqueda se encuentren equilibrados. En este trabajose utiliza el criterio de aceptar la solución perturbada si esta es mejor que lasolución actual.

En el Pseudocódigo 2 se muestra el esquema básico que gobierna la bús-queda local iterada [67, 66]:

Pseudocódigo 2 Búsqueda Local Iterada1: Generar una solución aleatoria S2: Aplicar un algoritmo de búsqueda local, que proporcione un óptimo localS∗ utilizando el Pseudocódigo 1.

3: mientras no se cumpla el criterio de parada hacer4: Aplicar una perturbación a la solución S∗ para transformarla en S′

5: Emplear el algoritmo de búsqueda local para obtener S∗′

6: Si S∗′

cumple un criterio de aceptación, considerar a S∗′

como el si-guiente S∗

7: fin mientras8: devolver la solución S

Page 46: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

46 Capítulo 3. Técnicas de resolución base

1.3.- Búsqueda Armónica (HS, por su siglas en inglés)

Búsqueda armónica fue propuesta por Geem [40], y es una metaheurísticainspirada en la manera en que los músicos buscan la mejor armonía dentro dela composición musical. Esta técnica ha sido empleada para resolver problemasde optimización complejos de manera existosa. Dentro de HS, una soluciónes similar a una armonía, mientras que sus operadores simulan el proceso deimprovisación.

En comparación con otras metaheurísticas, para HS el tiempo de ejecuciónpor lo general es pequeño [60, 64]. Los parámetros de control para la metaheu-rística HS son el tamaño de la memoria armónica (HMS) que define el númerode elementos que son almacenados durante el proceso de optimización, la ra-zón de exploración o probabilidad de construir una nueva solución a partirde los elementos previamente almacenados en la memoria HM denominado(HMCR), la razón de ajuste de tono o probabilidad de volver a modificar unaarmonía nombrado (PAR), el ancho de desplazamiento o la fuerza de la pertur-bación aplicada a la solución denominado (BW) y el número de improvisacio-nes (NI) que representa el número de iteraciones dadas a la técnica.

1.4.- Algoritmo Genético (GA, por sus siglas en inglés)

Es una técnica propuesta por Holland [51] y se fundamenta en una metáfo-ra natural, básicamente, imita la forma en que los individuos de una poblaciónevolucionan y se adaptan a su entorno de acuerdo con el principio de la se-lección natural darwiniana. Bajo este paradigma, una población de soluciones(conocida como población de cromosomas o individuos) evoluciona de unageneración a la siguiente a través de la aplicación de los operadores genéticoscomo cruza y mutación.

Mediante el proceso de selección, las soluciones con mejor aptitud pasan ala siguiente generación, mientras que en procedimiento de cruza se toman dossoluciones padres y se combinan las características más deseables de cada unopara crear una o dos soluciones hijo. Esto se repite hasta que se obtiene unanueva población de descendientes. Finalmente cada descendiente se perturbaal azar por un operador de mutación. A partir de la población inicial, este ciclose repite para una serie de generaciones, y la mejor solución encontrada sedevuelve al final.

1.5.- Algoritmo primal-dual (PDA, por sus siglas en inglés)

Esta técnica es aplicada a programas lineales y problemas de optimizaciónque pueden ser resueltos en tiempo polinomial. Consideremos el programalineal

Page 47: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Descripción de las técnicas 47

Min cTx (3.1)

sujeto a:

Ax ≥ b

x ≥ 0

Y su dual:Max bT y (3.2)

sujeto a:

AT y ≤ c

y ≥ 0

Donde A ∈ Qm×n, c, x ∈ Qn, b, y ∈ Qm, y T denota el vector transpuesto. Pa-ra facilitar la representación se supone que c ≥ 0. En el método primal-dual,se supone que el primal tiene una solución factible y al dual; inicialmente sepuede establecer y = 0 [74]. En el método primal-dual, se puede encontrar unasolución x al primal que cumpla las condiciones de holguras complementariascon respecto a y, demostrando así que tanto x como y son óptimas, o bien sepuede encontrar una nueva solución factible dual con un mayor valor de lafunción objetivo [43].

Se debe considerar lo que significa que x sea complementario a y; sea Ai lai-ésima fila de A y Aj la j-ésima columna de A; para los programas lineal 3.1y dual 3.2, existen dos tipos de condiciones para holguras complementarias. Elprimero correspondiente a las variables primales, es decir

xj > 0⇒ Ajy = cj (3.3)

Siendo J = {j|Ajy = cj}.

En segundo lugar, correspondientes a las variables duales, es decir:

yi > 0⇒ Aix = bi (3.4)

Siendo I = {i|yi = 0}.

El conjunto de condiciones 3.3, 3.4 son satisfechas si x es factible en 3.1.Ahora, se debe suponer que se tiene una y factible en 3.2 si se pudiera encontrarde cualquier manera una x que satisfaga

xj = 0

Page 48: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

48 Capítulo 3. Técnicas de resolución base

Entonces, x y y serían óptimas. Entonces el algoritmo primal-dual se derivade la idea de buscar una x, dada una y. Se busca esa x resolviendo un proble-ma auxiliar llamado primal restringido (RP), determinado por el primal con elque se está trabajando. Si la búsqueda de x no tiene éxito, nunca se obtendrá lainformación del dual de RP denominado DRP, que dice cómo mejorar la solu-ción y con la que se inició; de esta manera, se converge a la optimalidad en unnúmero finito de pasos [74].

A continuación, se describe el procedimiento general del algoritmo.

1.5.1.- Procedimiento general

El algoritmo primal-dual comienza con una solución y factible en el pro-grama dual 3.2. En el caso que c ≥ 0, se puede tomar y = 0 inmediatamentecomo un punto inicial factible en el dual. Cuando c es no negativo, se puede en-contrar una solución y fácilmente introduciendo la variable Xn+1 al problemaprimal 3.1 y la restricción

x1 + x2 + ...+ xn + xn+1 = bm+1 (3.5)

Donde bm+1 es mayor que la suma de cualquier valor de la posible soluciónx1, ..., xn a 3.1 y el costo Cn+1 = 0. Claramente la ecuación 3.5 no cambia la so-lución a 3.1. El dual del nuevo primal se obtiene agregando una nueva variableyn+1 como se muestra [74]:

max w = y′b+ ym+1bm+1

y′Aj + ym+1 = Cj ; j = 1, ..., n

ym+1 ≤ 0

Una solución factible a este LP es simple:

yi = 0; i = 1, ...,m

ym+1 = min{cj} < 0

1 ≤ j ≤ m

La última desigualdad se deduce de la suposición de que c es negativo. Encada iteración debe mantenerse la factibilidad de la solución y.

Ahora, se tiene una y factible en el programa dual 3.2, y algunas de lasrestricciones de desigualdad

y′Aj ≤ cjSe cumplirán estrictamente y otras no. Se define el conjunto de índices J por

J = {j′y : Aj = cj} (3.6)

Page 49: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Descripción de las técnicas 49

Sabemos de 3.3 y 3.4 que una x factible en P es óptima exactamente cuando

xj = 0 para todo j 6∈ J (3.7)

Esto equivale a buscar una x que satisfaga∑j∈J

aijxj = bi; i = 1, ...,m

xj ≥ 0, j ∈ J (3.8)∑j∈J

aijxj = bi; i = 1, ...,m

Este conjunto de igualdades utiliza sólo las columnas de A correspondien-tes a las igualdades en D, que a su vez corresponden al conjunto J ; Por estarazón se denomina J al conjunto de columnas admisibles. Para buscar tal x, secrea un nuevo LP , llamado el primal restringido, como se muestra a continua-ción [74]:

min ε =m∑i=1

xai

∑j∈J

aijxj + xai = bi; i = 1, ...,m

xj ≥ 0, j ∈ J (3.9)

xj = 0, j ∈ J

xai ≥ 0

Es decir, se introducen variables artificiales, una para cada ecuación en P(Función 3.1). El primal restringido 3.9 puede ser resuelto usando el algoritmosimplex ordinario. Si la solución óptima a RP es εopt = 0, entonces se tieneuna solución a 3.8 y por lo tanto una solución óptima a P . Lo que es de interésahora, es lo que sucede cuando εopt = 0 en RP , por lo que se considera el dualde RP (DRP ) [74]

max w = y′b (3.10)

y′Aj ≤ 0; j ∈ J (3.11)

yi ≤ 1; i = 1, ...,m (3.12)

yi 6= 0 (3.13)

Se denota la solución óptima deDRP , obtenida cuandoRP se resuelve, pory′. Ahora se ha tratado de encontrar una x factible utilizando sólo columnasadmisibles, pero si εopt > 0 en RP , hay que elegir otra solución y.

En la Figura 3.1 se muestra la forma en que trabaja el algoritmo primal-dualutilizando los diversos programas lineales.

Page 50: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

50 Capítulo 3. Técnicas de resolución base

FIGURA 3.1: Procedimiento algoritmo primal-dual [74].

2.- Herramientas

2.1.- Lenguaje de programación

Durante el desarrollo de las técnicas descritas anteriormente, se utilizó ellenguaje de programación C. Esto es, debido a que la mayoría de las imple-mentaciones que se tienen reportadas en la literatura se encuentran en estelenguaje de medio/bajo nivel. Por otro lado, las bibliotecas y API’s (Applica-tion Programming Interface) para trabajar con otras herramientas son amplias yrobustas.

2.2.- Gurobi [46]

Debido a que las implementaciones de las técnicas descritas anteriormenteson puramente en lenguaje C; para la técnica DSM-AS-PDA se utiliza la he-rramienta Gurobi[46] haciendo uso específico de la API para C disponible paraesta.

Una vez que se tienen instalados e inicializados tanto el optimizador co-mo la API, es necesario crear un entorno de trabajo. El entorno actúa como uncontenedor para todos los datos asociados con un conjunto de corridas. Por logeneral, sólo se necesita un entorno en el programa, incluso si se desea traba-jar con múltiples modelos de optimización. Una vez que se haya terminado deutilizar dicho entorno se deben liberar los recursos asociados.

Se puede crear uno o más modelos dentro de un entorno. Un modelo constade un conjunto de variables, una función objetivo lineal o cuadrática respectoa estas, y un conjunto de restricciones. Cada variable tiene asociado un límiteinferior y un límite superior, además pueden ser del tipo continuo, binario, en-tero, semi-continuo o semi-entero, así como los coeficientes del objetivo. Cadarestricción lineal tiene un sentido asociado (menor que o igual, mayor que oigual, o igual), y el valor de lado derecho.

Un modelo se puede especificar en conjunto, o puede ser construido de for-ma incremental añadiendo variables una a una y después las restricciones. Losmodelos son entidades dinámicas; donde siempre se puede añadir o eliminarvariables y/o restricciones. Cada una de las variables y restricciones se hacen

Page 51: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Herramientas 51

referencia a lo largo de la interfaz Gurobi C utilizando sus índices. Los índicesde variable/restricción se añaden al modelo.

En las siguientes subsecciones se muestra el manejo de las técnicas utiliza-das para resolver el modelo dependiendo del tipo de modelo utilizado en laherramienta, además del formato para generar los modelos lineales para Guro-bi.

2.2.1.- Manejo de los diferentes tipos de problemas

A menudo nos referimos a un modelo de optimización como un progra-ma lineal (PL) donde la función objetivo, y las restricciones son lineales, y lasvariables continuas. Si el objetivo es cuadrático, el modelo es un programa cua-drático (QP). Si ninguna de las restricciones es cuadrática, el modelo es unprograma cuadrático-restringido (QCP). Por otro lado, si el modelo contienealgunas variables enteras, variables semi-continuas, variables semi-enteras, orestricciones especiales, el modelo es un programa entero mixto (MIP). Exis-ten casos especiales de MIP, incluyendo programa lineal entero mixto (MILP),programa cuadrático entero mixto (MIQP), programa entero mixto de formacuadrática con restricciones (MIQCP) [46].

Una vez que se haya construido el modelo, se puede calcular una solución.Por defecto, para programas lineales se puede utilizar una optimización simul-tanea (resuelve el programa lineal con distintas estrategias). Los algoritmos deGurobi dan un seguimiento cuidadoso al estado del modelo, por lo que sólo rea-lizará una optimización adicional si los datos relevantes han cambiado desdela última vez que el modelo fue optimizado1. Por otro lado, se puede descartarinformación de soluciones previamente calculadas y se reinicia la optimizaciónsin necesidad de cambiar el modelo .

Si se tiene que un modelo resulta infactible, se cuenta con algunas opcionespara tratar de diagnosticar la causa de la infactibilidad y repararla. Para estose puede calcular una relajación de factibilidad para el modelo. Esta relajaciónpermite encontrar una solución que minimiza la magnitud de la violación delas restricciones. En el Apéndice A se muestran algunas de las funciones prin-cipales de la interfaz Gurobi C.

2.2.2.- Formato LP de Gurobi

El formato LP facilita la captura de un modelo de optimización. Una limi-tación del formato LP es que no conserva varias propiedades del modelo. Enparticular, los archivos LP no conservan orden de las columnas cuando se lee,y por lo general no conservan los valores numéricos exactos de los coeficientes.

1Después de que un modelo MIP ha sido resuelto, se puede calcular el modelo fijo asociado.Este modelo es idéntico al modelo de entrada, excepto que todas las variables enteras se fijan asus valores en la solución MIP.

Page 52: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

52 Capítulo 3. Técnicas de resolución base

Por otro lado, los saltos de línea y espacios en blanco se utilizan para objetosseparados. A continuación, se muestra un ejemplo sencillo [46]:\ Ejemplo de archivo LP

Maximizex+ y + zSubject Toc0 : x+ y = 1c1 : x+ 5y + 2z <= 10Bounds0 <= x <= 5z >= 2GeneralsxyzEnd

El símbolo de diagonal invertida se utiliza para iniciar un comentario. Losnombres de variables juegan un papel importante en los archivos de LP. Cadavariable debe tener su propio nombre. El nombre no debe tener más de 255caracteres, y para evitar confundir al analizador LP, no debe comenzar con unnúmero o con cualquiera de los símbolos +,−, ∗, <,>,=, o :.

Se debe de tener en cuenta que el espacio en blanco no es opcional en elformato LP , por ejemplo, el texto x+y+z sería tratado como un único nombrede la variable, mientras que x + y + z es como una expresión de tres términos.Los archivosLP se estructuran como una lista de secciones, donde cada seccióncaptura una pieza de todo el modelo de optimización. Las secciones comienzancon palabras clave en particular, y en general deben llegar en un orden fijo,aunque a algunas se les permite ser intercambiadas.

2.2.2.1.-Sección objetivo. La primera sección en un archivo de LP es la sec-ción objetivo. Esta sección comienza con una de las siguientes seis cabecerasminimize , maximize , minimum , maximum , min , o max. El objetivo comienza op-cionalmente con una etiqueta. Una etiqueta consta de un nombre, seguido deun caracter de dos puntos, seguido de un espacio. El objetivo continúa con unalista de términos lineales, separados por el + o −. Un término puede contenerun coeficiente y una variable (por ejemplo, 4.5x), o simplemente una variable(por ejemplo, x). El objetivo se puede distribuir en muchas líneas, o puede estarincluido en una sola línea.

El objetivo puede estar conformado por una lista de términos cuadráticos(si es el caso). La parte cuadrática de la expresión objetivo comienza con unsímbolo [ y termina con un ], seguido de /2. Estos deben incluir uno o mástérminos de segundo grado. Ya sea en términos al cuadrado (por ejemplo, 2 x∧ 2), o términos de productos ( 3 x * y).

Page 53: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Herramientas 53

2.2.2.2.-Sección de restricciones. Se inicia con una de las siguientes cabeceras:subject to, such that, st, o st. La sección de restricciones puede tener un númeroarbitrario de restricciones. Cada restricción comienza con una etiqueta opcional(nombre de restricción, seguido de dos puntos, seguido de un espacio), conti-núa con una expresión lineal, seguido de una expresión cuadrática opcional(entre corchetes), y termina con un operador de comparación, seguido de unvalor numérico, seguido por un salto de línea. Los operadores de comparaciónválidos son: =, <=, <,>=, o >. Se debe tener en cuenta que el lado izquierdode una restricción no puede contener un término constante; la constante debeaparecer siempre en el lado derecho.

2.2.2.3.-Sección límites. Comienza con la palabra Bounds, y es seguido poruna lista de límites variables. Cada línea especifica el límite inferior, el límitesuperior, o ambos para una sola variable. Las palabras clave inf o infinityse pueden utilizar en la sección de grada para especificar límites infinitos, freesignifica que la variable no está acotada en cualquier dirección. No es necesarioespecificar límites para todas las variables; de forma predeterminada, a cadavariable se le asigna un valor mayor o igual que 0 y menor que infinito.

2.2.2.4.-Sección tipo de variable. Las variables pueden ser declarada comobinary, general integer, o semi-continuous. En todos los casos, la designación seaplica proporcionando en primer lugar en el encabezado correspondiente y,seguido de esto, una lista de las variables que tienen el tipo asociado.

Page 54: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 55: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

55

Capítulo 4

Estrategias Desarrolladas

1.- Adaptaciones de las técnicas base para resolver el VRP-TW

A continuación, se describen todas las adaptaciones que se realizaron eneste trabajo, para resolver el VRP-TW.

1.1.-Sistema de hormigas

Para este problema, en cada iteración a se lanza un conjunto de n hormigas,las cuales construyen una solución guiada por la probabilidad de elección devisitar al cliente j después de visitar al cliente i.

Antes de ejecutar el primer ciclo para las n hormigas, se utiliza la función deinicialización de feromona y actualización de la probabilidad de elección. Unavez terminada la construcción de las n hormigas, se elige la mejor solución yse actualiza el nivel de feromona para cada camino que une al cliente i con elcliente j que se encuentre en esta.

Para que una hormiga construya una solución se le asocia una estructurade datos que contiene la información acerca de las ventanas de tiempo paracada cliente, una matriz de distancias dij (distancia entre el cliente i y el clientej), una matriz de feromonas (que denota el nivel de feromona que hay entre uncamino que une al cliente i con el cliente j), y una matriz de probabilidad deelección del camino que une al cliente i con el cliente j.

Además, en este trabajo se realizó la adaptación de la fórmula del cálculode la probabilidad de elección (ecuación (4.4)), tomando en cuenta la particu-laridad del problema respecto a los límites de la ventana de tiempo para cadacliente. A continuación, se listan las principales funciones de la metaheurísticaAS.

Page 56: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

56 Capítulo 4. Estrategias Desarrolladas

1.1.1.- Inicialización de Feromonas (en términos de VRP-TW)

Para el primer ciclo se inicializa la matriz de nivel de feromona como semuestra en la ecuación (4.1):

τa+1ij = 1/lj , con a = 0 (4.1)

Donde, τ1ij es el nivel de feromona que tiene el camino entre el cliente i yel cliente j para el ciclo 1, y lj el último momento en que se puede atender alcliente j.

1.1.2.- Actualización de Feromonas (en términos de VRP-TW)

Para los demás ciclos la matriz de nivel de feromona se actualiza de la formaque se ilustra en la ecuación (4.2):

τa+1ij = ρ(τaij) + ∆ij (4.2)

Donde, ρ es el coeficiente de evaporación de feromona, τaij es el nivel de fero-mona que tiene el camino entre el cliente i y el cliente j para el ciclo a, τa+1

ij

es el nivel de la feromona que guiará al siguiente ciclo de las n hormigas y∆ij (ecuación (4.3)) como la cantidad de feromonas depositadas por la mejorhormiga del ciclo:

∆ij =sol[a]− sol[a− 1]

sol[a− 1](4.3)

Si el camino de i a j está en la mejor hormiga del ciclo a. Siendo sol[a], elvalor de la solución entregada por la mejor hormiga del ciclo a; y sol[a-1], elvalor de la solución entregada por la mejor hormiga del ciclo a-1 [28].

1.1.3.- Cálculo de la Probabilidad (en términos de VRP-TW)

Cada vez que se termina un ciclo a de n hormigas o, se agrega un cliente ala solución, se actualiza la probabilidad de elegir el camino de un cliente i a uncliente j mediante la siguiente ecuación:

P a+1ij =

(τa+1ij )α(ηij)

β(νij)γ∑

(τa+1ij )α(ηij)β(νij)γ

(4.4)

Donde, τij es el nivel de feromona, ηij = 1/dij regula la conveniencia deviajar entre los clientes i y j, νij = 1/lj denota que entre menor sea el valordel último momento en que se puede visitar, la probabilidad de visitarlo alinicio será mayor. Además α se utiliza para controlar la influencia del nivel deferomona, β es un parámetro para controlar la influencia de la cercanía entre

Page 57: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Adaptaciones de las técnicas base para resolver el VRP-TW 57

clientes y γ controla la influencia del valor de lj . Finalmente, se normalizanestas probabilidades de ir desde el cliente i hacia los demás clientes elegiblesen ese momento, y se forma una ruleta ordenando de mayor a menor estosvalores como se ve en la ecuación (4.5).

Pna+1ij = Pna+1

i,j−1 + P a+1ij (4.5)

1.1.4.- Construcción de la Solución

Cada hormiga del sistema construye una solución partiendo del depósito,agregando a la ruta un cliente a la vez con base en la probabilidad de elecciónde cada uno (ecuación (4.4)) partiendo del cliente que fue agregado anterior-mente a esta (Pseudocódigo 3).

Pseudocódigo 3 Construcción de soluciones1: mientras no se satisfaga la capacidad del vehículo o no se pueda agregar

un elemento más hacer2: Inicio3: Generar un número “Aleatorio” continuo entre 0 y 14: si “Aleatorio” ≤ Pni,j y “Aleatorio” > Pni,j−1 entonces5: Agregar el cliente j a la ruta del vehículo k.6: Modificar capacidad del vehículo k y calcular tiempo de finalización

de servicio para j.7: Actualizar la probabilidad de elección8: fin si9: fin mientras

10: Agregar el nodo depósito al final de la ruta k (es necesario agregarlo lacantidad restante de elementos disponibles en el vector)

Finalmente, se tendrá una solución que se representa mediante el siguientevector:

FIGURA 4.1: Vector solución.

De esta forma todas las rutas tendrán el mismo número de posiciones en elvector solución. Es decir, cada ruta tendrá asignado en el vector solución, unnúmero e de espacios, el cual está dado por el número de clientes de la ruta conmayor número asignado de estos, más los espacios que representan el nododepósito en salida y llegada.

A continuación, se muestra el Pseudocódigo 4 para la técnica AS.

Page 58: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

58 Capítulo 4. Estrategias Desarrolladas

Pseudocódigo 4 Sistema de hormigas1: Inicializar Feromonas utilizando la ecuación (4.1)2: Actualizar la probabilidad de elección para el primer ciclo de n hormigas3: para a=1 hasta a=m hacer4: para l=1 hasta l=n hacer5: Construir Solución de la hormiga l6: Evaluar el Valor de Función Objetivo7: fin para8: Buscar la mejor solución entre las n soluciones generadas9: Guardar en memoria la mejor solución del ciclo a

10: Actualizar Feromona con base en la mejor solución encontrada en elciclo a utilizando la ecuación (4.2)

11: Actualizar Probabilidad de elección utizando la ecuación (4.4)12: fin para13: Buscar la mejor solución entre las mejores de cada ciclo14: devolver La mejor solución encontrada

En la Figura 4.2 se ilustra la idea principal de la técnica Sistema de Hormi-gas, donde se puede apreciar la forma en que las hormigas siguen los caminos,concentrándose en su mayoría en los caminos más cortos, dados por la mayoracumulación de la feromona:

FIGURA 4.2: Procedimiento técnica Sistema de Hormigas.

1.2.- Búsqueda Local Iterada

En ILS, se logra salir de mínimos locales al aplicar perturbaciones al mínimolocal una vez que se estanca en este. La fuerza de la perturbación está dada porel número de elementos de la solución que son cambiados. Para permitir esca-par de mínimos locales, la perturbación debe ser lo suficientemente fuerte paraayudar a la búsqueda a encontrar el nuevo y posible mejor mínimo local, pe-ro no tan fuerte para evitar una gran diversificación. Además, la perturbaciónaplicada debe ayudar al algoritmo de búsqueda a alcanzar el próximo óptimolocal en pocos pasos.

Page 59: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Adaptaciones de las técnicas base para resolver el VRP-TW 59

1.2.1.- Perturbaciones

En este trabajo, para lograr un equilibrio entre la diversificación e intensifi-cación dentro de ls búsqueda local se utilizaron 3 perturbaciones de diferentefuerza, las cuales se definen a continuación:

1. Fuerte: Perturbación movimiento doble-puente. Esta perturbación se consi-dera fuerte debido a que puede ocasionar la aleatoriedad de las solucio-nes y diversificación del espacio de búsqueda. Se toman cuatro clientesen una ruta, los cuales se intercambian entre ellos formando a lo más dospuentes en la solución (debido a que se considera la restricción de venta-na temporal de cada cliente).

FIGURA 4.3: Perturbación movimiento doble-puente.

2. Media: Perturbación cadena de expulsión. Esta perturbación se consideracomo de las mejores perturbaciones para el tipo de problemas VRP. Enesta perturbación, se intercambian clientes entre distintas rutas, para locual se analiza primero si al realizar el intercambio se siguen cumpliendolas restricciones de temporalidad y capacidad, si no se cumplen se buscauna ruta en la cual se cumplan estas.

FIGURA 4.4: Perturbación cadena de expulsión.

3. Débil: Perturbación doble intercambio. Esta perturbación se considera dé-bil, ya que realiza el intercambio de dos clientes dentro de la ruta (deforma aleatoria), y dependiendo del vecindario utilizado en la LS puedeser que se visite un óptimo local visitado con anterioridad.

Page 60: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

60 Capítulo 4. Estrategias Desarrolladas

FIGURA 4.5: Perturbación doble intercambio.

Para la elección de la perturbación que se aplicará a la solución que se en-cuentra atorada en un óptimo local, se asigna mayor probabilidad a la pertur-bación media después de cierto número de iteraciones, mientras que se le damayor probabilidad de elección en las primeras iteraciones a la perturbaciónfuerte, ya que con esto se logra diversificar al inicio de la búsqueda, y una vezque se llega a las últimas iteraciones se le da mayor probabilidad de elección ala perturbación débil, para poder así intensificar la búsqueda.

1.3.- Búsqueda armónica

Para este trabajo, la memoria armónica HM utilizada en HS se trabaja co-mo la lista de n soluciones (armonías) generadas aleatoriamente, la cual se vamodificando dependiendo del número de improvisaciones y el número de ite-raciones dadas. El ancho de desplazamiento (BW) se adapta conforme el pasode las iteraciones, esto es, durante el transcurso de la ejecución toma valoresque permiten perturbar de dos diferentes formas las soluciones, ya sea apli-cando perturbación suave y/o media, por lo que deja de ser un parámetro acalibrar. Los demás parámetros como la razón de exploración (HMCR), la ra-zón de ajuste de tono (PAR), el ancho de desplazamiento (BW) y el número deimprovisaciones (NI) deben calibrarse para un correcto funcionamiento de latécnica.

1.3.1.- Inicialización de la memoria armónica

Para este procedimiento dentro de la técnica, la HM se llena de maneraaleatoria con HMS soluciones. Esta memoria se almacena en forma de lista, lacual contiene las xi soluciones, con i = 1, ...,HMS donde cada una cuenta conlos elementos de la solución y el valor de la función objetivo. En la Figura 4.6se muestra la caracterización de HM.

Page 61: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Adaptaciones de las técnicas base para resolver el VRP-TW 61

FIGURA 4.6: Memoria armónica.

1.3.2.- Improvisación de nuevas armonías

En esta etapa, una nueva solución xs es improvisada, con base en los si-guientes operadores:

1. Examinado de memoria.

2. Re-inicialización aleatoria.

3. Ajuste de tono.

Como se muestra en la Figura 4.1, cada solución se divide en k rutas. En-tonces, para el paso de examinado de memoria, se genera un número aleatorior1 con una distribución uniforme en [0,1]. Si r1 es menor que HMCR la ruta ipara la nueva solución (improvisación) es elegida de cualquiera de las solucio-nes existentes dentro de HM (del conjunto {x1(i), x2(1), ..., xHMS(1)}). De otromodo, xs(i) se obtiene a partir de una re-inicialización, por lo cual, para estetrabajo se construye la ruta utilizando los índices para la feromona inicial deAS. Este proceso se realiza para cada una de las rutas.

Una vez que se lleva a cabo la re-inicialización aleatoria o el examinadode memoria, gracias a la razón de ajuste de tono se modifica la solución xsmediante el valor de (BW), realizando cambios en la solución utilizando losvecindarios descritos en las perturbaciones de la Subsección 4. A continuación,se muestran los dos tipos de perturbaciones:

En el Pseudocódigo 5 se muestra el procedimiento computacional para laetapa de improvisación y en el Pseudocódigo 6 se muestra la forma de elecciónde perturbación dependiendo del valor de BW. Se hace notar que el valor BW seadaptará conforme el paso de las iteraciones, esto es, durante el transcurso de laejecucion irá tomando valores que permitirán perturbar en los dos vecindariosmostrados anteriormente.

Page 62: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

62 Capítulo 4. Estrategias Desarrolladas

Pseudocódigo 5 Improvisación de armonía

1: si r1 ≤ HMCR entonces2: xs = xr23: si no4: xs = Genera solución aleatoria5: fin si6: si r3 ≤ PAR entonces7: Perturbar xs8: fin si

Donde r2 ∈ (1, HMS), r1, r3 ∈ (0, 1), HMCR es la razón de exploración,PAR .

Pseudocódigo 6 Elección de perturbaciones1: para j=1 hasta j = n_rutas hacer2: si r3 ≤ PAR entonces3: si BW == 1 entonces4: Perturbar xs con doble intercambio5: si no6: Perturbar xs con cadena de expulsión7: fin si8: fin si9: fin para

Terminada la generación (improvisación) de la nueva armonía, se realiza laevaluación de la función objetivo, para después poder compararla respecto ala información guardada en HM.

1.3.3.- Actualización de la memoria armónica

Después de generar una nueva armonía xs, la memoria HM es actualiza-da comparando el valor de la función objetivo entre xs y la peor solución xwcontenida en la memoria HM. Entonces, si el valor de la función objetivo dexs es mejor que xw, xs lo remplazará, en caso contrario el contenido de HMpermanece sin cambios.

Gracias a que HM contiene a los elementos cuyo valor de la función ob-jetivo representa a las mejores improvisaciones, al paso de las iteraciones sealmacenará sólo a la mejor solución o a soluciones que se encuentren dentrodel vecindario de la misma.

A continuación, se muestra el Pseudocódigo 7 que denota la forma de ac-tualización de HM.

Page 63: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Adaptaciones de las técnicas base para resolver el VRP-TW 63

Pseudocódigo 7 Actualización de HM1: si xs ≤ xw entonces2: xw = xs3: si no4: No se realizan cambios5: fin si

En el Pseudocódigo 8 se muestra el procedimiento principal de la técnica, ypara ilustrar la forma en que se ejecuta, la Figura 4.7 detalla cómo se actualizala memoria armónica con base en las improvisaciones generadas.

Pseudocódigo 8 Búsqueda Armónica1: Generar HMS soluciones aleatorias2: mientras n_imp ≤ NI hacer3: si n_imp ≤ 1/3×NI entonces4: BW=15: si no si 1/3×NI ≤ n_imp ≤ 2/3×NI entonces6: BW=27: si no8: BW=19: fin si

10: Improvisar una nueva armonía xs utilizando el Pseudocódigo 511: Llamar al Pseudocódigo 712: fin mientras13: Ordenar ascendentemente las HMS soluciones por valor de F.O.14: devolver La mejor solución encontrada

FIGURA 4.7: Procedimiento principal búsqueda armónica.

Page 64: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

64 Capítulo 4. Estrategias Desarrolladas

1.4.- Algoritmo genético

En este trabajo, a diferencia de [51] en GA se generan n soluciones aleatoriasa partir de los índices 1/lj , las cuales se trabajan como la primera generación,en donde, sus individuos se modifican en cada generación mediante los opera-dores genéticos. Una vez que los operadores genéticos se aplican a la población,para evitar generar soluciones infactibles del problema, cada uno de los indi-viduos pasa por un proceso de reparación. Estos procesos se llevan a cabo demanera iterativa, hasta que se cumpla el número de generaciones dadas parael algoritmo.

1.4.1.- Selección

El proceso recibe una población de individuos, de la cual se selecciona unnúmero predeterminado de individuos con base en el criterio de “elitismo”, loscuales pasarán directamente a la siguiente generación, y los individuos restan-tes se generarán a partir de los operadores de cruza y mutación. Este procesose describe en el Pseudocódigo 9 [16]:

Pseudocódigo 9 Selección en GA1: para l=1 hasta l=n hacer2: Evaluar la función objetivo para la solución l.3: Ordenar las soluciones con base en el valor de la función objetivo.4: fin para5: para l=1 hasta l=n*Elitismo hacer6: Copiar el elemento l de la población a la nueva generación en la posición

l.7: fin para8: para l=n*Elitismo hasta l=n hacer9: Generar un número aleatorio entre 0 y n.

10: Copiar el elemento Aleatorio de la población a la nueva generación en laposición l.

11: fin para

Es importante destacar que se debe ajustar el parámetro de Elitismo, ya queel desempeño de la técnica depende en parte de este valor.

1.4.2.- Cruza

Este proceso, recibe los individuos que fueron seleccionados en el proce-so anterior. Aquí se eligen de forma aleatoria dos individuos, llamados padres,que se recombinan formando dos nuevos individuos, llamados hijos, los cua-les contienen información genética de ambos padres; esto se lleva a cabo hasta

Page 65: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Adaptaciones de las técnicas base para resolver el VRP-TW 65

completar el número de nuevos individuos necesarios para completar una po-blación de tamaño n.

Por el proceso de selección “Elitista” se pasa directamente un porcentaje dela población a la nueva generación, y el porcentaje restante se genera combi-nando información de dos padres seleccionados aleatoriamente. Debido al tipode problema, la cruza se lleva a cabo en k puntos (donde k es el número devehículos), para el primer hijo se toman las rutas impares correspondientes alpadre 1 y a las rutas pares correpondientes al padre 2; y para el segundo hijo setoman las rutas pares correpondientes al padre 1 y las rutas impares correspon-dientes al padre 2. Entonces al final de este procedimiento se tendrán los doshijos formados con información de ambos padres. En las Figuras 4.8 y 4.9 semuestra como se forman los hijos a partir de los padres de la siguiente forma[16]:

FIGURA 4.8: Elementos a cruzar.

FIGURA 4.9: Elementos generados por la cruza.

Para el ejemplo mostrado se tiene que los clientes asignados a las rutas enambos padres son correspondientes, sin embargo no siempre sucede; por loque se debe llevar a cabo un proceso de reparación (se marca con color grislas rutas que serán asignadas al hijo 1, y con color negro las rutas que seránasignadas al hijo 2).

1.4.3.- Mutación

Este proceso recibe la población de nuevos individuos (compuesta por losindividuos de élite seleccionados y los individuos hijo formados en el proceso

Page 66: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

66 Capítulo 4. Estrategias Desarrolladas

de cruza); entonces se “perturba” cada uno de estos nuevos individuos siguien-do el Pseudocódigo 10:

Pseudocódigo 10 Mutación en GA1: para l=1 hasta l=clientes hacer2: Generar un número “Aleatorio” entre 0 y 13: si “Aleatorio” ≤ tasa_mutación entonces4: Intercambiar ese cliente con otro elegido de forma aleatoria.5: fin si6: fin para

A continuación se ilustra el movimiento de mutación:

FIGURA 4.10: Movimiento de mutación.

1.4.4.- Reparación

Para evitar la infactibilidad en los individuos que formarán parte de la si-guiente generación, se revisa que cumplan con las restricciones del problema.Este proceso se describe en el Pseudocódigo 11:

Page 67: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Algoritmos híbridos para el VRP-TW 67

Pseudocódigo 11 Reparación en GA1: para l=1 hasta l=n hacer2: Recorrer los elementos (clientes) de la solución l3: si clientes_repetidos==VERDADERO entonces4: Eliminar los clientes repetidos de la solución l5: Revisar si hay elementos faltantes en la solución l6: si Elementos_faltantes==VERDADERO entonces7: Agregar un faltante en cada “espacio” dejado por los repetidos

sin violar la capacidad del vehículo en cuestión8: fin si9: si no

10: Revisar si aún tenemos elementos faltantesl11: si Elementos_faltantes==VERDADERO entonces12: Agregar un elemento faltante en la posición l13: fin si14: fin si15: fin para

El procedimiento general del algoritmo genético se puede ver en el Pseudocó-digo 12:

Pseudocódigo 12 Algoritmo Genético1: Recibir población inicial2: para a=1 hasta a=generaciones hacer3: Selección4: Cruza5: Mutación6: Reparación7: Evaluación8: fin para

2.- Algoritmos híbridos para el VRP-TW

Un algoritmo híbrido, es una técnica donde se combinan dos o más algorit-mos (sean exactos o heurísticos) los cuales se utilizan para solucionar un ciertoproblema. En estas técnicas, se busca combinar las mejores características decada uno, con el fin de que la última técnica mejore a las técnicas utilizadas encuestión. En el presente capítulo, se describen los algoritmos híbridos realiza-dos en este trabajo para resolver el VRP-TW.

Al utilizar las técnicas descritas en el Capítulo 3 con las modificaciones de-notadas anteriormente, se realizaron cuatro algoritmos híbridos, tomando co-mo base la técnica AS, combinando con esta las mejores características de ILS,

Page 68: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

68 Capítulo 4. Estrategias Desarrolladas

GA, HS, DSM y PDA. En esta sección se describe la forma en que se realizaronestas hibridaciones.

2.1.- Algoritmo híbrido sistema de hormigas-búsqueda local iterada(AS-ILS)

Durante las pruebas de las técnicas descritas en la sección anterior, se ob-servó que la metaheurística AS en algunas instancias regresaba como mejorsolución, una que se encontraba dentro de algún vecindario cercano a la mejorsolución reportada en la literatura. Entonces, se decidió implementar una bús-queda local iterada después de los a ciclos de n hormigas, logrando alcanzaren mayor número de ocasiones la mejor solución reportada. A continuación, semuestra el Pseudocódigo de la técnica denominada AS-ILS.

Pseudocódigo 13 Sistema de hormigas-Búsqueda Local Iterada1: Inicializar feromonas utilizando la ecuación 4.12: Actualizar la probabilidad de elección para el primer ciclo de n hormigas3: para a=1 hasta a=m hacer4: para l=1 hasta l=n hacer5: Construir solución de la hormiga l6: Evaluar la función objetivo7: fin para8: Buscar la mejor solución entre las n soluciones generadas.9: Guardar en memoria la mejor solución del ciclo a

10: Actualizar feromona con base en la mejor solución encontrada en el ci-clo a utilizando la ecuación 4.2

11: Actualizar probabilidad de elección utizando la ecuación 4.412: fin para13: S = Mejor solución entre las mejores de cada ciclo14: Aplicar un algoritmo de búsqueda, que proporcione un óptimo local S∗

utilizando el Pseudocódigo 1.15: mientras no se cumpla el criterio de parada hacer16: Aplicar una perturbación a la solución S∗ para transformarla en S′

17: Emplear el algoritmo de búsqueda para obtener S∗′

18: Si S∗′supera un criterio de aceptación, considerar a S∗

′como el siguien-

te S∗

19: fin mientras20: devolver la solución S

2.2.- Algoritmo híbrido sistema de hormigas-búsqueda armónica (AS-HS)

Para el desarrollo de esta técnica, se utilizaron dos metaheurísticas descri-tas en la sección anterior (AS y HS) trabajando de manera entrelazada [79].

Page 69: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Algoritmos híbridos para el VRP-TW 69

Con lo cual se pretende guiar la construcción de las soluciones de cada hormi-ga, aprovechando las mejores melodías generadas por HS, ya que se tomaránlas m soluciones de la lista HM que se encuentren por encima del valor pro-medio para actualizar la feromona para el AS. Con lo cual, se diversificará elespacio de búsqueda tomando soluciones que se encuentren dispersas. En elPseudocódigo 14 se muestra el procedimiento general de esta hibridación.

Page 70: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

70 Capítulo 4. Estrategias Desarrolladas

Pseudocódigo 14 Sistema de Hormigas-Búsqueda Armónica1: Inicializar Feromonas con una suma ponderada de (1/d y 1/TW)2: Actualizar la probabilidad de elección para el primer ciclo de HMS hormi-

gas3: para a=1 hasta a=m hacer4: si a ≤ 1/3×m entonces5: BW=16: si no si 1/3×m ≤ a ≤ 2/3×m entonces7: BW=28: si no9: BW=1

10: fin si11: si a==1 entonces12: para l=1 hasta l=HMS hacer13: Construir Solución de la hormiga xl14: Evaluar el Valor de Función Objetivo15: Guardar en la memoria HM la solución xl16: fin para17: Ordenar ascendentemente las HMS soluciones por valor de F.O.18: si no19: para l=contador hasta l=HMS hacer20: Construir Solución de la hormiga xl21: Evaluar el Valor de Función Objetivo22: Guardar en la memoria HM la solución xl23: fin para24: contador==025: fin si26: mientras n_imp � NI hacer27: Improvisar una nueva armonía xn28: si xHMS > xn entonces29: xHMS = xn30: si no31: xHMS = xHMS

32: fin si33: fin mientras34: Ordenar ascendentemente las HMS soluciones por valor de F.O.35: Calcular promedio de las HMS soluciones36: para l=1 hasta l=HMS hacer37: si xl ≤ promedio entonces38: Actualizar Feromona con base en xl39: Actualizar Probabilidad de elección40: Aumenta contador41: fin si42: fin para43: Guardar la solución x1 en memoria de tamaño a44: fin para45: Buscar la mejor solución entre las mejores de cada ciclo46: devolver La mejor solución encontrada

Page 71: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Algoritmos híbridos para el VRP-TW 71

Donde:a, es el número de ciclos para el AS.HMS, es el tamaño de la memoria armónica (HM) y representa el número dehormigas.1/d, es la inversa de la distancia entre dos clientes.1/TW, es la inversa del límite final de la ventana de tiempo para cada cliente.

2.3.- Algoritmo híbrido sistema de hormigas-algoritmo genético (AS-GA)

Para el desarrollo de este algoritmo híbrido, se utilizaron las metaheurís-ticas AS y GA ya descritas; trabajando de manera entrelazada [79]. Para esto,en el procedimiento general de AS una vez terminado un ciclo a, se mandanlas soluciones dadas por las n hormigas como población del GA, el cual llevaa cabo sus operadores genéticos con esta población y devuelve la mejor solu-ción obtenida después de una generación; entonces, con esta solución devueltapor el algoritmo genético se lleva a cabo el proceso de Actualización de Feromonapara el AS, en el Pseudocódigo 15 se muestra la realización de esta adaptación:

Pseudocódigo 15 Sistema de Hormigas-Algoritmo Genético (AS-GA)1: Inicializar Feromonas utilizando la ecuación 4.12: Actualizar la probabilidad de elección para el primer ciclo de n hormigas

utilizando las ecuaciones y 4.43: para a=1 hasta a=m hacer4: para l=1 hasta l=n hacer5: Construir Solución de la hormiga l6: Evaluar la función objetivo7: Guardar en memoria cada solución l8: fin para9: Crear lista con las n soluciones que serán la población inicial para el GA

10: Llamar a Algoritmo Genético11: Actualizar Feromona con base en la mejor solución encontrada por el

GA utilizando la ecuación 4.212: Actualizar Probabilidad de elección utilizando la ecuación 4.413: fin para14: Buscar la mejor solución entre las mejores de cada ciclo15: devolver La mejor solución encontrada

De esta forma, se busca que el GA combine las mejores características delas soluciones obtenidas por AS, dando como resultado una mejor solución,misma que retroalimentará a AS mediante la actualización de feromonas.

Page 72: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

72 Capítulo 4. Estrategias Desarrolladas

2.4.- Algoritmo híbrido sistema de hormigas, algoritmo primal-dual ymétodo dual simplex (DSM-AS-PDA)

Esta técnica al ser una hibridación entre métodos de programación mate-mática y técnicas heurísticas, se encuentra dentro de la clase de las matheurís-ticas, (matheuristics); donde, una característica esencial de las matheurísticas esla explotación en alguna parte de los algoritmos de características derivadasdel modelo matemático de los problemas de interés, por lo que la definiciónde “heurística basada en modelos” también es utilizada para estos algoritmos[65].

Para el desarrollo de esta matheurística se utilizaron las técnicas de métododual simplex, sistema de hormigas y algoritmo primal-dual. Para el métododual simplex se utilizó la herramienta Gurobi (la cual se describe en la siguientesección ) para resolver los programas lineales relajados apartir del programaentero para el VRP-TW. Una vez que Gurobi devuelve una solución se toma esainformación y se inicializa el nivel de la matriz de feromona dentro de AS, conlo que se comienza la ejecución normal de la metaheurística con la instanciadel VRP-TW original y después de un número m de iteraciones se ejecuta elmétodo primal-dual para revisar la optimalidad de la solución encontrada. Encaso de que no sea la solución óptima se llama nuevamente a AS un número bde iteraciones.

En el Pseudocódigo 16 se muestra el procedimiento general de esta hibri-dación.

Pseudocódigo 16 Método dual simplex-Sistema de hormigas-Algoritmoprimal-dualEntrada: Programa lineal original

1: Relajar el programa lineal original en términos de integralidad y restriccio-nes temporales

2: Relajar el programa lineal original en términos de integralidad y restricciónde capacidad vehicular

3: Resolver programas lineales relajados con Gurobi4: Llamar a AS (Pseudocódigo 4)5: Formar el programa lineal relajado en integralidad y restricciones tempo-

rales utilizando la solución devuelta por AS6: Formar el programa dual del programa lineal relajado7: A partir de una solución y factible para el programa dual, encontrar una x

factible para el programa primal8: si x = y entonces devolver x como la mejor solución9: si no

10: Llamar a AS (Pseudocódigo 4) y regresar a la línea 511: fin siSalida: Solución del problema original

Page 73: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Algoritmos híbridos para el VRP-TW 73

Para poder resolver el VRP-TW con la herramienta Gurobi en un tiempo nomuy largo, es necesario relajar el modelo mostrado en la Ecuación 2.1. Paraesto, en la siguiente subsección se muestra la manera en que se llevaron a cabodos relajaciones, una respecto a integralidad y restricciones temporales y otrarespecto a integralidad y capacidades vehiculares.

2.4.1.- Programas lineales relajados

2.4.1.1.-Relajación respecto a ventanas de tiempo e integralidad Se tomó co-mo base el modelo mostrado en el Capítulo 2, y se realizaron dos tipos de re-lajaciones, con el fin de poder resolverlos utilizando la herramienta Gurobi enun tiempo corto. Entonces, la primer relajación de (2.1) respecto a integralidady ventanas de tiempo se denota de la siguiente forma:

Minimizarn∑i=0

n∑j=0

k∑v=1

CijXvij (4.6)

Sujeto a:n∑i=0

k∑v=0

Xvij = 1; ∀ j = 1, ..., n

n∑j=1

Xv0j = 1; ∀ v = 1, ..., k

n∑i=1

Xvi0 = 1; ∀ v = 1, ..., k

n∑i=0

Xvip −

n∑j=0

Xvpj = 0; ∀ p = 0, ..., n; v = 1, ..., k

Yiv = din∑j=0

Xvij ; ∀ i = 1, ..., n; v = 1, ..., k

n∑i=0

Yiv ≤ Q ∀ v = 1, ..., k

En (4.6), se han eliminado las restricciones que imponen las ventanas detiempo, por lo que el problema se resolvería como el VRP tradicional, ademásal eliminar la restricción de integralidad se puede resolver como un programalineal.

2.4.1.2.-Relajación respecto a capacidad vehicular e integralidad La segun-da relajación de (2.1) respecto a integralidad y ventanas de tiempo se denotade la siguiente forma:

Page 74: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

74 Capítulo 4. Estrategias Desarrolladas

Minimizar

n∑i=0

n∑j=0

k∑v=1

CijXvij (4.7)

Sujeto a:n∑i=0

k∑v=0

Xvij = 1; ∀ j = 1, ..., n

n∑j=1

Xv0j = 1; ∀ v = 1, ..., k

n∑i=1

Xvi0 = 1; ∀ v = 1, ..., k

n∑i=0

Xvip −

n∑j=0

Xvpj = 0; ∀ p = 0, ..., n; v = 1, ..., k

ei ≤ bvi ≤ li ∀ i, j = 0, ..., n; v = 1, ..., k

En (4.7), las restricciones que imponen las ventanas de tiempo han sido elimi-nadas, entonces el problema puede ser resuelto como un Problema del reparadorviajero con ventanas de tiempo 1, además, al eliminar las restricciones de integra-lidad se puede resolver como un programa lineal.

1Este problema, consiste en un reparador que debe atender tareas o servicios, donde, cadatarea tiene asociada una ventana de tiempo indicando su disponibilidad de tiempo.

Page 75: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

75

Capítulo 5

Resultados

1.- Metodología de pruebas

Para realizar el análisis sobre la robustez y el desempeño obtenido por lastécnicas descritas en el Capítulo 3, se realizaron 20 ejecuciones para cada unade estas sobre 12 instancias de prueba para el VRP-TW.

1.1.- Instancias de Prueba

El conjunto de prueba se integró por 12 instancias de distintos tamaños; lascuales se tomaron del conjunto propuesto por Cordeau y Solomon [17, 18, 84]para el problema VRP-TW, las cuales han sido utilizadas por varios autores(e.g: [70, 89, 80]). En la Tabla 5.1 se muestran las instancias seleccionadas y elnúmero de clientes involucrados.

Instancia Clientes Instancia ClientesC101 100 C105 50C106 100 R201 50C105 100 c106 50C107 100 R202 50C108 100 R201 25C109 100 R202 25

TABLA 5.1: Casos de prueba.

Cada una de las instancias denota la cantidad de clientes, las coordenadasde cada cliente en x y y (con las cuales se calcula la distancia euclidiana), lasveces que debe servirse, la demanda, los tiempos de inicio y final, el tiempode servicio, el número de vehículos y la capacidad de estos. En la Tabla 5.2 semuestra el ejemplo de una instancia del tipo VRP-TW [17, 18, 84], tomando losprimeros 10 clientes de la instancia C101.

Page 76: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

76 Capítulo 5. Resultados

Cliente Coord. x Coord. y T. servicio Demanda Límite inicial de tiempo Límite final de tiempo0 40.00 50.00 0.00 0.00 1236 –1 45.00 68.00 90.00 10.00 912 9672 45.00 70.00 90.00 30.00 825 8703 42.00 66.00 90.00 10.00 65 1464 42.00 68.00 90.00 10.00 727 7825 42.00 65.00 90.00 10.00 15 676 40.00 69.00 90.00 20.00 621 7027 40.00 66.00 90.00 20.00 170 2258 38.00 68.00 90.00 20.00 255 3249 38.00 70.00 90.00 10.00 534 660510 35.00 66.00 90.00 10.00 357 410

TABLA 5.2: Instancia C101 (10 clientes).

1.2.- Ajuste de Parámetros

Como se describió en la Capítulo 3, las técnicas utilizadas necesitan de algu-nos parámetros de entrada que ayudan al desempeño de las mismas. El ajustede parámetros es una actividad sumamente importante, con el objeto de lograrun comportamiento adecuado de las metaheurísticas.

En este trabajo se realizó un ajuste de los mismos con un algoritmo de Evo-lución Diferencial (DE)1 [87]. Este algoritmo recibe como entrada los parámetrosa ajustar como un vector. La longitud de cada uno de estos vectores es igual alnúmero de parámetros más un espacio reservado para el valor de la aptitud,donde la población está compuesta de NP (Número de padres) vectores.

Además se necesita que el dominio de cada uno de los parámetros del pro-blema esté restingido entre valores mínimo y máximo xminm y xmaxm con m =1, 2, ..., N . El algoritmo de DE se compone de 4 pasos [87][76], los cuales semuestran a continuación:

1. Inicialización.

2. Mutación.

3. Recombinación.

4. Selección.

Donde, la incialización se lleva a cabo en la primer generación del algorit-mo y los procesos de mutación-recombinación-selección se realizan para cadageneración, hasta que se llegue al número máximo de generaciones. En la lite-ratura, algunos autores recomiendan utilizar, los siguientes valores:

Factor de cruza: 0.5.

Factor de mutación: 0.5.1Se realizó otra calibración mediante el algoritmo F-Race, sin embargo, Evolución diferencial

obtuvo mejores resultados.

Page 77: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

1.- Metodología de pruebas 77

Número de Generaciones: 10.

Para mostrar de mejor manera la forma en que se trabaja el ajuste de pará-metros utilizando DE para las técnicas para resolver el VRP-TW, en la Figura5.1 se describe el proceso general.

FIGURA 5.1: Ajuste de parámetros mediante DE.

La evaluación de la función objetivo para obtener la aptitud de los indivi-duos en DE se realiza mediante una corrida de cada una de las técnicas aquípresentadas. Estas evaluaciones se realizaron 20 veces para cada una de lastécnicas en instancias de tamaño grande. La configuración de parámetros ob-tenida para cada técnica se muestra en la Tabla 5.3.

Parámetro AS-GA GA AS AS-ILS HS AS-HS DSM-AS-PDANúmero de iteraciones 25 – 200 200 100 50 50-60Tamaño de la población 10 50 60 50 20 10 14

α 1 – 1 1 – 1.45 1.14β 1.5 – 1.5 1.5 – 1 1.49γ 1.3 – 1.3 1.3 – 1.55 1.35ρ 0.75 – 0.75 0.75 – 0.75 0.71

Número de generaciones 10 150 – – – – –Porcentaje de supervivencia 77 % 77 % – – – – –

Tasa de mutación 10 % 10 % – – – – –Número de improvisaciones – – – – 5 6 –

Razón de exploración – – – – 0.673 0.6525 –Razón de ajuste de tono – – – – 0.234 0.185 –

Llamadas a la Función Objetivo 2,500 7,500 12,000 10,000 10,000 3,000 1,000

TABLA 5.3: Configuración de parámetros.

Page 78: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

78 Capítulo 5. Resultados

En la Tabla 5.3 se puede observar que DSM-AS-PDA realiza menos llama-das a la función objetivo, sin embargo el tiempo de cómputo es mayor si es laprimera vez que se corre Gurobi.

2.- Resultados

2.1.- Tablas de resultados

Para realizar un análisis de los resultados, cada técnica se ejecutó 20 vecessobre cada una de las 12 instancias de prueba [19, 84]; en donde en cada ejecu-ción se registró el mejor valor de la función objetivo encontrado por la i-ésimatécnica, así como el peor valor y promedio de los resultados obtenidos, ademásde la varianza y desviación estándar.

En las Tablas 5.4, 5.5, 5.6, 5.7, 5.8, 5.9 y 5.10 se muestra el mejor, peor y valorpromedio obtenido por las metaheurísticas propuestos en las instancias con-sideradas y los mejores resultados reportados en [18, 70, 89, 80]. En estas sepuede ver que todos las técnicas encontraron la mejor solución conocida, porlo tanto, para decidir cuál es la mejor opción se revisó la desviación estándargenerada por cada uno; con este criterio de desempate se encontró que las op-ciones más robustas son los algoritmos híbridos AS-GA y DSM-AS-PDA. Deforma adicional, DSM-AS-PDA requiere menos llamadas a la función objetivo,sin embargo al ser la primera vez que se ejecuta la herramienta Gurobi el tiempode cómputo es más grande.

Instancia Mejor reportado Mejor Peor Promedio σ2 σ

C101 828.94 828.94 1171.31 888.99 15000.68 122.47C105 828.94 828.94 846.73 835.03 54.49 7.38C106 828.94 828.94 844.77 832.02 34.18 5.84C107 828.94 828.94 844.77 834.38 46.96 6.85C108 828.94 828.94 846.77 834.19 48.94 6.99C109 828.94 828.94 844.77 830.35 8.11 2.84C105 191.32 191.32 191.32 191.32 0 0C106 191.32 191.32 191.32 191.32 0 0R201 463.34 463.34 463.34 463.34 0 0R202 410.55 410.55 410.55 410.55 0 0R201 800.7 800.7 800.7 800.7 0 0R202 712.25 712.25 712.25 712.25 0 0

TABLA 5.4: Resultados obtenidos por AS.

Page 79: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Resultados 79

Instancia Mejor reportado Mejor Peor Promedio σ2 σ

C101 828.94 828.94 1120.83 915.25 15224.12 123.38C105 828.94 828.94 841.41 835.65 17.24 4.15C106 828.94 828.94 841.41 831.80 14.01 3.74C107 828.94 828.94 841.41 835.63 33.73 5.80C108 828.94 828.94 836.66 831.95 11.91 3.45C109 828.94 828.94 830.60 830.05 0.64 0.80C105 191.32 191.32 191.32 191.32 0 0C106 191.32 191.32 191.32 191.32 0 0R201 463.34 463.34 498.45 464.51 41.10 6.41R202 410.55 410.55 410.55 410.55 0 0R201 800.7 800.7 895.62 803.89 300.14 17.32R202 712.25 712.25 712.25 712.25 0 0

TABLA 5.5: Resultados obtenidos por HS.

Instancia Mejor reportado Mejor Peor Promedio σ2 σ

C101 828.94 828.94 971.36 842.405 1691.89 41.13C105 828.94 828.94 903.22 832.28 183.09 13.53C106 828.94 828.94 920.62 837.34 661.43 25.71C107 828.94 828.94 978.95 842.58 1771.5 42.09C108 828.94 828.94 938.26 832.81 397.23 19.93C109 828.94 836.66 832.14 829.36 1.23 1.109C105 191.32 191.32 191.32 191.32 0 0C106 191.32 191.32 191.32 191.32 0 0R201 463.34 463.34 463.34 463.34 0 0R202 410.55 410.55 410.55 410.55 0 0R201 800.7 800.7 800.7 800.7 0 0R202 712.25 712.25 712.25 712.25 0 0

TABLA 5.6: Resultados generados por GA.

Page 80: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

80 Capítulo 5. Resultados

Instancia Mejor reportado Mejor Peor Promedio σ2 σ

C101 828.94 828.94 1120.83 848.39 5484.36 74.05C105 828.94 828.94 846.73 830.75 15.52 3.94C106 828.94 828.94 830.6 829.88 0.70 0.84C107 828.94 828.94 841.41 833.92 38.67 6.21C108 828.94 828.94 830.60 830.05 0.64 0.80C109 828.94 828.94 830.60 829.99 0.66 0.81C105 191.32 191.32 191.32 191.32 0 0C106 191.32 191.32 191.32 191.32 0 0R201 463.34 463.34 463.34 463.34 0 0R202 410.55 410.55 410.55 410.55 0 0R201 800.7 800.7 800.7 800.7 0 0R202 712.25 712.25 712.25 712.25 0 0

TABLA 5.7: Resultados obtenidos por AS-ILS.

Instancia Mejor reportado Mejor Peor Promedio σ2 σ

C101 828.94 828.94 1120.83 843.02 3322.70 57.64C105 828.94 828.94 836.66 831.25 12.95 3.59C106 828.94 828.94 836.66 830.13 7.03 2.65C107 828.94 828.94 841.41 831.11 20.68 4.54C108 828.94 828.94 836.66 830.13 7.03 2.65C109 828.94 828.94 830.60 829.43 0.60 0.77C105 191.32 191.32 191.32 191.32 0 0C106 191.32 191.32 191.32 191.32 0 0R202 410.55 410.55 410.55 410.55 0 0R201 463.34 463.34 463.34 463.34 0 0R201 800.7 800.7 800.7 800.7 0 0R202 712.25 712.25 712.25 712.25 0 0

TABLA 5.8: Resultados generados por AS-HS.

Page 81: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Resultados 81

Instancia Mejor reportado Mejor Peor Promedio σ2 σ

C101 828.94 828.94 828.94 828.94 0 0C105 828.94 828.94 836.6 829.45 3.83 1.95C106 828.94 828.94 830.6 829.27 0.46 0.67C107 828.94 828.94 841.41 830.18 14.50 3.80C108 828.94 828.94 830.6 829.04 0.18 0.42C109 828.94 828.94 828.94 828.94 0 0C105 191.32 191.32 191.32 191.32 0 0C106 191.32 191.32 191.32 191.32 0 0R201 463.34 463.34 463.34 463.34 0 0R202 410.55 410.55 410.55 410.55 0 0R201 800.7 800.7 800.7 800.7 0 0R202 712.25 712.25 712.25 712.25 0 0

TABLA 5.9: Resultados generados por AS-GA.

Instancia Mejor reportado Mejor Peor Promedio σ2 σ

C101 828.94 828.94 836.66 829.19 1.98 1.41C105 828.94 828.94 830.6 828.99 0.09 0.30C106 828.94 828.94 830.6 829.10 0.25 0.50C107 828.94 828.94 841.41 829.46 5.27 2.29C108 828.94 828.94 830.6 829.32 0.51 0.71C109 828.94 828.94 830.6 828.04 0 0C105 191.32 191.32 191.32 191.32 0 0C106 191.32 191.32 191.32 191.32 0 0R201 463.34 463.34 463.34 463.34 0 0R202 410.55 410.55 410.55 410.55 0 0R201 800.7 800.7 800.7 800.7 0 0R202 712.25 712.25 712.25 712.25 0 0

TABLA 5.10: Resultados generados por DSM-AS-PDA.

2.2.- Remuestreo de los datos

El remuestreo permite estimar la precisión de las muestras estadísticas me-diante el uso de subconjuntos de datos o tomando datos de manera aleatoriasobre un conjunto de datos (bootstrapping) [45]. En las Tablas 5.11, 5.12, 5.13,5.14, 5.15, 5.16, 5.17 se muestran los resultados del remuestreo utilizando boots-trap para la media, desviación y varianza de los datos obtenidos por las técnicasen las instancias de prueba con un intervalo de confianza del 95 % utilizando1000 muestras.

Page 82: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

82 Capítulo 5. Resultados

Instancia Intervalo Medias Intervalo Varianza Intervalo DesviaciónLím. inf. Lím. sup. Lím. inf. Lím. sup. Lím. inf. Lím. sup.

C101 (100) 848.39 934.65 5484.37 21660.14 74 147.17C105 (100) 832.46 837.65 32.93 66.15 5.73 8.13C106 (100) 830.21 834.07 15.16 51.68 3.89 7.189093C107 (100) 831.96 836.68 31.5 53.18 5.61 7.29C108 (100) 831.83 836.9 26.04 61.99 5.1 7.87C109 (100) 829.66 831.46 0.6 21.86 0.77 4.67C105 (50) 191.32 191.32 0 0 0 0C106 (50) 191.32 191.32 0 0 0 0R201 (50) 463.34 463.34 0 0 0 0R202(50) 410.55 410.55 0 0 0 0R201 (25) 800.73 800.73 0 0 0 0R202 (25) 712.24 712.24 0 0 0 0

TABLA 5.11: Remuestreo bootstrap para AS.

InstanciaIntervalo Medias Intervalo Varianza Intervalo Desviación

Lím. inf. Lím. sup. Lím. inf. Lím. sup. Lím. inf. Lím. sup.C101 (100) 828.94 877.58 0 12241.89 0 110.64C105 (100) 829.45 832.05 3.839769 27.71 1.95 5.26C106 (100) 829.54 830.21 0.51 0.72 0.71 0.84C107 (100) 831.84 836.42 28.82 40.28 5.36 6.34C108 (100) 829.77 830.32 0.4 0.71 0.63 0.84C109 (100) 829.71 830.27 0.46 0.72 0.67 0.84C105 (50) 191.32 191.32 0 0 0 0C106 (50) 191.32 191.32 0 0 0 0R201(50) 463.34 463.34 0 0 0 0R202(50) 410.55 410.55 0 0 0 0R201( 25) 800.73 800.73 0 0 0 0R202(25) 712.24 712.24 0 0 0 0

TABLA 5.12: Remuestreo bootstrap para AS-ILS.

Page 83: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Resultados 83

InstanciaIntervalo Medias Intervalo Varianza Intervalo Desviación

Lím. inf. Lím. sup. Lím. inf. Lím. sup. Lím. inf. Lím. sup.C101 (100) 828.93 859.45 0 3183.63 0 56.42C105 (100) 829.3 837.5 1.27 508.77 1.13 22.55C106 (100) 828.93 848.43 0 1338.25 0 36.58C107 (100) 828.93 859.87 0 3625.77 0 60.21C108 (100) 828.99 840.28 0.092 1111.6 0.3 33.34C109 (100) 829.04 829.79 0.34 2.08 0.58 1.44C105 (50) 191.32 191.32 0 0 0 0C106 (50) 191.32 191.32 0 0 0 0R201(50) 463.34 463.34 0 0 0 0R202(50) 410.55 410.55 0 0 0 0R201( 25) 800.73 800.73 0 0 0 0R202(25) 712.24 712.24 0 0 0 0

TABLA 5.13: Remuestreo bootstrap para GA.

InstanciaIntervalo Medias Intervalo Varianza Intervalo Desviación

Lím. inf. Lím. sup. Lím. inf. Lím. sup. Lím. inf. Lím. sup.C101 (100) 828.93 828.93 0 0 0 0C105 (100) 828.93 830.22 0 8.57 0 2.92C106 (100) 829.04 829.54 0.17 0.66 0.42 0.81C107 (100) 828.93 831.84 0 28.82 0 5.36C108 (100) 828.93 829.21 0 0.4 0 0.63C109 (100) 828.93 828.93 0 0 0 0C105 (50) 191.32 191.32 0 0 0 0C106 (50) 191.32 191.32 0 0 0 0R201(50) 463.34 463.34 0 0 0 0R202(50) 410.55 410.55 0 0 0 0R201( 25) 800.73 800.73 0 0 0 0R202(25) 712.24 712.24 0 0 0 0

TABLA 5.14: Remuestreo bootstrap para AS-GA.

Page 84: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

84 Capítulo 5. Resultados

InstanciaIntervalo Medias Intervalo Varianza Intervalo Desviación

Lím. inf. Lím. sup. Lím. inf. Lím. sup. Lím. inf. Lím. sup.C101 (100) 877.11 959.8 8879.04 19459.35 94.22 139.49C105 (100) 834.14 837.05 9.74 23.64 3.12 4.86C106 (100) 830.52 833.13 7.48 20.5 2.73 4.52C107 (100) 833.55 837.65 24.93 37.73 4.99 6.14C108 (100) 830.83 833.22 7.94 13.9 2.81 3.72C109 (100) 829.77 830.32 0.4 0.71 0.63 0.84C105 (50) 191.32 191.32 0 0 0 0C106 (50) 191.32 191.32 0 0 0 0R201(50) 463.34 463.34 0 0 0 0R202(50) 410.55 410.55 0 0 0 0R201( 25) 800.73 800.73 0 0 0 0R202(25) 712.24 712.24 0 0 0 0

TABLA 5.15: Remuestreo bootstrap para HS.

InstanciaIntervalo Medias Intervalo Varianza Intervalo Desviación

Lím. inf. Lím. sup. Lím. inf. Lím. sup. Lím. inf. Lím. sup.C101 (100) 828.93 866.84 0 10185.25 0 100.92C105 (100) 829.96 832.54 7.13 15.35 2.67 3.91C106 (100) 829.25 831.1 2.05 11.92 1.43 3.45C107 (100) 829.61 832.87 6.95 31.72 2.63 5.63C108 (100) 829.3 831.16 2.1 11.61 1.45 3.4C109 (100) 829.15 829.71 0.33 0.71 0.57 0.84C105 (50) 191.32 191.32 0 0 0 0C106 (50) 191.32 191.32 0 0 0 0R201(50) 463.34 463.34 0 0 0 0R202(50) 410.55 410.55 0 0 0 0R201( 25) 800.73 800.73 0 0 0 0R202(25) 712.24 712.24 0 0 0 0

TABLA 5.16: Remuestreo bootstrap para AS-HS.

Page 85: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

2.- Resultados 85

InstanciaIntervalo Medias Intervalo Varianza Intervalo Desviación

Lím. inf. Lím. sup. Lím. inf. Lím. sup. Lím. inf. Lím. sup.C101 (100) 828.93 829.7 0 5.55 0 2.35C105 (100) 828.93 829.1 0 0.25 0 0.5C106 (100) 828.93 829.32 0 0.51 0 0.71C107 (100) 828.93 830.4 0 14.45 0 3.8C108 (100) 829.04 829.6 0.17 0.69 0.42 0.83C109 (100) 828.93 829.21 0 0.4 0 0.63C105 (50) 191.32 191.32 0 0 0 0C106 (50) 191.32 191.32 0 0 0 0R201(50) 463.34 463.34 0 0 0 0R202(50) 410.55 410.55 0 0 0 0R201( 25) 800.73 800.73 0 0 0 0R202(25) 712.24 712.24 0 0 0 0

TABLA 5.17: Remuestreo bootstrap para DSM-AS-PDA.

Con base en los datos mostrados en las Tablas 5.11, 5.12, 5.13, 5.14, 5.15,5.16 y 5.17 se puede notar que AS-GA y DSM-AS-PDA son las técnicas que secomportan de una mejor forma, debido a que presentan un promedio cercanoal mejor resultado reportado en la literatura para cada una de las instancias;sin embargo, AS-ILS y AS-HS se comportan mejor que las técnicas sencillas AS,GA y HS.

2.3.- Normalización de resultados

Con el objeto de comparar el comportamiento de las técnicas presentadas,los resultados obtenidos en las 12 instancias se normalizaron a través de laecuación (5.1):

f(xnorm−α) =

f(xworst in β)−f(xmethod−α))

f(xworst in β)−f(x?) si f(xworst in β)− f(x?) 6= 0

f(xworst in β)− f(xmethod−α) si f(xworst in β)− f(x?) = 01 si f(xworst in β) = f(x?)

(5.1)

Donde, f(x?) es el mejor valor de la función objetivo encontrado; f(xmethod−α) es el promedio del valor de la función objetivo encontrado por la me-taheurística α; f(xworst in β) es el peor valor encontrado por las metaheurísticaspara la instancia β y f(xnorm−α) es el valor normalizado de la función objetivoencontrado por la metaheurística α. El valor de f(xnorm−α) oscila en el rango0 a 1. Si f(xnorm−α) es cercano a 0, entonces el valor def(xmethod−α) cercanoal peor valor reportado. En contraste, si f(xnorm−α) es cercano a 1, entonces elvalor de f(xmethod−α) es cercano a f(x?). En la Tabla 5.18 se muestran los re-sultados normalizados para las técnicas implementadas en las 9 instancias deprueba.

Page 86: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

86 Capítulo 5. Resultados

Normalización f(xnorm-θ)Téc. C101 C105 C106 C107 C108 C109 C105 C106 R201 R202 R201 R202AS 0.3 0.1 0.66 0.66 0 0 1 1 1 1 1 1GA 0.84 0.54 0 0 0.27 0.7 1 1 1 1 1 1HS 0 0 0.69 0.56 0.43 0.22 1 1 1 1 1 1ASLS 0.77 0.79 0.92 0.7 0.81 0.26 1 1 1 1 1 1ASHS 0.84 0.71 0.89 0.92 0.79 0.65 1 1 1 1 1 1DSM-AS-PDA 1 1 1 1 1 1 1 1 1 1 1 1ASGA 1 1 1 1 1 1 1 1 1 1 1 1

TABLA 5.18: Resultados normalizados.

En la Tabla 5.18, se puede notar que las técnicas AS-GA y DSM-AS-PDA ob-tienen los mejores resultados para las instancias de prueba. La ventaja principalde DSM-AS-PDA es el número de llamadas a la función objetivo, sin embargo,al depender de las soluciones que entrega el optimizador Gurobi la primera vezque se ejecuta la técnica para cierta instancia, el tiempo de cómputo se eleva.Por otro lado, una vez que se ha ejecutado Gurobi el tiempo de cómputo impli-cado es menor en comparación con las demás técnicas desarrolladas.

FIGURA 5.2: Diagrama de caja y bigote de los resultados nor-malizados.

En la Figura 5.2 se muestra gráficamente los resultados obtenidos por cadauna de las técnicas. Aquí, se puede constatar que AS-GA y DSM-AS-PDA ob-tienen los mejores resultados, demostrando un comportamiento más robustoen comparación con las demás técnicas. Además, se puede notar que AS-HS yAS-ILS poseen un buen comportamiento obteniendo buenos resultados.

Page 87: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

3.-Resultados comparativos 87

3.-Resultados comparativos

Para realizar un análisis sobre la robustez y el desempeño de las técnicasmostradas, se compararon los mejores resultados obtenidos por estas con losreportados en [1, 7, 83], que son de las últimas investigaciones para el proble-ma.

En [7] los autores reportan una búsqueda en vecindades variables con ope-radores compuestos identificado como (VNS-C), mientras que en [1] repor-tan un algoritmo de colonia artificial de abejas modificado identificado como(ABC-M), y en [83] reportan tres heurísticas de búsqueda local denominadascomo Cuckoo search, Central Force Optimization, and Chemical Reaction Optimiza-tion. En [7] reportan alrededor de 1,000,000 de evaluaciones a la función objeti-vo, en [1] reportan alrededor de 20,000 y en [83] reportan alrededor de 10,000.

Para poder realizar la comparación de los resultados obtenidos por las téc-nicas desarrolladas con las técnicas descritas en la literatura, se realizaron 30ejecuciones de AS-GA, AS-HS Y DSM-AS-PDA para 9 instancias de prueba delconjunto propuesto por Cordeau y Solomon [17, 18, 84] de 100 clientes cadauna (C101-C109).

En las Tablas 5.19 y 5.20 se muestran las comparaciones de los resultadosobtenidos por AS-GA, AS-HS Y DSM-AS-PDA y los obtenidos en [1, 7, 83]; ade-más, del número de llamadas a la función objetivo y los tiempos de ejecución(en segundos).

Para este trabajo se realizaron las ejecuciones en un equipo de cómputo conlas siguientes características:

1. Procesador: Intel Core i5-4430, cuatro núcleos a 3.0 GHz.

2. Memoria RAM: 4 gb.

Resultados comparativos

Inst.AS-HS AS-GA DSM-AS-PDA

Mejor Prom. T(s). Mejor Prom. T.(s) Mejor Prom. T(s).C101 828.94 828.94 63.4 828.94 828.94 65.3 828.94 828.94 56.5C102 828.94 830.84 57.8 828.94 829.45 53.6 828.94 829.67 49.6C103 828.06 830.84 54.3 828.06 828.06 57.8 828.06 828.86 52.9C104 824.78 825.95 56.7 824.78 824.96 52.4 824.78 824.78 53.4C105 828.94 837.30 58.6 828.94 828.94 57.2 828.94 828.94 54.7C106 828.94 829.43 56.3 828.94 828.94 53.7 828.94 828.94 55.8C107 828.94 830.43 67.2 828.94 828.94 62.6 828.94 829.30 63.9C108 828.94 828.94 76.2 828.94 828.94 73.6 828.94 828.94 64.5C109 828.94 836.40 78.2 828.94 828.94 80.4 828.94 829.24 68.3

TABLA 5.19: Resultados comparativos (1).

Page 88: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

88 Capítulo 5. Resultados

Resultados comparativos

Inst.Heurísticas ABC-M VNS-C

Mejor Prom. T. (s) Mejor Prom. T. (s) Mejor Prom. T. (s)C101 828.94 – – 828.94 828.94 700 828.94 828.94 –C102 828.94 – – 828.94 828.94 700 828.94 876.79 –C103 828.06 – – 828.94 840.66 700 828.94 832.65 –C104 824.78 – – 858.90 889.10 700 825.65 831.79 –C105 828.94 – – 828.94 828.94 700 828.94 852.33 –C106 828.94 – – 828.94 828.94 700 828.94 836.25 –C107 828.94 – – 828.94 828.94 700 828.94 853.9 –C108 828.94 – – 828.94 830.85 700 828.94 840.48 –C109 828.94 – – 828.94 836.97 700 828.94 828.94 –

TABLA 5.20: Resultados comparativos (2).

En las Tablas 5.19 y 5.20 se puede notar que las técnicas reportadas en laliteratura y las descritas en este trabajo obtienen resultados similares. Además,se puede ver que los tiempos de ejecución para las técnicas AS-GA, AS-HS yDSM-AS-PDA son menores respecto a las técnicas mostradas en la literatu-ra; sin embargo, estos no son buena medida de comparación, ya que para lasdiversas técnicas se utilizaron equipos de cómputo distintos para realizar lasejecuciones.

Por otro lado, se puede notar que el número de llamadas a la función ob-jetivo también es menor en las técnicas desarrolladas y a su vez, da una mejoridea sobre el desempeño de las mismas.

Para comprobar que existen diferencias entre las distribuciones de las téc-nicas descritas en este trabajo con las reportadas en la literatura, se realizó laprueba de Wilcoxon. La hipótesis nula es que las muestras proceden de po-blaciones con la misma distribución de probabilidad; la hipótesis alternativaestablece que existe diferencia respecto a la tendencia central de las poblacio-nes.

En las Tablas 5.21, 5.22, 5.23, 5.24, 5.25 y 5.26 se muestran los valores de py h obtenidos al aplicar la prueba para los mejores resultados reportados porcada técnica, el valor promedio de las ejecuciones y el tiempo de ejecución paracada una.

TécnicaPrueba Wilcoxon de los mejores valores para cada técnica (valor p)

AS-HS AS-GA DSM-AS-PDA Heurísticas ABC-M VNS-CAS-HS 1 1 1 1 0.25 0.25AS-GA 1 1 1 1 0.25 0.25

DSM-AS-PDA 1 1 1 1 0.25 0.25Heurísticas 1 1 1 1 0.25 0.25

ABC-M 0.25 0.25 0.25 0.25 1 0.5VNS-C 0.25 0.25 0.25 0.25 0.5 1

TABLA 5.21: Prueba Wilcoxon de los mejores valores para cadatécnica (valor p).

Page 89: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

3.-Resultados comparativos 89

TecnicaPrueba Wilcoxon de los mejores valores para cada técnica (valor h)

AS-HS AS-GA DSM-AS-PDA Heurísticas ABC-M VNS-CAS-HS 0 0 0 0 0 0AS-GA 0 0 0 0 0 0

DSM-AS-PDA 0 0 0 0 0 0Heurísticas 0 0 0 0 0 0

ABC-M 0 0 0 0 0 0VNS-C 0 0 0 0 0 0

TABLA 5.22: Prueba Wilcoxon de los mejores valores para cadatécnica (valor h).

Con base en los resultados mostrados en las Tablas 5.21 y 5.22 se muestraque todas las técnicas obtienen resultados estadísticamente similares, esto esdebido a que en su mayoría se entrega como mejor valor encontrado al mejorresultado descrito en la literatura.

TécnicaPrueba Wilcoxon para los resultados promedio (valor p)

AS-HS AS-GA DSM-AS-PDA Heurísticas ABC-M VNS-CAS-HS 1 0.015625 0.015625 - 0.64 0.0546875AS-GA 0.015625 1 0.125 - 0.125 0.015625

DSM-AS-PDA 0.015625 0.125 1 - 0.15625 0.015625Heurísticas - - - - -

ABC-M 0.64 0.125 0.15625 - 1 0.546875VNS-C 0.0546875 0.015625 0.015625 - 0.546875 1

TABLA 5.23: Prueba Wilcoxon para los resultados promedio(valor p).

TécnicaPrueba Wilcoxon para los resultados promedio (valor h)

AS-HS AS-GA DSM-AS-PDA Heurísticas ABC-M VNS-CAS-HS 0 1 1 - 0 0AS-GA 1 0 0 - 0 1

DSM-AS-PDA 1 0 0 - 0 1Heurísticas - - - - - -

ABC-M 0 0 0 - 0 0VNS-C 0 1 1 - 0 0

TABLA 5.24: Prueba Wilcoxon para los resultados promedio(valor h).

En las Tablas 5.23 y 5.24 se observa que las técnicas AS-GA, DSM-AS-PDAy ABC-M obtienen en promedio resultados estadísticamente similares; sin em-bargo, con la información mostrada en las Tablas 5.19 y 5.20 se observa quela principal ventaja de AS-GA y DSM-AS-PDA es el número de llamadas a lafunción objetivo que estas realizan en comparación a ABC-M.

Page 90: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

90 Capítulo 5. Resultados

TécnicaPrueba Wilcoxon para tiempos de ejecución (valor p)

AS-HS AS-GA DSM-AS-PDA Heurísticas ABC-M VNS-CAS-HS 1 0.1953125 0.00390625 - 0.00390625 -AS-GA 0.1953125 1 0.0546875 - 0.00390625 -

DSM-AS-PDA 0.00390625 0.0546875 1 - 0.00390625 -Heurísticas - - - - -

ABC-M 0.00390625 0.00390625 0.00390625 - 1 -VNS-C - - - - - -

TABLA 5.25: Prueba Wilcoxon para tiempos de ejecución (valorp).

TécnicaPrueba Wilcoxon para tiempos de ejecución (valor h)

AS-HS AS-GA DSM-AS-PDA Heurísticas ABC-M VNS-CAS-HS 0 0 1 - 1 -AS-GA 0 0 0 - 1 -

DSM-AS-PDA 1 0 0 - 1 -Heurísticas - - - - - -

ABC-M 1 1 1 - 0 -VNS-C - - - - - -

TABLA 5.26: Prueba Wilcoxon para tiempos de ejecución (valorh).

En las Tablas 5.25 y 5.26 se observa que AS-HS, AS-GA y DSM-AS-PDAtienen tiempos de ejecución estadísticamente similares, mientras que VNS-Ctiene un tiempo de ejecución distinto a las demás. Esto se debe principalmente,al número de llamadas a la función objetivo, ya que VNS-C realiza un númeroconsiderablemente mayor de llamadas.

4.- Conclusiones y trabajo futuro

En este trabajo, se presentaron 7 técnicas para resolver el VRP-TW, de lascuales se hace énfasis en los algoritmos híbridos basados en técnicas heurísticasy métodos de programación matemática. Es destacable que todas las técnicastienen un buen desempeño al compararlas con los resultados reportados en laliteratura especializada; sin embargo, los algoritmos híbridos AS-GA y DSM-AS-PDA son capaces de generar buenos resultados empleando menos recursoscomputacionales respecto a las demás técnicas.

Además, éstos son capaces de generar mejores resultados que los métodosreportados en la literatura para algunas instancias pertenecientes al conjuntode casos de prueba, que fue propuesto por Cordeau et al. Se puede observarque los algoritmos híbridos emplean menos llamadas a la función objetivo encontraste con los métodos básicos (AS, GA, HS, DSM, PDA), ya que en cadauno, la estructura del problema se utilizó para guiar la búsqueda de una mejorforma.

Page 91: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

4.- Conclusiones y trabajo futuro 91

Por otro lado, los métodos AS-GA y DSM-AS-PDA son capaces de generarbuenos resultados con menos del 25 % de las llamadas a la función objetivo res-pecto a la técnica mostrada en [83], que es de las técnicas que reportan pocasllamadas a la función objetivo. A su vez, al realizar la prueba de Wilcoxon,se demuestra que se obtienen buenos resultados utilizando menos recursoscomputacionales y obteniendo mejores promedios que las técnicas reportadasen la literatura.

Como trabajo futuro, se se propone realizar versiones autoadaptativas y/oreactivas para cada algoritmo híbrido presentado, con el fin de obtener un com-portamiento más inteligente y reducir más las llamadas a la función objetivo;además, se busca atacar diversas versiones de VRP e instancias de problemáti-cas reales.

Se cumplió el objetivo del presente trabajo, gracias a que se obtuvieron téc-nicas que son competitivas ante las técnicas reportadas en la literatura especí-fica.

Page 92: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.
Page 93: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

93

Apéndice A

Principales funciones de lainterfaz Gurobi C

A.1.- Solución de un modelo

Una vez que haya construido el modelo, se puede llamar a GRBoptimizepara calcular una solución. Por defecto, GRBoptimize() utilizará optimizaciónsimultanea (resuelve el programa lineal con distintas estrategias) para resolvermodelos de PL, el algoritmo de barrera para resolver QP y modelos QCP, yel algoritmo de ramificación y corte para resolver modelos enteros mixtos. Lasolución se almacena como un conjunto de atributos del modelo.

Los algoritmos de Gurobi dan un seguimiento cuidadoso al estado del mo-delo, por lo que la llamada GRBoptimize() sólo realizará una optimización adi-cional si los datos relevantes han cambiado desde la última vez que el modelofue optimizado1. Por otro lado, se puede descartar información de solucionespreviamente calculadas y se reinicia la optimización sin necesidad de cambiarel modelo con la rutina GRBresetmodel.

Si se tiene que un modelo resulta infactible, se cuenta con algunas opcionespara tratar de diagnosticar la causa de la infactibilidad y repararla. Para esto,se llama a la rutina GRBcomputeIIS. También se puede llamar a GRBfeasrelaxpara calcular una relajación de factibilidad para el modelo. Esta relajación per-mite encontrar una solución que minimiza la magnitud de la violación de lasrestricciones.

A.1.1.- Modificación de atributos

La mayor parte de la información asociada con un modelo dentro de Guro-bi se almacena en un conjunto de atributos. Algunos atributos están asociadoscon las variables del modelo, algunos con las restricciones del modelo, y al-gunas de ellas con el propio modelo. Para dar un ejemplo sencillo, la solución

1Después de que un modelo MIP ha sido resuelto, puede llamar GRBfixedmodel para calcularel modelo fijo asociado. Este modelo es idéntico al modelo de entrada, excepto que todas lasvariables enteras se fijan a sus valores en la solución MIP.

Page 94: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

94 Apéndice A. Principales funciones de la interfaz Gurobi C

de un modelo hace que los atributos de la variable X que se calculan por eloptimizador Gurobi no pueden ser modificados directamente por el usuario.

La interfaz Gurobi C contiene un amplio conjunto de rutinas para consul-tar o modificar los valores de los atributos. La rutina exacta a utilizar para unatributo particular depende del tipo del atributo. Como se mencionó anterior-mente, los atributos pueden ser tanto los atributos de variable, atributos derestricción o atributos del modelo.

Los atributos de variables y restricciones son matrices, y se debe utilizarel conjunto de rutinas de atributos matriz. Los atributos del modelo son esca-lares, y se debe utilizar el conjunto de rutinas escalares. Y algunos valores deatributos pueden ser de tipo char , int , doble o de cadena.

Los atributos de modelo escalares se acceden a través de un conjunto derutinas GRBget*attr(), por ejemplo, GRBgetintattr. Además, esos atributos sepueden establecer directamente por el usuario. Los atributos de tipo matrizse acceden a través de tres conjuntos de rutinas. El primer conjunto, las GRB-get*attrarray() devuelven una sub-serie de la matriz de atributos, especifica eluso del índice del primer elemento y la longitud de la sub-serie deseada.

El segundo conjunto, las rutinas GRBget*attrelement() devuelven una solaentrada del conjunto de atributos. Por último, las GRBget*attrlist() recuperanlos valores de atributos para obtener una lista de índices. Los atributos de lamatriz que se pueden configurar por el usuario se modifican a través de losGRBset*attrarray(), GRBset*attrelement() y GRBset*attrlist().

La matriz de restricciones puede ser modificada de distintas maneras. Laprimera es llamar a GRBchgcoeffs cambiando los coeficientes de la matriz. Estarutina se puede utilizar para modificar el valor de una variable existente queno sea cero.

La matriz de restricciones también se modifica cuando se quitan las restric-ciones (a través de GRBdelconstrs) o variables (a través GRBdelvars). Los valoresno nulos asociados a las restricciones o variables eliminadas se quitan juntocon las restricciones propias o variables.

Los términos objetivos cuadráticos se añaden a la función objetivo utilizan-do la rutina GRBaddqpterms. Se puede añadir una lista de términos cuadráticosen una llamada, o se pueden agregar términos de forma incremental a travésde múltiples llamadas. La rutina GRBdelq permite borrar todos los términos desegundo grado a partir del modelo. Se debe tener en cuenta que los modeloscuadráticos suelen tener ambos términos cuadráticos y lineales.

A.1.2.- Gestión de los parámetros

Gurobi proporciona un conjunto de parámetros que le permite controlarmuchos de los detalles del proceso de optimización. Factores como toleran-cias de factibilidad y de optimalidad, opciones de algoritmos, las estrategias

Page 95: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

A.2.- Rutinas principales en Gurobi 95

para explorar el árbol de búsqueda, etc., los cuales se pueden controlar me-diante la modificación de parámetros antes de comenzar la optimización. Losparámetros se ajustan usando las rutinas GRBset*param(). Los valores actualesse pueden recuperar con GRBgetdblparam.

Los parámetros pueden ser de tipo int , doble , o char∗. También se pue-de leer un conjunto de valores de los parámetros desde un archivo usandoGRBreadparams, o escribir el conjunto de parámetros modificados utilizandoGRBwriteparams.

También, se incluye una herramienta de ajuste de parámetros automatizadoque explora muchos conjuntos diferentes de cambios de parámetros con el finde encontrar un conjunto que mejore el rendimiento. Una cosa que debemostener en cuenta es que cada modelo tiene su propia copia del entorno cuandose crea. Los cambios de parámetros en el entorno original no tienen ningúnefecto en los modelos existentes.

A.1.3.- Seguimiento del Progreso

De forma predeterminada, Gurobi envía controles simples que están dispo-nibles para modificar el comportamiento del registro. Se puede modificar lasalida a un archivo, especificando el nombre de archivo en GRBloadenv cuandose crea su entorno. Mientras que, la rutina GRBsetcallbackfunc permite instalaruna función que Gurobi llamará regularmente durante el proceso de optimiza-ción. Se puede llamar GRBcbget desde el interior de la devolución de llamadapara obtener información adicional sobre el estado de la optimización.

Estas se pueden utilizar para modificar el comportamiento de Gurobi. Si sellama a la rutina GRBterminate desde el interior de una devolución de llamada,por ejemplo, el optimizador termina en el punto conveniente más temprano.La rutina GRBcbsolution permite inyectar una solución factible (o soluciónparcial) durante la solución de un modelo. Las rutinas GRBcbcut y GRBcblazypermiten añadir planos de corte y restricciones relajadas durante el proceso deoptimización.

A.2.- Rutinas principales en Gurobi

A.2.1.- GRBloadmodel

Sirve para crear un nuevo modelo de optimización, utilizando los argu-mentos proporcionados para inicializar los datos del mismo (función objetivo,matriz de restricciones, etc.). Si la matriz de restricciones contiene más de 2 milmillones de valores distintos de cero, se debe considerar el uso de la GRBX-loadmodel variante de esta rutina. Si la función regresa un valor distinto de ceroindica que se produjo un problema al crear el modelo.

Page 96: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

96 Apéndice A. Principales funciones de la interfaz Gurobi C

Argumentos

1. env: El entorno en el que se debe crear el nuevo modelo. Se debe detener en cuenta que el nuevo modelo crea una copia de este entorno,por lo que las modificaciones posteriores en el entorno original noafectarán el nuevo modelo.

2. modelP: La ubicación en la que se debe colocar el apuntador para elnuevo moelo.

3. Pname: El nombre del modelo.

4. numvars: El número de variables en el modelo.

5. numconstrs: El número de restricciones en el modelo.

6. objsense: El sentido de la función objetivo. Los valores permitidosson 1 (minimización) o -1 (maximización).

7. objcon: Desplazamiento constante del objetivo.

8. obj: Coeficientes objetivo para las nuevas variables. Este argumentopuede ser nulo, en cuyo caso los coeficientes objetivo se establecenen 0.

9. sense: Los sentidos de las nuevas restricciones. Las opciones son” = ” (igual), ′ <′ (menor que o igual), o ′ >′ (mayor que o igual).También se pueden usar constantes GRB, GRB_LESS_EQUAL, oGRB_GREATER_EQUAL.

10. dcha: Los valores del lado derecho de las nuevas restricciones. Esteargumento puede ser nulo, en cuyo caso los valores del lado derechose establecen en 0.

11. vbeg: Los valores de la matriz de restricciones que no son cero sonpasados a esta rutina. Cada columna de la matriz de restriccionesse representa como una lista de índice de valor par y cada entradaproporciona el valor correspondiente. Cada variable en el modelotiene un valor vbeg y vlen, indicando la posición de inicio de los noceros para esa variable en los arreglos vind y vval, y el número devalores distintos de cero para esa variable, respectivamente. Así, porejemplo, si vbeg[2] = 10 y vlen[2] = 2, indicaría que la variable 2 tie-ne dos valores distintos de cero asociados. Sus índices de restricciónse pueden encontrar en vind[10] y vind[11], y los valores numéricospara los no-ceros se pueden encontrar en vval[10] y vval[11].

12. vlen: Es el número de valores distintos de cero en las restriccionesasociadas con cada variable.

13. ind: Índices de restricción asociados con valores no nulos.

14. vval: Los valores numéricos asociados con la matriz de restriccióndistintos de cero.

15. lb: Límites inferiores para las nuevas variables. Este argumento pue-de ser nulo, en cuyo caso todas las variables consiguen límites infe-riores de 0.

Page 97: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

A.2.- Rutinas principales en Gurobi 97

16. ub: Límites superiores para las nuevas variables. Este argumentopuede ser nulo, en cuyo caso todas las variables obtienen cotas su-periores infinitas.

17. vtype: Tipos de las variables. Las opciones son GRB_CONTINUOUS,GRB_BINARY ,GRB_INTEGER,GRB_SEMICONT , oGRB_SEMIINT . Este argumento puede ser NULL, en cuyo caso todaslas variables se supone que son continuas.

18. varnames: Los nombres de las nuevas variables. Este argumentopuede ser nulo, en cuyo caso todas las variables se les asignan nom-bres predeterminados.

19. constrnames: Los nombres de las nuevas restricciones. Este argu-mento puede ser nulo, en cuyo caso todas las restricciones se dannombres predeterminados.

Es recomendable que se construya un modelo de una restricción/variablea la vez, usando GRBaddconstr o GRBaddvar, en lugar de utilizar esta ru-tina para cargar toda la matriz de restricciones a la vez.

Ejemplo de uso

GRBloadmodel(env, &model, “example”, vars, constrs, -1, 0.0, obj, sense, rhs,vbeg, vlen, vind, vval, NULL, NULL, vtype, NULL, NULL);

A.2.2.- GRBnewmodel

Crea un nuevo modelo de optimización. Esta rutina permite especificar unconjunto inicial de variables (con los límites, los tipos y nombres), pero el mo-delo inicial no tendrá restricciones. Las restricciones pueden ser añadidos mástarde con GRBaddconstr o GRBaddconstrs.

Argumentos: Utiliza los argumentos env, modelIP, Pname, numvars, obj,lb ub, vtipe, varnames descritos anteriormente.

Ejemplo de uso

GRBnewmodel(env, &model, “New”, 2, obj, NULL, NULL, NULL, names);

A.2.3.- GRBaddvars

Añade nuevas variables a un modelo existente. Se debe tener en cuenta quelas nuevas variables no se añadirán en realidad hasta la siguiente llamada aGRBoptimize o GRBupdatemodel.

Page 98: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

98 Apéndice A. Principales funciones de la interfaz Gurobi C

Argumentos:

model: El modelo al que hay que añadir las nuevas variables. numnz:El número total de coeficientes distintos de cero en las nuevas columnas.Además de numvarz, vbeg, vind, vval, obj, lb, ub, vtypw, varnames des-critos anteriormente.

Ejemplo de uso

GRBaddvars(*model,numvars,numnz,*vbeg,*vind,*vval,*obj,*lb,*ub,*vtype,**varnames)

A.2.4.- GRBaddconstr

Añade una nueva restricción a un modelo existente. Se debe tener en cuentaque la nueva restricción no será añadida en realidad hasta la siguiente llamadaa GRBoptimize o GRBupdatemodel.

Argumentos:

cind: índices de variables para valores distintos de cero en la nueva res-tricción. cval: Los valores numéricos de los valores distintos de cero en lanueva restricción. Además de model, numnz, sense, dcha y constrnamedescritas anteriormente.

Ejemplo de uso

GRBaddconstr(model, 3, ind, val, GRB_EQUAL, 1.0, “New”);

A.2.5.- GRBoptimize

Optimiza un modelo. El algoritmo utilizado para la optimización dependedel tipo de modelo.

Argumentos:

model descrito anteriormente.

Ejemplo de uso

GRBoptimize(model);

A.2.6.- GRBcomputeIIS

Calcula un subsistema reducido inconsistente (IIS). Un IIS es un subcon-junto de las restricciones y límites variables del modelo original. Si se eliminan

Page 99: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

A.2.- Rutinas principales en Gurobi 99

todas las restricciones en el modelo, excepto los de IIS, el modelo sigue siendoinfactible. Sin embargo, la eliminación de cualquier miembro de IIS produceun resultado factible.

Argumentos:

model descrito anteriormente.

Ejemplo de uso

GRBcomputeIIS(model);

A.2.7.- GRBfeasrelax

Modifica el modelo de entrada para crear una relajación de factibilidad. Sedebe tener en cuenta que es necesario llamar a GRBoptimize para calcular lasolución del problema relajado.

La relajación de factibilidad es un modelo que, cuando se resuelve, reduceal mínimo la cantidad en que la solución viola los límites y restricciones linealesdel modelo original.

Si se especifica relaxobjtype = 0, el objetivo de la relajación de factibili-dad es minimizar la suma de las magnitudes ponderadas de las violaciones yde restricciones. Si se especifica relaxobjtype = 1, el objetivo es minimizar lasuma ponderada de los cuadrados de las violaciones y de restricciones. Si seespecifica relaxobjtype = 2, el objetivo es minimizar el conteo ponderado deviolaciones consolidados y de restricciones 2.

Argumentos:

1. relaxobjtype: La función de costos aplicado al encontrar la relajaciónde costo mínimo.

2. minrelax: El tipo de relajación de factibilidad a realizar.

3. lbpen: La penalización asociada con la violación de un límite infe-rior.

4. ubpen: La penalización asociada con la violación de un límite supe-rior.

5. rhspen: La penalización asociada a violar una restricción lineal.

6. feasobjP: Cuando minrelax = 1, esto devuelve el valor objetivo pa-ra la relajación de costo mínimo

Además de model descrito anteriormente.

Ejemplo de uso2Se debe tener en cuenta que esta es una rutina destructiva, ya que modifica el modelo que

se le ha pasado.

Page 100: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

100 Apéndice A. Principales funciones de la interfaz Gurobi C

double penalties[]; error = GRBfeasrelax(model, 0, 0, NULL, NULL, penalties,NULL); error = GRBoptimize(model);

Page 101: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

101

Apéndice B

Modelos matemáticos delVRP-TW utilizados en Gurobi

Para ejemplificar las relajaciones aplicadas al modelo original, se utilizó unainstancia de 3 clientes y 2 vehículos tomando la información de los primeros3 clientes de la instancia C101 del conjunto propuesto por Cordeau y Solomon[19, 84]. En la Tabla B.1, se muestra la información para esta instancia.

Cliente Coord. x Coord. y T. servicio Demanda Límite inicial de tiempo Límite final de tiempo0 40.00 50.00 0.00 0.00 1236 –1 45.00 68.00 90.00 10.00 912 9672 45.00 70.00 90.00 30.00 825 8703 42.00 66.00 90.00 10.00 65 146

TABLA B.1: Instancia de muestra.

B.1.- Relajación respecto a capacidad vehícular e integrali-dad

Aquí, se muestra la formulación matemática del VRP-TW eliminando lasrestricciones de capacidad de los vehículos e integralidad de las variables, estemodelo está formulado siguiendo el formato lp de Gurobi.

Minimize CSubject ToX010001 + X020001 + X030001 + X010002 + X020002 + X030002 = 1X000101 + X020101 + X030101 + X000102 + X020102 + X030102 = 1X000201 + X010201 + X030201 + X000202 + X010202 + X030202 = 1X000301 + X010301 + X020301 + X000302 + X010302 + X020302 = 1X010001 - X000101 + X020001 - X000201 + X030001 - X000301 = 0X010002 - X000102 + X020002 - X000202 + X030002 - X000302 = 0X000101 - X010001 + X020101 - X010201 + X030101 - X010301 = 0X000102 - X010002 + X020102 - X010202 + X030102 - X010302 = 0X000201 - X020001 + X010201 - X020101 + X030201 - X020301 = 0X000202 - X020002 + X010202 - X020102 + X030202 - X020302 = 0

Page 102: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

102 Apéndice B. Modelos matemáticos del VRP-TW utilizados en Gurobi

X000301 - X030001 + X010301 - X030101 + X020301 - X030201 = 0X000302 - X030002 + X010302 - X030102 + X020302 - X030202 = 0b0001 <= 1236b0001 >= 1b0101 >= 912b0101 <= 967b0201 >= 825b0201 <= 870b0301 >= 65b0301 <= 146b0002 <= 1236b0002 >= 1b0102 >= 912b0102 <= 967b0202 >= 825b0202 <= 870b0302 >= 65b0302 <= 146C - 43.8634 X000101 - 20.6155 X000201 - 16.1245 X000301 - 43.8634 X010001 -45.0444 X010201 - 42.0476 X010301 - 20.6155 X020001 - 45.0444 X020101 - 5X020301 - 16.1245 X030001 - 42.0476 X030101 - 5 X030201 - 43.8634 X000102 -20.6155 X000202 - 16.1245 X000302 - 43.8634 X010002 - 45.0444 X010202 - 42.0476X010302 - 20.6155 X020002 - 45.0444 X020102 - 5 X020302 - 16.1245 X030002 -42.0476 X030102 - 5 X030202 >= 0generalsb0001b0101b0201b0301b0002b0102b0202b0302binaryX000101X000201X000301X010001X010201X010301X020001X020101X020301X030001X030101X030201X000102

Page 103: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

B.2.- Relajación respecto a ventanas de tiempo e integralidad 103

X000202X000302X010002X010202X010302X020002X020102X020302X030002X030102X030202End

B.2.- Relajación respecto a ventanas de tiempo e integrali-dad

Aquí, se muestra la formulación matemática del VRP-TW eliminando lasrestricciones de tiempo para cada cliente, además de la integralidad de las va-riables, este modelo está formulado siguiendo el formato lp de Gurobi.

Minimize CSubject ToX010001 + X020001 + X030001 + X010002 + X020002 + X030002 = 1X000101 + X020101 + X030101 + X000102 + X020102 + X030102 = 1X000201 + X010201 + X030201 + X000202 + X010202 + X030202 = 1X000301 + X010301 + X020301 + X000302 + X010302 + X020302 = 1X010001 - X000101 + X020001 - X000201 + X030001 - X000301 = 0X010002 - X000102 + X020002 - X000202 + X030002 - X000302 = 0X000101 - X010001 + X020101 - X010201 + X030101 - X010301 = 0X000102 - X010002 + X020102 - X010202 + X030102 - X010302 = 0X000201 - X020001 + X010201 - X020101 + X030201 - X020301 = 0X000202 - X020002 + X010202 - X020102 + X030202 - X020302 = 0X000301 - X030001 + X010301 - X030101 + X020301 - X030201 = 0X000302 - X030002 + X010302 - X030102 + X020302 - X030202 = 0Y0001 - 0 X000101 - 0 X000201 - 0 X000301 = 0Y0002 - 0 X000102 - 0 X000202 - 0 X000302 = 0Y0101 - 10 X010001 - 10 X010201 - 10 X010301 = 0Y0102 - 10 X010002 - 10 X010202 - 10 X010302 = 0Y0201 - 30 X020001 - 30 X020101 - 30 X020301 = 0Y0202 - 30 X020002 - 30 X020102 - 30 X020302 = 0Y0301 - 10 X030001 - 10 X030101 - 10 X030201 = 0Y0302 - 10 X030002 - 10 X030102 - 10 X030202 = 0Y0001 + Y0101 + Y0201 + Y0301 <= 0Y0002 + Y0102 + Y0202 + Y0302 <= 0

Page 104: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

104 Apéndice B. Modelos matemáticos del VRP-TW utilizados en Gurobi

Y0001 >= 0Y0002 >= 0Y0101 >= 0Y0102 >= 0Y0201 >= 0Y0202 >= 0Y0301 >= 0Y0302 >= 0C - 43.8634 X000101 - 20.6155 X000201 - 16.1245 X000301 - 43.8634 X010001 -45.0444 X010201 - 42.0476 X010301 - 20.6155 X020001 - 45.0444 X020101 - 5X020301 - 16.1245 X030001 - 42.0476 X030101 - 5 X030201 - 43.8634 X000102 -20.6155 X000202 - 16.1245 X000302 - 43.8634 X010002 - 45.0444 X010202 - 42.0476X010302 - 20.6155 X020002 - 45.0444 X020102 - 5 X020302 - 16.1245 X030002 -42.0476 X030102 - 5 X030202 >= 0binaryX000101X000201X010001X010201X010301X020001X020101X020301X030001X030101X030201X000102X000202X010002X010202X010302X020002X020102X020302X030002X030102X030202generalsY0101Y0102Y0201Y0202Y0301Y0302End

Page 105: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

105

Bibliografía

[1] M. Alzaqebah, S. Abdullah y S. Jawarneh. «Modified artificial bee co-lony for the vehicle routing problems with time Windows.» En: Research(Springer), 1 (2016.), págs. 1-10.

[2] N. Azi, M. Gendreau y J. Y. Potvin. «An exact algorithm for a vehiclerouting problem with time windows and multiple use of vehicle». En:European Journal of Operational Research. (2010).

[3] M.L. Balinski y R.E. Quandt. «On an Integer Program for a Delivery Pro-blem.» En: Operations Research, 12 (2). (1965).

[4] J.E. Beasley. «Route-first cluster-second methods for vehicle routing.» En:Omega 11. (1983).

[5] J. Berger, M. Barkaoui y O.A. Bräysy. «Route-Directed Hybrid GeneticApproach for the Vehicle Routing Problem with Time Windows.» En: IN-FOR, Vol. 41, No. 2. (2003).

[6] J. Berger, Salois M. y R.A. Begin. «Hybrid Genetic Algorithm for the Vehi-cle Routing Problem with Time Windows». En: Lecture Notes in ArtificialIn telligence 1418, Springer, Berlin. (1998).

[7] C. Binhui y col. «A Variable Neighbourhood Search Algorithm with Com-pound Neighbourhoods for VRPTW.» En: The 2016 International Confe-rence on Operations Research and Enterprise Systems (ICORES’16), 23-25.(2016.).

[8] J.L. Blanton y R.L. Wainwright. «Multiple Vehicle Routing with Time andCapacity Constraints Using Genetic Algorithms.» En: Proceedings of the5th International Conference on Genetic Algorithms, San Francisco. (1993).

[9] W.E. Bolkan. «Algorithm for the Vehicle Routing Problem with Dead-lines.» Tesis de lic. Department of Computer Science y Operations Re-search, North Dakota State University, Fargo, North Dakota., 1986.

[10] A. Bouthillier y T.G. Crainic. «A Cooperative Parallel Meta-Heuristic forthe Vehicle Routing Problem with Time Windows.» En: Computers & Ope-rations Research, Vol. 32, No. 7. (2005).

[11] J. Bramel y D. Simchi-Levi. «A location based heuristic for general rou-ting problems.» En: Operations Research 43. (1995).

[12] X. Chen, W.S. Wan y X. H. Xu. «The Real-Time Time-Dependent VehicleRouting Problem.» En: Transportation Research Part E: Logistics and Transportation Review, Vol. 42, No. 5. (2006).

Page 106: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

106 BIBLIOGRAFÍA

[13] Y.-J. Cho y S.-D. Wang. «A Threshold Accepting MetaHeuristic for theVehicle Routing Prob lem with Backhauls and Time Windows.» En: Jour-nal of the E astern Asia Society for Transportation Studies, Vol. 6. (2005).

[14] N. Christofides, A. Mingozzi y P. Toth. «The Vehicle Routing Problem.»En: Combinatorial Optimization. (1979).

[15] G. Clarke y Wright J.V. «Scheduling of vehicles from a central depot toa number of delivery points.» En: Operations Research vol.12 pp.568-581.(1964).

[16] C.A. Coello Coello. Introducción a la Computación Evolutiva. Ed. por CINVESTAV-IPN. CINVESTAV-IPN., 2014.

[17] J. F. Cordeau y G. T. Laporte. «The dial-a-ride problem: models and algo-rithms.» En: Annals of Operations Research. (2007).

[18] J. F. Cordeau y col. «Vehicle Routing.» En: Transportation, handbooks inoperations research and management science. (2006).

[19] J.F. Cordeau y col. «The VRP with time windows.» En: Technical ReportCahiers du GERAD G-99-13. (1999).

[20] R.J. Dakin. «A Tree-Search Algorithm for Mixed Integer ProgrammingProblems. Computer Journal, Vol. 8, pp 250-255, 1964.» En: ComputerJournal, Vol. 8, pp 250-255. (1964).

[21] G.B. Dantzig y J.H. Ramser. «The truck dispatching problem.» En: Mana-gement Science vol. 6. (1959).

[22] G.B. Dantzig y P. Wolfe. «Decomposition Principle for Linear Programs.»En: Operations Research 8(1), 101-111. (1960).

[23] G.B. Dantzig y P. Wolfe. «The Decomposition Algorithm for Linear Pro-grams.» En: Econometrica 29(4), 767-778. (1961).

[24] M. Desrochers y T.W. Verhoog. «A matching based savings algorithm forthe vehicle routing problem.» En: Cahier du GERAD G-89-04. École desHautes Études Commerciales de Montréal. (1989).

[25] M. Dorigo. «Optimization, Learning and Natural Algorithms.» Tesis doct.Dipartimento di Elettronica, Politecnico di Milano, Milan., 1992.

[26] M. Dorigo y L. M. Gambardella. «Ant Colony System: A cooperative lear-ning approach to the traveling salesman problem.» En: IEEE Transactionson Evolutionary Computation. (1997).

[27] M. Dorigo, V. Maniezzo y A. Colorni. «Ant System: Optimization by aColony of Cooperating Agents.» En: IEEE Transactions on Systems, Manand Cybernetics 26 (1). (1996).

[28] J. Dréo y col. Metaheuristics for Hard Optimization, Methods and Cases Stu-dies’. Ed. por Springer. Springer., 2006.

[29] G. Dueck y T. Scheuer. «Threshold accepting: A general purpose optimi-zation algori thm appearing superior to simulated annealing.» En: Jour-nal of Computation Physics, 90 :161-175. (1990).

Page 107: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

BIBLIOGRAFÍA 107

[30] I. Dumitrescu y T. Stuetzle. «Combinations of local search and exact algo-rithms.» En: In G. R. Raidl et al., editors, Applications of Evolutionary Compu-tation, volume 2611 of LNCS, pages 211–223. Springer. (2003).

[31] W.-G. Eilon y N. Christofides. «Distribution Management.» En: Mathema-tical Modelling and Practical. (1971).

[32] J.w. Escobar, R. Linfati y W. Adarme-Jaimes. «A hybrid metaheuristic al-gorithm for the capacitated location routing problem.» En: Revista DY-NA, Facultad de Minas, Medellín Colombia. (2014).

[33] M.L. Fisher. «Comments of The Lagrangian Relaxation Method for Sol-ving Integer Programming Problems.» En: Management Science 50(12),1872-1874. (2004).

[34] M.L. Fisher. «The Lagrangian Relaxation Method for Solving Integer Pro-gramming Problems.» En: Management Science 50(12), 1861-1871. (2004).

[35] M.L. Fisher y R. Jaikumar. «A Decomposition Algorithm for Large-ScaleVehicle Routing.» En: Decision Sciences Working Paper 78-11-05, Universityof Pennsylvania. (1978).

[36] M.L. Fisher y R. Jaikumar. «A Generalized Assignment Heuristic for Vehi-cle Routing.» En: Networks, Vol. 11. (1981).

[37] M. Flood. «The Traveling-Salesman Problem». En: Operational Research,vol. 4 (1956).

[38] A. García-Najera y J.A. Bullinaria. «An Improved Multi-Objective Evo-lutionary Algorithm for the Vehicle Routing Problem with Time Win-dows.» En: Computers & Operations Research, Vol. 38, No. 1. (2011).

[39] T.J. Gaskell. «Bases for vehicle fleet scheduling.» En: Operations ResearchQuarterly, 18, 281–95. (1967).

[40] J. Kim Geem Z. y G.V. Loganathan. «A New Heuristic Optimization Al-gorithm: Harmony Search.» En: Simulation. (2001).

[41] M. Gendreau, A. Hertz y G. Laporte. «A new insertion and postoptimi-zation procedures for the traveling salesman problem.» En: OperationsResearch, 40(6). (1992).

[42] F. Glover. «Future paths for integer programming and links to artificialintellingence.» En: Computers & Operations Research, 5 : 533-549. (1986).

[43] M. X. Goemans y 144-191. ISO 690 Williamson D. P.). «The primal-dualmethod for approximation algorithms and its application to network de-sign problems.» En: Approximation algorithms for NP-hard problems. (1997).

[44] R.E. Gomory. «Outline of an algorithm for integer solutions to linear pro-grams.» En: Bull. Am. Math. (1958).

[45] P. Good. Introduction to Statistics Through Resampling Methods and R/S-PLUS. Wiley., 2005.

[46] Gurobi Optimization Manual Reference, 2016. "http://www.gurobi.com".

[47] K.H. Hansen y J. Krarup. «Improvements of the Held -Karp Algorithmfor the Symmetric Travelling Salesman Problem.» En: Mathematical Pro-gramming, 7 : 87-96. (1974).

Page 108: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

108 BIBLIOGRAFÍA

[48] M. Held y Karp. R.M. «The traveling salesman problem and minimumspanning trees.» En: Operations Research 18, 1138-1162. (1970).

[49] M. Held y Karp. R.M. «The traveling salesman problem and minimumspanning trees: Part II.» En: Mathematical Programming 1, 6-25. (1971).

[50] W.K. Ho, J.C. Agn y A. Lim. «A Hybrid Search Algorithm for the Vehi-cle Routing Problem with Time Windows.» En: International Journal onArtificial Intelligence Tools. (2001).

[51] J. H. Holland. «Outline for a logical theory of adaptive systems.» En:Journal of the Association for Computing Machinery. (1962).

[52] J. Homberger y H. Gehring. «A Two-Phase Hybrid Meta-Heuristic forthe Vehicle Routing Problem with Time Windows.» En: European Journalof Operational Research, Vol. 162, No. 1. (2005).

[53] J.J. Hopfield y D. Tank. «Neural computation of decisions in optimizationproblems.» En: Biological Cybernetics, 52 : 141-152. (1985).

[54] Potvin J.Y. y S. Bengio. «The Vehicle Routing Problem with Time Win-dows Part II: Genetic Search.» En: Informs Journal on Computing, Vol. 8.(1996).

[55] N. Khanh, T.G. Crainic y M. Toulouse. «A hybrid generational geneticalgorithm for the periodic vehicle routing problem with time windows.»En: Journal of Heuristics, Volume 20, Issue 4, pp 383-416. (2014).

[56] S. Kirkpatrichk, C.D. Gellat y M.P. Vecchi. «Optimization by simulatedannealing.» En: Science, 220(4598): 671-680. (1983).

[57] Y.A. Kokosidis, W.B. Powell y M.M. Solomon. «An Optimization-BasedHeuristic for Vehicle Routing and Scheduling with Soft Time WindowConstraints.» En: Transportation Science, 26(2) :69-85. (1992).

[58] G. Laporte. «The Vehicle Routing Problem: An overview of exact and ap-proximate algorithms.» En: European Journal of Operational Research, Vol.59. (1991).

[59] G. Laporte, Mercure H. e Y. Nobert. «An exact algorithm for the asym-metrical capacitated vehicle routing problem.» En: Networks 16. (1986).

[60] K.S. Lee y Z.W. Geem. «new metaheuristic algorithm for continuous en-gineering optimization, harmony search theory and practice.» En: A Com-puter Methods in Applied Mechanics Engineering, (2005).

[61] J. K. Lenstra y A. H. G. Rinnooy Kan. «Complexity of vehicle routing andscheduling problems.» En: Networks. (1981).

[62] S. Lin y B.W. Kernigham. «An effective heuristic algorithm for the trave-ling salesman problem.» En: Operations Research, 21. (1973).

[63] J. D. C. Little y col. «An Algorithm for the Traveling Salesman Problem.»En: Operations Research, Vol. 11, pp 979- 989. (1968).

[64] M. Mahdavi, M. Fesanghary y E. Damangir. «An improved harmonysearch algorithm for solving optimization problems.» En: Applied Mat-hematics Computation. (2007).

Page 109: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

BIBLIOGRAFÍA 109

[65] V. Maniezzo, T. Stützle y S. Vo. Matheuristics. Hybridizing Metaheuristicsand Mathematical Programming, Volume 10. Springer., 2014.

[66] O. Martin, H.R. Lourenço y T. Stützle. «A beginner’s introduction toiterated local search.» En: In Metaheuristics International Conference, MIC2001. 2001.

[67] O. Martin, H. R. Lurenço y T. Stützle. Handbook of Metaheuristics, IteratedLocal Search. Kluwer Academic, 2003.

[68] C. Miller, A. Tucker y R. Zemlin. «Integer programming formulationsand traveling salesman problems.» En: J. of the ACM. (1960).

[69] R.H. Mole y S.R. Jameson. «A sequential route-building algorithm em-ploying a generalised savings criterion.» En: Operations Research Quar-terly. (1976).

[70] Y. Nagata, O. Braysy y W. Dullaert. «A penalty-based edge assembly me-metic algorithm for the vehicle routing problem with time windows.»En: Computers and Operations Research. (2010).

[71] A. Olivera. «Heurísticas para Problemas de Ruteo de Vehículos.» En: Uni-versidad de la República, Montevideo, Uruguay. (2004).

[72] I. Or. «Traveling Salesman-Type Combinatorial Problems and their re-lation to the Logistics of Blood Banking.» Tesis doct. Ph.D. Thesis, De-partment of Industrial Engineering y Management Science, Northwes-tern University, Evanston, IL.., 1976.

[73] J.P. Orrego-Cardozo. Solución al Problema de Ruteo de Vehículos con Capa-cidad Limitada CVRP a través de la heurística de barrido y la implementacióndel Algortmo Genético de Chu-Beasley. Inf. téc. Universidad Tecnológica dePereira, Facultad de Ingeniería Industrial., 2013.

[74] C. H. Papadimitriou y K. Steiglitz. Combinatorial Optimization Algorithmsand Complexity, Dover Publications, 1998.

[75] K.-W. Peng. «An Adaptive Parallel Route Construction Heuristic for theVehicle Routing Problem with Time Windows Constraints.» En: ExpertSystems with Applications, Vol. 38, No. 9. (2011).

[76] K.V. Price, R.M. Storn y J.A. Lampinen. «Differential Evolution A Prac-tical Approach to Global Optimization. Natural Computing Series.» En:Springer-Verlag, Berlin, Germany. (2005).

[77] J. Puchinger y G. R. Raidl. «Combining metaheuristics and exact algo-rithms in combinatorial optimization: A survey and classification.» En:In J. Mira and J. Alvarez, editors, Proceedings of the First International Work-Conference on the Interplay Between Natural and Artificial Computation, volu-me 3562 of LNCS, pages 41-53. Springer. (2005).

[78] H. Pullen y M. A. Webb. «Computer application to a transport schedu-ling problem.» En: Computer Journal, 10, pp. 10–13. (1967).

[79] M. Reimann, s. Shtovba y C E. Nepomuceno. «A hybrid ACO-GA ap-proach to solve Vehicle Routing Problems.» En: (2001).

Page 110: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

110 BIBLIOGRAFÍA

[80] P.P. Repoussis, C.D. Tarantilis y G. Ioannou. «Arc-guided evolutionaryalgorithm for the vehicle routing problem with time windows.» En: IEEETransactions on Evolutionary Computation, v.13. (2009).

[81] Y. Rochat y F. Semet. «A tabu search approach for delivering pet foodand flour in Switzerland.» En: Journal of the Operational Research Society,45. (1994).

[82] D.M. Ryan, C Hjorring y F. Glover. «Extension of the petal method forvehicle routing». En: J. Opl Res, Soc. 44. (1993).

[83] T. Saeheaw y N. Charoenchai. «Comparison of Meta-heuristic Algorithmsfor Vehicle Routing Problem with Time Windows.» En: Advanced Compu-ter and Communication Engineering Technology. (2015.).

[84] M. Solomon. «Algorithms for Vehicle Routing and Scheduling Problemswith time window constraints.» En: Northeastern University, Boston, Mas-sachusetts. (1985).

[85] M. Solomon y J. Desrosiers. «Time Window constrained routing sche-duling Problems: A Survey.» En: Forthcoming in Transportation Science.(1988).

[86] K. Soonpracha, A. Mungwattana y T. Manisri. «Re-constructed Meta-Heuristic Algorithm for Robust Fleet Size and Mix Vehicle Routing Pro-blem with Time Windows under Uncertain Demands.» En: Proceedingsof the 18th Asia Pacific Symposium on Intelligent and Evolutionary Systems -Volume 2. (2015).

[87] R. Storn y K. Price. «Differential evolution – a simple and efficient heu-ristic for global optimization over continuous spaces.» En: J. of Global Op-timization 11(4). (1997).

[88] E.J. Swenson. «The Vehicle Routing Problem with Time Constraints.» Te-sis de lic. Department of Computer Science y Operations Research, NorthDakota State University, Fargo, North Dakota., 1986.

[89] Ma. Tai-Yu. «A cross entropy multiagent learning algorithm for solvingvehicle routing problems with time windows.» En: Proceedings of the 2ndInternational Conference on Computational Logistics. (2011).

[90] S.R. Thangiah, Osman I.H. y T. Sun. «Hybrid Genetic Algorithms, Simu-lated Annealing and Tabu Search Methods for Vehicle Routing Problemswith Time Windows.» En: Technical Report UKC/OR94/4, Institute of Mat-hematics and Statistics, University of Kent, Canterbury. (1995).

[91] P.M. Thompson y H.N. Psaraftis. «Cyclic transfer algorithms for mul-tivehicle routing and scheduling problems.» En: Operations Research, 41(5): 935-946. (1993).

[92] P. Toth y D. Vigo. «An Overview of Vehicle Routing Problems. Mono-graphs on Discrete Mathematics and Applications. In: The Vehicle Rou-ting Problem.» En: SIAM. (2000).

[93] A. Van Breedam. «Improvement heuristics for the vehicle routing pro-blem based on simulated annealing.» En: European Journal of OperationalResearch, 86 : 480-490. (1995).

Page 111: Metaheurísticas para el problema de ruteo de vehículos con ... · zar el comportamiento de las técnicas desarrolladas, estas se emplearon para resolver 12 instancias del VRP-TW.

BIBLIOGRAFÍA 111

[94] S. Villagra y col. «Metaheurísticas híbridas y paralelas aplicadas a pro-blemas de ruteo de vehículos.» En: WICC 2014 XVI Workshop de Investi-gadores en Ciencias de la Computación. (2014).

[95] A. Wren y Carr J.D. «Computers in transport planning and operation.»En: (1971).

[96] P. Yellow. «A computational modification to the savings method of vehi-cle scheduling.» En: Operations Research Quarterly, 21, 281–83. (1970).

[97] Y. Zhou y col. «A Hybrid Bat Algorithm with Path Relinking for the Ca-pacitated Vehicle Routing Problem.» En: Mathematical Problems in Engi-neering. (2013).