UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

28
UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR PARA RESOLVER EL PROBLEMA TSP CON ZONAS DE TRÁNSITO RESTRINGIDO (TSPZTR). Presentado por: Cristian Mauricio Villamarin Villamil Dirigido por: Ciro Alberto Amaya Guio Para optar al título de Magister en Ingeniería Industrial Universidad de los Andes Facultad de Ingeniería Departamento de Ingeniería Industrial 2017

Transcript of UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

Page 1: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR PARA RESOLVER EL PROBLEMA

TSP CON ZONAS DE TRÁNSITO RESTRINGIDO (TSPZTR).

Presentadopor:CristianMauricioVillamarinVillamil

Dirigidopor:

CiroAlbertoAmayaGuio

ParaoptaraltítulodeMagisterenIngenieríaIndustrial

UniversidaddelosAndesFacultaddeIngeniería

DepartamentodeIngenieríaIndustrial2017

Page 2: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

A mi mamá Aracelly Villamil le dedico este proyecto por ser la persona que más me ha impulsado en los mas grandes retos de mi vida.

Page 3: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

TABLA DE CONTENIDOS 0. OBJETIVO...........................................................................................................................................................1

1. INTRODUCCIÓN.............................................................................................................................................12. DESCRIPCIÓN DEL PROBLEMA............................................................................................................3

3. MÉTODO DE SOLUCIÓN............................................................................................................................53.1. Fase constructiva........................................................................................................................................................5

3.1.1. Etapa 1..................................................................................................................................................................53.1.2. Etapa 2..................................................................................................................................................................63.1.3. Etapa 3..................................................................................................................................................................7

3.2. Fase de mejoramiento...............................................................................................................................................73.2.1. Cyclic Exchange Granular.............................................................................................................................73.2.2. K-opt granular (probabilístico).....................................................................................................................8

3.3. Parámetros del método de solución.....................................................................................................................94. RESULTADOS COMPUTACIONALES..............................................................................................10

4.1. Instancias...................................................................................................................................................................104.2. Eficiencia del método planteado........................................................................................................................11

4.2.1. Calidad de las soluciones............................................................................................................................114.3. Relevancia de los vecindarios empleados......................................................................................................13

4.3.1. Contribución de cada vecindario en fase de mejora...........................................................................134.3.2. Orden de ejecución de cada vecindario..................................................................................................14

4.4. Relevancia del proceso de intensificación dentro del método de solución.........................................144.5. Resultados generales sobre instancias comparativas..................................................................................154.6. Resultados instancias reales................................................................................................................................16

5. CONCLUSIONES Y TRABAJO A FUTURO.....................................................................................166. BIBLIOGRAFÍA.............................................................................................................................................17

7. ANEXOS...........................................................................................................................................................18

Page 4: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

INDICE DE FIGURAS

Figura 1. Grafo representativo del TSPZTR....................................................................................................3Figura 2. Representación gráfica de soluciones factibles............................................................................4Figura 3. Ejemplo vecindario "Cyclic Exchange"..........................................................................................8Figura 4. Ejemplo vecindario 2-opt probabilístico (granular)....................................................................8Figura 5. Desempeño del algoritmo sin el componente de intensificación.........................................14Figura 6. Vista Google Maps supermanzana San Martí............................................................................21Figura 7. Vista Google Maps supermanzana Nou Barris..........................................................................21Figura 8. Vista Google Maps supermanzana Sants Hostafrancs............................................................22Figura 9. Vista Google Maps supermanzana Gràcia..................................................................................22INDICE DE TABLAS

Tabla 1. Parámetros de creación de instancias aleatorias.........................................................................10Tabla 3. Análisis comparativo del tiempo de ejecución del algoritmo de solución.........................12Tabla 2. Desempeño comparativo del algoritmo de solución..................................................................12Tabla 4. Análisis comparativo de la relevancia en desempeño de cada vecindario.........................13Tabla 5. Resultados sobre instancias benchmark.........................................................................................15Tabla 6. Resultados sobre instancias reales...................................................................................................16Tabla 7. Geo coordenadas instancia real Cartagena...................................................................................23Tabla 8. Geo coordenadas instancia real Barcelona...................................................................................23Tabla 9. Análisis comparativo del orden de ejecución de la búsqueda local en los distintos

vecindarios.......................................................................................................................................................24 INDICE DE ANEXOS

Anexo A. Algoritmo GRASP Granular...........................................................................................................18Anexo B. Algortimo etapa 1 fase constructiva..............................................................................................18Anexo C. Algoritmo etapa 2 fase constructiva..............................................................................................19Anexo D. Algoritmo etapa 3 fase constructiva..............................................................................................19Anexo E. Algoritmo GRASP No granular.....................................................................................................20Anexo F. Vista Google Maps supermanzanas Barcelona..........................................................................21Anexo G. Geo-coordenadas instancias reales................................................................................................23Anexo H. Análisis comparativo del orden de ejecución de la búsqueda local en los distintos

vecindarios.......................................................................................................................................................24

Page 5: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

1

0. OBJETIVOS

El presente articulo académico tiene como objetivo introducir el problema TSPZTR (Traveling Salesman Problem con Zonas de Tránsito Restringidas) y propone un procedimiento GRASP granular como aproximación para resolverlo. Al acotar el tamaño de los vecindarios, el propósito del enfoque granular es potenciar la diversificación inherente al procedimiento GRASP, de tal forma que se incremente el número de arranques sucesivos y se converja con mayor velocidad a soluciones de mejor calidad sin incurrir en costos computacionales adicionales.

1. INTRODUCCIÓN

El problema del agente viajero TSP Traveling Salesman Problem consiste en encontrar la ruta que minimice la distancia total recorrida al visitar n ciudades partiendo desde cualquier ciudad y retornando a la misma de tal manera que ninguna ciudad sea visitada mas de una vez. De acuerdo con (Schrijver, 2005), los orígenes del problema no son claros y se remontan a los años 1800 cuando Hamilton y Kirkman lo definieron matemáticamente por primera vez. El problema ha sido ampliamente estudiado en el campo de la optimización combinatoria pues el problema pertenece al conjunto de problemas NP-completo lo cual implica que es NP-duro. Por este motivo es que la investigación sobre el mismo se ha desarrollado principalmente sobre métodos aproximados que produzcan soluciones de alta calidad en tiempo limitado. Del TSP surgieron generalizaciones como el VRP (Vehicle Routing Problem) donde se busca el diseño óptimo de rutas para una flota de vehículos. También surgieron variaciones derivadas de nuevas restricciones en la capacidad de los vehículos (CVRP), también restricciones sobre el tiempo en el que deben ser atendidos los clientes (VRPTW), y restricciones de capacidad y ventanas de tiempo CVRPTW o incluso restricciones donde la flota de vehículos es no homogénea (NHCVRPTW) (Kumar & Panneerselvam, 2012). La combinación de diferentes tipos de restricciones crean variaciones al VRP que en la academia se clasifican como problemas Rich VRP (Lahyani, Khemakhem, & Semet, 2015). Dentro del conjunto de problemas Rich VRP, (Chao, 2002) introdujo el TTRP (Truck and Trailer Routing Problem). Este consiste en encontrar el diseño óptimo de rutas para una flota no homogénea de vehículos 𝑚! y de remolques 𝑚! (𝑚! ⩾ 𝑚!) con capacidad limitada. La flota sirve para servir a dos tipos de clientes, aquellos que se encuentran en calles de difícil acceso y deben ser atendidos solo por el camión, y aquellos que pueden ser atendidos por un vehículo completo (camión + remolque). Para atender a clientes del primer tipo, el vehículo completo parquea sobre algún cliente del segundo tipo (“raíz”), desengancha el tráiler y desde ahí el camión realiza un sub tour para atenderlos. Similar al TTRP, el Swap Body VRP (SBVRP) fue propuesto por el EURO Working Group on Vehicle Routing and Logistics Optimization (Ve-RoLog) y el grupo PTV en la primera competencia VeroLog Solver Challenge (Heid,, Hasle, Geir, 2014). En este problema una flota homogénea de vehículos (camiones, semi remolques y remolques), partiendo desde un depósito sirven a un conjunto de clientes que tiene una demanda específica. Esta flota puede aumentar/disminuir su capacidad agregan-do/quitando remolques (“swap bodies”) dependiendo de la restricción de accesibilidad que tenga el cliente. Para agregar o quitar remolques existen pun-tos de intercambio “swap locations” donde el camión parquea y agrega o quita remolques. A diferencia del TTRP el SBVRP cuanta con puntos de parqueo fijos y adicionalmente busca minimizar el tiempo y la distancia total de recorrido. (Todosije-vić,

Page 6: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

2

Hanafi, Urošević, Jarboui, & Gendron, 2017) presentaron un planteamiento matemático del SBVRP y una aproximación Variable Neighborhood Search (VNS) para resolverlo. (Hoff & Løkketangen, 2007) introdujeron un problema Multi Depot TTRP en el que un vehículo completo tiene que servir la demanda de un conjunto de clientes accesible solo por el camión para un problema de colección de leche en Noruega. (Villegas, Prins, Prodhon, Medaglia, & Velasco, 2010) introdujeron el Single TTRP with Satellite Depots (STTRPSD) que resulta ser una versión mas formal del MDTTRP y que a diferencia de esté último no todos los depósitos satélite son usados dentro de la solución final.

