diseÑo de un sistema de ruteo de vehÍculos...

94
DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS CON MÚLTIPLES DEPÓSITOS EN EMPRESAS DE TRANSPORTE DE CARGA POR CARRETERA Autor YIMY ALEXANDER HERNÁNDEZ ORTIZ Ingeniero Industrial por la Universidad Distrital Francisco José de Caldas UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA MAESTRÍA EN INGENIERÍA INDUSTRIAL BOGOTÁ, D.C. 2016

Upload: danganh

Post on 09-May-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS CON MÚLTIPLES DEPÓSITOS EN EMPRESAS DE TRANSPORTE DE

CARGA POR CARRETERA

Autor YIMY ALEXANDER HERNÁNDEZ ORTIZ

Ingeniero Industrial por la Universidad Distrital Francisco José de Caldas

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA

MAESTRÍA EN INGENIERÍA INDUSTRIAL BOGOTÁ, D.C.

2016

Page 2: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

2

DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS CON MÚLTIPLES DEPÓSITOS EN EMPRESAS DE TRANSPORTE DE

CARGA POR CARRETERA

Tesis de Maestría como prerrequisito para optar al título de Magister en Ingeniería Industrial

Autor YIMY ALEXANDER HERNÁNDEZ ORTIZ

Ingeniero Industrial por la Universidad Distrital Francisco José de Caldas

Directora MBA. Ing. FLOR DE MARÍA UMAÑA VILLAMIZAR

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA

MAESTRÍA EN INGENIERÍA INDUSTRIAL BOGOTÁ, D.C.

2016

Page 3: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

3

NOTA DE ACEPTACIÓN

La presente tesis de Maestría denominada Diseño de un Sistema de Ruteo de Vehículos con Múltiples Depósitos en Empresas de Transporte de Carga por Carretera, se acepta según lo establecido por la Universidad Distrital Francisco José de Caldas y la Maestría en Ingeniería Industrial con anotación de:

___________________________________

_____________________________________

MBA. Ing. Flor de María Umaña Villamizar Directora de Tesis

_____________________________________

Jurado

_____________________________________

Jurado

Bogotá, D.C. – Colombia; mayo de 2016

Page 4: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

4

ÍNDICE

RESUMEN ............................................................................................................... 9

INTRODUCCIÓN ................................................................................................... 10

1. DESCRIPCIÓN DE LA INVESTIGACIÓN .......................................................... 13

1.1 EL PROBLEMA ............................................................................................ 13

1.1.1 Descripción ............................................................................................ 13

1.1.2 Formulación ........................................................................................... 14

1.2 JUSTIFICACIÓN DE LA INVESTIGACIÓN .................................................. 14

1.3 OBJETIVOS DE LA INVESTIGACIÓN ......................................................... 15

1.3.1 General .................................................................................................. 15

1.3.2 Específicos ............................................................................................ 15

1.4 HIPÓTESIS DE INVESTIGACIÓN ............................................................... 15

1.5 DISEÑO METODOLÓGICO ......................................................................... 16

2. FUNDAMENTACIÓN TEÓRICA Y CONCEPTUAL ........................................... 18

2.1 LOGÍSTICA DE DISTRIBUCIÓN .................................................................. 18

2.2 PROBLEMA DE RUTEO DE VEHÍCULOS .................................................. 19

2.2.1 Elementos del VRP ................................................................................ 21

2.2.2 Métodos de Solución. ............................................................................ 22

2.2.2.1 Heurísticas Aplicadas al Ruteo de Vehículos ..................................... 23

2.2.2.2 Metaheurísticas Aplicadas al Ruteo de Vehículos .............................. 23

2.3 RUTEO DE VEHÍCULOS CON MÚLTIPLES DEPÓSITOS .......................... 24

2.3.1 Algoritmos de Agrupamiento (Clustering) para el MDVRP .................... 25

Page 5: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

5

2.3.2 Algoritmos de Ruteo para el MDVRP..................................................... 33

3. DESARROLLO DE LA INVESTIGACIÓN .......................................................... 41

3.1 METODOLOGÍA DEL MODELO PROPUESTO ........................................... 41

3.1.1 Desarrollo Metodológico ........................................................................ 42

3.1.1.1 GRASP Clustering .............................................................................. 42

3.1.1.2 Tabu Routing ...................................................................................... 43

3.1.2 Aplicación de la metodología GC & TR .................................................. 46

3.2 MODELO COMPUTACIONAL ...................................................................... 56

3.2.1 Herramienta utilizada ............................................................................. 56

3.2.2 Requisitos funcionales ........................................................................... 56

3.2.3 Requisitos no funcionales ...................................................................... 56

3.2.4 Descripción del programa ...................................................................... 57

4. RESULTADOS DE LA INVESTIGACIÓN .......................................................... 78

4.1 Resultados en las Instancias de Christofides y Eilon (1969) ........................ 83

4.2 Resultados en las Instancias de Guillett y Johnson (1976) .......................... 84

4.3 Resultados en las Instancias de Chao, et al (1993) ..................................... 85

4.4 Resultados en las Instancias de Cordeau, et al (1997) ................................ 85

5. CONCLUSIONES .............................................................................................. 87

REFERENCIAS BIBLIOGRÁFICAS ....................................................................... 89

Page 6: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

6

INDICE DE FIGURAS

Figura 1. Representación gráfica del VRP ............................................................. 20

Figura 2. Algoritmo K-means para encontrar tres clústeres ................................... 27

Figura 3. Diagrama de Flujo de la metaheurística propuesta -GC & TR- ............... 45

Figura 4.Ubicación geográfica de clientes y depósitos .......................................... 47

Figura 5. Agrupamientos generados por el primer k-ésimo ................................... 48

Figura 6. Agrupamientos generados en el proceso de construcción GRASP ........ 49

Figura 7. Agrupamientos generados en el proceso de mejora GRASP ................. 50

Figura 8. Agrupamientos finales GRASP ............................................................... 51

Figura 9. Rutas generadas con el algoritmo del vecino más cercano .................... 53

Figura 10. Rutas generadas con estrategias de vecindad ..................................... 54

Figura 11. Rutas finales aplicación GC & TR ......................................................... 55

Figura 12. Interfaz inicial del programa de ruteo .................................................... 57

Figura 13. Información de entrada programa de ruteo ........................................... 58

Figura 14. Matriz de pertenencias del programa de ruteo ..................................... 58

Figura 15. Matriz de distancias del programa de ruteo .......................................... 58

Figura 16. Soluciones del proceso constructivo de GRASP .................................. 59

Figura 17. Listado de soluciones aleatorias GRASP ............................................. 60

Figura 18. RCL del programa de ruteo .................................................................. 62

Figura 19. Soluciones del proceso de mejora en GRASP ..................................... 63

Figura 20. Top 3 soluciones del proceso de mejora en GRASP ............................ 64

Figura 21. Evaluación de capacidad y demanda para las soluciones GRASP ...... 64

Figura 22. Proceso de agrupamiento en GRASP. ................................................. 66

Figura 23. Reporte del proceso de agrupamiento en GRASP ............................... 68

Figura 24. Consolidación de los clústeres en GRASP. .......................................... 68

Figura 25. Agrupamientos generados en la primera fase GRASP ......................... 69

Figura 26. Interfaz restricción de capacidad de los vehículos. ............................... 69

Figura 27. Matriz de distancias para el proceso de ruteo con Búsqueda Tabú ..... 70

Page 7: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

7

Figura 28. Vector inicial para el proceso de ruteo con Búsqueda Tabú ................. 70

Figura 29. Vectores generados con las estrategias de vecindad ........................... 72

Figura 30. Soluciones de la Lista Tabú .................................................................. 76

Figura 31. Generación de rutas para cada depósito con Búsqueda Tabú ............. 76

Figura 32. Reporte final de rutas para cada depósito ............................................ 77

Figura 33. Rutas finales para cada depósito .......................................................... 77

Figura 34. Rutas finales de la instancia p01 aplicando GC & TR........................... 82

Page 8: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

8

INDICE DE TABLAS

Tabla 1. Información de entrada ejemplo aplicación GC & TR .............................. 46

Tabla 2. Matriz de pertenencias entre clientes y depósitos ................................... 47

Tabla 3. Matriz de distancias entre clientes y depósitos ........................................ 48

Tabla 4. Dos primeros k-ésimos del espacio de soluciones .................................. 48

Tabla 5. Lista Restringida de Candidatos -RCL- .................................................... 50

Tabla 6. Matriz simétrica de distancias entre clientes y depósitos ......................... 52

Tabla 7. Informe final aplicación GC & TR ............................................................. 55

Tabla 8. Información de entrada instancia p01 ...................................................... 80

Tabla 9. Resultados del caso de prueba p01 aplicando GC & TR. ........................ 81

Tabla 10. Mejor solución conocida de la instancia p01 .......................................... 82

Tabla 11. Resultados del Benchmark de Christofides y Eilon ................................ 84

Tabla 12. Resultados del Benchmark de Gillett y Johnson .................................... 84

Tabla 13. Resultados del Benchmark de Chao, Golden y Wasil. ........................... 85

Tabla 14. Resultados del Benchmark de Cordeau, Gendreau y Laporte. .............. 86

Page 9: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

9

RESUMEN

El sector transporte juega un papel trascendental en el fortalecimiento de los procesos de globalización y competitividad de un país. La globalización de las economías es un escenario que requiere de los países un esfuerzo para optimizar sus procesos, siendo la disponibilidad y accesibilidad de los bienes, factores necesarios para lograr mayor competitividad a nivel internacional. La gestión de los problemas de distribución afecta directamente a la competitividad de las empresas, especialmente a aquellas dedicadas al transporte de carga. Así, el establecimiento de rutas y horarios para vehículos constituye un conjunto de problemas habituales que, si no se resuelven de manera óptima, acarrean un deterioro significativo en las utilidades de las empresas. Este trabajo presenta el diseño de un sistema de ruteo de vehículos con múltiples depósitos (MDVRP), utilizado para resolver el problema operacional que enfrentan día a día las empresas de transporte de carga por carretera, las cuales distribuyen bienes desde sus centros de distribución hasta sus clientes ubicados geográficamente a nivel nacional. El modelo propuesto utiliza una metaheurística híbrida denominada Grasp Clustering & Tabu Routing, la cual fue diseñada utilizando una metodología de dos fases: clusterizar primero, rutear después. El procedimiento híbrido propuesto emplea en su primera fase el algoritmo GRASP (Greedy Randomized Adaptive Search Procedures) como técnica de agrupamiento para la generación de clústeres; luego, en la segunda fase se aplica el algoritmo de Búsqueda Tabú para generar las rutas de distribución en cada uno de los clústeres. Los resultados de la metodología propuesta fueron evaluados con casos de prueba del MDVRP disponibles en librerías especializadas de investigadores reconocidos del VRP. Al comparar los resultados del algoritmo propuesto con la mejor solución conocida, se evidencia que la metodología GC & TR genera soluciones con un error relativo por debajo del 8% en promedio, lo cual se considera apropiado para solucionar el MDVRP como problema típico al que se enfrentan las empresas distribuidoras de carga por carretera. Palabras clave: Ruteo de vehículos con múltiples depósitos, Transporte de carga, clustering, GRASP, Búsqueda Tabú.

Page 10: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

10

INTRODUCCIÓN

La globalización de los mercados ha provocado una aceleración del comercio. El transporte, que ya es una función vital, adquiere así una posición de mayor carácter estratégico en el marco de enfoques tales como el Justo a tiempo (Just in time – JIT), Respuesta eficiente al consumidor (Efficient consumer response – ECR), Administración de la cadena de suministro (Supply chain management – SCM), entre otras que consolidan la visión de cadena de valor. La importancia de la eficiencia de los sistemas de distribución se vuelve evidente cuando se considera el impacto de los costos asociados a las operaciones de las empresas. La complejidad en el mundo de la distribución física, las diferentes tecnologías aplicables, las exigencias del servicio y una legislación en constante cambio, hace que esta función consuma en torno a un 40% de los gastos de distribución (Anaya, 2009). El transporte de bienes desempeña un papel importante al ser un elemento central en el desarrollo económico de un país. Hoy en día, el transporte por carretera (transporte terrestre) es el principal medio utilizado por las empresas. La principal ventaja del transporte por carretera se deriva de la utilización de una infraestructura vial universal, donde se puede acceder a cualquier punto desde el origen de la carga sin necesidad de efectuar transbordos, lo que hace que para la distribución nacional sea el sistema más generalizado. El transporte de mercancías es una función muy importante dentro del mundo de la distribución, ya que en él están involucrados tres aspectos básicos (Anaya Tejero, 2015), tales como la calidad del servicio ofrecido a los clientes, los costos añadidos al producto e inversiones de capital requeridas. Un plan básico de distribución debe especificar las cantidades y la secuencia de las entregas a realizar, teniendo en cuenta los requerimientos específicos de cada uno de los clientes. Sin embargo, es necesario tener una adecuada planificación de estas actividades con el fin de aumentar la eficiencia en la utilización de los recursos de transporte, y, por tanto, generar beneficios económicos a la compañía. El problema de ruteo de vehículos y sus variantes surgen de manera protagónica en áreas de la logística y el transporte de bienes. Se sabe que para ciertos productos su costo depende en gran medida a la forma en que éste se mueve a través del canal de distribución. La optimización de la ruta logística puede disminuir sensiblemente el costo del producto, además de proveer valores agregados intangibles como la satisfacción del cliente y lealtad a la marca debido

Page 11: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

11

a entregas a tiempo y costos razonables (Odette, 2009). Las empresas prestadoras de servicios de transporte necesitan programar entregas de mercancías a sus clientes. En este escenario el problema de diseño de rutas para los vehículos que sirven a los clientes cobra especial interés. El problema consiste en programar la secuencia de entregas de una flota de vehículos con capacidad fija. La solución se puede plantear a través de una aproximación en dos fases, donde inicialmente se generan grupos de clientes (clústeres) mediante un algoritmo de agrupamiento, para luego construir rutas utilizando alguna heurística o metaheurística. En este trabajo se aborda un problema de ruteo de vehículos, en el cual se trata de diseñar rutas óptimas para vehículos de carga que deben realizar entregas de mercancía desde múltiples centros de distribución localizados geográficamente a nivel nacional. Este problema es de suma importancia en empresas de logística, o que incluyan entre sus servicios la entrega de productos a corto plazo. La utilización de técnicas informáticas para la resolución de estos problemas representa una reducción importante en los costos asociados al tamaño de una flota, el combustible requerido y el tiempo utilizado para la entrega. Para la resolución de este problema se aplicaron diferentes procedimientos basados en los principios de la programación matemática y procesos heurísticos y metaheurísticos, con el fin de obtener el modelo que responda a las necesidades planteadas en problemas complejos con gran número de parámetros y variables, como es el caso del ruteo de vehículos. Este trabajo de investigación se estructuró de la siguiente manera: En un primer momento se describieron los aspectos preliminares de la investigación, en donde se indicó el problema objeto de estudio, la justificación, metodología y los objetivos a alcanzar con el desarrollo de la investigación. En el segundo capítulo se presentó la fundamentación teórica y conceptual del estado del arte relacionado con el ruteo de vehículos y especialmente el ruteo de vehículos con múltiples depósitos, en donde se referenciaron los algoritmos y procedimientos utilizados para resolver este tipo de problemas. Posteriormente, en el capítulo 3, se realizó el desarrollo de la investigación describiendo la metodología utilizada para abordar la metaheurística híbrida Grasp Clustering y Tabu Routing -GC & TR- propuesta en este trabajo. Así mismo se presentó el modelo computacional desarrollado en Visual Basic para la implementación de esta metodología.

Page 12: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

12

Finalmente se presentaron los resultados de la investigación evaluando el comportamiento de la metaheurística híbrida propuesta a partir de la comparación con casos de prueba o instancias del MDVRP disponibles en la literatura especializada del VRP.

Page 13: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

13

1. DESCRIPCIÓN DE LA INVESTIGACIÓN

1.1 EL PROBLEMA El mayor desafío en el campo de la gestión de la cadena de suministro y la logística industrial es la de optimizar la entrega de productos desde los proveedores hasta los clientes. 1.1.1 Descripción Las redes de transporte de mercancías surgen por la necesidad de conectar y transportar los bienes de consumo desde su punto de producción hasta el mercado (clientes). En la fase de distribución, la mercancía puede ser transportada con una gran variedad de modos de transporte y puede realizar varias paradas en almacenes o puntos de cambio modal hasta llegar a su destino final. La configuración de la red de transporte determina los costos de distribución de la mercancía, así como la planificación y organización temporal de la cadena de suministro de los productos al mercado (Estrada, 2007). El sistema de transporte de bienes se ha caracterizado en los últimos años por el surgimiento de empresas dedicadas exclusivamente a los servicios de transporte, como es el caso de los operadores logísticos. La ineficiencia en las redes de distribución tradicionales, en donde la empresa de producción organiza y gestiona su propia red de transporte, ha producido la externalización de la distribución de sus productos a terceras empresas. Estas empresas subcontratadas prestan sus servicios de transporte y distribución a varias empresas de producción, por lo que un mismo trayecto o ruta de transporte podrá ser compartido por varios clientes. El efecto directo de este modo de operación y servicio es la posibilidad de consolidar una mayor cantidad de carga en cada ruta de la red, por lo que es factible utilizar vehículos de gran capacidad y con costos unitarios menores. Los costos de distribución suelen representar un componente significativo del costo total de producción de un bien de consumo, variando en función de su naturaleza (Estrada, 2007). De este modo, se justifica la necesidad de creación de una red de distribución de los productos de consumo eficiente para garantizar la competitividad de las empresas de producción. Para realizar el diseño y planificación de una red de distribución brindando un adecuado nivel de servicio y utilizando los recursos mínimos, es necesario tener en cuenta los elementos relacionados con los costos de distribución. Estos elementos son los vehículos de transporte, las instalaciones y la mercancía

Page 14: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

14

transportada. Los problemas de rutas de vehículos (VRP) permiten realizar el diseño y la planificación de la red de distribución en empresas dedicadas exclusivamente a los servicios de transporte. Los VRP son un amplio conjunto de variables, relaciones, recursos interrelacionados entre sí, cuya función es determinar el número de rutas posibles que satisfacen una meta de distribución o cobertura al menor costo posible (Toth & Vigo, 2002). La función objetivo de este tipo de problemas depende de la tipología y características del sistema de distribución; donde lo más frecuente es intentar minimizar el costo total de operación, el tiempo total de transporte, la distancia total recorrida, el tiempo de espera, la utilización de vehículos y a su vez maximizar el beneficio, el servicio al cliente; racionalizando efectivamente la utilización de los recursos disponibles para la operación. El problema de ruteo de vehículos con múltiples depósitos (MDVRP) es una extensión del VRP clásico que tiene como objetivo la determinación de rutas óptimas para vehículos que den servicio a todos los clientes a un costo mínimo en términos de número de rutas y distancia total de recorridos, sin violar las restricciones de capacidad y tiempo de viaje de los vehículos (Surekha & Sumathi, 2011). En el MDVRP existen varios depósitos, cada uno con una flota de vehículos independiente, que sirven a un conjunto de clientes. De acuerdo a su estructura y características principales, el MDVRP puede ser aplicado en empresas de transporte terrestre de carga con el fin de crear una red de distribución de mercancía eficiente que permita asegurar un nivel de servicio con la utilización de los mínimos recursos. 1.1.2 Formulación ¿Es posible mejorar la eficiencia en el cumplimiento de las métricas de operación de una empresa de transporte de carga por medio del diseño de un sistema de ruteo de vehículos con múltiples depósitos? 1.2 JUSTIFICACIÓN DE LA INVESTIGACIÓN Dado que los costos de transporte normalmente se hallan entre un tercio y dos tercios de los costos logísticos totales (Ballou, 2004), mejorar la eficiencia mediante la máxima utilización del equipo de transporte y de su personal es una preocupación importante. El tiempo durante el cual los artículos están en tránsito se refleja en el número de envíos que pueden hacerse con un vehículo en un periodo dado, así como en los costos totales de transporte para todos los envíos. Un problema frecuente en la toma de decisiones es reducir los costos de transporte y mejorar el servicio al cliente encontrando los mejores caminos que debería seguir un vehículo en una red de carreteras, líneas ferroviarias, de embarque o rutas de navegación aérea que minimicen el tiempo o la distancia.

Page 15: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

15

