Source: http://docplayer.es/317727-Split-delivery-vehicle-routing-problem-heuristic-based-algorithms.html
Timestamp: 2016-10-23 15:12:30+00:00

Document:
⭐Split Delivery Vehicle Routing Problem: Heuristic based Algorithms
Download "Split Delivery Vehicle Routing Problem: Heuristic based Algorithms"
Ana Isabel Crespo Ramos
1 Split Delivery Vehicle Routing Problem: Heuristic based Algorithms Sandro Moscatelli Instituto de Computación, Facultad de Ingeniería Universidad de la República Diciembre 20072 Resumen El Split Delivery Vehicle Routing Problem es una relajación del clásico problema de optimización combinatoria Vehicle Routing Problem, en el que se excluye la restricción de que cada cliente sea visitado solamente una vez por un único vehículo. En este reporte se presenta una recopilación de algoritmos basados en heurísticas para la resolución de este problema. Palabras clave: entregas partidas, vehicle routing problem, soluciones óptimas, heurísticas, metaheurísticas. Abstract The Split Delivery Vehicle Routing Problem is a relaxation of the classical problem of combinatorial optimization Vehicle Routing Problem, where the restriction that each customer must be visited only once by a single vehicle is removed. In this report we present a summary of algorithms based on heuristics for the resolution of this problem. Keywords: split delivery, vehicle routing problem, optimal solutions, heuristics, metaheuristics. pág. 1 de 413 Índice 1. Introducción Beneficios de Entregas Partidas Propiedades Alternativas de solución Soluciones exactas Soluciones aproximadas Two Stages Algorithm Splitabú Tabú Search para SDVRPTW Scatter search algorithm Otros algoritmos Soluciones híbridas EMIP Optimization-based heuristic Conclusiones Bibliografía...39 pág. 2 de 414 1. INTRODUCCIÓN El VRP (Vehicle Routing Problem) es un problema [1] sumamente conocido y estudiado del área de la optimización combinatoria. En este problema, dado un deposito d, una flota de M vehículos homogéneos (cada uno con una capacidad Q), un conjunto C de clientes (donde cada cliente i C tiene una demanda d i, 0 d i Q) y siendo c ij el costo de ir del cliente i al cliente j, se debe construir un conjunto de rutas de costo mínimo que satisfaga las siguientes condiciones: cada cliente es visitado exactamente una vez. cada ruta comienza y finaliza en el depósito d. la demanda total de cada ruta no excede la capacidad del vehículo asignado a la misma. En general se considera como costo la distancia y por lo tanto el costo de una ruta es la distancia recorrida por el vehículo asignado a la misma al visitar los clientes, aunque pueden usarse otras medidas. El SVRDP (Split Delivery Vehicle Routing Problem) es una relajación del VRP, en el cual se elimina la restricción de que cada cliente sea visitado una sola vez por un vehículo, admitiéndose que el mismo puede ser visitado cualquier cantidad de veces por distintos vehículos. Es decir que la demanda del cliente puede ser partida de forma tal que sea satisfecha por varios vehículos (split delivery). Además la condición de que cada cliente i C tiene una demanda d i Q no es necesaria en este problema. Este problema fue planteado e investigado por Dror y Trudeau [2] entre 1989 y 1990, los cuales mostraron que al permitir entregas partidas en la resolución del VRP se puede lograr una disminución de la cantidad de rutas y por lo tanto una reducción del costo total de la solución. También mostraron que, a pesar de la relajación introducida, el SDVRP es un problema NP-hard [2], al igual que lo es el VRP. Este reporte está organizado de la siguiente manera. En la sección 2 se muestran los potenciales beneficios al permitir entregas partidas mediante un ejemplo y se presentan algunas conclusiones en base a estudios empíricos sobre resultados experimentales. En la sección 3 se presentan varias propiedades de las soluciones óptimas del problema SDVRP. En la sección 4 se exploran las distintas alternativas y algoritmos existentes actualmente para resolver este problema. En particular se hace énfasis en los algoritmos basados en heurísticas o metaheurísticas considerando que al ser un problema NP-hard, en la práctica no siempre es factible utilizar métodos de resolución exactos. En la última sección se presentan las conclusiones sobre este problema. pág. 3 de 415 2. BENEFICIOS DE ENTREGAS PARTIDAS Dror y Trudeau [2] se basaron en el ejemplo de la Figura 1 como motivación para su investigación. Este ejemplo muestra que potencialmente se podría usar una cantidad menor de rutas (vehículos) que en la resolución de un VRP, lo cual implica una reducción del costo total de las rutas. d A =3 B d B =3 C d c =3 A B C Depósito O, Q = 5 Figura 1 Potencial caso de ahorro resolviendo un SDVRP Dada la matriz de costos C i,j : O A B C O A B C la solución si se resuelve un VRP, sin permitir entregas partidas, se muestra en la Figura 2 y tiene un costo de 60 unidades y requiere 3 vehículos (rutas). d A =3 d B =3 d c =3 A B C Depósito O, Q = 5 Figura 2 Solución resolviendo VRP en cambio si se permiten entregas partidas, la solución se muestra en la Figura 3, tiene un costo de 50 unidades y requiere de 2 vehículos. Notar que la demanda del cliente B es satisfecha por ambos vehículos en partes iguales (2 unidades cada uno). pág. 4 de 416 d A =3 d B =3 d c =3 A B C Figura 3 Solución resolviendo un SDVRP Sin embargo Dror y Trudeau no analizaron la existencia de otros casos en los cuales se pudiese obtener una mayor reducción en el costo ni tampoco analizaron en profundidad la cuantía de dicha reducción. z( VRP) z( SDVRP) Más recientemente Archetti et al [3] mostraron que 2 y esta cota es ajustada. Donde z(vrp) es el costo de una solución óptima para el problema VRP y z(sdvrp) es el costo de una solución óptima al problema SDVRP. El resultado anterior significa que existen casos en los cuales la solución VRP óptima tiene un costo que es a lo sumo 2 veces mayor que el costo de la solución SDVRP óptima, o dicho de otra manera que al permitirse entregas partidas se puede lograr un ahorro de hasta el 50% del costo total. A pesar del interés teórico que tiene el resultado anterior, en la práctica su utilidad es limitada, dado que no establece ninguna relación entre las características de un problema específico, tales como la distribución geográfica de los clientes y la distribución de la demanda de los mismos y la eventual reducción en los costos si se permiten entregas partidas. Archetti et al [4] enfocan su análisis no sólo en el cociente anterior, sino también en la reducción de la cantidad de rutas requeridas para satisfacer la demanda de los clientes, cuando se permiten entregas partidas considerando que este es el principal beneficio que se obtiene. Para esto último demuestran la siguiente proposición: r( VRP) 2 r( SDVRP) y la cota es ajustada, siendo r(vrp) y r(sdvrp) la mínima cantidad de rutas requeridas para satisfacer la demanda de los clientes en una solución del problema VRP y del problema SDVRP respectivamente. Notar que en ejemplo de la Figura 3 el cociente anterior es 3/2. También analizan, de forma empírica, los eventuales beneficios que se podrían obtener al permitir entregas partidas estudiando ambos cocientes, basando dicho estudio en ciertas características de los clientes consideradas relevantes, tales como su ubicación geográfica y sus patrones de demanda. Depósito O, Q = 5 En particular para el estudio del cociente z( VRP) z( SDVRP) se utilizan heurísticas porque al ser problemas NP-hard se hace sumamente difícil hallar soluciones exactas para casos de cierto tamaño en tiempos razonables. El estudio de los cocientes se hace sobre conjuntos de datos generados randómicamente y los autores extraen a las siguientes conclusiones: pág. 5 de 417 La reducción en el costo que se obtiene al permitir entregas partidas se debe a la posibilidad de reducir la cantidad de rutas (la reducción de la cantidad de rutas tiene como beneficio adicional la necesidad de una flota de vehículos más pequeña) Los mayores beneficios se obtienen cuando la demanda promedio (d p ) de los clientes verifica 0.5Q d p 0.75Q, siendo Q la capacidad de los vehículos y además la variación en la demanda de los clientes es relativamente pequeña. Los beneficios al permitir entregas partidas dependen principalmente de la relación entre la demanda promedio y la capacidad de los vehículos y no parece depender de la ubicación geográfica de los clientes. 3. PROPIEDADES En esta sección se enumeran algunas propiedades relevantes de las soluciones óptimas, así como las principales contribuciones sobre la complejidad computacional del SDVRP. Considerando la siguiente definición: Dado un conjunto de k clientes {i 1,i 2,...,i k } y k rutas r 1,r 2,...,r k con k 2, tal que la ruta r w contiene los clientes i w y i w+1, con w = 1..k-1 y la ruta r k contiene los clientes i k y i 1, se denomina ciclo k-split al subconjunto de clientes i 1,i 2,...,i k. Un ejemplo de ciclo 3-split se muestra en la Figura Depósito 3 Figura 4 Ejemplo de ciclo 3-split donde la primer ruta visita a los clientes 1 y 2, la segunda ruta visita a los clientes 2 y 3 y la tercer ruta a los clientes 1 y 3. Dror y Trudeau [2] demostraron la siguiente propiedad estructural de las soluciones óptimas del SDVRP: pág. 6 de 418 Propiedad 1: Si la matriz de costos satisface la desigualdad triangular, entonces existe una solución óptima del SDVRP que no tiene ciclos k-split, para cualquier k. Como corolario se deduce que si la matriz de costos satisface la desigualdad triangular entonces existe una solución óptima del SDVRP en la cual todo par de rutas tiene a lo sumo un cliente en común (split delivery). Archetti et al [3] demostraron otra propiedad estructural de las soluciones óptimas del SDVRP en la cual relacionan la cantidad de entregas partidas con la cantidad de rutas: Propiedad 2: Si la matriz de costos satisface la desigualdad triangular, entonces existe una solución óptima del SDVRP en la cual la cantidad total de entregas partidas (suma de las entregas partidas de todos los clientes) es menor que la cantidad de rutas. Archetti et al [5] analizan el caso en el cual la capacidad de los vehículos es Q Z +, Q 2 y la demanda de los clientes es un valor entero, eventualmente mayor que la capacidad de los vehículos. A modo de ejemplo, esta situación puede darse cuando se entregan contenedores. Definen la propiedad de reducibilidad de una instancia del problema SDVRP, con las características anteriores, como: una instancia de SDVRP es reducible si existe una solución óptima en la cual cada cliente con una demanda mayor o igual a Q es servido por tantas rutas directas (del depósito al cliente) como es posible, transportando una carga Q en cada una, hasta que la demanda remanente del cliente es menor que Q. La reducción se obtiene cambiando la demanda d i de cada cliente por d i mod Q (lo cual representa la realización de Q viajes directos entre el depósito y el cliente i) y eliminado los clientes con d i mod Q = 0. La reducción se realiza en un tiempo que es lineal en la cantidad de clientes. En los casos Q=2 y Q=3 prueban que el problema es reducible a un nuevo problema en el cual la demanda de cada cliente es menor que la capacidad del vehículo si se cumplen ciertas restricciones sobre los costos. Para Q mayores no queda determinado si el problema es reducible o no. Cuando Q=2, si los costos son simétricos y satisfacen la propiedad de la desigualdad triangular, el problema es reducible a un nuevo problema en el cual la demanda de cada cliente es 1. En el caso más general de costos asimétricos esto no se cumple. Cuando Q=3, si los costos son simétricos y satisfacen la desigualdad triangular generalizada con α=2/3 (el costo satisface la desigualdad triangular generalizada para algún α (0,1] cuando c ij α (c ik + c kj ) i,j,k, i j k), el problema es reducible a un nuevo problema en el cual la demanda de cada cliente es 1 ó 2. Notar que si se considera como costo la distancia euclidiana el problema no es reducible. Claramente la reducción implica una simplificación del problema y una eventual disminución en la cantidad de clientes. Notar que para Q=2 el problema reducido es un caso particular del VRP porque cada cliente debe ser visitado una sola vez. Esto implica que podrían aplicarse los algoritmos conocidos para su resolución. Lo anterior no es aplicable cuando Q=3, porque aún en el problema reducido un cliente podría ser visitado más de una vez. pág. 7 de 419 Además, en el caso particular de Q=2 demuestran que el problema es resoluble en tiempo polinomial, si los costos entre clientes (incluyendo el depósito) son simétricos ó bien si los costos satisfacen la propiedad de la desigualdad triangular. Archetti et al [6] plantean una formulación matemática para el problema SDVRP, en la cual realizan los siguientes supuestos: los costos entre clientes (incluyendo el depósito) son no negativos y satisfacen la desigualdad triangular. La demanda d i de cada cliente es un valor entero. La capacidad de cada vehículo es Q Z + y demuestran que si el problema tiene soluciones factibles, entonces existe una solución óptima en la cual la cantidad entregada por cada vehículo cuando visita un cliente es un valor entero. 4. ALTERNATIVAS DE SOLUCIÓN Analizando la literatura disponible se encuentran, básicamente, los siguientes enfoques para resolver el SDVRP: Métodos de búsqueda de soluciones exactas. Algoritmos basados en la búsqueda de soluciones aproximadas. Combinaciones de los dos métodos anteriores. 4.1 Soluciones exactas Esta alternativa tiene el inconveniente de que, a pesar de los progresos realizados a lo largo del tiempo, sigue siendo un gran desafío resolver de forma óptima problemas NP-hard. Si bien la búsqueda de soluciones exactas tiene valor desde el punto de vista teórico, los problemas que pueden ser resueltos son generalmente pequeños y por lo tanto estos métodos no son aplicables en la práctica. Dror et al [7] propusieron en 1994 una formulación mediante programación lineal entera del SDVRP, a partir de la cual derivaron un conjunto de desigualdades válidas que fueron utilizadas en un algoritmo del tipo branch and bound (en particular cutting plane) usado para resolver óptimamente instancias de a lo sumo 20 clientes. Sierksma et al [8] presentaron en 1998 una aplicación real de SDVRP para encontrar los vuelos de helicópteros hacia plataformas marinas a los efectos de intercambiar las tripulaciones de las mismas. Para resolver esta aplicación realizaron una formulación de programación lineal que fue resuelta mediante la técnica de column generation. En su artículo los autores indican que esta forma de solución solamente es aplicable para planificaciones a largo plazo debido a que requiere mucho tiempo de procesamiento. Para planificaciones de corto plazo proponen una heurística específicamente diseñada para la realidad considerada basada en definir clusters de plataformas y varios procedimientos de mejoras. Belenguer et al [9] presentaron en el año 2000 una formulación mediante programación lineal entera del SDVRP. Esta formulación se diferencia de la propuesta en [7] debido a que considera que la cantidad de vehículos disponible es la que surge de dividir el total de la demanda de los clientes por la capacidad de los mismos, es decir que la cantidad de vehículos disponibles es fija, mientras que en [7] la cantidad de vehículos no está limitada. A partir de esta formulación derivan pág. 8 de 4110 un conjunto de desigualdades válidas que son utilizadas en un algoritmo cutting plane para resolver óptimamente distintas instancias, la mayor de las cuales tiene 50 clientes. Gendrau et al [10] presentaron en 2002 un algoritmo exacto para el SDVRPTW (SDVRP donde los clientes tienen ventanas de tiempo durante las cuales se pueden realizar las entregas) basado en una formulación de tipo set covering y un enfoque de column generation. El esquema de column generation es incluido en un árbol branch and bound para obtener un algoritmo branch and price exacto. Este algoritmo es usado para encontrar la solución óptima a instancias de tamaño medio (de entre 50 y 100 clientes). Lee et al [11] formulan el SDVRP como un problema de programación dinámica y sus pruebas computacionales muestran que este método de solución es capaz de resolver instancias sumamente pequeñas en tiempos razonables. Liu [12] en 2005 propone un algoritmo de dos etapas para resolver exactamente el SDVRP considerando que la cantidad de vehículos es fija. En la primera etapa se resuelve un problema de asignación para determinar clusters de clientes a ser atendidos por el mismo vehículo. Esta etapa permite obtener una cota inferior de la solución del problema. En la segunda etapa se resuelve un TSP (Travelling Salesman Problem) para cada cluster, determinando una cota superior. Esta cota superior es utilizada para generar desigualdades válidas que son usadas en la en la siguiente iteración para la resolución de la primer etapa. El algoritmo continúa iterando hasta que la cota inferior y superior coincidan. En el caso que la cantidad de vehículos sea variable propone un algoritmo basado en el enfoque branch and price. pág. 9 de 4111 4.2 Soluciones aproximadas En esta sección se presentan los principales algoritmos de solución del problema SDVRP basados en heurísticas y metaheurísticas Two Stages Algorithm Dror y Trudeau [13] propusieron un algoritmo para resolver el SDVRP, denominado Two Stages Algorithm que consiste básicamente en un algoritmo de búsqueda local y que contempla solamente el caso en el cual la demanda de cada cliente es menor que las capacidades de los vehículos. 1. Generar una solución inicial 2. Node interchange 3. Routes improvement 4. Setear split_improvement=false y add_improvement=false 5. k-split Interchanges. Ejecutar todos los k-split interchanges. Si hay por lo menos una mejora entonces split_improvement=true 6. Route Addition. Ejecutar todas las mejoras de Route Addition. Si hay por lo menos una mejora entonces add_improvement=true 7. Si add_improvement=true ir al paso 5, en caso contrario si split_improvement=true ir al paso 2, sino parar Figura 5 Two Stages Algorithm El algoritmo de la Figura 5 utiliza los siguientes algoritmos: Generación de solución inicial Node interchange Routes improvement (2-opt) k-split interchanges Route Addition Estos algoritmos están agrupados en dos fases. En la primer fase se construye una solución inicial resolviendo un VRP y sobre la misma se aplican algoritmos de mejoras (Node interchange y Routes improvement). La segunda fase genera y/o elimina entregas partidas analizando si se mejora el costo de la solución. En algoritmo para generar una solución inicial construye una solución factible resolviendo un VRP mediante una variante del algoritmo de Clarke y Wright [14]. El algoritmo Node interchange realiza intercambios de cadenas de 1 y 2 clientes entre las rutas. El algoritmo Routes improvement aplica a cada ruta el algoritmo 2-opt [15]. Para mostrar en que consiste el algoritmo k-split Interchanges se explica, a continuación, el 2-split interchange y luego se lo generaliza para k 3. Sean las rutas r 1 y r 2 tales que la capacidad remanente (s 1 y s 2 respectivamente) de los vehículos de cada una de ellas es positiva. pág. 10 de 4112 Sea un cliente p de la ruta r 3 al cual se le entrega (en esta ruta) una demanda d p3 y tal que s 1 + s 2 d p3. (1) Sean i 1 y j 1 dos clientes consecutivos de la ruta r 1 y i 2 y j 2 dos clientes consecutivos de la ruta r 2. Sea b p el cliente inmediatamente anterior al cliente p en r 3 y a p el cliente inmediatamente posterior al cliente p en r 3. El ahorro que se obtiene si la demanda d p3 es dividida en las rutas r 1 y r 2 (es decir si el cliente p es eliminado de la ruta r 3 e insertado entre los clientes i 1 y j 1 de la ruta r 1 y entre los clientes i 2 y j 2 de la ruta r 2 ) es: SAV(p) = Ci 1,j 1 + Ci 2,j 2 + Cb p,p + Cp,a p - Ci 1,p - Cp,j 1 Ci 2,p - Cp,j 2 Cb p,a p (2) Si para algún cliente p se satisface (1) y (2) es positivo, entonces el costo total puede ser reducido (en SAV unidades) dividiendo la demanda d p3 entre las rutas r 1 y r 2. Notar que no sirve dividir la demanda d p3 entre la ruta r 3 y una de las rutas r 1 o r 2, siempre y cuando la matriz de costos C i,j verifique la desigualdad triangular. En definitiva lo que se intenta es dividir la demanda de un cliente entre k rutas, manteniendo las restricciones de capacidad y si se obtiene una mejora en el costo. Por ejemplo dada la situación de la Figura 6: d A =2 d B =2 d c =2 A B C Depósito O, Q = 3 Figura 6 Ruteo usando 3 vehículos un posible 2-split interchange es el que se muestra en la Figura 7. d A =2 d B =2 d c =2 A B C Depósito O, Q = 3 Figura 7 2-split interchange en el cual la demanda del cliente 2 es satisfecha por dos vehículos, cada uno de los cuales entrega una unidad. La generalización del 2-split interchange a k-split interchange, para k 3 es la siguiente: pág. 11 de 4113 SAV(p) = k t=1 (Ci t,j t Ci t,p - Cp,j t ) + Cb p,p + Cp,a p - Cb p,a p (3) si s 1 + s s k d p(k+1) y SAV(p) es positivo, entonces el cliente p puede ser eliminado de la ruta k+1 y el costo total ser reducido. El algoritmo k-split interchange se muestra en Figura 8. Para cada cliente p con demanda total d i Remover p de todas las rutas en las que es visitado Considerar todos los subconjuntos R de rutas cuya suma de capacidades remanentes es mayor o igual que d i Seleccionar el subconjunto R que tenga el menor costo de inserción de p aplicando la ecuación (3). Insertar p en todas las rutas de R, considerando las rutas de forma ordenada por capacidad remanente de menor a mayor. Si la demanda no satisfecha del cliente es mayor que la capacidad remanente de la ruta, se entrega la capacidad remanente de la ruta. Figura 8 Algoritmo k-split interchanges En algunos casos el agregado de una ruta (algoritmo Route Addition) que elimina una entrega partida puede reducir el costo total. Sea un cliente h que aparece en 2 rutas r 1 y r 2 por lo menos. Se elimina el cliente h de las rutas y se analizan las configuraciones formadas por las rutas que cumplen las siguientes propiedades: preservan los segmentos de ruta (desde el depósito al cliente anterior al cliente h en las rutas r 1 y r 2 y desde el cliente siguiente al cliente h al depósito en las rutas r 1 y r 2 ) para cada ruta que no visita al cliente h se unen los segmentos correspondientes. por ejemplo para el caso que se muestra en la Figura 9. C D G I h B E F J A K Figura 9 Ruteo con entregas partidas tres de las posibles configuraciones que cumplen las propiedades anteriores se muestran en la Figura 10, Figura 11 y Figura 12 pág. 12 de 4114 C D G I h B E F J A K Figura 10 Primer configuración que elimina la entrega partida C D G h I B E F J A K Figura 11 Segunda configuración que elimina la entrega partida C D G I h B E F J A K Figura 12 Tercer configuración que elimina la entrega partida Puede observarse que en el caso que un cliente se encuentre en k rutas la cantidad de configuraciones diferentes agregando una ruta para eliminar la entrega partida es 2k Cuando k=2, la cantidad de configuraciones posibles es 9, mientras que cuando un cliente se encuentra en 3 rutas la cantidad de configuraciones a analizar es 19. Debido a que la cantidad de configuraciones crece rápidamente a medida que un cliente se encuentra en una mayor cantidad de rutas, los autores restringen el algoritmo de Route pág. 13 de 4115 Adition a analizar solamente las configuraciones cuando un cliente se encuentra en 2 o 3 rutas. En el caso que un cliente se encuentre en más de 3 rutas entonces se analizan las configuraciones resultantes de cada subconjunto de 2 y 3 rutas respectivamente. El algoritmo presentado fue la primera propuesta para resolver el SDVRP y sobre el mismo se pueden realizar los siguientes comentarios: Para hallar la solución inicial se plantea resolver un VRP usando una variante del algoritmo de Clarke & Wright. Esto es posible porque se asume que la demanda de cada cliente es menor que la capacidad de los vehículos. Sin embargo no realizan un análisis de cual es el impacto de esta solución inicial en la calidad de la solución final. Si bien el algoritmo es una heurística y por lo tanto no necesariamente debe encontrar la solución óptima, hay casos sumamente simples en los cuales falla y no encuentra la solución óptima, un ejemplo de esto es el que se muestra en la Figura 13 [5], en el cual la capacidad de los vehículos es Q=4, las distancias son simétricas y satisfacen la desigualdad triangular: d i =3 i 1 d j =3 j 1 d z =3 z d t =3 t Depósito O, Q = 4 Figura 13 Caso donde Two Stages Algorithm no encuentra la solución óptima La única solución factible, sin entregas partidas, es decir resolviendo un VRP se muestra en la Figura 14 y tiene un costo de 16. pág. 14 de 4116 d j =3 j d z =3 z r 2 d i =3 i r 1 r 3 r 4 d t =3 t Depósito O, Q = 4 Figura 14 Solución resolviendo un VRP Las rutas de la Figura 14 constituyen la solución inicial para el algoritmo de Dror y Trudeau. Notar que los algoritmos Node Interchange y Routes Improvement no pueden mejorar esta solución. Como la demanda de cada cliente es 3 y la capacidad remanente de cada vehículo es 1, el único k-split interchange factible consiste en dividir la demanda de un cliente entre las 3 rutas restantes, como se muestra en la Figura 15. d j =3 j d z =3 z d i =3 i d t =3 t Depósito O, Q = 4 Figura 15 Demanda partida de un cliente En la Figura 15 la demanda del cliente j es dividida en las rutas r 1, r 3 y r 4. Esta división produce una solución de costo 16 (tanto si la demanda del cliente j ó z es dividida) o de 17 (si la demanda de los clientes i ó t es dividida). Por lo tanto no se encuentra ninguna mejora mediante el algoritmo k-split interchanges y por lo tanto se ejecuta el procedimiento Route Addition con la solución inicial (VRP). Como no hay ningún cliente con entrega en más de una ruta este algoritmo no puede realizar ningún cambio y por lo tanto finaliza sin encontrar la solución óptima que es la que se muestra en la Figura 16 y que tiene un costo de 15. pág. 15 de 4117 d j =3 j d z =3 z d i =3 i d t =3 t Depósito O, Q = 4 Figura 16 Solución óptima El algoritmo Two Stages Algorithm fue testeado en problemas de 75, 115 y 150 clientes, con una flota homogénea de vehículos de capacidad 160 unidades y generando la demanda de cada cliente de forma randómica entre varios escenarios, en cada uno de los cuales la demanda máxima y mínima es una fracción de la capacidad de los vehículos. Se compararon los resultados con la resolución de un VRP y de los resultados obtenidos los autores observaron que al resolver el problema SDVRP: Se disminuye la cantidad de vehículos utilizados y por lo tanto el costo de la misma. El tiempo requerido para resolver cada problema es mayor que al resolver un VRP. Cuando la demanda de los clientes es muy pequeña, comparada con la capacidad de los vehículos, no hay (o si la hay es muy pequeño) ahorros frente al VRP Splitabú Archetti et al [6] propusieron un algoritmo basado en la metaheurística Tabú Search, propuesta por Glover et al [16] para resolver el SDVRP el cual se denomina Splitabú.Este algoritmo consta de tres etapas y se muestra en la Figura Construcción de una solución inicial factible 2. Tabu Search 3. Mejora de la solución Figura 17 Algoritmo Splitabú En la etapa de construcción de la solución inicial (Figura 18) se crea una instancia reducida del problema en la cual la demanda de cada cliente es menor que la capacidad Q de los vehículos. Sobre esta instancia reducida se resuelve un TSP y finalmente se corta la ruta generada para satisfacer las restricciones de capacidad. Para resolver el TSP se utiliza el algoritmo Genius [17] el cual está compuesto por dos procedimientos: el primero es un procedimiento de inserción generalizado y el segundo es un algoritmo de post optimización. pág. 16 de 4118 1. Crear d i /Q) viajes directos para cada cliente i y considerar la instancia reducida del problema I r en la cual cada cliente tiene una demanda igual a d i -Q* d i /Q). Remover los clientes sin demanda de I r 2. Construir una ruta T, resolviendo un TSP mediante el algoritmo Genius, para I r 3. Elegir una orientación para la ruta T y etiquetar los clientes T =0,v 1,v 2,...,v b-1, 0 donde 0 es el depósito. 4. Si la demanda total de T es menor o igual que Q entonces terminar. En caso contrario determinar el menor índice i tal que la demanda en T, hasta i, es mayor que Q. Construir una ruta 0,v 1,..,v i-1,0 y considerar T = 0,v i,...,v b-1,0 e ir al paso 3 Figura 18 Construcción de la solución inicial de Splitabú En la etapa de Tabú Search se utilizan dos algoritmos Order Routes y Best Neighbour que son invocados por el algoritmo principal. El algoritmo Order Routes (Figura 19) recibe un cliente y construye una lista ordenada de rutas que visitan al cliente. El orden de esta lista está dado por el ahorro que se obtendría al eliminar el cliente. 1. Determinar el conjunto U i de rutas que visitan al cliente i 2. Para cada ruta u U i calcular s u = c pi + c iq c pq, donde p y q son el predecesor y sucesor del cliente i en u respectivamente 3. Ordenar las rutas de U i de forma descendente por el valor s u y setear O i como esta lista ordenada Figura 19 Algoritmo Order Routes En esta etapa se consideran movidas de una solución s a una vecindad s aquellas que insertan un cliente i en una ruta r y eliminan el cliente de un subconjunto U O i {r} de rutas que lo visitan, donde U se determina según la lista ordenada que se obtiene a partir de Order Routes. Cuando un cliente i es insertado en una ruta r se considera tabú eliminar al cliente i de la ruta r por θ iteraciones y también se considera que la ruta r es tabú para el cliente i. Cuando un cliente i es eliminado de una ruta u se considera tabú volver a insertar al cliente i en la ruta u por θ iteraciones y también se considera que la ruta u es tabú para el cliente i. Como las restricciones tabú pueden llegar a ser muy estrictas y por lo tanto no permitir obtener una buena vecindad, se considera la posibilidad de eliminar e insertar un cliente i de rutas que son tabú para dicho cliente. Las vecindades que se obtienen con estas movidas solo son aceptadas si conducen a una mejor solución que la mejor solución encontrada hasta el momento (criterio de aspiración). pág. 17 de 4119 Para explicar el algoritmo Best Neighbour (Figura 20) se usa la siguiente notación: d ir la cantidad entregada al cliente i en la ruta r p r la capacidad remanente de la ruta r f(s) el costo de una solución s R conjunto de todas las rutas de una solución más una nueva ruta (que no visita a ningún cliente) U it = {u O i u es tabú para i} Best Neighbour (i) Entrada: Solución s Mejor solución encontrada s* Salida: Una vecindad s i para el cliente i Una ruta r* Un subconjunto de rutas U* O i -{r*} 1. BestValue =, O i = Order Routes(i) 2. Para cada ruta r en R 2.1 Eliminar de rutas no tabú e insertar en rutas no tabu 1. Si r no es tabu para i entonces p = p r, U = sino ir a Considerar todas las rutas u O i -{r} según el orden definido en O i. Si u no es tabu para i y d iu < p entonces U = U {u}, p = p - d iu 3. Si U = entonces F =, sino sea s la solución que se obtiene a partir de s eliminando i de todas las rutas de U e insertando i en r, d ir = d ir + Σ(u U) d iu, F = f(s ) 4. Si U =, sea u la primer ruta no tabu para i en O i - {r}, U = {u} y considerar la solución s que se obtiene insertando i en r, d iu = d iu - p, d ir = d ir + p, F = f(s ) 5. Si F < BesValue entonces U* = U, r* = r, BestValue = F, s i = s 2.2 Eliminar de rutas tabu y/o insertar en rutas tabu 1. Si r es tabu para i ó U it contiene una ruta r con d iu p r entonces p = p r y U = sino volver a 2.1 con la próxima ruta r R. Si r es tabu para i entonces U = sino determinar la primer ruta u en U it (según el ordenamiento en O i ) tal que d iu p r y U = U {u}, p = p r - d iu 2. Considerar todas las rutas u O i - (U {r}) según el orden definido en O i. Si d iu < p entonces U = U {u}, p = p - d iu 3. Si U = entonces F =, sino sea s la solución que se obtiene a partir de s eliminando i de todas las rutas en U e insertando i en r, d ir = d ir + Σ(u U) d iu, F = f(s ) 4. Si F < BesValue y F < f(s*) entonces U* = U, r* = r, BestValue = F, s i = s 5. Volver a 2.1 con la próxima ruta r R Figura 20 Algoritmo Best Neighbour El algoritmo Best Neighbour es invocado por el algoritmo principal de esta etapa para cada cliente y determina para cada uno de ellos una vecindad candidata. Se realiza una movida de la solución actual a la mejor vecindad entre las candidatas. pág. 18 de 4120 El algoritmo principal de esta etapa es un algoritmo estándar de Tabú Search (Figura 21) que finaliza cuando se alcanzan n max iteraciones sin mejorar la mejor solución encontrada hasta el momento. Según las pruebas realizadas por los autores el valor recomendado para n max es 400n, siendo n la cantidad de clientes. 1. Sea s la solución inicial generada (generada por la primer etapa) 2. s* = s, count = 0, Best = Para i=1 hasta n Best Neighbour(i) Si f(s i ) < Best entonces BestI = i, BestU = U*, Bestr = r*, BestS = s i, BestF = f(s i ) 3. s = BestS Considerar Bestr y todas las rutas de BestU como tabú para BestI durante θ iteraciones Si BestF < f(s*) entonces s* = s, count = 0 sino count = cont + 1 Si count < n max ir a 2 sino parar Figura 21 Algoritmo Tabú Search Según las pruebas realizadas por los autores los valores de θ que dependen de la cantidad n de clientes y de la cantidad g de rutas en la solución actual producen mejores soluciones. Por lo tanto recomiendan elegir θ como un valor randómico en el intervalo [ 10[,] ( 10 + p)], siendo p = n + g si n + g < 100 y en caso contrario p = 3/2(n + g). En la última etapa se intenta mejorar la solución determinada en la etapa de Tabú Search eliminando los ciclos k-split (Figura 22). De acuerdo a lo visto en la sección Propiedades, si el costo satisface la propiedad de desigualdad triangular entonces existe una solución óptima que no contiene ciclos k-split. En base a esto se intenta remover los ciclos k-split de la siguiente forma: Suponiendo que existe un ciclo k-split que involucra a las rutas r 1,r 2,...,r k, tal que la ruta r w contiene los clientes i w e i w+1, w = 1..k-1 y la ruta r k contiene los clientes i k y i 1, sea w* un índice tal que d iw*rw* d iwrw, w = 1..k: se puede transferir d iw*rw* unidades de la demanda de cada cliente i w, w = 1..k-1 de la ruta r w a la ruta r w+1, así como la misma cantidad para el cliente i k de la ruta r k a la ruta r 1. El cliente i w* puede ser eliminado de la ruta r w*. Si se satisface la propiedad de la desigualdad triangular esta nueva solución posiblemente sea mejor que la que contiene el ciclo. Finalmente se aplica el algoritmo Genius a cada ruta. 1. Sea s la solución resultante de la etapa Tabú Search. Si los costos satisfacen la propiedad de la desigualdad triangular y hay ciclos k-split eliminarlos de s. 2. Aplicar a cada ruta el algoritmo Genius. Figura 22 Algoritmo de mejora de la solución Los autores realizaron distintos testeos de Splitabú usando los problemas benchmark de VRP descriptos en [18] generando la demanda de cada cliente de forma randómica entre varios pág. 19 de 41 Mostrar más
CURSO DE METODOS NUMERICOS SEGUN DA PART E SOLUCION APROXIMADA DE ECUACIONES DE UNA VARIABLE V. Muto Ecuaciones de una variable: Preliminares Cap. V CAPITULO V. SOLUCION APROXIMADA DE ECUACIONES DE UNA Más detalles VaR vs. CVaR. Qué estimador se ajusta mejor al riesgo de mercado de renta variable en el Perú?
VaR vs. CVaR. Qué estimador se ajusta mejor al riesgo de mercado de renta variable en el Perú? Un análisis ínterdiario de la IGBVL para el periodo Octubre de 2003 al Septiembre 2007 por Rafael Jara Padilla Más detalles (x y) : Par Ordenado (PO) x : Primer elemento del PO (Primera componente del PO) y : Segundo elemento del PO (Segunda componente del PO)
5.- CONJUNTOS 5.1.- PAR ORDENADO (PO) 5.1.1.- DEFINICIÓN DE PO Se llama Par Ordenado o dupla cuyo símbolo es (x y) al conjunto cuyos elementos son a su vez otros dos conjuntos : 1.- el conjunto {x y} que Más detalles Resolución de problemas por computadoras
Metodología de Programación, Programación en C, Aplicaciones electrónicas 1 / 47 ALGORITMOS Y PROGRAMAS Resolución de problemas por computadoras La principal razón para que las personas aprendan lenguajes Más detalles Análisis y detección de objetos de primer plano en secuencias de video Proyecto Final de Carrera
J u n i o d e 2 0 0 9 Junio de 2009 Análisis y detección de objetos de primer plano en secuencias de video Proyecto Final de Carrera Oscar Mateu Garcia Tutora: Montse Pardàs Tutora: Glòria Haro Junio de Más detalles Crespo Franco, T. García Vázquez, J.M.
Investigaciones Europeas de Dirección y Economía de la Empresa Vol. 2, N"I, 1996, pp. 101-124 SISTEMAS DE PLANIFICACIÓN LA FABRICACIÓN: ANÁLISIS Y CONTROL DE COMPARATIVO Crespo Franco, T. García Vázquez, Más detalles CAPITULO III CADENA DE VALOR. para los usuarios internos y externos, entre los primeros se encuentran, gerentes y
CAPITULO III CADENA DE VALOR La contabilidad tiene como objetivo fundamental transmitir información de utilidad para los usuarios internos y externos, entre los primeros se encuentran, gerentes y tomadores Más detalles ANÁLISIS DE UNA RED DE ACTIVIDADES CON DURACIONES CONOCIDAS Y BORROSAS
UNIVERSIDAD PONTIFICIA COMILLAS (i) ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INFORMÁTICO PROYECTO FIN DE CARRERA ANÁLISIS DE UNA RED DE ACTIVIDADES CON DURACIONES CONOCIDAS Y BORROSAS AUTOR: Más detalles Sexta Edición. Di Rienzo, Julio Alejandro. Casanoves, Fernando. Gonzalez, Laura Alicia. Tablada, Elena Margot. Díaz, María del Pilar
Estadística para las Ciencias Agropecuarias Sexta Edición Di Rienzo, Julio Alejandro Casanoves, Fernando Gonzalez, Laura Alicia Tablada, Elena Margot Díaz, María del Pilar Robledo, Carlos Walter Balzarini, Más detalles 10 DECISIONES BAJO INCERTIDUMBRE 1
10 DECISIONES BAJO INCERTIDUMBRE 1 Ay, cómo es cruel la incertidumbre! Si ella merece mi dolor o yo la tengo que olvidar. Gonzalo Curiel. Incertidumbre...Aureliano saltó once páginas para no perder el Más detalles TÉCNICAS Y HERRAMIENTAS PARA EL CONTROL DE PROCESOS Y LA GESTIÓN DE LA CALIDAD, PARA SU USO EN LA AUDITORÍA INTERNA Y EN LA GESTIÓN DE RIESGOS
DOCUMENTO TÉCNICO N 75 Versión 0.1 DOCUMENTO TECNICO N XX Versión 0.1 TÉCNICAS Y HERRAMIENTAS PARA EL CONTROL DE PROCESOS Y LA GESTIÓN DE LA CALIDAD, PARA SU USO EN LA AUDITORÍA INTERNA Y EN LA GESTIÓN Más detalles Inferencia Estadística
INSTITUTO NACIONAL DE ESTADÍSTICA La pobreza y su medición Presentación de diversos métodos de obtención de medidas de pobreza Índice 1. Introducción... 1 2. Los diferentes enfoques de la pobreza... 3 Más detalles 2. Metodología. 128 Nuria Badenes Plá y Daniel Santín González. 2.1. Eficiencia
Presupuesto y Gasto Público 43/2006: 127-153 Secretaría General de Presupuestos y Gastos 2006, Instituto de Estudios Fiscales Funciones abreviadas de bienestar social: una forma sencilla de simultanear Más detalles UNIVERSIDAD DE ALMERÍA. Facultad de Ciencias Experimentales Departamento de Estadística y Matemática Aplicada
UNIVERSIDAD DE ALMERÍA Facultad de Ciencias Experimentales Departamento de Estadística y Matemática Aplicada Memoria presentada por Antonio Fernández Álvarez como requisito para obtener el Diploma de Estudios Más detalles INVESTIGACION CUANTITATIVA
INVESTIGACION CUANTITATIVA 1 1. INTRODUCCIÓN 1 2. RESUMEN 2 3. OBJETIVOS DEL TEMA 6 4. DESARROLLO 7 4.1. La Investigación social 7 a) Orígenes 7 b) Objeto y método 7 c) Los objetivos de la Investigación Más detalles Expectativas de depreciación y diferencial de tasas de interés: Hay regímenes cambiantes? El caso de Perú*
ESTUDIOS ECONÓMICOS Expectativas de depreciación y diferencial de tasas de interés: Hay regímenes cambiantes? El caso de Perú* Alberto Humala alberto.humala@bcrp.gob.pe 1. Introducción Un episodio reciente Más detalles Análisis del Sistema de Información
Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación Más detalles Valor social del tiempo en México
Valor social del tiempo en México 175 Análisis Económico Núm. 54, vol. XXIII Tercer cuatrimestre de 2008 Valor social del tiempo en México (Recibido: septiembre/07 aprobado: abril/08) Héctor Cervini I.* Más detalles LOCALIZACIÓN DE INSTALACIONES
AdministracióndelasOperaciones La localización de la instalación es el proceso de elegir un lugar geográfico para realizar las operaciones de una empresa. LOCALIZACIÓN DE INSTALACIONES Los gerentes de Más detalles Objeto Procedimiento
Objeto Procedimiento 155 Procedimientos Definición Procesos no interactivos de consulta y actualización de la base de datos. Procedimientos: Definen procesos no interactivos de consulta y actualización Más detalles Andrés Vignaga, Daniel Perovich. Universidad de la República, Facultad de Ingeniería, Instituto de Computación Montevideo, Uruguay
ARQUITECTURAS Y TECNOLOGÍAS PARA EL DESARROLLO DE APLICACIONES WEB Andrés Vignaga, Daniel Perovich Universidad de la República, Facultad de Ingeniería, Instituto de Computación Montevideo, Uruguay {avignaga,perovich}@fing.edu.uy Más detalles Planificación detallada
Planificación detallada 77 Planificación detallada En las empresas que fabrican contra pedido la tarea de determinar la secuencia óptima de fabricación de artículos en un taller es complicada debido al Más detalles El estudio de línea de base en un
capítulo V El estudio de línea de base en un diagnóstico El estudio de línea de base en un Diagnóstico Participativo de Comunicación Rural 5.1. Los principios y el propósito de un estudio de línea de base Más detalles Desarrollo de una aplicación para gráficos de control de procesos industriales
Desarrollo de una aplicación para gráficos de control de procesos industriales Por Miguel A. Flores Sánchez Proyecto presentado para el cumplimiento de los requisitos para culminar el Máster en Técnicas Más detalles La suficiencia de capital por riesgo de crédito: un ejercicio práctico
La suficiencia de capital por riesgo de crédito: un ejercicio práctico Entidades Financieras www.msspain.com Diseño y Maquetación Dpto. Marketing y Comunicación Management Solutions - España Fotografías: Más detalles CAS (COMPUTER ALGEBRA SYSTEM) EN LA ENSEÑANZA Y APRENDIZAGE DEL CÁLCULO. ALGUNOS RESULTADOS DE INVESTIGACIÓN 2
CAS (COMPUTER ALGEBRA SYSTEM) EN LA ENSEÑANZA Y APRENDIZAGE DEL CÁLCULO. ALGUNOS RESULTADOS DE INVESTIGACIÓN 2 Matías Camacho Machín Departamento de Análisis Matemátic, Universidad de La Laguna mcamacho@ull.es Más detalles Análisis dinámico de la relación entre ciclo económico y ciclo del desempleo: una aplicación regional 1
08-Pérez-Rod 30/6/04 08:05 Página 141 Investigaciones Regionales. 2 Páginas 141 a 162 Sección ARTÍCULOS Análisis dinámico de la relación entre ciclo económico y ciclo del desempleo: una aplicación regional Más detalles Modelo ER Jos e Ram on Param a Gab ıa

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 Resolución 
 Resolución