Para resolver este tipo de problemas se han propuesto diversos enfoques de solución. (Chao, 2002) y (Scheuerer, 2006) sugirieron una Búsqueda Tabú y una Búsqueda Tabú constructiva respectivamente para resolver el TTRP. (Lin, Yu, & Lu, 2011) introdujeron un procedimiento eficiente de Simulated Annealing para resolver el TTRP con ventanas de tiempo. (Villegas et al., 2010) emplearon un método constructivo GRASP/VNS para resolver el STTRPSD y posteriormente (Villegas, Prins, Prodhon, Medaglia, & Velasco, 2011) emplearon un método GRASP/VNS con Path Relinking para resolver el TTRP. (Caramia & Guerriero, 2009) y (Batsyn & Ponomarenko, 2014) sugirieron un enfoque multi-arranque para resolver el problema HFTTRP, mientras que (Drexl, 2011) empleo un método Branch and Price sobre una formulación de programación entera para resolver el HFTTRPTW. (Gomez Rueda & Amaya Guio, 2017) introdujeron un problema similar al TTRP, donde a diferencia de éste, se cuenta con zonas de tránsito restringido (ZTR) definidas, una zona de tránsito no restringido (ZTNR) y nodos de parqueo definidos para acceder a cada ZTR. En la ZTNR la demanda debe servirse en nodos mientras que para las ZTR la demanda de servirse en arcos; una propuesta que puede interpretarse como la combinación del problema del agente viajero (TSP) y el problema del cartero rural (RSP) ya que no todos los arcos en las ZTR se consideran de visita obligatoria. El problema está definido sobre un grafo, los clientes ubicados en las ZTR son atendidos a pie y únicamente pueden ser accedidos desde los puntos de parqueo establecidos para tal fin. Aunque los puntos de parqueo no son de uso obligatorio, la solución al problema debe garantizar que al menos un parqueo sea usado en cada ZTR. Adicionalmente, no se contemplan las capacidades del vehículo ni de los operarios que hacen los recorridos a pie, y la función objetivo busca minimizar el tiempo de recorrido del vehículo. Ampliamente inspirado en el planteamiento (Gomez Rueda & Amaya Guio, 2017), el presente articulo introduce el TSPZTR, el cual se fundamenta sobre una pequeña modificación a éste. Dicha modificación consiste en que la demanda se sirva únicamente en nodos sin importar la zona de ubicación del cliente y en que se busca minimizar únicamente la distancia total recorrida. Esto pues la estructura del planteamiento de Gómez y Amaya se asimila más un problema de tipo Nodes, Edges and Arcs Routing Problem (NEARP) (Prins & Bouchenoua, 2005). Esta pequeña modificación conlleva a que el TSPZTR se torne similar los problemas Multi Depot VRP (MDVRP) (Crevier, Cordeau, & Laporte, 2007; Zhou, Baldacci, Vigo, & Wang, 2017) y al problema STTRPSD (Single Truck and Trailer Routing Problem with Satellite Depots) (Villegas et al., 2010). Esto en la medida que los puntos de parqueo se asemejarían a la función que cumplen los depósitos en MDVRP o a los satellite deposits en STTRPSD.

No obstante, el TSPZTR es distinto pues en la literatura no existen variaciones del MDVRP donde un conjunto de depósitos tengan restricción de atender únicamente a un subconjunto de clientes o a clientes específicos de una zona. Una situación similar ocurre con el STTRPSD, en este último la ruta de primer nivel solo recorre los satélites mas no clientes con demanda real que pueda ser atendida por el vehículo completo (camión + remolque). Así mismo, el STTRPSD tampoco cuenta con zonas de tránsito restringidas definidas previamente.

Page 7: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

3

En este sentido, el modelamiento a este problema tiene origen en diversos procesos de distribución que dan a lugar en ciudades que tienen zonas muy antiguas (centro históricos, zonas peatonalizadas, zonas semi-peatonalizadas, extensos condominios o células urbanas) con calles estrechas o restringidas donde el vehículo no puede transitar. En ese sentido, el proyecto de súper manzanas en Barcelona (Rueda, 2016) o zonas como El Centro Histórico en Cartagena se perfilan como el paradigma perfecto del problema a tratar.

Por otro lado, dentro de la organización urbana de muchas ciudades alrededor del mundo, las calles con alguna restricción de circulación generalmente se encuentran agrupadas en zonas que pueden delimitarse con relativa exactitud. Es decir, el tipo de calle es una consecuencia de la zona a la que pertenecen y no de algún efecto aleatorio sobre su ubicación. Y por esta razón, el TSPZTR resultaría no solamente mas realista sino mas conveniente que el TTRP o MDVRP para solucionar problemas en donde el vehículo tenga restricciones de circulación. Por ejemplo, contar con ZTR definidas a priori reduce la complejidad del espacio de búsqueda pues no se necesitaría probar soluciones con secuenciaciones de nodos que se encuentren en ZTR distintas o distantes. De igual forma, en TSPZTR los puntos de parqueo son definidos a priori, en cambio en TTRP cualquier cliente que se pueda atender con vehículo completo puede ser un punto potencial de parqueo lo cual incrementa la complejidad del espacio de búsqueda. Este artículo está organizado de la siguiente forma: La sección 2 presenta la descripción del TSPZTR; la sección 3 presenta método de solución; la sección 4 presenta el estudio computacional y la sección 5 presenta las conclusiones del trabajo.

2. DESCRIPCIÓN DEL PROBLEMA

El problema TSPZTR consiste en encontrar la ruta óptima a recorrer por un vehículo de capacidad ilimitada sobre un grafo G(N,A), que arranca el recorrido desde un depósito d, visita 𝑛 ∈ 𝑁 clientes (nodos) y regresa nuevamente al depósito. El vehículo circula por una ciudad que cuenta con 𝑧 ∈ 𝑍 zonas y dichas zonas se descomponen en una ZTNR y varias ZTR donde existen restricciones de movilidad y el vehículo no puede transitar, es decir 𝑍 = {𝑍𝑇𝑁𝑅 ∪ 𝑍𝑇𝑅} . Cada zona z está compuesta por un número determinado 𝑘! de clientes y por un número 𝑤! de puntos de parqueo donde el vehículo parquea y espera mientras se hace el recorrido a pie para atender a clientes de dicha zona. Esto ultimo implica que no todas las zonas están compuestas del mismo número de clientes ni del mismo número de puntos de parqueo. En la Figura 1 se ilustra un grafo representativo del problema donde se puede observar que la franja azul se representa la ZTNR y las franjas verdes representan las ZTR con uno y dos nodos (rojos) de parqueo para acceder a ellas. El depósito es representado por el rectángulo morado en la ZTNR.

Figura 1. Grafo representativo del TSPZTR.

Page 8: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

4

Los nodos de parqueo en cada ZTR se consideran clientes con demanda cero y aunque éstos no sean de obligatoria visita se debe garantizar que cada ZTR sea atendida desde al menos un punto de parqueo. En consecuencia, resolver el TSPZTR implica resolver tres sub problemas de optimización combinatoria: (i) determinar cuáles de puntos de parqueo usar en cada ZTR (ii) asignar o determinar qué clientes serán atendidos desde cada uno de los puntos de parqueo escogidos en cada ZTR, y (iii) construir las rutas de primer y segundo nivel que componen la solución. De esta forma, una solución al TSPZTR está compuesta entonces por una ruta de dos niveles. La ruta principal (ruta de primer nivel) que es realizada por el vehículo en la ZTNR y un conjunto de rutas de segundo nivel asociadas a determinados puntos de parqueo, que se realizan a pie en las ZTR. En la Figura 2 se ilustran dos ejemplos de soluciones factibles. En el ejemplo (a) la ruta de primer nivel (secuencia de flechas fucsia) recorre los clientes que pertenecen a la ZTNR (zona azul) y los puntos de parqueo para acceder a las ZTR. La ZTR número 1 cuenta con una ruta de segundo nivel (secuencia de flechas de color naranja) asociada al único nodo de parqueo de la zona, nodo el cual será el punto de partida y de llegada de esa ruta de segundo nivel. En la ZTR número 2 existen dos rutas de segundo nivel (secuencia de flechas azul clara y azul oscura) asociadas a cada una a los dos puntos de parqueo de la zona.

Figura 2. Representación gráfica de soluciones factibles. De igual forma, en el ejemplo (b) se ilustra otra posible solución factible. Sin embargo en este caso solamente uno de los dos parqueaderos con los que cuenta la ZTR 2 es utilizado. Cabe notar entonces que el espacio de soluciones del TSPZTR se caracteriza por la interseccion de los siguientes espacios combinatiorios:

1. Posibles combinaciones de puntos de parqueo a usar en la solución final. 2. Posibles asignaciones de clientes a cada sub tour en cada ZTR. 3. Posibles combinaciones (orden) en la cual se recorren los clientes en en el tour principal. 4. Posibles combinaciones (orden) en el que se recorre cada subtour los clientes de cada sub tour.