Es esencial la disminución de los costos de los procesos logísticos relacionados con el transporte. Dicha disminución puede lograrse, administrando mejor los recursos existentes. Esta alternativa requiere procedimientos especializados como tecnologías que permitan el seguimiento en tiempo real y software para el diseño de rutas de distribución (Golden, Assad, & Wasil, 2002). Una de las decisiones operativas que deben tomar continuamente las empresas de transporte de carga, es el diseño de rutas de entrega con las cuales atender la demanda de sus clientes (Riopel, Langevin, & Campbell, 2005). Para ello es importante el conocimiento de las características particulares de la situación que se afronta al momento de implementar procesos computacionales para el diseño de rutas con el fin de ajustarlos a las características propias de las necesidades de ruteo de cada empresa. Por lo anterior, se hace necesario generar un sistema de ruteo que se ajuste a las necesidades específicas de las empresas distribuidoras de carga por carretera. 1.3 OBJETIVOS DE LA INVESTIGACIÓN

1.3.1 General Diseñar un modelo de ruteo de vehículos con múltiples depósitos en empresas de transporte de carga por carretera en Colombia que permita mejorar la eficiencia en el cumplimiento de las métricas de operación del sistema, empleando técnicas metaheurísticas. 1.3.2 Específicos

Caracterizar las variables y parámetros que intervienen en el modelo de ruteo de vehículos con múltiples depósitos mediante técnicas de recolección de información y revisión documental del escenario objeto de estudio.

Determinar el diagnóstico del escenario objeto de estudio empleando técnicas de valoración y revisión estadística.

Diseñar el sistema de ruteo de vehículos entre centros de distribución que corresponda a los requerimientos de servicio de una empresa distribuidora de carga.

Validar el modelo por medio de técnicas estadísticas, comparando el comportamiento del sistema de ruteo de vehículos propuesto con instancias de prueba generadas por diversos investigadores.

1.4 HIPÓTESIS DE INVESTIGACIÓN Para el desarrollo de la investigación se parte de la siguiente hipótesis general (Hurtado de B, 2000):

Page 16: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

16

A partir del estudio, conceptualización y evaluación de los diferentes modelos de ruteo de vehículos aplicados en organizaciones dedicadas al transporte y que han basado su desarrollo en minimizar los costos, tiempos y distancias de la operación para cumplir con la promesa de servicio; se obtendrán las bases teóricas y conceptuales para diseñar, formalizar y formular un sistema de ruteo de vehículos con múltiples depósitos en empresas de transporte de carga por carretera que permita cumplir con las métricas de operación de este tipo de empresas. Del planteamiento de la hipótesis general se derivan las siguientes hipótesis específicas (Hernández, Fernández, & Baptista, 2006):

El sistema de ruteo de vehículos con múltiples depósitos en empresas de transporte de carga por carretera permitirá disminuir los costos de operación asociados a una flota de vehículos que atiende a un conjunto de clientes.

El sistema de ruteo de vehículos con múltiples depósitos en empresas de transporte de carga por carretera generará tiempos mínimos de espera en la atención de un conjunto de clientes.

El sistema de ruteo de vehículos con múltiples depósitos en empresas de transporte de carga por carretera determinará las menores distancias a recorrer por una flota de vehículos que atiende a un conjunto de clientes distribuidos geográficamente a nivel nacional.

El sistema de ruteo de vehículos con múltiples depósitos en empresas de transporte de carga por carretera identificará las rutas que permitan mejorar la eficiencia en la atención de los clientes.

1.5 DISEÑO METODOLÓGICO

Para el desarrollo del trabajo de investigación se identificó el sustento teórico del ruteo de vehículos, mediante la revisión y análisis de la información relevante necesaria para obtener el panorama general sobre el estado del arte en el que se encuentra la temática de investigación. Para el caso, se realizó una revisión exhaustiva en libros y escritos de reconocidos autores en el tema de ruteo de vehículos para identificar los estudios desarrollados con la variante de múltiples depósitos, así como las técnicas que han sido utilizadas para la solución de este tipo de problemas. En la etapa de diagnóstico se obtuvieron los datos e información necesaria de las variables y parámetros que intervienen en el modelo de ruteo de vehículos con múltiples depósitos a partir de la estructura y funcionamiento de las empresas de transporte de carga por carretera. Con esta información y con la definición del problema en análisis se diseñó un sistema de ruteo que concretó todas las relaciones que se presentaron dentro del sistema de distribución y que

Page 17: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

17

describieron la esencia del problema. Con el modelo que describe el problema se seleccionó la técnica de solución con un algoritmo metaheurístico híbrido, que permitió encontrar los valores de las diferentes variables controlables del sistema para dar solución al problema planteado. El algoritmo propuesto resulta de una síntesis de varias metaheurísticas aplicadas anteriormente en diferentes problemas de optimización combinatoria. La metodología propuesta fue denominada Grasp Clustering & Tabu Routing -GC & TR-, la cual se desarrolla en un procedimiento de dos fases, clusterizar primero, rutear después. Para este proceso, se planteó en una primera fase la asignación de los clientes a los depósitos a partir de la metaheurística GRASP y en una segunda fase, se generan las rutas para cada clúster a partir de la metaheurística Búsqueda Tabú. El procedimiento híbrido de dos fases fue validado mediante la comparación del algoritmo con instancias o casos de prueba del problema de ruteo de vehículos multi-depósito disponibles en las librerías de diversos investigadores, con el fin de evaluar la efectividad del sistema de ruteo y ajustarlo a las necesidades de una empresa dedicada al transporte terrestre de carga.

Page 18: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

18

2. FUNDAMENTACIÓN TEÓRICA Y CONCEPTUAL

2.1 LOGÍSTICA DE DISTRIBUCIÓN El transporte de bienes es una función importante dentro de la logística de distribución debido a que se encarga de las actividades relacionadas con la necesidad de situar mercancías desde los centros de producción o distribución hasta los puntos de destino correspondientes, teniendo en cuenta unas variables de seguridad, tiempo y costo. La calidad del servicio de transporte está en función de los requerimientos del mercado, tales como: (Anaya, 2009)

- Rapidez y puntualidad de la entrega. - Fiabilidad en las fechas prometidas. - Seguridad e higiene del transporte. - Cumplimiento de las condiciones impuestas por el cliente. - Información y control del transporte.

Por lo tanto, la calidad en el servicio en términos de flexibilidad y costo, constituyen los puntos básicos de referencia para la gestión del transporte. Dentro de la gestión del transporte, una de las decisiones operativas que debe tomarse casi a diario es el diseño de las rutas con las cuales se atiende la demanda de los clientes finales o intermedios de la cadena. El diseño de rutas eficientes aparece en sectores tan diversos de la economía como, por ejemplo, la entrega de periódicos, la recolección de residuos, el transporte escolar y la distribución de productos de consumo masivo. Las decisiones de enrutamiento pueden optimizarse usando modelos matemáticos comúnmente conocidos como problemas de enrutamiento o de diseño de rutas. Dichos problemas tienen diferentes variantes, según se tenga limitación sobre el número de vehículos que cubrirán las rutas, la distribución de la demanda del servicio, la capacidad de los vehículos, la combinación con otras decisiones, etc. Típicamente, estos problemas son difíciles de resolver exactamente, ya que, en su mayoría, pertenecen a la clase NP-Hard (Olivera, 2004). En especial, la complejidad y el tamaño de muchos de los problemas prácticos hacen difícil la utilización de métodos exactos para su solución. Los elementos principales de este conjunto de problemas son los siguientes (Ballou, 2004):

Page 19: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

19

La red de transporte La flota de vehículos Los clientes y/o proveedores El depósito central (o depósitos) Los servicios a atender (demandas y/o consumos) Las rutas solución Sistema de Información Geográfica (SIG) 2.2 PROBLEMA DE RUTEO DE VEHÍCULOS El origen del VRP (Vehicle Routing Problem) viene desde el año de 1959 y es introducido por Dantzing y Ramser (Olivera, 2004), los cuales representaron una aplicación real relacionada con la entrega de gasolina a las estaciones de servicio y propusieron la formulación matemática a este problema, el cual surge como una generalización del problema clásico el agente viajero (TSP) en el que un vendedor tiene que recorrer una serie de clientes una sola vez, para luego volver al lugar de partida. En 1964 Clarke and Wright propusieron el algoritmo de los Ahorros, el cual fue el primer procedimiento utilizado para resolver el VRP (Olivera, 2004). Es así como se da comienzo a las investigaciones y trabajos en el área de ruteo de vehículos. Algunas de estas investigaciones buscaron la solución óptima del problema y otras, encontraron aproximaciones válidas a la solución del VRP. Se considera al VRP como un problema que empieza en un almacén o bodega central, la cual cuenta con una flota de vehículos que debe atender a un conjunto de clientes dispersos en una zona geográfica. El objetivo del VRP es entregar bienes a este conjunto de clientes con demandas conocidas, al mínimo costo, encontrando las rutas óptimas que se originan y terminan en el almacén. Todos los clientes deben ser atendidos una sola vez, para lo cual se los asigna a los vehículos que llevarán la carga (demanda de los clientes que visitará) sin exceder su capacidad máxima de transporte (Barán & Hermosilla, 2001) Se puede observar gráficamente el funcionamiento del problema de ruteo de vehículos de manera sencilla en la figura 1. Las características de los clientes, depósitos y vehículos, así como diferentes restricciones operativas sobre las rutas, dan lugar a diferentes variantes del problema.

Page 20: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

20

Figura 1. Representación gráfica del VRP

Fuente: Elaboración propia, 2013

En los problemas reales de VRP aparecen muchas restricciones, entre las que cabe citar (Toth & Vigo, 2002):

Cada vehículo tiene una capacidad limitada.

Cada cliente tiene que ser visitado dentro de una determinada franja horaria (problema VRP con ventanas de tiempo)

Varios puntos de suministro (problema VRP con múltiples depósitos)

Los clientes pueden ser atendidos por varios vehículos (problema VRP con suministro dividido)

Algunas variables del problema son aleatorias, tales como el número de clientes, sus demandas, etc. (problema VRP estocástico)

Las entregas se deben realizar en determinados días (problema VRP periódico)

Diversas variantes del Problema de Ruteo de Vehículos han sido propuestas por diferentes autores con la finalidad de ajustarse a situaciones reales de transporte, estos problemas se diferencian por la adición de variables y restricciones. Los principales problemas de ruteo de vehículos son descritos de la siguiente manera: (Medaglia, 2005) CVRP (VRP capacitado): la característica principal de este problema es que los vehículos asignados a la distribución de los bienes tienen una capacidad limitada y determinística. Este problema ha sido resuelto a partir de diversas metaheurísticas como búsqueda Tabú, algoritmos de colonias de hormigas y algoritmos genéticos (Olivera, 2004).

DEPÓSITO

CLIENTES

Page 21: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

21

VRPTW (VRP con ventanas de tiempo), en este problema se relaciona a cada cliente una restricción de intervalo de tiempo. Las ventanas de tiempo son periodos fijos en donde se puede realizar la entrega a los clientes; este modelo ha sido resuelto por diversos autores como Olivera (Olivera, 2004), Gendreau et al (Bräysy & Gendreau, 2002) y Vacic (Vacic & Sobh, 2004). MDVRP (VRP con múltiples depósitos): este problema consta de varios depósitos con una flota de vehículos por cada depósito, los cuales deben atender la demanda de todos los clientes. Este modelo fue resuelto por Tansini (Tansini, Urquhart, & Viera, 2001), mediante técnicas de clusterizar primero - rutear después. PVRP (VRP periódico): tiene en cuenta un periodo de tiempo durante el cual los clientes deben ser atendidos, este modelo fue propuesto por Francis (Francis, Smilowitz, & Tzur, 2005) y resuelto mediante relajación lagrangiana. SVRP (VRP estocástico): es un VRP en donde una o varias variables son aleatorias y cambian en el tiempo. El SVRP fue resuelto por Bianchi (Bianchi, et al., 2004), a partir de metaheurísticas como búsqueda Tabú, recocido simulado, colonias de hormigas y algoritmos evolutivos. SDVRP (VRP de entrega fraccionada): en este problema se permite que el mismo cliente pueda ser atendido por diferentes vehículos si el costo total de entrega se reduce. Se aplica principalmente cuando la demanda de algunos clientes es mayor que la capacidad de los vehículos de entrega. Este modelo fue resuelto por Lee et al (Lee, Epelman, Chelsea, & Bozer, 2000) mediante programación dinámica. VRPB (VRP con retornos), es aquel en el que los clientes pueden retornar algunas mercancías, por lo tanto, se hace necesario determinar que los bienes devueltos al vehículo puedan caber en él. El VRPB fue resuelto por Volkan (Volkan, 2003) mediante la utilización de algoritmos genéticos. 2.2.1 Elementos del VRP Existen tres elementos involucrados en el VRP que son los clientes, las bodegas o depósitos y la flota de vehículos (Toth & Vigo, 2002): Los clientes: generan la demanda de bienes que debe ser entregada por medio de los vehículos desde los depósitos hasta el cliente final. En una variante al caso anterior, los clientes pueden ser proveedores, los cuales desean que su mercancía sea recogida y transportada hacia el depósito. Los clientes pueden tener restricciones tales como: horario de servicio, (expresado como ventanas de tiempo), compatibilidad entre vehículos y clientes (en el caso que determinado cliente sólo pueda ser atendido por algún tipo de vehículo),

Page 22: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

22

devoluciones (cuando existe la posibilidad que el cliente retorne mercancía a los depósitos), demanda (si la cantidad demandada por el cliente supera la capacidad de los vehículos). Las bodegas o depósitos: son los lugares en donde se encuentran ubicados los bienes a distribuir y los vehículos de entrega. Por lo general, cada ruta comienza y termina en el mismo depósito, pero en ciertos casos, cuando la flota no es propia, los vehículos no regresan a la bodega de origen; esta variable del VRP se conoce como OVRP (Open-VRP). También existen problemas con múltiples bodegas, las cuales pueden tener asignada una flota de vehículos determinada. Los depósitos también pueden tener restricciones asociadas como ventanas de tiempo, capacidades, distancias de las rutas a recorrer, o simplemente se quiera evitar una congestión de vehículos en la bodega. Los vehículos: son los medios de transporte utilizados para distribuir los bienes desde los depósitos a los clientes o viceversa. La capacidad de los vehículos puede estar expresada en peso, volumen, número de clientes, entre otras. Si los vehículos tienen las mismas características o atributos se considera flota homogénea, de lo contrario, flota heterogénea. Los costos de los vehículos tienen un componente fijo en el cual se incurre al momento de utilizarlos y un componente variable proporcional a la distancia recorrida. Los vehículos pueden tener restricciones relacionadas principalmente con su capacidad, horario de servicio (cuando los vehículos de carga tienen restricciones de movilidad por las vías en días especiales) y lugares de acceso (cuando algunos vehículos muy pesados no pueden ingresar a ciertas localidades). 2.2.2 Métodos de Solución. El VRP es de complejidad NP-hard, porque el número de soluciones crece exponencialmente con el número de nodos, los cuales pueden estar representados por depósitos o clientes. Esta situación sobrepasa las capacidades de cálculo de los ordenadores más potentes que existen en la actualidad. En problemas pequeños, hasta con 50 nodos, han sido propuestos métodos exactos como los algoritmos de ramificación y acotamiento (Branch and Bound) pertenecientes a los métodos de búsqueda directa de árbol. Otros métodos exactos que se han propuesto para solucionar el VRP incluyen la programación dinámica y la programación lineal y entera. (Rocha, González, & Orjuela, 2011) Debido a la complejidad del VRP han sido propuestas diferentes heurísticas y metaheurísticas que brindan aproximaciones de aceptable calidad a la solución óptima.

Page 23: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

23

2.2.2.1 Heurísticas Aplicadas al Ruteo de Vehículos. Las heurísticas son procedimientos simples que exploran el espacio de búsqueda de una forma limitada, generando soluciones aceptables, por lo regular en tiempos cortos de ejecución. Las soluciones obtenidas con estos procedimientos pueden ser mejoradas utilizando métodos de búsqueda más complejos como las metaheurísticas, que conllevan mayores tiempos de cálculo. Algunas de las heurísticas utilizadas para resolver el VRP son las siguientes: (Rocha, González, & Orjuela, 2011)

El Algoritmo de Ahorros

Heurísticas de Inserción

Métodos de asignación elemental

Métodos Asignar Primero – Rutear Después

Método Rutear Primero – Asignar Después

Algoritmos de Pétalos

Procedimientos de Búsqueda Local 2.2.2.2 Metaheurísticas Aplicadas al Ruteo de Vehículos. A pesar de que se ha demostrado las ventajas de utilizar las heurísticas en problemas relacionados con el ruteo de vehículos, en muchas ocasiones estos procedimientos generan óptimos locales que pueden estar muy alejados de las soluciones óptimas globales. Para resolver este inconveniente se han desarrollado las denominadas "metaheurísticas", que son “estrategias maestras que permiten resolver de manera inteligente un problema” (Melián, Moreno P., & Moreno V., 2003) Las metaheurísticas modifican a otras heurísticas combinando diferentes conceptos para producir mejores soluciones que las encontradas por ellas. Con la utilización de las metaheurísticas no se asegura la exploración completa del espacio de soluciones; sin embargo, estos procedimientos exploran aquellas regiones en las que es factible encontrar buenas soluciones. Una metaheurística puede evitar los problemas de óptimos locales y secuencias repetitivas de soluciones. Las metaheurísticas incluyen métodos tan populares como optimización por colonia de hormigas (ACO), algoritmos evolutivos (EA), donde se incluyen los algoritmos genéticos (GA) y los algoritmos meméticos (MA), procedimientos de búsqueda miope (constructiva, voraz o ávida), aleatorizados y adaptativos (GRASP), búsqueda local iterativa (ILS), re-encadenamiento de trayectorias (PR), recocido simulado (SA), búsqueda dispersa (SS) y búsqueda tabú (TS). (Rocha, González, & Orjuela, 2011)

Page 24: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

24

2.3 RUTEO DE VEHÍCULOS CON MÚLTIPLES DEPÓSITOS Es una variante del VRP que se caracteriza por tener más de un depósito para atender a los clientes. Cuando los clientes están agrupados alrededor de los depósitos, el problema de distribución puede modelarse como un sistema de ruteo de vehículos (VRP) independiente. Sin embargo, si los clientes y los depósitos están mezclados, el problema de ruteo debe ser resuelto como un sistema de ruteo de vehículos con múltiples depósitos (MDVRP). En la configuración del MDVRP, los clientes deben ser atendidos por uno de varios depósitos. Al igual que con el VRP, cada vehículo debe salir y regresar al mismo depósito y el tamaño de la flota en cada depósito debe oscilar entre un mínimo y máximo especificado. El MDVRP es NP-hard, por lo tanto, los métodos exactos no son adecuados para obtener soluciones óptimas y el desarrollo de algoritmos metaheurísticos para esta clase de problema es primordial (Tansini, Urquhart, & Viera, 2001) Debido a que en el MDVRP existe un gran número de depósitos, es una tarea difícil para los tomadores de decisiones determinar qué clientes son atendidos por cuál depósito sin exceder las limitaciones de capacidad. Por lo tanto, la agrupación que se realiza a los clientes del clúster debe estar basada en la distancia entre los clientes y los depósitos. Un MDVRP requiere la asignación de clientes a los depósitos, así como una flota de vehículos determinada para cada depósito; cada vehículo comienza desde un depósito, un servicio al cliente asignado a ese depósito. El objetivo del problema es encontrar rutas para los vehículos que presten el servicio a todos los clientes a un costo mínimo en términos de número de rutas y distancia total del viaje, sin violar la capacidad y las limitaciones de tiempo de viaje de los vehículos. Generalmente se utilizan dos fases para resolver el MDVRP: (Geetha, Vanathi, & Poonthalir, 2012)

1. Fase de agrupamiento, en la cual los clientes son asignados generalmente al depósito.

2. Fase de enrutamiento, en el que la ruta de costo mínimo debe ser identificada dentro de los grupos formados.

De acuerdo a lo anterior, el MDVRP puede ser visto como un problema de clusterización debido a que arroja un conjunto de programas de vehículos agrupados por depósito. Esta interpretación sugiere un tipo de enfoque que agrupa clientes y luego programa los vehículos de cada grupo. Para este proceso se busca generar inicialmente grupos de clientes, denominados clústeres, que estarán en una misma ruta en la solución final. Luego, para cada clúster se crea

Page 25: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

25

