Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
METODOLOGÍA HÍBRIDA PARA RESOLVER EL
PROBLEMA DE RUTEO DE VEHÍCULOS CON
DEPÓSITOS MÚLTIPLES CONSIDERANDO EL
CONSUMO DE COMBUSTIBLE
María Janeth Bravo Montenegro
UNIVERSIDAD TECNOLÓGICA DE PEREIRA
FACULTAD DE INGENIERÍA INDUSTRIAL
MAESTRÍA EN INVESTIGACIÓN OPERATIVA Y ESTADÍSTICA
PEREIRA - RISARALDA
FEBRERO DE 2016
2
METODOLOGÍA HÍBRIDA PARA RESOLVER EL PROBLEMA DE RUTEO DE
VEHÍCULOS CON DEPÓSITOS MÚLTIPLES CONSIDERANDO EL CONSUMO DE
COMBUSTIBLE
PRESENTADO POR:
MARÍA JANETH BRAVO MONTENEGRO
DIRECTORA:
M.Sc. ELIANA MIRLEDY TORO OCAMPO
UNIVERSIDAD TECNOLÓGICA DE PEREIRA
FACULTAD DE INGENIERÍA INDUSTRIAL
MAESTRÍA EN INVESTIGACIÓN OPERATIVA Y ESTADÍSTICA
PEREIRA - RISARALDA
FEBRERO DE 2016
3
ABSTRACT
This project presents the solution of Multi Depot Vehicle Routing Problem (MDVRP)
involving fuel consumption, this problem is considered NP-hard, so it is solved by a hybrid
algorithm that minimizes the costs of distance and fuel consumption, within a reasonable
computational time. Grouping customers and allocation to vessels by applying two
procedures in order to form the initial population, the first procedure is to assign first and
then routed using ellipses, the second is to route first and then assigns solving the
Traveling Salesman Problem (TSP ) for customers. The routes are programmed and
optimized using genetic algorithms. The performance of the algorithm is evaluated by
conducting different runs and comparing the results obtained with the instances designed
by Cordeau found in Networking and Emerging Optimization (NEO), in order to apply the
methodology of solution test case distribution of dairy products company Pasto, where
also considers distance fuel costs. With this research is expected to help optimize product
distribution when you have multiple depots and adopt mechanisms to reduce fuel
consumption in order to achieve better solutions holistically.
Keywords: Multi Depot Vehicle Routing Problem. Heuristic and hybrid algorithms. Genetic
Algorithm. Ellipse. Fuel Consumption.
4
RESUMEN
El presente proyecto aborda la solución del Multi Depot Vehicle Routing Problem
(MDVRP) involucrando el consumo de combustible, este problema es considerado NP-
HARD, por lo cual se resuelve mediante un algoritmo híbrido que permite minimizar los
costos de distancia y consumo de combustible, en un tiempo computacional razonable. La
agrupación de clientes y asignación a los depósitos se realiza aplicando dos
procedimientos con el fin de conformar la población inicial, el primer procedimiento es
asignar primero y rutear después utilizando elipses, el segundo es rutear primero y
asignar después solucionando el Traveling Salesman Problem (TSP) para los clientes.
Las rutas se programan y optimizan utilizando algoritmos genéticos. El rendimiento del
algoritmo se evalúa realizando diferentes corridas y comparando los resultados obtenidos
con las instancias diseñadas por Cordeau encontradas en Networking and Emerging
Optimization (NEO), con el fin de aplicar la metodología de solución al caso de prueba de
distribución de productos lácteos de una empresa de San Juan de Pasto, donde se
considera además de la distancia el costo de combustible. Con la presente investigación
se espera contribuir a la optimización de distribución de productos cuando se dispone de
múltiples depósitos y adoptar mecanismos que permitan reducir el consumo de
combustible con el fin de lograr mejorar las soluciones de forma integral.
Palabras Clave: Problema de Ruteo de Vehículos con Múltiples Depósitos. Heurísticas y
Algoritmos Híbridos. Algoritmo Genético. Elipse. Consumo de Combustible.
5
CONTENIDO
1 ASPECTOS PRELIMINARES ____________________________________ 10
1.1 Introducción _____________________________________________________ 10
1.2 Planteamiento del problema ________________________________________ 11
1.3 Delimitación _____________________________________________________ 13
1.4 Objetivos _______________________________________________________ 14
1.5 Justificación _____________________________________________________ 14
1.6 Diseño metodológico ______________________________________________ 16
2 PROBLEMA DE RUTEO DE VEHÍCULOS CON MÚLTIPLES DEPÓSITOS
CONSIDERANDO EL COSTO DE COMBUSTIBLE ______________________ 19
2.1 Revisión del estado del arte ________________________________________ 19
2.1.1 A Tabu Search Heuristic for the Multi-Depot Vehicle Routing Problem.[9] ________ 19
En este artículo se describe un algoritmo de búsqueda tabú para el problema de ruteo de
vehículos con depósitos múltiples, teniendo en cuenta las restricciones de capacidad y
longitud de ruta. El algoritmo se prueba con un conjunto de 23 casos de referencia. Se
demuestra que ha superado las heurísticas existentes. ________________________________ 19
2.1.2 Solution to Multi-Depot Vehicle Routing Problem Using Genetic Algorithms.[11] __ 20
2.1.3 A Hybrid Genetic Algorithm for the Multi-Depot Vehicle Routing Problem.[12] ____ 20
2.1.4 A new geometric shape-based genetic clustering algorithm for the multi-depot
vehicle routing problem. [13] _______________________________________________________ 21
2.1.5 Implicit depot assignments and rotations in vehicle routing heuristics.[14] ________ 21
2.1.6 The multi-depot vehicle routing problem with inter-depot routes.[15] _____________ 21
2.1.7 The pollution routing problem[6] ____________________________________________ 22
2.1.8 Development of a fuel consumption optimization model for the capacitated vehicle
routing problem.[7] ________________________________________________________________ 22
2.1.9 The impacts of congestion on time-definitive urban freight distribution networks co2
emission levels: results from a case study in Portland, Oregon.[16] ______________________ 23
2.1.10 A genetic algorithm-based optimization model for supporting green transportation
operations.[17] ___________________________________________________________________ 24
2.1.11 A new truck-routing approach for reducing fuel consumption and pollutants
emission.[18] _____________________________________________________________________ 24
2.1.12 Mitigation of greenhouse gas emissions in vehicle routing problems with
backhauling.[4] ___________________________________________________________________ 25
2.1.13 The milk run revisited: a load factor paradox with economic and environmental
implications for urban freight transport.[19] ___________________________________________ 25
2.2 Marco referencial _________________________________________________ 26
2.3 Marco conceptual ________________________________________________ 27
2.4 Heurísticas de generación de población y mejoramiento __________________ 30
6
3 Modelo Matemático ___________________________________________ 34
3.1.1 Modelo matemático del CVRP _____________________________________________ 34
3.1.2 Modelo matemático para el MDVRP ________________________________________ 37
3.1.3 Costo de combustible ____________________________________________________ 39
4 METODOLOGÍA DE SOLUCIÓN DEL MDVRP CONSIDERANDO EL COSTO
DE COMBUSTIBLE _______________________________________________ 41
4.1 Codificación _____________________________________________________ 42
4.2 Ejemplo ________________________________________________________ 44
4.3 Desarrollo Metodológico ___________________________________________ 53
4.4 Asignación de clientes a los depósitos ________________________________ 53
4.4.1 Asignación utilizando elipses ______________________________________________ 54
4.4.2 Rotaciones a partir de la solución del Travelling Salesman Problem (TSP) con
algoritmo de Lin-Kernighan [25] _____________________________________________________ 62
4.4.3 Técnicas para ruteo ______________________________________________________ 66
4.4.3.2 Algoritmo de mejoramiento final. ___________________________________________ 73
5 CARACTERIZACIÓN DEL CASO DE PRUEBA PARA UNA EMPRESA DE
DISTRIBUCIÓN DE PRODUCTOS LÁCTEOS EN SAN JUAN DE PASTO
(NARIÑO) _______________________________________________________ 75
5.1 Descripción de la distribución de productos lácteos ______________________ 75
5.2 Demanda de productos por clientes agrupados en sectores _______________ 78
5.3 Descripción de matriz de costos, distancias y adaptación de nuevo depósito __ 79
5.4 Sobrecosto por combustible en el caso de prueba _______________________ 80
6 PRUEBAS Y RESULTADOS OBTENIDOS _________________________ 83
6.1 Calibración de parámetros. _________________________________________ 83
6.1.1 Asignación de clientes por medio de elipses. ________________________________ 84
6.1.2 Rotaciones del TSP, algoritmo de Lin-Kernighan._____________________________ 87
6.1.3 Algoritmo Genético. ______________________________________________________ 88
6.2 Instancias de la literatura especializada _______________________________ 91
6.3 Resultados obtenidos para las instancias de Cordeau ____________________ 92
6.4 Caso de aplicación _______________________________________________ 98
7 CONCLUSIONES ____________________________________________ 105
8 RECOMENDACIONES ________________________________________ 108
9 BIBLIOGRAFÍA ______________________________________________ 109
7
LISTA DE FIGURAS
Figura 2-1 Esquema del problema de ruteamiento de vehículos VRP. ................................................ 29
Figura 2-2 Esquema del problema de ruteamiento de vehículos con múltiples depósitos MDVRP. 29
Figura 2-3 Grafo Técnica de ahorros .......................................................................................................... 32
Figura 2-4 Asignación de la ruta a cada nodo........................................................................................... 33
Figura 4-1 Representación gráfica de la metodología de solución ........................................................ 44
Figura 4-2 Coordenadas (x, y) de clientes y depósitos .......................................................................... 45
Figura 4-3 Iteración 1 - Construcción de elipses ...................................................................................... 46
Figura 4-4 Representación gráfica del Individuo 1 ................................................................................... 47
Figura 4-5 Iteración 2 - Construcción de elipses ...................................................................................... 47
Figura 4-6 Representación gráfica del individuo 2 ................................................................................... 48
Figura 4-7 Solución del TSP ........................................................................................................................ 48
Figura 4-8 Representación gráfica del individuo 3 ................................................................................... 49
Figura 4-9 Primera posibilidad de asignación de clientes a los depósitos ............................................ 57
Figura 4-10 Segunda posibilidad de asignación de clientes a los depósitos ....................................... 57
Figura 4-11 Diagrama de flujo para asignación por elipses .................................................................... 61
Figura 4-12 Diagrama de flujo para asignación por rotaciones .............................................................. 63
Figura 4-13 Diagrama de flujo general para el MDVRP .......................................................................... 67
Figura 4-14 Diagrama de flujo algoritmo genético [16] ............................................................................ 72
Figura 4-15 Criterio geométrico para cambiar un cliente de depósito ................................................... 74
Figura 4-16 Cliente cambiado del depósito 2 al depósito 1 .................................................................... 74
Figura 5-1 Productos lácteos – Empresa San Juan de Pasto (Fuente:
www.colacteos.com/productos.php) ........................................................................................................... 75
Figura 5-2 Canasto para transporte de alimentos .................................................................................... 75
Figura 5-3 Vehículo para transporte de productos lácteos ..................................................................... 76
Figura 5-5 Ruta utilizando la aplicación de google maps (Fuente: www/google.es) ........................... 77
Figura 5-6 Depósito 1 Oriente Pasto (Fuente: www/google.es) ............................................................. 78
Figura 5-7 Depósito 2 Nor occidente Pasto ............................................................................................... 78
Figura 5-8 Matriz de distancias de 151x151 clientes. .............................................................................. 80
Figura 5-9 Orden de visita de los clientes teniendo en cuenta la carga................................................ 81
Figura 5-10 Orden de visita de los clientes sin tener en cuenta la carga ............................................. 82
Figura 6-1 Representación de las rotaciones generadas a las elipses ................................................. 86
Figura 6-2 Rotaciones del TSP para asignación de clientes a los depósitos ....................................... 88
Figura 6-3 Representación de la solución P01 de Cordeau generada por el algoritmo de solución 96
Figura 6-4 Ruta 9 Depósito 2, sin considerar costo de combustible (Fuente: www/google.es) ...... 101
Figura 6-5 Ruta 9 Depósito 2, considerando costo de combustible (Fuente: www/google.es) ....... 102
Figura 6-6 Curva de rendimiento para vehículos con motor de gasolina [30] .................................... 103
8
LISTA DE TABLAS
Tabla 4-1 Datos de entrada ......................................................................................................................... 45
Tabla 4-2 Ruteo de Vehículos usando AGCB ........................................................................................... 51
Tabla 4-3 Intercambio de clientes entre rutas ........................................................................................... 52
Tabla 4-4 Intercambio de clientes entre depósitos ................................................................................... 52
Tabla 4-5 Clientes ordenados de menor a mayor distancia por cada depósito ................................... 54
Tabla 4-6 Clientes asignados a cada depósito ......................................................................................... 54
Tabla 4-7 Número de clientes asignados por depósitos .......................................................................... 55
Tabla 4-8 Clientes que pertenecen al depósito 1 ..................................................................................... 55
Tabla 4-9 Clientes asignados a los depósitos ........................................................................................... 59
Tabla 4-10 Número de clientes por vehículo en cada depósito ............................................................. 60
Tabla 4-11 Vector clientes en orden del TSP (Algoritmo de Lin-Kernighan) ........................................ 64
Tabla 4-12 Vector de demandas de clientes en orden del TSP ............................................................. 64
Tabla 4-14 Matriz de distancia de clientes a depósitos ........................................................................... 64
Tabla 4-15 Vector de clientes agrupado por depósitos ........................................................................... 65
Tabla 4-16 Vector clientes en orden del TSP (Algoritmo de Lin-Kernighan) ........................................ 65
Tabla 4-17 Primeras 4 Rotaciones del vector de clientes ....................................................................... 65
Tabla 4-18 Asignación 1 (caso de 15 clientes y 3 depósitos) ................................................................. 68
Tabla 4-19 Clientes asignados al depósito 1 ............................................................................................. 68
Tabla 4-20 Clientes para el depósito 1 ....................................................................................................... 69
Tabla 4-21 Solución de ruteo según el orden de los clientes ................................................................. 69
Tabla 4-22 Solución de ruteo para el depósito 1 ...................................................................................... 69
Tabla 4-23 Número de clientes por ruta para el depósito 1 .................................................................... 69
Tabla 4-24. Vector ruta ................................................................................................................................. 73
Tabla 4-25. Combinaciones VNS ................................................................................................................ 73
Tabla 5-1 Datos de carga y ruta de vehículos transportadores de productos lácteos ........................ 76
Tabla 5-2 Ejemplo de ruta de vehículo transportador de productos lácteos ........................................ 77
Tabla 5-3. Demanda de canastos por tiendas y por sectores de cada vehículo ................................. 79
Tabla 6-1 Parámetros del algoritmo ............................................................................................................ 83
Tabla 6-2 Aproximación de la función seno por medio de la serie de Taylor ....................................... 85
Tabla 6-3 Calibración número de elipses................................................................................................... 87
Tabla 6-4. Pruebas para población y generaciones ................................................................................. 89
Tabla 6-5 Número de individuos seleccionados para el torneo .............................................................. 90
Tabla 6-6 Datos instancia p01 Cordeau ..................................................................................................... 92
Tabla 6-7 Mejores respuestas para la instancia P01 ............................................................................... 93
Tabla 6-8 Mejores respuestas para la instancia P02 ............................................................................... 93
Tabla 6-9 Mejores respuestas para la instancia P04 ............................................................................... 94
Tabla 6-10 Mejores respuestas para la instancia P06 ............................................................................. 94
Tabla 6-11 Mejores respuestas para la instancia P08 ............................................................................. 95
Tabla 6-12 Resumen de mejores resultados para los casos de prueba de Cordeau ......................... 95
Tabla 6-13 Número de clientes por depósito ............................................................................................. 96
Tabla 6-14 Número de clientes por cada ruta ........................................................................................... 97
Tabla 6-15 Demanda cubierta en cada depósito ...................................................................................... 97
Tabla 6-16 Secuencia de visita de los clientes en cada ruta y depósito ............................................... 97
Tabla 6-17 Resultados caso de prueba considerando combustible ...................................................... 99
Tabla 6-18 Resultados caso de prueba sin considerar combustible ..................................................... 99
Tabla 6-19 Resultados caso de prueba considerando un depósito ..................................................... 100
9
Tabla 6-20 Resumen resultados caso de prueba ................................................................................... 100
Tabla 6-21 Porcentaje de sobrecosto de gasto de combustible en relación a la descarga ............. 104
10
1 ASPECTOS PRELIMINARES
1.1 Introducción
Actualmente la logística entendida como el conjunto de métodos, conocimientos, acciones
y medios destinados a prever y proveer los recursos necesarios para llevar a cabo la
organización de una empresa o de un servicio especialmente de distribución, tiene como
misión fundamental colocar los productos adecuados (bienes y servicios) en el lugar
adecuado, en el momento preciso y en las condiciones deseadas, contribuyendo tanto a
la rentabilidad como a la satisfacción de la demanda en las mejores condiciones de
servicio, costo y calidad. Para alcanzar este objetivo se debe gestionar los medios
necesarios, siendo el transporte uno de los factores claves en alcanzar dichas metas,
brindando además una ventaja competitiva a la empresa.
Adicionalmente, las empresas deben ser ambientalmente sostenibles para que garanticen
la conservación del planeta, desde esta perspectiva el Ministerio de Ambiente y Desarrollo
Sostenible de la República de Colombia, está desarrollando estrategias como la
Estrategia Colombiana de Desarrollo Bajo en Carbono (ECDBC), que busca desligar el
crecimiento de las emisiones de Gases de Efecto Invernadero (GEI) del crecimiento
económico nacional. Esto se hará a través del diseño y la implementación de planes,
proyectos y políticas que tiendan a la mitigación de GEI y simultáneamente, fortalezcan el
crecimiento social y económico del país, dando cumplimiento a los estándares mundiales
de eficiencia, competitividad y desempeño ambiental.[1]
Por lo anterior es importante estudiar y analizar diferentes soluciones que resuelvan de
manera efectiva un problema, utilizando la optimización, que busca minimizar o maximizar
la función objetivo según sea el problema, representado a través de un modelo
matemático. Cuando las dimensiones y la complejidad matemática son grandes, aparece
el fenómeno denominado explosión combinatorial, debido a la gran cantidad de
soluciones factibles e infactibles que aparecen.[2] Desde este punto de vista a medida
que dicha complejidad aumenta los métodos exactos de solución de programación lineal o
no lineal generan tiempos computacionales prohibitivos o posibilidades tendientes al
infinito, aún más cuando es necesario encontrar soluciones con valores enteros, por lo
tanto es necesario buscar alternativas de solución como los algoritmos constructivos o
heurísticas, que proporcionan soluciones aproximadas a la óptima con tiempos
11
computacionales relativamente bajos, sin embargo si la complejidad del problema
aumenta aún más, es necesario aplicar procedimientos que permitan encontrar
aleatoriamente una solución, a estos algoritmos se los conoce como metaheurísticas,
adicionalmente en algunos casos es necesario aplicar distintas técnicas, realizando
combinaciones de las mismas en los procedimientos conocidos como híbridos.
Teniendo en cuenta lo anterior el interés del presente proyecto se centra en el problema
Multi Depot Vehicle Routing Problem (MDVRP), incluyendo el consumo de combustible. El
MDVRP es considerado como una generalización del Capacitated Vehicle Routing
Problem (CVRP) donde más de un depósito puede ser considerado, es decir │G│>1,
siendo G un conjunto de depósitos, además, el vehículo debe empezar y terminar en el
mismo depósito. Aplicaciones del MDVRP pueden surgir cuando una empresa tiene varios
almacenes cada uno con su propia flota de vehículos, que juntos son capaces de
satisfacer la demanda de los clientes. [3] En cuanto al consumo de combustible es un
factor que se incluye en esta investigación ya que tiene incidencia directa en las
emisiones de gases de efecto invernadero; según la literatura especializada el porcentaje
de consumo de combustible depende de variables diversas, considerando para el
presente proyecto la carga de los vehículos; la importancia de incluir el consumo de
combustible en el problema MDVRP radica en que la optimización del transporte no tiene
que ver únicamente con minimizar la distancia recorrida sino también con minimizar los
efectos perjudiciales para el medio ambiente y la salud humana, que en la medida de su
deterioro implicaría grandes costos. Adicionalmente el MDVRP involucrando el consumo
de combustible es un tema poco explorado en la literatura especializada.
1.2 Planteamiento del problema
Uno de los objetivos en una empresa es integrar todos sus procesos de tal forma que el
flujo de material desde la materia prima, producción, distribución, almacenamiento, hasta
el consumidor final sea adecuada en cantidad, tiempo y calidad, ahorrando materia y
energía, es decir permitiendo que los procesos de la empresa se desarrollen con los
recursos mínimos en términos de presupuesto, personal, espacio, maquinaria, equipos,
tiempo, entre otros, procurando también adecuarse a la producción limpia, que tiene que
ver con evitar los desperdicios de recursos naturales y disminuir el vertimiento de
contaminantes o la generación de residuos. Sin embargo el impacto negativo del
12
transporte vehicular en el medio ambiente es innegable debido a su efecto en el uso del
suelo, el consumo de recursos, y el daño a los ecosistemas y la salud humana. [4]
Además según el Intergovernmental Panel on Climate Change (IPCC) la emisión de
gases de efecto invernadero muy probablemente han causado el aumento observado en
las temperaturas medias globales, un fenómeno conocido como calentamiento global.
Desde la mitad del siglo 20 se debe muy probablemente al aumento observado en las
concentraciones de gases de efecto invernadero antropogénicos. Las concentraciones de
Dióxido de Carbono (CO2) han seguido creciendo, a finales de 2010 habían llegado a 390
ppm de CO2 o 39% por encima de los niveles de la época preindustrial.[5] Por lo anterior
el transporte de mercancías es un tema que genera gran interés en la investigación,
abordado inicialmente como el Vehicle Routing Problem (VRP) que corresponde a un
problema de optimización combinatoria, incrementando el tiempo computacional, debido a
la gran cantidad de procesos que implica encontrar la solución óptima, de otra parte las
variables de decisión son enteras constituidas por subconjuntos de números naturales,
por lo tanto este tipo de problemas son difíciles de resolver al presentarse crecimiento
exponencial debido a las combinaciones de soluciones en relación con el número de
clientes a atender. En general al considerar las diferentes circunstancias en que se
presenta el problema en la realidad surgen restricciones, que a su vez representan de
mejor forma la situación real pero también la complejizan, algunas de estas restricciones
que han sido tenidas en cuenta en la literatura son: la capacidad de los vehículos, las
ventanas de tiempo, la entrega y recogida de productos, el número de vehículos
disponibles, el número de depósitos, entre otras, involucrando actualmente al problema
restricciones relacionadas con la logística verde, encaminada a crear procesos
ambientalmente racionales y el uso eficaz de los recursos.
El interés del presente proyecto va dirigido al transporte de leche en la ciudad de San
Juan de Pasto, abordando el problema del ruteo de vehículos de capacidad homogénea
con múltiples depósitos, involucrando el consumo de combustible, el MDVRP es un
problema que ha sido ampliamente abordado en la literatura especializada iniciando con
Tillman, quien aborda el problema a finales de 1960 proponiendo un algoritmo basado en
la heurística del ahorro de Clark y Wright, algoritmos exactos como el branch and bound
son propuestos en la década de 1980 por Laporte resolviendo casos con 50 clientes y 8
13
depósitos.[3] posteriormente fruto de la investigación desarrollada surgen tanto
variaciones al problema como nuevas metodologías de solución, es así como en la
década de 1990 Salhi y Nagy trabajan el Multi Depot Vehicle Routing Problem with Mixed
Pickup and Delivery (MDVRPMPD), en 2013 Vidal, Crainic, Gendreau, et al. Muestran tres
series de casos para el MDVRP, presentando 33 casos con 50 a 350 clientes y de 2 a 9
depósitos, para el MDVRP con ventanas de tiempo se utiliza 14 casos a gran escala.
En cuanto al consumo de combustible, actualmente es una variable de interés en la
literatura, ampliando el problema VRP, surgen entonces problemas como el Pollution
Routing Problem (PRP), considerando en la función objetivo además de la distancia
recorrida, la cantidad de emisiones de efecto invernadero, el combustible, los tiempos de
viaje y los costos, ofreciendo una visión sobre la economía del medio ambiente amigable
en el ruteo de vehículos.[6] Otro ejemplo es el Fuel Consumption Vehicle Routing Problem
(FCVRP), considerando el consumo de combustible como una función dependiente de la
carga, se añade al CVRP con el objetivo de minimizar el consumo de combustible.[7] En
cuanto a la metodología de solución, es necesario buscar un procedimiento aproximado
debido a que se trata de un problema NP-hard, siendo los métodos exactos poco
apropiados por el extenso tiempo computacional, por lo tanto se busca abordar la solución
del problema desarrollando una metodología híbrida que permita obtener buenos
resultados en términos de minimizar costos y obtener los mejores beneficios en un
tiempo razonable.
1.3 Delimitación
Se pretende solucionar el problema MDVRP adicionando un valor de sobrecosto dado por
la cantidad de combustible usado en los recorridos de acuerdo con el peso del vehículo y
su carga, la cual se distribuye entre los diferentes clientes. Para la solución a este
problema se realiza un algoritmo genético modificado y alimentado con una serie de
heurísticas que hacen más eficiente el algoritmo genético; para garantizar la efectividad
de la solución dada por el algoritmo se realizan unas pruebas y comparaciones con
valores de respuestas dadas en la literatura especializada como las instancias de
Cordeau, encontradas en la página web Networking and Emerging Optimization [8], para
finalmente aplicar a un caso de prueba de una empresa distribuidora de productos lácteos
en la ciudad de San Juan de Pasto, con cerca de 3000 clientes y dos depósitos para los
14
cuales se resuelve el problema mencionado. Cabe mencionar que el problema se debe
clusterizar puesto que muchos de los clientes son contiguos o muy cercanos, para esto se
realiza una sectorización dividiendo al total de clientes de acuerdo con la demanda de
estos y su proximidad, esto con el fin de que el problema no tenga un alto costo
computacional.
1.4 Objetivos
Objetivo General
Desarrollar e implementar una metodología híbrida para resolver el problema de ruteo de
vehículos con múltiples depósitos, considerando el consumo de combustible.
Objetivos Específicos
Realizar un estudio del estado del arte del MDVRP.
Analizar las principales características de algunos modelos matemáticos
propuestos para el MDVRP, incluyendo el consumo de combustible.
Revisar metodologías de solución pertinentes al problema MDVRP.
Definir una metodología híbrida en la solución del MDVRP considerando el
consumo de combustible aplicado a una empresa de distribución de productos
lácteos en la Ciudad de San Juan de Pasto.
1.5 Justificación
De acuerdo con la revisión del estado del arte en la literatura especializada, se encuentra
que el problema de ruteo de vehículos no se ajusta en su totalidad a la realidad específica
de las empresas y cadenas de suministro dada su complejidad matemática al involucrar
una gran cantidad de variables y restricciones, siendo muy difícil considerarlas todas, por
lo que se trata de generalizar un modelo que responda de forma adecuada a la mayoría
de empresas de transporte, esto genera un problema combinatorial, en el cual se
presenta el fenómeno de explosión combinatorial que significa que cuando crece el
número de variables de decisión del problema entonces el número de soluciones
(configuraciones) así como el esfuerzo computacional para resolver este tipo de
15
problemas, crece en forma exponencial. Este tipo de problemas de la vida real son los
más interesantes y complejos de resolver.[2] Una variación del VRP se presenta en varios
problemas de distribución física, donde los bienes deben ser entregados a partir de varios
depósitos a un conjunto de clientes dispersos geográficamente, en virtud de la capacidad
o limitaciones de la longitud de ruta, ejemplos documentados incluyen la entrega de
comidas, de productos químicos, de máquinas, de gases industriales, de productos de
petróleo, de alimentos envasados, entre otros, en estas condiciones se aborda entonces
el MDVRP que consiste en la construcción de un conjunto de rutas de vehículos de tal
forma que: cada ruta inicia y termina en el mismo depósito, cada cliente es visitado una
sola vez por un vehículo, la demanda total de cada ruta no supera la capacidad del
vehículo, la duración total de la ruta (incluido el viaje y el tiempo de servicio) no supere un
límite preestablecido y que el costo total de ruteo se reduzca al mínimo.[9] Tener en
cuenta los anteriores aspectos permite mejorar la calidad en la prestación de servicios
como pueden ser transporte de pasajeros en una ciudad, entrega de envíos, entrega y
distribución de productos comestibles que requieran cortos tiempos de transporte, entre
otros.
Por otra parte el consumo de combustible representa una gran y creciente parte de los
costos de transporte, teniendo en cuenta en este tipo de problemas la Fuel Consumption
Rate (FCR), factor que se considera como una función dependiente de la carga de los
vehículos. El costo del consumo de combustible en una ruta es representado como la
multiplicación del costo unitario de combustible por el consumo de combustible a lo largo
de la ruta por la distancia recorrida de i a j. El consumo de combustible depende del peso
del vehículo vacío más la carga del vehículo como variable de decisión.[7] Esto implica
que en el modelo del MDVRP, involucrando el consumo de combustible, que es el objeto
de interés de la presente investigación, se deba incluir una restricción que reduzca la
carga del vehículo cuando este visita a un cliente en la cantidad que demande el mismo.
El motivo de incluir este aspecto es responder a los requerimientos que solicitan los entes
gubernamentales en cuanto a la mitigación de los efectos contaminantes al medio
ambiente con el fin de buscar que la optimización de las actividades de las empresas sea
más integral, procurando además de obtener beneficios económicos alcanzar
sostenibilidad.
16
El MDVRP, involucrando el consumo de combustible, es relevante y se aproxima a la
realidad de las diferentes empresas de distribución y transporte de la Ciudad de San Juan
de Pasto, en particular para aquellas empresas con requerimientos de horarios y tiempos
de entrega cortos, puesto que algunos de sus productos deben tener consideraciones de
conservación de cadena de frio, como es el caso de productos lácteos, los cuales se
deben llevar a las tiendas que existan en la ciudad, adicionalmente, el Plan de Desarrollo
Municipal de Pasto 2012-2015 menciona que, en el centro de la ciudad donde se
desarrollan las principales actividades económicas y de servicios existe una permanente
congestión, alta accidentalidad y contaminación en las vías públicas, ocasionada por la
saturación y superación en la capacidad de las mismas, debido al crecimiento
indiscriminado del parque automotor,[10] por lo cual mejorar la distribución de productos
es un tema de gran importancia encaminado a disminuir los efectos adversos que
actualmente se presentan.
En cuanto a los clientes a ser atendidos en la distribución de productos se presentan en
gran cantidad, lo que conlleva además a establecer soluciones para problemas
combinatoriales de tipo NP-HARD, para lo cual según los referentes estudiados se
promueve el uso de metodologías hibridas por medio de técnicas heurísticas y meta
heurísticas que lleven a dar soluciones eficientes, con flexibilidad y simplicidad
algorítmica. Un ejemplo es el trabajo de Ho, Ji et al. Donde se menciona que en la última
década Hybrid Genetic Algorithm (HGA) ha llamado mucho la atención, y ha demostrado
ser uno de los algoritmos más prevalentes en la resolución de problemas de optimización.
En dicho trabajo un estudio computacional es llevado a cabo para comparar dos HGA, el
primero genera soluciones al azar, mientras que el segundo aplica una heurística para
generar soluciones iniciales, demostrando que el rendimiento en términos del tiempo de
entrega total es superior en el segundo HGA.
1.6 Diseño metodológico
Para desarrollar el objeto de estudio es necesario como etapa inicial del proceso estudiar
según la revisión del estado del arte los diferentes tipos de problemas de ruteo de
vehículos con múltiples depósitos involucrando el consumo de combustible, los modelos
matemáticos que los representan y las técnicas de solución respectivas, posteriormente
17
se formula y se implementa la metodología de solución validando los resultados obtenidos
con casos de prueba de la literatura especializada.
El método de investigación adecuando en este trabajo es el experimental, ya que con el
desarrollo de la metodología de solución para el MDVRP involucrando el costo de
combustible se pretende encontrar una solución efectiva y de calidad, que permita
minimizar tanto el tiempo de procesamiento de los algoritmos de solución como el costo
de las rutas en cuanto a distancia recorrida por los vehículos y el consumo de
combustible. Para comprobar si la metodología desarrollada es adecuada y presenta
resultados de buena calidad es necesario realizar varias pruebas analizando los
resultados obtenidos y el tiempo computacional empleado.
El desarrollo metodológico está dividido en cuatro fases, las cuales describen el desarrollo
del proyecto así:
Fase I: Diagnóstico del Problema
Contexto del Problema.
Determinar los Objetivos a alcanzar.
Delimitación del problema.
Fase II: Identificación de un Modelo Matemático de la literatura especializada
contextualizado
Definir Parámetros y Variables.
Determinar la Función Objetivo considerando el gasto de combustible.
Determinar las restricciones del modelo seleccionado para el contexto.
Determinar los algoritmos que faciliten la solución del problema.
Fase III: Estudio de metodologías de solución al MDVRP
Métodos de programación lineal entera.
Examinar algoritmos heurísticos y constructivos.
18
Análisis de la integración de algoritmos heurísticos a metaheurísticas.
Estudio de algoritmos genéticos en la solución del MDVRP.
Fase IV: Establecer la metodología híbrida de solución del MDVRP
Adecuar un algoritmo que solucione el problema en tiempos computacionales
adecuados utilizando un lenguaje de programación apropiado, de tal manera que
pueda ser implementado en una herramienta computacional como Matlab.
Obtener resultados del programa.
Fase V: Prueba del Modelo de solución
Adicionar diferentes restricciones al problema de ruteamiento de vehículos.
Examinar de manera exhaustiva que todas restricciones del modelo se estén
cumpliendo.
Realizar las corridas necesarias, hasta disminuir el error de los métodos iterativos
comparados con valores exactos propuestos en la literatura especializada.
Determinar efectos de perturbaciones en los algoritmos de solución del problema
como parámetros de control algorítmico.
Ejecutar la metodología de solución y compararla con la solución obtenida en los
casos de la literatura especializada como proceso de validación.
19
2 PROBLEMA DE RUTEO DE VEHÍCULOS CON MÚLTIPLES
DEPÓSITOS CONSIDERANDO EL COSTO DE COMBUSTIBLE
El MDVRP es una generalización del CVRP, considerando más de un depósito, donde
cada vehículo debe iniciar y terminar el recorrido en el mismo depósito. Las aplicaciones
del MDVRP surgen cuando una empresa tiene varios almacenes cada uno de ellos con su
propia flota de vehículos, que en conjunto son capaces de satisfacer la demanda de los
clientes [3]. Se involucra el costo de combustible analizando el precio de las rutas en
función de la distancia recorrida y la carga transportada, procurando visitar los clientes
con mayor demanda al inicio de la ruta, esto con el fin de incluir en la función objetivo la
disminución de los costos de combustible, que a su vez contribuye con la mitigación de la
contaminación al disminuir las emisiones de CO2.
2.1 Revisión del estado del arte
Se presenta a continuación un compendio de artículos de la literatura especializada que
enmarca las temáticas que serán utilizadas en el desarrollo de esta investigación. La
literatura revisada principalmente se enfoca en la solución del MDVRP con algoritmos
genéticos e híbridos, y en el consumo de combustible, cabe resaltar que la presente
investigación se basa en algunos conceptos mencionados en la literatura especializada
que permiten comprender el problema y algunas herramientas para su solución pero tiene
su sello propio ya que el problema MDVRP incluyendo el consumo de combustible es
poco explorado.
2.1.1 A Tabu Search Heuristic for the Multi-Depot Vehicle Routing Problem.[9]
En este artículo se describe un algoritmo de búsqueda tabú para el problema de ruteo de
vehículos con depósitos múltiples, teniendo en cuenta las restricciones de capacidad y
longitud de ruta. El algoritmo se prueba con un conjunto de 23 casos de referencia. Se
demuestra que ha superado las heurísticas existentes.
El artículo aporta elementos de referencia en la construcción inicial de la solución al
agrupar clientes primero y rutear después, con la diferencia que en el proyecto se tomará
20
un criterio de agrupar clientes si pertenecen a una elipse o una circunferencia construida
alrededor de los depósitos y no únicamente por menor distancia como menciona este
artículo. También es importante tener en cuenta los algoritmos de intercambios, de
intensificación y diversificación ya que mejoran considerablemente la solución.
2.1.2 Solution to Multi-Depot Vehicle Routing Problem Using Genetic
Algorithms.[11]
En este trabajo se obtiene la solución del MDVRP, mediante Algoritmos Genéticos (GA).
Los clientes se agrupan en función de la distancia más cercana a sus depósitos,
definiendo luego las rutas con el método de los ahorros de Clarke y Wright, además las
rutas se programan y optimizan utilizando GA. Se experimentó con un conjunto de cinco
casos de referencia de Cordeau del recurso en línea de la Universidad de Málaga,
España, utilizando el software MATLAB R2008b. Los resultados obtenidos muestran que
el rendimiento del GA es factible y eficaz para resolver el MDVRP.
Son muy importantes los aportes del presente artículo al proyecto ya que demuestran el
potencial de utilizar algoritmos genéticos en la solución del MDVRP.
2.1.3 A Hybrid Genetic Algorithm for the Multi-Depot Vehicle Routing Problem.[12]
El problema MDVRP, es un problema NP-difícil, en este trabajo se desarrollan dos
algoritmos genéticos híbridos (HGA) para hacer frente al problema. La principal diferencia
entre los HGA es que las soluciones iniciales son generadas al azar en HGA1. El método
de ahorro de Clarke y Wright y la heurística del vecino más cercano se incorporan en
HGA2 para el procedimiento de inicialización. Un estudio computacional se lleva a cabo
para comparar los algoritmos con diferentes tamaños de problemas. Está comprobado
que el rendimiento de HGA2 es superior a la de HGA1 en términos del tiempo total de
entrega.
El artículo contribuye significativamente al proyecto al demostrar que un algoritmo
genético híbrido es adecuado para abordar el problema del MDVRP, especialmente con
HGA2 que involucra el método de los ahorros resultando mejor que el HGA1 que trabaja
de forma aleatoria.
21
2.1.4 A new geometric shape-based genetic clustering algorithm for the multi-
depot vehicle routing problem. [13]
En este trabajo, se propone un nuevo tipo de algoritmo genético de agrupamiento basado
en una forma geométrica, utilizado en el proceso de solución del MDVRP. Un conjunto de
problemas obtenidos de la literatura se utiliza para comparar la eficiencia del algoritmo
propuesto con el algoritmo del vecino más cercano. Los resultados experimentales
muestran que el algoritmo propuesto ofrece un mejor rendimiento de agrupación en
términos de la distancia de cada cliente a cada depósito en grupos. Además el tiempo
computacional requerido disminuye considerablemente, cuando se compara con el
algoritmo del vecino más cercano.
El artículo aporta al proyecto en cuanto a la primera etapa de la solución del MDVRP, al
demostrar que la nueva geometría reduce el tiempo computacional la diferencia es que la
clusterización se hace a partir de círculos pero en el proyecto se usarán elipses.
2.1.5 Implicit depot assignments and rotations in vehicle routing heuristics.[14]
Se introduce una metodología de programación dinámica para evaluar eficientemente
barrios compuestos combinando una secuencia basada en movimientos con una elección
óptima de vehículo y de depósito, y una determinación óptima del primer cliente para ser
visitado en la ruta, llamada rotación. Las opciones de asignación, permiten la riqueza del
problema, por lo tanto se aborda la estructura de la solución, pero implícitamente es
determinada durante cada evaluación del movimiento. Se utiliza dos meta- heurísticas:
una búsqueda local iterativa y un algoritmo genético híbrido. Extensos experimentos
computacionales demuestran un notable desempeño en los problemas clásicos del
MDVRP con o sin mezcla de flota, así como en la contribución notable de la elección
implícita del depósito. Los conceptos propuestos son aplicables a otras variantes del VRP.
El artículo aporta elementos de referencia en la solución de diferentes tipos de problemas
VRP, aplicando entre otros procedimientos el Hybrid Genetic Search with Advanced
Diversity Control (HGSADC), donde se comprueba la efectividad de los algoritmos
híbridos, considerando como parte del proceso los algoritmos genéticos.
2.1.6 The multi-depot vehicle routing problem with inter-depot routes.[15]
En este artículo se aborda la extensión del problema de ruteo de vehículos con depósitos
múltiples en el que los vehículos podrán ser repuestos en los depósitos intermedios a lo
22
largo de su ruta. Se propone una heurística que combina el principio de memoria
adaptativa, un método tabú de búsqueda de la solución de subproblemas y programación
entera. Las pruebas se realizan con instancias generadas en forma aleatoria.
El artículo aporta al proyecto en cuanto a la inclusión de la elipse tomando como focos
dos depósitos como una forma de agrupar clientes que posibilita tener varias alternativas
de solución cuando se genera rotación de la misma ya que su dominio cambia. En el
proyecto se toma la elipse en un concepto distinto ya que se construyen varias elipses
alrededor de los depósitos variando los radios y generando rotaciones con el mismo fin
del presente artículo que es la generación de varias posibilidades de solución.
2.1.7 The pollution routing problem[6]
En este trabajo se presenta el PRP, una extensión del problema clásico VRP
considerando en la función objetivo además de la distancia recorrida, la cantidad de
emisiones de efecto invernadero, el combustible, los tiempos de viaje y los costos. Se
describen los modelos matemáticos para el PRP con o sin ventanas de tiempo y
experimentos computacionales en casos reales. Este artículo muestra las
compensaciones entre los distintos parámetros tales como la carga del vehículo, la
velocidad y el costo total, y ofrece una visión sobre la economía de medio ambiente
amigable en el ruteo de vehículos. Los resultados sugieren que al contrario del VRP, el
PRP es significativamente más difícil de resolver óptimamente pero tiene el potencial de
ahorro de rendimiento en el costo total.
En el presente proyecto se tendrá en cuenta la importancia de reducir el número de
vehículos y utilizar al máximo su capacidad, como con el fin de reducir el costo de
combustible.
2.1.8 Development of a fuel consumption optimization model for the capacitated
vehicle routing problem.[7]
En este trabajo, la tasa de consumo de combustible (FCR), un factor que se considera
como una función dependiente de la carga, se añade al problema de ruteo de vehículos
con capacidad homogénea (CVRP) con el objetivo de minimizar el consumo de
combustible. Se presenta un modelo de optimización matemática para caracterizar
formalmente el modelo FCVRP, que se resuelve con un algoritmo de recocido simulado
con una regla de cambio híbrido, mostrando un buen rendimiento tanto en el CVRP
23
tradicional como en el FCVRP, adicionalmente FCVRP reduce el consumo de combustible
en un 5 % , en promedio, en comparación con el modelo CVRP . Los factores que causan
la variación en el consumo de combustible también se identifican y se analizan en este
estudio.
El artículo aporta elementos importantes en cuanto al consumo de combustible referido a
la distancia y a la tasa de consumo de combustible afectada por el vehículo que servirán
de referencia para el presente proyecto.
Es importante considerar en la búsqueda de la solución óptima los algoritmos híbridos, ya
que los resultados demuestran su eficiencia.
2.1.9 The impacts of congestion on time-definitive urban freight distribution
networks co2 emission levels: results from a case study in Portland,
Oregon.[16]
Esta investigación se centra en el análisis de las emisiones de CO2 para diferentes
niveles de congestión y demandas de los clientes en tiempo definitivo. Datos de tiempo de
viaje de un amplio archivo de sensores de autopistas, los algoritmos de ruteo de vehículos
dependientes del tiempo y problemas – instancias con diferentes tipos de restricciones
vinculantes son usadas para analizar los impactos de la congestión en las emisiones de
los vehículos comerciales. Los resultados del estudio de caso indican que los impactos de
la congestión o los límites de velocidad en las emisiones de los vehículos comerciales son
significativos, pero difíciles de predecir ya que se muestra que es posible construir casos
donde el total de distancia ruta o duración aumenta, pero las emisiones disminuyen. Las
agencias públicas deberían estudiar cuidadosamente las repercusiones de las políticas
que regulan la ubicación de los depósitos y las velocidades de viaje, ya que pueden tener
consecuencias negativas no deseadas en términos de emisiones de CO2.
Es importante tener en cuenta escenarios donde la congestión vehicular aumenta, con el
fin de analizar la velocidad de los vehículos y su impacto en las emisiones de CO2.
El tipo de función objetivo afecta los resultados, es decir es importante analizar cuales
aspectos son más relevantes en la optimización, ya que como se observa en el presente
artículo incrementar un poco la distancia de ruta puede beneficiar a la función objetivo si
esto contribuye a disminuir las emisiones de CO2.
24
2.1.10 A genetic algorithm-based optimization model for supporting green
transportation operations.[17]
La Green Logistic (logística verde) es una tendencia en la gestión de la distribución de
bienes y recolección de productos al final de su vida. Su enfoque es la maximización del
valor económico y ambiental, mediante el reciclaje y la reducción de contaminantes. Dos
modelos de rutas para vehículos con entrega y recogida simultánea (entrega total o
parcial) se formulan y son resueltos por un algoritmo genético. Mediante una comparación
de costos económicos y ambientales se examina el impacto de los dos modelos y se
sugiere los esquemas óptimos de transporte. Se demuestra que el costo total es menor en
el modelo de recogida completo, el impacto del costo del producto después del reciclaje y
reutilización de los recipientes de agua en el precio total es más importante que el
impacto del costo de transporte y el costo de las emisiones de CO2.
Es importante el aporte del artículo ya que muestra como los algoritmos genéticos
también son eficientes en los problemas que consideran los problemas de transporte y la
logística verde.
2.1.11 A new truck-routing approach for reducing fuel consumption and pollutants
emission.[18]
Se desarrolla un enfoque de restricciones de tiempo, múltiples paradas, problemas de
ruteo de camiones que minimizan el consumo de combustible y las emisiones
contaminantes. El objetivo es minimizar la distancia de entrega del vehículo que debe
viajar con una carga pesada en un tour dado por una secuencia de visitas de los clientes
de tal forma que los artículos más pesados son descargados primero mientras que los
artículos más livianos son descargados después y se considera la cantidad de
combustible quemado durante el tiempo que un camión está detenido en las instalaciones
del cliente. Nuestras simulaciones basadas en el ruteo de un portador real de motor,
sugiere que el enfoque puede producir hasta 6.9% en el ahorro de combustible sobre los
métodos existentes.
El aporte del artículo es el análisis referente a la minimización del consumo de
combustible, mostrando la descarga de los pedidos de mayor peso al inicio de la ruta
tiene un aporte significativo en la función objetivo.
25
2.1.12 Mitigation of greenhouse gas emissions in vehicle routing problems with
backhauling.[4]
En el artículo se presenta la disminución de emisión de gases de efecto invernadero por
medio del problema de ruteo de vehículos con regreso al depósito y ventanas de tiempo,
además considerando el consumo de energía para cada ruta por medio de la carga y la
distancia entre clientes. En el trabajo se indica que el costo de transporte aumenta en
proporción a la distancia y el gasto de energía o combustible que requiere el vehículo para
ir desde un punto a otro en función del peso, además la emisión de gases de efecto
invernadero disminuye cuando hay menor gasto de combustible. La metodología del
trabajo presenta resultados validados para 100 clientes.
El artículo aporta a la investigación al mostrar que se debe buscar un equilibrio entre los
diferentes componentes de la función objetivo y que la cooperación puede ser un buen
mecanismo de mejorar la solución especialmente en el aspecto ambiental.
2.1.13 The milk run revisited: a load factor paradox with economic and
environmental implications for urban freight transport.[19]
En este trabajo se muestra el resultado de otras restricciones de acceso como que el
centro de distribución se encuentre en las afueras de la ciudad y los clientes estén
situados fuera del centro de la ciudad, y restricciones de carga, las cuales pueden afectar
negativamente la función objetivo más que factores como el número de vehículos y la
distancia total recorrida. En el artículo se considera incrementar el factor de carga como
una forma de mejorar la eficiencia, pero se observa que bajo ciertas condiciones afecta a
la sostenibilidad económica y ambiental, mediante el aumento de los costos totales y las
emisiones.
El artículo aporta al planteamiento de la función objetivo dado por el costo de las rutas
considerando factores de consumo de combustible en función del peso del vehículo y la
carga que lleva, la velocidad y distancia lo cual permite considerar el costo ambiental.
La presente investigación busca contribuir a la solución del MDVRP cuando se considera
el costo de combustible, ya que este aspecto es poco explorado en la literatura
especializada, utilizando una metodología híbrida de solución que aporta buenos
resultados a problemas de tipo combinatorial según los artículos revisados.
26
Adicionalmente se resalta el aporte en el agrupamiento de clientes a cada depósito
utilizando un criterio geométrico por medio de la generación aleatoria de elipses alrededor
de los depósitos, teniendo en cuenta que no se encuentran referencias en la literatura
especializada del uso de la elipse para este propósito.
2.2 Marco referencial
El problema de ruteo de vehículos se ha estudiado a través del tiempo considerando
diferentes variaciones con el fin de aproximarse de forma más adecuada a los problemas
reales, entre estas variantes el interés de la presente investigación se centra en el
MDVRP, por lo tanto la literatura revisada es un compendio de artículos que enmarcan las
temáticas que permiten el desarrollo de este trabajo, enfocándose principalmente en la
solución del MDVRP con algoritmos genéticos e híbridos, y en el consumo de
combustible, cabe resaltar que la presente investigación se basa en algunos conceptos
mencionados en la literatura especializada que permiten comprender el problema y
algunas herramientas para su solución pero tiene su sello propio ya que el problema
MDVRP incluyendo el consumo de combustible es poco explorado. Por lo tanto se
incursiona en la adición de la restricción que respecta al consumo de combustible en los
recorridos de cada vehículo aplicado al problema MDVRP, para el cual no se encuentra
resultados de esta restricción en los modelos de la literatura especializada. Dicha
restricción ha sido considerada ampliamente en otras variantes del VRP como el CVRP, el
Vehicle Routing Problem with Time Windows (VRPTW), el PRP, entre otros.
Por otra parte de acuerdo con la revisión de los artículos de la literatura se encuentra que
en general las metodologías híbridas aportan buenos resultados a este tipo de problemas
combinatoriales, comparados con resultados encontrados en las instancias conocidas.
Además los modelos matemáticos propuestos permiten evidenciar tanto el
comportamiento de la función objetivo como de las restricciones en cuanto al tipo de
variables, los factores de sobrecosto, la descripción y semejanza con casos aplicados a la
realidad, teniendo en cuenta esto, es posible abstraer algunas características para la
formulación pertinente al problema de la presente investigación.
27
Otro aporte que se resalta en el desarrollo del proyecto está basado en el agrupamiento
de clientes para cada depósito por medio de la generación aleatoria de elipses de
diferentes radios para generar diferentes posibilidades de asignación y ruteo de clientes
de cada depósito, el hecho de no considerar radios y orientaciones fija en las elipses hace
que se obtengan intercambios de clientes entre los depósitos, lo cual conduce a mejorar
la calidad de las soluciones. Cabe aclarar que en la literatura se encuentran resultados
para la asignación de clientes a los depósitos utilizando circunferencias.
En general el estudio del ruteo de vehículos ha generado importantes aportes a las
empresas en cuanto a la reducción de los costos de transporte al realizar la distribución
de sus productos; de esta forma la variante con múltiples depósitos, involucrando el costo
de combustible se aproxima a la situación real de la distribución de productos lácteos en
la ciudad de San Juan de Pasto, por la disponibilidad de Bodegas que tiene la empresa en
la ciudad y que puede utilizar como depósitos, estudiando también la posibilidad de
disminuir los costos de combustible al programar la visita de los clientes de tal manera
que la carga más pesada sea entregada al inicio de la ruta.
2.3 Marco conceptual
Para el desarrollo de este proyecto se mencionan algunos conceptos básicos
relacionados con los problemas característicos en la distribución y transporte, los cuales
consisten básicamente en asignar una ruta a cada vehículo de una flota para repartir o
recoger mercancías. Como lo indican H. K. Chen, et al. En [20]. Se pueden clasificar de la
siguiente manera:
Por el tamaño de la flota: Un solo vehículo, el número de vehículos limitado o el
número de vehículos ilimitado.
Por el Tipo de flota: Un solo tipo de vehículo o homogénea, con múltiples tipos de
vehículos o heterogénea y con o sin compartimentos para las mercancías.
Por el depósito o almacén: Único, múltiples depósitos y depósitos de
reaprovisionamiento intermedio.
Por naturaleza de la demanda: Determinística o estocástica, dinámica.
Localización de la demanda: En los nodos, arcos o mixta.
28
Restricciones horarias de servicio: Sin restricciones, en el inicio o en el final de la
ruta, y de ventanas temporales únicas o múltiples.
Ciclos de servicio: Único ciclo o varios recorridos.
Restricciones en la capacidad de los vehículos: Limitada y única para todos o
limitada y diferente para algunos vehículos.
Velocidad media de los vehículos: velocidad constante, dependiente del horario
y/o dependiente del recorrido.
Duración máxima de una ruta: limitada e igual para todas, diferente, estricta o
flexible.
Número de rutas por vehículo: Única o varias rutas por vehículo..
Costo: El costo puede ser fijo o variable o mixto, también se puede considerar
penalizaciones por demandas insatisfechas.
Función objetivo: Minimizar costos fijos o variables en el recorrido, minimización de
rutas o vehículos a usar, minimizar tiempo empleado, minimizar esperas,
maximizar beneficio, maximizar función de utilidad del cliente, entre otros.
El problema a resolver se basa principalmente en una extensión del CVRP, consistiendo
en que el total de la demanda de las ciudades visitadas en una ruta no debe superar la
capacidad del vehículo. El objetivo puede ser reducir al mínimo la suma de la distancia
recorrida por todas las rutas, el mínimo número de vehículos, o una combinación de
ambos criterios. Cabe notar que la dirección de la ruta no es una restricción al problema.
29
Figura 2-1 Esquema del problema de ruteamiento de vehículos VRP.
Por otra parte el MDVRP es una extensión del CVRP, para el cual se presenta más de un
depósito, lo cual implica que se debe hacer una asignación de clientes a los diferentes
depósitos y generar las rutas para cada vehículo en el depósito correspondiente.
Figura 2-2 Esquema del problema de ruteamiento de vehículos con múltiples depósitos MDVRP.
30
Un caso más cercano a la realidad se presenta cuando se incluye el costo de combustible
en los recorridos de los vehículos, de tal forma que cada ruta inicia y termina en el mismo
depósito, cada cliente es visitado una sola vez por un vehículo, la demanda total de cada
ruta no supera la capacidad del vehículo y el costo total de ruteo incluyendo el
combustible y la distancia se reduzca al mínimo.
2.4 Heurísticas de generación de población y mejoramiento
Las Heurísticas que se usan para generar la adición de individuos a la población inicial del
algoritmo genético son las siguientes:[21]
Intercambio 2-OPT
Inserción del más barato
Ruta mínima
Técnica de ahorros
Técnica del barrido
Heurística de intercambio 2-OPT.
El algoritmo consiste básicamente en eliminar dos aristas y conectar los dos caminos
resultantes, de una manera diferente, para obtener un nuevo ciclo.
Para el caso particular del problema se toma un vector desde 2 hasta n, donde n
representa el número de clientes que se debe visitar y el numeral 1 representa el
depósito, por lo que no se indica en el vector, este vector se permuta para formar una ruta
aleatoria y se genera para este las rutas respectivas de acuerdo con la capacidad de los
vehículos y la demanda de los distintos clientes. De igual manera se obtiene el valor
objetivo de cada ruta con el fin de verificar si los intercambios mejoran la calidad de las
respuestas en función de la matriz de distancias.
Heurística de inserción del más barato.
Las heurísticas de inserción son métodos constructivos en los cuales se crea una solución
mediante sucesivas inserciones de clientes en las rutas. En cada iteración se tiene una
31
solución parcial cuyas rutas solo visitan un subconjunto de los clientes y se selecciona un
cliente no visitado para insertar en dicha solución. Cuando la inserción se realiza de forma
secuencial, se usa el algoritmo de Mole & Jameson en el que solo se considera insertar
clientes en la última ruta creada, siendo esto una desventaja puesto que los últimos
clientes no visitados tienden a estar dispersos y por lo tanto las últimas rutas construidas
son de costo muy elevado. Otra forma de realizar las inserciones es en paralelo, de forma
que se pueda insertar un cliente en cualquiera de las rutas de la solución para lo cual se
puede usar el algoritmo de Christofides, Mingozzi y Toth, citados en la tesis de A. Olivera
[22].
Heurística de la ruta mínima o vecino más cercano.
Esta heurística corresponde al método básico de solución al problema del agente viajero o
TSP. De este modo se toma el número de clientes o ciudades del problema y se realiza
una inspección inicial de la distancia mínima desde el deposito hacia los clientes, tomando
como criterio visitar al que tenga la distancia mínima y así sucesivamente hasta completar
la capacidad del vehículo para luego regresar al depósito y continuar con el siguiente
vehículo hasta terminar de visitar a todos los clientes por medio del algoritmo de Dijkstra
como se cita en la tesis de A. Olivera.[22].
En este caso se debe realizar un control sobre los clientes ya visitados y la capacidad de
los vehículos, así se inicia con el nodo que tenga la distancia mínima con respecto al
depósito y se continua visitando el próximo más cercano al nodo anterior, cuando se haya
terminado la capacidad del vehículo se vuelve a calcular la distancia mínima de los
clientes no visitados con respecto al depósito y se continua el proceso colocando un valor
de uno en un vector de dimensión igual al número de ciudades para indicar que en la
posición de dicha ciudad ya se hizo la visita, con lo que se restringe a ser visitado
nuevamente por otro vehículo.
Heurística de ahorros de Clarke y Wright.
La idea central de las Heurísticas de Ahorro es que se van combinando las rutas, en la
medida que al pasar a ser una sola ruta se producen ahorros de costos. Uno de los
32
algoritmos de este tipo, y a la vez de los más difundidos para el VRP es el Algoritmo de
Ahorros de Clarke & Wright. Citados en la tesis de A. Olivera. [22]. Si en una solución dos
rutas diferentes ( 0 , ... , i , 0 ) y ( 0 , j , ... , 0 ) pueden ser combinadas formando una
nueva ruta ( 0 , ... , i , j , ... , 0 ).
Figura 2-3 Grafo Técnica de ahorros
El ahorro en distancia obtenido por dicha unión se presenta con la ecuación 2-1:
𝒔𝒊𝒋 = 𝒄𝒊𝟎 + 𝒄𝟎𝒋 − 𝒄𝒊𝒋 (2-1)
Donde 𝑠 representa el ahorro de introducir la ruta i, j. La variable 𝑐, representa el costo de
ir desde i al origen, o de j al origen y de i a j.
La nueva solución obtenida es la que genera el mayor ahorro siempre que no se violen las
restricciones del problema como puede ser la capacidad del vehículo, o el sentido de las
vías, entre otras.
Los pasos a seguir en esta metodología son los siguientes:
Para cada cliente i construir la ruta (0, i, 0).
Calcular una matriz de ahorros.
Tomar el máximo ahorro y verificar si la solución es factible. Si lo es tomar como nueva
solución, de lo contrario volver a calcular ahorros con otro cliente.
Una de las deficiencias del algoritmo de Clark & Wright es que tiende a producir buenas
rutas al comienzo, pero rutas menos interesantes hacia el final. Para remediar esto, se
puede realizar una penalización en la función de ahorros con la unión de rutas con
clientes lejanos. Notaciones que se encuentran en la tesis de A. Olivera, [30].
iii
iii
i i
iii
iii
iii
iii
iii
iii
i
i
i
33
Figura 2-4 Asignación de la ruta a cada nodo
Técnica del barrido.
Esta técnica hace una asignación inicial para luego generar la ruta. Básicamente consiste
en tomar las coordenadas de la posición angular de los clientes y hacer un barrido angular
desde el ángulo más cercano al depósito, se hace girar una recta con origen en el
depósito hacia los clientes, estos se van asignando a la ruta mientras se cumpla la
restricción de capacidad del vehículo, además si existen dos o más clientes con el mismo
ángulo de orientación, se ordena de acuerdo al más cercano según el radio. Se puede
hacer una mejora de las rutas usando algoritmos de vecino más cercano u otros para
resolver el TSP en cada ruta.
1
2
3 4
5
34
3 Modelo Matemático
La representación matemática del MDVRP se construye a partir del modelo del CVRP, al
cual se le adiciona la consideración de más de un depósito y en el caso particular de este
proyecto se tiene en cuenta el costo del combustible.
3.1.1 Modelo matemático del CVRP
El modelo matemático del CVRP se toma como base inicial en la construcción del
MDVRP. Como objetivo principal está la disminución del costo de recorrido de los
vehículos en todos los trayectos.
Posteriormente se tiene un número máximo de vehículos con capacidad homogénea fija,
los cuales salen desde un punto denominado almacén, el que será el origen de las
diferentes rutas que recorren todos los vehículos, cubriendo todos los puntos o clientes,
quienes presentan una demanda conocida que debe ser satisfecha por el único vehículo
que lo visite. A continuación se lista la notación, variables de decisión y los parámetros:
Notación:
i: nodo de partida del vehículo.
j: nodo de llegada del vehículo.
k: Vehículo a utilizar (1,2,3,…k)
d: Demanda del cliente.
Variables de decisión:
xijk : Si es igual a 1, el vehículo k es asignado para recorrer el arco desde el nodo i al
nodo j. Es igual a 0 en caso contrario.
yij : 1 si se realiza el recorrido desde el nodo i, hasta el nodo j. 0 en caso contrario.
Parámetros:
cij= Costo de transporte del nodo i al nodo j
di= Demanda en el nodo j
u= Capacidad del recurso k
35
n= Cantidad de clientes
El Modelo matemático de ruteo según los aportes de Ahuja et al. [24] y Olivera [22], se
lista con las ecuaciones siguientes:
𝑴𝒊𝒏𝒊𝒎𝒊𝒛𝒂𝒓 ∑ 𝒄𝒊𝒋 ∗ 𝒚𝒊𝒋
(𝒊,𝒋)∈𝑨
(3-1)
Sujeto a:
∑ 𝒙𝒊𝒋𝒌 = 𝒚𝒊𝒋 ; ∀ 𝒊, 𝒋
𝟏≤𝒌≤𝑲
(3-2)
∑ 𝒚𝒊𝒋
𝟏≤𝒋≤𝒏
= 𝟏 ; ∀ 𝒊 (3-3)
∑ 𝒚𝒊𝒋
𝟏≤𝒊≤𝒏
= 𝟏 ; ∀ 𝒋 (3-4)
∑ 𝒚𝟎𝒋
𝟏≤𝒋≤𝒏
= 𝒌 (3-5)
∑ 𝒚𝒊𝟎
𝟏≤𝒋≤𝒏
= 𝒌 (3-6)
∑ ∑ 𝒅𝒊 ∗ 𝒙𝒊𝒋𝒌
𝟏≤𝒋≤𝒏
≤ 𝒖 ; ∀ 𝒌
𝟏≤𝒊≤𝒏
(3-7)
∑∑𝒚𝒊𝒋
𝒋∈𝑸
≤ |𝑸| − 𝟏; ∀ 𝒔𝒖𝒃𝒄𝒐𝒏𝒋𝒖𝒏𝒕𝒐 𝒅𝒆 𝑸 𝒅𝒆 {𝟏, 𝟐, … , 𝒏}
𝒊∈𝑸
(3-8)
𝒌 ≤ 𝑲 (3-9)
𝒚𝒊𝒋 ∈ {𝟎, 𝟏} ; ∀ (𝒊, 𝒋) ∈ 𝑨 (3-10)
𝒙𝒊𝒋𝒌 ∈ {𝟎, 𝟏} ; ∀ (𝒊, 𝒋) ∈ 𝑨, ∀ 𝒌 (3-11)
El conjunto A se define como: A= {(i, j): yij=1}. Es decir el conjunto de aristas del grafo con
la posibilidad de hacer un solo recorrido desde el nodo i hacia el nodo j. Todas las rutas
empiezan en 0 y terminan en 0. Cada arco (i, j) ∈ A, i≠j, de la red tiene asociado un costo
cij. Cada vehículo se caracteriza por tener una capacidad de carga q. Cada cliente
presenta una demanda di, i ∈ C. Para cada uno de los clientes, también se asumirá que
todos los datos son números no negativos. De este modo, el modelo es determinístico.
36
Las restricciones presentadas en el modelo tienen como finalidad diseñar un conjunto de
rutas de costo mínimo, una para cada vehículo, cumpliendo las siguientes condiciones:
Atender exactamente una sola vez a cada cliente.
Cada ruta debe empezar y terminar en el depósito.
Respetar las restricciones de capacidad de los vehículos.
En el modelo se encuentra inicialmente la función objetivo en (3-1), la cual indica que se
requiere minimizar la suma de los costos de ir desde el depósito hacia todos los nodos,
donde el costo básicamente es la distancia entre dichos nodos.
Se debe asignar a cada cliente un vehículo y una secuencia de clientes para cada
vehículo que logre el costo mínimo.
La restricción (3-2) permite obligar la asignación de un vehículo a la ruta (i, j), si esta es
recorrida, y no asignarlo si la ruta no se va a recorrer, esta restricción contiene la variable
de decisión x que indica que si x=1, se usa el vehículo k en el arco i, j o no.
Las restricciones (3-3) y (3-4), indican la activación del arco i, j por medio de la variable
y, lo que determina un recorrido entre los nodos i, j, además se asegura que todo cliente
es un nodo intermedio de alguna ruta. Es decir que se asegura que cada cliente es
visitado una sola vez por un vehículo.
Las restricciones (3-5) y (3-6), indican que k es la cantidad de vehículos utilizados en la
solución y que todos los que parten del depósito deben regresar al mismo.
La restricción (3-7) observa que cada vehículo no sobrepase su capacidad.
La restricción (3-8) vigila que la solución no contenga ciclos usando los nodos 1,2,…n. De
otra manera los arcos de A contendrían algún ciclo pasando a través de un conjunto de
nodos Q y la solución violaría la restricción, porque el lado izquierdo de la restricción
sería al menos |Q|.
La restricción (3-9) limita el número máximo de vehículos a utilizar hasta una cantidad
máxima.
Finalmente las restricciones (3-10) y (3-11) indican que las variables x, y son binarias.
37
3.1.2 Modelo matemático para el MDVRP
Este modelo toma como base el modelo anterior con la diferencia principal que consiste
en realizar un ruteo en cada uno de los depósitos del problema, por ello se observa que
en la función objetivo se adiciona una tercera sumatoria que garantiza el ruteo para cada
uno de los depósitos. A continuación se describe el modelo matemático para el MDVRP
propuesto en Sureka P. et al. [11]
Modelo matemático del problema de ruteo de vehículos con múltiples depósitos,
involucrando el costo de combustible.
Conjuntos:
I: Conjunto de depósitos
J: Conjunto de clientes
K: Conjunto de vehículos
Índices:
i: Índice del depósito
j: Índice del cliente
k: Índice de la ruta
Parámetros:
N: Número de vehículos
cij: Distancia entre punto i y j
Vi: Máxima capacidad para el deposito i
di: Demanda del cliente j
Qk: Capacidad del vehículo (Ruta) k
Pv: Peso del vehículo vacío
Variables de decisión:
xijk =1, si el cliente j sale del depósito i en la ruta k.
xijk =0, en otro caso.
38
zij =1, si el cliente j es asignado al depósito i
zij =0, en otro caso
Ulk: Variable auxiliar para restricciones de eliminación de sub tours en la ruta k.
La función objetivo es minimizar la distancia total de todos los vehículos dados por la
ecuación (3-12)
ij ijk
i I J j I J k K
Min c x
(3-12)
Cada cliente ha sido asignado a una única ruta. Ecuación (3-13)
1,ijk
k K i I J
x j J
(3-13)
La restricción de capacidad para un conjunto de vehículos está dada por la ecuación
(3-14)
,j ijk k
j J i I J
d x Q k K
(3-14)
La ecuación (3-15) indica el nuevo conjunto de restricciones para la eliminación de sub
tour.
1, , ,lk jk ijkU U Nx N l j J k K (3-15)
Las restricciones de conservación de flujo se indican en la ecuación (3-16)
0, ,ijk jik
j I J j I J
x x k K i I J
(3-16)
Se asigna un único vehículo a cada ruta. Ecuación (3-17)
1,ijk
i I j J
x k K
(3-17)
La restricción de capacidad para los depósitos se indica en la ecuación (3-18)
,i ij i
j J
d z V i I
(3-18)
39
La restricción de la ecuación (3-19) específica que un cliente puede ser asignado a un
depósito únicamente.
( ) 1, , ,ij iuk ujk
u I J
z x x i I j J k K
(3-19)
Las variables de decisión son de tipo binario. Ecuación (3-20) y Ecuación (3-21)
0,1 , , ,ijkx i I j J k K (3-20)
0,1 , ,ijz i I j J (3-21)
Se define a la variable auxiliar con valores positivos. Ecuación (3-22)
0, ,lkU l J k K (3-22)
3.1.3 Costo de combustible
Con base al modelo anterior, se considera en esta investigación la adición de un factor en
la función objetivo que permita acercarse al caso real teniendo en cuenta que el costo de
transporte no depende únicamente de la distancia entre clientes, sino que además
depende del gasto de combustible, el cual está dado por la carga transportada por los
vehículos.
El factor de sobrecosto se considera de acuerdo a características del vehículo y la
demanda de los clientes, teniendo en cuenta que en la medida que el vehículo realiza sus
descargas o entregas el factor de sobrecosto disminuye en proporción a la disminución
del peso del mismo durante su recorrido, es decir que a menor carga del vehículo menor
gasto de combustible.
De acuerdo a esto el factor (fijk) se escribe de la siguiente manera en la ecuación (3-23)
tomo como referencia los aportes de Xiao [7], teniendo en cuenta que a medida que la
ruta avanza la carga disminuye. Cabe aclarar que el factor fijk actúa como un porcentaje
de sobrecosto en la función objetivo y en ningún momento altera la linealidad de la misma.
f 1 /ijk j vd P (3-23)
Dónde:
40
Peso del vehículo vacío (Pv): se considera un vehículo estándar tipo camioneta con
contenedor para conservación de cadena de frío, usado por la empresa de distribución de
productos lácteos, el cual según sus características técnicas tiene un peso vacío de 1415
kg.
De acuerdo con las características de la camioneta anteriormente descrita se encuentra el
peso bruto igual a 2630 kg menos el peso del vehículo vacío de 1415 kg es igual a 1215
kg, es decir que el vehículo cumple con la capacidad de 60 canastos de 20 kg cada uno.
Finalmente la función objetivo se la considera multiplicando al costo de distancia por el
factor anteriormente descrito así, en la ecuación (3-24)
ij ijk ijk
i I J j I J k K
Min c x f
(3-24)
Se aclara que el modelo a resolver está definido por las ecuaciones 3-12 a 3-22, teniendo
en cuenta que la ecuación 3-12 se modifica como se muestra en la ecuación 3-24, la cual
considera el costo de combustible.
41
4 METODOLOGÍA DE SOLUCIÓN DEL MDVRP CONSIDERANDO
EL COSTO DE COMBUSTIBLE
El MDVRP, con costo de combustible, siendo un problema NP-hard, es difícil abordarlo de
forma exacta, porque implica una alta complejidad algorítmica y excesivo tiempo
computacional, por lo tanto se plantea una metodología híbrida que consiste en aplicar
diferentes formas de asignar clientes a los depósitos y heurísticas en el ruteo de los
vehículos. En este capítulo se aborda inicialmente el modelamiento matemático propio
para este tipo de problemas de programación lineal entera, posteriormente se muestra la
metodología híbrida que permite encontrar soluciones factibles por medio de algoritmos
genéticos alimentados en su población inicial por distintos métodos heurísticos.
En resumen se presenta el siguiente listado de pasos que conforman el mecanismo de
solución:
1. Se toma las características del MDVRP (coordenadas, demanda, capacidad,
número de depósitos) como elementos de entrada para el desarrollo del problema.
2. Se desarrolla una codificación en estructura matricial que se mantendrá a lo largo
de todo el proceso algorítmico.
3. Se realiza 2 algoritmos para asignación de clientes a depósitos, los cuales
consisten en la propuesta del trazado de elipses con centro en los depósitos y a
través de las rotaciones de la secuencia del TSP obtenida por el algoritmo de Lin-
Kernighan [25].
4. De acuerdo con la codificación se denomina individuo a la estructura con las
características vectoriales tales como secuencia de visitas, demanda, pertenencia
a depósito y rutas entre otros; dicho individuo se envía al Algoritmo Genético de
Chu Beasley (AGCB), para generar el ruteo por cada depósito considerando varias
soluciones de asignación.
5. Una vez obtenido el ruteo para las múltiples respuestas de asignación se procede
a realizar un mejoramiento de estas soluciones a través de algoritmos de
intercambio tanto entre rutas como entre depósitos para lo cual se utiliza el
algoritmo de intercambios Shift (1, 0) y (2,0) [26], donde un cliente de una ruta es
transferido a otra o dos clientes consecutivos de una ruta son transferidos a otra
respectivamente y se propone un algoritmo con criterio geométrico el cual usa una
42
circunferencia de diámetro generado por la separación entre cada uno de los
depósitos.
6. Se presenta la solución de la estructura del mejor individuo junto con su
representación gráfica.
4.1 Codificación
La codificación propuesta en la presente investigación se presenta a continuación:
Cada individuo requiere de cinco elementos así:
Vector con secuencia de visita de clientes (J)
cj: cliente j-ésimo, donde jϵ{1, 2, 3,…, n}
J: Vector de clientes, J= [c1, c2,…, cn], donde n es el número de clientes
Vector de demandas (D)
dj para j=1, 2, 3, …, n
D= [d1, d2, d3,…, dn], siendo d1,la demanda para el cliente 1
Vector de número de clientes que corresponden a cada depósito (Depo)
Depo= [a1, a2, a3,…, ad], donde d es el número de depósitos, entonces a1 es el número del
primer cliente asignado al depósito 1.
ai : representa a cada elemento del vector Depo, el cual contiene el número de clientes
que corresponden al depósito i.
Rutas o vehículos (V) de dimensión igual al número de depósitos por el número
máximo de rutas por depósito+1
V =
43
Dónde: k es el número máximo de vehículos por ruta y bdk es el número de clientes del
depósito d hasta k vehículos, por ejemplo b11 es el número de clientes de la primera ruta
del depósito 1.
Función Objetivo (fo)
fo = [Q]
Qi = Costo total de las rutas de todos los depósitos
A=
[ 𝐴. 𝐽1 𝐴.𝐷1 𝐴. 𝐷𝑒𝑝𝑜1 𝐴. 𝑉1 𝐴. 𝑓𝑜1
𝐴. 𝐽2 𝐴.𝐷1 𝐴. 𝐷𝑒𝑝𝑜2 𝐴. 𝑉2 𝐴. 𝑓𝑜2…
𝐴. 𝐽𝑚 𝐴.𝐷𝑚 𝐴. 𝐷𝑒𝑝𝑜𝑚 𝐴. 𝑉𝑚 𝐴. 𝑓𝑜𝑚]
La figura 4-1 representa de forma general la metodología de solución en la cual se toma
un conjunto de Individuos A compuesto por elementos J, los cuales representan
soluciones de asignación de clientes por cada depósito, a cada uno de estos elementos
se les realiza el ruteo por medio de un AGCB, el cual consiste en extraer de cada J, un
vector de clientes de cada depósito, a este vector se le realiza el ruteo, consistente en la
conformación de una población inicial de individuos usando un algoritmo genético simple
más un listado de algoritmos heurísticos, con lo cual se establece la población inicial para
desarrollar el AGCB (para cada individuo del conjunto A por cada depósito),
seleccionando a 30 mejores soluciones según la función objetivo y que sean diferentes
entre sí. Una vez establecida y decantada la población del AGCB, se procede a cumplir
con la metodología de este, es decir realizar selección, cruce, mutación, factibilización de
hijos (usando 2opt y VNS), mejoramiento e ingreso de nuevos individuos a la población,
siempre y cuando estos sean diferentes a los individuos existentes y de mejor calidad de
acuerdo con el valor de su función objetivo. Una vez ruteado el individuo J para cada
depósito se procede a conformarlo usando la misma nomenclatura para enviarlo
nuevamente al conjunto A. Esto se realiza con cada uno de los individuos de A.
44
Figura 4-1 Representación gráfica de la metodología de solución
4.2 Ejemplo
A continuación se desarrolla la metodología utilizada a partir de un ejemplo reducido con
el fin de representar la forma de codificación y el funcionamiento del algoritmo, dicho
ejemplo tiene las siguientes características.
m: número de vehículos= 3
n: número de clientes= 8
t: número de depósitos= 2
Q= Carga máxima del vehículo= 16
M= Datos de entrada (Tabla 4-1).
45
Tabla 4-1 Datos de entrada
CLIENTE X Y DEMANDA
1 3 5 8
2 13 11 2
3 6 10 5
4 8 6 7
5 15 10 2
6 11 12 12
7 5 9 3
8 9 4 6
9 (Depósito) 6 6 0
10 (Depósito) 11 8 0
Los datos de entrada producen la siguiente distribución de los clientes y depósitos en el
plano cartesiano.
Figura 4-2 Coordenadas (x, y) de clientes y depósitos
Coordenada x
Co
ord
en
ad
a y
46
ASIGNACIÓN POR MEDIO DE ELIPSES.
Figura 4-3 Iteración 1 - Construcción de elipses
La construcción de las elipses en la primera iteración genera un individuo con estructura
acorde a la codificación mencionada.
J1= [1 7 3 4 6 2 5 8] (conjunto de clientes)
D1= [8 3 5 7 12 2 2 6] (demanda de cada cliente)
Depo1= [4 4] (número de clientes de J1 que pertenecen a cada depósito)
V1= 1 3 02 2 0
Cada fila de la matriz representa cada depósito, conteniendo el número de clientes
asignados a cada ruta, así en el ejemplo la primera ruta del primer depósito contiene 1
cliente.
47
Figura 4-4 Representación gráfica del Individuo 1
fo = 54.72 (Costo del individuo 1)
Cada iteración de las elipses produce individuos diferentes.
Figura 4-5 Iteración 2 - Construcción de elipses
J2= [3 7 1 4 8 6 2 5]
D2= [5 3 8 7 6 12 2 2]
Depo2= [3 5]
V2= 3 0 02 3 0
48
Figura 4-6 Representación gráfica del individuo 2
fo = 48.35
ASIGNACIÓN APLICANDO LIN-KERNIGHAN [25] permite resolver el TSP para
los clientes sin incluir los depósitos, a partir de esta solución se asigna clientes a
los depósitos según la demanda iniciando con el primer cliente de la solución del
TSP.
Figura 4-7 Solución del TSP
J3= [1 7 3 6 2 5 8 4]
D3= [8 3 5 12 2 2 6 7]
Depo3= [4 4]
49
V3= 3 1 02 2 0
Figura 4-8 Representación gráfica del individuo 3
fo = 48.35
Los individuos a partir de la solución del TSP surgen al rotar el cliente de inicio en la
asignación, entonces se repite el procedimiento por ejemplo iniciando en el cliente 3 hasta
que el depósito1 cumpla su capacidad y el resto de clientes para el depósito2 (sin exceder
la capacidad del mismo).
Los individuos generan un conjunto de soluciones a la asignación de clientes a los
depósitos correspondientes que se designa como A
A = 𝐽1 …𝐽𝑛
Donde, n es el número de individuos correspondientes a la solución por asignación,
generados por las iteraciones de las elipses (20) y las rotaciones del Lin-Kernighan (10%
del total de clientes).
RUTEO
Algoritmo Genético de Chu - Beasley modificado (AGCB)
La información de cada individuo Jn permite establecer los datos para cada depósito y así
generar el ruteo. Por ejemplo tomando el individuo 1 (J1) como se describió anteriormente
50
se generan J11 y J12 a partir de él, debido a que en el ejemplo hay 2 depósitos, siguiendo
la misma lógica de la codificación así:
Para el depósito 1, J11 = [1 7 3 4]; D11= [8 3 5 7]
Para el depósito 2, J12 = [6 2 5 8]; D12= [12 2 2 6]
Por lo tanto cada depósito recibe el número de clientes que le corresponda según el
vector
Depo1= [4 4] dado por J1. Entonces aplicando la técnica de los ahorros se encuentra la
solución de ruteo de inicio para cada depósito así:
Para el depósito 1, J11 = [3 4 1 7]; D11= [5 7 8 3]; V11 = [2 2]
Para el depósito 2, J12 = [6 2 5 8]; D12= [12 2 2 6]; V12 = [1 3]
Debido a que el algoritmo genético requiere de una población, se toma los clientes del
individuo y se permutan, luego a cada uno de estos se lo rutea usando ahorros; en unión
con algoritmos heurísticos se genera una población con individuos diferentes, estos iteran
según la metodología del AGCB para encontrar una mejor solución a cada sección del
individuo de A. Obteniendo finalmente el individuo (J1) actualizado para el conjunto de
individuos A. En la tabla 4-2, se muestra un individuo J1 que ingresa al AGCB y como se
actualiza para ser una posible solución del problema.
51
Tabla 4-2 Ruteo de Vehículos usando AGCB
Algoritmo Genético de Chu – Beasley modificado por cada depósito
J11= [1 7 3 6 ]
D11= [8 3 5 12]
Depo11= [4 0]
V11= 2 2 00 0 0
f0 = 28.71
J12= [ 2 5 8 4]
D12= [ 2 2 6 7]
Depo12= [4 0]
V12= 1 3 00 0 0
f0 = 41.53
La respuesta final del AGCB Integra nuevamente los vectores clientes de cada depósito
así:
J1= [1 7 3 6 2 5 8 4]
D1= [8 3 5 12 2 2 6 7]
Depo1= [4 4]
V1= 3 1 02 2 0
f0 = 48.35
Una vez hecho el ruteo de los individuos de A, se desarrollan algoritmos de mejoramiento
que permitan obtener intercambios entre rutas y depósitos, usando Shift (1, 0), Shift (2, 0)
[26] y mediante el trazo de una circunferencia con diámetro igual a la distancia entre
depósitos, lo que permite seleccionar individuos candidatos a intercambiar, como se
muestra en las tablas 4-3 y 4-4.
52
Tabla 4-3 Intercambio de clientes entre rutas
Shift (1, 0) para el individuo J3
J3= [1 7 3 6 2 5 8 4]
D3= [8 3 5 12 2 2 6 7]
Depo3= [4 4]
V3= 3 1 02 2 0
f0 = 48.35
J3= [1 7 3 6 2 5 8 4]
D3= [8 3 5 12 2 2 6 7]
Depo3= [4 4]
V3= 3 1 03 1 0
f0 = 66.24 En este caso no hay mejora
Shift (2, 0) para el individuo J1
J1= [1 7 3 6 2 5 8 4]
D1= [8 3 5 7 12 2 2 6]
Depo1= [4 4]
V1= 1 3 02 2 0
f0 = 54.72
J1= [1 7 3 6 2 5 8 4]
D1= [8 3 5 12 2 2 6 7]
Depo1= [4 4]
V1= 3 1 02 2 0
f0 = 48.35 En este caso hay mejora
Tabla 4-4 Intercambio de clientes entre depósitos
53
Intercambio entre depósitos para el individuo J3
Elección del cliente a ser intercambiado Nueva solución
J2= [3 7 1 4 8 6 2 5] D2= [5 3 8 7 6 12 2 2] Depo2= [3 5]
V2= 3 0 02 3 0
f0 = 48.35
J2= [3 7 1 4 8 6 2 5] D2= [5 3 8 7 6 12 2 2] Depo2= [4 4]
V2= 3 1 01 3 0
f0 = 45.36 En este caso hay mejora
4.3 Desarrollo Metodológico
4.4 Asignación de clientes a los depósitos
Se describe inicialmente cómo se realiza la asignación de los clientes a los depósitos
utilizando como primer método el criterio de pertenencia o cercanía de los clientes a
elipses de diferentes radios y orientación construidas alrededor de los depósitos,
permitiendo adicionalmente el intercambio de clientes entre los mismos.
Como segundo método se realiza el ruteo primero solucionando el TSP con el software
Concorde aplicando el algoritmo de Lin-Kernighan, para tomar como base el orden de
visita y realizar la asignación de clientes a cada depósito.
54
4.4.1 Asignación utilizando elipses
Con el fin de obtener un punto de comparación con los criterios geométricos de las elipses
se realiza un proceso preliminar de asignación por menor distancia de los clientes a los
depósitos como se describe a continuación.
En una matriz de dimensión n (número de depósitos) * m (número de clientes), se ordena
en forma ascendente según la distancia de cada cliente al depósito correspondiente,
ejemplo:
Tabla 4-5 Clientes ordenados de menor a mayor distancia por cada depósito
Cliente 1 Cliente 2 Cliente 3 … Cliente m
Depósito 1 2 4 1 … 6
Depósito 2 1 5 4 … 7
Depósito 3 2 6 3 … 8
… … … … … …
Depósito n 9 7 8 … 3
Para asignar los clientes a cada depósito se recorre cada fila de la Tabla 4-5; entonces se
analiza la distancia del primer cliente con respecto a todos los depósitos por ejemplo si la
distancia del cliente 2 es menor al depósito 1 que a los demás, entonces se asigna al
mismo en caso contrario el primer cliente del depósito 1 será el siguiente en este caso el
4. En caso de haber empate en distancia se realiza la asignación aleatoriamente. Cabe
anotar que la asignación de clientes está condicionada a la capacidad de cada depósito.
De esta manera se actualizan los datos como se muestra en la Tabla 4-6 conteniendo los
clientes asignados según los criterios anteriores a cada depósito.
Tabla 4-6 Clientes asignados a cada depósito
Cliente 1 Cliente 2 Cliente 3 … Cliente m
Depósito 1 2 4 8 … 0
Depósito 2 1 5 0 … 0
Depósito 3 10 6 3 … 0
… … … … … 0
Depósito n 9 7 12 … 0
55
Cabe anotar que por facilidad en la codificación algorítmica se tiene una matriz de
dimensiones n*m en la cual el total de clientes se ha distribuido en los n depósitos por lo
cual los elementos faltantes en cada fila se completa con ceros.
Posteriormente un vector describe el número de clientes por cada depósito tabla 4-7.
Tabla 4-7 Número de clientes asignados por depósitos
Depósito 1 Depósito 2 Depósito 3 … Depósito n
3 13 5 … 7
Con la información de las Tablas 4-6 y 4-7, se realiza el ruteo para cada depósito con la
técnica de los ahorros de Clarke y Wright citada en [27] , entonces se toma para el
depósito 1 un vector con los clientes que le pertenecen así:
Tabla 4-8 Clientes que pertenecen al depósito 1
2 4 8
Con la información anterior se realiza la búsqueda de la distancia que corresponda a los
clientes asignados a cada depósito y se procede a encontrar la matriz de ahorros en cada
uno de estos.
Después de aplicar la técnica de los ahorros de Clarke y Wright citada en [27] se define el
orden de los clientes y el número de rutas según la capacidad de los vehículos.
Finalmente se calcula la función objetivo sumando el costo de distancia de cada ruta y en
cada depósito. Sirviendo como parámetro de comparación para nuevas asignaciones de
clientes a los depósitos de acuerdo con el uso de elipses de forma iterativa y aleatoria. El
valor de la función objetivo encontrado en este método sirve como referencia para la
etapa de agrupación con elipses, ya que es una forma de controlar que los radios
aleatorios de las elipses no sean desproporcionados generando valores de la función
objetivo inadecuados.
En cuanto a la asignación con el uso de elipses como parte importante de la presente
investigación se plantea asignar clientes a los depósitos teniendo en cuenta un criterio
geométrico de agrupación a partir de elipses de diferentes radios y orientaciones que se
56
construyen alrededor de los depósitos, generando una amplia gama de posibilidades de
asignación; este criterio se considera un aporte importante ya que la elipse no ha sido
utilizada para tal fin. En la revisión del estado del arte se encuentra que la elipse se utiliza
en el caso de la solución del problema de ruteo de vehículos con múltiples depósitos con
rutas inter depósitos, donde se construye una elipse tomando como focos 2 depósitos,
entonces los clientes son en primer lugar ordenados de acuerdo al ángulo que forman con
el eje mayor de la elipse [15]. En cuanto a criterios geométricos de agrupación en la
literatura especializada se encuentra un mecanismo para asignar clientes a los depósitos
en el problema MDVRP produciendo soluciones iguales a las mejores encontradas en
menor tiempo computacional a través de circunferencias [13]. Adicionalmente se han
obtenido buenos resultados al agrupar clientes primero y rutear después.[9]. El proceso
de asignación por el método de las elipses se describe a continuación:
Construcción de elipses alrededor de los depósitos
El primer paso es generar elipses alrededor de los depósitos tomando como referencia
para la asignación de los valores de los radios mayor y menor, la máxima distancia entre
puntos según las coordenadas de los clientes y la mínima distancia desde un depósito al
cliente más cercano. Además se considera la distancia máxima dividida entre el número
de depósitos permitiendo que el intervalo para la selección de los radios aleatorios sea
pequeño y distribuido entre toda el área de los clientes, con esto se logra que los radios
aleatorios sean relativamente semejantes entre si y que no se generen unas elipses muy
grandes u otras muy pequeñas ya que esto produciría sobrecarga de clientes o
subutilización de la capacidad de los depósitos, también la elección de los radios
aleatorios se controla con el valor de la función objetivo comparándola con el valor
generado en el proceso anterior de asignación mediante el criterio de menor distancia; por
otra parte la orientación de las elipses se genera de forma aleatoria. Con el fin de tener
varias posibilidades de agrupación para responder a las diversas características
geométricas de ubicación de los clientes y su densidad en la región de cobertura se
generan alrededor de 2800 iteraciones, como se observa en la calibración de los
parámetros posteriormente. En las figuras 4-10 y 4-11 se puede observar las diferentes
posibilidades de asignación de clientes a los depósitos al realizar las iteraciones.
57
Figura 4-9 Primera posibilidad de asignación de clientes a los depósitos
En una segunda iteración aleatoriamente se generan combinaciones de elipses en
diferentes ángulos de rotación, con radios distintos, presentándose una asignación de
clientes a los depósitos diferente a la anterior. Obteniendo respuestas de asignación
distintas que permiten el intercambio de clientes entre depósitos.
Figura 4-10 Segunda posibilidad de asignación de clientes a los depósitos
Asignar clientes a los depósitos
La pertenencia de un cliente a una elipse se analiza según la desigualdad [28] (4-25):
58
2 2
2 21
x despx y despy
a b
(4-25)
Dónde:
x = Coordenada en sentido x del cliente
y = coordenada en sentido y del cliente
despx = desplazamiento en sentido x del centro de la elipse (correspondiente a uno de los
depósitos).
despy = desplazamiento en sentido y del centro de la elipse (correspondiente a uno de los
depósitos).
a = radio mayor de la elipse
b =radio menor de la elipse
En la inecuación (4-25) implícitamente se encuentran las ecuaciones de rotación (4-26) y
(4-27), para poder considerar el caso de la elipse cuando toma un ángulo de rotación
aleatorio así:
cosxrotación x ysen (4-26)
cosyrotación y xsen (4-27)
Por lo tanto si el cliente evaluado cumple con la desigualdad significa que pertenece a la
elipse y queda asignado al depósito que geométricamente corresponde a su centro.
Como se puede observar en las figuras 4-10 y 4-11, en cada iteración se presenta una
posibilidad diferente de asignación aportando alta variabilidad a la elección de clientes por
depósito, permitiendo así evaluar con agilidad deferentes agrupaciones de puntos,
garantizando también cercanía de los mismos a los depósitos. Se observa también que
hay clientes fuera de las elipses y otros pertenecen a una o varias elipses. Teniendo en
cuenta estas condiciones y que todos los clientes queden asignados a un depósito se
plantean los siguientes criterios:
59
Criterio 1: El cliente evaluado pertenece a una única elipse si la desigualdad (4-25) se
cumple para un sólo depósito.
Criterio 2: Si un cliente pertenece a varias elipses, la desigualdad (4-27) se cumple para
varios depósitos, por lo tanto se utiliza la matriz de distancias para evaluar cuál de los
depósitos está más cercano al punto evaluado, siempre y cuando cumpla con la
capacidad; si la capacidad del depósito no es suficiente se toma la segunda mejor
distancia. De ser necesario se repite este proceso hasta tomas la mejor distancia posible
cumpliendo también con la capacidad del depósito elegido.
Criterio 3: Si un cliente no pertenece a ninguna elipse. Se asigna al depósito más
cercano teniendo en cuenta la periferia de las elipses siempre y cuando cumpla con la
capacidad, si el cliente excede la capacidad del depósito se busca en orden la mejor
distancia.
Evaluación de la asignación de clientes obtenida de las elipses:
Con el fin de obtener un costo de referencia inicial se calcula el VRP, utilizando el
algoritmo de los ahorros de Clarke y Wright mencionado anteriormente para todos los
depósitos con cada iteración de las elipses, encontrando los mejores valores de la función
objetivo, que reflejan asignaciones adecuadas producto del funcionamiento de la
geometría de las elipses. Las mejores asignaciones harán parte posteriormente de la
selección de soluciones de agrupamiento de clientes para los depósitos en el algoritmo
genético. Entonces se toman las 10 mejores soluciones, con el fin de no demandar tiempo
computacional en un alto porcentaje.
De otra parte para evitar la generación de matrices de dimensiones elevadas con cada
iteración, se toma una matriz en la que se guarda la asignación obtenida, de dimensiones
dadas por el número de depósitos y el número de soluciones deseadas (10) como las filas
de dicha matriz, el número de columnas se da por el número de clientes.
Tabla 4-9 Clientes asignados a los depósitos
Clientes asignados a cada depósito en cada iteración
Iteración 1 Depósito 1 2 8 1 4 5 0 0
Depósito 2 6 7 0 0 0 0 0
60
Iteración 2 Depósito 1 4 5 2 8 0 0 0
Depósito 2 1 3 6 7 0 0 0
… … … … … … … … …
Iteración 10 Depósito 1 3 5 1 0 0 0 0
Depósito 2 2 7 6 8 4 0 0
Adicionalmente por cada fila de la matriz se tiene un vector donde se específica cuantos
clientes asume cada vehículo. Por ejemplo en la tabla 10 se observa que para el depósito
1 en la iteración 1, el primer vehículo atiende a 3 clientes y el segundo vehículo atiende a
2 clientes.
Tabla 4-10 Número de clientes por vehículo en cada depósito
Vehículos 3 2 0 0 0 0 0
Esto hace que en las 10 primeras iteraciones se almacene las asignaciones
correspondientes y para las iteraciones posteriores se reemplazan las peores por una
asignación mejor, hasta el final de las iteraciones.
En resumen el proceso consiste en tomar la geometría de distribución de clientes y de
acuerdo a esto limitar los radios para el trazado de elipses que contengan a determinados
clientes, esto para que los radios de las elipses al ser generados de forma aleatoria no
sean demasiado pequeños o demasiado grandes, de esta manera se garantiza obtener
elipses semejantes que puedan asignar de forma eficiente los clientes a los depósitos que
mejor corresponda como se explica en la metodología de este proyecto. Una vez
concluidas las iteraciones de generación de elipses y rotación de estas se procede a
tomar únicamente un 10% de las mejores asignaciones, valor suficiente que permite
generar el ruteo de vehículos por el algoritmo genético. Lo anterior se resume en el
siguiente diagrama de flujo:
61
Figura 4-11 Diagrama de flujo para asignación por elipses
62
4.4.2 Rotaciones a partir de la solución del Travelling Salesman Problem (TSP) con
algoritmo de Lin-Kernighan [25]
Este es un segundo método para la generación de asignaciones por rotaciones que se da
al cargar los elementos de la instancia correspondiente tomando la secuencia de clientes
en el orden del TSP generado por el algoritmo de Lin-Kernighan [25] proporcionado por el
software concorde, a esta secuencia se le aplica una función de rotación de los clientes
con el fin de obtener cortes de secuencias ordenadas que inician en un cliente y finalizan
en el momento en que el depósito no puede asignar más clientes por su capacidad. Se
toma entonces el 10% de las mejores soluciones del TSP, producidas por las rotaciones
del cliente de inicio, esto con el fin de obtener resultados suficientes, diferentes y
eficientes, sin demandar mucho tiempo computacional, como se muestra posteriormente
en el documento.
Posteriormente las soluciones se organizan en vectores con la correspondencia de los
clientes a cada depósito y en el orden del TSP se procede a enviar a la función de ruteo
de vehículos del algoritmo genético. Esto se indica en el siguiente diagrama de flujo:
63
Figura 4-12 Diagrama de flujo para asignación por rotaciones
64
La descripción del diagrama de flujo de la figura 4-13 muestra que se resuelve
inicialmente el TSP para todos los clientes (sin incluir los depósitos) con el software
Concorde [29] utilizando el método de Lin-Kernighan. Una vez definida la ruta inicial,
comienza un proceso iterativo para obtener una variedad de agrupamiento de clientes,
con los siguientes pasos:
Clientes en el orden del TSP
La agrupación de clientes generada consiste en tomar el primer cliente de la solución del
TSP y utilizar la matriz de distancias para asignarlo al depósito más cercano. En caso de
empate se toma el siguiente cliente y su menor distancia a los depósitos, si el empate
persiste se toma un depósito aleatoriamente, se sigue agrupando clientes en el orden del
TSP hasta cumplir con la capacidad del depósito.
Tabla 4-11 Vector clientes en orden del TSP (Algoritmo de Lin-Kernighan)
1 5 2 8 4 6 7 3
Tabla 4-12 Vector de demandas de clientes en orden del TSP
8 2 2 6 7 12 3 5
Tabla 4-13 Matriz de distancia de clientes a depósitos
Cliente/Depósito 1 2 3 4 5 6 7 8
Dep 1 30 25 4 87 15 6 14 20
Dep 2 13 54 28 36 7 9 41 22
Dep 3 65 48 35 49 68 8 25 37
Rotaciones
Se repite el procedimiento del paso anterior descartando el depósito ya utilizado y
tomando como punto inicial el cliente siguiente al último asignado en la primera
agrupación teniendo como referencia el listado del TSP. Este procedimiento se repite
hasta asignar todos los clientes a los depósitos. Se genera entonces un vector según el
orden de los clientes asignados a cada depósito, como se ve en la tabla 4-12.
65
Tabla 4-14 Vector de clientes agrupado por depósitos
1 5 2 4 6 7 3 8
Depósito 2 Depósito 3 Depósito 1
Iteraciones
Después realizada la asignación de todos los clientes a los depósitos como se explicó en
los pasos anteriores, inicia la segunda iteración que consiste en realizar una rotación de
clientes en el listado del TSP tomando como cliente inicial el segundo de la lista, se repite
entonces el procedimiento descrito anteriormente.
Selección de mejores soluciones de asignación
De todas las posibles agrupaciones de clientes a los depósitos generadas por las
rotaciones se toma el 10 % de las mejores soluciones (como se observa más adelante en
el documento) para realizar el ruteo en cada depósito.
En las tablas 4-16 y 4-17 se representa un ejemplo del vector que genera el ruteo inicial y
como el orden del TSP se altera al generar las rotaciones al mismo.
Tabla 4-15 Vector clientes en orden del TSP (Algoritmo de Lin-Kernighan)
1 5 2 4 6 7 3 8
Tabla 4-16 Primeras 4 Rotaciones del vector de clientes
Rota 1 5 2 4 6 7 3 8 1
Rota 2 2 4 6 7 3 8 1 5
Rota 3 6 7 3 8 1 5 2 4
Rota 4 7 3 8 1 5 2 4 6
66
4.4.3 Técnicas para ruteo
Después de realizar en la primera etapa la asignación de clientes a los depósitos, la
segunda etapa del algoritmo consiste en resolver el VRP para cada depósito haciendo
uso de un algoritmo genético de Chu Beasley modificado. La tercera etapa consiste en
mejorar la solución mediante un procedimiento de búsqueda local utilizando en este caso
el mejoramiento inter-rutas Shift (1,0) y (2.0) e interdepósitos, seleccionando finalmente la
mejor solución obtenida. Por último se muestra la solución en forma gráfica.
4.4.3.1 Algoritmo Genético
Una vez asignados los clientes a los diferentes depósitos, se procede a rutear teniendo en
cuenta la capacidad de los vehículos y la demanda de los clientes usando un algoritmo
genético de Chu-Beasley modificado. Esto se realiza a cada una de las soluciones de
asignación encontradas y por cada depósito. A continuación se enumera una serie de
pasos lógicos del proceso algorítmico:
67
Figura 4-13 Diagrama de flujo general para el MDVRP
Configuración y caracterización del MDVRP. Consiste en tomar el número de
clientes con sus coordenadas y sus demandas, el número de depósitos y la
capacidad de los vehículos.
Asignación de los clientes a los depósitos. En forma paralela se utilizan 2 métodos,
el primero la agrupación de clientes utilizando la geometría de las elipses como se
menciona en 4.2.1. Un segundo método se desarrolla a través de la captura del
TSP, y su asignación de clientes por demanda en el orden del TSP con una
población igual al 10% de las mejores soluciones como se describe en 4.2.2.
Selección de mejores soluciones de asignación. En cada uno de los procesos del
paso anterior se toma 10 mejores respuestas obtenidas con el método de las
68
elipses, además de un 10% del número de las rotaciones como número de
soluciones de asignación dado por las rotaciones del TSP encontrado por el
método de Lin-Kernighan.
Proceso para la generación de la población inicial del algoritmo genético. En este
punto se procede a tomar las soluciones de asignación descritas en el paso 3 y se
genera el corte de los vectores por cada depósito para lograr obtener las rutas de
acuerdo con la capacidad de los vehículos, esto se realiza para cada solución de
asignación y con cada uno de los depósitos. La población inicial tendrá un número
de 30 individuos, obtenidos con el desarrollo del algoritmo genético simple y 20
individuos más generados por las heurísticas de ahorros, 2opt, colonia de
hormigas, vecino más cercano, barrido y Variable Neighborhood Search (VNS).
De las 50 soluciones se eligen las 30 mejores según la función objetivo y que sean
diferentes entre sí, descritas en un vector con la secuencia de los clientes a visitar
y sus demandas.
A manera de ejemplo tomamos una solución obtenida del proceso de asignación así:
Tabla 4-17 Asignación 1 (caso de 15 clientes y 3 depósitos)
Depósito 1 10 8 1 4 5 0 0
Depósito 2 13 3 12 9 2 11 0
Depósito 3 7 6 14 15 0 0 0
Cada depósito según la solución de asignación como se observa en la tabla 4-15 debe
hacer un ruteo llamando al algoritmo genético, el cual recibe el número de clientes del
depósito y sus características como coordenadas, y demandas. Para tener una
nomenclatura se codifica el vector de clientes iniciando desde el valor 2 en adelante, para
que siempre el valor 1 corresponda al depósito. Por ejemplo tomando los datos del
depósito de la tabla 4-15 el procedimiento a seguir es el siguiente:
Tabla 4-18 Clientes asignados al depósito 1
Depósito 1 10 8 1 4 5 0 0
Con el fin de generar el proceso iterativo se identifica a los clientes del depósito 1 según
el orden por ejemplo el cliente 10 corresponde a la posición 2 y el cliente 4 corresponde a
69
la posición 5, por lo tanto el algoritmo genético recibe 5 clientes y un depósito codificando
el vector así:
Tabla 4-19 Clientes para el depósito 1
2 3 4 5 6
A dicho vector se asocia el vector de demandas de los clientes y se procede a realizar los
cortes para las rutas, una vez obtenida la mejor solución de ruteo se retorna dicha
respuesta decodificando a los clientes según corresponda al vector inicial de la solución
de asignación, es decir si la respuesta obtenida por el genético es un vector como se
indica a continuación:
Tabla 4-20 Solución de ruteo según el orden de los clientes
4 2 6 3 5
Finalmente la Tabla 4-18, se debe expresar en términos de la identificación inicial de los
clientes así:
Tabla 4-21 Solución de ruteo para el depósito 1
1 10 5 8 4
Siendo este el orden de visitas del depósito 1, además se asocia un vector de vehículos
que indiquen las rutas así:
Tabla 4-22 Número de clientes por ruta para el depósito 1
3 2 0 0 0
Selección de individuos. Usando el método de torneo se selecciona aleatoriamente
10 individuos de la población y se selecciona al de mejor función objetivo, siendo
este denominado Padre 1. Se repite el proceso para seleccionar al Padre 2.
Cruce de individuos. Dado que la codificación de los individuos está dada por
valores enteros, el método indicado para el cruce de los individuos padres es el
Partially Mapped Crossover (PMX) o cruce por emparejamiento parcial. El cual es
70
un operador que consiste en elegir uno o dos sub-segmentos de uno de los padres
y cruzarlos conservando el orden y la posición de la mayor cantidad de genes
posible del otro manteniendo la coherencia.
Mutación de hijos. A cada hijo se le realiza una mutación aplicando VNS o
búsqueda en entorno variable.
Partición de vectores hijos, de acuerdo a la demanda se genera cada una de las
rutas y se realiza el intercambio 2 OPT en cada una de estas con el fin de hacer
factible a cada hijo y mejorar su función objetivo.
Presentación del mejor hijo a la población: Permite decidir qué individuo ingresa a
la población y que individuo se deshecha. De acuerdo con la función objetivo de
los individuos en la población si uno o dos hijos presentan una mejor función
objetivo y los individuos son diferentes entonces se procede a ingresar a uno o dos
hijos y a sacar a uno o dos individuos de la población.
Verificar cumplimiento de iteraciones. Si se cumple, pasar a la etapa del algoritmo
genético de Chu Beasley (ir al paso 11), en caso contrario repetir el algoritmo
genético simple (ir a paso 5).
En términos generales se tiene un algoritmo genético simple como generador de
soluciones de inicio que junto con las heurísticas permiten obtener individuos solución
mejorados como población inicial del algoritmo genético de Chu Beasley, el cual como
característica principal garantiza tener individuos diferentes.
Verificar si ya se obtuvo la población de inicio con el algoritmo genético simple, si
esto se cumple se realiza el algoritmo genético de Chu Beasley con la población
inicial obtenida del algoritmo genético simple y las heurísticas, reemplazando a los
peores individuos de la población por nuevos individuos (20) a través de métodos
heurísticos listados a continuación:
a. Heurística de intercambio 2 OPT.
b. Heurística de inserción del más barato.
c. Heurística del vecino más cercano
d. Heurística del ahorro
e. Heurística del barrido.
71
Los individuos generados, contienen el orden de las visitas, la partición de rutas y el valor
de su función objetivo.
Verificar cumplimiento de iteraciones del algoritmo genético de Chu-Beasley. Si
cumple, ir a paso 13, en caso contrario ir a paso 5.
Se elige la mejor respuesta de la población y se hace una búsqueda en entornos
variables VNS con el objetivo de mejorarla.
Realizar intercambio 2-OPT en cada ruta y dar la respuesta final del algoritmo
genético de Chu Beasley.
Una representación general en un diagrama de flujo del algoritmo genético se indica a
continuación:
72
Figura 4-14 Diagrama de flujo algoritmo genético [16]
Intensificación algoritmo genético usando Metaheurística VNS. Tanto para la mutación como para el mejoramiento se procede a realizar una búsqueda
por medio del algoritmo de Búsqueda en vecindario o entorno variable denominada VNS
que consiste en hacer una búsqueda de mejoras sobre los óptimos locales.
Para el caso de mejoramiento de la solución alcanzada por el algoritmo genético se
realiza el movimiento intercambiando vecinos del vector de rutas y verificando si los
cambios mejoran la solución y teniendo en cuenta la capacidad de los vehículos. Estos
movimientos se muestran en un ejemplo con 5 ciudades como se indica a continuación:
73
Ruta:
Tabla 4-23. Vector ruta
1 2 3 4 5
Vecinos:
Tabla 4-24. Combinaciones VNS
2 1 3 4 5
3 2 1 4 5
4 2 3 1 5
5 2 3 4 1
1 3 2 4 5
1 4 3 2 5
1 5 3 4 2
1 2 4 3 5
1 2 5 4 3
1 2 3 5 4
De esta manera se hace una búsqueda de la solución mejorando de manera general el
vector de todas las ciudades del algoritmo.
Finalmente al tener la solución más aproximada al óptimo global se procede a realizar un
intercambio 2-OPT en las rutas obtenidas en la solución del VNS, tomando el problema
como varios agentes viajeros, para lograr obtener el óptimo de cada ruta.
4.4.3.2 Algoritmo de mejoramiento final.
Buscando mejorar la respuesta obtenida del algoritmo genético de Chu Beasley se
plantea un algoritmo de intercambios entre depósitos que consiste en trazar un círculo de
diámetro igual a la distancia entre 2 depósitos, con el fin de seleccionar los clientes
candidatos a ser intercambiados, posteriormente se toma las distancias de estos clientes
y se hace el cálculo de un ahorro por enviarlo hacia el otro depósito y el costo que se
genera por recibirlo, como se describe a continuación:
74
Tomar distancia entre los dos depósitos.
Trazar una circunferencia de diámetro igual a la distancia entre los dos depósitos.
Definir qué clientes de los dos depósitos pertenecen a la circunferencia con el fin
de determinar los candidatos a ser intercambiados.
Tomar un cliente del depósito 1 tomar el cliente del depósito 2 que tenga la menor
distancia a este, siempre y cuando la ruta y el depósito tengan la capacidad para
aceptarlo.
Calcular el ahorro de retirar el cliente del depósito 1 y el costo de insertarlo en el
depósito 2 en la arista anterior y posterior del cliente de referencia del depósito 2.
Esto se repite con todos los clientes pertenecientes a la circunferencia trazada y con
todos los depósitos, como se muestra a continuación en las figuras 4-15 y 4-16.
Figura 4-15 Criterio geométrico para cambiar un cliente de depósito
Figura 4-16 Cliente cambiado del depósito 2 al depósito 1
75
5 CARACTERIZACIÓN DEL CASO DE PRUEBA PARA UNA
EMPRESA DE DISTRIBUCIÓN DE PRODUCTOS LÁCTEOS EN
SAN JUAN DE PASTO (NARIÑO)
La empresa de distribución de productos lácteos se encarga de llevar desde una planta
los diferentes productos como leche, yogurt, quesos, arequipe, entre otros en la ciudad
de San Juan de Pasto, contando con un número definido de vehículos y la cantidad de
clientes. Además está considerando la adecuación de un punto de distribución, es decir
se necesita asignar un nuevo depósito y con base en esto generar las diferentes rutas.
Figura 5-1 Productos lácteos – Empresa San Juan de Pasto (Fuente: www.colacteos.com/productos.php)
5.1 Descripción de la distribución de productos lácteos
Según entrevista a los conductores de los vehículos que distribuyen productos lácteos en
la ciudad de San Juan de Pasto, se plantean las rutas por sectores para cada vehículo
con capacidad homogénea dada en canastos.
Figura 5-2 Canasto para transporte de alimentos
76
Figura 5-3 Vehículo para transporte de productos lácteos
El proceso de carga se hace en el parqueadero de la empresa, realizando el pedido de
productos lácteos desde el día anterior, entonces la empresa organiza y arruma dichos
productos para realizar el despacho al día siguiente desde las 4:00 am, siguiendo la rutina
de carga por turnos de 15 minutos en 4 carriles.
De forma general se resume los datos de carga de productos lácteos así:
Tabla 5-1 Datos de carga y ruta de vehículos transportadores de productos lácteos
Hora de llegada a cargar los productos 4:00 am
Tiempo aproximado de carga en minutos 20
Número aproximado de clientes a visitar 120
Tiempo aproximado de recorrido en horas 9
Costo aproximado por combustible al día en pesos
15.000
Número aproximado de canastos de 20 Kg cada uno
60
Carga aproximada en Kilogramos 1215
Peso vacío vehículo en Kilogramos 1415
Peso lleno vehículo en Kilogramos 2630
Tipo vehículo Camioneta
77
Es importante aclarar que para el presente proyecto se considera el ruteo de vehículos
agrupando los clientes cercanos en sectores definiendo la Latitud y Longitud de un punto
representativo (cliente 1, cliente2,…) del mismo sector como se muestra en la tabla 5-2.
Tabla 5-2 Ejemplo de ruta de vehículo transportador de productos lácteos
DIRECCIÓN DEPÓSITO - CLIENTE LATITUD LONGITUD
DEPÓSITO Carrera 37 # 13A-2 a 13A-100, Pasto, Nariño, Colombia 1.218833 -77.288997
CLIENTE 1 Casa de Ejercicios - San Ignacio, 15, Pasto, Nariño, Colombia 1.218243 -77.28528
CLIENTE 2 Calle 14A # 30A-2 a 30A-66, Pasto, Nariño, Colombia 1.217288 -77.283632
CLIENTE 3
Calle 16A # 34-2 a 34-32, Pasto, Nariño, Colombia (VICTORIA -AUTOS) 1.221278 -77.285435
DEPÓSITO Carrera 37 # 13A-2 a 13A-100, Pasto, Nariño, Colombia 1.218833 -77.288997
Gráficamente se representa la ruta del ejemplo mencionado en la tabla 5-2, utilizando la
aplicación de Google maps como se muestra en la figura 5-5.
Figura 5-4 Ruta utilizando la aplicación de google maps (Fuente: www/google.es)
Debido a la distancia elevada desde el depósito actual hacia los sectores y a la
congestión vehicular que existe actualmente en San Juan de Pasto, se considera utilizar
dos estaciones de abastecimiento en sitios que funcionan actualmente como bodegas y
oficinas. El primero ubicado en el oriente de la ciudad (figura 5-4) y el segundo depósito
ubicado al Nor –occidente de la ciudad (figura 5-5).
78
Figura 5-6 Depósito 2 Nor occidente Pasto
5.2 Demanda de productos por clientes agrupados en sectores
El valor de la demanda se obtiene según los sectores que visita cada ruta, para ello se
codifica 151 sectores y se identifica a cuales de estos le aporta cada uno de los 24
vehículos teniendo en cuanta la información de la empresa. Se nota además como
algunos vehículos visitan a sectores que son atendidos por otros vehículos, debido a esto
se establece una relación de demanda de clientes y la pertenencia a los diferentes
sectores y que vehículos los atienden.
Depósito 1
Figura 5-5 Depósito 1 Oriente Pasto (Fuente: www/google.es)
Depósito 2
79
Con los sectores que atiende cada ruta se genera el valor de demanda por sector,
tomando unidades de cantidad de canastos por tiendas y por sectores, teniendo en
cuenta que el depósito no se considera como sector ya que no requiere demanda. Los
valores de demanda se muestran en la tabla 5-3 [21].
Tabla 5-3. Demanda de canastos por tiendas y por sectores de cada vehículo
Vehículo
No de sectore
s
No de canasto
s
No de tienda
s
canastos/No tiendas
No de canastos/sect
or
No tiendas/sect
or
(canastos/tienda)/sector
1 12 60 120 0,5 5,45 10,91 0,04545
2 12 52 120 0,43 4,73 10,91 0,03939
3 10 35 70 0,5 3,89 7,78 0,05556
4 10 70 220 0,32 7,78 24,44 0,03535
5 12 40 50 0,8 3,64 4,55 0,07273
6 14 86 120 0,72 6,62 9,23 0,05513
7 15 82 200 0,41 5,86 14,29 0,02929
8 16 40 180 0,22 2,67 12 0,01481
9 9 43 80 0,54 5,38 10 0,06719
10 11 25 70 0,36 2,5 7 0,03571
11 9 71 135 0,53 8,88 16,88 0,06574
12 14 50 120 0,42 3,85 9,23 0,03205
13 10 28 78 0,36 3,11 8,67 0,03989
14 13 50 86 0,58 4,17 7,17 0,04845
15 10 58 150 0,39 6,44 16,67 0,04296
16 10 38 60 0,63 4,22 6,67 0,07037
17 10 38 60 0,63 4,22 6,67 0,07037
18 8 35 60 0,58 5 8,57 0,08333
19 6 28 70 0,4 5,6 14 0,08
20 11 45 50 0,9 4,5 5 0,09
21 8 53 100 0,53 7,57 14,29 0,07571
22 7 47 150 0,31 7,83 25 0,05222
23 6 40 80 0,5 8 16 0,1
24 11 80 110 0,73 8 11 0,07273
5.3 Descripción de matriz de costos, distancias y adaptación de
nuevo depósito
Una vez definidos cada sector en cuanto a Latitud y Longitud de un punto representativo
del mismo y su demanda se ingresa la información a google maps para calcular la
distancia real según el sentido de las calles y cruces permitidos entre depósitos y sectores
(cada sector se identifica como cliente 1, cliente 2,…)
80
Según la información anterior se define para el caso de prueba 153 sectores incluidos los
dos depósitos, para los 24 vehículos, especificando la matriz de costos de 153 filas x 153
columnas, como se muestra en la figura 5-6.
Figura 5-7 Matriz de distancias de 151x151 clientes.
5.4 Sobrecosto por combustible en el caso de prueba
Teniendo en cuenta la descripción del factor de sobrecosto (3-23), este se aplica al caso
de prueba afectando a la matriz de costos dada por la distancia entre sectores con la
adición de dicho factor. Esto hace que se tome la secuencia de visitas de acuerdo a la
distancia y a la carga que lleva el vehículo, puesto que este factor se incrementa cuando
la carga del vehículo es más grande. Teniendo en cuenta lo anterior el algoritmo genético
determina una secuencia de visita de clientes diferente a cuando no se tiene en cuenta
este factor.
81
Figura 5-8 Orden de visita de los clientes teniendo en cuenta la carga
La adición del factor que considera el costo de combustible permite que el ruteo tenga en
cuenta las cargas pesadas al inicio sin embargo teniendo en cuenta que la distancia es un
factor que prima en el gasto de combustible, hay puntos que aunque su demanda sea
alta, si su distancia también lo es el algoritmo da peso a la distancia y luego a la carga
como se observa en la figura 5-9 para el cliente 6.
0
50
100
150
200
250
0 2 4 6 8 10 12
DE
MA
ND
A
CLIENTES
DEMANDA EN ORDEN DE VISITA DE LOS CLIENTES
82
Figura 5-9 Orden de visita de los clientes sin tener en cuenta la carga
Cuando no se considera el costo de combustible la prioridad es la distancia, sin importar
el peso de la carga en el orden de visita, como se observa en la figura 5-8, donde la carga
más pesada puede ser entregada al inicio, al intermedio o al final de la ruta, por ejemplo el
vehículo lleva una gran cantidad de carga para el penúltimo cliente.
0
50
100
150
200
250
0 2 4 6 8 10 12
DE
MA
ND
A
CLIENTES
DEMANDA EN ORDEN DE VISITA DE LOS CLIENTES
83
6 PRUEBAS Y RESULTADOS OBTENIDOS
Para probar el algoritmo implementado se generan varias corridas del programa
codificado en Matlab, instalado en un computador portátil con Procesador Intel(R) Core
(TM) i7-3610QM CPU @ 2.30 GHz y Memoria (RAM) de 8 GB. Comparando los
resultados en primer lugar se establece una calibración de los parámetros propios del
problema, posteriormente se realizan las corridas con algunos casos de prueba
encontrados en Networking and Emerging Optimization (NEO) o creación de redes y
optimización emergente, diseñados por Cordeau [8]. En tercer lugar se establece un caso
de prueba para la distribución de productos lácteos de una empresa de San Juan de
Pasto, donde se considera además de la distancia el costo de combustible. Es decir, para
garantizar la funcionalidad del algoritmo se realizan pruebas iniciales sobre instancias con
resultados definidos, para los cuales se observa la consistencia del algoritmo en sus
respuestas según el error relativo y la desviación estándar en las múltiples corridas, con
base en esto se procede a agregar la restricción del gasto de combustible como un
sobrecosto.
6.1 Calibración de parámetros.
La elección de los valores que debe tomar cada parámetro para desarrollar la eficiencia
algorítmica se han seleccionado los siguientes:
Tabla 6-1 Parámetros del algoritmo
PROCESO PARÁMETRO DESCRIPCIÓN DEL PARÁMETRO
Asignación de clientes por medio de elipses
a. Ángulo de rotación de las elipses
El ángulo de rotación es aleatorio entre 0° y 180° cada 15°
b. Número de elipses Número de elipses generadas para la asignación según el rendimiento obtenido de la Función Objetivo
Rotaciones del TSP, Algoritmo de Lin-Kernighan
Porcentaje de soluciones que se envían al algoritmo genético
Se determina el número de mejores soluciones de asignación
Algoritmo genético a. Número de generaciones
Valor de las iteraciones del algoritmo genético
b. Número de individuos Número de soluciones
84
diferentes para el ruteo
c. Porcentaje de mutación Porcentaje de probabilidad de que un individuo cambie levemente su solución
d. Número de individuos seleccionados para torneo
Selección de dos padres con una, dos o tres iteraciones
e. Puntos de recombinación
Uno o dos puntos de recombinación de individuos
6.1.1 Asignación de clientes por medio de elipses.
Este proceso permite asignar un número adecuado de clientes a cada depósito de
acuerdo con su proximidad y la capacidad del mismo, para esto se calibra tres parámetros
a) Ángulo de rotación de las elipses. Este parámetro permite por medio de la
rotación de una elipse con centro en el depósito absorber diferentes clientes
generando mayor variabilidad en la asignación, para ello se puede generar varias
elipses diferentes con los mismos radios con una rotación entre 0 y 180 grados,
sin embargo para que el número de elipses no sea elevado y su paso de rotación
sea válido se restringe a la elipse a rotar aleatoriamente con pasos de 15 grados,
debido a que 15 grados representa un valor "pequeño", es decir que para valores
menores a 15 grados la elipse y por ende la asignación de clientes a los depósitos
no presenta cambios significativos como se puede mostrar en la aproximación de
una función trigonométrica descrita con la serie de Taylor como ejemplo de un
ángulo pequeño.
𝒔𝒆𝒏(𝒙) = 𝒙 −𝒙𝟑
𝟑!+
𝒙𝟓
𝟓!−
𝒙𝟕
𝟕!+ ⋯ (6-29)
De acuerdo con la ecuación anterior se aproxima la función sen (x) al primer
término de la serie de Taylor, es decir sen (x) = x
85
Tabla 6-2 Aproximación de la función seno por medio de la serie de Taylor
Grados Seno(x) Aproximado
Seno(x) Teórico Diferencia
1 0,0175 0,0175 0,0000
2 0,0349 0,0349 0,0000
3 0,0524 0,0523 0,0000
4 0,0698 0,0698 0,0001
5 0,0873 0,0872 0,0001
10 0,1745 0,1736 0,0009
15 0,2618 0,2588 0,0030
20 0,3491 0,3420 0,0070
30 0,5236 0,5000 0,0236
90 1,5708 1,0000 0,5708
180 3,1416 0,0000 3,1416
270 4,7124 -1,0000 5,7124
360 6,2832 0,0000 6,2832
Se observa que la diferencia entre el valor verdadero y el aproximado para 15
grados es 0.03%, es decir que la rotación de la elipse entre 0 y 15 grados es
relativamente la misma, pero para ángulos mayores a 15 grados la diferencia es
significativa por ejemplo en 90 grados se encuentra una diferencia del 50%.
Adicionalmente cabe mencionar que las elipses por su simetría desarrollan todas
las posibilidades de rotación en un intervalo de 0° a 180°, por ejemplo rotar 45° es
equivalente a rotar 225°.
La figura 6-1 muestra la diferencia en la asignación de clientes cuando las elipses
rotan.
86
Figura 6-1 Representación de las rotaciones generadas a las elipses
Las 2 primeras imágenes muestran que la asignación de clientes no tiene cambios
significativos cuando la rotación de la elipse se produce con ángulos pequeños,
por esta razón se toma como referencia ángulos de 15°. Por otra parte el radio
mayor y el radio menor de la elipse son aleatorios y proporcionales entre la
máxima distancia entre clientes y la mínima distancia entre clientes y depósito.
b) Número de elipses. En cuanto al número de rotaciones y de tamaños de las
elipses se considera un número de iteraciones que depende del número de
clientes y depósitos. Para esto se realiza varias corridas del algoritmo para notar la
estabilidad del número de iteraciones más adecuado como lo indica la tabla 6-3.
Como referencia se utiliza la instancia P02 y P04, con 50 y 100 clientes
respectivamente, mostrando el costo de la asignación con diferentes iteraciones.
Elipse a 0° de Rotación Elipse a 8° de Rotación
Elipse a 15° de
Rotación
87
Tabla 6-3 Calibración número de elipses
Iteraciones No de Depósitos P02 No de Depósitos P04
100
4 721.25 2 1254.357
4 987.74 2 1654.214
4 638.39 2 1872.32
4 772.76 2 18752.278
4 595.02 2 1400.54
500
4 603.68 2 1541.021
4 701.49 2 1265.325
4 760.17 2 1354.24
4 675.28 2 1574.258
4 731.09 2 1324.37
2000
4 457.71 2 947.35
4 429.73 2 896.58
4 507.10 2 798.36
4 437.83 2 986.29
4 429.27 2 1120.39
5000
4 468.21 2 968.752
4 500.09 2 1201.46
4 499.63 2 1105.674
4 458.71 2 1039.54
4 567.04 2 1374.28
El proceso se realiza para varias de las instancias de Cordeau, considerando tanto
el número de clientes como de depósitos, con esto se establece un valor de
iteraciones de 2800 en común para los casos de prueba referenciados en este
trabajo. En la tabla 6-3 se observa que entre 2000 y 5000 iteraciones, el valor de
costo se estabiliza, por ello se procede a correr el programa con iteraciones en
este rango y en general se obtiene mejores resultados en el valor de 2800.
6.1.2 Rotaciones del TSP, algoritmo de Lin-Kernighan.
Con respecto a las rotaciones al TSP generado con el software Concorde,
únicamente se toma rotaciones del 10% del número de clientes, siendo este un
valor representativo a los cambios en la función objetivo en el momento de la
asignación, como se observa en la figura 6-2.
88
Figura 6-2 Rotaciones del TSP para asignación de clientes a los depósitos
Las rotaciones del TSP, no siempre son adecuadas en la asignación a los depósitos ya
que la metodología de solución del TSP y del MDVRP son diferentes, por lo tanto se toma
un 10% de las mejores soluciones, siendo representativas de las posibles mejores
asignaciones, por lo que se toman como soluciones de inicio que posteriormente se
procesan con el algoritmo genético y las heurísticas de mejoramiento.
6.1.3 Algoritmo Genético.
Se aplica para resolver el ruteo de vehículos en cada depósito, considerando la
sintonización de los siguientes parámetros:
a) Número de Generaciones
b) Número de individuos
c) Porcentaje de mutación
d) Número de individuos seleccionados para torneo
TSP inicial Primera iteración
Segunda
iteración
89
e) Puntos de recombinación
Dichos parámetros se calibran realizando varias corridas del algoritmo, sin embargo para
el caso particular del ruteo de vehículos en el MDVRP en este trabajo se realiza de forma
independiente a cada depósito, por lo que se toma como referencia el proceso llevado a
cabo en el ruteo de vehículos dependientes del tiempo [21], donde se calibran dichos
parámetros a través de la variación de estos en cada depósito. Cabe resaltar que es
posible tomar de forma independiente cada depósito, puesto que el algoritmo de
asignación garantiza el intercambio de clientes entre depósitos.
A continuación se indica el resumen de algunas corridas del algoritmo genético con
valores en la función objetivo para diferentes parámetros. La población para todos los
casos se toma con 20 individuos generados por heurísticas y otros de forma aleatoria.
Tabla 6-4. Pruebas para población y generaciones
CORRI DAS
POBLA CION
ALEATO RIA
GENERACIONES
TIEMPO COMPUTACIO
NAL PROMEDIO
(SEG)
F.O PROME
DIO
DESVIA CIÓN
% ERROR PROME
DIO
1 10 500 3.163 613.3573 -5.35 1.7
2 20 500 1.065 605.4802 -6.34 5.95
3 30 500 1.368 603.2041 -4.27 4.73
4 100 500 3.333 602.3548 -6.32 4.37
5 200 500 3.749 616.7146 -6.21 6.46
6 10 1000 1.548 598.9714 -7.21 3.69
7 20 1000 4.013 604.4351 -7.25 4.56
8 30 1000 1.548 600.0864 -3.65 3.87
9 100 1000 3.163 588.4632 -2.35 1.97
10 200 1000 4.988 597.1263 -2.29 3.22
11 10 1500 1.983 596.8056 -3.47 3.34
12 20 1500 3.990 594.1288 -2.09 2.90
13 30 1500 2.306 581.2326 -2.18 0.75
14 100 1500 4.013 602.2827 -2.54 4.05
15 200 1500 4.197 600.1405 -2.65 3.71
16 10 1800 1.127 598.9714 -5.34 3.52
17 20 1800 4.988 596.9020 -3.65 3.19
18 30 1800 1.070 580.7382 -2.54 0.67
19 100 1800 1.368 593.7084 -2.14 2.84
20 200 1800 3.536 595.3800 -2.74 3.11
90
21 10 2000 3.749 594.0677 -7.32 2.89
22 20 2000 3.333 592.0824 -3.54 2.57
23 30 2000 1.319 588.2389 -2.1 1.7
24 100 2000 2.173 607.8513 -2.61 4.93
25 200 2000 4.865 595.6018 -2.08 2.98
Tabla 6-5 Número de individuos seleccionados para el torneo
INDIVIDUOS GENERACIONES % ERROR
K=1 K=2 K=3
30 1800 3.15 1.02 4.12
30 2000 4.83 3.74 2.94
De acuerdo a los resultados anteriores se encuentra que es conveniente trabajar el
algoritmo genético con los siguientes parámetros: 30 individuos para la población, 1800
iteraciones, para la mutación se toma un valor del 5% como se observa en varias
referencias de la literatura especializada [2], este valor es elevado debido a que se trata
en primera medida generar cambios pequeños en un individuo y en el momento en que la
población trata de homogenizarse se obliga al algoritmo a introducir los individuos
mutados con el fin de salir de óptimos locales. En cuanto al número de individuos
seleccionados para el algoritmo de torneo (selección de padres) se toma K=2, es decir
que aleatoriamente se seleccionan dos padres de la población, se obtiene el valor de su
función objetivo y en la segunda iteración se toma nuevamente a otros dos padres
aleatoriamente junto con su función objetivo, entonces de estos 4 padres se generan hijos
de sus combinaciones y se toma a los dos mejores, a los cuales se les hace mejoramiento
y se presentan a la población para decidir si pueden o no ingresar, La generación de hijos
se realiza por medio del algoritmo de recombinación usando dos puntos aleatorios en la
cadena genética, según [21].
91
6.2 Instancias de la literatura especializada
Las instancias diseñadas por Cordeau [8] utilizadas para probar el algoritmo desarrollado
consideran desde 50 hasta 249 clientes, distribuidos entre 2 y 4 depósitos. Se realiza 10
corridas para cada caso de prueba, obteniendo el valor de la función objetivo, el error
relativo con referencia a la mejor solución encontrada en las instancias, la asignación de
los clientes a cada depósito, las rutas en cada uno de estos y los gráficos
correspondientes.
La nomenclatura de las instancias encontradas en [8], se muestra en la tabla 6-6 y se
describe a continuación, tomando como ejemplo la instancia P01 de Cordeau:
En la primera fila de la matriz de datos se encuentra la siguiente información.
tipo: 2 correspondiente al problema de MDVRP
m: número de vehículos
n: número de clientes
t: número de depósitos
Las siguientes filas contienen, la siguiente información, para cada depósito en este caso:
D: Máxima duración de la ruta
Q: máxima carga de un vehículo
Las siguientes filas contienen, para cada cliente:
i: Número de clientes
x: coordenada en x
y: coordenada en y
d: duración del servicio
q: demanda de cada cliente
f: frecuencia de la visita
92
a: número de combinaciones posibles de visitas
list: Lista de todas las combinaciones posibles de visitas
e: Comienzo de las ventanas de tiempo
l: Fin de la ventana de tiempo
Tabla 6-6 Datos instancia p01 Cordeau
2 4 50 4
0 80
0 80
0 80
0 80
1 37 52 0 7 1 4 1 2 4 8
2 49 49 0 30 1 4 1 2 4 8
…
50 56 37 0 10 1 4 1 2 4 8
51 20 20 0 0 0 0
…
54 60 50 0 0 0 0
6.3 Resultados obtenidos para las instancias de Cordeau
A continuación se describe los resultados obtenidos con el algoritmo desarrollado para la
presente investigación en los casos de prueba P01, P02, P04, P06 y P08 desarrollados
por Cordeau para el problema MDVRP.
93
Tabla 6-7 Mejores respuestas para la instancia P01
Caso de prueba: P01
mejor solución encontrada = 576,87
m: número de vehículos = 4
n: número de clientes = 50
t: número de depósitos = 4
Q: carga máxima del vehículo = 80
ITERACIÓN FUNCIÓN OBJETIVO ERROR RELATIVO
1 596,80558 3,455818
2 593,70839 2,918922
3 592,08245 2,637067
4 587,62110 1,863696
5 593,97470 2,965087
6 603,37521 4,594659
7 603,77537 4,664027
8 594,20353 3,004755
9 577,45709 0,101773
10 576,86569 -0,000748
Promedio 591,98691 2,620506
Desviación Estándar 9,20474 1,595635
Tabla 6-8 Mejores respuestas para la instancia P02
Caso de prueba: P02
mejor solución encontrada = 473,53
m: número de vehículos = 2
n: número de clientes = 50
t: número de depósitos = 4
Q: carga máxima del vehículo = 160
ITERACIÓN FUNCIÓN OBJETIVO ERROR RELATIVO
1 490,56210 3,59684
2 483,37700 2,07949
30 495,31294 4,60012
4 499,80551 5,54886
5 504,90935 6,62669
6 499,41188 5,46573
7 473,53326 0,00069
8 488,29524 3,11812
9 499,63831 5,51355
10 476,69642 0,66868
Promedio 491,15420 3,72188
Desviación Estándar 10,59375 2,23719
94
Tabla 6-9 Mejores respuestas para la instancia P04
Caso de prueba: P04
mejor solución encontrada = 1001,59
m: número de vehículos = 8
n: número de clientes = 100
t: número de depósitos = 2
Q: carga máxima del vehículo = 100
ITERACIÓN FUNCIÓN OBJETIVO ERROR RELATIVO
1 1001,58714 -0,00029
2 1013,29868 1,16901
3 1087,84567 8,61187
4 1066,05506 6,43627
5 1064,13989 6,24506
6 1120,35054 11,85720
7 1020,15105 1,85316
8 1043,21616 4,15601
9 1020,32318 1,87034
10 1016,43432 1,48208
Promedio 1045,34017 4,36807
Desviación Estándar 38,37996 3,83190
Tabla 6-10 Mejores respuestas para la instancia P06
Caso de prueba: P06
mejor solución encontrada = 876,50
m: número de vehículos = 6
n: número de clientes = 100
t: número de depósitos = 3
Q: carga máxima del vehículo = 100
ITERACIÓN FUNCIÓN OBJETIVO ERROR RELATIVO
1 929,1402966 6,005738349
2 962,6050357 9,823734816
3 958,320697 9,334934053
4 923,7794039 5,394113396
5 953,0269375 8,730968344
6 949,9756687 8,382848681
7 952,7345602 8,697610977
8 941,9630306 7,468685752
9 942,0405068 7,477525019
10 918,388543 4,779069372
Promedio 943,197468 7,609522876
Desviación Estándar 15,0255145 1,71426292
95
Tabla 6-11 Mejores respuestas para la instancia P08
Tabla 6-12 Resumen de mejores resultados para los casos de prueba de Cordeau
CASO DE PRUEBA
VALOR ÓPTIMO
FUNCIÓN OBJETIVO
% ERROR MINIMO
P01 576,87 576,8657 -0,0007
P02 473,53 473,5333 0,0007
P04 1001,59 1001,5871 -0,0003
P06 876,5 918,3885 4,7791
P08 4437,68 4557,1904 2,6931
Los resultados resumidos en las tablas 6-7 hasta 6-11, muestran que el algoritmo
desarrollado llega a la mejor solución en 3 de las instancias diseñadas por Cordeau y se
aproxima con un porcentaje de error permisible del 2,6% hasta 4,8% en 2 casos más,
probando instancias que van desde 50 clientes con 2 y 4 depósitos hasta 249 clientes con
2 depósitos. Por lo tanto la metodología desarrollada es apropiada para solucionar el caso
de prueba de distribución de productos lácteos, el cual considera 2 depósitos y 151
clientes.
Caso de prueba: P08
mejor solución encontrada = 4437,68
m: número de vehículos = 14
n: número de clientes = 249
t: número de depósitos = 2
Q: carga máxima del vehículo = 500
ITERACIÓN FUNCIÓN OBJETIVO ERROR RELATIVO
1 4975,545166 12,1204135
2 4973,906346 12,08348385
3 4946,023486 11,45516319
4 4999,411086 12,65821523
5 4557,190381 2,693082434
6 4600,633026 3,672031929
7 4790,096467 7,941457416
8 4663,126023 5,080267691
9 4654,692831 4,890231623
10 4633,658029 4,416227156
Promedio 4813,241498 8,463014404
Desviación Estándar 184,4996054 4,157568941
96
Figura 6-3 Representación de la solución P01 de Cordeau generada por el algoritmo de solución
En la figura 6-3, se muestra una de las mejores respuestas para el problema MDVRP,
correspondiente a la instancia P01 de Cordeau, obteniendo un error relativo de -0.0007%,
con respecto al óptimo, el caso de prueba incluye 50 clientes, 4 depósitos, con 4
vehículos máximo por cada uno de estos, sin superar una capacidad de 80 por vehículo.
Las siguientes tablas contienen la descripción de la solución que entrega MATLAB, al
correr el algoritmo de solución.
Tabla 6-13 Número de clientes por depósito
DEPÓSITOS
D1 D2 D3 D4
14 19 8 9
97
Cada columna de la tabla 6-13 representa el número de clientes asignados a cada
depósito.
Tabla 6-14 Número de clientes por cada ruta
RUTAS POR CADA DEPÓSITO
R1 R2 R3 R4
D1 5 6 3
D2 6 5 6 2
D3 5 3
D4 5 4
Cada columna de la tabla 6-14 representa el número de clientes que atiende cada ruta,
por cada fila según el depósito.
Tabla 6-15 Demanda cubierta en cada depósito
DEMANDA EN LAS RUTAS POR CADA DEPÓSITO
R1 R2 R3 R4
D1 79 71 78
D2 80 77 73 54
D3 75 54
D4 69 67
Cada columna de la tabla 6-15 representa el total de la demanda de cada ruta, por cada
fila según el depósito.
Tabla 6-16 Secuencia de visita de los clientes en cada ruta y depósito
VECTOR DE SECUENCIA DE VISITA DE LOS CLIENTES EN CADA RUTA Y
DEPÓSITO
13 41 40 19 42 17 37 15 33 45 44 25 18 4
48 8 26 31 28 22 14 24 43 7 23 6 27 1 32 11 46 12 47
9 34 30 39 10 38 5 49
21 50 16 2 29 35 36 3 20
Cada fila de la tabla 6-16 muestra la secuencia de clientes por cada depósito y las rutas
en relación a la Tabla 6-14. Por ejemplo el cliente 13 corresponde a la ruta 1 del depósito
1, luego de 5 clientes continúa la información de secuencia de visita para la ruta 2 del
98
mismo depósito y así sucesivamente hasta completar todas las rutas de todos los
depósitos, teniendo en cuenta que el número de filas corresponde al número de
depósitos.
6.4 Caso de aplicación
Una vez realizadas las pruebas con las instancias de Cordeau como se evidencia en 6-2,
garantizando el buen funcionamiento del algoritmo desarrollado, se realizan diferentes
corridas hasta lograr un porcentaje mínimo de error relativo, con la misma nomenclatura
anterior (tablas 6-13 a 6-16), para el caso de prueba de distribución de productos lácteos,
desarrollado con 2 depósitos y 151 clientes.
En el caso de prueba se agrega la restricción de costo de combustible, teniendo en
cuenta el factor adicional que considera la carga en la Función Objetivo, como se explicó
en el modelo matemático en la ecuación 3-23. Una vez obtenidos los resultados y según
el orden de visita de los clientes se calcula el costo de combustible según la descarga de
productos lácteos o demanda de cada cliente. Se asume un 20 % de sobrecosto en el
combustible cuando el vehículo está cargado totalmente. A medida que la ruta avanza la
carga disminuye, por lo tanto se calcula de forma aproximada el factor de sobrecosto
como se explicó en el capítulo 3, ecuación (3-23).
El consumo de combustible en galones, teniendo en cuenta la distancia recorrida y el
factor de sobrecosto se observa en la ecuación (6-2)
mo (1/ 30)( tan * )jConsu combustible Dis cia F (6-2)
A continuación se presenta los resultados obtenidos para el caso de prueba de
distribución de productos lácteos, calculando el consumo de combustible, el cual según la
experiencia de los conductores de la empresa de distribución de productos lácteos y a las
características de los vehículos se presenta un gasto aproximado de 1 galón de
combustible por cada 30 km de recorrido.
99
Tabla 6-17 Resultados caso de prueba considerando combustible
DEPÓSITO RUTA
TIEMPO DISTANCIA CONSUMO GASOLINA
Horas Minutos Kilómetros Galones
1 Sector
Oriental
1 1 25 29,300 1,086
2 59 18,150 0,647
3 33 7,330 0,269
4 43 10,622 0,272
5 35 8,570 0,242
6 43 11,090 0,219
7 38 11,260 0,337
8 44 10,480 0,284
9 54 13,640 0,369
10 52 13,770 0,330
2 Sector Nor-Occidental
1 30 6,900 0,452
2 45 10,350 0,376
3 33 8,110 0,389
4 34 7,580 0,277
5 13 3,420 0,196
6 19 4,010 0,205
7 31 6,730 0,256
8 33 7,680 0,280
9 43 9,040 0,256
10 10 2,100 0,282
TOTAL 12 57 200,13 7,023
Tabla 6-18 Resultados caso de prueba sin considerar combustible
DEPÓSITO RUTA
TIEMPO DISTANCIA CONSUMO GASOLINA
Horas Minutos Kilómetros Galones
1 Sector oriental
1 1 23 29,450 1,104
2 1 11 21,230 0,767
3 40 10,230 0,372
4 41 10,690 0,395
5 32 8,800 0,323
6 45 11,050 0,401
7 37 9,573 0,349
8 44 10,860 0,386
9 50 12,003 0,435
10 42 10,277 0,379
2 Sector Nor-Occidental
1 20 4,380 0,164
2 37 7,550 0,275
3 35 7,750 0,284
4 29 6,700 0,241
5 15 2,510 0,091
6 34 6,750 0,247
7 45 10,050 0,366
100
8 38 9,010 0,332
9 38 8,140 0,304
10 14 2,900 0,099
TOTAL 13 10 199,90 7,31
Tabla 6-19 Resultados caso de prueba considerando un depósito
RUTA TIEMPO DISTANCIA CONSUMO GASOLINA
Horas Minutos Kilómetros Galones
1 44 14 0,5146
2 41 11,8 0,43276
3 53 15,2 0,55924
4 32 9,6 0,35092
5 1 21 30,2 1,11724
6 44 11,6 0,42532
7 26 7,4 0,26908
8 47 13,6 0,49972
9 56 16,3 0,60016
10 50 14,8 0,54436
11 44 13,1 0,48112
12 1 0 18,3 0,67456
13 1 10 20,6 0,76012
14 52 16,4 0,60388
15 45 12,7 0,46624
16 38 11,2 0,41044
17 48 16 0,589
18 38 12 0,4402
TOTAL 14 29 264,8 9,84436
Tabla 6-20 Resumen resultados caso de prueba
RESULTADOS CASO DE PRUEBA
TIEMPO DISTANCIA CONSUMO GASOLINA
Horas Minutos Kilómetros Galones
Considerando combustible con 2 Depósitos 12 57 200,13 7,023
Sin considerar combustible con 2 Depósitos 13 10 199,90 7,312
Sin considerar combustible con 1 Depósito 14 29 264,80 9,844
101
En la tabla 6-20 se observa que el caso de prueba al considerar el costo de combustible
produce un ahorro del mismo aproximadamente del 4%, aunque la distancia recorrida
aumenta en un 0.11%. Esto sucede porque al considerar el costo de combustible puede
aumentar la distancia al priorizar la carga transportada. Adicionalmente se observa que al
considerar 2 depósitos se produce un ahorro del 25,72% respecto a considerar un solo
depósito como se realiza actualmente la distribución de productos lácteos.
La figura 6-4 muestra la ruta que recorre uno de los vehículos del depósito 2 en el sector
Nor-Occidental, cuando se corre el caso de prueba sin considerar el costo de combustible,
de manera similar la figura 6-5 muestra una de las rutas del depósito 2 cuando se
considera el costo de combustible, sin embargo las figuras no son comparables debido a
que los recorridos son diferentes, en el caso 1 se considera prioritaria la distancia y en el
caso 2 la carga y la distancia.
Figura 6-4 Ruta 9 Depósito 2, sin considerar costo de combustible (Fuente: www/google.es)
102
Figura 6-5 Ruta 9 Depósito 2, considerando costo de combustible (Fuente: www/google.es)
Los elementos que hacen que se considere el combustible como un factor de sobrecosto
se observan en la figura 6-6 donde se muestra el rendimiento de un motor que funciona
con gasolina. En esta gráfica se describen 4 elementos importantes relacionados, estos
son la potencia, el torque (par) y el consumo específico del motor, dependientes de la
velocidad angular del mismo. [30]
103
Figura 6-6 Curva de rendimiento para vehículos con motor de gasolina [30]
En consideración a la gráfica de rendimiento de los vehículos a gasolina se nota en la
curva de color naranja cómo un motor presenta un gasto mayor de combustible a bajas
revoluciones por minuto (RPM) presentes en el arranque del vehículo, al igual que se
presenta mayor gasto de combustible cuando las revoluciones son altas. Es decir que si
se requiere mayor potencia para generar el movimiento del vehículo también se requiere
mayor gasto de combustible. Esta situación se presenta cuando se arranca un vehículo
cargado y cuando se quiere ir a grandes velocidades, por lo tanto según la relación
mostrada en la gráfica para el presente trabajo se considera un porcentaje de sobrecosto
en el gasto de combustible en estas 2 condiciones puesto que por información de los
conductores en recorridos urbanos, los vehículos cargados se afectan por el arranque y
las múltiples paradas y recorridos rápidos con carga, lo cual hace que el motor no trabaje
en los rangos de revoluciones optimas que según la gráfica están entre 2500 y 3500 RPM
si no que se tenga recorridos en 1000 RPM en arranques y 5000 RPM en velocidad de
104
recorrido normal. Obteniendo una relación de sobrecosto de 10% aproximadamente en
cada una de las situaciones, por lo que en total se considera un 20% adicional de
sobrecosto de combustible en vehículos con carga en recorridos urbanos. Este factor del
20% se va reduciendo progresivamente y proporcionalmente a la carga que se entrega a
los clientes durante el recorrido de cada vehículo, por ejemplo se presenta la ruta No. 3
del depósito 1.
Tabla 6-21 Porcentaje de sobrecosto de gasto de combustible en relación a la descarga
CLIENTE DEMANDA DESCARGA PORCENTAJE DE
SOBRECOSTO
152 0 1194.94 18.38
49 293.2 901.74 13.87
71 117.16 784.58 12.07
69 117.16 667.42 10.27
68 117.16 550.26 8.47
66 243.2 307.06 4.72
61 234.32 72.74 1.12
45 72.74 0 0.00
152 0 0.00
105
7 CONCLUSIONES
En cuanto al estado del arte:
La adición de la restricción que respecta al consumo de combustible ha sido considerada
ampliamente en otras variantes del VRP como el CVRP, el VRPTW, el PRP, entre otros,
pero escasamente en los recorridos de cada vehículo en el problema MDVRP
concerniente al proyecto realizado.
Por otra parte de acuerdo con la revisión de los artículos de la literatura se encuentra que
en general las metodologías híbridas aportan buenos resultados a este tipo de problemas
combinatoriales, comparados con resultados encontrados en las instancias conocidas.
Otro aporte que se resalta en el desarrollo del proyecto está basado en el agrupamiento
de clientes para cada depósito por medio de la generación aleatoria de elipses de
diferentes radios para generar diferentes posibilidades de asignación y ruteo de clientes
de cada depósito, el hecho de no considerar radios y orientaciones fija en las elipses hace
que se obtengan intercambios de clientes entre los depósitos, lo cual conduce a mejorar
la calidad de las soluciones. Cabe aclarar que en la literatura se encuentran resultados
para la asignación de clientes a los depósitos utilizando circunferencias.
En cuanto al modelo matemático:
Los modelos matemáticos propuestos en la literatura especializada permiten evidenciar
tanto el comportamiento de la función objetivo como de las restricciones en cuanto al tipo
de variables, los factores de sobrecosto, la descripción y semejanza con casos aplicados
a la realidad, teniendo en cuenta esto, fue posible abstraer algunas características para la
formulación pertinente al problema de la presente investigación como: considerar la
adición de un factor de sobrecosto en la función objetivo de tal forma que considere la
distancia entre clientes pero también la carga transportada por los vehículos, es decir
dicho factor disminuye a medida que se realiza la entrega de productos al disminuir la
carga.
106
En cuanto a la metodología:
La asignación de clientes a los depósitos a partir de elipses se aproxima a una
metaheurística al actuar de forma aleatoria obteniendo soluciones mejoradas. Además el
uso de la metodología de agrupación de clientes por medio de elipses permite trabajar
simultáneamente criterios como vecindad entre clientes cercanos, cercanía al depósito e
intercambio entre depósitos, por estas razones se concluye que el criterio utilizado es
eficiente en la clusterización siendo un aporte ya que como se verifica en las referencias
únicamente se había utilizado la circunferencia.
El algoritmo genético de Chu Beasley permite generar una población cambiante, por lo
tanto se presentan individuos que mueven a la población en general hasta encontrar una
buena solución. Adicionalmente la mutación y mejoramiento hacen que las iteraciones se
reduzcan y el algoritmo genético converja con mayor velocidad. Por otra parte el VNS
admite realizar diversas mutaciones en un cambio generacional debido a las múltiples
combinaciones que realiza, eligiendo las mejores.
En cuanto al caso de prueba:
Como se observó en los resultados, la metodología desarrollada es apropiada para
solucionar el caso de prueba de distribución de productos lácteos, considerando 2
depósitos y 151 clientes, porque el algoritmo llega a la mejor solución en 3 de las
instancias diseñadas por Cordeau y se aproxima con un porcentaje de error permisible
del 2,6% hasta 4,8% en 2 casos más, desde 50 clientes con 2 y 4 depósitos hasta 249
clientes con 2 depósitos.
En el caso de prueba se observó que la distancia prima sobre la carga, esto debido a que
no es posible descargar en orden estrictamente descendente los productos porque la
distancia se incrementaría considerablemente teniendo un efecto contraproducente en el
gasto de combustible, por lo tanto la metodología considera la descarga de productos al
inicio sin incrementar en gran medida la distancia, es decir se tiene en cuenta el peso a
descargar y la distancia recorrida teniendo en cuenta el factor de sobrecosto entonces se
da preferencia a la distancia o a la carga según convenga.
107
Los resultados anteriores coinciden con investigaciones realizadas donde se menciona
que en vehículos de mayor capacidad el ahorro de combustible es más significativo en
trayectos largos para los cuales existen en la literatura diversos estudios acerca del gasto
de combustible en camiones que se desplazan entre ciudades, para el caso de vehículos
de transporte con capacidad alrededor de 1 tonelada el gasto de combustible se da de
acuerdo a la curva de potencia del motor donde existe una relación entre la velocidad del
motor en RPM, el torque y gasto de combustible, lo cual permite observar que para la
máxima carga el vehículo necesita una gran cantidad de revoluciones, generando mayor
gasto de combustible, sin embargo cuando la carga disminuye hasta un 20% el vehículo
no presenta mayor diferencia en el gasto de combustible a cuando está vacío, debido a
que estos motores han sido diseñados para transportar carga en la ciudad, por lo que se
recomienda en este trabajo a la empresa distribuidora enviar sus camionetas con cargas
no superiores a 1000 Kg.
El gasto de combustible es alto en la forma como se realiza la distribución de los
productos lácteos actualmente, puesto que los vehículos salen cargados totalmente y
realizan un gran recorrido desde el depósito hasta la entrada a la ciudad, por lo tanto si la
empresa realiza el ruteo desde dos depósitos que actualmente funcionan como bodega y
oficinas, la disminución de distancia es significativa y el gasto de combustible también
disminuye.
El algoritmo desarrollado utilizando 2 depósitos produjo un mejoramiento del 25,72% con
respecto a la forma en que se realiza la distribución de productos lácteos actualmente con
1 depósito. Adicionalmente se produce un ahorro del 4% al considerar en la función
objetivo el consumo de combustible.
108
8 RECOMENDACIONES
Se recomienda hacer estudios más detallados en el gasto de combustible tomando
variables como pendientes de la vías, tipo de vehículo, tiempo de recorrido, número de
paradas, tipo de carga, entre otros aspectos.
Es conveniente realizar un estudio minucioso acerca de la relación entre la capacidad del
vehículo y el gasto de combustible.
En la presente investigación se soluciona un problema real, entonces es importante
estudiar problemas semejantes con otro tipo de productos.
Es conveniente indagar más sobre el factor de sobrecosto de combustible en un grupo
interdisciplinario porque depende de las características del vehículo entre ellas potencia
del motor, la capacidad de carga, el tipo de terreno donde se mueve, la congestión
vehicular entre otros, ya que el problema abordado es determinante en las emisiones de
gases de efecto invernadero y por ende en la contaminación ambiental.
En cuanto al desarrollo de la metodología se utilizó la elipse como criterio de agrupación
de clientes, por lo tanto se recomienda analizar otros lugares geométricos para este
propósito.
Como trabajos futuros se recomienda abordar otras variantes del problema MDVRP, por
ejemplo considerar flota heterogénea.
Es conveniente también evaluar otras heurísticas en la solución del MDVRP cuando se
considera el costo de combustible.
109
9 BIBLIOGRAFÍA
[1] A. y D. Ministerio, “Estrategia Colombiana de Desarrollo Bajo en Carbono,” República de Colombia Plan Nacional de Desarrollo 2010-2014. [Online]. Available: http://www.minambiente.gov.co.
[2] R. A. Gallego Rendón, A. Escobar Zuluaga, and E. M. Toro Ocampo, Técnicas Metaheurísticas de Optimización, Segunda Ed. Pereira, 2008.
[3] A. Subramanian, “Heuristic, Exact and Hybrid Approaches for Vehicle Routing Problems,” Universidade Federal Fluminense, 2012.
[4] L. Pradenas, B. Oportus, and V. Parada, “Mitigation of greenhouse gas emissions in vehicle routing problems with backhauling,” Expert Syst. Appl., vol. 40, no. 8, pp. 2985–2991, Jun. 2013.
[5] F. Yamba, M. Kamimoto, L. Maurice, J. Nyboer, K. Urama, T. Weir, Y. Sokona, K. Seyboth, P. Matschoss, S. Kadner, T. Zwickel, P. Eickemeier, G. Hansen, and U. Kingdom, “Renewable Energy and Climate Change,” pp. 161–208, 2011.
[6] T. Bektaş and G. Laporte, “The Pollution-Routing Problem,” Transp. Res. Part B Methodol., vol. 45, no. 8, pp. 1232–1250, Sep. 2011.
[7] Y. Xiao, Q. Zhao, I. Kaku, and Y. Xu, “Development of a fuel consumption optimization model for the capacitated vehicle routing problem,” Comput. Oper. Res., vol. 39, no. 7, pp. 1419–1431, Jul. 2012.
[8] The NEO Research group works at the Deptarment of LCC from the University of Malaga (Spain). NEO is composed of both young and experienced members with the global target of solving multidisciplinary Real-World Problems of interest for our Society and Comp, “NEO Networking and Emerging Optimization,” University of Malaga, 2014. [Online]. Available: http://neo.lcc.uma.es/index.html.
[9] F. Boctor, G. Laporte, and J. Renaud, “Scope and,” Comput. Ops Res., vol. 23, no. 3, pp. 229–235, 1996.
[10] H. C. M. de Pasto, Acuerdo número 008 Mayo 31 de 2012, vol. 008. Colombia, 2012, p. 213.
[11] P. Surekha and S. Sumathi, “Solution To Multi-Depot Vehicle Routing Problem Using Genetic Algorithms,” World Appl. Program., vol. 1, no. 3, pp. 118–131, 2011.
[12] W. Ho, G. T. S. Ho, P. Ji, and H. C. W. Lau, “A hybrid genetic algorithm for the multi-depot vehicle routing problem,” Eng. Appl. Artif. Intell., vol. 21, pp. 548–557, Jun. 2008.
110
[13] G. N. Yücenur and N. Ç. Demirel, “A new geometric shape-based genetic clustering algorithm for the multi-depot vehicle routing problem,” Expert Syst. Appl., vol. 38, no. 9, pp. 11859–11865, Sep. 2011.
[14] T. Vidal, T. G. Crainic, M. Gendreau, and C. Prins, “Implicit depot assignments and rotations in vehicle routing heuristics,” Eur. J. Oper. Res., vol. 237, no. 1, pp. 15–28, Aug. 2014.
[15] B. Crevier, J.-F. Cordeau, and G. Laporte, “The multi-depot vehicle routing problem with inter-depot routes,” Eur. J. Oper. Res., vol. 176, pp. 756–773, Jan. 2007.
[16] M. A. Figliozzi, “The impacts of congestion on time-definitive urban freight distribution networks CO2 emission levels: Results from a case study in Portland, Oregon,” Transp. Res. Part C Emerg. Technol., vol. 19, no. 5, pp. 766–778, Aug. 2011.
[17] C. Lin, K. L. Choy, G. T. S. Ho, and T. W. Ng, “A Genetic Algorithm-based optimization model for supporting green transportation operations,” Expert Syst. Appl., vol. 41, no. 7, pp. 3284–3296, Jun. 2014.
[18] Y. Suzuki, “A new truck-routing approach for reducing fuel consumption and pollutants emission,” Transp. Res. Part D Transp. Environ., vol. 16, no. 1, pp. 73–77, Jan. 2011.
[19] N. Arvidsson, “The milk run revisited: A load factor paradox with economic and environmental implications for urban freight transport,” Transp. Res. Part A Policy Pract., vol. 51, pp. 56–62, May 2013.
[20] H.-K. Chen, C.-F. Hsueh, and M.-S. Chang, “The real-time time-dependent vehicle routing problem,” Transp. Res. Part E Logist. Transp. Rev., vol. 42, no. 5, pp. 383–408, Sep. 2006.
[21] F. A. Guasmayan, “Solución del problema de ruteo de veh;icuos dependientes del tiempo utilizando un algoritmo genético modificado,” Universidad Tecnológica de Pereira, 2014.
[22] A. OLIVERA, “Heurísticas para problemas de ruteo de vehículos,” Inst. Comput. Fac. Ing. Univ. la República, Montevideo, Uruguay., 2004.
[23] A. Olivera, “Heurísticas para Problemas de Ruteo de Vehículos,” Universidad de la república. Montevideo, Uruguay, 2004.
[24] J. AHUJA, R.; MAGNANTI, T. and ORLIN, Network flows: theory, algorithms, and applications., 1. ed. 1993.
[25] K. Helsgaun, “An Effective Implementation of K -opt Moves for the Lin-Kernighan TSP Heuristic,” DATALOGISKE Skr. (Writings Comput. Sci., no. 109, pp. 1–99, 2006.
111
[26] E. Toro Ocampo, R. Bolaños, and M. Granada Echeverri, “Solución del problema de múltiples agentes viajeros resuelto mediante técnicas heurísticas,” Sci. Tech. Año XIX, vol. 19, no. 2, pp. 174–182, 2014.
[27] A. Subramanian, “HEURISTIC, EXACT AND HYBRID APPROACHES FOR VEHICLE ROUTING PROBLEMS,” 2012.
[28] C. Lehmann, Geometría Analítica. México: Editorial Limusa, 2013.
[29] F. Bonomo, G. Durán, F. Larumbe, and J. Marenco, “Optimización de la recolección de Residuos en la Zona Sur de la Ciudad de Buenos Aires,” pp. 71–88, 2009.
[30] N. CARLOS, “Curvas características de motores y vehículos,” 2012. [Online]. Available: http://mepuedeservir.es/wp2/wp-content/uploads/2012/03/2.-CURVAS-CARACTERISTICAS-DE-MOTORES-Y-VEHICULOS-Recomprimidos..pdf.