Page 9: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

5

3. MÉTODO DE SOLUCIÓN

En esta sección se presenta una aproximación GRASP granular (Feo & Resende, 1995) como método de solución al TSPZTR. Esta proposición es una pequeña modificación al procedimiento original cuyo enfoque sigue siendo constructivo, multi-arranque y voraz aleatorizado. En términos generales, el método consiste realizar un proceso iterativo sobre una fase constructiva (construcciones sucesivas de soluciones bajo una heurística voraz aleatorizada) y una fase de mejoramiento (búsqueda local sobre un vecindario granular), donde se van almacenando las mejores m soluciones encontradas. Al culminar el proceso iterativo, el método entra en una proceso de intensificación realizando una búsqueda local en un vecindario k-opt completo para cada una de soluciones encontradas en el proceso iterativo. La mejor solución encontrada en esta fase de intensificación será la solución final escogida. (Ver algoritmo en Anexo A) Un vecindario granulare tiene como propósito reducir drásticamente el tamaño de un vecindario eliminando movimientos que involucren elementos que probablemente no producirán soluciones de alta calidad, y esto permite que un determinado vecindario se explore más eficazmente que los vecindarios completos (Toth & Vigo, 2003). Este tipo de vecindario conduce a búsquedas menos miopes en las que solo se realizan movimientos con alto potencial. Para este caso, se busca que el vecindario granular potencie la diversificación inherente al método GRASP haciendo que éste se reinicie un mayor número de veces y converja mas rápido a soluciones de alta calidad. No obstante, emplear vecindarios granulares conlleva a sacrificar calidad en las soluciones como consecuencia de los vecindarios reducidos. Por este motivo, realizar la fase de intensificación sobre las mejores soluciones encontradas en la fase iterativa busca compensar la calidad sacrificada a consecuencia del vecindario granular. Es claro ahora que la fase iterativa filtra el espacio de soluciones de forma eficiente tal que se encuentren soluciones que tengan alto potencial de ser soluciones de alta calidad al aplicársele una búsqueda local sobre un vecindario completo o más grande.

3.1. Fase constructiva La fase constructiva del método de solución consta de 3 etapas:

• Etapa 1: Escoger cuáles puntos de parqueo serán usados en la solución para cada ZTR. • Etapa 2: Asignar los clientes en las ZTR a los puntos de parqueo escogidos en Fase 1. • Etapa 3: Construir las rutas de primer y segundo nivel.

3.1.1. Etapa 1 Esta etapa busca construir una combinación final de puntos de parqueo que se utilizaran en la solución final, es decir, escoger cuáles puntos de parqueos serán usados. Para esto es importante entender los siguientes conceptos:

• Combinación de parqueo individual: Representación binaria donde 1 indicará que un determinado punto de parqueo será utilizado mientras que 0 indicará lo contrario. Por ejemplo, la combinación individual de parqueo (0,1,1) significa que en una ZTR con 3 puntos de parqueo disponibles, únicamente se usará el segundo y tercer punto de parqueo mientras que el primero no.

Page 10: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

6

• Combinación de parqueo final: La unión de combinaciones de parqueo individuales. Una combinación final tendría una representación como por ejemplo 𝑐 = { 0,1 , 1,0,1 } . Dicha representación significa que en una instancia con 2 ZTR, en la primera ZTR se usa únicamente el segundo punto de parqueo mientras que en la segunda se usan únicamente el primer y tercer punto de parqueo.

Entendidos estos conceptos, esta etapa constructiva se lleva a cabo iterativamente por cada una de las ZTR agregando combinaciones de parqueo individuales hasta construir una combinación de parqueo final. En cada iteración, se cuenta con una lista de combinaciones candidatas (CL) donde sus elementos se derivan de las posibles combinaciones de puntos de parqueo individual en una ZTR. Se hace un ranking de los elementos de la CL de acuerdo a la utilización en exceso (U) de cada elemento y se crea la lista restringida de candidatos (RCL) con todas aquellas combinaciones que tengan una utilización menor o igual a cierto umbral de utilización en exceso (u). De la RCL se escoge aleatoriamente una combinación individual, se agrega a la combinación final y se continua con el proceso iterativo hasta recorrer todas las ZTR. Como se puede intuir, entre menor sea la utilización en exceso de una combinación más deseable será.

La utilización en exceso (U) hace las veces de función “greedy” dentro de esta etapa constructiva del GRASP. ¿Pero qué significa? Se le llama utilización en exceso porque mide el porcentaje de parqueos que se utilizan por encima de lo estrictamente necesario. Técnicamente se define de la siguiente forma:

𝑈 =𝑁𝑢𝑚.𝑑𝑒𝑁𝑜𝑑𝑜𝑠𝑃𝑎𝑟𝑞𝑢𝑒𝑜𝑈𝑡𝑖𝑙𝑖𝑧𝑎𝑑𝑜𝑠 − 1𝑇𝑜𝑡𝑎𝑙𝑁𝑜𝑑𝑜𝑠𝑃𝑎𝑟𝑞𝑢𝑒𝑜𝑒𝑛𝑙𝑎𝑍𝑇𝑅 − 1

∗ 100

Por ejemplo, si una ZTR cuenta con 11 puntos de parqueo y se usan únicamente 3 de estos, se tendría una utilización en exceso del 20%. De manera que esta función “greedy” va a tender a preferir las combinaciones individuales en cada ZTR que impliquen usar la menor cantidad de parqueaderos posibles. Adicionalmente, como un mecanismo de diversificación en las combinaciones generadas, el método tiene incorporado una memoria de combinaciones individuales y otra para combinaciones finales que restringen la elección de combinaciones previamente seleccionadas durante un número determinado de iteraciones del método general. Mientras la memoria de combinaciones individuales solo funciona sobre las combinaciones individuales de cada ZTR, la memoria de combinaciones finales funciona precisamente sobre combinaciones finales para evitar visitar combinaciones previamente exploradas. (Ver algoritmo en Anexo B)

En cuanto a la combinación final, es importante notar que junto con los clientes en la ZTNR dicha combinación representa los nodos de parqueo que harán parte de la ruta de primer nivel de la cual se compone una solución al TSPZTR.

3.1.2. Etapa 2

Esta etapa tiene como finalidad resolver el problema asignación que da lugar en cada ZTR. Allí los clientes deben ser asignados a los puntos de parqueo escogidos en la etapa 1 para ser atendidos desde allí. Es decir, aquí cada parqueo se comporta como una especie de “deposito” desde donde se atiende un segmento de los clientes ubicados en una ZTR determinada.

Este proceso de asignación se hace de forma voraz aleatorizada y se lleva a cabo iterativamente por cada ZTR y por cada cliente que pertenezca a dicha ZTR sobre la cual se esté iterando. En cada iteración, por cada cliente se construye una lista de candidatos CL que representan los puntos de parqueo desde los cuales

Page 11: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

7

puede ser atendido. Esta lista se ordena del elemento mas cercano al mas lejano con respecto al cliente y se toman los p elementos (parqueos) más cercanos para conformar la lista restringida de candidatos RCL. Luego el cliente se asignará al punto de parqueo que resulte escogido aleatoriamente de la RCL. El proceso se repite hasta que todos los clientes de todas las ZTR estén asignados (Ver algoritmo en Anexo C).

Es importante notar que el proceso de asignar clientes a puntos de parqueo tiene como resultado la formación de grupos o “clusters” alrededor de los puntos de parqueo. Estos grupos van contener los clientes que posteriormente conformarán el conjunto de rutas de segundo nivel de las cuales se compone una solución al TSPZTR.

3.1.3. Etapa 3

La última etapa consiste en generar las rutas de primer y segundo nivel a partir de la combinación final de parqueos resultante de la etapa 1 y de la asignación realizada en la etapa 2. Con la asignación sabemos los clientes que conformarán las rutas de segundo nivel y con los puntos de parqueo elegidos en etapa 1 podemos conocer el nodo de partida de cada ruta. Adicionalmente conociendo los nodos de parqueo escogidos también se puede saber los nodos adicionales que se deben recorrer en la ruta de primer nivel. El proceso constructivo de rutas se hace de forma iterativa sobre todas zonas de la ciudad y sobre todos los puntos de parqueo escogidos. Para cada ruta (de primer y segundo nivel) la lista de candidatos CL se compone de todos los clientes pendientes por asignar a dicha ruta. Luego se ordena la CL de acuerdo a la distancia entre cada elemento y el último nodo agregado a la ruta, y paso seguido se forma una lista restringida de candidatos RCL tal que 𝑅𝐶𝐿 ← 𝑒 ∈ 𝐶𝐿 𝑐 𝑒 ≤ 𝑐!"# + 𝛼 𝑐!"# − 𝑐!"# , donde 𝑐(𝑒) es el valor de la heurística del vecino mas cercano de un elemento 𝑒 ∈ 𝐶𝐿 con respecto al último nodo agregado a la ruta. 𝛼 es el parámetro que dictamina qué tan diversa es la RCL. De la RCL escojo aleatoriamente el candidato y lo agrego a la ruta. El proceso se repite hasta conformar todas las rutas de primer y segundo nivel (Ver algoritmo en Anexo D).