una ruta que visite a todos sus clientes. Las restricciones de capacidad son consideradas en la primera etapa, asegurando que la demanda total de cada clúster no supere la capacidad del vehículo. (Olivera, 2004) Idealmente, es más eficiente hacer frente a los dos pasos simultáneamente. Sin embargo, cuando se enfrenta con problemas más grandes, este enfoque no es manejable computacionalmente. Un enfoque razonable sería dividir el problema en tantos subproblemas como depósitos existan y resolver cada subproblema por separado. Los algoritmos de dos fases referentes a la clusterización y ruteo son prometedores para resolver problemas de tamaño real (Daza, Montoya, & Narducci, 2009). La formación de grupos del primer paso puede ser resuelta mediante algoritmos de agrupamiento. La construcción de las rutas para cada clúster es un TSP que se puede resolver en forma exacta o aproximada, dependiendo del número de clientes en el clúster. 2.3.1 Algoritmos de Agrupamiento (Clustering) para el MDVRP Las técnicas de agrupamiento “analizan el conjunto de observaciones disponibles para determinar la tendencia de los patrones a agruparse. Estas técnicas permiten realizar una clasificación asignando cada observación a un agrupamiento (clúster), de forma que cada agrupamiento sea más o menos homogéneo y diferenciable de los demás.” (Jain, Murty, & Flynn, 1999) Los métodos de agrupamiento incorporan un patrón a un grupo siguiendo un criterio de similitud. En problemas de ruteo de vehículos, generalmente se emplea la distancia como medida de similitud. Algunas de las métricas de distancia más utilizadas son la distancia euclídea y la distancia de Mahalanobis. Los agrupamientos generados van a depender del procedimiento empleado, además de los datos, parámetros y de la medida de similitud utilizada. El número posible de combinaciones que conforman los posibles grupos se hace inmanejable desde el punto de vista computacional, aún con pocas observaciones. Por lo tanto, es necesario encontrar métodos o algoritmos que determinen el número y componentes de los clústeres más adecuado. Se han propuesto cientos de algoritmos de agrupamiento específicos (Berkhin, 2006). Los algoritmos de agrupamiento más utilizados en problemas reales suelen basarse en heurísticas y son los siguientes: 2.3.1.1 Algoritmo de las k-medias (k-means) El algoritmo de las k-medias presentado por MacQueen en 1967 es seguramente el algoritmo de agrupamiento más simple y conocido para resolver el problema de

Page 26: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

26

clusterización. Es la herramienta de agrupación más popular utilizada en aplicaciones científicas e industriales. (Berkhin, 2006) El análisis de clúster por k-medias determina un criterio de cómo dividir un conjunto de observaciones en k grupos. Es un método que permite asignar a cada observación el clúster que se encuentra más próximo en términos del centroide (media). Por lo regular, la distancia empleada es la euclídea. El algoritmo está basado en la minimización de la distancia interna, es decir, la suma de las distancias de los elementos asignados a un agrupamiento al centroide de dicho agrupamiento. Este algoritmo minimiza la suma de los cuadrados de los errores entre los puntos 𝑥𝑗 y el correspondiente centroide 𝑐𝑖

(Berkhin, 2006).

𝑀𝑖𝑛 ∑ ∑ ‖𝑥𝑗 − 𝑐𝑖‖2

𝑥𝑗∈𝑐𝑖

𝑐

𝑖=1

[1]

K-means determina un prototipo en términos de un centroide, el cual es la media de un grupo de elementos. La idea básica del algoritmo es obtener k centroides (uno para cada grupo) y formar clústeres asociando todos los elementos a los centroides más cercanos. Los k centros iniciales se seleccionan aleatoriamente del conjunto de elementos X y son recalculados en cada iteración a partir del valor medio de todos los elementos asignados a ese grupo:

𝑐𝑖 =1

𝑛𝑖∑ 𝑥𝑗

𝑥𝑗∈𝑐𝑖

; 1 ≤ 𝑖 ≤ 𝑐 [2]

La asociación del elemento 𝑥𝑗 ∈ 𝑋 con el centroide más cercano 𝑐𝑖 es dada si

‖𝑥𝑗 − 𝑐𝑖‖ < ‖𝑥𝑗 − 𝑐𝑝‖.

Si los nuevos centroides no difieren de los centroides anteriores, el algoritmo termina, de lo contrario se repite el proceso de asociación de los elementos con los nuevos centros hasta que no exista variación en los centroides. La operación del algoritmo K-means se ilustra en la fig. 2, donde se muestra cómo, a partir de tres centroides (+), se encuentran los grupos finales en cuatro iteraciones.

Page 27: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

27

Figura 2. Algoritmo K-means para encontrar tres clústeres

Fuente: (Tan, Steinbach, & Kumar, 2006)

El algoritmo es sencillo y eficiente, ya que procesa los puntos secuencialmente, por lo que requiere un almacenamiento mínimo. Sin embargo, está sesgado por el orden de presentación de los puntos y su comportamiento depende en gran medida del parámetro k. (Aguado A. & Jiménez de V., 2013) El algoritmo se compone de los siguientes pasos:

1. Situar k puntos en el espacio en el que se encuentran los objetos que se quieren clasificar. Estos puntos representan los centroides iniciales de los grupos.

2. Asignar cada objeto al grupo que tiene el centroide más cercano. 3. Una vez asignado todos los objetos, recalcular las posiciones de los k

centroides. 4. Repetir los pasos 2 y 3 hasta que los centroides se mantengan estables.

2.3.1.2 Algoritmo Fuzzy C-Means Esta técnica fue introducida originalmente por James Bezdek en 1981 como una mejora a los métodos de agrupamiento desarrollados anteriormente. El algoritmo proporciona un método que muestra cómo un grupo de puntos conforman un espacio multidimensional en un número específico de distintos clústeres. Fuzzy C-means (FCM) se desarrolló con el fin de solucionar los inconvenientes de clasificar un dato que está lo suficientemente cerca de dos grupos de datos de tal manera que es difícil etiquetarlo en uno o en otro, esto se debe a la frecuencia con la cual un objeto particular presenta características pertenecientes a grupos distintos y como consecuencia no es fácilmente clasificado. El algoritmo establece para cada dato un valor de pertenencia 𝜇𝑖𝑗 a cada clúster,

por lo tanto, un dato específico puede pertenecer parcialmente a más de un

Page 28: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

28

clúster. Este procedimiento realiza una partición suave del conjunto de datos, en tal partición los datos pertenecen en algún grado a todos los clústeres. Un tipo de partición suave es aquella en donde la suma de los grados de pertenencia de un punto específico en todos los clústeres es igual a 1. Una partición suave que cumple esta condición adicional es llamada una partición suave restringida. (Rojas D., Chavarro P., & Moreno L., 2008) FCM produce una partición suave restringida y para hacer esto la función objetivo J se extiende de dos maneras, por un lado, se incorporan los grados de pertenencia difusos de cada dato en cada clúster y por otro lado se introduce un parámetro adicional m que sirve de peso exponente en la función de pertenencia. El parámetro m determina el grado en el cual los miembros parciales de un clúster afectan el resultado. El procedimiento intenta encontrar una buena partición mediante la búsqueda de los centroides 𝑣𝑖 que minimicen la función objetivo Jm. El objetivo del modelo FCM es minimizar la suma media cuadrática ponderada de las distancias entre los puntos 𝑥𝑗 y los centros de los grupos 𝑣𝑖. El procedimiento,

por lo tanto, minimiza iterativamente la función objetivo hasta obtener una partición difusa óptima. (Gulley, 2000)

𝐽𝑚(𝑈, 𝑣) = ∑ ∑(𝑢𝑖𝑗)𝑚

‖𝑥𝑗 − 𝑣𝑖‖2

𝑛

𝑗=1

𝑐

𝑖=1

[3]

donde 𝑈 = (𝑢𝑖𝑗) es la matriz partición difusa de 𝑋;

𝑣 = (𝑣1, 𝑣2, … , 𝑣𝑐) es el vector de centros del clúster i o prototipo de 𝑢𝑖;

𝑢𝑖𝑗 es el factor de pertenencia del elemento j al clúster i;

𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑛} son cada uno de los elementos j.

𝑚 es el parámetro que determina el grado en el cual los elementos parciales de un clúster afectan el resultado. Las particiones difusas se representan como una matriz asociando cada fila a uno de los c grupos y cada columna a uno de los elementos de X, de forma tal que el valor en la fila i y la columna j indique la pertenencia del elemento j al grupo i. El conjunto de particiones difusas se puede definir como:

𝑀𝑓𝑐 = {𝑈 ∈ ℜ𝑐×𝑛|𝑢𝑖𝑗 ∈ [0,1]∀𝑖, 𝑗} [4]

Cuando m tiende a 1, la partición óptima es cada vez más exclusiva, es decir, sus elementos tienen un factor de pertenencia cercano a 1. Cuando m tiende a infinito, la partición óptima es menos exclusiva, es decir, sus elementos tienden a pertenecer a todos los clústeres, tomando un valor de pertenencia igual a 1/c. Cada selección de un valor particular de m marca un algoritmo Fuzzy C-Means específico. Por lo tanto, m determina la “borrosidad” de los clústeres resultantes.

Page 29: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

29

Igualando a cero las derivadas parciales de J con respecto a U y v, las condiciones necesarias para que la función objetivo alcance su mínimo son: (Díez, Navarro, & Sala, 2001)

𝑢𝑖𝑗 = [∑ (‖𝑥𝑗 − 𝑣𝑖‖

‖𝑥𝑗 − 𝑣𝑘‖)

2

𝑚−1𝑐

𝑘=1

]

−1

; 1 ≤ 𝑖 ≤ 𝑐 , 1 ≤ 𝑗 ≤ 𝑛 [5]

𝑣𝑖 =∑ (𝑢𝑖𝑗)

𝑚𝑥𝑗

𝑛𝑗=1

∑ (𝑢𝑖𝑗)𝑚𝑛

𝑗=1

; 1 ≤ 𝑖 ≤ 𝑐 [6]

Los elementos de la partición difusa de X satisfacen:

0 ≤ 𝑢𝑖𝑗 ≤ 1 [7]

∑ 𝑢𝑖𝑗

𝑐

𝑖=1

= 1; 1 ≤ 𝑗 ≤ 𝑛 [8]

0 < ∑ 𝑢𝑖𝑗

𝑛

𝑗=1

< 𝑛; 1 ≤ 𝑖 ≤ 𝑐 [9]

El procedimiento general de los algoritmos Fuzzy C-Means puede formalizarse en los siguientes pasos: Inicialización

Fijar el número de clústeres 𝑐 < 𝑛 Determinar el exponente m, Fijar la matriz A,

Seleccionar la tolerancia para terminar la iteración Inicializar la matriz de partición U aleatoriamente.

Calcular los prototipos o centros de los clústeres 𝑣𝑖

Calcular las distancias de los elementos a los prototipos 𝑣𝑖

Actualizar la matriz de partición difusa 𝑈 = (𝑢𝑖𝑗)

Verificar el criterio de parada ‖𝑈(𝑙) − 𝑈(𝑙−1)‖ < 휀

2.3.1.3 Algoritmo GRASP Como los diversos métodos constructivos, la aplicación del GRASP consiste en crear una solución inicial para luego mejorar la calidad de la solución. Esta técnica

Page 30: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

30

enfoca la mayor parte de su esfuerzo en construir soluciones de alta calidad que son posteriormente procesadas para obtener otras mejores. Los algoritmos GRASP son iterativos, en donde cada iteración contiene una fase de construcción de la solución y otra en donde se mejora la solución generada en la primera fase. Fase de Construcción La primera fase consiste en la definición de una función miope que oriente la construcción de soluciones eligiendo el mejor movimiento disponible en cada iteración (Cano, Cordón, Herrera, & Sánchez, 2002). Esta función es miope debido a que no tiene en cuenta qué sucederá en iteraciones posteriores una vez que se hace una elección. La función miope es una medida voraz adaptativa ya que evalúa todos los posibles movimientos en cada paso, tomando en cuenta decisiones tomadas en pasos anteriores, previos al momento de considerar la presente decisión. Como algoritmo voraz se puede utilizar un procedimiento de clusterización, escogiendo como centros de los agrupamientos a los depósitos o centros de distribución. El constructor de soluciones evita el determinismo de los procedimientos voraces, añadiendo un parámetro de relajación para formar una lista restringida de candidatos (Restricted Candidate List - RCL) alrededor del mejor elemento a seleccionar (Vicente, Rivera, & Mauricio, 2005). En cada etapa del proceso de construcción, GRASP elabora una lista de candidatos con movimientos admisibles, ordenados de manera decreciente con respecto a su beneficio medido a través de la función voraz. Aquí, el procedimiento incorpora la aleatoriedad eligiendo un movimiento al azar de la lista restringida de candidatos, cuyas restricciones impuestas aseguran que se elija un movimiento bueno, aunque no necesariamente óptimo. El conjunto de elementos candidatos con los mejores valores de la función miope se construye utilizando los valores máximo y mínimo de los elementos seleccionables en una iteración particular. La RCL estará conformada por todos aquellos elementos cuyo valor no supere el umbral dado por la siguiente expresión:

𝑐𝑚𝑖𝑛 + 𝛼(𝑐𝑚𝑎𝑥 − 𝑐𝑚𝑖𝑛) [10]

donde, 0 ≤ 𝛼 ≤ 1

El parámetro determina el tamaño de la RCL. En el caso que = 1, estarían incluidos todos los candidatos en la lista, lo que sería equivalente a una función

aleatoria pura. En caso contrario, si = 0, solo estaría el mejor candidato en la lista, lo que representaría una función miope pura.

Page 31: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

31

Una forma de restringir la lista es eligiendo el candidato de los primeros k elementos o tomando aquellos movimientos cuyos valores respecto a la función voraz se encuentran dentro de un rango determinado por una fracción del valor del mejor movimiento. La elección de los parámetros k y 𝛼 requiere un conocimiento del problema, ya que indican la búsqueda de un equilibrio entre ser muy restrictivo y selectivo, versus diversidad en la búsqueda. (Resende & Ribeiro, 2003)

Para facilitar el proceso de selección del parámetro se puede utilizar una

estrategia reactiva (GRASP reactivo) en la cual los valores de son autoajustados según la calidad de las soluciones previamente encontradas.

El procedimiento reactivo para la selección de , introducido por Prais & Ribeiro (Prais & Ribeiro, 2000) se puede utilizar para controlar el valor de la perturbación

aleatoria .

En el GRASP reactivo se utiliza un conjunto discreto de valores posibles para ,

Α = {𝛼1, 𝛼2, … , 𝛼𝑚}. Utilizando diferentes valores de se generan múltiples listas restringidas de candidatos, llevando eventualmente a la construcción de diferentes

soluciones, las cuales no se podrían generar utilizando un valor fijo de .

Las probabilidades asociadas con la elección de cada valor de se fijan inicialmente iguales:

𝑝𝑖 = 1𝑚⁄ , 𝑖 = 1,2, … , 𝑚 [11] correspondiente a una distribución uniforme.

Periódicamente se actualiza la distribución de probabilidades 𝑝𝑖 utilizando la información del desempeño obtenido en las iteraciones previas al usar los

diferentes valores de 𝛼𝑖.

Para actualizar las probabilidades de selección de 𝛼𝑖 se define:

𝑞𝑖 = (𝑍∗

𝐴𝑖)

𝛿

[12]

donde,

𝑍∗ es el valor de la mejor solución encontrada en la iteración. 𝐴𝑖 es el valor promedio de las soluciones obtenidas usando 𝛼𝑖.

𝛿 es el exponente que controla el efecto de la actualización.

El exponente 𝛿 puede ser usado para atenuar de manera diferente los valores actualizados de las probabilidades 𝑝𝑖.

Page 32: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

32

Normalizando los valores de 𝑞𝑖 se obtienen los nuevos valores de 𝑝𝑖:

𝑝𝑖 =𝑞𝑖

∑ 𝑞𝑗𝑚𝑗=1

[13]

Con el enfoque reactivo, los valores de 𝛼𝑖 con los que se han obtenido mejores soluciones tendrán mayor probabilidad de ser elegidos, y, por consiguiente, serán usados con mayor frecuencia en la fase de construcción del procedimiento GRASP. En la fase constructiva no se garantiza la optimidad de la solución ya que existen numerosas elecciones aleatorias, por lo tanto, la solución construida no necesariamente será un óptimo local. Para resolver esta situación, GRASP introduce una segunda fase denominada fase de mejora, la cual consiste en un procedimiento de optimización local basado en una función de búsqueda local. Fase de Mejora El GRASP toma una solución inicial, generada por el método constructivo de la primera fase y trata de hallar entre su vecindad un candidato que garantice una mejor solución. La búsqueda local juega un papel importante en GRASP debido a que busca soluciones localmente óptimas en regiones promisorias del espacio de soluciones. Un algoritmo de búsqueda local explora reiteradamente el vecindario de una solución en busca de una mejor solución. El método realiza movimientos siempre que el valor de la función objetivo mejore y finaliza su ejecución cuando la solución es localmente óptima, es decir, cuando no se encuentre ningún movimiento de elementos que mejore la solución. Como técnica de búsqueda local se puede emplear el algoritmo de las k medias, cuya convergencia depende de la configuración inicial de los clústeres. (Cano, Cordón, Herrera, & Sánchez, 2002) La técnica de selección en la vecindad del método de búsqueda local puede ser best improvement rule, en donde se escoge la mejor de todas las soluciones encontradas, o first improvement rule, que selecciona la primera solución que mejora la solución actual. La estructura básica de un algoritmo GRASP es la siguiente: (Resende & Ribeiro, 2003) Mientras (no se cumpla la condición de parada) Hacer

Fase Constructiva Construir una solución voraz aleatoria. Considerar una lista restringida de los mejores candidatos.

Page 33: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

33

Seleccionar un elemento aleatoriamente de la lista restringida. Fase de Mejora

Realizar un proceso de búsqueda local a partir de la solución construida hasta que no se pueda mejorar más.

Actualización Si la solución obtenida mejora a la mejor almacenada, actualizarla.

Fin mientras

2.3.2 Algoritmos de Ruteo para el MDVRP El VRP con múltiples depósitos es un problema NP-hard cuya solución con un algoritmo exacto consume mucho tiempo y es intratable computacionalmente. Existen muchas aplicaciones en tiempo real que motivaron la investigación en el campo de los MDVRP, tales como los servicios de mensajería, servicios de emergencia, servicios de taxi y distribución de periódicos. (Geetha, Vanathi, & Poonthalir, 2012) Diversas heurísticas y algoritmos de aproximación se han utilizado para resolver el MDVRP. En 1969, Tillman fue el primero en proponer la heurística de ahorros de Clark and Wright para resolver este problema. Posteriormente se desarrollaron trabajos utilizando procedimientos de barrido en dos etapas: (1) construcción de la solución inicial, agrupando los clientes a los depósitos más cercanos, seguido por (2) algoritmos de ahorros o de barrido en cada depósito. Procedimientos clúster first–route second y route first–cluster second también fueron aplicados para dar solución al MDVRP, así como una aproximación modular en la cual el problema es descompuesto en pequeños subproblemas, aquí, los clientes son asignados a la ruta del vehículo y luego la ruta es asignada al depósito más cercano. (Geetha, Vanathi, & Poonthalir, 2012) En la década del 90 fueron propuestas combinaciones de heurísticas con programación lineal y también heurísticas multifase, en donde los clientes son asignados al depósito más cercano, luego se usa el algoritmo de ahorros para generar las rutas en cada depósito y, por último, las soluciones fueron mejoradas con movimientos de clientes a otras rutas. Renaud, Laporte y Boctor propusieron una nueva heurística utilizando búsqueda tabú con restricciones de ruta y capacidad (Renaud, Laporte, & Boctor, 1996). Ellos encontraron mejores soluciones que las heurísticas existentes para 23 casos de prueba. Cordeau, Gendreau y Laporte propusieron una heurística de búsqueda tabú capaz de resolver tres problemas de enrutamiento: el VRP periódico, el TSP periódico, y el VRP multi-depósito. Experimentos computacionales llevados a cabo en casos tomados de la literatura indicaron que el método propuesto superaba heurísticas existentes para los tres problemas. (Cordeau, Gendreau, & Laporte, 1997)

Page 34: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

34

