OPTIMIZACIÓN BASADA EN METAHEURÍSTICAS: UNA APROXIMACIÓN A LA SOLUCIÓN DEL PROBLEMA DE RUTEO DE VEHÍCULOS CON VENTANAS HORARIAS
TRABAJO DE GRADO
ANGELICA SOFÍA BENITEZ PERDOMO JUAN FELIPE ACOSTA MOLINA
BOGOTÁ D.C. 2017
UNIVERSIDAD DEL ROSARIO
OPTIMIZACIÓN BASADA EN METAHEURÍSTICAS: UNA APROXIMACIÓN A LA SOLUCIÓN DEL PROBLEMA DE RUTEO DE VEHÍCULOS CON VENTANAS HORARIAS
TRABAJO DE GRADO
ANGELICA SOFÍA BENITEZ PERDOMO JUAN FELIPE ACOSTA MOLINA
NELSON ALFONSO GÓMEZ CRUZ
ADMINISTRACIÓN DE LOGÍSTICA Y PRODUCCIÓN
BOGOTÁ D.C. 2017
AGRADECIMIENTOS
TABLA DE CONTENIDO
GLOSARIO... 6
RESUMEN ... 7
ABSTRACT... 8
1. INTRODUCCIÓN ... 9
1.1 Planteamiento del problema ... 9
1.2 Justificación... 9
1.3 Objetivos ... 10
2. EL PROBLEMA DEL RUTEO DE VEHÍCULOS ... 11
2.1 El problema de ruteo de vehículos con ventanas horarias VRPTW ... 12
2.2 Problemas de recolección y entrega para bienes transportados ... 13
2.3 Problemas de ruteo estocásticos de vehículos... 14
2.4. Problema de ruteo de vehículos con utilidades ... 15
2.5. Problema de ruteo de vehículos dinámicos ... 15
3 PROBLEMA DE RUTEO DE VEHÍCULOS CON VENTANAS DE TIEMPO ... 16
4 MÉTODOS EXACTOS USADOS PARA EL PROBLEMA DE RUTEO CON VENTANAS DE TIEMPO ... 18
5 MÉTODOS HEURÍSTICOS USADOS EN EL PROBLEMA DE RUTEO DE VEHÍCULOS CON VENTANAS DE TIEMPO ... 21
5.1 Método de barrido o sweep ... 22
5.2 Algoritmo del vecino más cercano ... 22
5.3 Algoritmo de ahorros de Clarke y Wright... 23
5.4 Algoritmo de inserción de Solomon... 23
5.5 Algoritmo de Pétalos ... 24
6. METAHEURÍSTICAS Y EL PROBLEMA DE RUTEO DE VEHÍCULOS CON VENTANAS DE TIEMPO ... 24
6.1 Optimización basada en colonia de hormigas ... 26
6.2 Algoritmos Genéticos... 32
7. VRP SPREADSHEET SOLVER ©, UNA HERRAMIENTA PARA IR DE LA TEORÍA A LA
PRÁCTICA ... 38
CONCLUSIONES ... 43
RECOMENDACIONES ... 44
Lista de figuras
Figura 1. Categorías del problema de recogida y entrega de mercancías………...…14
Figura 2. Arquitectura del sistema de colonia de hormigas múltiple para el VRP con ventanas de tiempo ……….29
Figura 3. Ilustración de cromosoma en A.G en el problema del ruteo……….33
Lista de tablas
Tabla 1. Variables de decisión del CRVP………..……12
Tabla 2. Instancias punto de referencia Solomon………..25
Tabla 3. Algoritmo de colonia de hormigas para un VRP con ventanas horarias...30
Tabla 4. Características de los dos escenarios...38
Tabla 5. Parámetros iniciales VRP Spreadsheet Solver ©...39
Tabla 6. Latitud, longitud, ventanas horarias, demanda y utilidades del VRP Spreadsheet Solver©.………..41
Tabla 7. Distancia y duración del recorrido del VRP Spreadsheet Solver ©………..42
GLOSARIO
Optimización: Arte de seleccionar la mejor alternativa entre un conjunto de opciones válidas (Gallego, Toro, & Escobar, 2015).
Problema de optimización: Maximizar o minimizar una función sometida a alguna limitación o restricción. Frecuentemente representa un rango de elecciones disponibles en una situación determinada. La función permite la comparación de las diferentes elecciones para determinar cuál puede ser la “mejor” (Taha, 2012).
Problema de ruteo de vehículos: Es una familia de problemas de optimización. Cuyo objetivo es, definir los requisitos de transporte necesarios, para visitar un conjunto de clientes distribuidos en una región geográfica determinada. De tal manera que se maximicen las utilidades.
Heurística: Métodos inteligentes de optimización, que no son producto de un riguroso análisis formal, sino de conocimiento experto sobre el problema. Procedimiento simple basado en la experiencia, en el buen juicio o en la solución de modelos matemáticos reducidos, que permite encontrar soluciones de buena calidad para problemas complejos (Gallego, Toro, & Escobar, 2015).
Metaheurística: Es una estrategia general de diseño que aplica procedimientos heurísticos de alto rendimiento para la resolución de problemas complejos. Estas estrategias generales permiten construir algoritmos que quedan por encima de las heurísticas y tienen mucho mayor alcance (Gallego, Toro, & Escobar, 2015).
RESUMEN
Los problemas complejos que se presentan en las organizaciones han sido tema de estudio durante las últimas décadas debido a su alto impacto en los resultados empresariales. Las decisiones tomadas por los líderes de los procesos respecto a estos problemas generalmente se basan en su intuición, forjada por experiencias, perjuicios y patrones mentales, considerados como correctos, omitiendo cualquier intento de análisis cuantitativo por el alto número de variables y la existencia de varios objetivos que se interponen entre sí. La planeación de las rutas de una flota de transporte para la entrega de mercancías es catalogado como una operación de alta complejidad, por el número de soluciones posibles, la interconexión de múltiples objetivos y un gran número de variables que se aumenta de forma exponencial en el momento que se añaden ventanas horarias.
El problema de ruteo con ventanas horarias hace parte de la operación cotidiana de las empresas distribuidoras de mercancías y es crítico a la hora de tomar decisiones estratégicas en la industria por su relación con el costo logístico total. Las primeras herramientas creadas para solucionar este problema fueron los métodos exactos, los cuales intentan encontrar el óptimo global, estrategia ineficiente por la naturaleza del problema; mediante los avances en el campo de la optimización, surgieron métodos de exploración para la búsqueda de soluciones, métodos conocidos como heurísticos y metaheurísticos. Por la importancia y desconocimiento de este problema en las organizaciones, el objetivo de este artículo es describir y caracterizar los diferentes métodos de solución, para que de esta manera los líderes en logística cuenten con un conocimiento técnico de las herramientas disponibles para optimizar sus procesos de transporte y mediante un análisis numérico, basados en su intuición y experticia, logren generar los
mejores resultados de una manera rápida y eficaz.
Palabras clave: Problema de ruteo de vehículos, metaheurísticas, heurísticas, optimización, logística de transporte.
ABSTRACT
Organization´s complex problems have been studied during the last decades, due his high impact in the business results. Taken decisions by the processes’ leaders related with these problems are based on their intuition, created by experiences, bias and mental patterns. Avoid any attempt of quantitative analysis for the high number of variables and objectives that stand between each other. Planning routing fleet of vehicles for the delivering of goods, it’s a high complex operation, for the number of possible solutions, multi-objective principles and a large number of variables, increased with time windows. The vehicle routing problem with time windows is a regular operation in retailer companies and it is critical for the decision-making in the industry, for his relation with logistics costs. Exacts methods was the first tools created for find the optimal solution, inefficient strategy due the problem’s nature. Trough advances in the optimization field, emerged exploration methods, known as heuristics and metaheuristics. For the importance and lack of awareness of this problem in organizations, the objective of this article is describing the different methods of solution. In this way the logistic leaders have a technical knowledge about the available tools for optimize their transport processes and by numerical analysis, based on their intuition and experience, achieves the best results in an efficient way.
Keywords: Vehicle routing problem, metaheuristics, heuristics, optimization, transport logistics.
1. INTRODUCCIÓN
1.1 Planteamiento del problema
Desde el principio de la industria ha sido una prioridad encontrar la ruta óptima que permita cumplir la promesa de servicio de las compañías, entregando los productos demandados por los clientes en el tiempo, cantidad y costo necesarios para poder competir en el mercado, todo con la finalidad de aumentar las utilidades. El primer acercamiento científico a la solución de este problema se definió como el problema del agente viajero o TSP (Traveling Salesman Problem), “Este es el problema de un vendedor el cual, empezando desde su pueblo natal, quiere encontrar el camino más corto que lo lleve a través de un conjunto de ciudades en las cuales puede ofrecer sus productos, y luego lo lleve de nuevo a casa” (Dorigo & Stützle , 2004). Este problema es prioritario en el desarrollo de las actividades de una empresa distribuidora de productos o servicios, y en el ámbito de la academia es crucial para comprender el VRP (Vehicle Routing problem), el cual consiste en encontrar la forma óptima de visitar y entregar un producto a todos los clientes que lo demandan teniendo en cuenta las restricciones logísticas; tiempo, costo y cantidad (Ballou, 2004).
1.2 Justificación
El problema del agente viajero y el problema de ruteo de vehículos son considerados problemas de tipo NP, nomenclatura definida por la teoría de la complejidad, la cual divide los problemas en dos clases, la clase P, problemas que se pueden resolver mediante una computadora en tiempo polinomial y los NP en los cuales no se puede encontrar la solución en un tiempo razonable (Pérez, 2010).
Lo anterior refiere el número de soluciones que varían de manera exponencial al aumentar las ciudades o nodos de visita. Los métodos exactos aplicados para las diferentes variaciones del problema de ruteo intentan encontrar un óptimo global del problema. En la mayoría de aplicaciones prácticas, los nodos de visita superan la capacidad de solución de los métodos
exactos, por esta razón surgieron nuevas estrategias que se basan en encontrar óptimos locales, conocidas como heurísticas, las cuales generan múltiples soluciones que cumplen las restricciones, pero no se puede precisar con exactitud la calidad de sus soluciones, generan buenos resultados en un tiempo razonable. En los últimos años la academia ha centrado su investigación en el desarrollo de técnicas que mejoren los resultados de las heurísticas creando algoritmos híbridos que combinan diferentes campos de la ciencia, como la biología y la neurología. A estas nuevas estrategias se les llama metaheurísticas, de la misma manera estos métodos no garantizan un óptimo global o una solución exacta, por este motivo se pueden encontrar en la literatura como métodos de aproximación o exploración.
El VRPTW (Vehicle routing problem with time windows), es un ejemplo de una variación del VRP, en el cual dada una flota de transporte y un conjunto de clientes distribuidos geográficamente sobre un plano, se debe visitar a cada uno cumpliendo con unos intervalos de tiempo llamados ventanas horarias. Un ejemplo de ello es una comercializadora encargada de la distribución de alimentos a diferentes tiendas con ubicaciones geográficas determinadas, donde cada uno de los propietarios de las tiendas cuenta con horarios establecidos para recibir los productos y existen zonas inseguras que no se pueden atender en horas de la tarde. El problema radica en hacer entrega de los pedidos cumpliendo a cabalidad con los intervalos de tiempo que los clientes proponen, maximizando las utilidades de la operación.
Este tipo de problemas son muy comunes en las empresas y generan cada vez más incertidumbre en el ámbito de las entregas de productos y servicios a nivel global, además, de tomar en consideración que los costos de transporte en una organización representan una tercera parte de los costos logísticos totales.
1.3 Objetivos
El objetivo principal de este artículo será describir los algoritmos exactos, heurísticos y principalmente metaheurísticos más reconocidos que han sido utilizados para dar solución al problema descrito previamente, además, conocer sus principales características de forma que sea comprensible su alcance y posibles resultados frente a la solución del VRPTW, de igual forma se realizará un acercamiento formal al problema, con la finalidad de que las empresas
interesadas conozcan cuales son los modelos matemáticos que rigen esta operación cotidiana y que herramienta pueden usar para hacer más eficaz su proceso de transporte.
Para la consecución de los objetivos delimitados en la sección 1 se abordará el problema de ruteo de vehículos y se definirán sus principales variaciones, en la sección 2 se caracterizará el problema de ruteo de vehículos con ventanas horarias, en las secciones 3,4 y 5 se hará una revisión de los diferentes métodos exactos, heurísticos y metaheurísticos de optimización para la solución del VRPTW, por último, en la sección 6 se desarrollará un ejemplo utilizando la herramienta creada por Erdoğan (2015) como un intento de formalizar la teoría a un problema práctico.
2. EL PROBLEMA DEL RUTEO DE VEHÍCULOS
El VRP es una generalización del problema del agente viajero, en cual se pretende optimizar la operación de una flota de vehículos, las variables estipuladas en este problema son: “Un conjunto de requisitos de transporte y una flota de vehículos”1
(Irnich, Toth, & Vigo, 2014). Además de su principal objetivo: “Determinar un conjunto de rutas de los vehículos para realizar todos (o algunos) de los requerimientos de transporte con la flota disponible al mínimo costo; en particular; decidir cuál vehículo cumplirá con los requisitos y su secuencia de operación, de tal manera que todas las rutas de transporte sean ejecutadas factiblemente2” (Irnich, Toth, & Vigo, 2014), En síntesis, es la planeación óptima de las entregas de un producto, a diferentes nodos o consumidores, teniendo en cuenta que se debe visitar a todos los clientes, en una secuencia de visita con el objetivo de minimizar costos y volver a un nodo inicial o en términos logísticos un centro de distribución. Las organizaciones de producción, comerciales y prestadoras de servicio, se enfrentan cotidianamente a este problema, cada una tiene diferentes restricciones que dan paso
1
“A set of transportation request and a fleet of vehicles”. Traducción del autor 2
“Determine a set of vehicle routes to perform all (or some) transportation request with the given vehicle fleet at minimum cost; In particular, decide which vehicle handles which request in which sequence so that all vehicle routes can be feasibly executed”. Traducción del autor.
a diferentes variaciones del problema, la variación más común es: CVRP (Capacitated vehicle routing problem) o mejor, el problema de ruteo de vehículos con restricciones de capacidad. En el CVRP los requisitos consisten en transportar productos desde un punto inicial, a un conjunto de otros puntos, generalmente consumidores o clientes. La cantidad que debe ser entregada a cada uno de los consumidores, es la demanda, que se puede definir como el volumen o el peso de los productos, la flota es definida homogéneamente (todos los vehículos tendrán la misma capacidad y costo por ser usados, puede ser de peso, volumen, u otra variable dependiendo de la definición del problema) un vehículo que se traslada desde un punto a otro, tiene un costo determinado. Las expresiones matemáticas que definen las variables del problema son presentadas en la tabla 1, en la cual el CVRP es definido mediante un grafo, con una cantidad K de vehículos y una capacidad Q.
Tabla 1.
Variables de decisión del CRVP
Variables de decisión
N = Conjunto de nodos, clientes o consumidores. qi = Cantidad demandada por el nodo i.
K = Flota de transporte. Q = Capacidad homogénea de la flota.
S = Clusters, conjunto de clientes que se atenderán por el determinado vehículo k.
Cij = Costo incurrido de moverse del nodo i al nodo j. Punto 0 = Centro de distribución.
Fuente: Los autores, a partir de Toth & Vigo (2014)
2.1 El problema de ruteo de vehículos con ventanas horarias VRPTW
Es una variante del CVRP en la cual se supone un intervalo de tiempo dentro del cual se debe entregar el producto al cliente, existen dos modalidades de esta que son la ventana horaria suave o fuerte, la primera hace referencia a una penalización en términos de costo en caso de que algún
vehículo visitara a un cliente por fuera del intervalo de tiempo determinado, por otro lado, la ventana horaria fuerte, restringe de forma tácita el tiempo de entrega al cliente, lo cual obliga a esperar hasta que el intervalo de tiempo inicie o a cancelar la visita en caso de que este mismo se halla dado por terminado cuanto se llegue al punto de entrega. En la mayoría de casos el número de vehículos para asignar es de carácter ilimitado, y la función objetivo varía dependiendo del método de solución a utilizar y el objetivo que se plantee la organización. Existe la posibilidad de que el problema también conocido como VRPTW se convierta en un CVRP en el momento en el cual las ventanas horarias sean tan amplias que no generen una restricción al modelo (Toth & Vigo, 2002).
2.2Problemas de recolección y entrega para bienes transportados
Es uno de los problemas más comunes en el transporte de mercancías que supone varios orígenes y destinos, está divido en tres categorías las cuales dependen del nivel de demanda y la complejidad de la ruta; el primero de estos de denomina Many-to-Many (M-M), en el cual cada uno de los envíos puede tener múltiples orígenes y destinos y cualquier lugar puede ser el origen o destino de múltiples, este se desarrolla en panoramas con disponibilidad de uno o múltiples vehículos, lo cual determinará la forma como se desarrollará el modelo; el segundo se denomina
One-tomany-to-one (1-M-1) dentro del cual surge un solo origen que se dirige a múltiples clientes, realiza entregas y posteriormente regresa al origen (este tipo de problema surge comúnmente en modelos productivos de logística directa e inversa dentro de un mismo ejercicio de creación de valor), al interior de este están contenidos los escenarios de demandas simultaneas y demandas simples, es decir, la cantidad de pedidos y frecuencia de los mismos determina la necesidad de vehículos dentro de la operación; el tercero y último se denomina one-to-one dentro del cual existe un origen y destino único donde se debe llevar a cabo la operación de transporte, en este es muy común encontrar restricciones de carga por lo que se hace necesario el uso de múltiples vehículos para cubrir la demanda. Es necesario mencionar que este tipo de problemas surgen en ambientes dinámicos, es decir, la información necesaria para realizar la operación de ruteo se revela gradualmente, existen cambios en cantidades y volúmenes constantemente entre origen y destino (Toth & Vigo, 2002).
Muchos a Muchos (M-M) Uno a Muchos a Uno (1-M-1) Uno a Uno
Figura 1. Categorías del problema de recogida y entrega de mercancías
Fuente: Elaboración propia a partir de (Toth & Vigo, 2002)
2.3Problemas de ruteo estocásticos de vehículos
Para el caso de los modelos VRP en cuestión de operaciones logísticas es vital tener en cuenta las variaciones esperadas y acontecimientos inesperados dado que la incertidumbre del entorno es una de las características que afectan las operaciones de transporte de forma contundente, por ejemplo, cambios súbitos en las demandas de los clientes pueden cambiar la programación de las rutas si tenemos en cuenta que la cantidad y la capacidad de vehículos es limitada; cada una de las variaciones tiene repercusiones en el costo de la operación, es por ello que existe una necesidad de obtener modelos que producen específicamente soluciones rentables en un entorno incierto. Comúnmente se consideran tres variables estocásticas:
Demandas estocásticas: volúmenes aleatorios a ser recogidos o entregados a los clientes.
Clientes estocásticos: presencia o ausencia de los clientes tiene una probabilidad dada.
Tiempos estocásticos: tiempos de servicio con el cliente / tiempo de ruta de los vehículos. Para obtener el modelo es necesario definir cómo y cuándo sucederán los valores de los parámetros estocásticos y generar decisiones de recurso, y sus costos asociados, que cambiaran respecto de los resultados de los parámetros iniciales. El primer camino para resolver el modelo es por medio de la formulación de una función objetivo cuyo resultado óptimo será el mínimo total esperado, y el segundo camino se refiere a la inclusión de restricciones probabilísticas que generan resultados mínimos totales según la experiencia (Toth & Vigo, 2002).
2.4. Problema de ruteo de vehículos con utilidades
Este tipo de variante de ruteo con beneficios se refiere a la capacidad de decisión acerca de a que clientes se debe servir y como agrupar a los mismos de forma que se distribuyan en las rutas existentes de forma ordenada. De forma general, un beneficio se entiende como el valor que supone un cliente para el negocio, es decir, se trata de colocar en una balanza la utilidad derivada de cada una de las rutas con el costo de las mismas y decidir que opción genera más rentabilidad para el negocio, en este punto se puede elegir entre asumir el costo mínimo en tránsito o el beneficio máximo en clientes, o una combinación de los dos que permita un equilibrio para el sistema (Armin luer, 2009).
2.5. Problema de ruteo de vehículos dinámicos
La clasificación de los VRPs puede ser variada, más aun, en un entorno dinámico donde la aplicación de un modelo de enrutamiento está obligada a acomodarse a los cambios de entorno y escenarios variados dado que cada vez es más común la necesidad de adaptación a los cambios del entorno, con base a la calidad de la información del mismo estos se pueden clasificar en:
Estática y Determinista, donde todos los parámetros de ingreso son conocidos no llegan a variar ni en la etapa de planeación ni en la de ejecución, incluye los VRPs tradicionales.
Estático y Estocástico, donde algunos parámetros son conocidos y otros son aleatorios, en este caso se llegan a conocer los valores reales de trabajo en la fase de ejecución de la ruta.
Dinámico y Determinista, este supone un entorno donde los datos se van haciendo visibles con el paso del tiempo, es decir, se caracterizan por su alto nivel de incertidumbre.
Dinámico y estocástico, este se caracteriza por la necesidad de ahondar en la información estocástica conocida (como pronósticos, rangos, etc.) con la finalidad de integrar una gran cantidad de datos que permitan establecer como podrían ser los eventos futuros del sistema de transporte (Toth & Vigo, 2002).
3 PROBLEMA DE RUTEO DE VEHÍCULOS CON VENTANAS DE TIEMPO
Las ventanas de tiempo aparecen naturalmente en los problemas a los cuales se enfrentan las organizaciones, que trabajan con tiempos de entrega flexibles, algunos problemas como el servicio de entregas postales, entregas bancarias, la recolección de basura industrial, la entrega a supermercados, el enrutamiento de autobuses escolares y la distribución de periódicos urbanos, cuentan con ventanas de tiempo fuertes, las cuales de no ser cumplidas se generan retrasos e insatisfacciones en los clientes muy costosas. Este tipo de problema como se vio en la sección 2.1, se enfoca en encontrar soluciones las cuales minimicen el total de tiempo, la cantidad de vehículos o costo de una flota que distribuye productos desde un centro de distribución hacia los clientes, los cuales necesitan ser visitados una vez dentro de su ventana horaria, o intervalo de tiempo. Todas las rutas empiezan y terminan en el mismo depósito, y el total de la demanda de todos los clientes atendidos por un vehículo dentro de una ruta en particular no debe exceder su capacidad, expresada en volumen o peso, según la naturaleza del problema. En la mayoría de casos la función objetivo es minimizar el número de vehículos y el total de tiempo de recorrido, este tipo de problemas se les conoce como MOP (Multi-objective Optimization Problem), en el cual dos o más objetivos o parámetros contribuyen a un resultado global, estos objetivos algunas veces se relacionan de una manera compleja y no lineal. El reto es encontrar un conjunto de valores que generen una optimización de los resultados globales teniendo en cuenta los problemas independientemente (Ombuki, Ross, & Hanshar., 2006).
El objetivo del VRPTW es servir a todos los clientes usando los vehículos los cuales persiguen los siguientes objetivos y las restricciones a mencionar son satisfechas.
Objetivos:
Minimizar el número total de vehículos usados para atender a los clientes.
Minimizar la distancia recorrida por los vehículos. Restricciones:
La capacidad del vehículo es limitada.
Cada cliente es atendido una única vez.
Cada ruta de un vehículo empieza en el depósito y termina en él.
Es importante definir las características de las ventanas de tiempo, las cuales pueden ser ajustadas, en el caso en el cual influya directamente a la solución, o en otras palabras la ventana de tiempo es una restricción definida, o pueden ser estrechas, si es pequeña comparada al horizonte de planeación, un ejemplo claro puede ser una ventana de tiempo de diez minutos comparada a un horizonte de planeación de doce horas, de tal manera que también existen ventas de tiempo sueltas y anchas, que se definen como ventanas de tiempo sin conexión a las restricciones del problema o con un intervalo de tiempo amplio. A diferencia de los problemas de ruteo de capacidad, en el VRPTW, el factor determinante no es la geografía o la forma de las rutas, tiene que ver más con el cumplimiento de las restricciones, que genera rutas alejadas de la clásica forma de hojas o pétalos. Si el número de clientes varía entre los cien o doscientos, o más, se convierte en un problema casi imposible de resolver manualmente, por esta razón es necesario el uso de métodos de solución computacional. (Irnich, Toth, & Vigo, 2014).
La formulación matemática del problema se define como un grafo directo G= (V, A), con conjuntos de clientes o clusters U, cada cliente cuenta con una única ventana de tiempo. Definiendo 𝑒𝑖, 𝑖 ∈ 𝑈, como la hora mas temprana que se puede atender al cliente i, 𝑙𝑖, 𝑖 ∈ 𝑈, como la hora límite en la cual el servicio pueda empezar para el cliente i, 𝑒0 como la hora de
partida de los vehículos del centro de distribución, 𝑙0 es la hora de regreso de los vehículos hacia el deposito. En el problema de ruteo de vehículos con ventanas de tiempo la hora de inicio del servicio de cada cliente está dada por una variable de decisión 𝑏𝑖. Si un vehículo llega antes al cliente j ∈ 𝑈 , tiene que esperar. De este modo 𝑏𝑗, está dado por:
𝑏𝑗 = 𝑚𝑎𝑥{𝑒𝑗, 𝑏𝑖 + 𝑠𝑖 + 𝑡𝑖𝑗 }
Donde i es el cliente visitado inmediatamente antes j, 𝑡𝑖𝑗 es el viaje más rápido entre el cliente i y
4 MÉTODOS EXACTOS USADOS PARA EL PROBLEMA DE RUTEO CON VENTANAS DE TIEMPO
A través del estudio del problema de asignación y optimización de una flota de transporte, se han desarrollado diferentes algoritmos, con metodologías que se relacionan con la investigación de operaciones y la programación lineal entera, los modelos exactos, intentan descartar familias enteras de posibles soluciones, tratando así de acelerar la búsqueda y llegar a la óptima. El método de ramificación y acotación (Branch and Bound en inglés), fue propuesto por Land y Doig (1960) y aplicado para el TSP por Little, Murty, Sweeney, y Karel en (1963), este se define mediante dos pasos: primero en Ramificar, consiste en tomar el conjunto de soluciones del problema y dividirlo en el menos dos subconjuntos no vacíos, segundo en Acotar, el cual busca obtener el costo mínimo de cada una de las ramificaciones previamente generadas, este método encuentra siempre la solución óptima, sin embargo podría ser necesario enumerar y comparar todas las posibles soluciones, por esta razón puede generarse la necesidad de utilizar heurísticas durante el proceso.
Ramificación y acotación: El problema del CRVP es solucionado mediante programación lineal, sin tener en cuenta la restricción que sus variables deben ser enteras y sin incluir tampoco las restricciones de ruptura de sub circuito, rutas que no parten ni vuelven al centro de distribución, dichas restricciones generan que el problema se haga más complejo al utilizar los métodos de solución lineal, el modelo matemático es el siguiente:
𝑚í𝑛 ∑ 𝐶𝑖𝑗𝑋𝑖𝑗
𝑖 ≠𝑗
.
Sujeto a las siguientes condiciones:
∑ 𝑋𝑖𝑗 𝑗∈𝛿−(𝑖) = 1 ∀𝑖 ∈ 𝑉, ∑ 𝑋𝑖𝑗 𝑗∈𝛿 +(𝑖) = 1 ∀𝑖 ∈ 𝑉, Donde
𝛿−(𝑖) = 𝛿{𝑎 = (𝑗, 𝑖) 𝜖 𝐴},
𝛿+(𝑖) = 𝛿{𝑎 = (𝑗, 𝑖) 𝜖 𝐴},
𝑐𝑜𝑛 𝑥𝑖𝑗 ∈ {0,1}.
La solución mediante el método simplex, encontrara una ruta en la cual el costo será el mínimo según la matriz de costo entre ciudades, en el caso de que no exista ningún sub circuito, el problema ya tendrá una solución óptima, en el caso contrario se deberá aplicar el algoritmo de ramificación y acotación, dividiendo el problema en sub problemas de mayor costo para eliminar los sub circuitos y encontrar una solución óptima.
El segundo método a estudiar, se le conoce como el de los planos de corte, Dantzig, Fulkerson y Johnson (1954) fueron los primeros en desarrollarlo con la finalidad de solucionar el problema del TSP. Este consiste en la generación de restricciones lineales (o planos de corte) que se prueban a medida que se van añadiendo planos uno por uno hasta conseguir una solución óptima para el problema, en este método el conjunto de soluciones es la unión de los circuitos que unen los puntos de entrega y cada una de las rutas, es un vector de dimensión n(n-1) en el que cada uno de los componentes toma valor de 1 si la solución pertenece al circuito, 0 en el caso contrario; el último de los métodos exactos de se le conoce como el método de Ramificación y Corte (Branch and Cut en inglés), es una técnica de ramificación y acotación, en la cual se agrega una técnica de hiperplanos de corte para resolver los distintos problemas que se van generando, se puede catalogar como una herramienta adicional para resolver problemas con un numero de restricciones altos, identifica las desigualdades con soluciones factibles para así solo introducir estas en el problema lineal.
La programación dinámica dirigida a problemas de VRP fue desarrollada por primera vez en el año 1971 (Eilon, Watson-Gandy, & Christofides, 1971). Esta buscaba determinar la solución óptima de un problema de n variables descomponiéndola en n etapas, con cada etapa incluyendo un sub problema de una sola variable, a esto se le sumaba un número fijo m de vehículos y la necesidad de encontrar el costo mínimo de cada uno de los vértices al interior de los subconjuntos, cabe aclarar que este modelo resuelve únicamente problemas con un número menor o igual a 50 vértices.
Larsen (2004), desarrolló un algoritmo basado en ramificación y acotación y generación de columna, un hibrido que es conocido en los modelos exactos como (Branch and Price),una de las características de los modelos exactos es que solo pueden perseguir un objetivo y en este caso
decidió optimizar el número de vehículos, Para poder comparar su algoritmo utilizó 27 instancias del problema de ruteo de vehículos con ventanas de tiempo, para las primeras siete, uso un problema con cien clientes y ventanas horarias suaves, las otras instancias se les fueron añadiendo más tiempo a las ventanas horarias y reduciendo el número de clientes a 50, el autor compara el tiempo de solución de diferentes métodos exactos para la solución del problema, y encuentran que su método optimiza el tiempo de ejecución encontrando soluciones muy parecidas a otros métodos exactos.
Fisher (1997), utilizó una estrategia de relajación de LaGrange. La cual introduce una división de variables para partir el problema original en dos sub-problemas, uno de asignación y otro de ruteo. Los resultados son óptimos cuando se corren instancias o clusters, dado que los datos son más fácilmente ejecutables y se pueden llevar a cabo más rápidamente las iteraciones del problema.
Mingozzi, Bianco, y Ricciardelli (1997) desarrollaron un algoritmo exacto basado en la programación dinámica empleando funciones de acotamiento para reducir el espacio de búsqueda. Se hace uso de las funciones límite para reducir el grafico de espacio de estado que se obtienen mediante la técnica conocida como “Relajación Espacial Estatal”. Los resultados computacionales para problemas de prueba generados aleatoriamente de forma satisfactoria, pero con grandes tiempos de solución.
Bramel (1997), resolvió el problema de ruteo de vehículos con ventanas de tiempo por medio de la técnica de relajación lineal de variables, utilizando la generación de columnas, posteriormente, utilizó el método Branch and Bound para llegar a la solución final del problema. Según el autor la relajación lineal de la totalidad de variables es la técnica más eficiente para resolver los sub problemas.
Rich (1999), analizó la solución del problema de ruteo de vehículos con ventanas de tiempo por medio de la generación de columnas en combinación con los métodos de programación
dinámica, en este análisis se presentaron resultados con aplicaciones programáticas usando desde 4 hasta 8 computadoras al mismo tiempo.
5 MÉTODOS HEURÍSTICOS USADOS EN EL PROBLEMA DE RUTEO DE
VEHÍCULOS CON VENTANAS DE TIEMPO
Durante los últimos años se han desarrollado un gran número de algoritmos denominados exactos en busca de la solución del VRP, pero a pesar de este esfuerzo, los parámetros usados son poco frecuentes en la aplicación del problema en la vida real, teniendo en cuenta que en un modelo de distribución secundaria de una empresa de consumo masivo, diariamente se deben planear la visita a un gran número de clientes y se deben analizar variables externas decisivas para el éxito de la operación como lo son las ventanas horarias establecidas por los clientes. La necesidad de resolver este tipo de problemas complejos en un tiempo computacional razonable, ha llevado al desarrollo de diferentes estrategias modernas de solución basadas en heurísticas y metaheurísticas.
Las heurísticas son métodos inteligentes que no son producto de un riguroso análisis formal, sino de conocimiento experto sobre el problema. Se usa este término para referir un procedimiento que trata de aportar soluciones a un problema con un buen rendimiento, desde el punto de vista de la calidad de las soluciones y de los recursos empleados. Su principal diferencia con los modelos exactos es que no se les exige que la solución encontrada sea la solución óptima factible del problema. Por esta razón un algoritmo heurístico es una estrategia de búsqueda que utiliza un conjunto de procedimientos que encuentran soluciones de buena calidad de manera simple y rápida. Para que una heurística funcione las soluciones de alta calidad no se encuentran uniformemente distribuidas en el espacio de soluciones, sino que existen diferenciación entre regiones de alta calidad y regiones de baja calidad (Gallego, Toro, & Escobar, 2015). Existe una gran variedad de herramientas de carácter heurístico, por ejemplo, el método sweep o la inserción de Solomon, que han sido aplicadas como herramientas de solución del VRPTW, todas han sido empleados por distintos autores a fin de buscar un gran universo de soluciones factibles que puedan ser más cercanos al óptimo global (Toth & Vigo, 2002).
5.1Método de barrido o sweep
Es una heurística, perteneciente al grupo del vecino más cercano, con la cual se pretende delimitar los problemas del VRP, con el fin de tener una población inicial de soluciones factibles o de acotar el universo de soluciones. En la definición del problema del VRP se puede notar que en realidad son dos sub problemas, de gran complejidad y que a través del tiempo se han desarrollado diferentes estrategias para resolverlos, el primer problema consiste en hacer una división de los clientes, de tal manera que se generen grupos o cluster que no excedan la capacidad de un vehículo, para este problema generalmente se usa una heurística conocida como de barrido o sweep, en inglés, la cual se basa en la información, que está dada por una matriz con sus distancias y coordenadas, calculadas por medio de la distancia euclidiana, después de esto se calcula el ángulo de cada nodo respecto a una recta arbitraria que parte del depósito y se organizan los clientes según el ángulo de menor a mayor, tomando un camión k no usado y partiendo del cliente no visitado con el ángulo más pequeño, se adiciona dicho cliente sin exceder la capacidad del vehículo, si al intentar incluir un nuevo cliente a este cluster, se excede la capacidad, se salta al siguiente cliente, y así hasta tres veces, si no se encuentra un cliente con una capacidad aceptada se incluye un nuevo camión k, volviendo a comenzar la matriz de ángulos. Finalmente se le da un valor a cada cluster y mediante alguna de las metaheurísticas explicadas a continuación se genera un orden de visita dentro de cada uno de los conjuntos de clientes. Esta heurística encuentra soluciones, basadas en el objetivo de reducir el número de
clusters, no se enfoca en las distancias ni recorridos que pueden a llegar a tomar los vehículos (Toth & Vigo, 2002).
5.2 Algoritmo del vecino más cercano
Es una heurística más sencillas utilizada en los problemas de ruteo, esta heurística consiste en juntar un conjunto de nodos con base a la cercanía de su ubicación en un espacio, relacionándolos de forma secuencial a partir de un nodo de partida o inicio y eligiendo el nodo más cercano al actual ignorando al grupo de nodos que ya forman parte del sistema, el proceso termina cuando ya se han agregado todos los nodos a la ruta y el ciclo volviendo al nodo inicial. Su definición matemática se representa generando un valor 𝑙, al conjunto de soluciones factibles
para el VRPTW, y 𝑐 a una función de costo. 𝑙 Es finito, pero extremadamente grande. El objetivo es encontrar una solución 𝑠∗para la cual: 𝑐(𝑠∗) ≤ 𝑐(𝑠) para 𝑠 ∈ 𝑙 (Toth & Vigo, 2002).
5.3Algoritmo de ahorros de Clarke y Wright
Es una heurística generalmente utilizada para dar solución a problemas de VRP cuyo objetivo es generar un reconocimiento limitado de espacio de búsqueda con base en el ahorro generado al introducir nuevas rutas hasta completar una solución final, donde se busca generar una nueva combinando dos rutas diferentes las cuales son soluciones de un mismo problema por ejemplo al tener la ruta (0,.,.,.,i,.,0) y (0,.,.,j.,.,.,0) se podrían unir, generando un ahorro de distancia al crear el arco (i,j).
Ocaña y Ramírez (2004), utilizaron el algoritmo de ahorro de Clarke y Wright en un modelo CVRPTW con los objetivos de optimizar la cantidad de vehículos, minimizar el tiempo de los recorridos y reducir el costo del proceso de transporte de la empresa de Courier en la ciudad de Guayaquil. Se obtuvieron excelente resultados al utilizar esta heurística se logró optimizar el uso de la flota en un 20%, así mismo se ha logrado establecer nuevas rutas de envió con menor distancia total de recorrido representado en una disminución del 23% en el tiempo total de recorrido, adicionalmente al crear nuevas rutas se redujo el kilometraje total recorrido generando una reducción de costos debido a que la remuneración a los transportista se genera mediante un costo establecido por kilómetro recorrido.
5.4Algoritmo de inserción de Solomon
Es una extensión al Algoritmo de ahorros para contemplar problemas con ventanas de tiempo. Determinar si la unión de dos rutas ri y rj es factible no resulta directo en presencia de ventanas de tiempo, pues el arribo a los clientes de rj puede atrasarse y esto podría ocasionar que se violaran algunas ventanas de tiempo (Olivera, 2004).
Eduardo, Susana, y Manuel (2005), buscan comparar la eficiencia de diferentes modelos heurísticos, particularmente el algoritmo de Ioanis y el algoritmo de Solomon y una versión
paralelizada del mismo; se tomaron estos modelos ya que son reconocidos puramente como de construcción de rutas. Los resultados obtenidos arrojaron que el método se Solomon se destaca por su capacidad de replicar cualquier solución, cosa que no se puede hacer utilizando modelos estocásticos.
5.5 Algoritmo de Pétalos
Es una heurística utilizada para solucionar problemas de VRP, la cual trabaja bajo 2 fases el primero de asignar ruteo y agrupar después, donde se parte de un supuesto de la existencia de un grupo de rutas factibles en donde cada cliente está presente en varias rutas, el objetivo del algoritmo es encontrar un subconjunto de rutas factibles a un costo mínimo en donde cada cliente es visitado solo una vez.
Carbonel (2015), realizó un estudio con el fin de minimizar los costos de reparto de la empresa San Isidro Labrador, en este estudio se recolecto por medio de una encuesta en donde se evaluó el nivel de servicio a los clientes, asociado a esto se obtuvieron los costos por hora de mano de obra y combustible. Utilizando este algoritmo se logró establecer un ruteo para cada cliente y luego uno general, donde los costos de distribución se lograrían disminuir en un 43,7% y adicionalmente el kilometraje total recorrido entre los nodos modelados se reduciría en un 49,4% comparado con el modelo de transporte utilizado anteriormente en la compañía.
6. METAHEURÍSTICAS Y EL PROBLEMA DE RUTEO DE VEHÍCULOS CON VENTANAS DE TIEMPO
Las técnicas heurísticas avanzan, en cada paso del proceso, hacia la mejor solución vecina y cuando no encuentran un mejor vecino, finalizan el proceso de búsqueda. Este proceso se conoce como búsqueda monótona. Esta característica conduce al algoritmo a regiones absorbentes, que representan soluciones óptimas locales, en las que quedan atrapados. Una metaheurística es una estrategia general de diseño que aplica procedimientos heurísticos de alto rendimiento para la
resolución de problemas complejos. Las metaheurísticas utilizan el concepto de vecindad, y a diferencia de las heurísticas poseen mecanismos que les permiten escapar de soluciones óptimas locales. Los procedimientos metaheurísticos tienen un alto grado de confianza en que encuentra soluciones de alta calidad, para un problema de optimización, con un costo computacional razonable aunque no se garantice la solución óptima global (Gallego, Toro, & Escobar, 2015). En la búsqueda por encontrar soluciones más cercanas al óptimo global, se toman conceptos de diferentes ciencias y se refuerzan los métodos heurísticos para dar paso a esta clase de algoritmos con mejores resultados. Es importante mencionar en este punto que existe unas instancias estandarizadas para comparar diferentes métodos del problema de ruteo de vehículos con ventanas horarias, llamado el punto de referencia estándar de Solomon para el problema de ruteo de vehículos (Standard Solomon’s VRPTW benchmark instances). Esta información es clasificada en seis clases; C1, C2, R1, R2, RC1 y RC2. Los problemas en categoría C significa que los clientes ya están en un cluster geográficamente o de acuerdo a su ventana horaria. Los problemas en la categoría R representan una simulación donde los clientes están distribuidos uniformemente en el plano, RC son problemas híbridos que combinan características de los dos. Además para C1, R1 Y RC1, las ventanas horarias son estrechas, lo cual implica que pocos clientes puedan ser atendidos por un mismo vehículo, las instancias con el número 2, tienen ventanas de tiempo amplias por lo que necesitan de menos vehículos para cumplir con las restricciones (Solomon, 1987) como se puede ver en la tabla 2. A continuación una comparación entre los algoritmos metaheurísticos más reconocidos para la solución del VRPTW.
Tabla 2.
Instancias punto de referencia Solomon.
Fuente: Elaboración propia
Instancia Definición
R Ubicación geográfica de los clientes uniformemente distribuida. C Número de clientes visitados por un vehículo previamente establecido. RC Combinación aleatoria de las dos características.
1 Horizonte de planeación cortos, ventanas horarias estrechas (un vehículo puede atender pocos clientes).
2 Horizonte de planeación largos, ventanas horarias anchas (un vehículo puede atender más clientes).
6.1 Optimización basada en colonia de hormigas
Las colonias de hormigas son sistemas complejos que a pesar de la alta simplicidad de sus individuos, los cuales en la mayoría de casos tienen limitaciones en sus sentidos, logran ejecutar tareas de alta dificultad sin ningún tipo de dirección. Esto lo logran mediante comunicación indirecta llamada estigmergia, que es la habilidad de los individuos de interactuar con su medioambiente y responder a cambios de manera específica. En el caso de las hormigas interactúan de esta manera dejando señales químicas para marcar un sitio en especial como, una fuente de comida o informar a miembros de su grupo de cambios en la arquitectura de su colonia (Moussaid, Garnier, Theraulaz, & Helbing, 2009). La idea principal de los algoritmos basados en colonia de hormigas es explotar los principios de autoorganización que permiten el comportamiento de alta coordinación de las hormigas reales, mediante poblaciones de agentes artificiales colaborando en la solución de problemas computacionales. Diferentes comportamientos de las hormigas reales han inspirado el desarrollo de diferentes tipos de algoritmos; algunos ejemplos son: La búsqueda, división del trabajo, clasificación de crías y cooperación en el transporte (Dorigo & Stützle , 2004). Para el caso de estudio de este artículo se abordara el comportamiento de las hormigas para encontrar nuevas fuentes de alimentos.
Este proceso comienza cuando una hormiga encuentra comida durante una fase de exploración aleatoria, después de alimentarse la hormiga vuelve a la colonia dejando rastros de feromonas, este camino de feromona atrae a otras hormigas, las cuales siguen el rastro hasta llegar nuevamente a la fuente de comida y vuelven a la colonia segregando feromonas por el camino, esto quiere decir que al existir mayor concentración de feromonas en un camino se aumenta la probabilidad que la hormiga siga este camino. Esto genera una retroalimentación positiva, que se puede definir como la posibilidad de que la interacción con uno o más individuos altere el patrón de decisión del individuo anterior al realizar una acción predeterminada en este caso representada con la cantidad de feromona segregada lo que ocasiona que entre mayor sea el número de hormigas que hayan tomado este camino en concreto, se aumentara el atractivo y por lo tanto más hormigas decidirán ir por ese camino hacia la comida. Por otro lado las feromonas son químicos volátiles, esto quiere decir que al transcurrir el tiempo se evaporan, influyendo en la atracción de un camino en específico, generando una serie de factores limitantes que
normalizan el impulso generado anteriormente, conocidos como retroalimentación negativa regulando la cantidad de feromonas presentes en un camino cuando la comida escasea (Deneubourg, Aron, Goss, & Pasteels, 1990).
Varios algoritmos basados en este comportamiento han sido desarrollados para la solución del problema del agente viajero, cada uno tratando de imitar el comportamiento de auto organización y estigmergia que generan las hormigas para buscar fuentes de alimentos, uno de los más representativos es el Ant System, este algoritmo fue desarrollado por Dorigo y Maniezzo en 1992, La ruta en este caso es construida aplicando un procedimiento a cada hormiga; 1. Escoger según algún criterio, una ciudad de inicio en la cual la hormiga será posicionada, 2. Usar la cantidad de feromona y los valores heurísticos para que probabilísticamente se construya un recorrido, en el cual se agreguen las ciudades que no se han visitado aun. 3. Volver a la ciudad de origen, Para el desarrollo del algoritmo se deben tener en cuenta las dos fases principales: La construcción de la solución por las hormigas y la actualización de la feromona, La construcción de la solución se genera mediante la siguiente función probabilística:
𝑝𝑖𝑗𝑘 = [𝜏𝑖𝑗] 𝛼 [𝑛𝑖𝑗] 𝛽 ∑𝐼∈𝑁 [𝜏𝑖𝑗]𝛼[𝑛𝑖𝑗]𝛽 𝑖𝑘
Donde 𝑝𝑖𝑗𝑘 se refiere a la probabilidad de que la hormiga k situada en el nodo i visite el nodo j,
𝜏𝑖𝑗 se refiere a la cantidad de feromona que existe en el camino ij, 𝑛𝑖𝑗 son los valores heurísticos definidos para el algoritmo, y que se precisa de la siguiente manera: 𝑛𝑖𝑗 =
1
𝑑𝑖𝑗, especificando 𝑑𝑖𝑗
como la distancia existente entre los nodos i y j. Definida de otra manera como el atractivo de visitar un nodo, 𝑁𝑖𝑘 es el conjunto de ciudades que la hormiga k no ha visitado aun, y los
parámetros 𝛼 y 𝛽, son los que delimitan si el algoritmo le dará mayor peso a las variables heurísticas o a la cantidad de feromona en los caminos.
La actualización de los caminos de feromona se realizara mediante dos fórmulas, la primera de evaporación que permitirá llegar a soluciones óptimas al eliminar caminos que no han sido recorridos por las hormigas:
Donde 0< 𝜌< 1 es la tasa de evaporación de la feromona, después de actualizar la feromona las hormigas depositan en los caminos visitados:
𝜏𝑖𝑗 ← 𝜏𝑖𝑗 + ∑ ∆𝑡𝑖𝑗𝑘 𝑚
𝑘=1
∆𝑡𝑖𝑗𝑘 = 1
𝐶𝑘
Donde ∆𝑡𝑖𝑗𝑘 es la cantidad de feromonas que la hormiga k deposita en el arco ij. Entre menos
distancia exista entre el recorrido ij, la cantidad de feromona depositada en el camino será mayor ya que; 𝐶𝑘 es la suma de la longitud ente el nodo i y el nodo j.
En la búsqueda de soluciones para el problema de ruteo con ventanas horarias los algoritmos basados en colonia de hormigas, cuentan con características que ajusta su método a los resultados esperados para este problema, en especial si se habla de los algoritmos MACS, “Multiple Ant Colony Systems”, los cuales abordan el problema optimizando al mismo tiempo dos funciones objetivo. Para conocer la naturaleza de estos algoritmos y sus diferentes variantes se analizaran tres diferentes artículos descritos a continuación:
Macs-vrptw: Un Sistema de colonia de hormigas múltiple para el problema de ruteo de vehículos con ventanas horarias Gambardella, Taillard, y Agazzi (1999)
En este algoritmo los dos objetivos son optimizar simultáneamente mediante actividades coordinadas de dos colonias basadas en ACS, la misión de la primera colonia es tratar de disminuir el número total de vehículos, mientras la segunda optimiza las soluciones factibles de la primera. En algunos casos las dos colonias usan independientemente sus caminos de feromona pero se colaboran compartiendo la función objetivo global, este algoritmo usan un modelo de solución en los cuales cada hormiga crea un único camino. Una solución es representada, primero, el deposito con todas sus conexiones con los clientes es duplicada un número de veces igual al número de vehículos. Esta aproximación hace que el VRP se parezca más a un TSP. La arquitectura de este algoritmo se puede ver en la figura 2.
Figura 2. Arquitectura del sistema de colonia de hormigas múltiple para el VRP con ventanas de tiempo.
Fuente: Elaboración propia a partir de Gambardella, Taillard, y Agazzi (1999).
Los resultados del algoritmo propuesto se compararon mediante el punto de referencia estándar de Solomon. Para esta comparación los autores tuvieron en cuenta los siguientes algoritmos; Memoria de programación adaptativa de Rochat y Taillard, búsqueda del vecino más lejano de Shaw, búsqueda guiada local de Kilby. Los resultados demostraron que los algoritmos solucionan mejor los problemas C1, y RC2, los cuales consisten en clientes con ventanas horarias definidos y limitaciones en su rango de visita y capacidad de carga, el segundo representa ubicaciones geográficas y ventanas de tiempo aleatorias con restricciones suaves de capacidad y horario de visita. En estos dos el algoritmo MACS-VRPTW tuvo mejores resultados optimizando el número de vehículos a usar, lo cual era el principal objetivo de los autores. Cabe destacar que para los problemas RC1, con localizaciones y ventanas de tiempo aleatorias y fuertes restricciones de tiempo y capacidad, el algoritmo no produce los mejores resultados ni en número de vehículos ni en distancia recorrida, sabiendo que este tipo de problema en general es el que más se aplica a una operación de transporte, aunque por otro lado los autores mencionan un muy buen rendimiento en términos de tiempo computacional para su algoritmo.
Sistema de colonia de hormigas múltiple para un VRP con ventanas de tiempo y carga programada Ortega, Oliva, Ferland, y Cepeda (2009)
Este algoritmo genera un sistema múltiple de colonias, la primera colonia (ACS-VEI) minimiza el número de vehículos usados, atendiendo el total de la demanda y teniendo prioridad sobre la segunda colonia (ACS-TIME), la cual minimiza la cantidad total de tiempo por el número mínimo de vehículos, las dos colonias usan caminos de feromonas independientes pero
comparten la variable de la solución inicial generada por una heurística del vecino más cercano, un ejemplo de esta heurística puede ser, la heurística de barrido , cada una de las colonias tienen el mismo modelo matemático presentado anteriormente, pero con modificaciones para cumplir con las restricciones de ventanas horarias, que se implementan en el desarrollo del algoritmo de la segunda colonia.
Tabla 3.
Algoritmo de colonia de hormigas para un VRP con ventanas horarias
ACO multi-objeti vo para el VRP con ventanas horarias. Procedimiento
1. Inicialización
ψgb: Es la mejor solución factible: Menor número de vehículos y menos tiempo de viaje.
N = Número de nodos en el grafo. V = Número actual de vehículos.
Lnn = Costo total obtenido mediante heurística del vecino más próximo. Lψgb = Costo total de la mejor solución encontrada.
Variables de inicialización 2. Bucle principal.
Hacer ACS-VEI (v) Mientras ACS-VEI es factible
ACS-TIME (v)
Fuente: Elaboración propia a partir de Ortega, Oliva, Ferland y Cepeda (2009)
La ventaja fundamental de este algoritmo es poder paralelamente optimizar el proceso, con múltiples objetivos, teniendo en cuenta que el conjunto de soluciones se debe delimitar primero mediante una heurística de barrido, esta característica de poder evaluar múltiples objetivos se aplica a los problemas reales en las organizaciones y es una característica fundamental para los líderes de los procesos poder tomar decisiones teniendo en cuenta diferentes objetivos para analizar.
Los resultados del algoritmo se evaluaron por medio de la solución de varios problemas con 25 nodos y con clasificación C1 y C2, en donde se hace referencia a ventanas horarias con solución factible (C) y las restricciones suaves o blandas del modelo, 1 para restricciones de tiempo y capacidad duras y 2 para restricciones suaves. Los resultados no fueron comparados con otros algoritmos, se encontraron soluciones para problemas con restricciones de tiempo y capacidad elevadas en un tiempo de computación altos.
Sistema de colonia de hormigas para un VRP con múltiples ventanas de tiempo y visitas
Favaretto, Moretti, y Pellegrini (2007)
En este artículo analiza nuevamente el problema de múltiples ventanas de tiempo, dos tipos de colonias minimizan simultáneamente dos funciones objetivo diferentes, el número de vehículos y el costo total, exactamente la primera colonia se encarga de encontrar una solución factible, si existe, con un número determinado de vehículos, en este caso la llaman ACS-VEI. La segunda trata de mejorar la solución encontrada con la ruta optima, esta colonia es llamada ACS-TIME. Estas dos colonias se comportan de manera similar, analizando cada nodo con respecto a las restricciones impuestas por el modelo, cada hormiga construye una lista de posibles movimientos y escoge el indicado mediante una regla probabilística parecida a la descrita en la sección 3.7.La primera parte del algoritmo encuentra una solución factible mediante una heurística basada en el vecino más cercano. Una solución factible es representada por una lista de nodos empezando desde el depósito y alternándose por los clientes, sin exceder la capacidad del vehículo, en el valor de la función objetivo incluye además el tiempo necesario por cada vehículo para regresar al depósito inicial. El segundo paso requiere que la colonia ACS-VEI sea activada para encontrar una solución factible con s-13. La búsqueda será repetida disminuyendo en uno el número de vehículos usados en cada iteración, hasta que no exista ninguna solución factible. De esta manera el algoritmo ACS-TIME es activado para en encontrar la ruta más corta.
A diferencia de los otros algoritmos, en el artículo desarrollado por Favaretto y compañía, la regla de transición varia en la declaración de una nueva variable ϑ, la cual genera en la hormiga artificial la capacidad de conocer si sus posibles próximos nodos a visitar, tienen una ventana horaria subsiguiente al tiempo en la cual la hormiga toma la decisión, dándole prioridad a los que cumplan con esta condición, para finalmente reducir el número de clientes que no pueden ser visitados por el incumplimiento de sus ventanas horarias, y existe un cambio en la variable 𝑛𝑖𝑗, la
cual no solo mide la distancia entre nodos, sino también la urgencia del servicio al cliente, por estar en un hora límite para cumplirse la ventana de tiempo de nodo.
Como resultado de la implementación del algoritmo a un problema de ruteo con 71 clientes, se encontró la mejor solución, dándole un valor mayor a la variable heurística modificada con la
3
urgencia de servicio, que al de la cantidad de feromona de cada camino. Se puede evidenciar además que la introducción de la nueva variable y la modificación de la variable heurística, proporcionan mejores resultados en un algoritmo con múltiples ventanas de tiempo.
6.2 Algoritmos Genéticos
Son técnicas evolutivas de búsqueda de solución de problemas. El principio esta derivado de la teoría de evolución de Darwin. En la naturaleza, los individuos se reproducen y sus descendientes tienen diferentes características, debido a la combinación de cromosomas, en algunas ocasiones, los genes cambian por el ambiente, esto es conocido como el proceso de mutación. Los individuos con mejor capacidad de adaptación sobreviven y el porcentaje de individuos con características desfavorables se reducen. Los algoritmos genéticos copian este principio, están basados en teoría de esquemas y conceptos de probabilidad. El primer paso del algoritmo es aleatoriamente generar un conjunto N de soluciones iniciales. Este conjunto es conocido como generación, una solución es un individuo. La calidad de cada individuo es medida por su desempeño en la función objetivo. En el segundo paso, un par de soluciones (padres) de la generación son seleccionadas aleatoriamente pero con la probabilidad de selección proporcional a su desempeño en la función objetivo. Esto quiere decir que los mejores individuos tienen una mayor probabilidad de propagarse a la siguiente generación. Luego, se realiza una operación de mezcla la cual es aplicada a la pareja de soluciones (padres) seleccionada, con una probabilidad pc y los nuevos individuos creados, son copiados para la siguiente generación. La selección de padres y la operación de mezcla se repiten hasta que una nueva generación sea creada. Por último, cada individuo en la nueva generación es mutuado con una pequeña probabilidad pm, esta tasa de mutación indica la probabilidad de que una posición, pueda tener
su valor actualmente modificado, es decir cambiar el valor de una variable de 0 a 1 o viceversa. Los individuos son evaluados respecto a su función objetivo (Fabera & Stambolidis, 2013). El proceso se repite hasta que se encuentre una solución que satisfaga los requerimientos del usuario.
Figura 3. Ilustración de cromosoma en A.G en el problema del ruteo.
Fuente: Elaboración propia
A continuación la descripción de algunos algoritmos basados en A. G, para la solución del problema de ruteo de vehículos con ventanas de tiempo.
Un algoritmo de evolución diferencial mejorado para el problema de ruteo de vehículos con entregas simultaneas y ventanas de tiempo Mingyong y Erbao (2010).
En el cual definen el problema como: un conjunto de clientes ubicados en una red de transporte; cada cliente requiere una operación de recogida y entrega de una cierta cantidad de productos, y debe ser visitado una vez para realizar las dos operaciones. El cliente será atendido por una flota de vehículos con capacidad limitada, la cual se asume es homogénea, cada cliente debe ser atendido dentro de un intervalo de tiempo específico, a un vehículo no se le permite empezar un servicio a un cliente, cuyo intervalo de tiempo ya haya pasado. El objetivo es minimizar la longitud de las rutas. En este caso en especial se puede notar que el problema es una mezcla de la variante del VRP de ventanas horarias con un problema de entrega y recogida de productos. Como se mencionó anteriormente los algoritmos genéticos se dividen en cuatro procesos; la iniciación de la población, mutación, mezcla o reproducción y la selección de soluciones, a continuación una breve descripción de cómo funciona cada una de ellas para este problema en específico:
Iniciación de la población: Como en la definición de un algoritmo genético para resolver el VRP un cromosoma es un secuencia de visita de n clientes, en la primera generación de cromosomas se revisan las restricciones de: capacidad, ventanas horarias y máxima distancia al mismo tiempo, si esta generación no viola las restricciones, se considera una nueva generación, si no se cumplen las restricciones en algún gen (o visita a un cliente), se resuelve usando otro vehículo empezando por este