3.2. Fase de mejoramiento La fase de mejoramiento consiste en llevar a cabo de forma secuencial la búsqueda local granular sobre los vecindarios:

• intercambio cíclico o “cyclic exchange” (Thomson & Orlin, 1989) • k-opt.

El primero vecindario tiene como finalidad explorar el espacio de búsqueda que se deriva de los posibles intercambios entre clientes de rutas de segundo nivel, y el segundo mejorar las rutas de primer y segundo nivel como tal.

3.2.1. Cyclic Exchange Granular

Este vecindario está pensado para emplearse entre rutas de segundo nivel de una misma ZTR cuyo objetivo principal es el intercambio de dos clientes entre las mismas. Dentro del proceso de mejoramiento, la búsqueda local sobre este vecindario se hace iterativamente por cada una de las ZTR.

Técnicamente este vecindario se deriva de todas las posibles formas de transferir elementos únicos entre k subconjuntos de un conjunto grande S, donde k varía de 1 a K (número máximo de subconjuntos). Por ejemplo, sea el conjunto de subconjuntos 𝑆 = 𝑆!, 𝑆!, 𝑆!, 𝑆! , entonces el intercambio cíclico = 𝑎! − 𝑎! −

Page 12: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

8

𝑎! − 𝑎! − 𝑎! significa que el elemento 𝑎! va 𝑆!, 𝑎! va a 𝑆!, 𝑎! va a 𝑆! y 𝑎! va a 𝑆!. Para el caso del TSPZTR el conjunto S será el conjunto de rutas de segundo nivel de una ZTR.

Este es un vecindario de gran tamaño, es de tamaño exponencial y recorrerlo es computacionalmente muy costoso, pues es del orden de 𝐾! 𝑛/𝑘 ! =Ω(𝑛!) , donde K es el número de subconjuntos y n es el numero total de elementos (Altner, Ahuja, Ergun, & Orlin, 2014). Por lo tanto, en esta ocasión su implementación se lleva a cabo sobre un número reducido (granular) de clientes h que se encuentren cercanos entre ellos pero que al mismo tiempo pertenezcan a distintas rutas. Para obtener el conjunto de clientes mas cercanos entre si, dado que el problema general está planteado sobre un grafo, se empleó la herramienta estadística MDS (Multi-Dimensional Scaling) para que, basado en la matriz de distancias entre clientes, este procedimiento le otorgue unas coordenadas sobre un plano cartesiano a cada nodo. Con dichas coordenadas se calcula el punto medio entre clientes de dos o mas subconjuntos y posteriormente se toman los h elementos mas cercanos a este punto medio.

3.2.2. K-opt granular (probabilístico) Es el vecindario resultante de eliminar k arcos de una ruta y reconectarla de las demás formas posibles de haciendo que la nueva distancia del recorrido sea más corta. El vecindario k-opt granular funciona de manera casi igual a un vecindario completo k-opt. Su diferencia radica en que algunas conexiones y reconexiones se realizan solo con cierta probabilidad, lo cual conlleva a reducir el tamaño del vecindario. Esta propuesta está principalmente motivada sobre el hecho de que menos del 1% de las reconexiones que se hacen en un vecindario k-opt completo conducen a mejorar la distancia recorrida. Entonces bajo este precepto, la filosofía del k-opt granular consiste en desconectar y reconectar nodos que tengan la mejor probabilidad de mejorar la distancia total de la ruta.

En ese orden de ideas, el k-opt probabilístico determina si hacer un movimiento de acuerdo a una función de probabilidad y en este caso se escogió la distribución exponencial para hacer las veces de dicha función. Esta función tomará valores dependiendo exclusivamente de la distancia entre los nodos que se quieran reconectar, pero la pregunta es ¿cómo se determina que un par de nodos están lejos o cerca? Para esto, se deben re-escalar las distancias entre los nodos a reconectar a la escala o rango que tenga la función de probabilidad.

Figura 3. Ejemplo vecindario "Cyclic Exchange" Ejemplo movimiento “cyclic exchange” con 3 subconjuntos de 3 elementos cada uno.

Figura 4. Ejemplo vecindario 2-opt probabilístico (granular)

Page 13: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

9

En la Figura 5 se presentan 2 ejemplos de dos posibles movimientos 2-opt granulares asumiendo una distribución exponencial (𝜆 = 1) a partir de una ruta inicial y una matriz de distancias cuyo rango es de [5.5, 32.2]. En el ejemplo a, se desea intercambiar los nodos 𝑖 = 4 y 𝑗 = 4. La distancia entre ellos es de 7.2 y al re escalarla la distancia ajustada queda en 𝑑!"# = 0.25. De esta forma la búsqueda local realizará este intercambio con una probabilidad del 77.5%, probabilidad que resulta ser alta por la cercanía entre ambos nodos. Caso contrario sucede en el ejemplo b donde los nodos se encuentran mas retirados entre si y la probabilidad de realizar dicho intercambio se reduce a solo 4.2%.

3.3. Parámetros del método de solución

A continuación se presenta una descripción de los parámetros que componen al método de solución: m: número de soluciones que guarda el método de solución U: umbral del porcentaje de utilización en exceso (etapa 1) i: tamaño de la memoria de combinaciones individuales (etapa 1) c: tamaño de la memoria de combinaciones colectiva (etapa 1) p: tamaño de la lista RCL (etapa 2) 𝛼: grado de voracidad o aleatoriedad en la construcción de rutas (etapa 3) ℎ: número de nodos a intercambiar por ruta (vecindario “cyclic exchange”)

𝜆: parámetro de la distribución exponencial (vecindario k-opt)

Page 14: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

10

4. RESULTADOS COMPUTACIONALES

Los resultados computaciones de este trabajo tienen como objetivo mostrar:

1. La eficiencia del método planteado. 2. La relevancia de los vecindarios empleados. 3. La relevancia del proceso de intensificación dentro del método de solución. 4. El desempeño relativo del método de solución vs. otros métodos de solución empleados para

solucionar problemas similares. En la sección 4.1 se empieza presentando la caracterización de las instancias empleadas en los resultados computacionales. La sección 4.2 presenta un análisis de eficiencia del método de solución mediante un análisis que se basa en la comparación del rendimiento del método usando y no usando vecindarios granulares. La sección 4.3 presenta análisis sobre la relevancia que tienen los distintos vecindarios dentro del método de solución. La sección 4.4 presenta un análisis de la relevancia del proceso de intensificación dentro del método de solución. La sección 4.5 presenta un análisis comparativo del método de solución vs. otros métodos de solución de problemas similares y la sección 4.6 presenta los resultados sobre un conjunto de instancias reales del TSPZTR. Los algoritmos que dan lugar a los resultados computacionales se codificaron en Python 12.7.12 y se ejecutaron en un computador con procesador Intel (R) Core i7-3770 CPU a 3.40 GHz con 64 GB de memoria RAM con sistema operativo Ubuntu 16.04.2 Linux. Los parámetros del método de solución fueron calibrados de forma experimental variando un parámetro a la vez sobre un conjunto de instancias aleatorias. Los mejores valores hallados para los parámetros fueron: 𝑚 = 10 , 𝑈 = 35% , 𝑖 = 4 , 𝑐 = 15 , 𝑝 = 2 , 𝛼 = 0.1, ℎ = 8, 𝜆 = 0.5.