En la historia reciente del MDVRP diferentes autores han trabajado diversos procedimientos para dar solución a este problema: Tansini, Urquhart y Viera compararon algoritmos de asignación para el VRP Multi-depósito. Compararon algoritmos de asignación a partir de prioridades: algoritmo de asignación en paralelo, algoritmo de asignación simplificado, algoritmo de asignación de barrido; asignación cíclica, asignación por grupos (clústeres): coeficiente de propagación, algoritmos de clusterización de tres criterios; Problema de Transporte. (Tansini, Urquhart, & Viera, 2001) González y González presentaron una metaheurística híbrida denominada Genetic Clustering and Tabu Routing, con la cual se soluciona el problema de ruteo de vehículos a través de la metodología de dos fases clusterizar primero rutear después, utilizando algoritmos genéticos en la primera fase y heurísticas de barrido y búsqueda local para la segunda fase. (González V. & González A., 2007) Crevier, Cordeau y Laporte presentaron el VRP Multi-depósito con rutas entre depósitos. En esta extensión del MDVRP los vehículos pueden ser reabastecidos en los depósitos intermedios a lo largo de su ruta. Se propone una metodología de tres fases basada en la memoria adaptativa y búsqueda tabú para la generación de un conjunto de rutas, y en la programación entera en la ejecución de un algoritmo de conjunto de particiones para la determinación de las rotaciones factibles menos costosas. (Crevier, Cordeau, & Laporte, 2007) Chen y Xu proponen un algoritmo híbrido para VRP Multi-depósito, el cual incrusta la regla de aceptación de Metropolis del recocido simulado en el algoritmo genético. En el algoritmo híbrido, el algoritmo genético (GA) combina la búsqueda global y la búsqueda local para buscar los mejores resultados y el recocido simulado (SA) utiliza cierta probabilidad para evitar ser atrapados en un óptimo local. (Chen & Xu, 2008) Ho, Ho, Ji y Lau proponen un algoritmo genético híbrido para hacer frente al MDVRP de manera eficiente, dos algoritmos genéticos híbridos (HGA) se desarrollan en ese trabajo. La principal diferencia entre el HGA es que las soluciones iniciales se generan aleatoriamente en HGA1. El método de ahorros de Clarke y Wright y la heurística del vecino más cercano se incorporan en HGA2 para el procedimiento de inicialización. Se demostró que el rendimiento de HGA2 es superior al de HGA1 en términos del tiempo total de entrega. (Ho, Ho, Ji, & Lau, 2008) Wang, Sun y Ren estudiaron un algoritmo heurístico híbrido para VRP Multi-Depósito con estrategia de recogida-entrega. En la primera etapa se utiliza un algoritmo genético híbrido con el fin de simplificar el problema. La mejora de los operadores de cruce parcialmente coincidentes pueden evitar la destrucción de

Page 35: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

35

partes buenas de genes durante el curso del cruce. El estudio adopta la estrategia de protección de genes en su conjunto; introduce dos operadores de mutación de cambio. En la segunda etapa, el stock de élite adopta el algoritmo genético con algoritmo de búsqueda tabú para mejorar la velocidad de convergencia. (Wang, Sun, & Ren, 2009) Tang, Yin y Man trabajaron una optimización basada en genética para el VRP Multi-depósito. Con un novedoso diseño de la estructura de los cromosomas, se propone un algoritmo genético de objetivos múltiples para hacer frente a este problema, de modo que las distancias totales de viaje y el tiempo total de viaje, son minimizados. (Tang & Yin, 2010) Soeanu, Ray, Debbabi, Berger, Boukhtouta y Ghanmi desarrollaron una heurística descentralizada para el VRP Multi-depósito con entregas divididas. Utilizaron la inserción multipunto de costo gradiente descendente como una técnica de búsqueda estocástica especializada que puede ser descentralizada en muchos nodos de computación por medio de un generador de números pseudoaleatorios basado en semilla, utilizado para dirigir el curso de la búsqueda de solución. (Soeanu, Ray, & Debbabi, 2011) Vidal, Crainic, Gendreau, Lahrichi y Rei trabajaron un algoritmo genético híbrido para VRP Multi-depósito y Periódico a partir de la búsqueda genética híbrida con control de la diversidad adaptativa. Combinaron la amplitud de exploración basada en la población de búsqueda evolutiva, las capacidades de mejora agresivas de meta-heurísticas basadas en el vecindario, y los esquemas de gestión de la diversidad de la población avanzada. (Vidal, Crainic, Gendreau, Lahrichi, & Rei, 2011) Narasimha, Kivelevitch y Kumar trabajaron una técnica de optimización de Colonia de Hormigas para resolver el Min-Max VRP Multi-depósito. Esta técnica Implica reducir al mínimo la distancia máxima recorrida por un vehículo. Se utiliza el algoritmo basado en colonia de hormigas y se introduce una nueva forma de abordar el problema multi-depósito de rutas para vehículos mín-máx. El enfoque utiliza un método de región de particionamiento desarrollado por Carlsson et al. para convertir el problema multi-depósito en múltiples versiones de un solo depósito. (Narasimha, Kivelevitch, & Kumar, 2012) Liu, Jiang y Geng propusieron un algoritmo genético híbrido para VRP abierto Multi-depósito. El MDOVRP, es una variante del VRP, en la que los vehículos parten de varios depósitos y no están obligados a regresar a la estación. En el enfoque propuesto, tres algoritmos heurísticos clásicos se adoptan para proporcionar buenas soluciones iniciales. Un método de división es diseñado para calcular la aptitud exacta de cada cromosoma. Varios métodos simples y potentes de búsqueda local se utilizan para mejorar la descendencia generada por el procedimiento de cruce. Desde el punto de vista metodológico, una meta es

Page 36: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

36

acelerar la búsqueda local en el algoritmo genético propuesto para reducir su tiempo de ejecución. (Liu, Jiang, & Geng, 2012) Geetha, Vanathi y Poonthalir desarrollaron un enfoque metaheurístico para el VRP Multi-depósito. Resuelven el MDVRP utilizando una metaheurística de búsqueda que puede ser visto como la búsqueda del mejor elemento en un conjunto de elementos discretos. La metodología agrupar primero y rutear después es adaptada y metaheurísticas de algoritmos genéticos (GA) y optimización por enjambre de partículas (PSO) son utilizadas para resolver el MDVRP. También se propone una optimización por enjambre de partículas híbrida (HPSO) para resolver el MDVRP. En el HPSO, las partículas iniciales son generadas con base en el agrupamiento k-medias y heurística del vecino más cercano (NNH). Las partículas son decodificadas en grupos y múltiples rutas son generadas dentro de las agrupaciones. La heurística de búsqueda local 2-opt es utilizada para la optimización de las rutas obtenidas. El algoritmo se implementa usando MATLAB 7.0.1. (Geetha, Vanathi, & Poonthalir, 2012) Luo, Li y Chen presentaron un algoritmo híbrido de varias fases basado en clusterización para resolver el problema de ruteo de vehículos multi-depósitos (MDVRP). El algoritmo propuesto adopta inicialmente el algoritmo K-means para ejecutar el análisis de agrupación, el cual toma los depósitos como los centroides de los clústeres, para todos los clientes del MDVRP, luego se implementa la búsqueda profunda local usando el Algoritmo de barajado de la rana que salta (SFLA) para cada grupo, y luego reajusta globalmente las soluciones, es decir, rectifica las posiciones de todas las ranas mediante la optimización extrema (EO). Los procesos continuarán hasta que los criterios de convergencia sean satisfechos. (Luo, Li, & Chen, 2013) Bolaños propone un algoritmo metaheurístico para la solución del problema de ruteo de vehículos con múltiples depósitos y flota heterogénea. Utiliza un algoritmo genético de Chu-Beasley modificado que precisa de una población inicial diversa obtenida mediante un procedimiento híbrido, el cual involucra un proceso heurístico y la solución del modelo del problema de la ruta más corta. En la etapa de mejoramiento son utilizadas ocho estrategias de búsqueda local inter-rutas e intra-rutas. (Bolaños, 2014) He, Miao, Xie y Shi desarrollan un algoritmo de búsqueda tabú con agrupación de clúster variable para VRP multi-depósito. En primer lugar, adoptaron la agrupación de clúster variable para convertir un MDVRP complicado en un problema típico de un solo depósito (SDVRP), luego aplicaron un algoritmo de búsqueda tabú para resolver cada SDVRP. (He, Miao, Xie, & Shi, 2014) De acuerdo con los resultados obtenidos en los trabajos de Renaud et al y Cordeau et al, los cuales superaron las heurísticas existentes, y con el fin de explotar los beneficios de los métodos de aproximación multiarranque en cuanto a

Page 37: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

37

las ventajas que tiene la diversificación de la búsqueda, y al mismo tiempo las bondades en procesos de intensificación que brindan las metaheurísticas de vecindario, se decide utilizar para esta investigación la metaheurística Búsqueda Tabú (Tabu Search) como técnica para generar las rutas de cada clúster en la segunda fase de la metodología propuesta. 2.3.2.1 Búsqueda Tabú El término Búsqueda Tabú (TS – Tabu Search) fue introducido en 1986 por Fred Glover. Los principios fundamentales de la búsqueda fueron elaborados en una serie de artículos de finales de los años 80 y principios de los 90, que fueron luego unificados en el libro “Tabu Search” en 1997. (Glover & Laguna, 1997) El notorio éxito de la búsqueda tabú para resolver problemas de optimización que surgen en aplicaciones de reales, ha causado una propagación de nuevas aplicaciones durante los últimos años, que son resumidas por algunos autores en 2006 (Glover, Laguna, & Martí, Principles of Tabu Search. To appear in Approximation Algorithms and Metaheuristics, 2006) La búsqueda tabú orienta un procedimiento heurístico de búsqueda local en la búsqueda de optimalidad global. Su filosofía se basa en originar y explotar una colección de estrategias inteligentes basadas en procedimientos implícitos y explícitos de aprendizaje (Melián & Glover, 2007), tal como el uso de memorias flexibles o el cambio de la estructura de vecindad con el fin de explorar regiones del espacio de búsqueda que serían dejadas de lado por el procedimiento de búsqueda local y que pueden llevar a soluciones de buena calidad. Estructuras de vecindad La estructura de vecindad está estrechamente vinculada a la definición del espacio de búsqueda. En cada iteración de la búsqueda tabú las transformaciones locales que se pueden aplicar a la solución actual, definen un conjunto de soluciones vecinas en el espacio de búsqueda (Gendreau & Potvin, 2010). En TS el espacio de búsqueda contiene todas las posibles soluciones que se pueden considerar o visitar durante la exploración. Para el VRP el espacio de búsqueda podría ser el conjunto de soluciones factibles al problema, donde cada punto en el espacio de búsqueda corresponde a un conjunto de rutas de vehículos que satisfagan todas las restricciones especificadas. El proceso de optimización consiste en explorar las vecindades de la mejor solución encontrada hasta el momento, moviéndose a una nueva solución óptima, en la medida en que ella tenga un mejor valor de la función objetivo. Estructuras vecinales simples para el VRP implican mover en cada iteración un solo cliente de su ruta actual; el cliente seleccionado se inserta en la misma ruta o en otra ruta con suficiente capacidad.

Page 38: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

38

Estructuras de memoria La búsqueda tabú utiliza estructuras de memoria flexible diseñadas para admitir criterios de evaluación e información de búsqueda histórica, la cual se aprovecha más a fondo que las estructuras de memoria rígida. El tipo de memorias que utiliza la búsqueda tabú se clasifica en memoria a corto plazo y memoria a largo plazo. Cada tipo de memoria está acompañada de sus propias estrategias. En la memoria a corto plazo se almacenan algunas soluciones que se han examinado recientemente y éstas se convierten en tabú o prohibidas. Para evadir los óptimos locales, la búsqueda tabú evita visitar algunas de las soluciones vecinas a la solución óptima actual, considerando que los movimientos en el espacio de soluciones que llevan de una solución a la otra son tabúes, de tal forma que ellos no pueden ser aceptados durante determinado tiempo o n iteraciones (n es llamado el tenor del tabú). El procedimiento considera que después de cierto número de iteraciones la búsqueda se encuentra en una región distinta y puede liberarse del estatus tabú. La lista tabú es un listado en donde se registran las soluciones o atributos de soluciones que no deben ser escogidos. Esta lista puede contener: (Melián & Glover, 2007) • Soluciones visitadas recientemente • Movimientos realizados recientemente o • Atributos o características que tenían las soluciones visitadas. Cuando el algoritmo converge, finalmente a un punto de óptimo local, para el cual no es posible encontrar soluciones vecinas mejores, la solución es almacenada como el mejor óptimo encontrado; posteriormente, la memoria de corto plazo es borrada, y se escoge como nuevo punto de arranque del algoritmo, alguna de las soluciones previamente visitadas que se encuentran almacenadas, en la memoria de largo plazo (Glover & Laguna, Tabu Search in Modern Heuristic Techniques for Combinatorial Problems, 1993) La memoria a largo plazo complementa la información proporcionada por la memoria reciente, ya que amplía la base para seleccionar movimientos preferidos registrando la frecuencia de ocurrencia de los movimientos, las soluciones o sus atributos. Esta memoria registra la cantidad de veces que una solución es la mejor o el número de iteraciones durante la cual un atributo pertenece a la solución generada. En consideraciones a largo plazo, la memoria basada en frecuencia juega un papel fundamental. Estas actúan introduciendo penalizaciones e incentivos determinados por el rango de tiempo durante el que los atributos pertenecen a

Page 39: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

39

soluciones visitadas durante la búsqueda. Las frecuencias de transición conservan un registro de la asiduidad con que cambian los atributos, mientras que las frecuencias de residencia, mantienen el registro de las duraciones de los atributos. La memoria a largo plazo utiliza como base las estrategias de intensificación y diversificación. Intensificación y Diversificación Las estrategias de intensificación y diversificación componen dos elementos muy importantes en un proceso de búsqueda tabú debido a que interactúan para proporcionar puntos de apoyo fundamentales de memoria de largo plazo. Las estrategias de intensificación están basadas en la modificación de reglas de elección, de tal manera que se favorezcan movimientos y soluciones que históricamente hayan sido buenas (Melián & Glover, 2007). La intensificación consiste en regresar a regiones atractivas ya exploradas para estudiarlas más a fondo. Para ello es necesario identificar un conjunto de soluciones con características especiales o atributos asociados a buenas soluciones encontradas y que puedan ser incorporadas a las nuevas soluciones. La intensificación reinicializa la búsqueda para regresar a regiones atractivas del espacio de soluciones para buscar en ellas más extensamente. En la memoria a largo plazo se almacena un registro de las mejores soluciones visitadas, insertando una nueva solución cada vez que se convierte en la mejor global. Una manera de implementar la estrategia de intensificación es reduciendo el tamaño de la lista tabú, de manera que permita más movimientos de retroceso con la finalidad de explorar minuciosamente determinada zona. Otra estrategia es tomar un conjunto de soluciones élite encontradas y repetir el proceso de búsqueda tomando como solución inicial cada una de estas buenas soluciones. Este enfoque de recuperar soluciones élite seleccionadas es llamado “backtracking”. Las estrategias de diversificación están basadas en modificar las reglas de elección para incorporar a las soluciones atributos que no han sido utilizados frecuentemente. La diversificación consiste en llevar la búsqueda a regiones del espacio de soluciones no visitadas con anterioridad, generando soluciones que difieren significativamente de las ya encontradas. (Melián & Glover, 2007) Una estrategia de diversificación puede ser reinicializar la búsqueda cuando se estanca, partiendo de una solución no visitada, dando mayor probabilidad de aparición a soluciones menos habituales. Otra estrategia es generar una solución aleatoria y continuar la búsqueda a partir de ella.

Page 40: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

40

Criterio de Aspiración La búsqueda tabú, además de emplear las estrategias de intensificación y diversificación, utiliza un método denominado criterio de aspiración cuyo objetivo es determinar las condiciones en que se puede admitir un movimiento clasificado como tabú, cambiando su estatus tabú cuando la solución de éste es mejor que la solución obtenida hasta el momento o cuando su memoria a corto plazo concluya. Los niveles de aspiración introducen el elemento de flexibilidad en la búsqueda tabú debido a que ofrecen límites de atracción, los cuales controlan el hecho de que las aspiraciones puedan ser consideradas admisibles a pesar de estar clasificadas como tabú. El criterio de aspiración más sencillo es considerar una solución 𝑠 cuando 𝑓(𝑠0) <𝑓(𝑠∗); este movimiento orienta una nueva dirección en la búsqueda y evita la generación de ciclos. (Gendreau & Potvin, 2010) El algoritmo en pseudocódigo para la búsqueda tabú básica es la siguiente (Delgado, 1999): Leer solución inicial 𝑠𝑓 y hacer 𝑠∗ = 𝑠𝑓; Hacer 𝑇 = ∅, niter = 0, kiter = 0 Repetir niter : = niter + 1

Definir función 𝑔 a partir de 𝑇

Ejecutar Movimiento_Vecinal_Ge(𝑘, 𝑔, 𝑠𝑓, 𝑠1, 𝑠0); Si 𝑔(𝑠1) < ∞ hacer 𝑠𝑓 = 𝑠1 Si 𝑓(𝑠0) < 𝑓(𝑠∗) entonces: hacer 𝑠𝑓 = 𝑠0 (criterio de aspiración), 𝑠∗ = 𝑠0 y

kiter = niter.

Actualizar 𝑇 Hasta niter – kiter >= maxiter

Se denota por 𝑠∗ a la mejor solución encontrada, y por 𝑠𝑓 a la solución actual en cada momento. 𝑇 es el conjunto de movimientos tabús y se obtiene determinando qué conjunto de soluciones tiene ciertos atributos tabús activos; se han de definir estos atributos tabús y durante cuántas iteraciones van a permanecer activos (y por tanto las soluciones que les contienen). El objeto de aplicar el criterio de aspiración es determinar en qué condiciones un movimiento tabú puede ser

admisible. Habitualmente se considera que una solución 𝑠0 cumple el criterio de aspiración si 𝑓(𝑠0) < 𝑓(𝑠∗). El número de iteraciones viene dado por el contador niter y kiter, que indica en qué iteración se encontró la mejor solución hasta el

momento actual. La función 𝑔 es la que se ha denominado función guía.

Page 41: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

41

3. DESARROLLO DE LA INVESTIGACIÓN

3.1 METODOLOGÍA DEL MODELO PROPUESTO Dada la complejidad del problema en estudio y la dificultad para resolverlo utilizando metodologías exactas, a continuación, se presenta una metaheurística híbrida que consiste en aplicar técnicas de agrupamiento para asignar clientes a depósitos y procedimientos aproximados para el ruteo de los vehículos. La metodología propuesta brinda un enfoque de solución al problema de ruteo de vehículos con múltiples depósitos que sirva como herramienta para el cumplimiento de los objetivos de distribución en empresas de transporte de carga por carretera. Para el desarrollo del modelo de distribución se aborda la metodología de dos fases: clusterizar primero rutear después, en donde inicialmente se busca generar grupos de clientes (clústeres) que estarán en una misma ruta en la solución final. Posteriormente, para cada clúster se crea una ruta que visite a todos los clientes. En la primera fase se consideran restricciones de capacidad de los depósitos y en la segunda fase se resuelve un problema de ruteo de vehículos (VRP) por cada clúster. Para abordar la metodología de dos fases se plantea una metaheurística híbrida que se denominó Grasp Clustering & Tabu Routing, con la cual se generó un enfoque de solución para el problema de ruteo de vehículos con múltiples depósitos en empresas de transporte de carga por carretera. La metaheurística híbrida propuesta consiste en aplicar el algoritmo GRASP como técnica de agrupamiento de la primera fase. En el algoritmo GRASP se considera una fase constructiva y una fase de mejora. En la fase constructiva se generan soluciones de forma iterativa utilizando procedimientos voraces, para ello se aplica el método de agrupamiento Fuzzy C-Means. En la fase de mejora se utiliza un procedimiento de optimización local basado en una función de búsqueda local. Para la segunda fase se propone el algoritmo de Búsqueda Tabú para generar las rutas de distribución en cada uno de los clústeres formados en la primera fase. El algoritmo se encarga de explorar mediante búsqueda local todos los vecinos de la solución actual, realizando todos los posibles intercambios entre pares de posiciones en el mismo clúster. A manera de resumen se indican las etapas del procedimiento híbrido propuesto:

Page 42: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

42

1. Ingreso de los parámetros de entrada 2. Asignación de clientes a depósitos con procedimiento de clusterización

GRASP. 3. Primera fase GRASP: construcción de soluciones con algoritmo voraz que

permita obtener soluciones de alta calidad, eligiendo el mejor movimiento disponible en cada iteración.

4. Segunda fase GRASP: mejora de soluciones con procedimiento de optimización local que permita buscar en la vecindad un candidato que garantice una mejor solución.

5. Generación de rutas con Búsqueda Tabú para cada uno de los agrupamientos formados.

6. Creación de soluciones iniciales que permitan desarrollar el proceso de ruteo.

