Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
ug~ -..~· 'f TECNOLÓGICO DE M ONTEf~REY.~, Campus Ciudad de México Escuela de Diseño, Ingeniería y Arquitectura Maestría en Ciencias con especialidad en Ingeniería Industrial "Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos" Autor: José Luis Flores Flores Director de la tesis: Dr. Manuel Alvarez Madrigal • Noviembre 2013 Biblioteca Campla Ciudad dlt lMDCFJ Aítornativa Heurística de Método de Centro de Masas par~ el Prnbiema de Ruteo de Vehículos , Indice l. Agradecimientos .......................... 11 ........................................................... ............. 3 1. Introducción ........................................................................................................ 5 1.1. El problema de ruteo de vehículos . ...... .. ....... ... .... ........ .. .... .. .... .......... ...... ... ...... .. ..... ......... 5 1.2. Soluciones al VRP .. .... ... ...... ..... .. ... ... ...... ....... ....... .... .... ... .... .. ..... ... ... .. ..... .... ...... ..... ........... 6 2. Soluciones Tradicionales al VRP ....................................................................... 9 2.1. Atributos deseables para el funcionamiento de un algoritmo de VRP ...... ..... ... .. ..... .. ..... .. . 9 2.2. Heurísticos y Metaheurísticos en la solución del VRP . ........ ....... .............. ..... .......... ....... 13 2.3. El problema de inicialización en VRP ..... ... .... ..... ...... ......... ..... ..... ...... ... ..... .... .. .. ... ...... ..... 29 2.4. Hipótesis ................... .............. .. ..... ... ............. .. .... ....... ... ............. ... -... .. ..... ... ... ... ...... ... .... . 31 2.5. Objetivos de la tesis ... .. .... ....... .......... .......... .......... ...... ........ ......... .... .. ...... .. ............ ......... 31 3. Método propuesto de inicialización para VRP ................................................ 33 3.1. Método de Inicialización por Centros de Masa .... .. ............... ........ ....... ...... .... .. ......... ... .... 33 3.2. Las soluciones iniciaies aleatorias contra el método de "Centros de Masa" ........... .. ..... .47 4. Comparación del Método .................................................................................. 50 4.1. Aplicación del método de "Centro de Masas" a un problema más complejo .... ...... ......... 50 4.2. Comparación del método de "Centro de Masas" con la solución del VRP Solver ... ....... . 55 4.3 . Comparación de la solución de un algoritmo de VRP con y sin la iteración inicial del método propuesto ................... ............... ...... ......... ........ .. .. ..... .... .. ..... .. ... .. ........ ... ... ......... .. .... .... 56 5. Conclusiones ...................... ,11 ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• " ••••••••••••• 59 Ei. E;Jillli<>{JrélfÍél ........................................................................•............................... '5:3 2 Alternativa Heurística de Método de Centro de Masas para el P;obloma de Ruteo de Vehículos 1.- Introducción 4 Método de centros de masa para inicialización del problema de ruteo de vehículos 1. Introducción 1.1. El problema die ruteo de vehículos. El Problema de Ruteo de Vehículos (VRP por sus siglas en in~¡lés) es un problema de optimización combinatoria y programación entera donde se busca servir a un número de clientes con una flota determinada de vehículos. Propuesto por Dantzing y Ramser [1] en 1959, el VRP tiene gran relevancia en los campos de transporte, distribución y logística. Frecuentemente el VRP se contextualiza en la entrega de bienes localizados en un almacén central hacia clientes que han levantado órdenes para tales recursos. Implícita está la meta de minimizar los costos de distribución de los bienes. El problema consiste en diseñar un conjunto de entregas o una colección de rutas cada vez que una ruta empiece y termine en un depósito del material a repartir. En la solución del problema, cada cliente se visita exactamente una vez por un vehículo; la demanda total de cada ruta no excederá una cantidad Q de material; la duración total del recorrido de cada ruta (tiempos de viaje y de servicio) no deberá exceder un límite disponible O y la distancia total (o costo) de la ruta deberá se:r mínima. Las cantidades (Q, O) dependerán de :a flota de vehículos; las demandas dependerán de los clientes y el material en existencia en cada uno de los depósitos con que se cuenta. Hasta el momento se han estudiado muchas variaciones al problema, por ejemplo: la flota de vehículos puede ser heterogénea, los vehículos pueden recoger o entregar en la misma ruta, algunos vehículos pueden estar deshabilitados para visitar ciertos puntos, unos clientes requieren varias visitas dentro de una ventana de tiempo, pueden existir varios depósitos, las entregas pueden repartirse entre diversos vehículos, etc.[2]. Una buena cantidad de métodos han sido desarrollados para encontrar las mejores soluciones para el problema, pero aunque es factible para los problemas pequeños, encontrar una función mínima para problemas mayores la complejidad incrementa substancialmente a cada nodo nuevo que se agrega [2]: 5 Alternativa Heurística de Método de Centro de Masas para el Prnblerna de Ruteo de Vehículos • 4 locaciones tienen 24 posibles soluciones • 5 locaciones tienen ·120 posibles soluciones • 6 locaciones tienen 720 posibles soluciones • Y así sucesivamente. N locaciones tienen N x (N-1) x (N-2) x ... 3 x 2 x 1 soluciones[2]. Esto es conocido como una dependencia factorial. Para un vehículo de entrega que deba hacer, por ejemplo entre 80 ó 100 entregas en un día, el número de rutas posibles es demasiado grande y nos da una idea de lo complejo que puede llegar a ser un problema cotidiano. 1.2. Soluciones al VRP Con base en lo anterior, el clásico Problema de Ruteo de Vehículos puede ser definido de la siguiente manera: Sea G(V,A) una gráfica donde V={vO, v1, .. . , v} es un grupo de vértices, y A= {(vi, j) : vi, Vj E V, i J} es un grupo de arcos. El vértice vO representa un depósito, mientras que los vértices remanentes corresponden a clientes. Con A se asocia la matriz de costos (cij) y la matriz de tiempos (tij). Sí estas matrices son simétricas, como comúnmente pasa, entonces el estándar para definir el VRP es en una gráfica unidireccional G = (V, E), donde E = {(vi, vj) : vi, vj E V, i < j es un juego de esquinas[3]. Cada cliente tiene una demanda no- negativa qi y un tiempo de servicio ti. Una flota de vehículos idénticos m con capacidad Q está basada en el depósito. El número de vehículos es conocido o tratado como una variable de decisión. El VRP consiste en diseñar un conjunto de m entregas o una colección de rutas tal que cada ruta empiece y termine en el depósito, pues el cliente es visitado exactamente una vez por un mismo vehículo. La demanda total de cada ruta no excede Q, la duración total de cada recorrido (incluyendo el viaje y los tiempos de servicio) no excede el límite presente O, y el costo total de la ruta es minimizado. Una variable común es donde una ventana de tiempo [a, b1] es impuesta en la visita de cada cliente. Se han propuesto otras variaciones que han sido estudiadas; la flota de vehículos puede ser heterogénea [4], los vehículos pueden ya sea recoger o entregar en la misma ruta [5], algunos vehículos puedes estar deshabilitados para visitar algunos puntos [6], quizás unos clientes requerirán varias visitas dentro de un periodo dado [7]. pueden existir más de un depósito [7]; las entregas pueden repartirse entre varios vehículos[8], etc. 6 Alternativa Heurístjca de Método de Centro de Masas para el Problema de Ruteo de Vehículos Dado que las soluciones exactas son más difíciles de encontrar entre mayor sea el número de puntos de entrega, los métodosheurísticos son muy utilizados en la práctica. Dichos métodos han provisto soluciones aceptadas durante los últimos 50 años [2]. En los prime~os métodos heurísticos, se puso mucho énfasis en la velocidad de cálculo para obtener una solución factible. Un ejemplo de esta clase de métodos son; el algoritmo de Fisher y Jaikumar [9], el algoritmo de barrido [1 O] y el heurístico de ahorro Clarke y Wright [11] que se suman a los algoritmos metaheurísticos, los cuales, en problemas de optimización sirven para designar un método que mejora un problema por medio de una mejora iterativa a una solución propuesta con respecto a una medida dada de calidad. Los metaheurísticos hacen muy pocas o ninguna suposición acerca del problema que será optimizado y puede buscar en espacios muy grandes candidatos a solución. Sin embargo los metaheurísticos no garanti.zan que la solución óptima será encontrada. Muchos metaheurísticos implementan optimizaciones estocásticas; esto es propuestas aleatorias a una solución. Los metaheurísticos se enfocan más en la flexibilidad de la metodología para poder abordar problemas con un gran número de variantes y condiciones especiales, además de ser rápidos y eficientes desde el punto de vista computacional, pero no son sencillos operacionalmente y requieren del apoyo de computadoras para poder efectuar todas las opera'ciones implicadas. Los metaheurísticos más conocidos son; Búsqueda Tabú, Recocido Simulado y Algoritmos Evolutivos. Mucho del software comercial y varios programas hechos de manera artesanal que utilizan los responsables del ruteo están programados con algoritmos obsoletos que dan soluciones de baja calidad lo que provoca que exploten las capacidades interactivas del software para desarrollar mejoras manuales. Esto requiere que él personal tenga mucha experiencia y capacitación en este tipo de problemas [2]. Se busca en el presente trabajo comprobar que, un método simple que pueda calcularse incluso de manera manual y que aporta soluciones factibles cercanas al óptimo, apoyaría bien la adopción masiva de este tipo de técnicas de optimización en la pequeña y mediana empresa. Además de que podría proporcionar un método alternativo para calcular la solución factible inicial para alguno de los algoritmos mencionados con anterioridad. El resultado obtenido deberá ser mejor que una selección aleatoria. 7 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos 2.- Soluciones Tradicionales al Vl~P 8 Alternativa Heuristica de Método de Centro de Masas para el Problema de Ruteo de Vehículos 2. Soluciones Tradicionales al VRP 2.1. Atributos deseables para el funcionamiento de un algoritmo de VRP Para esta tesis se utiiizarán cuatro atributos esenciales como referencia para evaluar el desempeño de algunos algoritmos que pretenden dar solución a los problemas de ruteo de vehículos; estos atributos son: Exactitud (y precisión), Velocidad, Simplicidad y Flexibilidad [2]. Exactitud (y precisión). Mide el grado de desviación entre la solución de un algoritmo del resultado óptimo al problema planteado. Ya que el resultado óptimo es desconocido y, la posibilidad de encontrarlo se hace más difícil entre más complejo sea el problema, las comparaciones se hacen basadas en valores óptimos conocidos. Como se señala en Barr [12] el análisis de los resultados producto de los algoritmos de VRP está lleno de dificultades: • El cambio en la selección de cualquiera de estos factores tiene repercusiones en la evaluación del algoritmo. Los autores comúnmente reportan resultados obtenidos para la mejor combinación de parámetros algorítmicos, o la mejor cantidad de iteraciones bajo ciertas condiciones de inicialización (para lo cual no existe una metodología ,· estructurada y es lo que se tratará de comprobar en esta tesis). • No todos los autores usan las mismas convenciones que, pueden derivar en una amplia gama de resultados[13]. • Las pruebas frecuentemente se llevan a cabo redondeando valores después de ciertas posiciones en los decimales, por ejemplo a 5 decimales [2]. • Algunas iteraciones son llevadas a cabo con números definidos como punto flotante, sin redondeo o truncamiento, usando tantos dígitos como la computadora lo permita. Cuando el redondeo o el truncamiento ocurre, es común que la computadora recalcule la solución final usando más dígitos después del punto decimal y se presenta el resultado final con uno o dos dígitos después del punto. 9 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos Para ilustrar esto, considérese la primera instancia del punto de referencia del VRP resuelto por Christofides, Mingozzi y Toth [14]. el mismo algoritmo de Búsqueda Tabú (Tabu route) reporta un costo de $524.61 sí los cálculos son realizados redondeando los costos a 5 dígitos (esto, , por cierto es un óptimo comprobado [16]), un costo de 521 sí los decimales se redondean hacía arriba o hacia abajo al entero más cercano, y un costo de 508 sí se truncan los costos de los enteros que son usados. En los casos con restricciones en la duración de las rutas, usar precisión insuficiente puede llevar a una solución no práctica en tiempos de viaje que son proporcionales a las distancias. Otro factor relac:onado a la exactitud es la consistencia. Como regla, los usuarios prefieren un algoritmo que demuestre un desempeño continuo que con variaciones, esto es, que algunas veces dé resultados mejores que en otras. De la misma manera, que se desempeñe bien la mayoría del tiempo y en algunas ocasiones, por muy contadas que sean su desempeño sea pobre y produzca soluciones fácilmente perfectibles por inspección visual. Tales soluciones son suficientes para desacreditar un algoritmo. Finalmente, el algoritmo debe llegar a una solución lo más r;3pidamente posible, y entonces mostrar soluciones buenas cuya calidad se pueda mejorar a través de la ejecución de algoritmos hasta la solución final, posiblemente después de consumir varios ciclos de procesamiento en computadora. Esto da una buena idea de que tanto esfuerzo adicional valdrá la pena invertir para mejorar la solución obtenida en las primeras iteraciones [2]. Velocidad. La importancia de la velocidad en los problemas de ruteo depende del nivel de planeación al cual el problema es resuelto y el grado de exactitud que requiere. En un extremo, las aplicaciones de tiempo real tales como los servicios de recepción y entrega inmediata [17] o re-disposición de rutas de ambulancias [18] requieren una acción rápida casi instantánea. Por ejemplo describe un papel crucial que juega la computación en paralelo en determinar que una estrategia de re-disposición de ambulancias debe determinarse cada 3 minutos en promedio [18]. En el otro extremo, en planeación a largo plazo las decisiones se hacen dentro de marcos de duración de varios meses, como la planeación de flotas, en donde tiene mucho sentido invertir una buena cantidad de tiempo en ciclos de computadora, 10 Alternativa Heurística de Método de Centro de Masas para el Problema ele Ruteo de Vehículos particularmente si grandes sumas de dinero están en riesgo. La mayoría de las aplicaciones caen en alguno de estos dos extremos. No parece irracional invertir 1 O ó 20 minutos de recursos en un problema que se debe resolver diariamente. Sistemas interactivos deben. por su pu~sto, reaccionar mucho más rápido. El factor velocidad no es siempre puesto en la perspectiva correcta. Por ejemplo, la mayoría de los usuarios de VRP preferirían un algoritmo que sea 97.62% exacto y que corra 3.48 min a uno que es 94.15% exacto pero requiere sólo 0.26 minutos para que el_ ordenador utilizado de una solución[19]. El reporte preciso de iteraciones requeridas por una computadora para llegar a una solución aceptable es otro tema delicado en la literatura científica,particularmente en el caso de corridas múltiples o sí se utilizan computadoras en paralelo. Al igual que en la exactitud, no existen estándares reglamentados para los investigadores de VRP en cuanto a la medición de velocidad se refiere. Simplicidad Varios algoritmos para VRP rara vez son llevados a la práctica debido a que son demasiado complicados o difíciles de implementar en un código. Mientras que es poco realista esperar que, artículos científicos que provean una descripción de un minuto para cada detalle del algoritmo, den suficientE~ información como para permitir qu13 un programador con habilidades y experiencia razonables pueda transformarlo en código [2]. Adicionalmente, los algoritmos deberían ser lo suficientemente robustos para asegurar que trabajen de manera adecuada, aún sí no se implementa cada detalle del mismo en el código. Muchas descripciones de algoritmos fallan en proveer muy poco o demasiados detalles. Una razón de porque el algoritmo de Clarke y Wright[11] es tan popular entre los programadores es que sus principios básicos son muy sencillos y es muy fácil de implementar en un código (sorprendentemente, la descripción original de dicho algoritmo era tan simple que podía haber parecido torpe y hasta debajo de los estándares actuales para publicación de artículos, no obstante su sencillez y efectividad se hicieron notar) . Códigos simples, preferentemente cortos y auto-contenidos, tienen mejores probabilidades de ser adoptados, aunque un mínimo de complejidad es esperada para lograr buenos resultados. Los al~¡oritmos que contienen demasiados parámetros son difíciles de entender y difíciles de implementar. Este problema prevalece en casi todos los algoritmos desarrollados para meta heurísticos en los pasados 1 O 11 Alternativa Heurística de Método de Centro de Masas para ei Problema de Huteo de Vehículos años[2]. En su búsqueda para mejores soluciones, los investigadores han incrementado el número de parámetros contenidos en sus algoritmos más allá de lo que parece ser razonable, particularmente en vista del hecho que relativamente nuevas instancias son usadas en las prueb~s. Golden [20] levantó una alerta hacia este problema. No sólo el número de parámetros en el algoritmo debería de estar limitado, sino que también debe hacer sentido al usuario final. Entonces, un parámetro que controla el número de iteraciones consecutivas sin mejora en una búsqueda local de un algoritmo es fácil de entender, mientras que un límite del número de ejecuciones para procesos internos no tiene significado para la mayoría de los usuarios. Existen dos maneras para facilitar la proliferación de parámetros: • Fijarlos o estandarizarlos con base en pruebas previas, especialmente sí en las mismas evaluaciones el algoritmo es insensible a dichos parámetros. • Hacer uso de los parámetros auto-ajustables durante el curso del algoritmo [13]. Flexibilidad. Un buen algoritmo para el VRP debe ser lo suficientemente flexible como para acomodar varias restricciones, mismas que se encuentran en la mayoría de las aplicaciones de la vida real. Mientras que la mayoría de la literatura de VRP se enfoca en la capacidad y, algunas veces en las restricciones de la longitud de la ruta, frecuentemente se pueden apreciar cambios que se logran hacer para lidiar con restricciones adicionales, pero esto no siempre es posible y, el desempeño puede deteriorarse significativamente como resultado. J-F Cordeau, M. Gendreau, G. Laporte, J-Y Potvin, F. Semet [7, 13} sugieren que una manera de medir la eficiencia de manejar restricciones adicionales en un proceso de búsqueda local es a través del uso de dos objetivos. El primero, F(x), calcula el costo de ruteo de la solución x. el segundo, F'(X), es la suma de F(x) y la falta ponderada de los términos asociados a la violación de cada restricción adicional. Por ejemplo, sí Q(x) y D(x) son las violaciones de la capacidad y la duración de la ruta asociadas con la solución x, entonces F'(x) debe definirse como F'(x)=F(x)+ + aQ(x)+ pD(x), donde Cx y f¡ son parámetros de faltas positivas auto- ajustables. Inicialmente se fijan con valor igual a 1; estos parámetros se incrementan o decrementan de manera periódica a través de la búsqueda de acuerdo a sí en soluciones 12 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos previas, fueron factibles o no factibles. Esta manera de proceder significa que la búsqueda probablemente evolucionará a través de una mezcla de soluciones factibles y no factibles, reduciendo las condiciones que pudieran permitir que una solución se encuentre atrapada en un mínimo local. Otra ventaja algorítmica de este método es que la búsqueda puede operar con movimientos relativamente simples, tales como quitar un cliente de su ruta actual e insertarlo en una ruta diferente. Cuando la factibilidad debe mantenerse a todo costo, tales movimientos simples tienden a no trabajar con las restricciones adicionales que están muy aiustadas, y operaciones más complejas y tardadas deben visualizarse, como las cadenas de ejecución o en un sentido, la flexibilidad algorítmica es en parte alcanzada a través de la simplicidad del diseño[2]. Esta es la única característica que no será evaluada en el presente trabajo. 2,2. Heurísticos y Metaheurísticos en la solución del VRP. Heurísticos Varios Heurísticos han sido diseñados para resolver el problema de ruteo de vehículos[21], para dar una idea de su funcionamiento en general sólo nos concentraremos en los mejor conocidos: • El algoritmo Clarke y Wright[11 ] • El algoritmo de "barrido"[33] • El algoritmo de Fisher y Jaikumar [9]. Se seleccionaron éstos debido, en parte por su popularidad y también porque pueden operar en una amplia gama de principios. El algoritmo Clarke y Wright 13 Alternativa Heurística de Método de Centro de Masas para el Probíema de Ruteo de Vehículos El algoritmo de ahorro desarrollado por Clarke y Wright en 1964 [11] es una excelente opción desde el punto de vista de velocidad y simplicidad, y esta es probablemente una razón por la cual es ampliamente utilizado en programas comerciales de ruteo de vehículos. El algoritmo resulta de un arreglo hipotético de lugares Sn (donde n es el número de destinos), los cuales son suministrados desde un centro de distribución DCx de acuerdo con la figura 1. El plan inicial de transportes, el cual es gradualmente mejorado, se basa en la entrega individual a cada destino Sn. Se marca la distancia a cada destino desde el centro de distribución como dxj, el valor inicial del transporte en unidades es z1 ..... n y es calculado usando la fórmula: n Z1 = 2 '\°' d · , .. . ,n L XJ j=l Figura 1: Arreglo de rutas para el Algoritmo de Clarke-Wright (Elaboración propia) La maximización de ahorros se alcanza sí, · los destinos individuales son agrupados gradualmente con el criterio de crear círculos. Sí, por ejemplo, reemplazamos los primeros dos círculos por uno sólo (figura 2) y marcamos la distancia entre ei espacio S1 y S2 como d12, obtendremos un ahorro de u12 por la cantidad de: U12=2 dx1+2dxr(dx1+dx2+dx12) = dx1+dxrdx12 Alternativa Heurística de Método de Centro de Masas para el Problema de Huteo de Vehículos Z12=2 dx1+2dx2 Z12= dx1+dx2 + d12 Fi~Jura 2.-Agrupando para n=2 [22] Sí generalizamos, podemos expresar el total de ahorros como : U1 , ... ,n= (dx1+2x2-dx12)+ ... + dxn-1+dxn-dn-1n =u12 + U23 + Un-1n El objetivo es maximizar los ahorros u, ..... n· La versión simple del algoritmo de ahorro Clarke y Wright se puede resumir en 2 pasos[22]: 1.- Calcular los ahorros U¡¡ 2.- Seleccionar los máximos ahorros (uq) sí la conexión es posible. Por ejemplo sí: a) El círculo no ha sido cerrado prematuramente b) Otros requisitos no son cumplidos, como requerimientos de capacidad. Dado que, el heurístico de ahorro Clarke y Wright [11]es uno de más conocidos y permanece entre los primeros lugares de utilización, no obstante al~¡unos problemas que puede presentar. Está basado en la noción de ahorro. Inicialmente, una solución factible consiste en "n" rutas hacia adelante y de regreso entre el almacén y el Cliente. En cualquier iteración dada, dos rutas (v, ... vi, vO) y (vO, vj, .. , vO) se combinan en una sola ruta (vO, ... , vi, v .... , vO) donde quiera que esto sea factible, genera un ahorro Sij = C¡o + CoJ - Cij. En la versión en paralelo del algoritmo, la combinación que resulta en el mayor ahorro es siempre implementada, mientras que las versiones secuenciales mantienen expandiendo la misma ruta hasta que deja de ser factible. En la práctica, la versión en paralelo es mucho mejor. Es común aplicar un paso de post--optimización a la solución final. Este a¡goritmo alcanza altos niveles de simplicidad y velocidad. No contiene parámetros y es fácil de programar. Según pruebas comparativas es medianamente exacto. La mejor implementación (la versión paralela seguida del paso de post-optimización) tiene una desviación promedio de 6. 71 % de la mejor solución identificada por Taillard[23] y Rochat y Taillard[24]. Adicionalmente, varios investigadores han observado que la solución es algunas veces de menor calidad y 15 Alternativa Heurística de Método de Centro de Masas para el Problema de Huteo de Vehículos frecuentemente contiene al menos una ruta circunferencial. La falta de flexibilidad es, probablemente su peor característica. Mientras que restricciones adicionales pueden, en princ1p10 ser incorporadas en el algoritmo CW, este usualment,e resulta en una rápida deterioración de la calidad de la solución. Esto puede ser explicado por el hecho que el algoritmo está basado en un principio de mecanismos glotones o avaros y no contiene mecanismos para deshacer la fusión de rutas no satisfactorias generadas en las primeras iteraciones del algoritmo codificado. Solomon [25] reporta una variante del algoritmo CW en donde los ahorros son adaptados para manejar ventanas de tiempo, pero los resultados son decepcionantes. Muchas mejoras al algoritmo CW han sido propuestas. Gaskell[26] y Yellow[27] han sugerido ahorros generalizados de forma c'=c¡o+co-ACij para ayudar a producir rutas más compactas, donde A es un parámetro positivo. Otras mejoras se relacionan con el uso de estructuras de datos complejas y estrategias der ordenamiento[28, 29] para mejorar el manejo de ahorros. S!n embargo, dados los niveles presentes de tecnología en computación y la velocidad de respuesta del algoritmo CW, para instancias medianas, las últimas mejoras se hacen irrelevantes. Otra línea de investigación en los algoritmos CW se ha concentrado en la optimización de la fusión de rutas a través del uso de algoritmos combinatorios. Los primeros resultados basados en esta idea fueron producidos por Desrochers y Verhoog[30] y Altinkeme y Gavish[31] . La mejor y más reciente implementación de la de Wark y Holt[32] que frecuentemente obtiene mejoras significativas sobre la implementación original del algoritmo CW, pero a expensas de un gran incremento de ciclos computacionales. En resumen, estas mejoras realizadas al algoritmo le restan a las dos mejores características del mismo; simplicidad y velocidad, es difícil de implementar y no hace nada para mejorar la falta de flexibilidad del algoritmo original. Mientras que la aplicación repetitiva de los algoritmos basados en combinaciones da como resultado unp mayor exactitud, esta técnica puede limitar el potencial debido a su complejidad y bajos niveies de flexibilidad[2] . Algoritmo de barrido. 16 Alternativa Heurística de Método de Centro de Masas para ei Problmna de Ruteo de Vehículos Esta solución se le atribuye a Gillett y Miller[33] aunque su p1-inc1p10 básico puede rastrearse hasta Wren[34) y Wren y Holliday[35]. Se aplica a instancias planas del VRP. Rutas factibles son creadas rotando un rayo centrado en el depósito y, gradualmente incluyendo a los Cllentes en el vehículo una v,gz que la capacidad o la restricción de la longitud de la ruta es alcanzada. Una nueva ruta es entonces iniciada y el proceso se repite hasta que el plano entero ha sido "barrido". Típicamente se aplica una optimización de 3 pasos, En las instancias CTM[19J la implementación de este algoritmo tiene una desviación promedio de 7 .09% de la mejor solución conocida. Los tiempos de cálculo promedio en computadora son de 105 segundos. Este algoritmo es bastante simple, pero no se muestra superíor al algoritmo Clarke y Wright[11] en cuanto a rapidez y precisión se refiere. También habría que agregar que es más bien inflexible. Aquí también se puede apreciar al naturaleza ambiciosa del mecanismo de barrido[33) lo que hace difícil acomodar restricciones adicionales. En particular, el algoritmo no se acomoda bien a instancias definidas en un ambiente urbano con diseños de calles entrelazadas (en red) . Un número de heurísticos generan rutas para vehículos factibles (llamados "pétalos" para este contexto) y detem1inan la mejor combinación a través de la solución de un juego de problemas particionados. Algunos ejemplos de este enfoque son los algoritmos de un "pétalo" de Foster y Ryan[36] y Tyan[37] y los heurísticos de dos "pétalos" de Renaud[19] donde, adicionalmente a rutas individuales, trayectos de dos vehículos también son generadas. Estas extensiones proveen una mayor exactitud con respecto al algoritmo de barrido básico. En términos de velocidad, se pueden también hacer mejoras. No obstante estas extensiones hacen más complejo el algoritmo generando una gran cantidad de "pétalos" que son difíciles de manejar y fijan pasos particionados que se deben ejecutar. En cuanto a Flexibilidad se refiere, los algoritmos de "pétalos" pueden acomodar una amplia variedad de restricciones, pero esto repercute en la simplicidad . De hecho, este sencillo algoritmo puede verse como una versión truncada de generación de columnas que es conocido por producir resultados con alta calidad en problemas con muchas restricciones a expensas de la simplicidad. El Algoritmo de Fisher y Jaikumar. 17 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos Esta propuesta de solución es un proceso de dos fases en donde un grupo factible de clientes es creado como primera instancia resolviendo un problema de designación generalizado, y una ruta del vehículo es determinada para cada grupo por medio de un algoritmo s_olución para el problema del agente viajero[38) Para fom1ular el problema de designación generalizado, es necesario determinar primeramente una semilla para cada ruta de donde la distancia de cada cliente es calculada. Dado que el problema de designación generalizado es NP-Hard, usualmente se soluciona por medios de la técnica de relajación de Langrage. Aunque los resultados reportados son buenos para este algoritmo, algunos problemas se han presentado en su desempeño. El algoritmo original[38] provee valores de soluciones enteras sin tener una regla de redondeo o de truncamiento de decimales y la solución no puede ser verificada, lo que hace que la evaluación del algoritmo sea difícil. Algunos experimentos computacionales[2] sugieren que el algoritmo de Fisher y Jaikumar [38) no es simple de programar y su velocidad está altamente relacionada con la selección de semillas así como la implementación de un proceso de Lagrange. Se ha encontrado que dichas semillas son seleccionadas como en Fisher[39) y los pasos Langragianos programados como fueron recomendados por Fisher[40) tienen entonces una convergencia que frecuentemente es pobre y muchas iteraciones pueden ser necesarias para alcanzar una solución satisfactoria y, _aun cuando la precisión puede ser baja, varias iteraciones pueden ser necesarias para alcanzar una solución que valgala pena implementar y con una baja precisión. La flexibilidad es problemática también, mientras que, en principio es fácil manejar las restricciones de capacidad, la referencia original no contiene indicaciones respecto al tratamiento de las restricciones en la duración de la ruta, aunqu,~ seis instancias que involucran tales restricciones se resuelven repetidamente. No se ve un mecanismo fácil en el cual incorporar estas y otras restricciones dentro del Algoritmo. Bramel y Simichi-Levi[41] optimizaron la selección de semillas en el algoritmo de Fisher y Jaikumar[38] resolviendo un problema de capacidad local. Sus resultados obtienen sólo el 3.29% de desviación del mejor resultado obtenido. Metaheurísticos 18 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos En problemas de optimización, en este caso para problemas de ruteo, los algoritmos metaheurísticos sirven para designar un método que optim:za un p::-cblema por medio de una mejora iterativa a una solución propuesta con respecto a una medida dada de calidad. Los metaheurísticos hacen muy pocas o ninguna asunción acerca del problema que será optimizado y puede buscar en espacios muy grandes candidatos a solución. Sin embargo los metaheurísticos no garantizan que la respuesta óptima será encontrada. Muchos metaheurísticos implementan optimizaciones estocásticas, esto es, propuestas aleatorias a una solución[2]. Desde la década de los 80's los algoritmos metaheurísticos[42] se desarrollaron para resolver problemas conocidos como de difícil optimización, tan bien como fuera posible. Esto permitió el desarrollo de los metaheurísticos o meta-heurísticos, que incluyen en particular 5: Búsqueda Tabú[13], Recocido Simulado[43], Algoritmos Evolutivos o Genéticos [44], los Algoritmos de Colonia de Hormigas[45] y Redes Neuronales [46]. De estos 5, sólo se considerarán debido a sus resultados en la solución de VRP; la búsqueda Tabú, Recocido Simulado y algoritmos Genéticos ya que son los que mejor desempeño han mostrado para la propuesta de soluciones óptimas para el VRP. Las respuestas propuestas están basadas en un grupo común de principios, lo que los hace posibles de diseñar algoritmos de solución; las diferentes reagrupaciones de estos principios nos lleva a tener una gran variedad de metaheurísticos. Búsqueda Tabú: El método de la Búsqueda Tabú utiliza algunas ideas de sentido común (que no es tan común como quisiéramos) para permitir que el proceso escape de un óptimo local. Cualquier aplicación de la Búsqueda Tabú incluye, como subrutina, un procedimiento de búsqueda local que se antoja apropiado para el problema que se esté dirigiendo (Un procedimiento de búsqueda local opera igual que un procedimiento de mejora local, excepto que puede no requerir que cada nueva solución propuesta sea mejor que la anterior). El proceso empieza usando este proceso como procedimiento de mejora local de manera regular (aceptando una sola mejora en la solución en cada iteración) para encontrar el óptimo local. 19 Alternativa Heurística de Método de Centro de Masas para el Probiema de Ruteo de Vehículos Una estrategia clave de la Búsqueda Tabú es que continua con la búsqueda al permitir movimientos de no mejora para las mejores soluciones en el vecindario del óptimo local. Usando la analogía de la escalada de una colina, este proceso es, algunas veces referiqo co.r.no al enfoque de ascenso pronunciado/descenso suave debido a que cada iteración selección el movimiento disponible que impulsa más hacia arriba (refiriéndonos a la metáfora de subir una colina), o, cuando no se encuentra disponible un movimiento hacia arriba, selecciona el movimiento que menos me haga bajar (o perder lo ya ganado). Sí todo va bien, el proceso seguirá un patrón cómo el mostrado en la figura 1 donde el mínimo local es dejado atrás con el fin de escalar aun óptimo global. .... Iteraciones Figura 1: Patrón de iteraciones en la Búsqueda Tabú [47] El riesgo de tomar este enfoque es que, después de moverse de un óptimo local, el proceso regresará al mismo. Para evitar esto, la Búsqueda Tabú prohíbe temporalmente movimientos que nos podrían hacer regresar a la solución recientemente visitada. Una lista de registros tabú de estos movimientos prohibidos, que son referidos como movimientos Tabú. La única excepción es que el movimiento prohibido sea de hecho mejor que la mejor solución encontrada hasta ese momento. Este uso de una memoria de guía para buscar usando la lista tabú para registrar la historia reciente de la búsqueda es una característica distintiva de la Búsqueda Tabú. Esta característica tiene sus raíc13s en el campo de la inteligencia artificial. 20 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruleo de Vehí~ulos La Búsqueda Tabú también incorpora algunos conceptos avanzados. Uno es intensificación, que involucra explorar una porción de la región factible más a detalle que lo usual después de que ha sido identificada una porción prometedora que contiene un buen juego ,de sqluciones. La memoria a largo plazo es usada para ayudar a implementar ambos conceptos. Recocido Simulado. Cómo se mencionó anteriormente, la Búsqueda Tabú se orienta en "escalar" la colina más alta en el ángulo más agudo hasta que alcanza la cima y despues empieza a escalar colina a bajo hasta encontrar la siguiente pendiente hacia arriba y llegar a la siguiente cima, que sería la siguiente solución óptima local. El problema es que requiere muco tiempo (iteraciones) en encontrar cada solución óptima local hasta encontrar · una solución óptima global. A diferencia de la Búsqueda Tabú, la técnica del recocido simulado, se enfoca en una sóla búsqueda por la soluGión global óptima. Dado que la colina más alta puede estar en cualquier lugar de la re.gión de factibilidad, el enfasis inicial en tomar pasos en direcciones aleatorias (escepto para rechazar algunas, pero no todos los pasoso que generen soluciones menos óptimas que las anteriores) con el fin de explorar la mayor cantidad posible de la región de factibilidad como sea posible.Debido a que la mayoría de los pasos aceptados son cuesta arriba, la búsqueda eventualmente tenderá a aquellas partes de la región de factibilidad que contengan las "cimas" más altas. Para ser más específicos, cada iteración del proceso de búsqueda del Recocido Simulado se mue-Je del intento de solución corriente a un vecino inmediato en el vecidario local de esta solución, al igual de la Búsqueda Tabú. Sin embargo la direfencia de entre ambas técnicas radica en como un vecino inmediato es seleccionado para el siguiente intento de solución. Por ejemplo, supongamos que: Zc= valor para la función objetivo del intento de solución corriente. Zn= valor de la función objetivo para el canidato corriente para el siguiente intento de solución 21 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos T= un parámetro que mide la tendiencia a aceptar a que el candidato corriente se aplique en la siguietne iteración sí este candidato no muestra una mejora con respecto a la solución precedente. La regla para seleccióna cual vecino inmediato estará en el siguiente intento de solución es el siguiente: Regla de selección ele movimiento: Entre todos los vecinos inmediatos del intento de solución corriente. seleccione uno aleatoriamente para que se convierta en el candidato corriente al siguiente intento de solución. Asuma que el objetivo es la maximización de la función objetivo, acepte o rechaze esta candidato para el siguiente intento de solución como sigue: Sí Zn >= Zc, Siempre se aceptará este candidato Sí Zn < Zc, Acepte el candidato con la siguiente probabilidad: Probabilidad {aceptación}=ex donde Zn- Zc, x=--- T ( Sí el objetivo es minimización, se invierten Zn y Zc, en la fórmulaanterior) Sí este candidato es rechazado, repita este proceso con un vecino inmediato del inümto de solución corriente. (sí no quedan vecinos remanente, el algoritmo termina). Sí el candidato corriente bajo consideración es mejor que el intento de solución corriente, siempre será aceptado para el siguiente intento de solución. Sí es peor, la probabilidad de aceptación depende en cuanto peor sea (así como del tamaño de T). La tabla 1 muestra en ejemplo de estos valores de probabilidad, cuyo rango va desde una probabilidad alta cuando el candidato corriente es casi igual al intento de solución corriente hasta una muy pequeña probabilidad cuando el candidato es mucho peor. 22 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos Zn- Zc, Probabilidad de ~= T Aceptación = e X -0.01 0.99 -0.1 0.905 -0.025 0.779 -0.5 0.607 -1 0.368 -2 0.135 -3 o.os -4 0.018 -5 0.007 Tabla 1: Valores de probabilidad del intento de solución corriente [4 7] En otras palabras, la regla para la selección de movimiento usualmente aceptará un paso que puede representar un pequeño retroceso respecto a la solución anterior. Empezando con un valor relativamente grande de T ( como el RBcocido Simulado lo hace) hace que la probabilidad de aceptación sea relativamente grande, lo que permite que la búsqueda se de casi en forma aleatoria. Gradualmente un decremento en T mientras que la búsqueda continua 9_radualmente decrementa la probabilidad de aceptación, lo cual incrementa el enfasis en seguir sólo "cuesta arriba". Así que la selección de valores de Ta lo largo del tiempo contrla el grado de aleatoriedad del proceso para permitir pasos "cuesta abajo". Este componente aleatorio, no presente en la Búsqueda Tabú básica, provee mayor flexibilidad para moverse hacia otra parte de la región de factibilidad con la esperanza de encontrar una mejor solución a la anterior. El método usual para implementar la selección de la regla de selección de movimiento para determinar sí un paso hacia abajo en particular será aceptado, es comparar un número aleatorio entre O y 1 a la probabilidad de aceptación. Tal número aleatorio puede ser visualizado como una observación aleatoria de una distribución uniforme entre O y 1. Sí (Número aleatorio)<Probabilidad (aceptación), acepte el paso hacia atrás, de cualquier otra forma, rechace. 23 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos ¿Porqué el Recocido Simulado utiliza una fórmula particular para la Probabilidad de aceptación? La razón radica en que el método esta basado en la analogía del proceso de recocido físico. Este proceso inicialmente involucra la fundición un metal o un vidrio a altas temp~raturªs y despupes enfirarlo lentamente hasta que alcanza un estado estable de baja energía con las propiedades físicas deseadas. A cualquier temperatura T dada durante este proceso, el nuvel de energía de los átomos en la substancia está flucutando pero con una tendenciaa decrecer. Un modelo matemático de como los niveles de energía fluctúan asume que los cambios ocurren de manera aleatoria excepto en algunos donde el incremento en Tes permitido. En particular, la probabilidad de aceptar un incremento cuando la temperatura T tiene la misma forma que la probabilidad de aceptación en las reglas de selección de movimiento del Recocido Simulado. La analogía para un problema de optimización en la forma de minimización es que el nivel de energía de la substancia en el estado corriente del sistema corresponde al valor de la función objetivoa la solución corriente factible del problema. El objetivo de que una substancia alcance el estado estable con un nivel de energía que es tan pequeño como sea posible, corresponde a haber obtenido una solución factiblecon un valor de la dución objetivo que sea tan pequeño como sea posible. Justo como en un proceso físico de recocido, una pregunta clave cuando se designa un algoritmo de Recocido Simulado para un problema de optimización, es selecciónar una programación adecuada de las temperaturas a usar. (Debido a la analogía con el proceso físico de recocido, nos referiremos en adelante a la T como la temperatura). Esta programación necesita especificar el valor inicial y relativament,~ grande de T así como los valores subsecuentes que progresivamente iran reduciendo su valor. También es necesario especificar cuantas iteraciones deberán realizarse en cada valor de T. La selección de estos parámetros para ajustarse al problema bajo consideración es un factor clave en la efectividad del algoritmo. Algunos experimentos preliminares pueden s,~r usados para guiar esta selección de parámetros del algoritmo. Algoritmos Genéticos En el campo de ciendas computacionales, un algoritmo i~enético es una búsqueda metaheurística que copia el proceso de selección natural aplicando técnicas como: herencia, 24 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos mutación, selección y cruce. Este metaheurístico es usado rutinariamente para generar soluciones útiles para la optimización y problemas de búsqueda. Los algoritmos genéticos pertenecen a un grupo mayor denominado algoritmos evolutivos. En un algoritmo genético[47], una población o candidato a solución de optimización para un problema es "evolucionado" a mejores soluciones. Cada candidato a solución tiene un grupo de propiedades que pued1~ "mutarse" y "Alterarse". La evolución usualmente empieza de una población de individuos aleatoriamente generada, y es un proceso iterativo, con la población de cada iteración llamada generación. En cada generación, la "aptitud" de cada individuo en la población es evaluado; la "aptitud" (refiriéndose al término de selección natural: "sobrevivencia del más apto") es generalmente el valor de la función objetivo en el problema de optimización a ser resuelto. Los individuos son estocásticamente seleccionados de la población corriente, y cada "genoma" del individuo modificado para formar una nueva generación. La nueva generación es un candidato a solución y es entonces usada en la siguiente iteración del algoritmo. Comúnmente, el algoritmo termina cuando se cumple con un determinado criterio, que toma en cuenta la calidad a priori de la solución obtenida, y el número de "generaciones". Durante cada generación, una sucesión de operadores es aplicada a los individuos de la población para generar una nueva población para la siguiente generación. Cuando uno o más individuos son usados por un operador se les llama "padres". Los individuos originados por la aplicación de dichos operadores son llamados "críos" ó "hijos". Esto significa que, cuando dos operadores se aplican sucesivamente, los "críos" generados por uno pueden convertirse en los "padres de otros"[47]. Algunas limitaciones de los métodos metaheurísticos radican en el conocimiento del problema por la persona que hace el planteamiento y los criterios de convergencia. Esto puede . llevar, como se mencionó antes, a que se . encuentre una solución que no necesariamente sea la óptima o que el algoritmo no converja en nuestros parámetros por las restricciones que se pudieran haber planteado, de forma errónea. al principio del problema así como la solución inicial 25 Altern.;liva Heuríst:ca de Método de Cent;o de Masas para ul h.:>biema de Rute-o de Vehículos Comparación de Metaheurísticos con los Heurísticos clásicos. Los algoritmos metaheurísticos comparados con los heurísticos clásicos demuestran una búsqueda con más detalle en el espacio de solución permitiendo algunas veces ' - movimientos inferiores y, algunas veces no factibles, así como la reicombinación de soluciones para crear otras nuevas. Está área de investigación ha expmimentado un crecimiento formidable durante los pasados í O años y ha producido algunosde los más eficientes y flexibles heurísticos[2]. Es justo decir que, no obstante las ganancias en la calidad de las soluciones obtenidas con estos heurísticos se han hecho, frecuentemente a expensas de •, velocidad y simplicidad, aunque no es el caso en algunas de las más recientes implementaciones. La década pasada ha sido muy rica en el diseño y prueba de algoritmos, algunas ideas prometedoras no se han traducido en algoritmos igualmente buenos, mientras otras han soportado la prueba del tiempo. La búsqueda Tabú (TS)[13] es claramente uno de los mejores metaheurísticos para el VRP. Por mucho, la mejor implementación para el VRP domina otros procesos de búsqueda tales como el Recocido Simulado[43], algoritmos genéticos[44], sistemas de colonias de hormigas[45], y redes neuronales[46] . La idea detrás de la búsqueda Tabú es lle?var a cabo una investigación local a través del movimiento, en una iteración t, de una solución xt hacia la mejor respuesta x1+1 en su vecindario. Desde que se mueve de Xt a X1+1 puede causar que la función objetivo se deteriore, un mecanismo anticíclico es puesto en marcha, nombrando cualquier solución que posea algún atributo de x, es declarado prohibido o tabú, para un número de iteraciones. Así, e11 efecto el mejor vecindario x1+1 de x es solamente seleccionado sí no es tabú o sí claramente no se ciclará la solución . Varios mecanismos adicionales tales como; la diversificación e intensificación han sido implementados por una gran variedad de investigadores. Desde luego, no todos los heurísticos de búsqueda Tabú para el VRP han sido igualmente exitosos. La primera identificación conocida por Willard[48] no hizo uso de una estructura de vecindario lo suficientemente poderosa para permitir la identificación de soluciones de alta calidad. En contraste, varias implementaciones que le siguieron contenían demasiados dispositivos y parámetros definidos por el usuario. Ha existido una tendencia en años recientes hacia implementaciones más esbeltas. 26 _1:1 __ A_l_te_rn_a_ti-va_H_e_u-rís_t __ ic_ª_ªe_M-ét-od_o_d_e_C_e_nt-ro_d_e_M_a_sas para el Problema ele Ruteo de Veh¡::ulos Otro de los metaheurísticos utilizados es el Recocido Simu!ado[43], el cual nace de las estructuras complejas del espacio de configuración para un problema de optimización difícil inspirGdo en las analogías con fenómenos físicos, que lideraban 3 investigadores de la comuridad_ de IBM - S. Kirkpatrick, C.D. Gelatt and M.P. Vecchi - quienes propusieron en 1982 y publicaron en 1983 un nuevo método iterativo: La técnica del Recocido Simulado, puede evitar un mínimo local. Un trabajo similar, desarrollado de forma independiente al mismo tiempo por V. Cerny[Cerny, 1985],fue publicado en 1985. Desde su descubrimiento, el método del Recocido Simulado ha probado su efectividad en varios campos tales corno el diseño de circuitos eléctricos, el procesamiento de imágenes y el VRP. Por otro lado se ha encontrado demasiado ambicioso o incapaz de resolver ciertos problemas de optimización combinatoria, que puedan ser resueltos con algunos heurísticos específicos. La Búsqueda Tabú que se enfoca en "escalar" la colina más alta en el ángulo más agudo hasta que alcanza la cima y después empieza a escalar colina a bajo hasta encontrar la siguiente pendiente hacia arriba y llegar a la siguiente cima, que sería la siguiente solución óptima local. El problema es que requiere mucho tiempo (iteraciones) en encontrar cada solución óptima local hasta encontrar una solución óptima global. A diferencia de la Búsqueda Tabú, la técnica del recocido simulado, se enfoca en una sóla búsqueda por la solución global óptima. Dado que la colina más alta puede estar en cualquier lugar de la región de factibilidad, el enfasis inicial en tomar pasos en direcciones aleatorias (excepto para rechazar algunas, pero no todos los pasos que generen soluciones menos óptimas que las anteriores) con el fin de explorar la mayor cantidad posible de la región de factibilidad como sea posible.Debido a que la mayoría de los pasos aceptados son cuesta arriba, la búsqueda eventualmente tenderá a aquellas partes de la región de factibilidad que contengan las "cimas" r,ás altas. Para ser más específicos, cada iteración del proceso de búsqueda del Recocido Simulado se mueve del intento de solución corriente a un vecino inmediato en el vecidario local de esta solución, al igual de la Búsqueda Tabú. Sin embaqJo la diferencia entre ambas 27 Alternativa Heurística de Método de Centro de Mas.¡s para el Prob'.ema de Rutco de Vehículos técnicas radica en cómo un vecino inmediato es seleccionado para el siguiente intento de solución. - , Just~ como en un proceso físico de recocido, una pregunta clave cuando se designa un algoritmo de Recocido Simulado para un problema de optimización, es selecciónar una programación adecuada de las temperaturas a usar. (Debido a la analogía con el proceso físico de recocido, nos referiremos en adelante a la T como la temperatura). Esta programación necesita especificar el valor inicial y relativamente grande de T así como los valores subsecuentes que progresivamente irán reduciendo su valor. También es necesario especificar cuantas iteraciones deberán realizarse en cada valor de T. La selección de estos parámetros para ajustarse al problema bajo consideración es un factor clave en la efectividad del algoritmo. Algunos experimentos prelimi~ares pueden ser usados para _ guiar esta selección de parámetros del algoritmo. De lo anterior podemos concluir esta parte que ningún heurístico clásico tiene una buena calificación en precisión y flexibilidad. En esta categoría, el celebrado heurístico de Clarke y Wright tiene al menos la ventaja de ser rápido y simp!e para implementar, lo cual lo hace uno de los algoritmos más recurrentes para la solución de VRPs y es el que se estará utilizando para soportar la hipótesis en este trabajo. No obstante lo anterior, en el contexto del VRP se debe planear a largo plazo ya que graneles sumas de dinero están en riesgo. Vale la pena invertir tiempo y recursos en un método que desempeñe una exploración más extensiva, sencilla y eficiente y que se ajuste a mejores niveles en cuanto a Precisión, Flexibilidad, Simplicidad y Velocidad. Por otro lado, los metaheurísticos son, en general, un tipo de método de solución general que orquesta la interacción entre procedimientos de mejora local y estrategias de alto nivel para crear un proceso que es capaz de escapar del óptimo local y desempeñar una búsqueda robusta en una región factible. Las soluciones usadas para obtener los mejores resultados cuando se tratan de resolver VRP, los Heurísticos y Metaheurísticos son los algoritmos que hasta ahora, mejor cumplen los 4 factores que se plantarori anteriormente (exactitud, simplicidad, velocidad y flexibilidad). 28 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos 2.3. El problema de inicialización en VRP El principio de un algoritmo de "mejora iterativa" consiste en que: uno empieza con una configuración inicial, la cual, casi siempre se hace de manera aleatoria, sin reglas y, por consecuencia no es la más adecuada, por ejemplo, en el caso de la colocación de los componentes de un circuito electrónico, y puede ser determinada por un diseñador o una persona que necesariamente debe contar con conocimiento del algoritmo que va a resolver la trayectoria más pequeña así como de las limitaciones inherentes al producto o servicio que se está ejecutando. Una modificación elemental es entonces probada y frecuentemente se le conoce como "movimiento" (por ejemplo, 2 componentes elegidos al azar son permutados o uno de ellos es cambiado de lugar), y los valores de la función objetivo son comparados, antes y después de la modificación. Sí el cambio nos lleva a una reducción en la función objetivo, esaceptado, y la configuración obtenida es un "vecino" de la precedente, y es usada como punto de partida para la siguiente prueba. En caso contrario, uno regresa a la configuración anterior, antes de hacer el siguiente intento. El proceso se hace iterativo hasta que cualquier modificación resulta peor. Función Objetivo Configuración Figura 2. Representación gráfica de óptimos locales en la solución del VRP [47] La figura 1 nos muestra que este algoritmo de mejora iterativa[4 7] (método clásico o método descendente) no nos lleva, en general, al óptimo global, sólo a un mínimo local que constituye la mejor solución tomando en cuenta las asunciones iniciales. Para mejorar la efectividad del método, uno puede, desde luego, aplicarlo varias veces en condiciones iniciales arbitrarias y quedarse con la mejor scludón de mejor mínimo local 29 Alternativa Heurística de Método de Centro de Ma::.as par;~ e: Problema de Ruteo de Vehículos obtenido. Sin embargo, este procedimiento apreciablemente incrementa el tiempo de procesamiento del algoritmo en una computadora, y puede no encontrar la configuración óptima. La aplicación repetida del método descendente no garantiza su determinación y es particularm!3nte inefectivo cuando el número de mínimos locales crece exponencialmente con el tamaño del problema. Por otro lado, para brincar este obstáculo del mínimo local, otra idea que ha demostrado ser muy rentable, tanto que es el corazón de los metaheurísticos basados en el vecindario (Recocido Simulado y Búsqueda Tabú[47]): es una cuestión de autorización, de tiempo en tiempo, los movimientos de incremento, en otras palabras aceptar una degradación temporal de la situación, durante un cambio en la configuración corriente, este es el caso sí uno pasa de en a en' (corno se muestra en la figura de arriba). Un mecanismo para controlar :as degradaciones, específico a cada metaheurístico, hace posiole que se eviten las divergencias del proceso. En consecuencia se hace posible trascender la trampa del mínimo local para explorar otro valle más "Prometedor". Los metaheurísticos "distribuidos" (tales como algoritmos evolutivos) también tienen mecanismos que les permites partir de una solución particular fuera de un "pozo" en una solución particular de la función objetivo. Estos mecanismos, (como la mutación en algoritmos evolutivos) afecta la solución a mano, en este caso, para asistir a los mecanismos colectivos para evitar los mínimos locales, que representa un control paralelo en un juego de "población" de soluciones[49]. El iniciar con una solución aleatoria genera dos riesgos importantes; a) qué tome más tiempo (número de iteraciones) en llegar a una solución óptima ya que se parta de un óptimo local y b) que se aleje al algoritmo de la "mejor" solución. Esto afecta las consideraciones de exactitud y velocidad. Al día de hoy no se ha desarrollado, dentro de la investigación de artículos y libros que se realizó, una metodología estructurada para la solución inicial de ningún algoritmo diseñado para dar una solución al VRP. En la mayoría de los casos la solución inicial es !a secuencia de bs puntos y, en el caso de algoritmos genéticos se propone un generador aleatorio r;ara la solución inicial. Esto ha hecho que todos los estudios y metodologías . se enfoquen en la resolución de problemas sin la definición de un punto inicial y sin el análisis de que tanta pueáe esto influir en los 30 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos resultados de un algoritmo de VRP[50] y su influencia en los 4 factores que hemos definido para caracterizar un algoritmo[2]. 2.4. _ Hipótesis • Se puede crear una alternativa heurística lo suficientemente sencilla y fácil de implementar con resultados aceptables. • Generar una propuesta inicial más eficiente que las generadas de manera aleatoria, deberá reducir si!~nificativamente el número de iteraciones en un algoritmo metaheurístico. • Empezar un algoritmo metaheurístico -con una propuesta inicial estructurada debe propiciar que el _algoritmo llegue a soluciones más óptimas. 2.5. Objetivos de la tesis Desarrollar un algoritmo de fácil ejecución para obtener una solución factible al problema de VRP. El método desarrollado debe ser lo suficientemente preciso y simple para que, aún que no garantice un resultado óptimo comparado con otros métodos, sea una alternativa lo suficientemente eficaz para que pueda ser implementada sin necesidad de realizar grandes inversiones en hardware y software. 31 Alternativa Heurística de Método de Centro de Masas para el Probiema de Ruteo de Vehículos 3.- Métode> propuesto de inicializ:ación para VRP 32 Alternativa Heurís;tica de Método de Centro de Masas para el Problema de Ruteo de Vehículos 3. Método propuesto de inicialización para VRP (Este material fue aceptado para su publicación el 24 de Agosto del 2013 como: "Alternativa Heurística MCM para el Problema de Ruteo de Vehículos", Revista INGE CUC, Universidad Je la Costa, Volumen 9 Nº2) 3.1. Método de Inicialización por Centros de Masa El método propuesto tiene un enfoque a la solución del VRP a través de la optimización de lo general a lo particular, referenciándose al principio mecánico de "centros de masas" el cual se define como el punto geométrico que dinámicamente se comporta como si en él estuviera aplicada la resultante de las fuerzas externas al si~.tema[51]. Normalmente se abrevia como centro de masas. A continuación se presenta el algoritmo de MCM para obtener una solución factible para un VRP simple, con un depósito, y un vehículo. Aunque aquí se presenta la versión más simple del algoritmo, es relativamente fácil de ajustar para una flota heterogénea de vehículos y con varios depósitos. y no necesito de ser codificado, por io que todos los cálculos en los ejemplos de aplicación fueron 1echos a mano. Lo cual ilustra la facilidad del método. Descripción El método se basa en el concepto físico donde en un sistema de masas puntuales[51] el centro de masa es el punto donde, a efectos inerciales, se supone está concentrada toda la masa del sistema. Al llevar esto a la resolución de un problema de VRP, se busca lograr una solución inicial optimizando de lo general a lo particular, esto es; se segmenta el problema en 4 cuadrantes y se calcula su centro de masa, donde las reglas del método nos permiten obtener una secuencia inicial, posteriormente, cada cuadrante se divide así mismo en 4 y se aplica el mismo método para los centros de masa de cada cuadrante, y así sucesivamente hasta que la división es tal que, en cada cuadrante sólo hay un destino del VRP[52]. 33 ho. Alternativa Heurblica ce r.,;i~todo de Címüo áe Masas ¡:.ara .,: Problema de Ruteo de Vehíc~los AA~-· 1e 1 ¡· ---, 1 Q • ,;;,¡ 1 =1:;- 1 G • 1 • • • o • • • 1 Figura 3. Ejemplo de la división iterativa en cuadrantes (,elaboíación propia) En la figura 3 se puede observar que, la secuencia de cada uno de los cuadrantes así como la división de los puntos que va a incluir, se realiza mediante el cálculo de centros de masa. Los pasos son los :siguientes Paso 1. Al conjunto de vértices por visitar X; = {(x1;, y2¡) i:=1,2, .. n} se subdivide en 4 cuadrantes arbitrarios V1, V2, V3, V4. X y Cuadrante 1: - , - 2 2 y Cuadrante 2: X . - 2 Cuadrante 3: X, Y X Cuadrante 4: -, Y 2 Paso 2. Si 4 cuadrantes son suficiente resolución para el problema, ir a 4) y proceda a calcular la secuencia de visitas a cada uno de los cuadrantes (cada uno puede contener varios vértices). (El proceso más exacto implica que quedará solo un punto por cada subdivisión, la ventaja del algoritmo es que le permite discriminar por grupo de puntos) Paso 3. Si requiere más cuadrantes (mayor resolución) sub-divida cada cuadrante, en tantos sub-cuadrantes V¡ cómo se requiera (i=·t, 2, ... m en tola~) Paso4. Etiquete con letras en orden alfabético (A, B, C y D) los 4 cuadrantes, empezando por aquel que contiene el punto inicial (y final) de la ruta y se siga la numeración en dirección contraria a las manecillas del reloj. (Esta nomenclatura no significa que será la secuencia de la inicialización final). 34 Alternativa Heurística de Método d~ Centro de Masas para el Problema de Ruteo de Vehículos El punto inicial-final: P1 ,N tiene coordenadas (x,'V): X Y X Y Sí x<=- y !p<=-; entonces el cuadrante: -, - será nombrado cuadrante A ,2 - 2 2 2 X y y Sí - <=x<=X y !p<=-; entonces el cuadrante: X, - será nombrado cuadrante A 2 2 2 X y Sí - <=x<=X y- <=!p<=Y; entonces el cuadrante: X, Y será nombrado cuadrante A 2 2 X Y X Sí x<=- y- <=!p<=Y; entonces el cuadrante: - , Y será nombrado cuadrante A 2 2 2 La secuencia continuará en dirección contraria a las manecillas del reloj. Sea B' el cuadrante adyacente sobre el eje Y candidato a nombrarse B Sea B" el cuadrante adyaGente sobre el eje X candidato a nombrarse B Entonces: Sí CMB'(X, Y)-CMA(X, Y)< CMB'(X, Y)-CMA(X, Y) entonces B' será nombrado cuadrante B Sí CMB'(X, Y)-CMA(X, Y)> CMB'(X, Y)-CMA(X, Y) entonces B" será nombrado cuadrante B Sí CMB'(X, Y)-CMA(X, Y) == CMB'(X, Y)-CMA(X, Y) entonces el cuadrante que se encuentre en dirección contraria a las manecillas del reloj será nombrado cuadrante B. El cuadrante C será el adyacente al cuadrante nombrado 8, y el cuadrante O será el cuadrante restante. Paso 5. Calcule el centro de masas de CM; (i=1, .. . , m) para cada cuadrante V¡, donde m es el número total de sub-cuadrantes. Utilice sólo los puntos que no se encuentren sobre las divisiones de los sub-cuadrantes V¡. X y Para el cuadrante - , - la posición del Centro de Masas CMa será: 2 2 (L~1 Xi) (Lf:1 Yi) X Y , Siempre que (x;< ·-, y;<-) xnQ ynQ 2 2 Para el cuadrante X, Y/2 la posición de/ Centro de Masas CMa será: 1 (Lf:1 Xi) (Lf:1 Yi) ·. X Y , Siempre que (- < X;, y;< - ) xnQ ynQ 2 2 Sí el cuadrante: X, Y la posición del Centro de Masas CMa será: 35 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos (L!1 J~i) (L!1 Yi) X Y , Siempre que ( - < X;, - < y;) xnQ ynQ 2 2 Sí el cuadrante: X/2, la posición del Centro de Masas CMa será: (Lf:1 Xi) (Lf:1 Yi) X Y --------""-- , Siempre que (x;< ~-, -<y;) xnQ ynQ 2 2 Si no hay vértices sobre las sub-divisiones vaya al Paso 8. Paso 6. Si hay puntos sobre las divisiones de los sub-cuadrantes, defina la pertenencia de estos vértices Xj a los sub-cuadrantes V¡ calculando las distancias dij rectilíneas del vértice Xj al CM; para los cuadrantes i que tengan su frontera sobre X¡. Asigne el punto X¡ al V¡ con la mínima distancia. Si hay empates asigne al Vi con menor dispersión interna y si el empate persiste asigne a cualquiera de ellos. Si el cuadrante i est~ vacío utiiice el centro geométrico del cuadrante en lugar del CM;. (Xi) [ X Y] , ·(Xi) [ X Y] , Sí - E X· < - y· < - O - E X· > - y· < - O Yi l 2 I l 2 Yi i 2 I i 2 (;:) E [ Xi > : , Yi Y] , (Xi) [ X Y] > - O - E X· < - y· > -2 Yi i 2 I l 2 entonces: Sí 1 [( CMs (X2 - xl)) + ( CM5 (Y2 - y¡) )]2 < 1 [( CMs+1 (X2 - x¡)) + ( CMs+i (Y2 - y¡) )J2 Entonces (X¡,y¡} pertenecerá al punto s, de lo contrario pertenecerá al punto s+1. Una vez íeasignados los puntos se procederá a recalcular los nuevos centros de masa para los cuadrantes usando todos los puntos que le fueron asignados a dicho cuadrante. 36 Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos Paso 7. Recalcule los centros de masa como se definió en el paso 5 CM; para i=1,2, .. , m, incluyendo en cada subco~junto i los puntos asignados en el Paso 6. Paso 8. lni_cie la secuencia de visita (ruta) en el punto inicial A con CM; (i=A) y conecte a Vi (i=A) con el Vk adyacente con el CMk más cercano, usando la distancia rectilínea entre los dos centros de masa. Los Vi adyacentes serán los que comparten más de un punto en su frontera (una arista de los sub-cuadrantes). A y k se consideran conectados (A-k) y k se elimina de la lista de puntos por conectar, k es el punto extremo de la trayectoria. n=2 n tiene incrementos iguales a n=n*2 Repetir desde SCY = 1 hasta n Repetir desde SCX = 1 hasta n (Lf:1 Xi) (Lf:1 Yi) El CMQileración= , xnQ ynQ Siempre que: ((SCX-l)X)< X·< ((SCX)X) ((SCY-l)Y)< . <((SCY)Y) 2n 1 2n ' 2n Yi 2n (SCX)X (SCY)Y Sí Xi = , Yi == se tomará la distancia al centroide más cercano de 2n 2n cualquiera de los subcuadrantes adyacentes y se volverá a calcular el centroide de dicho subcuadrante con el nuevo valor. Paso 9. Empezando una nueva conexión iniciando ahora en k CM; (i=k) y conecte a Vk con el vk· adyacente que tenga ·~I CMk' más cercano a CMk, usando la distancia rectilínea entre los dos centros de masas. A y k se consideran conectados (A-k-k') y ahora k' será el punto extremo de la trayectoria y se quita de la lista de vértices por conectar. Paso 10. Repita el Paso ~I ahora con k' como extremo y conectando al siguiente vértice hasta que termine con todos los m-1 vértices y tenga que regresar a A. 37 A_ AJWmativa Heu,ística de Mótodo ci• Cont<o de Masas p,"c< ei Prnble~a de Ruteo de Vehóculos Para comprobar el método, se resolvió el siguiente problema con sólo 16 puntos. Siguiendo el método se obtiene: Dado el problema mostrado en la figura 4: Figura 4. Ejemplo para demostrar el método. (Elaboración Propia) En este problema plantea el salir del punto 1, recorrer las 15 ciudades representadas por puntos y regresar al inicio recorriendo la menor distancia posible. Paso 1. Al conjunto de vértices por visitar X;= {(x1;, y2J i=1,2, .. n} s.e subdivide en 4 cuadrantes arbitrarios V1, V2, V3, V4. 38 ' Alternativa Heurística de Método de Centro de Masas para el Problema da Ruteo de Vehículos Figura 5. División en cuadrantes, primera iteración. [52] Paso 2. Si 4 cuadrantes es suficiente resolución para el problema, pase a 4) y proceda a calcular la secuencia de visitas a cada uno de los cuadrantes (cada uno puede contener varios vértices) . Paso 3. Si requiere más cuadrantes (mayor resolución) sub-divida cada cuadrante, en tantos sub-cuadrantes V¡ cómo se requiera (i=1, 2, ... m en total) Paso 4.- Etiquete con letras en orden alfabético (A, B, C y D) los 4 cuadrantes, empezando por aquel que contiene el punto inicial (y final) de la ruta y se siga la numeración en dirección contraria a las manecillas del reloj. (Esta nomenclatura no significa que será la secuencia de la inicialización final). 39 Alt8mMiVII Heuristlca de Método de Centro de M8sas para el Problema de Ruteo de Vehfculoe 2 e 14 Figura 6. Secuenciación de cuadrantes, denotando el punto inicial y final en el círculo rojo. (Elaboración Propia) Paso 5. Calcule el centro de masas de CM¡ (i=1, ... , m) para cada cuadrante V¡, donde m es el número total de sub-cuadrantes. Utilice sólo los puntos que no se encuentren sobre las divisiones de los sub-cuadrantes V¡. Si no hay vértices sobre las sub-<livisiones vaya a Paso 8. Punto 1 Punto 10 Punto 11 Punto 12 Media Punto 6 Punto 7 Punto 8 Media Cuadrante A 1 9 10 10 11 12 12 14 11.25 8.5 Cuadrante 8 A1t8matiYa Heurlstlca de Método de Centro de Masas pera el Problema de Ruteo de Vehlculos Cuadrante C Punto 3 4 2 Media 4 2 Cuadrante D Punto 2 9 4 Punto 14 14 4 Punto 15 12 4 Media 11.66 4 Tabla 2. Coordenadas de los puntos en el cuadrante A, B, C y D así como sus centros de masas (media). (Elaboración propia) Paso 6. Si hay puntos sobre las divisiones de los sutH:uadrantes, defina la pertenencia de estos vértices X; a los sutH:uadrantes Vi calculando las distancias d;¡ rectilíneas del vértice X; al CM; para los cuadrantes i que tengan su frontera sobre X;. Asigne el punto X; al Vi con la minima distancia. Si hay empates asigne al Vi con menor dispersióninterna y, sí el empate persiste asigne el punto al cuadrante que siga en la secuencia a cualquiera de ellos. Si el cuadrante i está vacio utilice el centro geométrico del cuadrante en lugar del CM;. 8 11 12 14 Figura . os que no se han 41 - Alt8matlva Heur1dca de IIModo de Centro de Masa para el Problema de Rutao de Vehicutos Finalmente los puntos quedan definidos de la siguiente manera: Cuadrante A Cuadrante B 1 9 10 11 12 4 5 6 7 8 Cuadrante C 3 Cuadrante D 2 13 14 15 16 Tabla 3.-Asignación de puntos a un cuadrante en particular (Elaboración propia) Paso 7. Recalcule los centros de masas CM¡ para i=1,2, .. , m, incluyendo en cada subconjunto i los puntos asignados en el Paso 6. Paso 8. Inicie la secuencia de visita (ruta) en el punto inicial A con CM¡ (i=A) y conecte a Vi (i=A) con el Vk adyacente con el CMk más cercano, usando la distancia rectillnea entre los dos centros de masa. Los Vi adyacentes serán los que comparten más de un punto en su frontera (una arista de los sub-cuadrantes). A y k se consideran conectados (A-k) y k se elimina de la lista de puntos por conectar, k es el punto extremo de la trayectoria. (A-D-C-8-A) 14 3 • Figura 7: Centros de masas para la secuencia, el centro de masas que esté más cercano al centro de masas de A será el siguiente en la secuencia. (Elaboración propia) Alternativa Heurística de Método de Centro de Masas para el Problema de Ruteo de Vehículos Repertir desde Paso 1 al 9 .- A su vez los cuadrantes de definidos se dividE:n quedando corno en la figura Se repiten las instrucciones del paso 1 al 4, comenzando con el cálculo del centro de masa de cada subcuadrante. Se enumeran los cuadrantes, para simplificar sólo se nume¡arán,aquellos que contengan puntos o la posibilidad de que un punto de sea asignado, por ejemplo los 2 cuadrantes adyacentes al punto 3: 84 A3 12 81 A2 C4 03 C1 C2 01 D2 Figura 8: Centros de masas para lo3 sub-cuadrantes definidos. [52] Paso 5 y 6.- Se asignan a un solo cuadrante los puntos que están en medio de 2, sólo se asignarán aquellos que hayan quedado entre 2 cuadrantes de la nueva división, por ejemplo el punto 16 que se definió para el cuadrante O, quedará en el cuadrante 01, por otro lado, el punto 15 deberá definirse, usando las mismas reglas de media aritmética y desviación estándar, entre el cuadrante 01 y el 02. 43 AltBmativa Heuriatica de Método de Centro de Masas para el Problema de Rutlto de Vehfcutoa 84 A3 12 81 A2 C4 D3 C1 3 C2 D1 Figura 9: Medición de la distancia de un punto no definido al Centro de Masas más cercano. (Elaboración propia) Paso 7. Recalculando los centros de masas CM; para i=1,2, .. , m, incluyendo en cada subconjunto i los puntos asignados en el Paso 6. Paso 8. Inicie la secuencia de visita (ruta) en el punto inicial A con CM; (i=A) y conecte a V¡ (i=A) con el Vk adyacente con el CMk más cercano, usando la distancia rectilinea entre los dos centros de masa. A1: 1,9, 10 81:4,5,6 C1:3 01: NA A2.: 12 82:7 C2: NA 02: NA A3: 11 E\,3: 8 C3: NA 03: 13,14,15 A4:NA 84: NA C4: NA 04: 2, 16 Tabla 4: Clasificación de destinos por su~uadrante Alternativa Heuristica de llilDdo dlt Centro de -- pma el Problema de Rutao de Vehlculoe Paso 8 (segunda iteración).- Se calcula la secuencia en base a la cercanía de los centros de masas y queda como sigue: A1-A4-A3-A2-D3-D2-D1-D4-C1-B1-B4-B3-B2-A1 B4 81 C4 C1 D2 Figura 1 O: Comparación de la distancia enbe centros de masas para definir la secuencia del sub-cuadrante Repetir desde el paso 1 al 9 (tercera iteración}.- Una vez más, se dividen en sub cuadrantes llegando a puntos individuales. 1144 1143 A34 A33 Figura 11: División en sub-cuadrantes con puntos individuales [52] Paso 8 y 9.- La secuencia final queda, en base a la secuencia anterior: 45 A 1-A4-A3-A2-03-02-D1-04-C1-81-84-83-82-A 1 Figura 12: rep.esc:11ación de la secuencia ópli1.a (aaboración propia) Fmamente, el orden de los puntos sigue la sealellcia de los aJadrantes definidos al igual que en los anteriores con la convención de iniciar con la esquina i1ferior izquierda de cada sub cuadrante, quedando la soluci6n propuesla de la siguiente fonna: F1gura10. Solución propuesta. [52] ... ,.._ ltlullllllca d9 MIS i1D d9 C..S.Vd9 ...._ pma el Pnlrl a d9 Rullo d9 v.nclculm 3.2. Las soluciones iniciales alaallDrias conba el método de "Centros de Masa" Para comparar la efectividad del método de inicialización propuesto co11ba las inicializaciones aleatorias se llevaron a cabo 40 corridas aleatol ias del problema anterior con 16 puntos para obtener una media y una desviación estándar de las distancias obtenidas, que permitiera g,aficar una dislri>uc:i6n normal y. posteriormente ver en qué punto de la distmución quedaba la distam de la solución propuesta: a lo que se obtuvo una álStribución normal con media mwsbal de: 128.8 y una desviación estándar muestral de 16.53. Gtaficalldo dicha disbi>uci6n utAn·-..do Minitab se obtuvo el l'esllllado mosbado en la figura 12: s , ... a rr • 1 ,.....,T .. ~ ·~ R.J2 i ....... a5ZZ .... DLm sm.. J6Jlt o Y.-.at :a31 Ul ~ -G.8l9N1 ::, --- OJm&l!J o.. • .. E ...... - a •o.- ... ;;:: ..... 01.9 ~ :11110..- 1JUII ...... -- Q) 911,C~..._. .. .._ ..... e ID.4t DU6 o 1 911,C........_.. ........ ~ Q1 i lllLDI JlUS "'O .. c-......,.. .. sm. ,.. .... : 77 7 ... o.n 2UI ~~~~ V1 1 .:j :9 ~ ~ -..,~--.,,~--.,,~._-,~--.-,~--.-,~---,---' ms S1111 ms ... ms ma IIID - En la figwa 12 pleCle apreciarse que es una disbi»uci6n normal usaldo la prueba de nonnaidad de Anderson-Oa•U:531 adicionando 1as dislancias de 1a solución por e1 mélodo de cenbos de masa que da una distancia de 62 y la solución obtenida por un prog1ana de oplii,Minoón de VRP llamado VRP Solver (VRP Solver v1.3. L.awrence V. Snyder. L..ehigh Universily. 2004) que ejecuta el algüiib,iu de Clarke-Wrighl(11) que arroja una distancia de 58 ~ .. .. ·~ •• i Alternativa Heurtstlca de Método de Centro ele Masas para el Problema de Ruteo de Vehículos se obtiene una distribución no normal donde los dos últimos puntos están a más de 3 desviaciones estándar de la media lo que haría casi imposible que esa solución se generara de manera aleatoria como se muestra en la figura 12. Además la solución por centro de masas está a sólo 0.24 desviaciones estándar de la solución óptima propuesta por el algoritmo de Clarke-Wright[11] lo que por sí misma la solución por centro de masas para un problema de 16 puntos podría considerarse una solución posible. Clarke- Wright Figura 12: Distribución estadística de soluciones. (Elaboración propia) • 48 Alternativa Heurfotica de Método de C.:intro de Masas par~ el Probluma de Ruteo do Vehículos 4.- Comparación del Método 49 Alternativa Heurística de Mttúdo 1:fo Centro de Masas para el Problem;1 1fo Rut~o de \hdiiculos 4. Comparación de~I l\t1étodo 4.1. Aplicación del método de "Centro de Masas" a un problema rnás complejo Se generaron de manera aieatoria 100 puntos: Etiqueta xlv 1 6 11 Etiqueta X y 34 95 15 ~~- ~-, ~queta X y I 67 f 71 92 I . 2 18 13 35 85 25 68 89 79 3 25 7 36 90 21 69 79 94 4 12 21 37 67 44 70 85 93 5 23 17 38 80 32 71 1 58 ,-- 6 15 25 39 84 31 72 3 58 7 1 ,40 -- 8 38 9 9 8 l 40 40 85 31 >--- 41 74 45 42 81 44 73 14 55 o-----f 74 6 66 75 n 54 ,___ ,-- 10 46 4 43 89 41 76 l8 58 11 17 35 44 89 48 77 25 53 ~- 12 13 39 45 97 47 78 11 69 13 48 5 46 54 59 79 7 74 14 45 15 47 51 65 80 24 60 15 32 28 48 66 52 81 23 62 16 40 23 49 53 70 82 10 78 >--- 17 34 32 so 62 62 83 32 59 ,- 18 47 29 51 61 71 84 20 71 19 50 30 52 50 87 85 10 87 20 36 45 53 53 89 86 3 95 21 44 41 54 80 63 87 33 67 22 47 46 55 67 81 88 35 68 23, 56 10 56 77 72 89 22 82 r-- 24 ,56 19 57 72 77 90 38 68 25 60 17 58 96 56 91 9 97 26 71 11 59 98 55 92 18 93 r- 2i' 69 15 60 61 93 93 47 65 --t-- 28
Compartir