4.1. Instancias Instancias de Prueba Con el fin de evaluar y entrenar el método de solución se generaron 30 instancias aleatorias variando múltiples aspectos que caracterizan una instancia del problema. Entre dichos aspectos están el número de nodos en ZTNR, número de nodos en ZTR y la distancia entre arcos en ZTNR así como también en las ZTR. En la tabla 1 podemos observar los valores mínimo y máximo de cada aspecto con los que se generaron estas instancias. Instancias Benchmark Ya que el TSPZTR es un problema nuevo sobre el cual no hay soluciones publicadas, se propone probar el método de solución sobre las instancias publicadas por (Cordeau, Gendreau, & Laporte, 1997) (disponibles en http://neumannhec.ca/chairedistributique/data/mdvrp/) del problema MDVRP. Los resultados obtenidos serán comparados contra los mejores resultados conocidos de cada instancia. Instancias Reales

Tabla 1. Parámetros de creación de instancias aleatorias.

Page 15: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

11

Con el fin de promover trabajos investigativos futuros sobre el TSPZTR, aquí se propone un conjunto de 2 instancias reales las cuales cuyos datos de distancia fueron tomados de Google Maps. Estas instancias son: Cartagena: Instancia que cuenta con un total de 58 nodos los cuales se dividen en 29 nodos para la ZTNR y 29 nodos para una única ZTR (centro histórico de Cartagena de Indias). Esta instancia se ajusta muy bien el problema pues el centro histórico de Cartagena se caracteriza por tener calles muy angostas y de difícil acceso donde vehicular. Barcelona: Instancia que se sustenta en la planeación urbana de la ciudad de Barcelona, donde la organización se base en células urbanas, llamadas súper manzanas. En dichas células urbanas se reduce al mínimo el tráfico motorizado y el aparcamiento de vehículos en superficie. Allí se da la máxima preferencia a los peatones en el espacio público. Esta instancia cuenta con 85 nodos en total, de los cuales 20 pertenecen a ZTNR y el resto a ZTR. La instancia cuenta con las siguientes supermanzanas:

• San Martí: Ubicada en el localidad de Poblenou y esta delimitada por las calles de Bilbao, Pallars, Llacuna, Tànger y la avenida Diagonal

• Nou Barris: Ubicada en el barrio de la Prosperitat y está delimitada por la Vía Julia, la avenida Meridiana, el paseo Valldaura y la Via Favència.

• Sants y Hostafrancs: Ubicada en el distrito de Sants-Montjuïc y está delimitada por las calles Carrer De la Creu Coberta, Carrer Tarragona y Carrer de Sants.

• Gràcia: Ubicada en el barrio del Camp d’en Grassot y Gràcia Nova y está delimitada por las calles Bailén al oeste, Rosselló al sur, las Camelias al norte y por la calle Cerdeña al este.

En el Anexo F se puede apreciar una ilustración gráfica de estas instancias y en el Anexo G se brinda la información de la ubicación geo-localización (latitud y longitud) de los nodos de cada instancia. Quien desee probar algún método de solución sobre estas instancias puede obtener la matriz de distancias usando el Api de Google Maps con las coordenadas suministradas.

4.2. Eficiencia del método planteado

Esta sección tiene como objetivo mostrar la eficiencia del método de solución en cuanto a dos aspectos: (i) calidad en las soluciones y (ii) tiempo de ejecución. Para dicho objetivo a continuación se presenta un análisis que se basa en la comparación de dos versiones del método propuesto: la versión granular original (GRASP/G) y otra versión no granular (GRASP/NG) cuyo algoritmo es muy similar (ver en el Anexo E).

4.2.1. Calidad de las soluciones Para observar la calidad de las soluciones generadas se hicieron 10 corridas por instancia de prueba del método propuesto en sus dos versiones (Granular y No Granular). Los resultados de dicha corrida se encuentran resumidos en la Tabla 2. En la columna a se presenta el tamaño de cada instancia y en la columna b se presenta la mejor solución inicial (fase constructiva) encontrada por cualquiera de las dos versiones. Las columnas c, d y e registran el mejor costo, el costo promedio y peor costo respectivamente de la versión granular. Por el contrario, las columnas f, g y h registran el mejor costo, el costo promedio y peor costo pero de la versión no granular. Las columnas i y j representa el rendimiento o porcentaje de mejora que ambas versiones logran sobre el costo inicial. Y finalmente la columna k representa la brecha en puntos porcentuales de ambas versiones.

Page 16: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

12

En cuanto a rendimiento, ambas versiones están muy parejas pues el 50% de las veces la versión no Granular logró obtener el mejor resultado mientras que la versión Granular lo hizo el 49% de las veces. La brecha de rendimiento (columna k) entre ambas versiones es muy baja 0.58%. El coeficiente de variación promedio de la versión granular es del 1.20% mientras que la versión no granular es del 0.98%. No obstante, cuando la versión granular es superior, la brecha es de 0.73% mientras que en el caso contrario, cuando la versión no granular es superior, la brecha es de -0.49%. Esto quiere decir que cuando la versión granular supera a su versión contraria lo hace por un mayor margen que cuando ésta es superada. Tiempo de ejecución Para evaluar el tiempo de ejecución del método de solución se tomó el tiempo por instancia que le toma al método hacer 50 llamadas a la función de evaluación. Este análisis se hizo tanto para la versión granular como la no granular. En la Tabla 3 podemos observar los resultados discriminados por instancia de prueba y el tiempo en segundos que le tardó a cada versión del método. Como

Tabla 3. Desempeño comparativo del algoritmo de solución.

Tabla 2. Análisis comparativo del tiempo de ejecución del algoritmo de solución.

Page 17: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

13

se puede observar la versión granular es considerablemente mucho más rápida que la versión no granular. Esta diferencia de velocidades varía con el tamaño de cada instancia ya que para instancias pequeñas como la I1, I4 o I6 el tiempo que le tarda a la versión no granular es aproximadamente 2 veces mayor que el tiempo que le tarda a la versión granular. Esta diferencia se acentúa mas en la medida que el tamaño de la instancia va creciendo. Por ejemplo para instancias como la I25 o I26 que cuentan con mas de 700 nodos, a la versión no granular le toma casi 45 veces el tiempo que le tarda a la versión granular para hacer 50 llamadas a la función de evaluación. Por lo tanto, se puede afirmar que la versión granular es altamente eficaz en términos de velocidad.

4.3. Relevancia de los vecindarios empleados

4.3.1. Contribución de cada vecindario en fase de mejora A continuación se presenta un análisis de la relevancia de cada uno de los vecindarios dentro del método de solución. El análisis consta de observar la contribución que la búsqueda local sobre cada vecindario aporta al mejoramiento de una solución. Por ejemplo, consideremos una iteración particular del método de solución y supongamos que al final de la fase constructiva el costo inicial fue de 100 unidades. Posteriormente se aplica la búsquela local sobre el vecindario cyclic exchange y se reduce el costo de la

solución en 20 unidades quedando así en 80 unidades. Paso seguido, al aplicarse la búsquela local sobre el vecindario k-opt el costo se reduce otras 15 unidades, quedando ahora en 65 unidades. En general, el costo de la solución se redujo 35 unidades y 20 de ellas (57.14%) fueron gracias a movimientos sobre el vecindario cyclic exchange y las restantes 15 unidades (42.86%) a movimientos sobre el vecindario k-opt. De esta forma se puede afirmar que el primer vecindario es responsable del 57.14% de lo que se lograr mejorar una solución en la fase de mejoramiento mientras que el segundo vecindario lo hace en (42.86%). La Tabla 4 desglosa este resultado por cada instancia del set de instancias de prueba. Dicho análisis se deriva del resultado promedio de la mejora obtenida en 10 corridas por instancia de ambos versiones del método de solución. La contribución de cada vecindario a la fase de mejoramiento es bastante equilibrada lo cual es un aspecto positivo. En promedio la búsqueda local sobre el vecindario cyclic exchange es responsable de 43.63% de lo que se logra mejorar una solución, mientras que sobre el k-opt es responsable del 56.37% restante. No obstante, aunque en promedio

Tabla 4. Análisis comparativo de la relevancia en desempeño de cada vecindario.

Page 18: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

14

estos porcentajes estén equilibrados, para ciertas instancias como las I4, I6, I20 no logra ser el caso. Este tipo de análisis es de gran utilidad pues permite ver cuales son los vecindarios mas importantes del método de solución y en ese sentido es de gran importancia puesto que puede ayudar a determinar los recursos computacionales que se le asignan a la búsqueda sobre un vecindario u otro. Muchas publicaciones académicas proponen en ocasiones hasta decenas de vecindarios pero muy pocos se detienen a analizar el impacto que cada uno tiene dentro de la fase de mejoramiento de una metahuerística. Posiblemente sería una buena estrategia asignar la mayor parte de los recursos computacionales sobre los vecindarios que más contribuyan a la fase de mejoramiento.

4.3.2. Orden de ejecución de cada vecindario En este apartado se expone brevemente el porqué el método de solución realiza primero una búsqueda local sobre el vecindario cyclic exchange granular y posteriormente sobre el k-opt granular. ¿Por qué en ese orden? ¿qué pasaría si se corriera en orden contrario? Dicho orden se determinó a raíz de un proceso experimental con 10 corridas por instancia del método de solución sobre el conjunto de instancias de prueba. Los resultados indicaron que cuando se realizaba primero la búsqueda local sobre el cyclic exchange granular y luego sobre el k-opt granular , en promedio se lograba una mejor solución el 66% de las veces. Por lo tanto, se consideró que este orden era consistentemente más efectivo que la configuración alternativa y por eso la fase de mejoramiento quedó implementada de esa forma. Ver resultados Anexo H.

4.4. Relevancia del proceso de intensificación dentro del método de solución Aquí se presenta un análisis de la relevancia o incidencia del componente de intensificación dentro del método de solución. Para dicho fin se realizaron 10 corridas por instancia de prueba con y sin el proceso de intensificación incorporado en el método de solución. Estos resultados se compararon observando la brecha en puntos porcentuales entre ambos resultados (calidad de la solución) y así determinar una relevancia cuantitativa del proceso de intensificación. A continuación se presentan los resultados:

La Figura 5 muestra el comportamiento promedio de dicha brecha entre los resultados con y sin el proceso de intensificación. En general se puede observar que todos los casos la brecha es positiva, es decir, el procedimiento de intensificación si incide en el rendimiento del método. Para instancias pequeñas como I1, I2, I3, I4 la brecha promedio es baja (entre el 0-2%)), para instancias medianas es de (3-4%) y para instancias grandes es de (4-7%). Este resultado permite afirmar que entre mayor tamaño tenga la instancia, mayor es la incidencia del proceso de intensificación. Por

otro lado, se puede afirmar entonces que este procedimiento de intensificación es determinante en cerrar la brecha que se produce naturalmente por los vecindarios granulares en la fase de mejoramiento. Adicionalmente, aunque el proceso de diversificación (búsqueda local granular) tenga una brecha de rendimiento sin el proceso de intensificación, se puede afirmar que el proceso de diversificación es