7. Búsqueda local con estrategias de vecindad para explorar el espacio de soluciones disponible.

8. Aplicación de estrategias de intensificación con la finalidad de buscar en regiones promisorias del espacio de soluciones.

9. Generación de informe con la mejor solución. 3.1.1 Desarrollo Metodológico A continuación, se describe el procedimiento que conforma el mecanismo de solución de la metodología propuesta: Inicialmente se ingresan los parámetros o información necesaria para abordar el MDVRP:

Coordenadas de ubicación geográfica de depósitos y clientes

Capacidades de los depósitos

Demandas de los clientes

Capacidad de los vehículos

Número de clientes y depósitos

Valor para la RCL

Número de iteraciones del proceso de construcción GRASP

Número de soluciones aleatorias del proceso de inserción TS

Número de iteraciones del proceso de intensificación TS.

3.1.1.1 GRASP Clustering Con los parámetros de entrada se inicia la aplicación de la metaheurística GRASP como técnica de agrupamiento de la primera fase con el fin de generar las particiones o grupos de clientes.

Page 43: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

43

En esta etapa se asignan los clientes a los depósitos a partir de los niveles de pertenencia y las distancias entre clientes y depósitos. Para ello se obtiene la matriz de pertenencias a partir del algoritmo Fuzzy C-Means y se genera la matriz de distancias utilizando distancias euclidianas.

Fase de construcción Para la fase de construcción GRASP, se generan 500 soluciones aleatorias en cada iteración a partir de la combinación de los dos primeros k-ésimos o mejores valores de pertenencia de los clientes con los depósitos. Con estas soluciones se genera la lista restringida de candidatos (RCL) de la siguiente manera: se elabora un listado tomando dos soluciones aleatorias por cada iteración del proceso de construcción. Estas soluciones se ordenan en forma ascendente de acuerdo a la distancia total entre clientes y depósitos. Según sea el

valor asignado al parámetro se tomarán las mejores soluciones o de menor

distancia total que conformarán la RCL. Si el valor de es cercano a cero, la RCL estaría conformada únicamente por la solución de menor distancia total y el

proceso sería determinístico. Si el valor de es cercano a 1, se estarían incluyendo todas las soluciones de la lista en la RCL, por lo tanto, el proceso sería completamente aleatorio.

Fase de mejora Para la fase de mejora GRASP, se combina una solución aleatoria disponible en la lista restringida de candidatos con las demás soluciones de la RCL para explorar el espacio de búsqueda y generar 100 nuevas soluciones, de las cuales se escoge la de menor distancia total. Se someten a evaluación de capacidad la solución del primer k-ésimo, la mejor solución de las iteraciones del proceso de construcción, la mejor solución del proceso de mejora y las soluciones de la RCL. De acuerdo al cumplimiento de capacidad y menor distancia se escoge la solución que genera el agrupamiento de los clientes en cada depósito. 3.1.1.2 Tabu Routing Se inicia la aplicación de la metaheurística Búsqueda Tabú para la segunda fase de la metodología propuesta. En cada clúster se genera el vector con la solución inicial a partir del algoritmo del vecino más cercano para crear las rutas. El procedimiento toma esta solución y evalúa la capacidad de los vehículos agregando los depósitos dentro del vector cada vez que se completa la carga máxima del vehículo, generando la ruta.

Page 44: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

44

Estrategias de vecindad Una vez obtenido el ruteo inicial, se ejecutan las estrategias de vecindad en cada clúster a partir del algoritmo de inserción sobre el vector obtenido con el procedimiento del vecino más cercano. Las inserciones sucesivas y aleatorias

sobre el vector inicial generan 𝑛 soluciones aleatorias, las cuales pretenden explorar el espacio de búsqueda en la vecindad. Se genera la lista tabú escogiendo del conjunto de soluciones aleatorias a los cinco mejores vectores (con la menor distancia acumulada) del proceso de inserción. Estos vectores se someten a la evaluación de capacidad de los vehículos. Si el vector de la lista tabú cumple con la capacidad en cada ruta y tiene una menor distancia acumulada que el vector solución actual, se reemplaza la solución existente.

Intensificación Se aplica la estrategia de intensificación sobre el vector solución actual a partir de

los algoritmos de inserción para generar nuevamente 𝑛 soluciones aleatorias. Se actualiza la lista tabú escogiendo los cinco mejores vectores, a los cuales se evalúa la capacidad de los vehículos para cada ruta.

Se repite el proceso de intensificación sobre el mejor vector obtenido en cada iteración hasta que se cumpla el número de iteraciones establecidas para el proceso de ruteo. Cuando el procedimiento termina su ejecución, se guarda la mejor solución, la cual genera las rutas en cada clúster. Finalmente se presenta la mejor solución en un reporte que indica la secuencia de los clientes a atender en las rutas de cada clúster, así como la distancia total a recorrer y la demanda total satisfecha en cada ruta. El diagrama de flujo que describe el procedimiento híbrido de dos fases propuesto es el siguiente:

Page 45: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

45

Figura 3. Diagrama de Flujo de la metaheurística propuesta -GC & TR- Fuente: Elaboración propia, 2016

Page 46: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

46

3.1.2 Aplicación de la metodología GC & TR Con el fin de revisar la metodología utilizada para desarrollar el método propuesto en esta investigación, se presenta un pequeño ejemplo aplicado, cuyas características son las siguientes:

𝑚 = 3 depósitos 𝑛 = 20 clientes 𝑄 = 15 𝑡𝑜𝑛 (carga máxima de los vehículos) 𝛼 = 0,3 parámetro de tamaño de la RCL Iteraciones construcción GRASP: 20 Iteraciones intensificación TS: 16 Parámetros de entrada:

Tabla 1. Información de entrada ejemplo aplicación GC & TR Fuente: Elaboración propia, 2016

La ubicación geográfica de los clientes y depósitos representada en el plano cartesiano es la siguiente:

Depósito X Y Capacidad Cliente X Y Demanda

1 8 10 50 1 6 13 8

2 12 5 30 2 3 2 3

3 4 6 40 3 20 16 3

4 6 9 3

5 16 12 5

6 7 2 4

7 2 17 7

8 13 7 6

9 11 15 8

10 16 19 8

11 2 19 5

12 15 6 7

13 6 4 8

14 20 9 3

15 13 10 6

16 5 10 8

17 5 4 3

18 7 18 5

19 7 13 6

20 1 2 8

Page 47: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

47

Figura 4.Ubicación geográfica de clientes y depósitos

Fuente: Elaboración propia, 2016 ASIGNACIÓN DE CLIENTES A DEPÓSITOS En la primera fase de la metodología propuesta, se realiza la asignación de clientes a los depósitos utilizando la metaheurística GRASP. Para la construcción de soluciones se genera la matriz de pertenencias y la matriz de distancias que permitan al procedimiento voraz asignar los clientes a los depósitos.

Tabla 2. Matriz de pertenencias entre clientes y depósitos Fuente: Elaboración propia, 2016

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 0,727 0,138 0,403 0,675 0,413 0,181 0,493 0,122 0,626 0,466 0,483 0,124 0,141 0,298 0,451 0,606 0,092 0,568 0,778 0,157

2 0,095 0,137 0,393 0,065 0,432 0,347 0,172 0,828 0,211 0,319 0,191 0,809 0,153 0,539 0,433 0,074 0,083 0,190 0,087 0,136

3 0,178 0,725 0,204 0,260 0,156 0,472 0,335 0,050 0,164 0,216 0,326 0,067 0,706 0,163 0,116 0,321 0,826 0,241 0,134 0,707Depósitos

Clientes

Page 48: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

48

Tabla 3. Matriz de distancias entre clientes y depósitos Fuente: Elaboración propia, 2016

Este procedimiento genera los dos primeros k-ésimos, así como las dos primeras soluciones de cada iteración que conformarán la lista de soluciones para la RCL.

Tabla 4. Dos primeros k-ésimos del espacio de soluciones Fuente: Elaboración propia, 2016

El agrupamiento obtenido por el primer k-ésimo (distancias más cortas), a partir del mayor nivel de pertenencia entre clientes y depósitos, sin tener en cuenta la capacidad de los depósitos, genera la menor distancia total, que para el ejemplo es de 117,98. Los vectores y su representación gráfica es la siguiente:

𝑉1 = {1 3 4 7 9 10 11 15 16 18 19}

𝑉2 = {5 8 12 14}

𝑉3 = {2 6 13 17 20}

Figura 5. Agrupamientos generados por el primer k-ésimo

Fuente: Elaboración propia, 2016

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 3,61 9,43 13,42 2,24 8,25 8,06 9,22 5,83 5,83 12,04 10,82 8,06 6,32 12,04 5,00 3,00 6,71 8,06 3,16 10,63

2 10,00 9,49 13,60 7,21 8,06 5,83 15,62 2,24 10,05 14,56 17,20 3,16 6,08 8,94 5,10 8,60 7,07 13,93 9,43 11,40

3 7,28 4,12 18,87 3,61 13,42 5,00 11,18 9,06 11,40 17,69 13,15 11,00 2,83 16,28 9,85 4,12 2,24 12,37 7,62 5,00Depósitos

Clientes

-2 7 9 14 4 8 6 11 6 10 15 13 8 6 12 5 4 7 12 8 11

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1-ésimo 1 3 1 1 2 3 1 2 1 1 1 2 3 2 1 1 3 1 1 3

2-ésimo 3 1 2 3 1 2 3 1 2 2 3 1 2 1 2 3 1 3 3 1

Depósito

asignado

Clientes

Page 49: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

49

Con la combinación aleatoria de los dos primeros k-ésimos se generan 500 soluciones en cada iteración de la etapa de construcción GRASP. Este proceso se realiza con el fin de generar soluciones que puedan cumplir con la capacidad de los depósitos con distancias razonables (asignando clientes al siguiente depósito más cercano). La mejor solución obtenida en este proceso después de 20 iteraciones, genera los siguientes vectores con una distancia total de 120,69.

𝑉1 = {1 4 7 9 11 15 16 18 19}

𝑉2 = {3 5 8 10 12 14}

𝑉3 = {2 6 13 17 20} Cuya representación gráfica es la siguiente:

Figura 6. Agrupamientos generados en el proceso de construcción GRASP

Fuente: Elaboración propia, 2016

Con el valor asignado al parámetro 𝛼 (0,3) y al número de iteraciones del proceso de construcción (20), se determina el tamaño de la lista restringida de candidatos; en este caso, con las mejores 13 soluciones ordenadas en forma ascendente de acuerdo a la distancia total.

Page 50: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

50

Tabla 5. Lista Restringida de Candidatos -RCL- Fuente: Elaboración propia, 2016

El proceso de mejora combina aleatoriamente las soluciones de la RCL para tratar de obtener mejores soluciones que las obtenidas en la fase de construcción. Para el ejemplo, se mejora la solución generando una distancia total de 118,17 cuyos vectores son los siguientes:

𝑉1 = {1 3 4 5 7 9 10 11 15 16 18 19}

𝑉2 = {8 12 14}

𝑉3 = {2 6 13 17 20} El gráfico asociado a esta solución es el siguiente:

Figura 7. Agrupamientos generados en el proceso de mejora GRASP

Fuente: Elaboración propia, 2016

129,11 4 4 13 2 8 5 11 2 6 15 13 3 3 9 5 3 2 12 3 5

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Solución1 1 3 2 1 2 3 1 2 1 2 1 2 3 2 1 1 3 1 1 3 120,69

Solución2 1 3 2 1 1 3 1 2 1 2 1 2 3 2 1 1 3 1 1 3 120,87

Solución3 1 3 2 1 1 3 1 2 1 1 1 2 3 2 1 1 3 3 1 3 122,66

Solución4 1 3 1 1 1 3 1 2 1 1 3 2 3 2 1 1 3 3 1 3 124,81

Solución5 1 3 1 1 1 3 1 2 2 2 1 2 3 2 1 1 3 1 1 3 124,91

Solución6 1 3 2 1 1 3 3 2 1 2 3 2 3 2 1 1 3 1 1 3 125,17

Solución7 1 3 1 1 2 3 3 2 1 2 1 2 3 2 1 1 3 3 1 3 126,77

Solución8 1 3 2 1 1 3 3 2 2 1 3 2 3 2 1 1 3 1 1 3 126,87

Solución9 1 3 1 1 1 3 1 2 2 2 3 2 3 2 1 1 3 1 1 3 127,24

Solución10 1 3 1 1 2 2 3 1 1 1 1 2 2 2 1 1 3 1 1 3 127,62

Solución11 1 3 1 1 1 3 1 2 1 1 3 2 3 1 1 1 3 3 1 3 127,91

Solución12 1 3 2 1 1 3 1 2 2 1 3 2 3 1 1 1 3 1 1 3 128,01

Solución13 1 3 1 1 2 3 3 2 1 2 3 2 3 2 1 1 3 3 1 3 129,11

Depósito

asignado

Clientes Dist.

Total

Page 51: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

51

Las mejores soluciones obtenidas en las etapas de construcción y mejora, junto con las soluciones de la RCL son evaluadas con respecto a la capacidad de los depósitos. Para el ejemplo, la mejor solución del proceso de construcción no cumple con la capacidad de los depósitos 1 y 2; en el caso de la mejor solución del proceso de mejora, así como la solución del primer k-ésimo, no cumplen con la capacidad del depósito 1. Por esta razón, la mejor solución, con una distancia total de 125,17 y que cumple con la capacidad de los depósitos se encuentra en la RCL (solución 6). Los vectores generados por esta solución construyen finalmente los agrupamientos de la primera fase.

𝑉1 = {1 4 5 9 15 16 18 19}

𝑉2 = {3 8 10 12 14}

𝑉3 = {2 6 7 11 13 17 20} La representación de los agrupamientos finales se muestra a continuación:

Figura 8. Agrupamientos finales GRASP

Fuente: Elaboración propia, 2016 GENERACIÓN DE RUTAS EN CADA CLÚSTER En la segunda fase de la metodología propuesta, se realiza la creación de rutas en cada clúster utilizando la metaheurística búsqueda tabú.

Page 52: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

52

En cada agrupamiento generado en la primera fase, se requiere de una solución inicial que permita a la metaheurística encontrar las mejores rutas de atención a los clientes. Para crear el vector inicial se aplica la estrategia del vecino más cercano, la cual utiliza la matriz de distancias simétrica entre clientes y depósitos para determinar el orden de atención a clientes o la secuencia de recorrido de las rutas. Para el ejemplo, la matriz de distancias del primer agrupamiento es la siguiente:

Tabla 6. Matriz simétrica de distancias entre clientes y depósitos Fuente: Elaboración propia, 2016

El algoritmo del vecino más cercano genera los siguientes vectores iniciales para los tres depósitos del ejemplo desarrollado (0 representa el depósito en cada clúster):

𝑇1 = {0 4 16 0 1 19 0 9 18 0 15 5 0}

𝑇2 = {0 8 12 0 14 3 10 0}

𝑇3 = {0 17 13 6 0 2 20 0 7 11 0} La aproximación inicial genera rutas con una distancia total de 141,23 y se representa a continuación:

Depósito1 1 4 5 9 15 16 18 19

Depósito1 9999999 3,605551 2,236068 8,246211 5,830952 5 3 8,062258 3,162278

1 3,605551 9999999 4 10,04988 5,385165 7,615773 3,162278 5,09902 1

4 2,236068 4 9999999 10,44031 7,81025 7,071068 1,414214 9,055385 4,123106

5 8,246211 10,04988 10,44031 9999999 5,830952 3,605551 11,18034 10,81665 9,055385

9 5,830952 5,385165 7,81025 5,830952 9999999 5,385165 7,81025 5 4,472136

15 5 7,615773 7,071068 3,605551 5,385165 9999999 8 10 6,708204

16 3 3,162278 1,414214 11,18034 7,81025 8 9999999 8,246211 3,605551

18 8,062258 5,09902 9,055385 10,81665 5 10 8,246211 9999999 5

19 3,162278 1 4,123106 9,055385 4,472136 6,708204 3,605551 5 9999999

Page 53: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

53

Figura 9. Rutas generadas con el algoritmo del vecino más cercano

Fuente: Elaboración propia, 2016 Con la aplicación de estrategias de vecindad sobre el vector inicial se pretende encontrar mejores soluciones para cada clúster por medio de la exploración del espacio de soluciones cercano al vector. En cada iteración se obtienen soluciones aleatorias seleccionando dentro del vector dos posiciones; la primera indica el cliente a mover y la segunda la posición en donde se va a insertar el cliente. La mejor solución obtenida en la primera iteración del proceso de inserción en cada clúster del problema es la siguiente:

𝑇1 = {0 4 16 0 19 0 9 18 1 0 15 5 0}

𝑇2 = {0 8 0 12 14 3 10 0}

𝑇3 = {0 17 0 13 6 2 20 0 7 11 0} El proceso de inserción de la primera iteración genera rutas con una distancia total de 136,26 y se representa a continuación:

Page 54: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

54

Figura 10. Rutas generadas con estrategias de vecindad

Fuente: Elaboración propia, 2016 Al realizar la evaluación de capacidad de los vehículos (15 ton. para el ejemplo) en las rutas, el procedimiento descarta esta solución debido a que en todos los clústeres no se cumple con la carga máxima que puede transportar cada vehículo por ruta. De acuerdo a lo anterior, no se reemplaza la solución inicial y se continúa con el proceso de intensificación sobre esta misma solución. La estrategia de intensificación toma el mejor vector almacenado que cumpla con la capacidad de los vehículos y aplica sobre este el proceso de inserción para tratar de mejorar la solución actual. La solución final que se obtiene después de realizar las iteraciones del proceso de intensificación se describe a continuación:

𝑇1 = {0 4 16 0 1 19 0 9 18 0 15 5 0}

𝑇2 = {0 8 12 0 14 3 10 0}

𝑇3 = {0 17 6 13 0 2 20 0 7 11 0}

Page 55: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

55

Tabla 7. Informe final aplicación GC & TR Fuente: Elaboración propia, 2016

Figura 11. Rutas finales aplicación GC & TR

Fuente: Elaboración propia, 2016

140,8873701 Distancia

Cluster1:

Ruta1 Depósito1 4 16 Depósito1

Distancia 6,65028154 2,236067977 1,414213562 3

Demanda 11 3 8

Ruta2 Depósito1 1 19 Depósito1

Distancia 7,767828936 3,605551275 1 3,16227766

Demanda 14 8 6

Ruta3 Depósito1 9 18 Depósito1

Distancia 18,89320964 5,830951895 5 8,062257748

Demanda 13 8 5

Ruta4 Depósito1 15 5 Depósito1

Distancia 16,85176253 5 3,605551275 8,246211251

Demanda 11 6 5

Cluster2:

Ruta1 Depósito2 8 12 Depósito2

Distancia 7,634413615 2,236067977 2,236067977 3,16227766

Demanda 13 6 7

Ruta2 Depósito2 14 3 10 Depósito2

Distancia 35,50449169 8,94427191 7 5 14,56021978

Demanda 14 3 3 8

Cluster3:

Ruta1 Depósito3 17 6 13 Depósito3

Distancia 10,1289902 2,236067977 2,828427125 2,236067977 2,828427125

Demanda 15 3 4 8

Ruta2 Depósito3 2 20 Depósito3

Distancia 11,12310563 4,123105626 2 5

Demanda 11 3 8

Ruta3 Depósito3 7 11 Depósito3

Distancia 26,33328633 11,18033989 2 13,15294644

Demanda 12 7 5

DistanciaTotaldelProblema

Page 56: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

56

3.2 MODELO COMPUTACIONAL En este apartado se describe el programa computacional desarrollado para resolver el modelo MDVRP en empresas de transporte de carga por carretera. 3.2.1 Herramienta utilizada Para el desarrollo del programa que resuelve el modelo propuesto en dos fases, se utilizó Visual Basic, ya que es un lenguaje simple y es excelente para cálculos intensivos del CPU, lo cual permite desarrollar grandes y complejas aplicaciones, ideal para problemas NP-Hard como es el caso del MDVRP. Visual Basic permite realizar una serie de acciones sobre las macros de Excel para potenciarlas, brindándoles la interactividad que requieren los procedimientos metaheurísticos. 3.2.2 Requisitos funcionales Los requisitos funcionales establecen el comportamiento del sistema y los servicios que éste debe proporcionar. El comportamiento del sistema puede provenir de reglas organizacionales o ser descubiertas por interacción con usuarios y expertos. Los requisitos funcionales del programa desarrollado para este trabajo son: 2 Todos los algoritmos de construcción deben proporcionar soluciones