Figura 5. Desempeño del algoritmo sin el componente de intensificación

Page 19: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

15

altamente efectivo pues las soluciones que encuentra son candidatas de excelente calidad para que después al aplicar el proceso de intensificación se logre alcanzar resultados muy competitivos.

4.5. Resultados generales sobre instancias comparativas En esta sección se presentan los resultados comparativos del método de solución vs otros métodos de solución. Ya que el TSPZTR es un problema nuevo y no existe un método publicado contra el cual compararse, el método de solución se probó sobre las instancias publicadas por (Cordeau et al., 1997) del problema MDVRP. Para dicho fin, al método de solución se le realizaron ligeros cambios para poder adaptarlos a esta estructura. Dentro de esos cambios se modificó un poco la etapa 1 de la fase de construcción haciendo un procedimiento básico de “clusterización” para que el método escogiera de forma aleatoria unas “zonas de tránsito restringidas” y que a partir de ahí se empezara a ejecutar el método de forma natural. Adicionalmente, como el método propuesto no tiene en cuenta las capacidades del camión simplemente se agregó una instrucción para que las soluciones que violaran las restricciones de capacidad de al menos un camión no fueran tenidas en cuenta. A continuación se muestra un resumen de los resultados:

En cuanto a los resultados, de la Tabla 5 se puede observar que el mejor procedimiento es el ALNS (Adaptive Large Neighborhood Search) ya que es el que más logra acercarse a las mejores soluciones encontradas y es el que mas veces alcanza la mejor solución conocida (9 de las 11 instancias). Infortunadamente, el método aquí propuesto no logra un buen desempeño pues en promedio se desvía alrededor del 6% de los resultados del ALNS. No obstante, el resultado no es tan desalentador al compararse con el método GRASP/VNS de (Villegas et al., 2010) pues este también se desvía considerablemente del rendimiento del ALNS (5.04% en promedio). Esto se da en razón a que fue un método diseñado para resolver el problema STTRPSTD no un MDVRP. Al que en este caso, el GRASP/VNS fue a puesto a prueba sobre este set de instancias ya que el autor no contaba con resultados comparables y el MDVRP era el problema que mas se le asemejaba. No obstante, los resultados del método planteado se pueden considerar satisfactorios porque el STTRPSD podría considerarse en cierta medida un caso especial del TSPZTR. Y en últimas, ya que el STTRPSD

Tabla 5. Resultados sobre instancias benchmark.

d = Mejor costo conocido para la instancia, tomado de (Pisinger & Ropke, 2007) e = Mejor costo encontrado por el procedimiento Adaptive Large Neighborhood Search (ALNS) (Pisinger & Ropke, 2007) f = Mejor costo encontrado por el procedimiento GRASP/VNS originalmente ideado para el problema STTRPSD (Villegas et al., 2010) (Pisinger & Ropke, 2007) g= Mejor costo encontrado por el GRASP Granular aquí propuesto.

Page 20: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

16

guarda mayor similitud con el TSPZTR, se puede considerar que el resultado obtenido por el GRASP Granular es satisfactorio y competitivo frente a planteamientos similares pues la desviación entre ambos es de solo 0.76%.

4.6. Resultados instancias reales Con el fin de promover futuros trabajos investigativos a continuación se presentan los resultados del método sobre el conjunto de instancias reales:

5. CONCLUSIONES Y TRABAJO A FUTURO

En este trabajo se presentó el TSPZTR, una generalización del TSP que surge de procesos de distribución reales donde se tiene que acceder a zonas de tránsito restringido. Para resolverlo, se propuso un procedimiento GRASP Granular que logró mostrar fuertes eficiencias en tiempo de ejecución así como lo demostraron los resultados de los experimentos computacionales sobre un conjunto de 30 instancias aleatorias. Finalmente, cuando se puso a prueba el método con instancias del MDVRP, el método propuesto no fue tan fuerte como el planteamiento de (Pisinger & Ropke, 2007) más sin embargo si logró ser competitivo frente al planteamiento GRASP/VNS de (Villegas et al., 2010) que está diseñado para resolver un problema mucho mas afín al TSPZTR. El trabajo a futuro sobre este problema debe estar orientado a resolverlo mediante otros enfoques metaheurísticos y a realizar nuevos planteamientos del problema con otras restricciones como vehículos con capacidad, ventanas de tiempo y flotas no homogéneas entre otras.

Tabla 6. Resultados sobre instancias reales.

Page 21: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

17

6. BIBLIOGRAFÍA

Altner, D. S., Ahuja, R. K., Ergun, Ö., & Orlin, J. B. (2014). Very Large-Scale neighborhood search. Search Methodologies:

Introductory Tutorials in Optimization and Decision Support Techniques, Second Edition, 339–368. https://doi.org/10.1007/978-1-4614-6940-7_13

Batsyn, M., & Ponomarenko, A. (2014). Heuristic for a real-life truck and trailer routing problem. Procedia Computer Science, 31(Itqm), 778–792. https://doi.org/10.1016/j.procs.2014.05.328

Caramia, M., & Guerriero, F. (2009). A heuristic approach for the truck and trailer routing problem. Journal of the Operational Research Society, 61(7), 1168–1180. https://doi.org/10.1057/jors.2009.59

Chao, I. M. (2002). A tabu search method for the truck and trailer routing problem. Computers and Operations Research, 29(1), 33–51. https://doi.org/10.1016/S0305-0548(00)00056-3

Cordeau, J.-F., Gendreau, M., & Laporte, G. (1997). A tabu search heuristic for periodic and multi-depot vehicle routing problems. Networks, 30(2), 105–119. https://doi.org/10.1002/(SICI)1097-0037(199709)30:2<105::AID-NET5>3.0.CO;2-G

Crevier, B., Cordeau, J. F., & Laporte, G. (2007). The multi-depot vehicle routing problem with inter-depot routes. European Journal of Operational Research, 176(2), 756–773. https://doi.org/10.1016/j.ejor.2005.08.015

Drexl, M. (2011). Branch-and-price and heuristic column generation for the generalized truck-and-trailer routing problem. Revista de Metodos Cuantitativos Para La Economia Y La Empresa, 12(1), 5–38.

Feo, T. A., & Resende, M. G. C. (1995). Greedy Randomized Adaptive Search Procedures. Journal of Global Optimization, 6(2), 109–133. https://doi.org/10.1007/BF01096763

Gomez Rueda, L. O., & Amaya Guio, C. (2017). Ruteo de vehículos para distribución urbana considerando sectores con acceso vehicular. II Congreso Colombiano de Investigación Operativa ASOCIO. Medellín.

Heid,, Hasle, Geir, V. D. (2014). VeRoLog Solver Challenge 2014. Retrieved December 2, 2017, from http://benchmark.gent.cs.kuleuven.be/sbvrp/en/problem/

Hoff, A., & Løkketangen, A. (2007). A tabu search approach for milk collection in western Norway using trucks and trailers. TRISTAN VI: The Sixth Triennial Symposium on Transportation Analysis, (1989), 1–6.

Kumar, S. N., & Panneerselvam, R. (2012). A Survey on the Vehicle Routing Problem and Its Variants. Intelligent Information Management, 4(3), 66–74. https://doi.org/10.4236/iim.2012.43010

Lahyani, R., Khemakhem, M., & Semet, F. (2015). Rich vehicle routing problems: From a taxonomy to a definition. European Journal of Operational Research. https://doi.org/10.1016/j.ejor.2014.07.048

Lin, S. W., Yu, V. F., & Lu, C. C. (2011). A simulated annealing heuristic for the truck and trailer routing problem with time windows. Expert Systems with Applications, 38(12), 15244–15252. https://doi.org/10.1016/j.eswa.2011.05.075

Pisinger, D., & Ropke, S. (2007). A general heuristic for vehicle routing problems. Computers and Operations Research, 34(8), 2403–2435. https://doi.org/10.1016/j.cor.2005.09.012

Prins, C., & Bouchenoua, S. (2005). A memetic algorithm solving the VRP, the CARP, and more general routing problems with nodes, edges and arcs. Recent Advances in Memetic Algorithms, 65–85. https://doi.org/10.1007/3-540-32363-5_4

Rueda, S. (2016). Agència d’Ecologia Urbana de Barcelona. Scheuerer, S. (2006). A tabu search heuristic for the truck and trailer routing problem. Computers and Operations Research,

33(4), 894–909. https://doi.org/10.1016/j.cor.2004.08.002 Schrijver, A. (2005). On the History of Combinatorial Optimization. Handbooks in Operations Research and Management

Science: Discrete Optimization, 12(Till 1960), 1–57. Thomson, P., & Orlin, J. (1989). The Theory of Cyclic Transfers. Cambridge. Todosijević, R., Hanafi, S., Urošević, D., Jarboui, B., & Gendron, B. (2017). A general variable neighborhood search for the

swap-body vehicle routing problem. Computers & Operations Research, 78, 468–479. https://doi.org/10.1016/j.cor.2016.01.016

Toth, P., & Vigo, D. (2003). The Granular Tabu Search and Its Application to the Vehicle-Routing Problem. INFORMS Journal on Computing, 15(4), 333–346. https://doi.org/10.1287/ijoc.15.4.333.24890

Villegas, J. G., Prins, C., Prodhon, C., Medaglia, A. L., & Velasco, N. (2010). GRASP/VND and multi-start evolutionary local search for the single truck and trailer routing problem with satellite depots. Engineering Applications of Artificial Intelligence, 23(5), 780–794. https://doi.org/10.1016/j.engappai.2010.01.013

Villegas, J. G., Prins, C., Prodhon, C., Medaglia, A. L., & Velasco, N. (2011). A GRASP with evolutionary path relinking for the truck and trailer routing problem. Computers and Operations Research, 38(9), 1319–1334. https://doi.org/10.1016/j.cor.2010.11.011

Zhou, L., Baldacci, R., Vigo, D., & Wang, X. (2017). A Multi-Depot Two-Echelon Vehicle Routing Problem with Delivery Options Arising in the Last Mile Distribution. European Journal of Operational Research, 265, 765–778. https://doi.org/10.1016/j.ejor.2017.08.011

Page 22: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

18

7. ANEXOS

Anexo A. Algoritmo GRASP Granular.

El algoritmo 1 describe el método de solución planteado. Se parte desde una solución vacía como la mejor solución global (línea 1) y se inicializa la lista de mejores soluciones (línea 3). A partir de ahí empieza un procedimiento GRASP hasta que no se cumpla un criterio de parada (línea 4). De la línea 5 a la 7 se encuentran las 3 etapas de la fase constructiva y en la línea 8 se lleva a cabo la fase de mejoramiento granular. Si la solución construida está dentro de las soluciones top de la 𝑙𝑖𝑠𝑡𝑎!"#$%"& , esta se actualiza (línea 9). Posterior a la fase iterativa del GRASP se hace una búsqueda local k-opt en el vecindario completo sobre todas las soluciones contenidas dentro

de 𝑙𝑖𝑠𝑡𝑎!"#$%"& (línea 11). Se ordenan las soluciones dentro de 𝑙𝑖𝑠𝑡𝑎!"#$%"& de menor costo a mayor costo (línea 12) y se escoge la mejor.

Anexo B. Algortimo etapa 1 fase constructiva El algoritmo 3 describe la etapa 1 de la fase constructiva del método GRASP. Se parte desde una combinación final vacía y se inicializa la memoria de combinaciones individuales. En la línea 3 el algoritmo indica que permanecerá iterando hasta que la combinación final encontrada no esté en la memoria de combinaciones finales. A partir de ahí se itera por cada ZTR y en cada una de ellas se inicializa la lista de candidatos excluyendo las combinaciones que estén en la memoria individual (línea 5). Se evalúa la utilidad en exceso (U) de cada elemento en la CL (línea 6), se construye la RCL con aquellas combinaciones en la CL que

Algoritmo 1. GRASP ------------------------------------------------------------------------------------------------------- Requerido: P nodos de parqueoRequerido: C conjunto de clientesRequerido: 𝑍𝑇𝑅 conjutno de zonas restringidasRequerido: 𝑁𝐻, Conjunto de Vecindarios1: 𝑚𝑒𝑗𝑜𝑟!"#$%" = ∅ 2: 𝑆 = ∅ 3: 𝑙𝑖𝑠𝑡𝑎!"#$%"& = ∅4: while criterio de parada no se cumpla: 5: 𝑝𝑘_𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖ó𝑛 = 𝐸𝑡𝑎𝑝𝑎 1 ( 𝑃,𝑍𝑇𝑅 ) 6: 𝑎𝑠𝑖𝑔𝑛𝑎𝑐𝑖ó𝑛 = 𝐸𝑡𝑎𝑝𝑎 2 𝑝𝑘_𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖ó𝑛, 𝐶,𝑃,𝑍𝑇𝑅 7: 𝑆 = 𝐸𝑡𝑎𝑝𝑎 3 ( 𝑝𝑘_𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖ó𝑛, 𝑎𝑠𝑖𝑔𝑛𝑎𝑐𝑖ó𝑛) 8: 𝑆 = 𝐵ú𝑠𝑞𝑢𝑒𝑑𝑎 𝐿𝑜𝑐𝑎𝑙 𝐺𝑟𝑎𝑛𝑢𝑙𝑎𝑟(𝑆, 𝑁𝐻)9: 𝑙𝑖𝑠𝑡𝑎!"#$%"& = 𝑎𝑐𝑡𝑢𝑎𝑙𝑖𝑧𝑎𝑟(𝑙𝑖𝑠𝑡𝑎!"#$%"&, 𝑆)10: end while 11:𝑙𝑖𝑠𝑡𝑎!"#$%"& = 𝐵ú𝑠𝑞𝑢𝑒𝑑𝑎 𝐿𝑜𝑐𝑎𝑙 ( 𝑙𝑖𝑠𝑡𝑎!"#$%"&, 𝑘 − 𝑜𝑝𝑡)12:𝑙𝑖𝑠𝑡𝑎!"#$%"& = 𝑜𝑟𝑑𝑒𝑛𝑎𝑟 (𝑙𝑖𝑠𝑡𝑎!"#$%"&, 𝑎𝑠𝑐𝑒𝑛𝑑𝑒𝑛𝑡𝑒)13:𝑚𝑒𝑗𝑜𝑟!"#$%" = 𝑙𝑖𝑠𝑡𝑎!"#$%"&[0]14:return𝑚𝑒𝑗𝑜𝑟!"#$%"

Algoritmo 3. Etapa 1 ------------------------------------------------------------------------------------------------------- Requerido: ZTR zonas de tránsito restringidoRequerido: P conjunto de parqueaderos Requerido: u umbral utilización en exceso Requerido: 𝑚𝑒𝑚𝑜𝑟𝑖𝑎!"#$ !"#$% memoria colectiva que contiene combinaciones finales 1: 𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖𝑜𝑛!"#$% ← ∅ 2: 𝑚𝑒𝑚𝑜𝑟𝑖𝑎!"#$ !"# ← ∅ 3: while 𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖𝑜𝑛!"#$% in 𝑚𝑒𝑚𝑜𝑟𝑖𝑎!"#$ !"#$% 4: for each z in ZTR then : 5: 𝐼𝑛𝑖𝑐𝑖𝑎𝑙𝑖𝑧𝑎𝑟 𝐶𝐿 𝑝𝑎𝑟𝑎 𝑧 𝑒𝑥𝑐𝑙𝑢𝑦𝑒𝑛𝑑𝑜 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑒𝑛 𝑚𝑒𝑚𝑜𝑟𝑖𝑎!"#$ !"# 6: 𝐸𝑣𝑎𝑙𝑢𝑎𝑟 𝑙𝑎 𝑈𝑡𝑖𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛 𝑒𝑛 𝐸𝑥𝑐𝑒𝑠𝑜 𝑑𝑒 𝐶𝐿 7: 𝐶𝑜𝑛𝑠𝑡𝑟𝑢𝑖𝑟 𝑅𝐶𝐿 𝑐𝑜𝑛 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑑𝑒 𝐶𝐿 𝑐𝑜𝑛 𝑈 ≤ 𝑢 8: 𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑎𝑟 𝑎𝑙𝑒𝑎𝑡𝑜𝑟𝑖𝑎𝑚𝑒𝑛𝑡𝑒 𝑢𝑛 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜 ∈ 𝑑𝑒 𝑅𝐶𝐿 9: 𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖𝑜𝑛!"#$% ← 𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖𝑜𝑛!"#$% {∈}10: 𝐴𝑐𝑡𝑢𝑎𝑙𝑖𝑧𝑎𝑟 𝑚𝑒𝑚𝑜𝑟𝑖𝑎!"#$ !"# 11: end for 12:if𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖𝑜𝑛!"#$% notin𝑚𝑒𝑚𝑜𝑟𝑖𝑎!"#$ !"#$% 13:Actualizar𝑚𝑒𝑚𝑜𝑟𝑖𝑎!"#$ !"#$% 14:return𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖𝑜𝑛!"#$%

Algoritmo 2. Búsqueda Local Granular ------------------------------------------------------------------------------------------------------- Requerido: S una soluciónn al TSPZTRRequerido: 𝑁𝐻, Conjunto de Vecindarios1: 𝑆 = 𝐵𝑢𝑠𝑞𝑢𝑒𝑑𝑎 𝐿𝑜𝑐𝑎𝑙 𝐺𝑟𝑎𝑛𝑢𝑙𝑎𝑟(𝑆, 𝐶𝑦𝑐𝑙𝑖𝑐 𝐸𝑥𝑐ℎ𝑎𝑛𝑔𝑒) 2: for each k in K 3: 𝑆 = 𝐵𝑢𝑠𝑞𝑢𝑒𝑑𝑎 𝐿𝑜𝑐𝑎𝑙 𝐺𝑟𝑎𝑛𝑢𝑙𝑎𝑟(𝑆, 𝑘 − 𝑜𝑝𝑡) 4: return S

Page 23: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

19