factibles independientemente del problema dado. 3 Todos los algoritmos de optimización deben generar soluciones coherentes

independientemente de la instancia del problema que se esté estudiando. 4 Los resultados obtenidos por los algoritmos deben ser correctamente

codificados en un fichero Excel. 5 Se debe desarrollar el programa con un diseño de software sostenible,

atendiendo a buenas prácticas de diseño e implementación. 6 Se deben diseñar e implementar pruebas que garanticen el correcto

funcionamiento del programa. 3.2.3 Requisitos no funcionales Los requisitos no funcionales son las restricciones de los servicios ofrecidos por el sistema. Son requerimientos que surgen de las necesidades de los usuarios y se aplican al sistema en su totalidad. Los requisitos no funcionales para el programa son:

Page 57: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

57

El programa debe ser razonablemente rápido en cuanto a su ejecución, teniendo en cuenta que, a instancias más complejas, mayor será el tiempo de ejecución.

En ningún caso la ejecución del programa debe suponer el agotamiento de la memoria.

El programa debe ser de alta fiabilidad, independientemente de la instancia que se estudie o los algoritmos que se utilicen, el programa debe ser capaz de terminar su ejecución correctamente.

3.2.4 Descripción del programa El programa se compone de una interfaz inicial, donde el usuario define la cantidad de depósitos (2-50) y clientes (2-500) que tendrá el problema MDVRP;

adicionalmente establece el valor de (0,0-1,0), el número de iteraciones del algoritmo de clusterización (10, 15, 20 o 25), el número de iteraciones del algoritmo de ruteo (1-30), así como la posibilidad de seleccionar restricciones de capacidad y demanda en el problema.

Figura 12. Interfaz inicial del programa de ruteo

Fuente: Elaboración propia, 2016

Una vez se ingresa la información de entrada, el programa crea una hoja en Excel donde el usuario debe introducir las coordenadas X e Y de la ubicación de cada uno de los depósitos, de la misma manera la capacidad de estos; lo propio se hace con los clientes y las demandas de cada uno de ellos.

Page 58: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

58

Figura 13. Información de entrada programa de ruteo

Fuente: Elaboración propia, 2016

Al guardar los datos en el sistema, el programa ejecuta el algoritmo de construcción generando inicialmente la matriz de pertenencias y la matriz de distancias de los depósitos a los clientes. Matriz de pertenencias

Figura 14. Matriz de pertenencias del programa de ruteo

Fuente: Elaboración propia, 2016

Matriz de distancias

Figura 15. Matriz de distancias del programa de ruteo

Fuente: Elaboración propia, 2016

A continuación, se describe el código utilizado en Visual Basic para generar la matriz de distancias y la matriz de pertenencias: 'Genera las distancias entre depositos y clientes

For Y = 1 To UserForm1.TextBox2.Value

For x = 1 To UserForm1.TextBox3.Value

Depósito Depósito Cliente1 Cliente2 Cliente3 Cliente4 Cliente5 Cliente6 Cliente7 Cliente8 Cliente9 Cliente10

1 1 0,1027 0,1089 0,0655 0,0275 0,0387 0,1740 0,7317 0,0210 0,0568 0,0098

2 2 0,0760 0,0960 0,0524 0,8381 0,0340 0,1038 0,0554 0,0522 0,0465 0,0125

3 3 0,1613 0,1737 0,1279 0,0277 0,1004 0,1604 0,0252 0,7962 0,1207 0,1178

4 4 0,1244 0,2420 0,0984 0,0908 0,0605 0,1752 0,1558 0,0533 0,0844 0,0183

5 5 0,5356 0,3794 0,6557 0,0159 0,7663 0,3866 0,0318 0,0773 0,6916 0,8417

Depósito Depósito Cliente1 Cliente2 Cliente3 Cliente4 Cliente5 Cliente6 Cliente7 Cliente8 Cliente9 Cliente10

1 1 82,7345 50,7740 66,7308 55,4437 71,3092 76,3217 14,0357 80,0562 69,8928 84,0238

2 2 96,2081 54,0833 74,6324 10,0499 76,1577 98,7927 50,9902 50,7740 77,2010 74,3303

3 3 66,0379 40,1995 47,7598 55,3173 44,2832 79,4796 75,5844 13,0000 47,9270 24,2074

4 4 75,1864 34,0588 54,4518 30,5287 57,0351 76,0592 30,4138 50,2494 57,3149 61,4654

5 5 36,2353 27,2029 21,0950 72,9932 16,0312 51,1957 67,3573 41,7253 20,0250 9,0554

Page 59: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

59

Cells(1 + Y, 14 + x).Value = "=SQRT((R[" & x - Y & "]C10-R["

& Z & "]C3)^2+(R[" & x - Y & "]C9-R[" & Z & "]C2)^2)"

Next x

Next Y

'Macro genera la matriz de pertencias (Modulo3)

Call Macro_Fuzzy

Sub Macro_Fuzzy()

If UserForm1.TextBox2.Value = n Then

For Y = 1 To UserForm1.TextBox2.Value

For x = 1 To UserForm1.TextBox3.Value

Cells(1 + Y, 516 + x).Value = "=1/((RC[-502]/R[" & Z - Y +

1 & "]C[-502])^(2/(R2C13-1)))"

Next x

Next Y

ElseIf UserForm1.TextBox2.Value = n+1 Then

For Y = 1 To UserForm1.TextBox2.Value

For x = 1 To UserForm1.TextBox3.Value

Cells(1 + Y, 516 + x).Value = "=1/((RC[-502]/R[" & Z - Y +

1 & "]C[-502])^(2/(R2C13-1))+(RC[-502]/R[" & Z - Y + 2 &

"]C[-502])^(2/(R2C13-1)))"

Next x

Next Y

End If

End Sub

De acuerdo a las pertenencias, el programa genera 500 soluciones para el proceso de construcción de la primera fase. Estas soluciones se obtienen a partir de las combinaciones de los 2 primeros k-ésimos (mayores valores de pertenencia entre depósitos y clientes) que tenga el problema, y clasifica las soluciones cuyas distancias totales sean más cortas. Este proceso se repite el número de veces que se haya establecido en las iteraciones de la interfaz inicial.

Figura 16. Soluciones del proceso constructivo de GRASP

Fuente: Elaboración propia, 2016

Page 60: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

60

Por cada iteración, el programa selecciona dos soluciones de manera aleatoria, ubicándolas en un listado de soluciones con su respectiva distancia total.

Figura 17. Listado de soluciones aleatorias GRASP

Fuente: Elaboración propia, 2016

A continuación, se indica el código utilizado para el proceso de construcción del algoritmo GRASP: 'Genera los 2 primeros k-esimos

For Y = 1 To 2

For x = 1 To UserForm1.TextBox3.Value

Cells(52 + Y, 14 + x) = "=SMALL(R[" & -50 - Y & "]C:R[" & -1 - Y

& "]C," & Y & ")"

Next x

Next Y

'Genera la suma del 1-esimo menor

Cells(53, 13) = Application.WorksheetFunction.Sum(Range("O53:ST53"))

'Traduce los k-esimos a depositos

For Y = 1 To 2

For x = 1 To UserForm1.TextBox3.Value

Cells(55 + Y, 14 + x) = "=VLOOKUP(R[-3]C,R[" & -53 - Y & "]C:R["

& -4 - Y & "]C[" & 501 - x & "]," & 502 - x & ",0)"

Next x

Next Y

Sheets("Hoja2").Select

Range("A:AMC").Select

Selection.HorizontalAlignment = xlCenter

'Genera un listado con el 50% de los clientes mas proximos

x = UserForm1.TextBox3.Value

a = WorksheetFunction.RoundUp(x / 2, 0)

Page 61: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

61

For x = 1 To a

Cells(53, 514 + x).Value = "=SMALL(RC[" & -499 - x & "]:RC[" & -

500 + UserForm1.TextBox3.Value - x & "]," & x & ")"

Next x

ActiveWorkbook.Save

ITERACIONES = UserForm1.TextBox6.Value

'Se realizan las iteraciones

For Z = 1 To ITERACIONES

Sheets("Hoja2").Select

For Y = 1 To 500

For x = 1 To UserForm1.TextBox3.Value

Cells(58 + Y, 14 + x) =

Application.WorksheetFunction.VLookup(Application.Workshe

etFunction.RandBetween(-2, -1), Range("N53:ST54"), 1 + x,

0)

Next x

Next Y

x = UserForm1.TextBox3.Value

a = WorksheetFunction.RoundUp(x / 2, 0)

For Y = 1 To 100

For x = 1 To UserForm1.TextBox3.Value

On Error Resume Next

For j = 1 To a

If Cells(53, 14 + x) = Cells(53, 514 + j) Then

Cells(458 + Y, 14 + x) = Cells(53, 14 + x)

End If

Next j

Next x

Next Y

'Toma 2 soluciones aleatoriamente de las 500 iteraciones

Cells(Application.WorksheetFunction.RandBetween(1, 400) + 58,

15).Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

Sheets("Hoja5").Select

Range("B65536").End(xlUp).Offset(1, 0).Select

ActiveSheet.Paste

Selection.Paste

Sheets("Hoja2").Select

Cells(Application.WorksheetFunction.RandBetween(401, 500) + 58,

15).Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

Sheets("Hoja5").Select

Range("B65536").End(xlUp).Offset(1, 0).Select

ActiveSheet.Paste

Selection.Paste

Application.CutCopyMode = False

Next Z

Page 62: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

62

El programa ordena las soluciones en forma ascendente de acuerdo a la distancia total. A partir de estas soluciones se genera la lista restringida de candidatos

(RCL) según el valor de seleccionado al ingresar los datos de entrada del problema. La RCL estará conformada por las soluciones cuya distancia total no supere el umbral generado por la siguiente relación:

𝑐𝑚𝑖𝑛 + 𝛼(𝑐𝑚𝑎𝑥 − 𝑐𝑚𝑖𝑛) [14]

Figura 18. RCL del programa de ruteo

Fuente: Elaboración propia, 2016

El código para generar la RCL es el siguiente: 'Se Calcula RCL

Sheets("Hoja4").Select

a = UserForm1.TextBox4.Value

RCL = Application.WorksheetFunction.RoundUp(1 +

(Sheets("Hoja4").Cells(52, 1).Value - 1) * a, 0)

Cells(53, 1).Value = RCL

Range(Cells(2, 1), Cells(1 + RCL, 1)).Select

Selection.Copy

Sheets("Hoja6").Select

Range("B2").Select

ActiveSheet.Paste

Selection.Paste

For Z = 1 To RCL

Cells(1 + Z, 1) = -Z

Next Z

For Y = 1 To RCL

For x = 1 To UserForm1.TextBox3.Value

Cells(1 + Y, 2 + x) =

Application.WorksheetFunction.VLookup(Cells(1 + Y, 2),

Sheets("Hoja4").Range("C2:SI1002"), 1 + x, 0)

Next x

Page 63: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

63

Next Y

For Y = 1 To 100

For x = 1 To UserForm1.TextBox3.Value

Cells(52 + Y, 2 + x) =

Application.WorksheetFunction.VLookup(Application.WorksheetF

unction.RandBetween(-RCL, -1), Range("A2:SH51"), 2 + x, 0)

Next x

Next Y

For Y = 1 To 100

Cells(52 + Y, 2) =

Application.WorksheetFunction.Sum(Range(Cells(52 + Y, 3),

Cells(52 + Y, 502)))

Next Y

De la lista restringida de candidatos se escoge aleatoriamente una solución con la cual el programa ejecuta el algoritmo de mejora. Para ello, se realiza una combinación entre la solución obtenida aleatoriamente y las demás soluciones de la RCL con el fin de encontrar posibles soluciones más cortas. Este proceso genera 100 soluciones, de las cuales se escoge la de menor distancia total.

Figura 19. Soluciones del proceso de mejora en GRASP

Fuente: Elaboración propia, 2016

El programa consolida la solución con los primeros k-ésimos y las mejores soluciones obtenidas con el proceso de construcción y de mejora, así como las soluciones de la lista restringida de candidatos.

Page 64: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

64

Figura 20. Top 3 soluciones del proceso de mejora en GRASP

Fuente: Elaboración propia, 2016

Estas soluciones se someten a la evaluación de capacidad y demanda para determinar su cumplimiento y así establecer la solución que se tendrá en cuenta para generar los clústeres.

Figura 21. Evaluación de capacidad y demanda para las soluciones GRASP

Fuente: Elaboración propia, 2016

El código para el proceso de mejora se describe a continuación: 'Encuentra el 1-esimo menor en el proceso de mejora del RCL

Cells(154, 1).Value = "Mejora RCL"

Cells(154, 2).Value =

Application.WorksheetFunction.Small(Range("A53:A152"), 1)

'Encuentra las distancias de cada cliente del 1-esimo menor

For x = 1 To UserForm1.TextBox3.Value

Page 65: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

65

Cells(154, 2 + x) =

Application.WorksheetFunction.VLookup(Cells(154, 2),

Range("B52:SH152"), 1 + x, 0)

Next x

'La solucion con el menor de las iteraciones

Cells(155, 1).Value = "1° iteraciones"

Sheets("Hoja6").Select

Range("B2").Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

Range("B155").Select

ActiveSheet.Paste

Selection.Paste

'La solucion con todos los 1-esimos menor

Cells(156, 1).Value = "1-esimo"

Sheets("Hoja2").Select

Range("O53").Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

Sheets("Hoja6").Select

Range("C156").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,

SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

Cells(156, 2) = Application.WorksheetFunction.Sum(Range(Cells(156,

3), Cells(156, 502)))

'Calcula la mejor opcion del top3

Cells(158, 2) =

Application.WorksheetFunction.Small(Range("B154:B156"), 1)

For x = 1 To UserForm1.TextBox3.Value

Cells(158, 2 + x) =

Application.WorksheetFunction.VLookup(Cells(158, 2),

Range("B154:SH156"), 1 + x, 0)

Next x

'Evaluacion de restricción de capacidad

If UserForm1.CheckBox1 = True Then

Sheets("Hoja8").Select

Range("B2:SG54").Select

Selection.Copy

Sheets("Hoja9").Select

Range("E2").Select

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,

SkipBlanks:= _

False, Transpose:=True

'Validacion de la solucion que cumple la restricción y es mas corta

Sheets("Hoja9").Select

For x = 1 To 50

If Cells(503, 166).Value = x Then

Page 66: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

66

Sheets("Hoja9").Select

Cells(1, x + 4).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Sheets("Hoja11").Select

Range("C1").Select

ActiveSheet.Paste

Sheets("Reporte1").Select

Cells(514, 1).Value = x

Sheets("Hoja8").Select

Cells(1, 502).Value = x

End If

Next x

Else

Sheets("Hoja8").Select

Range("B2").Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

Sheets("Hoja11").Select

Range("C2").Select

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,

SkipBlanks:= _False, Transpose:=True

Sheets("Reporte1").Select

Cells(514, 1).Value = 1

Sheets("Hoja8").Select

Cells(1, 502).Value = 1

End If

A partir de la solución escogida por cumplimiento de capacidad y menor distancia, el programa realiza el agrupamiento para determinar qué clientes deben ser atendidos por cada depósito.

Figura 22. Proceso de agrupamiento en GRASP.

Fuente: Elaboración propia, 2016

Page 67: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

67

El código para el proceso de agrupamiento final es el siguiente: 'Agrupamiento Cluster

Sheets("Hoja11").Select

For Y = 1 To UserForm1.TextBox3.Value

For x = 1 To UserForm1.TextBox2.Value

Cells(1 + Y, 3 + x) = "=IF(R[" & 1 - Y & "]C[" & -x & "]:R["

& UserForm1.TextBox3.Value - Y & "]C[" & -x & "]=R[" & -Y + x