tengan U menor igual al umbral que se trae por parámetro (línea7), se selecciona aleatoriamente una combinación individual de RCL (línea 8) y se actualiza la memoria de combinaciones individuales (línea 10) . Si la combinación final no se encuentra en la en la memoria de combinaciones finales entonces se actualiza dicha memoria (línea 13) y se retorna la combinación final.Anexo C. Algoritmo etapa 2 fase constructiva

El Algoritmo 3 presenta un mecanismo constructivo voraz aleatorizado para la asignación de clientes a puntos de parqueo seleccionados en la etapa 1. El algoritmo arranca generando los clusters de acuerdo a la combinación final derivada de la Fase 1 (líneas 2 y 3) y posteriormente por cada ZTR y por cada cliente que pertenezca a la zona sobre la cual se está iterando (líneas 4 y 5), se realiza el procedimiento constructivo. Primero se construye la lista de candidatos (línea 6), luego se evalúan los costos de cada elemento en la CL y se ordena la lista (línea 7 y 8). Posteriormente se crea la lista restringida de candidatos RCL con los primeros p elementos de la CL (línea 9) y

entre éstos se escoge aleatoriamente el punto de parqueo al cual pertenecerá el cliente (línea 10). Finalmente se asigna el cliente al cluster correspondiente al punto de parqueo escogido (línea 11) y al final del proceso iterativo se retornan los clusters con la respectiva asignación. Anexo D. Algoritmo etapa 3 fase constructiva

El Algoritmo 4 presenta el funcionamiento general de la etapa final de la parte constructiva. Esta consiste en realizar un ruteo para formar las rutas de primer y segundo nivel que conforman la solución final.

Algoritmo 3. Etapa 2 ------------------------------------------------------------------------------------------------------- Requerido: ZTR zonas de tránsito restringidoRequerido: 𝐶 conjutno clientes por ZTR Requerido: 𝑐𝑜𝑚𝑏!"#$% combinación final de parqueaderos Requerido: 𝑝 cantidad de elementos que conformarán la lista RCL 1: 𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑠 = ∅ 2: for each pk in 𝑐𝑜𝑚𝑏!"#$%:3: 𝐶𝑟𝑒𝑎𝑟 𝑢𝑛 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑣𝑎𝑐𝑖𝑜 𝑝𝑜𝑟 𝑐𝑎𝑑𝑎 𝑝𝑢𝑛𝑡𝑜 𝑑𝑒 𝑝𝑎𝑟𝑞𝑢𝑒𝑜 𝑒𝑠𝑐𝑜𝑔𝑖𝑑𝑜4: for each z in ZTR:5: for each cliente in 𝐶!:6: 𝐼𝑛𝑖𝑐𝑖𝑎𝑙𝑖𝑧𝑎𝑟 𝐶𝐿 𝑐𝑜𝑛 𝑙𝑜𝑠 𝑝𝑎𝑟𝑞𝑢𝑒𝑜𝑠 𝑒𝑠𝑐𝑜𝑔𝑖𝑑𝑜𝑠 𝑝𝑎𝑟𝑎 𝑧7: 𝐸𝑣𝑎𝑙𝑢𝑎𝑟 𝑙𝑎 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑒𝑛 𝑒𝑙 𝑐𝑙𝑖𝑒𝑛𝑡𝑒 𝑦 𝑐𝑎𝑑𝑎 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜 𝑑𝑒 𝐶𝐿8: 𝑂𝑟𝑑𝑒𝑛𝑎𝑟 𝑎𝑠𝑐𝑒𝑛𝑑𝑒𝑛𝑡𝑒𝑚𝑒𝑛𝑡𝑒 𝑙𝑎 𝐶𝐿9: 𝐶𝑟𝑒𝑎𝑟 𝑅𝐶𝐿 𝑐𝑜𝑛 𝑙𝑜𝑠 𝑝𝑟𝑖𝑚𝑒𝑟𝑜𝑠 𝑝 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑑𝑒 𝐶𝐿10: 𝐸𝑠𝑐𝑜𝑔𝑒𝑟 𝑎𝑙𝑒𝑎𝑡𝑜𝑟𝑖𝑎𝑚𝑒𝑛𝑡𝑒 𝑢𝑛 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜 ∈ 𝑑𝑒 𝑅𝐶𝐿11: 𝐴𝑠𝑖𝑔𝑛𝑎𝑟 𝑒𝑙 𝑐𝑙𝑖𝑒𝑛𝑡𝑒 𝑎𝑙 𝑐𝑙𝑢𝑠𝑡𝑒𝑟 correspondiente al elemento escogido12: end for13: end for 14: return 𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑠

Algoritmo 4. Etapa 3 ------------------------------------------------------------------------------------------------------- Requerido:Aasignacióndeclientesacadapuntodeparqueoporcadazona1.S← ∅2:foreachzin𝑍 = {𝑍𝑇𝑁𝑅 ∪ 𝑍𝑇𝑅}3.foreachclusterinz4.ruta← ∅5. InicializalalistadecandidatosCLdeacuerdoa𝐴!,!"#$%&' 6. EvaluarloscostosincrementalesasociadosaCL7. whileexistaelementosenCL8. ConstruirlalistarestringidadecandidatosRCL9. Seleccionarunelemento∈aleatoriamentedeRCL10. ruta←ruta{∈}11. ActualizarCL12. Reevaluarloscostosincrementales13. end14.S← S{ruta} 15.returnS

Page 24: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

20

Anexo E. Algoritmo GRASP No granular

Algoritmo 5. GRASP ------------------------------------------------------------------------------------------------------- Requerido: P nodos de parqueoRequerido: C conjunto de clientesRequerido: 𝑍𝑇𝑅 conjutno de zonas restringidasRequerido: 𝑁𝐻, Conjunto de Vecindarios1: 𝑚𝑒𝑗𝑜𝑟!"#$%" = ∅ 2: 𝑆 = ∅ 3: 𝑙𝑖𝑠𝑡𝑎!"#$%"& = ∅4: while criterio de parada no se cumpla: 5: 𝑝𝑘_𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖ó𝑛 = 𝐸𝑡𝑎𝑝𝑎 1 ( 𝑃,𝑍𝑇𝑅 ) 6: 𝑎𝑠𝑖𝑔𝑛𝑎𝑐𝑖ó𝑛 = 𝐸𝑡𝑎𝑝𝑎 2 𝑝𝑘_𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖ó𝑛, 𝐶,𝑃,𝑍𝑇𝑅 7: 𝑆 = 𝐸𝑡𝑎𝑝𝑎 3 ( 𝑝𝑘_𝑐𝑜𝑚𝑏𝑖𝑛𝑎𝑐𝑖ó𝑛, 𝑎𝑠𝑖𝑔𝑛𝑎𝑐𝑖ó𝑛) 8: 𝑆 = 𝐵ú𝑠𝑞𝑢𝑒𝑑𝑎 𝐿𝑜𝑐𝑎𝑙 (𝑆, 𝑁𝐻)9: 𝑙𝑖𝑠𝑡𝑎!"#$%"& = 𝑎𝑐𝑡𝑢𝑎𝑙𝑖𝑧𝑎𝑟(𝑙𝑖𝑠𝑡𝑎!"#$%"&, 𝑆)10: end while 14:return𝑚𝑒𝑗𝑜𝑟!"#$%" Algoritmo 6. Búsqueda Local ------------------------------------------------------------------------------------------------------- Requerido: S una soluciónn al TSPZTRRequerido: 𝑁𝐻, Conjunto de Vecindarios1: 𝑆 = 𝐵𝑢𝑠𝑞𝑢𝑒𝑑𝑎 𝐿𝑜𝑐𝑎𝑙 𝐺𝑟𝑎𝑛𝑢𝑙𝑎𝑟(𝑆, 𝐶𝑦𝑐𝑙𝑖𝑐 𝐸𝑥𝑐ℎ𝑎𝑛𝑔𝑒) 2: for each k in K 3: 𝑆 = 𝐵𝑢𝑠𝑞𝑢𝑒𝑑𝑎 𝐿𝑜𝑐𝑎𝑙(𝑆, 𝑘 − 𝑜𝑝𝑡) 4: return S

Page 25: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

21

Anexo F. Vista Google Maps supermanzanas Barcelona Figura 6. Vista Google Maps supermanzana San Martí

Figura 7. Vista Google Maps supermanzana Nou Barris.

Page 26: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

22

Figura 8. Vista Google Maps supermanzana Sants Hostafrancs

Figura 9. Vista Google Maps supermanzana Gràcia

Page 27: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

23

Anexo G. Geo-coordenadas instancias reales Tabla 7. Geo coordenadas instancia real Cartagena

Tabla 8. Geo coordenadas instancia real Barcelona

Page 28: UNA APROXIMACIÓN GRASP CON BÚSQUEDA LOCAL GRANULAR …

24

Anexo H. Análisis comparativo del orden de ejecución de la búsqueda local en los distintos vecindarios

Análisis comparativo variando el orden en que se exploran los vecindarios en la búsqueda local. La columna b corresponden al mejor valor encontrado por el método realizando primero búsqueda local sobre el cyclic exchange granular y posteriormente k-opt granular. La columna c corresponde a la configuración contraria y la columna d representa la diferencia nominal entre ambos resultados.

Tabla 9. Análisis comparativo del orden de ejecución de la búsqueda local en los distintos vecindarios