& "]C[" & -1 - x & "],ROW(RC[" & -2 - x & "])-1,"""")"

Next x

Next Y

'Se agrupan los cluster

Range("C65536").End(xlUp).Select

For Y = 1 To UserForm1.TextBox3.Value

For x = 0 To UserForm1.TextBox2.Value - 1

ActiveCell.Offset(1, x + 1) =

Application.WorksheetFunction.Count(Range(Cells(2, 4 + x),

Cells(UserForm1.TextBox3.Value + 1, 4 + x)))

Next x

Next Y

'Se agrupan los clientes de menor a mayor

Range("C65536").End(xlUp).Select

For x = 0 To UserForm1.TextBox2.Value - 1

For Y = 1 To Cells(UserForm1.TextBox3.Value + 2, 4 + x)

ActiveCell.Offset(Y + 1, x + 1) = "=SMALL(R[" & -

UserForm1.TextBox3.Value - Y & "]C:R[" & -Y - 1 & "]C,(R[" &

-Y & "]C)/(R[" & -Y & "]C)+" & Y - 1 & ")"

Next Y

Next x

Range("C65536").End(xlUp).Select

Range(ActiveCell.Offset(1, 1), Cells(800, 53)).Select

Selection.Copy

ActiveSheet.Paste

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,

SkipBlanks _

:=False, Transpose:=False

'Etiqueta Depósito

Range("C65536").End(xlUp).Select

For x = 0 To UserForm1.TextBox2.Value - 1

ActiveCell.Offset(1, x + 1) = "Depósito " & x + 1 & ""

Next x

En este punto el programa permite generar un reporte en PDF con el agrupamiento que se considera óptimo según los criterios de capacidad y distancia, así como las tres primeras alternativas por distancia y su cumplimiento en restricciones de capacidad.

Page 68: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

68

Figura 23. Reporte del proceso de agrupamiento en GRASP

Fuente: Elaboración propia, 2016

Adicionalmente, se genera un reporte con la consolidación de los respectivos clústeres según el número de depósitos y los clientes asignados ordenados de forma ascendente.

Figura 24. Consolidación de los clústeres en GRASP.

Fuente: Elaboración propia, 2016

El programa genera un mensaje de confirmación y muestra en un gráfico la ubicación geográfica de los depósitos y clientes a partir de las coordenadas definidas inicialmente.

Page 69: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

69

Figura 25. Agrupamientos generados en la primera fase GRASP

Fuente: Elaboración propia, 2016

Desde este punto el programa inicia el proceso de ruteo solicitando la capacidad de los vehículos para generar las rutas.

Figura 26. Interfaz restricción de capacidad de los vehículos.

Fuente: Elaboración propia, 2016

Al ingresar la capacidad de los vehículos, el programa ejecuta el algoritmo de ruteo generando por cada depósito la matriz simétrica de distancias a los clientes de su cluster.

Page 70: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

70

Figura 27. Matriz de distancias para el proceso de ruteo con Búsqueda Tabú

Fuente: Elaboración propia, 2016

A partir de las distancias se aplica el algoritmo del vecino más cercano con el fin de generar la solución inicial para el proceso de ruteo.

Figura 28. Vector inicial para el proceso de ruteo con Búsqueda Tabú

Fuente: Elaboración propia, 2016

El código del proceso del vecino mas cercano se presenta a continuación: 'VECTOR INICIAL VECINO MAS CERCANO

'Listado de referencia para formula Coincidir de clientes

For Z = 0 To Cells(1, 4).Value

Cells(2 + Z, 101) = Z + 1

Next Z

For Z = 0 To Cells(1, 4).Value

Cells(2 + Z, 103) = Z + 2

Next Z

Page 71: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

71

'Formula 1-esimo menor de cada cliente u operador logistico del cluster

en cada pag

For Z = 0 To Cells(1, 4).Value

Cells(2 + Z, 104) = "=SMALL(R[" & j & "]C107:R[" & j & "]C[" &

Cells(1, 4).Value + 2 & "],1)"

Next Z

Range(Cells(1, 5), Cells(1, 6)) = "Depósito " & x + 1 & ""

'Eliminar la columna de Deposito

Range("DB1").Select

Range(Selection, Selection.End(xlDown)).Clear

For Z = 0 To Cells(1, 4).Value

If Z < Cells(1, 4).Value Then

If Z = 0 Then

'Funcion Coincidir

Cells(2 + Z, 5) =

Application.WorksheetFunction.Match(Cells(2 + Z, 104),

Range(Cells(2 + Z, 106 + Cells(1, 4).Value), Cells(2 +

Z, 106)), 0)

End If

'Funcion BuscarV

Cells(2 + Z, 6) = "=VLOOKUP(RC[-1],R2C101:R[" & Cells(1,

4).Value - Z & "]C[96],2,0)"

'Determina la fila del ultimo cliente en la ruta

Cells(2 + Z, 7) =

Application.WorksheetFunction.VLookup(Cells(2 + Z, 6),

Range("CX2:CY500"), 2, 0)

'Funcion Coincidir

Cells(3 + Z, 5) =

Application.WorksheetFunction.Match(Cells(Cells(2 + Z,

7).Value, 104), Range(Cells(Cells(2 + Z, 7).Value, 106),

Cells(Cells(2 + Z, 7).Value, Cells(1, 4).Value + 106)), 0)

'Copiar y Pegar el primer valor

Cells(2 + Z, 6).Select

Selection.Copy

Cells(2 + Z, 6).Select

ActiveSheet.Paste

Selection.PasteSpecial Paste:=xlPasteValues,

Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Cells(2 + Z, 6).Select

Selection.Copy

Range(Cells(1, 106), Cells(1, 106 + Cells(1, 4))).Select

Page 72: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

72

Selection.Find(What:=Cells(2 + Z, 6).Value,

After:=ActiveCell, LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,

MatchCase:= _False, SearchFormat:=False).Activate

ActiveCell.Select

Range(Selection, Selection.End(xlDown)).Clear

Else

'Funcion Coincidir

Cells(2 + Z, 5) = "=MATCH(RC[99],RC[102]:RC[" & Cells(1,

4).Value + 101 & "],0)+1"

'Funcion BuscarV

Cells(2 + Z, 6) = "=VLOOKUP(RC[-1],R2C101:R[" & Cells(1,

4).Value - Z & "]C[96],2,0)"

'Copiar y Pegar el primer valor

Cells(2 + Z, 6).Select

Selection.Copy

Cells(2 + Z, 6).Select

ActiveSheet.Paste

Selection.PasteSpecial Paste:=xlPasteValues,

Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

End If

Next Z

Con el vector generado, el programa ejecuta el proceso de inserción e intercambio creando soluciones aleatorias, de las cuales se escogen las 5 con la menor distancia total recorrida.

Figura 29. Vectores generados con las estrategias de vecindad

Fuente: Elaboración propia, 2016

A continuación se describe el código con la estrategia de inserción que se aplica iterativamente para desarrollar el proceso de intensificación: Sub capacidad()

Page 73: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

73

For j = 1 To UserForm1.TextBox7.Value 'Segun las repeticiones desde 1-30

Cells(1, 6).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Range("A500").Select

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,

SkipBlanks:= _

False, Transpose:=True

repeticiones = 200

Range(Cells(500, 1), Cells(499 + repeticiones, Cells(1, 4).Value +

2)).Select

Application.CutCopyMode = False

Selection.FillDown

For i = 1 To repeticiones

On Error Resume Next

a = Application.WorksheetFunction.RandBetween(2, Cells(1,

4).Value + 1)

b = Application.WorksheetFunction.RandBetween(2, Cells(1,

4).Value + 1)

Cells(499 + i, a).Cut

Cells(499 + i, b).Insert Shift:=xlToRight

Next i

For x = 1 To repeticiones

For Y = 1 To Cells(1, 4).Value + 2

Cells(999 + x, Y) =

Application.WorksheetFunction.VLookup(Cells(499 + x, Y),

Range("CX2:CY500"), 2, 0)

Next Y

Next x

For Y = 1 To repeticiones

For x = 1 To Cells(1, 4).Value + 1

Range(Cells(1, 106), Cells(1, 106 + Cells(1, 4))).Select

Selection.Find(What:=Cells(499 + Y, x).Value,

After:=ActiveCell, LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,

MatchCase:= _

False, SearchFormat:=False).Activate

ActiveCell.Offset(Cells(999 + Y, x + 1), 0).Select

Selection.Copy

Cells(1499 + Y, x).Select

ActiveSheet.Paste

Next x

Next Y

For Y = 1 To repeticiones

For x = 1 To Cells(1, 4).Value + 1

Range(Cells(1, 106), Cells(1, 106 + Cells(1, 4))).Select

Page 74: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

74

Selection.Find(What:=Cells(499 + Y, x).Value,

After:=ActiveCell, LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,

MatchCase:= _

False, SearchFormat:=False).Activate

ActiveCell.Offset(Cells(999 + Y, x + 1), 0).Select

Selection.Copy

Cells(1499 + Y, x).Select

ActiveSheet.Paste

Next x

Next Y

For x = 1 To repeticiones

Cells(1499 + x, Cells(1, 4).Value + 2) =

Application.WorksheetFunction.Sum(Range(Cells(1499 + x, 1),

Cells(1499 + x, Cells(1, 4).Value + 1)))

Next x

'Se obtienen las cinco mejores soluciones (lista tabu)

For x = 1 To 5

Cells(1498, x) =

Application.WorksheetFunction.Small(Range(Cells(1500, 2 +

Cells(1, 4).Value), Cells(1499 + repeticiones, 2 + Cells(1,

4).Value)), x)

Next x

For x = 1 To 5

Range(Cells(1500, Cells(1, 4).Value + 2), Cells(1499 +

repeticiones, Cells(1, 4).Value + 2)).Select

Selection.Find(What:=Cells(1498, x).Value, After:=ActiveCell,

LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,

MatchCase:= _

False, SearchFormat:=False).Activate

ActiveCell.Select

Range(Selection, Selection.End(xlToLeft)).Select

Selection.Copy

Cells(2, x * 2 + 11).Select

Cells(1, 2 * x + 11) = "Dist.Ruta"

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,

SkipBlanks:= _

False, Transpose:=True

Range(Cells(1500, Cells(1, 4).Value + 2), Cells(1499 +

repeticiones, Cells(1, 4).Value + 2)).Select

Selection.Find(What:=Cells(1498, x).Value, After:=ActiveCell,

LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,

MatchCase:= _

False, SearchFormat:=False).Activate

ActiveCell.Offset(-1000, 0).Select

Range(Selection, Selection.End(xlToLeft)).Select

Selection.Copy

Cells(1, x * 2 + 10).Select

Page 75: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

75

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,

SkipBlanks:= _

False, Transpose:=True

Next x

De las 5 soluciones de la lista tabú se escoge el vector con la menor distancia total que cumpla con la capacidad de los vehículos. Sobre este vector se aplica el proceso de intensificación repitiendo el algoritmo de inserción e intercambio. Este proceso se realiza el número de iteraciones indicadas en los datos de entrada. 'Si la mejor solucion del listado tabu es mejor que la solucion de

vecindad se reemplaza

If Range("M400").End(xlUp).Value < Range("G400").End(xlUp).Value

And Cells(1, 29).Value = 0 Then

Range("M400").End(xlUp).Select

Range(Range("M400").End(xlUp), Selection.End(xlUp)).Select

Range(Selection, Selection.Offset(0, -1)).Select

Selection.Copy

Range("F1").Select

ActiveSheet.Paste

ElseIf Range("O400").End(xlUp).Value <

Range("G400").End(xlUp).Value And Cells(1, 32).Value = 0 Then

Range("O400").End(xlUp).Select

Range(Range("O400").End(xlUp), Selection.End(xlUp)).Select

Range(Selection, Selection.Offset(0, -1)).Select

Selection.Copy

Range("F1").Select

ActiveSheet.Paste

ElseIf Range("Q400").End(xlUp).Value <

Range("G400").End(xlUp).Value And Cells(1, 35).Value = 0 Then

Range("Q400").End(xlUp).Select

Range(Range("Q400").End(xlUp), Selection.End(xlUp)).Select

Range(Selection, Selection.Offset(0, -1)).Select

Selection.Copy

Range("F1").Select

ActiveSheet.Paste

ElseIf Range("S400").End(xlUp).Value <

Range("G400").End(xlUp).Value And Cells(1, 38).Value = 0 Then

Range("S400").End(xlUp).Select

Range(Range("S400").End(xlUp), Selection.End(xlUp)).Select

Range(Selection, Selection.Offset(0, -1)).Select

Selection.Copy

Range("F1").Select

ActiveSheet.Paste

ElseIf Range("U400").End(xlUp).Value <

Range("G400").End(xlUp).Value And Cells(1, 41).Value = 0 Then

Range("U400").End(xlUp).Select

Range(Range("U400").End(xlUp), Selection.End(xlUp)).Select

Range(Selection, Selection.Offset(0, -1)).Select

Selection.Copy

Range("F1").Select

ActiveSheet.Paste

End If

Page 76: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

76

Next j

Cells(1, 7).Select

End Sub

Figura 30. Soluciones de la Lista Tabú

Fuente: Elaboración propia, 2016

Cuando el proceso termina, el programa toma el mejor vector, y de acuerdo a la capacidad de los vehículos genera las rutas para cada depósito.

Figura 31. Generación de rutas para cada depósito con Búsqueda Tabú

Fuente: Elaboración propia, 2016

Finalmente, el programa genera un reporte en PDF y una gráfica con las rutas para cada uno de los depósitos. En el reporte se indica la distancia recorrida y la demanda satisfecha por cada una de las rutas.

Page 77: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

77

Figura 32. Reporte final de rutas para cada depósito

Fuente: Elaboración propia, 2016

Figura 33. Rutas finales para cada depósito

Fuente: Elaboración propia, 2016

596,6369916 Distancia 15 10/07/1621:03

Cluster1:

Ruta1 Depósito1 7 18 Depósito1

Distancia 97,06875319 14,03566885 34,525353 48,50773134

Demanda 9 6 3

Cluster2:

Ruta1 Depósito2 4 12 Depósito2

Distancia 51,94619266 10,04987562 16,40121947 25,49509757

Demanda 11 5 6

Cluster3:

Ruta1 Depósito3 13 8 11 Depósito3

Distancia 81,17428982 13,03840481 15,26433752 21,47091055 31,40063694

Demanda 15 4 5 6

Cluster4:

Ruta1 Depósito4 14 2 Depósito4

Distancia 71,03454763 5,830951895 31,144823 34,05877273

Demanda 11 6 5

Ruta2 Depósito4 17 6 16 Depósito4

Distancia 152,1642324 63,0634601 13,03840481 6,708203932 69,35416354

Demanda 13 4 5 4

Cluster5:

Ruta1 Depósito5 10 Depósito5

Distancia 18,11077028 9,055385138 9,055385138

Demanda 4 4

Ruta2 Depósito5 15 9 3 Depósito5

Distancia 50,24422726 9,433981132 16,55294536 3,16227766 21,09502311

Demanda 14 3 5 6

Ruta3 Depósito5 5 1 Depósito5

Distancia 74,8939784 16,03121954 22,627417 36,23534186

Demanda 10 5 5

REPORTERUTAS/CLUSTERPROBLEMARUTEO-MDVRP

LímitedeCapacidadporVehículoDistanciaTotaldelProblema

Page 78: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

78

4. RESULTADOS DE LA INVESTIGACIÓN

Con el fin de validar la metodología propuesta Grasp Clustering & Tabu Routing -GC & TR- se evaluaron casos de prueba de la literatura especializada, a partir de los cuales se mide la eficiencia computacional y la precisión que tiene el algoritmo para obtener resultados de buena calidad. La variable que se utilizó como punto comparativo con los resultados propuestos por diversos investigadores, es la función objetivo obtenida en las corridas del algoritmo que busca minimizar las distancias totales recorridas por todos los vehículos. A partir de esta comparación se obtiene el GAP, el cual es la diferencia porcentual que existe entre el valor de la función objetivo de la mejor solución conocida y la solución del algoritmo propuesto. Los resultados de la metodología propuesta fueron probados con instancias del problema de ruteo de vehículos Multi-depósito disponibles en las librerías de la literatura especializada. El conjunto completo del benchmark contiene 33 instancias que fueron diseñadas por diferentes autores. Las instancias 1 al 7 fueron creadas por Christofides y Eilon (Christofides & Eilon, 1969), las instancias 8 al 11 se han descrito en Gillett y Johnson (Gillett & Johnson, 1976) y las instancias 12 al 23 fueron propuestas por Chao, et al (Chao, Golden, & Wasil, 1993). Finalmente, las instancias 24 a la 33 fueron propuestas por Cordeau, et al (Cordeau, Gendreau, & Laporte, 1997). Las instancias de este grupo cuentan con su valor óptimo global encontrado, en su mayoría, a partir de la implementación de la heurística de Búsqueda Tabú propuesta por Cordeau, Gendreau y Laporte -CGL- para resolver tres importantes variantes del VRP: PVRP, PTSP y MDVRP (Cordeau, Gendreau, & Laporte, 1997); otras instancias de este grupo encuentran su óptimo global con la heurística de Búsqueda Tabú propuesta por Renaud, Laporte y Boctor -RLB- para resolver el MDVRP (Renaud, Laporte, & Boctor, 1996) y con la heurística de Chao, Golden y Wasil -CGW- para resolver el MDVRP (Chao, Golden, & Wasil, 1993). La descripción de los archivos con los casos de prueba del MDVRP diseñados por Cordeau, se puede encontrar en la página web del Grupo de Investigación NEO (Networking and Emerging Optimization Research Group) de la Universidad de Málaga (España), disponible en http://neo.lcc.uma.es/vrp/vrp-instances/multiple-depot-vrp-instances/ La nomenclatura de las instancias diseñadas por Cordeau (Cordeau J. F., 2013) se describe de la siguiente manera:

Page 79: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

79

En la primera fila se encuentra la siguiente información: tipo m n t tipo: 2 correspondiente al MDVRP m: número de vehículos n: número de clientes t: número de depósitos Las siguientes filas contienen, por cada depósito, la siguiente información: D: duración máxima de la ruta Q: carga máxima de un vehículo Las siguientes filas contienen, por cada cliente, la siguiente información: i x y d q i: número del cliente x: coordenada x y: coordenada y d: duración del servicio q: demanda A continuación, se presenta el desarrollo de la instancia p01 aplicando el procedimiento híbrido propuesto (GC & TR). El caso de prueba incluye 4 depósitos, 50 clientes, 4 vehículos disponibles por depósito y una carga máxima de 80 por cada vehículo. La información de entrada para esta instancia, de acuerdo a la nomenclatura descrita, se muestra en la siguiente tabla:

Page 80: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

80

Tabla 8. Información de entrada instancia p01 Fuente: Elaboración propia, 2016

2 4 50 4

0 80

0 80

0 80

0 80

1 37 52 0 7

2 49 49 0 30

3 52 64 0 16

4 20 26 0 9

5 40 30 0 21

6 21 47 0 15

7 17 63 0 19

8 31 62 0 23

9 52 33 0 11

10 51 21 0 5

11 42 41 0 19

12 31 32 0 29

13 5 25 0 23

14 12 42 0 21

15 36 16 0 10

16 52 41 0 15

17 27 23 0 3

18 17 33 0 41

19 13 13 0 9

20 57 58 0 28

21 62 42 0 8

22 42 57 0 8

23 16 57 0 16

24 8 52 0 10

25 7 38 0 28

26 27 68 0 7

27 30 48 0 15

28 43 67 0 14

29 58 48 0 6

30 58 27 0 19

31 37 69 0 11

32 38 46 0 12

33 46 10 0 23

34 61 33 0 26

35 62 63 0 17

36 63 69 0 6

37 32 22 0 9

38 45 35 0 15

39 59 15 0 14

40 5 6 0 7

41 10 17 0 27

42 21 10 0 13

43 5 64 0 11

44 30 15 0 16

45 39 10 0 10

46 32 39 0 5

47 25 32 0 25

48 25 55 0 17

49 48 28 0 18

50 56 37 0 10

51 20 20 0 0

52 30 40 0 0

53 50 30 0 0

54 60 50 0 0

Page 81: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

81

Los resultados obtenidos con GC & TR son los siguientes:

Tabla 9. Resultados del caso de prueba p01 aplicando GC & TR. Fuente: Elaboración propia, 2016

F.O. 613,2706

Ruta1: Depósito1 17 37 15 45 44 Depósito1

Distancia 48,1101 7,6158 5,0990 7,2111 6,7082 10,2956 11,1803

Demanda 48 3 9 10 10 16

Ruta2: Depósito1 42 19 40 41 13 Depósito1

Distancia 66,5524 10,0499 8,5440 10,6301 12,0830 9,4340 15,8114

Demanda 79 13 9 7 27 23

Ruta3: Depósito1 4 18 25 Depósito1

Distancia 46,9997 6,0000 7,6158 11,1803 22,2036

Demanda 78 9 41 28

Ruta1: Depósito2 12 47 Depósito2

Distancia 23,4962 8,0623 6,0000 9,4340

Demanda 54 29 25

Ruta2: Depósito2 27 1 32 11 46 Depósito2

Distancia 40,9823 8,0000 8,0623 6,0828 6,4031 10,1980 2,2361

Demanda 58 15 7 12 19 5

Ruta3: Depósito2 8 31 26 7 48 Depósito2

Distancia 79,5976 22,0227 9,2195 10,0499 11,1803 11,3137 15,8114

Demanda 77 23 11 7 19 17

Ruta4: Depósito2 6 23 43 24 14 Depósito2

Distancia 76,8709 11,4018 11,1803 13,0384 12,3693 10,7703 18,1108

Demanda 73 15 16 11 10 21

Ruta1: Depósito3 38 5 49 Depósito3

Distancia 25,2168 7,0711 7,0711 8,2462 2,8284

Demanda 54 15 21 18

Ruta2: Depósito3 16 50 34 9 Depósito3

Distancia 35,8459 11,1803 5,6569 6,4031 9,0000 3,6056

Demanda 62 15 10 26 11

Ruta3: Depósito3 10 33 39 30 Depósito3

Distancia 55,6524 9,0554 12,0830 13,9284 12,0416 8,5440

Demanda 61 5 23 14 19

Ruta1: Depósito4 21 2 22 28 3 Depósito4

Distancia 69,3024 8,2462 14,7648 10,6301 10,0499 9,4868 16,1245

Demanda 76 8 30 8 14 16

Ruta2: Depósito4 29 20 36 35 Depósito4

Distancia 44,6440 2,8284 10,0499 12,5300 6,0828 13,1529

Demanda 57 6 28 6 17

Clúster1

Clúster2

Clúster3

Clúster4

Page 82: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

82

La representación gráfica de las rutas es la siguiente:

Figura 34. Rutas finales de la instancia p01 aplicando GC & TR

Fuente: Elaboración propia, 2016 Para comparar estos resultados se muestra en la siguiente tabla la mejor solución conocida para el caso de prueba p01, la cual está disponible en las librerías de Cordeau:

Tabla 10. Mejor solución conocida de la instancia p01 Fuente: Elaboración propia, 2016

576.87

1 1 60.06 71 0 44 45 33 15 37 17 0

1 2 66.55 79 0 42 19 40 41 13 0

1 3 47.00 78 0 25 18 4 0

2 1 53.44 73 0 6 27 1 32 11 46 0

2 2 79.47 80 0 48 8 26 31 28 22 0

2 3 81.40 77 0 23 7 43 24 14 0

2 4 23.50 54 0 12 47 0

3 1 50.41 75 0 9 34 30 39 10 0

3 2 25.22 54 0 49 5 38 0

4 1 47.67 67 0 35 36 3 20 0

4 2 42.14 69 0 21 50 16 2 29 0

Page 83: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

83

La primera fila contiene la distancia total o valor de la función objetivo. Las siguientes filas contienen, por cada ruta, la siguiente información: l k d q list l: número del depósito k: número del vehículo d: distancia de la ruta q: carga del vehículo list: secuencia ordenada de los clientes Los resultados muestran que el algoritmo desarrollado (GC & TR) se aproxima con un porcentaje de error del 6,3% a la mejor solución conocida, lo cual indica que la metodología propuesta es apropiada para solucionar problemas de distribución MDVRP propios de las empresas de transporte de carga por carretera. A continuación, se presenta el benchmark con las tablas que contienen de manera general los resultados obtenidos después de ejecutar los algoritmos desarrollados para la aplicación de la metaheurística híbrida propuesta Grasp Clustering & Tabu Routing. En el desarrollo del benchmark se realizaron 10 corridas para cada caso de prueba, obteniendo el menor valor de distancia total como función objetivo. Las tablas que se presentan cuentan con información adicional para la comprensión e interpretación de los resultados, tales como el nombre de la instancia tratada, el número de iteraciones realizadas para dicho cálculo, el número de depósitos y de clientes de la instancia, la capacidad de los vehículos y la metodología utilizada por los autores para encontrar la mejor solución conocida. 4.1 Resultados en las Instancias de Christofides y Eilon (1969) Un total de 7 instancias del MDVRP, creadas por Christofides y Eilon en los problemas 8, 9 y 10 para resolver el problema de despacho de vehículos (Christofides & Eilon, 1969), fueron documentadas para este trabajo. La mejor solución conocida (best-known solution – BKS) para cada instancia de este grupo fue encontrada, en su gran mayoría, con la metodología CGL (Cordeau, Gendreau y Laporte) y otras con la metodología CGW (Chao, Golden y Wasil) y RLB (Renaud, Laporte y Boctor) A continuación, se muestran los resultados de la mejor solución conocida y el algoritmo propuesto, así como su diferencia porcentual o error relativo (GAP).

Page 84: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

84

Tabla 11. Resultados del Benchmark de Christofides y Eilon Fuente: Elaboración propia, 2016

Estos resultados demuestran la efectividad del algoritmo propuesto, ya que generan soluciones de buena calidad para todas las instancias con diferencias (GAP) menores al 9%. 4.2 Resultados en las Instancias de Guillett y Johnson (1976) Un total de 4 instancias del MDVRP, descritas por Guillett y Johnson para resolver el problema de despacho de vehículos de terminales múltiples (Gillett & Johnson, 1976), fueron documentadas para este trabajo. La mejor solución conocida para cada instancia de este grupo fue encontrada con la metodología CGL (Cordeau, Gendreau y Laporte). A continuación, se muestran los resultados de la mejor solución conocida y el algoritmo propuesto, así como su diferencia porcentual (GAP).

Tabla 12. Resultados del Benchmark de Gillett y Johnson Fuente: Elaboración propia, 2016

Para estos resultados se evidencian buenas soluciones que tienen un GAP por debajo del 10%.

InstanciaNúmerode

depósitos

Númerode

clientes

Capacidadde

losvehículos

Mejor

Solución

Conocida

Metodología

Solución

propuesta

GC&TR

GAP

p01 4 50 80 576,87 CGL-RLB 613,27 0,0631

p02 4 50 160 473,53 CGL 502,14 0,0604

p03 5 75 140 641,19 CGW 691,46 0,0784

p04 2 100 100 1001,59 CGL 1087,98 0,0863

p05 2 100 200 750,03 CGL 805,43 0,0739

p06 3 100 100 876,5 RLB 947,12 0,0806

p07 4 100 100 885,8 CGL 958,27 0,0818

InstanciaNúmerode

depósitos

Númerode

clientes

Capacidadde

losvehículos

Mejor

Solución

Conocida

Metodología

Solución

propuesta

GC&TR

GAP

p08 2 249 500 4437,68 CGL 4799,43 0,0815

p09 3 249 500 3900,22 CGL 4253,9 0,0907

p10 4 249 500 3663,02 CGL 3967,02 0,0830

p11 5 249 500 3554,18 CGL 3823,54 0,0758

Page 85: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

85

4.3 Resultados en las Instancias de Chao, et al (1993) Un total de 4 instancias del MDVRP, descritas por Chao, et al para resolver el problema de ruteo de vehículos con múltiples depósitos (Chao, Golden, & Wasil, 1993), fueron documentadas para este trabajo. La mejor solución conocida para cada instancia de este grupo fue encontrada con la metodología CGL (Cordeau, Gendreau y Laporte) o con la metodología RLB (Renaud, Laporte y Boctor) A continuación, se muestran los resultados de la mejor solución conocida y el algoritmo propuesto, así como su diferencia porcentual (GAP).

Tabla 13. Resultados del Benchmark de Chao, Golden y Wasil. Fuente: Elaboración propia, 2016

Al igual que en los resultados de las instancias anteriores, en estas instancias se evidencian buenas soluciones con un GAP inferior al 10%. 4.4 Resultados en las Instancias de Cordeau, et al (1997) Un total de 10 instancias del MDVRP, descritas por Cordeau, et al para resolver el problema de ruteo de vehículos con múltiples depósitos (Cordeau, Gendreau, & Laporte, 1997) fueron documentadas para este trabajo. La mejor solución conocida para cada instancia de este grupo fue encontrada con la metodología CGL (Cordeau, Gendreau y Laporte) propuesta por los mismos autores A continuación, se muestran los resultados de la mejor solución conocida y el algoritmo propuesto, así como su diferencia porcentual (GAP).

InstanciaNúmerode

depósitos

Númerode

clientes

Capacidadde

losvehículos

Mejor

Solución

Conocida

Metodología

Solución

propuesta

GC&TR

GAP

p12 2 80 60 1318,95 CGL-RLB 1423,45 0,0792

p15 4 160 60 2505,42 CGL 2713,2 0,0829

p18 6 240 60 3702,85 CGL 4026,71 0,0875

p21 9 360 60 5474,84 CGL 5985,34 0,0932

Page 86: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

86

Tabla 14. Resultados del Benchmark de Cordeau, Gendreau y Laporte.

Fuente: Elaboración propia, 2016

Estos resultados generan soluciones de buena calidad para todas las instancias del benchmark, con diferencias inferiores al 8%.

InstanciaNúmerode

depósitos

Númerode

clientes

Capacidadde

losvehículos

Mejor

Solución

Conocida

Metodología

Solución

propuesta

GC&TR

GAP

pr01 4 48 200 861,32 CGL 909,26 0,0557

pr02 4 96 195 1307,61 CGL 1398,85 0,0698

pr03 4 144 190 1806,6 CGL 1943,61 0,0758

pr04 4 192 185 2072,52 CGL 2230,93 0,0764

pr05 4 240 180 2385,77 CGL 2574,82 0,0792

pr06 4 288 175 2723,27 CGL 2938,07 0,0789

pr07 6 72 200 1089,56 CGL 1173,54 0,0771

pr08 6 144 190 1666,6 CGL 1797,93 0,0788

pr09 6 216 180 2153,1 CGL 2322,29 0,0786

pr10 6 288 170 2921,85 CGL 3156,05 0,0802

Page 87: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

87

5. CONCLUSIONES

En este trabajo de investigación se desarrolló una metodología de solución de dos fases para resolver el problema de ruteo de vehículos con múltiples depósitos (MDVRP) que enfrentan las empresas distribuidoras de bienes. Esta metodología se propone con el fin de aumentar la eficiencia en la utilización de los recursos de transporte y generar beneficios económicos a las empresas de transporte de carga por carretera. El modelo propuesto de dos fases está basado en una metaheurística híbrida que aplica el procedimiento GRASP para generar los agrupamientos de clientes en la primera fase y el procedimiento de Búsqueda Tabú para generar las rutas de cada clúster en la segunda fase. Esta metodología híbrida fue denominada Grasp Clustering & Tabu Routing (GC & TR). El procedimiento híbrido fue implementado en un programa computacional desarrollado en Visual Basic, el cual permite realizar una serie de acciones sobre las macros de Excel para potenciarlas, brindándoles la interactividad que requieren los procedimientos metaheurísticos. Los resultados obtenidos con la aplicación de la metodología propuesta fueron comparados con instancias del problema de ruteo de vehículos Multi-Depósito disponibles en las librerías de la literatura especializada. Las instancias utilizadas para el benchmark fueron diseñadas por Christofides y Eilon (1969), Gillett y Johnson (1976), Chao, Golden y Wasil (1993) y Cordeau, Gendreau y Laporte (1997). La metodología propuesta resulta ser efectiva, ya que genera soluciones de buena calidad al compararlas con los resultados de casos de prueba propuestos por diversos investigadores. La medida utilizada para comprobar la efectividad de la metodología propuesta es la distancia total a recorrer en las rutas, la cual representa el valor de la función objetivo. Para las instancias seleccionadas de Christofides y Eilon se generan buenas soluciones, las cuales tienen un GAP (error relativo) inferior al 9%. En las instancias probadas de Gillett & Johnson y Chao, Golden & Wasil se evidencian buenas soluciones con un GAP por debajo del 10%. Finalmente, para el benchmark realizado a los casos de prueba propuestos por Cordeau, Gendreau y Laporte se observan soluciones de buena calidad con diferencias menores al 8% en los resultados.

Page 88: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

88

El procedimiento Grasp Clustering & Tabu Routing es susceptible de mejoras con las cuales se logre optimizar los resultados obtenidos. Estas mejoras pueden radicar en la intensificación y diversificación de la búsqueda sobre la solución encontrada a partir de la asignación de clientes de un clúster a otro. Otra propuesta para mejorar el resultado final del algoritmo es aplicar procedimientos de clusterización como el Fuzzy C Means para generar el vector inicial en el proceso de ruteo de cada grupo y así obtener rutas de mejor calidad.

Page 89: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

89

REFERENCIAS BIBLIOGRÁFICAS

Aguado A., A., & Jiménez de V., J. (2013). Optimización de rutas de transporte. Universidad Complutense de Madrid. Madrid, España: E-Prints Complutense.

Anaya Tejero, J. J. (2015). El transporte de mercancías: Enfoque logístico de la distribución (Segunda edición ed.). Madrid, España: ESIC Business Marketing School.

Anaya, J. J. (2009). El Transporte de Mercancías. Enfoque Logístico de la Distribución. Madrid, España: ESIC Editorial.

Ballou, R. H. (2004). Business Logistics: Supply Chain Management. New Jersey: Prentice Hall.

Barán, B., & Hermosilla, A. (2001). Comparación de un Sistema de Colonia de Hormigas y una Estrategia Evolutiva para el Problema del Ruteo de Vehículos con Ventanas de Tiempo en un Contexto Multiobjetivo. San Lorenzo, Paraguay: Centro Nacional de Computación, Universidad Nacional de Asunción.

Berkhin, P. (2006). A survey of clustering data mining techniques. In Grouping Multidimensional Data. Springer Berlin Heidelberg, 25-71.

Bianchi, L., Birattari, M., Chiarandini, M., Manfrin, M., Mastrolilli, M., Paquete, L., & Rossi-Doria, O. (2004). Metaheuristics for the Vehicle Routing Problem with Stochastic Demands. Switzerland: IDSIA, USI-SUPSI.

Bolaños, R. I. (2014). Un algoritmo metaheuristico para la solución del problema de ruteo de vehículos con múltiples depósitos y flota heterogénea. Universidad Tecnológica de Pereira. Pereira, Colombia: Universidad Tecnológica de Pereira.

Bräysy, O., & Gendreau, M. (2002). Vehicle Routing Problem with Time Windows, Part I: Route Construction and Local Search Algorithms. Norway: SINTEF Applied Mathematics, Department of Optimization.

Page 90: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

90

Cano, J., Cordón, O., Herrera, F., & Sánchez, L. (Noviembre de 2002). A GRASP Algorithm for Clustering. Advances in Artificial Intelligence — IBERAMIA 2002, 2527, 214-223.

Chao, I., Golden, B., & Wasil, E. (1993). A new heuristic for the multi-depot vehicle routing problem that improves upon best-known solutions. American Journal of Mathematical and Management Sciences, 13(3), 371–406.

Chen, P., & Xu, X. (Octubre de 2008). A Hybrid Algorithm for Multi-depot Vehicle Routing Problem. Service Operations and Logistics, and Informatics, 2008. IEEE/SOLI 2008., 2, 2031-2034.

Christofides, N., & Eilon, S. (1969). An algorithm for the vehicle-dispatching problem. Operational Research Quarterly, 20(3), 309-318.

Cordeau, J. F. (7 de Enero de 2013). Networking and Emerging Optimization Research Group. (U. d. Málaga, Productor) Recuperado el 11 de enero 2016, de Vehicle Routing Problem: http://neo.lcc.uma.es

Cordeau, J. F., Gendreau, M., & Laporte, G. (1997). A tabu search heuristic for periodic and multi-depot vehicle routing problems. Networks, 30(2), 105–119.

Crevier, B., Cordeau, J.-F., & Laporte, G. (2007). The multi-depot vehicle routing problem with inter-depot routes. European Journal of Operational Research, 176, 756-773.

Daza, J., Montoya, J., & Narducci, F. (Diciembre de 2009). Resolución del problema de enrutamiento de vehículos con limitaciones de capacidad utilizando un procedimiento metaheurístico de dos fases. EIA, 6(12), 23-38.

Delgado, C. (1999). Uso de Conjunto de Concentración en Búsqueda Tabú. Nuevas Soluciones para TSPLIB. Valencia, España: Departamento de Economía Aplicada. Universidad de Burgos.

Díez, J., Navarro, J., & Sala, A. (2001). Algoritmos de Clustering en la Identificación de Modelos Borrosos. XXII Jornadas de Automática, 100-106.

Estrada, M. (2007). Análisis de Estrategias Eficientes en la Logística de Distribución de Paquetería. Barcelona: Tesis Doctoral, Universitat Politècnica de Catalunya.

Page 91: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

91

Francis, P., Smilowitz, K., & Tzur, M. (2005). The Period Vehicle Routing Problem with Service Choice. Chicago, USA: Department of Industrial Engineering and Management Sciences. The University of Chicago.

Geetha, S., Vanathi, P., & Poonthalir, G. (2012). Metaheuristic Approach for the Multi-Depot Vehicle Routing Problem. Applied Artificial Intelligence: An International Journal, 26(9), 878-901.

Gendreau, M., & Potvin, J.-Y. (2010). Tabu Search. En M. Gendreau, & J.-Y. Potvin, Handbook of Metaheuristics (Vol. 146, págs. 41-59). New York: Springer Science.

Gillett, B., & Johnson, J. (1976). Multi-terminal vehicle-dispatch algorithm. Omega, 4(6), 711–718.

Glover, F., & Laguna, M. (1993). Tabu Search in Modern Heuristic Techniques for Combinatorial Problems. Oxford: John Wiley & Sons.

Glover, F., & Laguna, M. (1997). Tabu Search. Norwell, MA, USA: Kluwer Academic Publishers.

Glover, F., Laguna, M., & Martí, R. (2006). Principles of Tabu Search. To appear in Approximation Algorithms and Metaheuristics. Chapman & Hall.

Golden, B. L., Assad, A. A., & Wasil, E. A. (2002). Routing Vehicles in the Real World: Applications in the Solid Waste, Beverage, Food, Dairy, and Newspaper Industries. The Vehicle Routing Problem, 245-286.

González V., G., & González A., F. (Abril de 2007). Metaheurísticas aplicadas al ruteo de vehículos. Un caso de estudio. Parte 2: algoritmo genético, comparación con una solución heurística. Revista Ingeniería e Investigación, 27(1), 149-157.

Gulley, N. J. (2000). Fuzzy Logic Toolbox User’s Guide. Massachusetts: The Math Works Inc.

He, Y., Miao, W., Xie, R., & Shi, Y. (2014). A Tabu Search Algorithm with Variable Cluster Grouping for Multi-depot Vechicle Routing Problem. Proceedings of the 2014 IEEE 18th International Conference on Computer Supported Cooperative Work in Design, 1-6.

Page 92: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

92

Hernández, R., Fernández, C., & Baptista, P. (2006). Metodología de la Investigación. México: McGraw-Hill.

Ho, W., Ho, G. T., Ji, P., & Lau, H. C. (2008). A hybrid genetic algorithm for the multi-depot vehicle routing problem. Engineering Applications of Artificial Intelligence, 21, 548-557.

Hurtado de B, J. (2000). Metodología de la Investigación Holistica. Caracas, Venezuela: SYPAL - IUTC.

Jain, A., Murty, M., & Flynn, P. (1999). Data Clustering: A review. ACM Computer Surveys, 31(3), 264-323.

Lee, C., Epelman, M., Chelsea, C., & Bozer, Y. (2000). A Shortest Path Approach to the Multiple-Vehicle Routing Problem with Split Pick-Ups. Atlanta, GA: 17th International Symposium on Mathematical Programming.

Liu, R., Jiang, Z., & Geng, N. (Marzo de 2012). A hybrid genetic algorithm for the multi-depot open vehicle routing problem. OR Spectrum, 36(2), 401-421.

Luo, J., Li, X., & Chen, M.-R. (Marzo de 2013). Multi-Phase Meta-Heuristic for Multi-Depots Vehicle Routing Problem. Journal of Software Engineering and Applications(6), 82-86.

Medaglia, A. (2005). Combinatoria para Logística., Coloquio en Optimización Combinatoria Sesión Avanzada. Bogotá D.C., Colombia: Universidad de los Andes.

Melián, B., & Glover, F. (2007). Introducción a la Búsqueda Tabú. En E. Crespo, R. Martí, & J. Pachecho, Procedimientos Metaheurísticos en Economía y Empresa. (págs. 29-71). España: Tirant lo Blanch.

Melián, B., Moreno P., J., & Moreno V., J. (2003). Metaheurísticas: una Visión Global. San Cristóbal de La Laguna, Tenerife: Universidad de la Laguna.

Narasimha, K. S., Kivelevitch, E., & Kumar, M. (Junio de 2012). Ant Colony Optimization Technique to Solve the Min-Max Multi Depot Vehicle Routing Problem. American Control Conference, 1-6.

Odette. (2009). Técnicas para la Optimización de Rutas de Transporte y Distribución. Madrid, España: Services, Brain Trust Consulting.

Page 93: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

93

Olivera, A. (2004). Heurísticas para Problemas de Ruteo de Vehículos. Montevideo, Uruguay: Instituto de Computación, Facultad de Ingeniería. Universidad de la República.

Prais, M., & Ribeiro, C. C. (2000). Reactive GRASP: An application to a matrix decomposition problem in TDMA traffic assignment. INFORMS Journal on Computing, 164-176.

Renaud, J., Laporte, G., & Boctor, F. F. (1996). A tabu search heuristic for the multi-depot vehicle routing problem. Computers & Operations Research, 23(3), 229-235.

Resende, M., & Ribeiro, C. (2003). Greedy Randomized Adaptive Search Procedures. Florham Park, USA: Kluwer Academic Publisher.

Riopel, D., Langevin, A., & Campbell, J. F. (2005). The Network of Logistics Decisions. Logistics Systems: Design and Optimization, 1-38.

Rocha, L., González, C., & Orjuela, J. (2011). Una revisión al estado del arte del problema de ruteo de vehículos: Evolución histórica y métodos de solución. Ingeniería, 16(2), 35-55.

Rojas D., J., Chavarro P., J. C., & Moreno L., R. (2008). Tecnicas de lógica difusa aplicadas a la minería de datos. Scientia Et Technica, XIV(40), 1-6.

Soeanu, A., Ray, S., & Debbabi, M. (Agosto de 2011). A Decentralized Heuristic for Multi-Depot Split-Delivery Vehicle Routing Problem. International Conference on Automation and Logistics, 1-6.

Surekha, P., & Sumathi, S. (August de 2011). Solution To Multi-Depot Vehicle Routing Problem Using Genetic Algorithms. World Applied Programming, 1(3), 118-131.

Tan, P.-N., Steinbach, M., & Kumar, V. (2006). Introduction to Data Mining. Boston: Pearson Addison-Wesley.

Tang, K., & Yin, J. y. (Julio de 2010). A Genetic-Based Optimization for Multi-Depot Vehicle Routing Problems. 2010 IEEE International Symposium on Industrial Electronics , 1545-1549.

Page 94: DISEÑO DE UN SISTEMA DE RUTEO DE VEHÍCULOS …repository.udistrital.edu.co/bitstream/11349/3600/1... · 4.2 Resultados en las Instancias de Guillett y Johnson (1976) ... (clústeres)

94

Tansini, L., Urquhart, M., & Viera, O. (2001). Comparing Assignment Algorithms for the Multi-Depot VRP. Montevideo, Uruguay: Dpto. Investigación Operativa, Instituto de Computación, Facultad de Ingeniería, UDELAR.

Toth, P., & Vigo, D. (2002). Vehicle Routing Problem. Philadelphia, USA: Society for Industrial and Applied Mathematics.

Vacic, V., & Sobh, T. (2004). Vehicle Routing Problem with Time Windows. Bridgeport, USA: Department of Computer Science and Engineering, University of Bridgeport.

Vicente, E., Rivera, L., & Mauricio, D. (2005). GRASP en la resolución del problema de Clustering. (U. N. Marcos, Ed.) Revista de investigación de Sistemas e Informática, 2(2), 1-10.

Vidal, T., Crainic, T., Gendreau, M., Lahrichi, N., & Rei, W. (Enero de 2011). A Hybrid Genetic Algorithm for Multi-depot and Periodic Vehicle Routing Problems. CIRRELT, 5, 1-44.

Volkan, A. (2003). A GA Based Meta-Heuristic for the Capacitated Vehicle Routing Problem with Simultaneous Pick-up and Deliveries. İstanbul: Thesis Master. Sabancı University: Faculty of Engineering and Natural Sciences.

Wang, X.-B., Sun, J.-Y., & Ren, C.-Y. (Julio de 2009). Study on Hybrid Heuristic Algorithm for Multi-depot Vehicle Routing Problem with Hybrid Picking-Delivery Strategy. Proceedings of the Eighth International Conference on Machine Learning and Cybernetics, 1-6.