algoritmos de colonia de hormigas para el problema del ... · algoritmos de colonia de hormigas...

61
Universidad de Buenos Aires Facultad de Ciencias Exactas y Naturales Departamento de Computaci´ on Algoritmos de Colonia de Hormigas para el Problema del Viajante de Comercio por Familias y para el Problema de Ruteo de Veh´ ıculos por Familias Tesis presentada para optar al t´ ıtulo de Licenciado en Ciencias de la Computaci´on Alexis Soifer Directora: Irene Loiseau Buenos Aires, 2015

Upload: others

Post on 17-Mar-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

Universidad de Buenos AiresFacultad de Ciencias Exactas y Naturales

Departamento de Computacion

Algoritmos de Colonia de Hormigas parael Problema del Viajante de Comercio

por Familias y para el Problema deRuteo de Vehıculos por Familias

Tesis presentada para optar al tıtulo deLicenciado en Ciencias de la Computacion

Alexis Soifer

Directora: Irene Loiseau

Buenos Aires, 2015

Page 2: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

ALGORITMOS DE COLONIA DE HORMIGAS PARA ELPROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y

PARA EL PROBLEMA DE RUTEO DE VEHICULOS PORFAMILIAS

En este trabajo presentamos una nueva variante del problema de ruteo de vehıculos deriva-do del problema de viajante de comercio generalizado por familias (FTSP). Esta variantese denomina problema de ruteo de vehıculos generalizado por familias (FVRP). En FTSP yFVRP un subconjunto de nodos debe ser visitado por cada conjunto en el grafo. El objetivoes minimizar la distancia total recorrida. Describiremos una formulacion matematica paraFVRP y propondremos una variante de la metaheurıstica colonia de hormigas conocidacomo sistema de la mejor-peor hormiga (SMPH) para la resolucion de ambos problemas.Finalmente presentaremos los resultados obtenidos y los compararemos con los conocidoshasta el momento.

Palabras claves: FTSP, FVRP, Metaheurısticas, Optimizacion con Colonia de Hormigas(OCH), Sistema de la Mejor-Peor Hormiga (SMPH).

i

Page 3: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

ANT COLONY OPTIMIZATION ALGORITHMS FOR FAMILYTRAVELING SALESMAN PROBLEM AND FAMILY VEHICLE

ROUTING PROBLEM

We introduce a new variant of the vehicle routing problem derived from the family travelingsalesman problem (FTSP). This variant is called family vehicle routing problem (FVRP).In FTSP and FVRP a subset of nodes must be visited for each node cluster in the graph.The objective is to minimize the distance traveled.We describe an integer programming formulation for FVRP and we propose a variant ofthe metaheuristic ant colony system known as the best-worst ant system (BWAS) to solveboth problems. Finally computational results will be presented and compared with theknown to the present.

Keywords: FTSP, FVRP, Metaheuristics, Ant Colony Optimization (ACO), Best-WorstAnt System (BWAS).

ii

Page 4: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

AGRADECIMIENTOS

En primer lugar a mi directora de tesis, Irene, por presentarme este desafıo y por estarsiempre predispuesta a ayudarme desde el primer momento.

A mis viejos, Silvana y Saul, de quienes herede la cultura del estudio y me brindaronla posibilidad de cursar todos estos anos. Fueron mi mano derecha de todos los dıas, mefacilitaron todas las herramientas y recursos que necesite, y sin ellos no podrıa haber lle-gado donde estoy ahora.

Al resto de mi familia de quienes siempre recibı un apoyo incondicional, a mi abuelaBerta, al tıo Chiche, la tıa Lala, y a Mario. Especialmente a mi abuela Raquel que aunqueno este la llevo siempre en mi corazon.

A Ana Luz con quien compartı estos anos de mi vida y aprendimos tanto juntos.

A mis amigos de la vida que siempre me alentaron para que no estudie los fines de semana,a Brian, Browar, Roman, Manolo, Moncho, Torke, Flor y Jony.

A mis companeros de facultad por ayudarnos en cada parcial, final o TP, con apuntes,resumenes, o lo que hubiera disponible, Leo, Calcu, Bender (tıo Ben), Ivan, Ale, Uri, Vale,Pablo, Tincho, Kuja, More, Fabri, Julian, Juan Pablo, Coby, entre otros.

A mis companeros del trabajo por estar a mi lado la mayor parte de cada dıa, a Lean,Marina, Charly, Walter, Victor, Ana, Pedro, Pablo, Roberto, Jorge, Damian, Paula, Gaby,y otros.

A todo el DC, especialmente a los profesores que siempre estan dispuestos a explicarlos mismos temas durante horas y a resolver guıas enteras de ejercicios para que todos losalumnos incorporen los conceptos de las materias que imparten.

A todos aquellos que me acompanaron durante estos anos recorriendo el camino del apren-dizaje no solo de la computacion sino de la vida.

iii

Page 5: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

Indice general

1.. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2.. Definiciones de los problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1. FTSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2. Formulacion matematica . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2. FVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.1. Formulacion matematica . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.. Colonia de hormigas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2. De las hormigas naturales, a la metaheurıstica . . . . . . . . . . . . . . . . . 93.3. Estructura basica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4. Algoritmos de colonia de hormigas . . . . . . . . . . . . . . . . . . . . . . . 11

3.4.1. Sistema de hormigas (SH) . . . . . . . . . . . . . . . . . . . . . . . . 113.4.2. Sistema de colonia de hormigas (SCH) . . . . . . . . . . . . . . . . . 113.4.3. Sistema de hormigas Min-Max (SHMM) . . . . . . . . . . . . . . . . 113.4.4. Sistema de hormigas con ordenacion . . . . . . . . . . . . . . . . . . 113.4.5. Sistema de la mejor-peor hormiga (SMPH) . . . . . . . . . . . . . . 12

4.. Algoritmos de colonias de hormigas propuestos . . . . . . . . . . . . . . . . . . . 134.1. Algoritmo de colonia de hormigas para el FTSP . . . . . . . . . . . . . . . . 13

4.1.1. Estructura general . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.1.2. Generacion de hormigas y actividad . . . . . . . . . . . . . . . . . . 144.1.3. Evaporacion de la feromona . . . . . . . . . . . . . . . . . . . . . . . 154.1.4. Acciones del demonio . . . . . . . . . . . . . . . . . . . . . . . . . . 164.1.5. Busqueda local (BL) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2. Algoritmo de colonia de hormigas para el FVRP . . . . . . . . . . . . . . . 214.2.1. Busqueda Local (BL) . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.. Resultados computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.2. Determinacion de parametros . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.2.1. Instancias seleccionadas para FTSP . . . . . . . . . . . . . . . . . . 275.2.2. Criterio de evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.3. Factor de evaporacion . . . . . . . . . . . . . . . . . . . . . . . . . . 285.2.4. Factores de mejora y de desmejora . . . . . . . . . . . . . . . . . . . 295.2.5. Factores de mutacion normal y fuerte . . . . . . . . . . . . . . . . . 305.2.6. α y β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.2.7. Hormigas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.2.8. Cantidad de vecinos . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2.9. Busqueda local (BL) . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.2.10. Cantidad de iteraciones y tiempos de ejecucion . . . . . . . . . . . . 40

iv

Page 6: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

Indice general v

5.3. Resultados para el FTSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.4. FVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.4.1. Generacion de nuevas instancias de FVRP . . . . . . . . . . . . . . . 455.4.2. Probabilidad de finalizacion temprana . . . . . . . . . . . . . . . . . 455.4.3. Resultados para el FVRP . . . . . . . . . . . . . . . . . . . . . . . . 475.4.4. Ejecucion de instancias de GVRP . . . . . . . . . . . . . . . . . . . 485.4.5. Detalle de los resultados computacionales de las ejecuciones de las

instancias de GVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Page 7: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

1. INTRODUCCION

El problema del viajante de comercio (o TSP por sus siglas en ingles) fue definido acomienzos del 1800 por los matematicos Hamilton y Kirkman [1] y consiste en encontrarla ruta mas corta que recorra un conjunto de ciudades. Una generalizacion posible serıatener que recorrer conjuntos de ciudades, eligiendo de cada uno cual ciudad incluir en elcamino. A este problema se lo denomina problema del viajante de comercio generalizado(GTSP) [3]. Otro caso aun mas general fue definido matematicamente por Moran-Mirabal,Gonzalez-Velarde, y Resende [5], y consiste en recorrer n de m elementos de distintos con-juntos. Este caso se denomina problema del viajante de comercio generalizado por familias(FTSP).

Por otro lado tenemos una familia de problemas similares donde debemos recorrer clien-tes, cada uno con cierta demanda. Dicha demanda se abastece con una flota de vehıculos.Estos problemas que generalizan al TSP se denominan problemas de ruteo de vehıculos.La importancia de resolver estos problemas radica en la porcion importante del costo deltransporte reflejado en el precio final de los productos. Dentro de la estructura de costoshasta un 35 % del valor del producto corresponde a transporte [16]. Por lo tanto mejorandolas rutas se pueden obtener ahorros significativos. Segun Toth y Vigo [4] las aplicacionesen casos reales han demostrado que el ahorro logrado por estas tecnicas en los procesosde distribucion ronda entre el 5 % y el 20 %.

En este trabajo vamos a presentar una definicion matematica para el problema de ru-teo de vehıculos generalizado por familias (FVRP) que consiste en recorrer una cantidadarbitraria de clientes de cada conjunto.

Estos problemas pertenecen a la clase NP-Duro para los cuales no se conocen algorit-mos eficientes (de tiempo polinomial) que garanticen encontrar soluciones optimas. Paradar nocion de lo que esto implica mencionamos que en marzo de 2005 se resolvio unainstancia de TSP de 33.810 puntos cuyo calculo tomo aproximadamente 15.7 anos - CPU[2].

En la practica no se suelen resolver estos problemas de manera exacta, sino que se bus-can soluciones de menor calidad a un tiempo considerablemente mas rapido. Estos meto-dos se denominan heurısticos [9]. Hay una clase de heurısticas de alto nivel que utilizanheurısticas de bajo nivel a gran escala para producir mejores soluciones, y se denominanmetaheurısticas [10].

En este trabajo, se intentaran encarar los problemas FTSP y FVRP con una me-taheurıstica inspirada en el comportamiento de las hormigas, propuesta por Dorigo, Ma-niezzo, y Colorni [11]. La tesis se compone de las siguientes secciones:

Seccion 2: Definiciones de los problemas a resolverSe presentaran las formulaciones matematicas de los problemas FTSP y FVRP.

Seccion 3: Colonia de hormigas

1

Page 8: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

1. Introduccion 2

Se presentaran las distintas variantes de colonia de hormigas.

Seccion 4: Algoritmo propuestoSe presentara el algoritmo utilizado en las resoluciones de los problemas FTSP yFVRP.

Seccion 5: Resultados obtenidosSe brindara en detalle la descripcion de cada uno de los parametros utilizados ylos valores que determinamos para los mismos. Luego presentaremos los resultadosprovenientes de la utilizacion del algoritmo para la resolucion de las instancias quedisponemos para los problemas FTSP, GVRP y FVRP, siendo GVRP un problemade ruteo de vehıculos con mayor cantidad de instancias conocidas que nos servira paracomparar nuestro algoritmo con resultados existentes.

Seccion 6: ConclusionesSe desarrollaran las conclusiones provenientes del trabajo realizado teniendo en cuen-ta los resultados obtenidos.

Seccion 7: Trabajo FuturoSe mencionaran posibles ideas para desarrollar en proximos trabajos.

Page 9: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

2. DEFINICIONES DE LOS PROBLEMAS

2.1. FTSP

2.1.1. Definicion

Supongamos que estamos parados en la puerta un almacen. Este almacen contienefamilias de productos (yerba, galletitas, vino, etc.). Ahora supongamos que tenemos unpedido con distintos productos del almacen y el problema consiste en encontrar la rutamas corta para recoger todos los productos, y regresar a la puerta. Un ejemplo concretoserıa tener una lista con 3 paquetes de yerba, 2 de galletitas y 3 de vino, y un almacencon conjuntos de estos productos distribuidos por todo el local. Este problema generalizaal problema GTSP (Generalized TSP) donde hay que visitar un individuo de cada fami-lia, y tambien generaliza al clasico TSP donde hay una unica familia en la cual debemosvisitar cada nodo. Al generalizar un problema NP-Duro, tambien nos encontramos anteun problema para el cual no se conoce ningun algoritmo exacto de tiempo polinomial quelo resuelva. Esta clase de problemas son tan costosos en terminos computacionales quemuchas veces se opta por resolverlo con heurısticas, es decir metodos que no nos aseguranla mejor solucion pero que en muchos casos otorgan buenos resultados a mucho menorcosto.

Sea G un grafo tal que G = V ∪ v0, E con V = v1, ..., vn, E = (vi, vj) :vi, vj ∈ V ∪ v0, i < j, y K = F1, ..., Fl una particion del conjunto V donde cadaFl contiene los nodos de la familia l. El nodo v0 es el origen del recorrido y el resto delos nodos son los candidatos a visitar. Consideramos a nfl = |Fl| la cantidad de visitasen la familia l, y a KN =

∑l=1,...,|K| nvl la cantidad total de visitas en el recorrido. Sea

c(vi, vj) > 0, vi, vj ∈ V ∪v0 la distancia entre cada par de nodos, el objetivo es minimizarla distancia total del recorrido que comience y termine en el origen y recorra nfl nodosde cada familia Fl ∈ K. En la imagen 2.1 vemos la solucion optima para un caso donde|V | = 29, |K| = 4 y KN = 18. Las 18 visitas se obtienen con nv1 = 6, nv2 = 6, nv3 = 1 ynv4 = 5 [5].

Fig. 2.1: Ejemplo de una posible solucion a un problema FTSP con 29 nodos, 4 familias y 18 visitaspresentada en [5].

3

Page 10: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

2. Definiciones de los problemas 4

2.1.2. Formulacion matematica

La siguiente formulacion para el FTSP es la propuesta por Moran-Mirabal, Gonzalez-Velarde y Resende [5].

Formulacion:

I. min∑

vi∈V ∪v0∑

vj∈N∪v0 ci,j × xi,jSujeto a:

II.∑

vi∈V xv0,i = 1

III.∑

vj∈V xj,v0 = 1

IV.∑

vi∈V xi,j ≤ 1 ∀vj ∈ V

V.∑

vj∈V xi,j ≤ 1 ∀vi ∈ V

VI.∑

vi∈V ∪v0∑

vj∈V ∪v0 xi,j = KN + 1

VII.∑

vi∈V ∪v0∑

vj∈Flxi,j = nvl l = 1, 2, . . . ,K

VIII.∑

vi∈Fl

∑vj∈V ∪0 xi,j = nvl l = 1, 2, . . . ,K

IX.∑

vi∈V ∪v0 xi,j −∑

vi∈V ∪0 xj,i = 0 ∀vj ∈ V

X.∑

vi∈S∑

vj∈S xi,j ≤ |S| − 1 S ⊂ V ∪ v0

XI. xi,j ∈ 0, 1 ∀vi, vj ∈ V

El objetivo principal (I) es minimizar la distancia. Las restricciones (II) y (III) requierenque debamos comenzar y terminar en el deposito (nodo 0). Las restricciones (IV) y (V)requieren que cada nodo sea visitado a lo sumo una unica vez. La restriccion (VI) requiereque el total de nodos del recorrido deba que ser KN + 1, es decir, la cantidad de visitasde cada familia y el deposito. Las restricciones (VII) y (VIII) requieren que tengamos quecumplir con la cantidad de salidas y entradas (respectivamente) dentro de los nodos decada familia. La (IX) expresa la conservacion de flujo. La restriccion (X) es la eliminacionde los subtours. Finalmente la ultima restriccion define a las variables binarias xi,j en 0 y1.

Page 11: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

2. Definiciones de los problemas 5

2.2. FVRP

Como mencionamos anteriormente, este problema generaliza al FTSP. El objetivo esminimizar la distancia recorrida por un conjunto de vehıculos que cumplan con la deman-da de los clientes. Estos clientes estan agrupados en familias, y la caracterıstica principalde esta variante es que solo hay que visitar una cantidad predeterminada de clientes porfamilia. Un asunto fundamental sera determinar cuales clientes visitar y cuales no. FVRPtambien generaliza al problema GVRP (Generalized VRP) en donde se debe visitar unnodo por cada familia. Algunas de las ventajas de encarar esta problematica con mejoresmetodologıas afectan a diversas areas, entre las que tenemos: correo postal, manufactura,logıstica y distribucion de mercancıa en puertos, entre otros. Un ejemplo concreto serıadisponer de una flota de barcos y querer depositar mercaderıa en 3 puertos de Argentina,5 de Brasil, y 3 de Espana. Considerando que cada paıs posee mas puertos, el algoritmodebera escoger cuales puertos son mas convenientes para incluir en el recorrido. Comonuestro unico objetivo es minimizar la distancia no utilizaremos ninguna restriccion encuanto a la cantidad de vehıculos.

Sea G un grafo tal que G = V ∪ v0, E con V = v1, ..., vn, E = (vi, vj) : vi, vj ∈V ∪ v0, i < j, y K = F1, ..., Fl una particion del conjunto V donde cada Fl contienelos nodos de la familia l. El nodo v0 es el origen del recorrido y el resto de los nodos sonlos candidatos a visitar, Q es la capacidad de carga de los vehıculos, m es la variable quedeterminara la cantidad de vehıculos utilizados, y n la cantidad de nodos. Consideramos anfl = |Fl| la cantidad de visitas en la familia l, y a KN =

∑l=1,...,|K| nvl la cantidad total

de visitas en el recorrido. Sea c(vi, vj) > 0, vi, vj ∈ V ∪ v0 la distancia entre cada par denodos y d(vi), vi ∈ V la demanda de cada nodo, asumiendo que la demanda del depositoes 0, el objetivo de FVRP es minimizar la distancia total de los recorridos que comienceny terminen en el deposito, y que entre ellos hayan visitado nfl nodos de cada familia l.

La formulacion de este trabajo extiende a la presentada por Ha, Bostel, Langevin yRousseau para GVRP [8], donde se utiliza un grafo auxiliar que contiene una copia deldeposito y se trata el problema como uno de flujo. Para eso se define el grafo G = (V , E)con V = V ∪vn+1 donde vn+1 es la copia del deposito. Sea V ′ = V \v0, vn+1 el conjun-to de nodos sin incluir el deposito ni su copia. Consideramos E = E ∪(vi, vn+1), vi ∈ V ′como el conjunto de aristas de G incluyendo una arista desde cada cliente hacia la copiadel deposito. Definimos c(vi, vn+1) = c(v0, vi)∀vi ∈ V ′, donde determinamos que el costodel viaje entre cada cliente y la copia del deposito sera la misma que entre dicho cliente yel deposito original.

Consideraremos a las variables de flujo fi,j como la carga de un vehıculo luego de pasarpor el eje i y a fj,i como la capacidad restante del vehıculo antes de pasar por el eje i.Entonces fj,i = Q − fi,j . Para entender mejor estas variables presentamos el grafico 2.2tambien proveniente de [8]. Este muestra una posible solucion de GVRP para el conjuntode familias F1, ..., F5 con demandas 10, 20, 20, 20 y 20 respectivamente. La capacidad delos vehıculos es de 50. Las lineas solidas representan las cargas (los fi,j) mientras que laspunteadas representan los espacios libres (los fj,i).

Page 12: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

2. Definiciones de los problemas 6

Fig. 2.2: Ejemplo de una posible solucion a un problema GVRP presentada en [8].

En GVRP se asume que satisfaciendo la demanda de cualquier nodo se cumple tambiencon la demanda de su familia. Consideramos a d′(l) ≥ 0, l = 1, ..., |K| como la demandade la familia l. Luego:

d(vi) = d′(l) ∀vi ∈ Fl, l = 1, ..., |K|.

En FVRP asumiremos que cualquier conjunto de nodos que debamos visitar en cadafamilia cumplira con demanda de su grupo, entonces:∑

vi∈V ′′ d(vi) ≥ d′(l) ∀V ′′ ⊆ Fl, |V ′′| = nvl l = 1, ..., |K|.

En este caso estamos generalizando al GVRP de dos formas. Por un lado agregamosla posibilidad de recorrer mas de un nodo, y por el otro permitimos que el conjunto denodos que se visiten superen a la demanda de la familia. Entonces el algoritmo tendra quetener en cuenta la capacidad del vehıculo ademas de la distancia por recorrer.

Page 13: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

2. Definiciones de los problemas 7

2.2.1. Formulacion matematica

La base de la formulacion que desarrollaremos a continuacion proviene de la formula-cion del problema de ruteo de vehıculos generalizado presentada por Ha, Bostel, Langeviny Rousseau [8].

Formulacion:

I. min∑

(vi,vj)∈E ci,jxi,j

Sujeto a:

II.∑

vi∈Flyi = nvl ∀Fl ∈ F

III.∑

vi∈V ,i<k xi,k +∑

vj∈V ,j>k xk,j = 2yk ∀vk ∈ V ′

IV.∑

vj∈V (fj,i − fi,j) = 2d(vi)yi ∀vi ∈ V ′

V.∑

vj∈V ′ fv0,j =∑

vi∈V ′ d(vi)yi

VI.∑

j∈V ′ fn+1,j = mQ

VII. fi,j + fj,i = Qxi,j ∀vi, vj ∈ E

VIII. fi,j ≥ 0, fj,i ≥ 0 ∀vi, vj ∈ E

IX. xi,j ∈ 0, 1 ∀vi, vj ∈ E

X. yi ∈ 0, 1 ∀vi ∈ V ′

XI. m ∈ N

El objetivo principal es el mismo que en FTSP, minimizar la distancia recorrida. Larestriccion (II) limita la cantidad de visitas por familia. La restriccion (III) limita lacantidad de visitas por vertice a 1. Entre los puntos (IV) y (VII) definimos las variablesrelacionadas con el flujo. En particular la restriccion (IV) limita el flujo por nodo segunsu demanda. La restriccion (V) determina que el flujo de salida del deposito equivale altotal de la demanda de los nodos utilizados. La restriccion (VI) limita el flujo total a lacapacidad de los transportes. La restriccion (VII) determina que la suma del espacio librede un vehıculo y de la carga que este trae debe ser igual a su capacidad. Las ultimasrestricciones son definiciones de variables.

Page 14: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

3. COLONIA DE HORMIGAS

3.1. Introduccion

Como se menciono anteriormente existen problemas que afectan a diversos campos yque son muy difıciles de resolver por su tamano y complejidad. Los metodos exactos noresultan eficientes en instancias de gran tamano o bien nunca logran determinar la solucionoptima, mientras que las heurısticas clasicas no siempre producen soluciones de buena ca-lidad. Las metaheurısticas son metodos que emplean heurısticas para producir solucionesde mejor calidad [10]. Estas estan inspiradas en diversos campos como la genetica, la bio-logıa, la fısica, entre otros. Entre ellas encontramos metodos como simulating annealing,la busqueda tabu, la busqueda local iterativa, GRASP (“greedy randomized adapatativesearch procedures”), algoritmos evolutivos, optimizacion por enjambre de partıculas o re-des neuronales.

La metaheurıstica basada en colonia de hormigas se desarrollo a partir de observarcomo ciertas especies de hormigas con capacidades visuales muy limitadas logran alcanzarsu alimento realizando muy buenos recorridos [11]. Ellas se comunican a traves de unasustancia quımica que depositan a medida que realizan su recorrido denominada feromo-na. Esta sustancia le permite saber al resto de la colonia que aquel camino fue utilizado.Un grupo de hormigas abandona su hogar en busca de alimento y ante una bifurcacion ungrupo elige una alternativa, mientras que el otro va por la restante (figura 3.1). Un grupollegara antes que el otro, luego recoge la comida y regresa por donde vino. Mientras tantootro grupo parte desde la colonia y se encuentra ante la misma bifurcacion, pero esta vezpor un sendero ha vuelto el primer grupo. Este nuevo grupo detecta mayor presencia deferomonas en el camino mas corto favoreciendo la toma de la mejor decision. Esta eleccionno es exacta sino probabilıstica, de hecho se asume que cuando ciertos individuos eligenotro camino promueven el descubrimiento de nuevas rutas. Con el paso del tiempo la fe-romona se evapora provocando que los peores caminos dejen de utilizarse.

Fig. 3.1: El experimento del puente mencionado en [11] con hormigas argentinas (iridomyrmexhumilis) muestra como esta especie de hormiga logra hallar el mejor camino para conseguiralimento.

8

Page 15: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

3. Colonia de hormigas 9

3.2. De las hormigas naturales, a la metaheurıstica

La idea general del algoritmo se basa en abstraer el comportamiento observado y re-presentarlo artificialmente. Por un lado representamos el sendero de las hormigas con ungrafo donde cada nodo representa una bifurcacion, y donde cada arista contiene dos datos:informacion heurıstica e informacion de los rastros de feromona. La informacion heurısticaes informacion a priori y nos ayuda durante la ejecucion del algoritmo para influir a lacolonia para que converja mas rapidamente, mientras que la informacion de los rastros deferomona es un valor que se va acumulando con el transcurso del tiempo dependiendo dela calidad de los caminos se que encuentren.

Por otro lado las hormigas son agentes computacionales independientes unos de otrosy construyen soluciones tomando decisiones en cada interseccion teniendo en cuenta lainformacion que mencionamos anteriormente. Cada hormiga representa una solucion com-pleta del problema. En la variante clasica cuando las hormigas finalizan su recorrido seevalua la calidad de las soluciones obtenidas y en base a estos resultados se deposita mayoro menor cantidad de feromona. Se desarrollaron distintas variantes de esta metaheurısticay sus diferencias principales radican en como se deposita la feromona, ya sea durante elrecorrido o al finalizarlo, en base a la cantidad de hormigas que se tomaran en cuenta pararealizar el deposito, o bien el tratamiento especial que se le dara a la feromona depositadapor la mejor hormiga.

3.3. Estructura basica

En la estructura general del algoritmo durante un perıodo de tiempo se crean distintasgeneraciones de hormigas que recorreran concurrentemente (sincronica o asincronicamen-te) los distintos nodos construyendo en cada caso una solucion al problema (algoritmo 1).Las hormigas toman en cuenta las feromonas depositadas en iteraciones anteriores y unvalor heurıstico que corresponde a cada problema en particular (algoritmo 3). Durante elrecorrido pueden o no realizar modificaciones en la feromona. Algunas variantes no soloagregan feromona sino que ademas la restan ya sea durante el recorrido para evitar quedistintas hormigas utilicen el mismo camino o bien al finalizar la iteracion para evitarque una mala solucion sea tenida en cuenta. Luego se procede a una evaporacion de laferomona favoreciendo que las hormigas exploren nuevas regiones y colaborando a evitarque se estanque la busqueda [12]. Finalmente se pueden realizar distintas acciones finales(acciones del demonio, algoritmo 1), entre ellas: depositar feromona extra en el recorri-do de la mejor hormiga, depositar feromona aleatoriamente (comportamiento genetico), omejorar los recorridos obtenidos con busquedas locales.

Sea Gch = Vch, Ech grafo conexo. Definimos al vecindario de vi ∈ Vch como N(vi) =vj : (vi, vj) ∈ Ech. Cada hormiga recorre el grafo moviendose a traves del vecindario decada nodo, teniendo en cuenta ciertas restricciones que debe cumplir. Dicho conjunto derestricciones sera Ω. Luego los posibles movimientos de una hormiga desde vi en la itera-cion k estaran dados por el conjunto de vecinos del nodo vi, restando los movimientos queno cumplan con las restricciones Ω. Llamamos a la funcion que determina estos posiblesmovimientos como V k

Ω (vi). Esta funcion tambien tiene en cuenta la memoria de la hormigahasta la iteracion actual. Como mencionamos previamente la decision sobre cual sera el

Page 16: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

3. Colonia de hormigas 10

siguiente nodo esta determinada por feromonas depositadas en iteraciones anteriores y unvalor heurıstico. Consideramos a ηi,j como la informacion heurıstica y τi,j como el valorde la feromona correspondientes al eje (vi, vj) ∈ Ech. Sea σ el parametro que determinala velocidad de evaporacion del valor de la feromona en cada iteracion, al cual denomi-namos factor de evaporacion y α y β los parametros que determinan la ponderacion dela informacion proveniente de las feromonas y la de la informacion heurıstica en la tomade decision del movimiento de cada hormiga respectivamente. Si α = 0 no se utilizarıa lainformacion de la feromona y si β = 0 no se utilizarıa la informacion heurıstica calculadapreviamente. Definiremos pki,j como la probabilidad de transicion entre entre los nodos viy vj .

Algoritmo 1: Estructura basica SH

Inicializacion de parametros();while condicion de reinicio do

// Generacion de hormigas y actividad

for w = 1 hasta numero hormigas doNueva Hormiga(w);

// Evaporacion de la feromona

forall the (vi, vj) ∈ Ech doτi,j *= 1 - σ;

Acciones del demonio();

Algoritmo 2: Nueva hormiga

Data: id de la hormigainicializa nueva hormiga(id hormiga);m = actualiza memoria hormiga();while estado actual ! = estado objetivo do

t = leer los datos de la tabla de transiciones();pt = calcular probabilidades de transicion(t, m, Ω);siguiente estado = aplicar polıtica de transicion(pt);mover al siguiente estado(siguiente estado);if actualizacion de feromona en linea paso a paso then

depositar feromona en el arco visitado();actualizar datos de la tabla de transiciones();

m = actualizar estado interno();

if actualizacion de feromona en linea a posteriori thenforall the e in arcos visitados do

depositar feromona en el arco visitado();actualizar datos de la tabla de transiciones();

Page 17: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

3. Colonia de hormigas 11

Algoritmo 3: Calcular probabilidades de transicion en la version clasica del SH.

Data: tabla de datos de transiciones, memoria de la hormiga, Ω

pki,j =

[τi,j ]α ∗ [ηi,j ]

β∑u∈V k

Ω (i)[τi,u]α ∗ [ηi,u]βsi j ∈ V k

Ω (i)

0 en otro caso

(a)

a τ corresponde al valor de la feromona de la arista, mientras que η al valor de la informacion heurıstica.

3.4. Algoritmos de colonia de hormigas

3.4.1. Sistema de hormigas (SH)

Es el sistema basico con el que se comenzo el desarrollo de esta metaheurıstica (algo-ritmo 1). Todas las hormigas aportan feromona cuando terminan su proceso. Una mejorasobre este modelo, es que la mejor hormiga deposita feromona extra en su recorrido. Lassiguientes variantes tienen mejor rendimiento [17].

3.4.2. Sistema de colonia de hormigas (SCH)

Como mencionamos, el modelo anterior no tenıa muy buen rendimiento ([17]). Color-ni, Dorigo, Maniezzo [13] proponen este sistema el cual se diferencia del anterior en losiguiente:

Feromona: Solo la mejor hormiga deposita su feromona sobre su camino. La evaporacion serealiza a medida que las hormigas pasan por las aristas. De esta manera se disminuyela probabilidad de que distintas hormigas utilicen los mismos recorridos, favoreciendola diversificacion.

Transicion: Se introduce una regla pseudo-aleatoria de transicion en la cual hay un por-centaje (por lo general 90 %) en el cual se elige la mejor opcion (la que posee mayornivel de feromonas e informacion heurıstica), mientras que en el otro 10 % se utilizala regla convencional (algoritmo 3) [14].

3.4.3. Sistema de hormigas Min-Max (SHMM)

Este sistema difiere del anterior limitando los niveles de feromona entre τmin y τmax,calculados en una corrida previa del algoritmo. Cuando se alcanza el τmax se reinicia elalgoritmo inicializando las mejores aristas con τmax. Esto favorece la explotacion de lasmejores soluciones [15].

3.4.4. Sistema de hormigas con ordenacion

Es otra extension del SH propuesto por Bullnheimer, Hartl y Strauss [11]. Se ordenanlas hormigas para actualizar la feromona, siendo la mejor la mas privilegiada.

Page 18: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

3. Colonia de hormigas 12

3.4.5. Sistema de la mejor-peor hormiga (SMPH)

Esta version de colonia de hormigas es la que utilizamos en este trabajo. Detallaremosa continuacion las caracterısticas esenciales.

Feromona: Se agrega en el mejor camino conocido hasta el momento, y se resta en el peor.Ademas se agrega o resta feromona aleatoriamente, mejorando la diversidad. Esteconcepto proviene de los algoritmos evolutivos [17].

Transicion: Se usa la misma regla del sistema de hormigas clasico.

Evaporacion: Se aplica a todas las aristas por igual, tambien proveniente del sistemaclasico.

Proceso de mejora: Se realiza una busqueda local en las mejores hormigas.

Reinicio: Si no hubo mejoras en cierta cantidad de iteraciones, o cierto tiempo, se reiniciala cantidad de feromona.

En la siguiente seccion describiremos como se aplica esta metaheurıstica a los problemasque queremos resolver.

Page 19: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. ALGORITMOS DE COLONIAS DE HORMIGAS PROPUESTOS

Comenzaremos con la aplicacion de esta metaheurıstica al problema FTSP, y luegodesarrollaremos las principales diferencias respecto a la variante para resolver FVRP.

4.1. Algoritmo de colonia de hormigas para el FTSP

4.1.1. Estructura general

Algoritmo 4: Proceso principal.

Inicializar informacion heurıstica();while condicion de reinicio do

Reiniciar feromona();while condicion de corte do

Generacion de hormigas y actividad();Evaporacion de la feromona();Acciones del demonio();

Un factor importante en esta etapa es el reinicio de la feromona, que sera determinanteen la diversificacion de los caminos encontrados ya que reducimos la probabilidad deestancamiento en mınimos locales. Luego ejecutaremos a las tres acciones principales deesta metaheurıstica: la generacion de hormigas, la evaporacion de feromonas, y las accionesdel demonio. A continuacion desarrollaremos cada etapa del algoritmo.

4.1.1.1 Inicializacion de la informacion heurıstica

La informacion heurıstica (algoritmo 3) se determina al inicio del programa. Exis-ten diversas formas de determinar este valor. En algunos casos se utilizan otros metodosheurısticos para calcular distintas soluciones y con esa informacion escoger que aristas severan mas beneficiadas. En otros casos se utiliza una funcion que devuelve mayores valo-res a medida que la distancia entre cada par de nodos disminuye. Sea ηi,j la informacionheurıstica del eje (vi, vj). La siguiente serıa una funcion factible:

ηi,j =1

c(r, s)

Durante el desarrollo de nuestro algoritmo notamos que no resultaba conveniente tra-bajar con valores tan variables como la distancia. Por un lado buscamos mantener unequilibrio entre los niveles de feromona y la informacion heurıstica, y por otro lado elhecho de poder detener el algoritmo en cualquier momento y en cualquier instancia ycomprender con mayor precision los valores de la informacion entre cada par de nodospara efectuar mejores conclusiones. Entonces se determino la normalizacion de todos losvalores tanto de las feromonas como de la informacion heurıstica entre 1 y 100.

13

Page 20: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 14

Sean dmax y dmin la mayor y menor distancia existente en el grafo respectivamente.Luego, con esos datos podemos realizar la normalizacion y ası obtener valores relativosdentro de la escala que nos resulte comoda. Definimos a ι(x, xmin, xmax, a, b) como lafuncion de normalizacion del valor x entre a y b:

ι(x, xmin, xmax, a, b) = a+(x− xmin)(b− a)

xmax − xmin

Luego obtenemos el valor final de la informacion heurıstica para cada eje entre 1 y 100:

ηi,j =1

ι(c(i, j), dmin, dmax, 1, 100)× 100

4.1.1.2 Criterios de reinicio y corte

Detallaremos los criterios elegidos para las condiciones de reinicio y de corte utilizadasen el proceso principal (algoritmo 4).

Condicion de reinicio: cuando se cumple esta condicion actualizamos la feromona con valorcero, dejando al proceso como en su estado inicial. Se detienen los reinicios cuandose logra la cantidad deseada, o se supera el tiempo maximo sin obtener ningunamejora. Tanto la cantidad maxima de reinicios como el tiempo maximo sin obtenermejoras son parametros del programa que describiremos en la seccion 5.

Condicion de corte: en este bucle es donde las hormigas depositan su feromona y esta esaprovechada por las siguientes generaciones. Para finalizar estas iteraciones utiliza-mos dos condiciones de corte: cantidad de iteraciones sin mejora, y el perıodo detiempo maximo sin mejoras. En el primer caso consideramos que la cantidad de ite-raciones deberıa ser proporcional a la cantidad de nodos. Sin embargo en instanciasmuy grandes o muy pequenas no se observo un buen rendimiento ya que ocurrıa quese iteraba menos de lo que se podrıa o mas de lo que hubiera sido conveniente. Comonuestro objetivo es que el proceso se adapte con mayor facilidad a distintas instan-cias decidimos utilizar tanto un umbral de cantidad mınima y maxima de iteraciones,como un valor proporcional segun la cantidad de nodos.

4.1.2. Generacion de hormigas y actividad

Este procedimiento consiste en la creacion de las hormigas y luego en la realizacion delmovimiento de cada una (algoritmo 5). Como mencionamos previamente en la descripciondel algoritmo las hormigas son totalmente independientes unas de otras dentro de cadaiteracion, y por eso esta etapa de la busqueda es paralelizable. Esta ultima caracterısticano se encuentra en las variantes de colonia de hormigas donde se actualiza la feromona amedida que se realizan los movimientos, como por ejemplo en primeros experimentos delSH. En nuestra implementacion efectivamente realizamos dicha paralelizacion.

El movimiento de cada hormiga estaba determinado en principio de la misma formaque en el SH convencional mencionado en el algoritmo 3. Un cambio introducido en laimplementacion actual es que el calculo de probabilidad mencionado no se aplica en latotalidad de los nodos, sino en un vecindario restringido. Llamamos Vr(vi) al vecindario

Page 21: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 15

restringido del nodo vi que estara determinado por un cierto porcentaje de sus nodosmas cercanos. Esta restriccion se debe a que segun diversas observaciones la probabilidadde que el mejor camino contenga aristas entre nodos muy lejanos es muy baja [16]. Encambio si no se encontrara un vecino disponible efectivamente se procede con el resto delos nodos. Segun pruebas realizadas la mejora con la introduccion del vecindario fue muycontundente. En la seccion 5 describiremos con mayor precision dicha mejora.

En el algoritmo 5 de la seccion 3 mencionamos que los posibles movimientos de unahormiga en la iteracion k estan dados por un conjunto de restricciones. En este caso larestriccion es que podamos movernos a nodos sin visitar de familias que aun no hayamosterminado de recorrer, siempre priorizando el vecindario restringido mencionado anterior-mente.

Algoritmo 5: Generacion de hormigas y actividad.

for h = 0 to cantidad de hormigas a generar doInicializar hormiga();while resten movimientos por realizar do

vi = nodo actual;forall the vj ∈ Vr(vi), vj no visitado do

pki,j =

[τi,j ]α ∗ [ηi,j ]

β∑u∈V k

Ω (i)[τi,j ]α ∗ [ηi,j ]β

si s ∈ V kΩ (i)

0 en otro caso

;

if @vj ∈ Vr(vi) thenforall the vj ∈ V (vi), vj no visitado do

pki,j =

[τi,j ]α ∗ [ηi,j ]

β∑u∈V k

Ω (i)[τi,u]α ∗ [ηi,u]βsi j ∈ V k

Ω (i)

0 en otro caso

;

seleccionamos el siguiente nodo entre los disponibles segun su probabilidadde ser visitado y movemos la hormiga();

4.1.3. Evaporacion de la feromona

Esta etapa del algoritmo se conserva de la misma forma que en SH (algoritmo 1) [11].El objetivo es disminuir las feromonas de los ejes en un cierto porcentaje. Este parame-tro lo denominamos factor de evaporacion y lo representamos con σ. A mayor porcentajede evaporacion, mayor el porcentaje con el que disminuira la feromona. En el algoritmo6 observamos que se itera sobre todos los ejes para aplicar la modificacion correspondiente.

Algoritmo 6: Evaporacion de la feromona.

forall the (vi, vj) ∈ E doτi,j *= 1 - σ;

Page 22: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 16

4.1.4. Acciones del demonio

Esta seccion es fundamental para aprovechar toda la informacion proveniente de lashormigas. En primer lugar vamos a aplicar una busqueda local (que detallaremos masadelante) a un determinado porcentaje de hormigas mejor ubicadas segun el costo de surecorrido. A continuacion actualizamos la mejor y la peor solucion encontrada. Luego de-positamos feromona en el mejor recorrido encontrado hasta el momento y restamos delpeor. Finalmente se aplica una mutacion en la feromona para ayudar a diversificar el al-goritmo [17]. A continuacion describiremos mejor cada uno de estos pasos.

Algoritmo 7: Acciones del demonio.

forall the hormiga entre las mejores hormigas doBusqueda Local (hormiga);

Actualizar mejor y peor hormiga hasta el momento();Actualizacion de feromonas();Realizar mutacion();

4.1.4.1 Deposito de feromona

Tanto en el deposito de la feromona extra como en la sustraccion de la misma nece-sitamos determinar correctamente las cantidades. Sea c un circuito que represente unasolucion al problema y l(c) la longitud del circuito c, definimos a κ como la funcion quecalcula el promedio de las distancias normalizadas de sus ejes:

κ(c) =

∑(vi,vj)∈c ι(c(i, j), dmin, dmax, 1, 100)

l(c)

Ahora utilizamos esta ultima ecuacion para definir la funcion λ(c) que le otorga elvalor a cada camino encontrado. A medida que el recorrido es mas corto se devuelve unresultado mas elevado.

λ(c) =1

κ(c)× 100

Sea γ un parametro que determina la proporcion del valor del camino que utilizaremospara aumentar la feromona de cada eje del mejor camino. A este parametro lo llama-mos factor de mejora. A mayor valor de dicho factor aumentamos la intensificacion de labusqueda. Finalmente definimos a µ como el valor de la feromona a depositar en cada ejede la mejor solucion:

µ(c) = λ(c)× γ

Sea δ un parametro que determina la proporcion del valor del camino que utilizaremospara disminuir la feromona de cada eje del peor camino. A este parametro lo llamamosfactor de desmejora. Definimos a ν como el valor de la feromona a retirar en cada eje dela peor solucion.

Page 23: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 17

ν(c) = λ(c)× δ

Sea τi,j el valor de la feromona del eje (vi, vj), presentamos la funcion que se encargade actualizar la feromona mencionada en el algoritmo 7.

Algoritmo 8: Actualizacion de feromonas.

c1 = mejor solucion encontrada();valor suma = µ(c1);forall the (vi, vj) ∈ c1 do

τi,j += valor suma;

c2 = peor solucion encontrada();valor resta = µ(c2);forall the (vi, vj) ∈ c2 do

τi,j -= valor resta;

4.1.4.2 Mutacion de la feromona

En el proceso de mutacion debemos determinar que porcentaje de aristas se veranafectadas y la cantidad de feromona utilizar (algoritmo 9). Para determinar este ultimovalor se emplea el valor que se suma a cada eje en la actualizacion de feromonas (funcionµ) [17]. En esta implementacion buscamos que a medida que se estanque la busqueda seemplee una mayor cantidad de feromona. Por eso al valor de la feromona depositado porla mejor solucion lo multiplicamos por valores de entre 0.5 y 1.5 segun nos acerquemos ala cantidad maxima de iteraciones sin que se produzcan mejoras durante el proceso. Desdeya, para obtener siempre valores entre 0.5 y 1.5 debemos realizar una normalizacion de lacantidad de iteraciones efectuadas hasta el momento (por eso la utilizacion de la funcionι). Sea ξ la cantidad de iteraciones sin mejora actual, que varıa entre 1 y π siendo esta lamaxima cantidad de iteraciones sin mejora aceptada a lo largo del proceso, definimos a ρcomo la cantidad de feromona que altera cada arista de la mutacion:

ρ = µ(c)× ι(ξ, 1, π, 0,5, 1,5)

Por otro lado necesitamos intensificar la diversificacion a medida que se estanca elalgoritmo. Cuando la cantidad de iteraciones o tiempo transcurrido sin que se produzcaninguna mejora supera a la mitad de los maximos estipulados, realizamos alteraciones enun porcentaje mayor de aristas. Por eso disponemos de los parametros porcentaje nor-mal y porcentaje fuerte de mutacion que seran utilizados segun corresponda. En pruebaspreliminares esta modificacion produjo buenos resultados, mas adelante en la seccion 5entraremos mas en detalle.

Por ultimo, el valor calculado previamente para modificar un eje puede utilizarse tantopara sumarse como para restarse. Esta determinacion sera tomada de manera aleatoria. Eleje a modificar de cada nodo pertenecera a su vecindario restringido. Pruebas realizadasnos indican que si la modificacion es en cualquier eje de cada nodo esta realmente nologra los resultados esperados, en cambio modificando parte de su vecindario restringidola mutacion surge mayor efecto.

Page 24: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 18

A continuacion presentaremos el algoritmo de mutacion mencionado en el algoritmo 7.

Algoritmo 9: Detalle de la mutacion

c = mejor solucion encontrada();ρ = µ(c)× ι(ξ, 1, π, 0,5, 1,5);if ξ ≥ π/2 then

p = porcentaje fuerte de mutacion;

elsep = porcentaje normal de mutacion;

forall the vi ∈ V doa = aleatorio(0, 100);if a < p then

vj = nodo aleatorio perteneciente a Vr(vi);suma o resta = aleatorio(0,1);if suma o resta = 1 then

τi,j+ = ρ;

elseτi,j− = ρ;

4.1.5. Busqueda local (BL)

La busqueda local consiste en partir de una solucion inicial y aplicar reiteradamente al-guna transformacion hasta que deje de haber mejoras. En nuestra busqueda utilizamos lossiguientes algoritmos: reubicacion, intercambio de nodos, or-opt, intercambio de caminos,2-opt, e intercambio interfamilia. Luego de describir cada uno, detallaremos el orden y lacantidad de veces que los ejecutamos. Un detalle no menor, es que en la implementacioncontamos con dos alternativas: recorrer todo el espacio de busqueda, o intentar realizarmovimientos al azar hasta que haya una cierta cantidad de iteraciones sin ninguna mejora.

En el caso donde recorremos todo el espacio de busqueda no nos movemos al mejorvecino sino al primero cuyo costo sea menor al actual. Luego de realizar dicho movimientono volvemos a comenzar la exploracion desde el comienzo sino que partimos desde laposicion actual ya que no se encuentran grandes mejoras en el espacio ya explorado. Porotro lado tambien aplicamos la variante del primer mejor vecino encontrado en el casodonde realizamos movimientos al azar.

4.1.5.1 Reubicacion

Esta transformacion toma un nodo y lo mueve dentro del camino. Por lo tanto lacomplejidad de recorrer todo el vecindario sera de O(longitud camino2). En la figura 4.1se podra apreciar con claridad el efecto resultante de realizar dicho movimiento.

Page 25: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 19

Fig. 4.1: Reubicacion: se puede observar que al cambiar la ubicacion del nodo rojo dentro delcircuito reducimos la distancia total.

4.1.5.2 Intercambio

En este caso se seleccionan 2 nodos y se intercambian sus posiciones. Nuevamente lacomplejidad de recorrer el vecindario sera de O(longitud camino2), ya que por cada nodo,tratamos de intercambiarlo con otro y ası reducir el costo total del recorrido (figura 4.2).

Fig. 4.2: Intercambio: cambiando los nodos entre sı la distancia total se reduce.

4.1.5.3 Or-opt

Or-opt es una generalizacion de reubicacion, toma una porcion del camino (de tamanovariable) y la quiere cambiar de lugar. Esta vez no solamente hay que tener en cuenta lanueva ubicacion sino la longitud del camino que queremos mover (figura 4.3). Es por esoque la complejidad es O(longitud camino3) ya que hay que recorrer el camino, y por cadadistancia, intentar reubicar la cadena en alguna otra parte del mismo.

4.1.5.4 Intercambio de caminos

En esta transformacion, se toman 2 porciones del camino y se intercambian entresı (figura 4.4). Es una generalizacion del intercambio entre nodos, pero con cadenas delongitud variable. Trabaja en un mayor espacio de busqueda, donde la complejidad derecorrerlo es O(longitud camino3), por los mismos motivos que en or-opt.

Page 26: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 20

Fig. 4.3: Or-opt: tomamos el mismo ejemplo que en la busqueda local reubicacion, pero esta vezen lugar de mover el primer nodo hacia el final, movemos el resto de los nodos hacia elprincipio.

Fig. 4.4: Intercambio de caminos: se puede observar que el intercambio de ambos tramos reduce ladistancia total.

4.1.5.5 2-opt

2-opt selecciona un tramo del camino y lo invierte (figura 4.5). La complejidad derecorrer el espacio es de O(longitud camino2) ya que por cada seccion del camino (nodo+ longitud) intentamos realizar la operacion.

Fig. 4.5: 2-opt: en este grafico se muestra como invirtiendo la cadena reducimos la distancia total.

Page 27: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 21

4.1.5.6 Intercambio interfamilia

Esta transformacion es la unica que incluye mejoras tomando en cuenta los nodosno utilizados en las familias. Por cada familia se obtienen 2 conjuntos: el de los nodosutilizados y el de los no utilizados en el camino. Luego se intentan intercambiar uno decada conjunto. El espacio del vecindario introducido es de O(cantidad nodos2).

4.1.5.7 Utilizacion de los algoritmos de mejora

Segun distintas pruebas, las busquedas sobre espacios reducidos y luego sobre espaciosmas amplios producen buenos resultados [16]. Es por eso que realizamos las operacionesen el siguiente orden:

1. reubicacion

2. intercambio

3. or-opt

4. intercambio de caminos

5. 2-opt

6. intercambio interfamilia

Estas operaciones las ejecutamos una cierta cantidad de veces. En distintas pruebasrealizadas determinamos que repitiendo las operaciones 4 veces obtenemos un balanceadecuado entre tiempo y calidad. Como mencionamos anteriormente debemos optar porrecorrer todo el espacio o solo una parte. En la seccion 5 evaluaremos que conviene elegir,y en caso de recorrer solo una parte del espacio cual sera la cantidad maxima de iteracionesque permitiremos sin notar ninguna mejora.

4.2. Algoritmo de colonia de hormigas para el FVRP

Como mencionamos previamente FVRP generaliza al FTSP ya que permite que losnodos tengan capacidades y se dispone de una cantidad infinita de transportes con ca-pacidad limitada para visitarlos. El algoritmo para la resolucion de FVRP se basa en elalgoritmo de FTSP introduciendo una serie de cambios que contemplan la utilizacion dem vehıculos, incluyendo las demandas de los clientes y la capacidad del transporte. Acontinuacion enumeramos las etapas del algoritmo FTSP y mencionamos dichos cambios.

Estructura general: En esta etapa no se registran cambios, ya que solo estamos ejecutandola estructura basica de esta version del OCH.

Generacion de hormigas y actividad: Como en FTSP, cada hormiga construye una solu-cion completa. Con respecto al movimiento de las hormigas realizamos leves cambiosdebido a la naturaleza del problema (algoritmo 10). En primer lugar se verifica lacapacidad del transporte antes de considerar el movimiento hacia otro nodo. Si nohay nodos disponibles se finaliza el recorrido y se agrega otro vehıculo. Por otro ladoagregamos la posibilidad de que los vehıculos retornen al deposito prematuramente.Se deben cumplir las siguientes condiciones: no debe haber ningun vecino disponible

Page 28: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 22

y el deposito debe estar a menor distancia que cualquier otro nodo disponible, o bienmas cercano que el vecino mas distante. Si se dan estas condiciones, utilizamos elvalor del parametro probabilidad de finalizacion temprana para definir si damos porfinalizado el recorrido o no.

Evaporacion de la feromona: Ocurre de la misma manera que en el caso anterior, respe-tando la estructura basica del algoritmo.

Acciones del demonio: Son identicas a las del algoritmo de FTSP salvo que en lugar derepartir feromona en base al mejor recorrido, se toman en cuenta todos los recorridosde la mejor solucion que hubo hasta el momento.

Busqueda local: Se realizan importantes cambios que seran descriptos en esta seccion.

Algoritmo 10: Generacion de hormigas y actividad para FVRP.

for h = 0 to cantidad de hormigas a generar doInicializar hormiga();while resten movimientos por realizar y el vehıculo tenga capacidad do

vi = nodo actual;forall the vj ∈ Vr(vi), vj no visitado y con capacidad para atenderlo do

pki,j =

[τi,j ]α ∗ [ηi,j ]

β∑u∈V k

Ω (i)[τi,j ]α ∗ [ηi,j ]β

si s ∈ V kΩ (i)

0 en otro caso

;

if @vj ∈ Vr(vi) thenforall the vj ∈ V (vi), vj no visitado y con capacidad para atenderlo do

pki,j =

[τi,j ]α ∗ [ηi,j ]

β∑u∈V k

Ω (i)[τi,u]α ∗ [ηi,u]βsi j ∈ V k

Ω (i)

0 en otro caso

;

if la distancia al deposito es menor que la del vecino mas lejano o esmenor que cualquier nodo disponible para movernos then

finalizamos el recorrido con una probabilidad definida porparametro();

if ∃vj con probabilidad de ser visitado thenseleccionamos el siguiente nodo entre los disponibles segun suprobabilidad de ser visitado y movemos la hormiga();

elseagregamos otro vehıculo y comenzamos nuevamente los movimientosdesde el deposito();

Page 29: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 23

4.2.1. Busqueda Local (BL)

En esta etapa del algoritmo mantendremos las transformaciones que se empleaban enFTSP aplicadas a cada vehıculo de la solucion de FVRP. La unica transformacion que no serealiza es el intercambio interfamilia ya que se podrıa estar intercambiando un nodo de unvehıculo por un nodo utilizado en algun otro. En este caso utilizamos otra transformacionque contempla intercambios teniendo en cuenta todos los vehıculos a la vez (intercam-bio interfamilia intervehıculos). Por otro lado agregamos distintas transformaciones queapliquen sobre el conjunto de vehıculos.

4.2.1.1 Reubicacion intervehıculos

Su funcionamiento es igual a la reubicacion en el recorrido de un solo vehıculo, conla diferencia que intenta intercambiar nodos entre los recorridos de distintos vehıculos,respetando su capacidad maxima. Su complejidad es la misma que en reubicacion para ununico vehıculo.

4.2.1.2 Intercambio intervehıculos

Su funcionamiento es igual al intercambio en el recorrido de un solo vehıculo, con lageneralizacion que se realiza para todos los vehıculos. Su complejidad es la misma que enintercambio para un unico vehıculo.

4.2.1.3 Intercambio de caminos intervehıculos

Su funcionamiento es igual al intercambio de caminos en el recorrido de un solo vehıcu-lo, con la generalizacion que se realizan cruces entre los recorridos de todos los vehıculos.Su complejidad es la misma que en intercambio de caminos para un unico vehıculo.

4.2.1.4 Intercambio de cola

Intentar cambiar todas cadenas de longitud arbitrarıa entre sı, requiere un trabajocomputacional muy grande. Si evitamos explorar todo el espacio de busqueda reducimosel trabajo pero perdemos la oportunidad de realizar mayor cantidad de mejoras. El in-tercambio de cola posee buen rendimiento en un espacio de busqueda mucho menor, delorden de O(cantidad nodos2) [16].

4.2.1.5 Intercambio interfamilia intervehıculos

Su funcionamiento es igual al intercambio interfamilia en el recorrido de un solo vehıcu-lo solo que teniendo en cuenta que el nodo a reemplazar no debe estar en ningun recorridode otro vehıculo (ya que ese movimiento ya lo realiza intercambio intervehıculos). Su com-plejidad es la misma que en el intercambio interfamilia para un unico vehıculo.

Page 30: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

4. Algoritmos de colonias de hormigas propuestos 24

4.2.1.6 Utilizacion de los algoritmos de mejora

Primero aplicamos los algoritmos entre caminos, y luego los que son por caminos. Elsiguiente proceso lo realizamos dos veces.

1. reubicacion intervehıculos

2. intercambio intervehıculos

3. intercambio de caminos intervehıculos

4. intercambio de cola

5. por cada camino: reubicacion

6. por cada camino: intercambio

7. por cada camino: or-opt

8. por cada camino: intercambio de caminos

9. por cada camino: 2-opt

10. intercambio interfamilia intervehıculos

Una excepcion a la utilizacion de los algoritmos de mejora por camino se realiza cuandoel mismo posee hasta 6 nodos. En esos casos resulta mas conveniente resolver de maneraexacta que con heurısticas ya que el tiempo de ejecucion es despreciable. Para lograr eseobjetivo realizamos todas las combinaciones posibles.

Si bien el intercambio interfamilia (tanto para uno o muchos vehıculos) tiene buenrendimiento (seccion 5) no agregamos mas transformaciones de este tipo porque creemosque el hecho de tener muchas hormigas iterando gran cantidad de veces esta cubriendo lafuncionalidad de intentar encontrar rutas con distintos subconjuntos de clientes de cadafamilia.

Page 31: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. RESULTADOS COMPUTACIONALES

5.1. Introduccion

A lo largo de esta seccion presentaremos los resultados obtenidos aplicando los algorit-mos sobre diversas instancias, y analizaremos el comportamiento observado. El problemaFTSP cuenta con instancias y resultados conocidos que seran utilizados para compararnuestro algoritmo con los publicados en [5]. El problema FVRP no cuenta con resultadosconocidos hasta la actualidad por lo tanto compararemos nuestro algoritmo contra otrosutilizando instancias del problema GVRP. Luego presentaremos el metodo utilizado paracrear nuevas instancias de FVRP y realizaremos la evaluacion correspondiente.

A continuacion presentaremos la metodologıa y resultados obtenidos en la busquedade los mejores parametros. En esta variante de colonia de hormigas tenemos que tener encuenta parametros clasicos de los metodos heurısticos como cantidad de iteraciones maxi-mas, o perıodos de tiempo maximos; variables clasicas aplicadas en las busquedas localescomo por ejemplo la cantidad de vecinos a visitar; y tambien variables mas especıficascomo el factor de evaporacion, entre otros.

5.2. Determinacion de parametros

Como mencionabamos anteriormente, hay muchos parametros a tener en cuenta. Pro-cederemos a enumerarlos y explicar brevemente que representan dentro del algoritmo.

1. Factor de evaporacion: determina la velocidad con la que se evapora la feromonadepositada en los ejes.

2. Factor de mejora: determina la cantidad de feromona a depositar en cada eje de lamejor solucion.

3. Factor de desmejora: determina la cantidad de feromona a retirar de cada eje de lapeor solucion.

4. Proporcion de mutacion normal: determina cuan probable es que un eje sufra alte-raciones en su feromona al azar.

5. Proporcion de mutacion fuerte: determina cuan probable es que un eje sufra alte-raciones en su feromona al azar, en etapas avanzadas del algoritmo donde tiende aestancarse en mınimos locales.

6. α: determina cuan probable es que se seleccione un eje segun su cantidad de feromona.A mayor α, se toma mas en cuenta aquel valor.

7. β: determina cuan probable es que se seleccione un eje segun su informacion heurısti-ca, en este caso es proporcional al costo de recorrer el eje. A mayor β, se toman masen cuenta los ejes de menor costo.

25

Page 32: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 26

8. Proporcion de hormigas: proporcion de hormigas en base a la cantidad de nodos dela instancia.

9. Cantidad mınima de hormigas: cantidad mınima de hormigas, independientementede la cantidad de nodos.

10. Cantidad maxima de hormigas: cantidad maxima de hormigas, independientementede la cantidad de nodos.

11. Porcentaje de hormigas - busqueda local: no conviene que a todas las hormigas se leaplique una busqueda local por el tiempo de procesamiento que se requiere. Por esoordenamos las hormigas segun la calidad de sus soluciones, y nos quedamos con lasmejores.

12. Cantidad maxima de hormigas - busqueda local: tope maximo de la cantidad dehormigas a las que se le aplicara la busqueda local.

13. Porcentaje de vecinos: restringiendo los movimientos entre nodos a un cierto porcen-taje de vecinos (nodos ordenados por cercanıa) obtenemos mejores resultados queal intentar movernos entre todos los nodos. En caso de no disponer de vecinos, losmovimientos no tendran restricciones.

14. Probabilidad de finalizacion temprana: aplica solo para el problema FVRP. Deter-mina la probabilidad de que un vehıculo retorne sin haber completado su capacidadal deposito.

15. Proporcion de cantidad de iteraciones general: factor que multiplica a la cantidad denodos, para obtener la cantidad de iteraciones sin mejora que se requieren para quese de por finalizado el programa.

16. Cantidad mınima de iteraciones general: cantidad mınima de iteraciones sin mejo-ras que debe haber para dar por finalizado el programa, independientemente de lacantidad de nodos.

17. Cantidad maxima de iteraciones general: cantidad maxima de iteraciones sin mejo-ras que debe haber para dar por finalizado el programa, independientemente de lacantidad de nodos.

18. Proporcion de cantidad de iteraciones busqueda local: factor que multiplica a la lon-gitud de las soluciones, para obtener la maxima cantidad de iteraciones sin mejorasque debe haber en la busqueda local para que se de por finalizada su ejecucion.

19. Cantidad de reinicios de feromona: cantidad de limpiezas de la feromona depositadaen los ejes que intentara realizar el programa.

20. Tiempo transcurrido sin mejoras para el reinicio de la feromona: perıodo de tiempomaximo que debe transcurrir sin que ocurra ninguna mejora para reiniciar los valoresde feromona depositada en los ejes.

21. Tiempo transcurrido sin mejora maximo: perıodo de tiempo maximo que debe trans-currir sin ninguna mejora para dar por finalizado el algoritmo, independientementede los reinicios de feromona.

Page 33: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 27

5.2.1. Instancias seleccionadas para FTSP

Al ser un problema relativamente nuevo, no disponemos de gran variedad de ins-tancias conocidas. Es por eso que utilizaremos para determinar los parametros algunasinstancias propuestas por Moran-Mirabal, Gonzalez-Velarde, y Resende [5]. Dichas ins-tancias se encuentran agrupadas por familias. “Burma14”, “bayg29” y “att48” son fami-lias de instancias relativamente pequenas, contienen 14, 29 y 48 nodos respectivamente.Segun pruebas preliminares, en este tipo de instancias los parametros seleccionados noinfluyen significativamente en el resultado ya que el algoritmo obtiene buenos resultadosen comparacion con los obtenidos en [5]. Por lo tanto utilizaremos una instancia de ca-da una de las siguientes familias: “bier127”, “a280”, “gr666” y “pr1002”, que contienen127, 280, 666, y 1002 nodos respectivamente. Las instancias seran: bier127 10 1001 1002,a280 20 1001 1002, gr666 30 1001 1003, pr1002 40 1001 1002. A partir de ahora cuandonos referiremos a cualquier instancia de la forma nombre-numero estaremos hablando dela instancia con dicho nombre que finalice con el numero indicado. Por ejemplo gr666-3 serefiere a gr666 30 1001 1003.

5.2.2. Criterio de evaluacion

En [5] los autores obtuvieron las soluciones optimas usando CPLEX [18] en las ins-tancias de hasta 48 nodos. Para instancias de 127 nodos y en una de 280 nodos utilizaronCPLEX pero retornando la mejor solucion encontrada (que no es la optima) hasta ciertacantidad de tiempo. Para el resto de las instancias compararon sus resultados con el me-jor valor proveniente de las ejecuciones de los algoritmos BRKGA y GRASP+evPR conuna duracion de 36.000 segundos. En las pruebas que realizaremos vamos a determinarla calidad de nuestras soluciones utilizando una metrica que nos permita comparar obje-tivamente si una solucion es mejor que otra. Tomando el mejor valor conocido hasta elmomento proveniente de los metodos GRASP+evPR, BRKGA, CPLEX (metodos utili-zados en [5]), utilizaremos como medida el error relativo. Este se define de la siguientemanera:

Er =Mejor Valor Conocido−Resultado

Resultado

Esta misma metrica la utilizaremos en todas las ocasiones en las que sera necesario evaluarla calidad de una solucion obtenida. Solo en el caso de la instancia bier127 10 1001 1002emplearemos como mejor valor un resultado obtenido por el metodo que estamos desarro-llando, ya que es menor al publicado con los demas metodos.

El algoritmo esta implementado en C#, compilado con el Visual Studio 2012. Todaslas pruebas seran realizadas sobre una PC Toshiba Satellite L555, de procesador Intel Corei5-430M de 2.27 GHz, con 4 GB de RAM y Windows 7 de 64-bits como sistema operativo.

En la seccion actual se realizan evaluaciones sobre distintos parametros. Cada uno delos valores obtenidos resultan de promediar los resultados de 5 ejecuciones de cada unade las instancias mencionadas previamente salvo que se indique lo contrario. Con respectoal resto de los parametros el objetivo fue que estos colaboren aumentando la influenciade los que se esta evaluando. En los casos del factor de evaporacion, factores de mejora y

Page 34: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 28

desmejora y factores de mutacion (normal y fuerte) se utilizo un α de 0,8 y un β de 0,2ya que el hecho de que las hormigas decidan su movimiento basandose fuertemente en losvalores de la feromona colabora a la evaluacion de dichos parametros. Para los parametrosrelacionados con cantidad de hormigas (en total, y en busqueda local), condiciones dereinicio y finalizacion temprana de vehıculos los valores de α y β fueron de 1 y 3 respecti-vamente.

El resto de los parametros se mantuvieron para todas las pruebas realizadas con lossiguientes valores: factor de evaporacion - 0,4, factor de mejora y de desmejora - 1, pro-porcion de mutacion normal y fuerte - 0.1 y 0,5 respectivamente, proporcion de hormigas -0,5, cantidad mınima de hormigas - 10, cantidad maxima de hormigas - 75, porcentaje dehormigas en la busqueda local - 0,5, cantidad maxima de hormigas en la busqueda local- 15, porcentaje de vecinos - 0,25, proporcion en la cantidad de iteraciones - 2, cantidadmınima y maxima en cantidad de iteraciones - 600 y 100 respectivamente, proporcion decantidad de iteraciones en busqueda local - 2, cantidad de reinicios - 1, tiempo transcurridosin mejoras para el reinicio de la feromona - 300 seg. y tiempo transcurrido sin mejoramaximo - 420 seg.

5.2.3. Factor de evaporacion

Se utiliza al finalizar cada iteracion y su valor determina en que porcentaje se reducela feromona de cada eje. A mayor factor de evaporacion, menor sera el valor de la fe-romona luego de cada iteracion, provocando que el algoritmo converja mas lentamente.Un valor demasiado alto provocara que se tengan menos en cuenta los resultados de lasmejores hormigas obtenidos en iteraciones anteriores, mientras que un valor demasiadobajo provocara que se conserven niveles altos de feromona evitando que se destaquen lasmejores soluciones. Se evaluo este parametro sobre los factores 0.0, 0.2, 0.3, 0.4, 0.6, 0.8 y 1.

Fig. 5.1: Evaporacion: error relativo de las instancias seleccionadas para los valores 0.0, 0.2, 0.3,0.4, 0.6, 0.8 y 1.

Observando la figura 5.1 en todas las instancias notamos una tendencia favorable alfactor de evaporacion 0.4. Si observamos el grafico de iteraciones (figura 5.2) notamosque hay una tendencia a disminuir la cantidad de las mismas a medida que el factor de

Page 35: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 29

Fig. 5.2: Evaporacion: cantidad de iteraciones de las instancias seleccionadas para los valores 0.0,0.2, 0.3, 0.4, 0.6, 0.8 y 1.

evaporacion se acerca a 1. Esto ocurre debido a que al haber tan poca feromona en lasaristas las hormigas terminan basando su decision en la informacion heurıstica que siemprees la misma, evitando la diversificacion y estancando la busqueda mas rapidamente.

5.2.4. Factores de mejora y de desmejora

Segun se detallo en la seccion 4 al aumentar estos factores estamos aplicando masferomona a los ejes del mejor camino encontrado hasta el momento, y disminuyendo la delpeor. Cuando el valor de los factores de mejora y desmejora son muy altos favorecemos laintensificacion, ya que aumenta la probabilidad de que futuras generaciones de hormigasrecorran el mejor camino. Por otro lado, valores bajos de dichos factores favorecen la diver-sificacion, ya que futuras generaciones de hormigas no se veran tan atraıdas por recorrerlos mejores ejes encontrados. Las pruebas fueron realizadas sobre serie de combinacionesentre ambos factores. Se probaron todas las combinaciones entre los valores 0.5, 1, 1.5 y2.

Fig. 5.3: Factor de mejora: promedio de los errores relativos tomando en cuenta los valores obte-nidos con los distintos factores de desmejora.

Page 36: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 30

Fig. 5.4: Factor de desmejora: promedio de los errores relativos tomando en cuenta los valoresobtenidos con los distintos factores de mejora.

En ningun grafico se percibe grandes variaciones en la calidad del resultado obtenido.En cuanto al factor de mejora (figura 5.3) el valor 1.5 posee el mejor rendimiento. Encuanto al factor de desmejora (figura 5.4) es donde menos variaciones hay, de aca inferimosque no es demasiado determinante. A pesar de eso los valores bajos (0.5 y 1) poseenlevemente un mejor rendimiento. Se evaluaron tambien la cantidad de iteraciones y enningun caso resultaron determinantes, no se presentan los graficos porque practicamenteno hay variaciones. El hecho de que el factor de desmejora no aporte gran impacto puededeberse a que la feromona de los ejes se inicializa con valor 0. Disminuir feromona en ejescon valor 0 no afecta a la busqueda. Se realizaron pruebas con valores de inicializacionmas elevados aunque el hecho de que la feromona se evapore en cada iteracion provocaque rapidamente los ejes que no aumenten el valor de su feromona queden con valoresmuy bajos por lo que tampoco se logra un gran cambio. Finalmente en base a las pruebasrealizadas tomamos en cuenta que la mejor calidad de las soluciones se obtuvo con losvalores 1.5 para el factor de mejora y 0.5 para el de desmejora.

5.2.5. Factores de mutacion normal y fuerte

Para entender mejor estos valores recordemos que para aplicar la mutacion realizamosun recorrido por cada nodo, seleccionamos un eje del vecindario al azar y la probabilidadde que variemos su feromona estara determinado por estos factores. La diferencia entreambos es que el primero se aplica mientras que se encuentren mejoras en el algoritmo,mientras que el otro se aplica cuando la busqueda se esta estancando. Luego la probabi-lidad de mutacion fuerte se comienza a aplicar cuando se alcanzo la mitad de la maximacantidad de iteraciones sin mejora o bien ya ha transcurrido la mitad del tiempo maxi-mo sin que se produzcan mejoras. La introduccion de este cambio es producto de creerque al estancarse el algoritmo en un mınimo local debemos favorecer a la diversificacion,depositando o retirando feromonas al azar con el fin de que futuras generaciones de hor-migas recorran otros caminos. En pruebas preliminares el hecho de introducir este ultimoparametro produjo mejoras en los resultados.

Page 37: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 31

Las primeras pruebas que presentaremos se realizaron modificando cualquier arista alazar, no solo perteneciente al vecindario sino a todos lo ejes sin utilizar la probabilidad demutacion fuerte. Los valores a evaluados fueron 0.0, 0.25, 0.5, 0.75 y 1.

Fig. 5.5: Mutacion normal: error relativo de las instancias seleccionadas para los valores 0.0, 0.25,0.5, 0.75 y 1.

Fig. 5.6: Mutacion normal: cantidad de iteraciones de las instancias seleccionadas para los valores0.0, 0.25, 0.5, 0.75 y 1.

De las figuras 5.5 y 5.6 no podemos obtener buenas conclusiones ya que las pruebasarrojan resultados muy variados. La unico que determinamos es que la mutacion no cau-saba el efecto esperado. Luego cambiamos el algoritmo, realizando la modificacion de laferomona solo para las aristas vecinas para los valores 0.0, 0.1, 0.25, 0.5, 0.75, y 1.

Page 38: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 32

Fig. 5.7: Mutacion normal en vecinos: error relativo de las instancias seleccionadas para los valores0.0, 0.1, 0.25, 0.5, 0.75 y 1.

Fig. 5.8: Mutacion normal en vecinos: cantidad de iteraciones de las instancias seleccionadas paralos valores 0.0, 0.1, 0.25, 0.5, 0.75 y 1.

Realizando el cambio observamos que en las figuras 5.7 y 5.8 se percibe con mayorclaridad el efecto de la mutacion, especialmente en la cantidad de iteraciones efectuadas.Primero mencionamos que en el caso de la mayor instancia, el mejor resultado se encuentracon el valor 0.1. Por otro lado, si bien baja un poco la calidad de las soluciones de lasinstancias mas chicas en comparacion con no utilizar la mutacion (valor 0.0), la cantidadde iteraciones necesarias para encontrar la mejor solucion disminuye considerablemente.Esto puede deberse a que al utilizar levemente la mutacion en las aristas de menor costode cada nodo aumenta la diversificacion acotada a un conjunto donde probablemente seencuentre el mejor valor.

Veamos ahora que sucede si utilizamos la probabilidad de mutacion fuerte, manteniendola probabilidad normal de mutacion en 0.1. Los valores a emplear seran 0.1 (sin mutacionfuerte), 0.2, 0.3, y 0.4.

Page 39: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 33

Fig. 5.9: Mutacion fuerte en vecinos: error relativo de las instancias seleccionadas para los valores0.1, 0.2, 0.3, 0.4. Valor de mutacion normal: 0.1.

Fig. 5.10: Mutacion fuerte en vecinos: cantidad de iteraciones de las instancias seleccionadas paralos valores 0.1, 0.2, 0.3, 0.4. Valor de mutacion normal: 0.1.

Si bien en las figuras 5.9 y 5.10 no se observan mejoras al utilizar este cambio, si hayuna tendencia en disminuir la cantidad de iteraciones necesarias tomando el valor 0.2. Lainstancia bier127 es la que mas se ve beneficiada de utilizar este valor, mientras que alresto le disminuye la calidad o bien no la altera significativamente. No se pueden obtenerconclusiones definitivas sobre el aumento o no de la feromona en etapas avanzadas dela busqueda. Por un leve mejor rendimiento nuestra decision para las pruebas definitivassera utilizar la probabilidad de mutacion fuerte con valor 0.2.

5.2.6. α y β

Estos valores representan los criterios que se utilizaran en la toma de decisiones decada hormiga al momento de seleccionar a que nodo moverse. A mayor valor de α masse tomara en cuenta la informacion proveniente de la feromona. A mayor valor de β masse tomara en cuenta la informacion heurıstica que permanece constante a lo largo de la

Page 40: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 34

ejecucion del algoritmo y que esta basada en la distancia entre los nodos. Estos valoresdeben evaluarse en conjunto, aumentando α y disminuyendo β o viceversa. Se realizaranpruebas para todas las combinaciones entre los valores 0.5, 1, 2 y 3 sobre los cuales ya sehan realizado muchas pruebas en distintas aplicaciones [11].

bier127 - 2 a280 - 2 gr666 - 3 pr1002 - 2α = 0,5; β = 0.5 0,02126 0,0495 0,1095 0,0534α = 0,5; β = 1 0,03153 0,0348 0,1134 0,0493α = 0,5; β = 2 0,0140 0,00368 0,0632 0,0011α = 0,5; β = 3 0,0065 0,0081 0,0373 0,0229α = 1; β = 0,5 0,0224 0,0454 0,1085 0,0618α = 1; β = 1 0,0225 0,0363 0,0891 0,0440α = 1; β = 2 0,0185 0,0203 0,0665 0,0319α = 1; β = 3 0,0067 0,0004 0,0369 0,0346α = 2; β = 0,5 0,0195 0,0368 0,0820 0,0551α = 2; β = 1 0,0173 0,0396 0,0951 0,0600α = 2; β = 2 0,0100 0,0396 0,0726 0,0378α = 2; β = 3 0,0151 0,0234 0,0415 0,0190α = 3; β = 0,5 0,0107 0,0485 0,0934 0,0375α = 3; β = 1 0,0238 0,0435 0,0604 0,0517α = 3; β = 2 0,0077 0,0265 0,0565 0,0446α = 3; β = 3 0,0181 0,0411 0,0390 0,0065

Tab. 5.1: α y β: promedio del error relativo de las instancias seleccionadas para las combinacionesentre los valores 0.5, 1, 2 y 3.

Segun las pruebas realizadas presentadas en la tabla 5.1 la mejor combinacion de αy β es 1 y 3 respectivamente. En 3 de las 4 instancias se encontro el menor promedio deerror relativo y en la mayor instancia si bien el mejor α fue de 3, el mejor β tambien fuede 3 como en los casos anteriores. A partir de ahora consideraremos como mejor valor unα de 1 y un β de 3.

5.2.7. Hormigas

En principio se realizaron pruebas preliminares donde se buscaba encontrar que propor-cion de hormigas debıa haber, en relacion a la cantidad de nodos. Sin embargo, posterior-mente sucedio que en instancias muy chicas se podrıa haber utilizado mayor cantidad dehormigas sin afectar el rendimiento del algoritmo, mientras que en instancias muy grandesdemasiada cantidad de hormigas provocaba que en un mismo perıodo se realizaran menositeraciones, aprovechando menos las feromonas de las mejores hormigas y convergiendomas lentamente. Con el fin de tener un mejor panorama acerca del comportamiento delalgoritmo segun la cantidad de hormigas se realizaron distintas pruebas.

Por un lado probamos con aumentar la cantidad de hormigas, sin aumentar la cantidadde hormigas que realizan busqueda local. Por otro lado mantuvimos una cantidad elevadade hormigas y variamos los valores de la cantidad de hormigas que si realizan busquedalocal. Los valores de la cantidad de hormigas evaluadas fueron: 10, 25, 50, 75, 100 y 150,con una cantidad maxima que realizaron busqueda local de 20. Mas adelante fijamos lacantidad de hormigas en 75 y variamos la cantidad que realizan busqueda local en losvalores 10, 20, 30, 40 y 50.

Page 41: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 35

Fig. 5.11: Hormigas: error relativo de las instancias seleccionadas para los valores 10, 25, 50, 75,100, 150. Maxima cantidad que realizan busqueda local: 20.

Fig. 5.12: Hormigas: promedio de cantidad de iteraciones para los valores 10, 25, 50, 75, 100, 150.Maxima cantidad que realizan busqueda local: 20.

Fig. 5.13: Hormigas: promedio de tiempo de busqueda para los valores 10, 25, 50, 75, 100, 150.Maxima cantidad que realizan busqueda local: 20.

En base a los resultados presentados en las figuras 5.11, 5.12 y 5.13 podemos apreciarque si bien es evidente la mejora aumentando las hormigas en los casos donde la cantidadde nodos es menor como bier127 y a280, no es evidente en los casos mas grandes como

Page 42: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 36

gr666 y pr1002. Por otro lado la cantidad de iteraciones disminuye, pero no ası la cantidadde tiempo empleado. Es decir que a mayor cantidad de hormigas mas tiempo se consumepor iteracion, disminuyendo la cantidad total de iteraciones. Una conclusion que podemosobtener es que cuando la cantidad de nodos no es muy grande, podemos aumentar lacantidad de hormigas sin afectar significativamente el rendimiento. En cambio en instanciasgrandes, no necesariamente conviene aumentar la cantidad de hormigas tan rapidamente.

Fig. 5.14: Cantidad de hormigas en la busqueda local: error relativo de las instancias seleccionadaspara los valores 10, 20, 30, 40, 50. Cantidad de hormigas: 75.

Fig. 5.15: Cantidad de hormigas en la busqueda local: cantidad de iteraciones promedio de lasinstancias seleccionadas para los valores 10, 20, 30, 40, 50. Cantidad de hormigas: 75.

Teniendo en cuenta las figuras 5.14, 5.15 y 5.16 podemos notar un hecho importante:la cantidad de hormigas en la busqueda local afecta significativamente el rendimiento de lacolonia de hormigas. En primer lugar la instancia de 127 nodos obtuvo su mejor resultadocon 20 hormigas, y disminuyo el rendimiento a medida que se agregaron mas hormigas conbusqueda local. En instancias mas grandes si bien mejoro el resultado, se empleo muchomas tiempo y disminuyo la cantidad de iteraciones. En definitiva disminuir la cantidad deiteraciones provoca que la colonia no evolucione. El enfoque que debemos emplear debe serel de aumentar la cantidad de iteraciones, no la cantidad de hormigas en la busqueda local.

Page 43: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 37

Fig. 5.16: Cantidad de hormigas en la busqueda local: perıodo de tiempo promedio de las instanciasseleccionadas para los valores 10, 20, 30, 40, 50. Cantidad de hormigas: 75.

Procedemos a tomar como mejor valor una cantidad de 20 hormigas para dicha busqueda.

5.2.8. Cantidad de vecinos

Cuando una hormiga decide realizar un movimiento tiene que evaluar las posiblesalternativas basandose en la informacion heurıstica y la cantidad de feromona. Segunpruebas preliminares al reducir las alternativas de sus movimientos a un cierto porcentajede vecinos ayudamos a que la convergencia se produzca hacia un mejor resultado y masrapidamente. En aquellas pruebas preliminares el hecho de introducir el concepto de ve-cindario utilizando un 25 % de los nodos como vecinos produjo mejoras significativas. Laspruebas fueron realizadas para los valores 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.55 y 0.6.

Fig. 5.17: Calidad de las soluciones obtenidas en base al tamano del vecindario.

Como podemos observar en la figura 5.17 considerando vecindarios mas acotados queronden entre 20 % y 25 % logramos mejores resultados.

Page 44: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 38

5.2.9. Busqueda local (BL)

La busqueda local utilizada en este algoritmo es parte fundamental en la calidad delresultado. Segun diversas pruebas realizadas el tiempo empleado en la busqueda local vadesde el 50 % hasta el 95 % del tiempo total del algoritmo (figura 5.18). Por eso cualquiermejora en el rendimiento de esta funcionalidad afecta significativamente al resto.

La busqueda local se puede aplicar a todas las hormigas o solo a las mejores. Un fac-tor importante a tener en cuenta es la cantidad de hormigas que participaran en estabusqueda. El parametro porcentaje de hormigas - busqueda local representa la proporcionde hormigas que se veran involucradas. En instancias chicas podrıamos realizar esta ope-racion en todas las hormigas, pero en instancias grandes hay que tener mucho cuidado yaque una cantidad excesiva consumirıa tanto tiempo que podrıa ocurrir que al no habermejoras en un perıodo prolongado, el algoritmo termine realizando pocas iteraciones.Otro factor importante es el hecho de recorrer todo el espacio de busqueda o bien seleccio-nar al azar distintos movimientos para realizar en cada busqueda local. Si no recorremostodo el espacio, debemos definir que cantidad de iteraciones sin que se produzcan mejorasaceptamos como maximo. En este caso, dicha cantidad sera proporcional a la longituddel circuito a optimizar. En este ultimo caso, disponemos del parametro proporcion decantidad de iteraciones busqueda local.

Fig. 5.18: Distribucion del porcentaje de tiempo empleado en busqueda local sobre el total de laejecucion en una unica corrida de todas las instancias presentadas en [5].

5.2.9.1 Porcentaje de hormigas utilizadas para la BL

Se realizaron distintas pruebas de rendimiento durante el desarrollo de este trabajo, yen ningun caso resultaba conveniente que se superaran las 25 hormigas para la busquedalocal. Es decir, si tenemos 25 hormigas podrıamos aplicarle la busqueda al 100 % de lasmismas, pero si tenemos 100 hormigas no conviene que la busqueda se aplique en mas del25 %. Este valor lo denominaremos cantidad maxima de hormigas para realizar busquedalocal y es otro parametro del programa.

Page 45: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 39

5.2.9.2 Cantidad de iteraciones en la BL

El lımite maximo soportado en el cual se finalizara cada BL es proporcional a lalongitud del camino a mejorar. Diversas pruebas realizadas demuestran que si la proporcionsupera 2 o 3 veces la longitud del camino el rendimiento se reduce considerablemente. Poreste motivo fijamos el valor en 2.

5.2.9.3 Espacio explorado

Esta es la seccion mas importante dentro de la BL. Para evaluar el rendimiento decada algoritmo utilizamos dos contadores, uno para determinar la cantidad de veces quese intenta realizar un movimiento, y otro para determinar la cantidad de veces que seproducen mejoras. A continuacion veamos los datos obtenidos en distintas ejecucionesque se realizaron sobre las instancias gr666 30 1001 1002 (gr666-2) y gr666 30 1001 1003(gr666-3).

Instancia Reubicacion Intercambio Or-Opt Inter. de caminos 2-Opt Inter. Familiagr666-2 26.458 / 1.597.569 3.458 / 1.597.569 1.569 / 1.193.447 143 / 751.635 32.092 / 5.648.476 37.830 / 1.893.481gr666-2 193.954 / 2.629.322 8.897 / 2.629.322 2.874 / 1.600.345 136 / 582.159 72.015 / 9.703.811 69.211 / 1.912.277gr666-2 148.333 / 3.192.368 9.918 / 3.192.368 4.151 / 2.175.002 143 / 675.821 41.214 / 11.972.491 80.510 / 2.608.268gr666-3 199.494 / 4.891.649 14.769 / 4.891.649 6.857 / 3.476.721 260 / 1.187.873 139.606 / 19.291.032 120.971 / 4.586.540gr666-3 315.697 / 4.506.731 15.724 / 4.506.731 4.806 / 2.651.880 224 / 946.523 118.701 / 15.669.758 113.227 / 3.443.686gr666-3 23.412 / 1.298.975 2.788 / 1.298.975 1.250 / 987.815 73 / 368.720 26.965 / 4.716.149 32.355 / 1.738.130

Tab. 5.2: Mejoras sobre total de la cantidad de iteraciones. Los datos corresponden a 3 ejecucionessobre las instancias gr666-2 y gr666-3.

Como se puede observar en la tabla 5.2 la mayor parte de las mejoras las realizanreubicacion, 2-opt y el intercambio de familia, mientras que intercambio de caminos se en-cuentra en el ultimo lugar. Como la complejidad de recorrer todo el espacio en intercambiode caminos es de O(n3), solo lo vamos a realizar cuando la cantidad de nodos no sea muygrande. Segun distintas pruebas realizadas recorriendo todo el espacio en instancias consoluciones menores a 64 nodos no perdemos tanto rendimiento, sin embargo en instanciasmayores seleccionaremos cambios al azar hasta que la cantidad de iteraciones sin mejorano supere el tope descripto en la seccion 4. No obstante en todos los casos la busquedaintercambio de nodos en familia explorara todo el espacio ya que la relacion entre el costocomputacional y el beneficio obtenido es muy bueno.

Puede ocurrir que el intercambio de caminos se encuentre solapado por el intercambiode nodos o simplemente no sea muy efectivo en estos casos pero de cualquier forma comola complejidad es muy alta y no nos produce un beneficio acorde en cuanto a las mejorasque aporta realizaremos la siguiente modificacion: evitamos ejecutar esta transformacion yexploraremos todo el espacio en los algoritmos reubicacion, intercambio, 2-opt (los mejoresalgoritmos) con una complejidad menor del orden de O(n2). El resto de las transformacio-nes tendran el tope descripto anteriormente. A continuacion se muestra una comparacionde los resultados producto del cambio, tanto de la calidad de la solucion obtenida comodel tiempo de ejecucion para la instancia gr666-2 en 2 corridas del proceso.

Page 46: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 40

Costo T. (s) Reubicacion Intercambio Or-Opt Inter. de caminos 2-Opt Inter. Familia1.757,92 402 193.954 / 2.629.322 8.897 / 2.629.322 2.874 / 1.600.345 136 / 582.159 72.015 / 9.703.811 69.211 / 1.912.2771.718,94 636 148.333 / 3.192.368 9.918 / 3.192.368 4.151 / 2.175.002 143 / 675.821 41.214 / 11.972.491 80.510 / 2.608.268

Tab. 5.3: Resultados anteriores al cambio de la exploracion del espacio de busqueda.

Costo T. (s) Reubicacion Intercambio Or-Opt Inter. de caminos 2-Opt Inter. Familia1.372,97 1457 123.024 / 1.174.440 505 / 1.174.440 211 / 1.096.619 0 / 0 44.060 / 157.669.774 146.283 / 5.931.0861.374,97 754 57.889 / 544.158 234 / 544.158 115 / 512.930 0 / 0 20.028 / 5.759.610 20.309 / 72.770.059

Tab. 5.4: Resultados posteriores al cambio de la exploracion del espacio de busqueda.

Como podemos observar en las tablas 5.3 y 5.4 el costo computacional es significativa-mente menor en los casos posteriores al cambio en el espacio de busqueda, aunque tenemosun aumento de hasta 100 % del tiempo total de la ejecucion. En este trabajo tomamos ladecision de mantener esta exploracion teniendo en cuenta que priorizamos la calidad delos resultados por sobre el tiempo de ejecucion.

5.2.10. Cantidad de iteraciones y tiempos de ejecucion

La cantidad de iteraciones a realizar es fundamental para aprovechar al maximo laferomona depositada por las mejores soluciones encontradas. Cuando transcurre un deter-minado perıodo de tiempo o bien se alcanza la maxima cantidad de iteraciones sin mejorase realiza un reinicio de feromona, pudiendo converger hacia una mejor solucion que enel caso anterior. Una vez alcanzada la cantidad de reinicios de feromona pasados comoparametro o al superarse el perıodo maximo sin registrar mejoras se da por finalizada laejecucion del programa. Cuando el tiempo transcurrido sin mejoras para el reinicio de laferomona se completa el algoritmo se comporta como en su estado inicial. Un tiempo pro-longado para provocar este reinicio serıa innecesario ya que podrıa no producirse ningunamejora, mientras que un perıodo muy corto podrıa evitar el hallazgo de mejores soluciones.

Los valores de los parametros mencionados deberan buscarse teniendo en cuenta enque iteraciones se producen mejoras y en que momento deja de haberlas. Parte de los datosque se obtienen de la ejecucion del programa nos indican aquellos momentos de mejora.A continuacion presentaremos varios momentos de mejora en distintas corridas para lasinstancias en las que estuvimos trabajando, con los siguientes parametros:

1. Proporcion de cantidad de iteraciones sin mejora aceptadas sobre el total de nodos:2. Por ej. para 127 nodos dicha cantidad es de 254.

2. Tiempo maximo sin mejoras aceptado: 12 minutos.

Page 47: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 41

Costo Anterior Nuevo Costo Nro. de iteracion Segundos transcurridos- 110.448,54 0 0,12

110.448,54 104.659,41 1 0,23104.659,41 98.633,24 2 0,36

Tab. 5.5: bier127 - 2: primera ejecucion. Cantidad total de iteraciones: 257, tiempo transcurrido:28 seg.

Costo Anterior Nuevo Costo Nro. de iteracion Segundos transcurridos- 104.126,16 0 0,11

104.126,16 102.978,75 1 0,22102.978,75 101.138,09 12 1,44101.138,09 100.562,97 15 1,78100.562,97 99.703,54 19 2,2099.703,54 99.630,09 29 3,3199.630,09 98.553,17 64 7,1598.553,17 98.514,27 97 10,7198.514,27 98.410,21 146 15,9798.410,21 97.416,33 189 20,8097.416,33 95.675,80 351 38,60

Tab. 5.6: bier127 - 2: segunda ejecucion. Cantidad total de iteraciones: 606, tiempo transcurrido:66 seg.

Costo Anterior Nuevo Costo Nro. de iteracion Segundos transcurridos- 101.621,62 0 0,10

101.621,62 99.389,37 15 1,7999.389,37 98.450,92 113 12,5498.450,92 97.962,00 145 16,0197.962,00 96.623,22 228 25,33

Tab. 5.7: bier127 - 2: tercera ejecucion. Cantidad total de iteraciones: 483, tiempo transcurrido: 53seg.

Analicemos las tablas 5.5, 5.6 y 5.7. En el primer caso nos encontramos rapidamentecon un buen camino, luego, producto de la feromona depositada en la iteracion 0, selogran mejoras en las iteraciones 1 y 2. Lamentablemente luego de haber mejorado 3veces consecutivas en soluciones vecinas, no logramos evitar caer en el mınimo local. Enel segundo caso encontramos mejoras hasta la iteracion 351 por lo que podemos afirmarque en este caso logramos aprovechar la alta cantidad de iteraciones. Por ultimo en eltercer caso tenemos un intermedio donde se lograron mejoras hasta la iteracion 228, perono se pudo seguir mejorando. En principio pareciera que la cantidad de iteraciones y eltiempo extra que se dejo correr el algoritmo a partir de la ultima mejora alcanzarıan paradeterminar que efectivamente se habıa alcanzado un buen valor.

Page 48: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 42

Costo Anterior Nuevo Costo Nro. de iteracion Segundos transcurridos- 1.695,16 0 2,72

1.695,16 1.621,60 3 11,261.621,60 1.459,48 16 47,13

Tab. 5.8: gr666 - 2: primera ejecucion. Cantidad total de iteraciones: 252, tiempo transcurrido: 797seg.

Costo Anterior Nuevo Costo Nro. de iteracion Segundos transcurridos- 1.594,11 0 2,79

1.594,11 1.588,10 12 36,151.588,10 1.573,56 33 108,701.573,56 1.535,66 70 223,261.535,66 1.522,35 196 618,721.522,35 1.494,38 387 1224,38

Tab. 5.9: gr666 - 2: segunda ejecucion. Cantidad total de iteraciones: 627, tiempo transcurrido:1977 seg.

Costo Anterior Nuevo Costo Nro. de iteracion Segundos transcurridos- 1.705,74 0 2,76

1.705,74 1.626,24 1 5,601.626,24 1.501,03 8 25,101.501,03 1.482,99 68 215,48

Tab. 5.10: gr666 - 2: tercera ejecucion. Cantidad total de iteraciones: 308, tiempo transcurrido: 966seg.

Con respecto a las tablas 5.8, 5.9 y 5.10 tenemos el primer caso, donde tanto la canti-dad de iteraciones como el tiempo no lograron que se obtengan mejores resultados que enla iteracion 16. Luego en el segundo caso tuvieron que pasar 10 minutos y 191 iteracionespara que se produzca la ultima mejora. Por ultimo en el tercer caso el proceso encontro elmejor resultado en el segundo 215, 190 segundos despues de haber encontrado el anterior.Las conclusiones que surgen a raız de estos datos es que 10 minutos sin que se produzcanmejoras es un tiempo excesivo, ya que es muy poco habitual que se logren mejores resulta-dos despues de transcurrido ese tiempo. 5 minutos pareciera ser una mejor medida, luegopodrıamos limpiar la feromona y reiniciar el proceso. Es mas probable que se encuentrenmejores resultados en 2 ejecuciones de 5 minutos que en una de 10.

Page 49: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 43

5.3. Resultados para el FTSP

Las instancias que presentamos provienen del trabajo publicado a comienzos de esteano en [5]. En este trabajo realizamos la ejecucion del algoritmo 5 veces en todas loscasos. Con respecto a la tabla 5.11 la columna objetivo corresponde a resultados optimosprovenientes de ejecuciones de CPLEX en las instancias de hasta 48 nodos. Para el resto delas instancias utilizamos el mejor valor conocido hasta la actualidad. En la columna Dif. 1tomamos el mejor promedio de ambos algoritmos y lo comparamos con nuestro promedio.En la columna Dif. 2 comparamos el mejor valor conocido hasta el momento (el mınimoentre objetivo, BRKGA, y GRASP+PR) con el mejor valor obtenido en nuestra ejecucion.Por ultimo mostramos el tiempo promedio en segundos de las busquedas realizadas. Losparametros utilizados fueron:

1. Factor de evaporacion: 0,4.

2. Factor de mejora: 1,5.

3. Factor de desmejora: 0,5.

4. Probabilidad de mutacion normal: 0,1.

5. Probabilidad de mutacion fuerte: 0,2.

6. α: 1.

7. β: 3.

8. Proporcion de hormigas: 0,3.

9. Cantidad mınima de hormigas: 20.

10. Cantidad maxima de hormigas: 100.

11. Porcentaje de hormigas - Busqueda local: 0,5.

12. Cantidad maxima de hormigas - Busqueda local: 20.

13. Porcentaje de vecinos: 0,25.

14. Proporcion de cantidad de iteraciones general: 2.

15. Cantidad mınima de iteraciones general: 600.

16. Cantidad maxima de iteraciones general: 1000.

17. Proporcion de cantidad de iteraciones busqueda local: 2.

18. Cantidad de reinicios para feromona: 5.

19. Tiempo transcurrido sin mejoras para el reinicio de la feromona (en segundos): 420.

20. Tiempo transcurrido sin mejora maximo (en segundos): 800.

21. Algoritmos utilizados en la busqueda local: reubicacion y 2-opt exploran todo elespacio, intercambio, intercambio de caminos e intercambio en familia iteran hastaalcanzar 2 veces la longitud del camino sin que se produzcan mejoras. No realizamosor-opt ya que segun los experimentos realizados no posee un buen rendimiento.

Page 50: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 44

Ob

jeti

vo

BR

KG

AG

RA

SP

+ev

PR

Colo

nia

de

hor

mig

as

-S

MP

HN

omb

red

ein

stan

cia

Pro

med

ioM

ejor

Pro

med

ioM

ejor

Pro

med

ioD

if.

1M

ejor

Dif

.2

T.

(s)

bu

rma1

43

1001

1001

(∗)

13,9

313

,93

13,9

313,9

313,9

313,9

30,0

013,9

3%

0,0

0%

2b

urm

a14

310

0110

02(∗

)25

,66

25,6

625,6

625,6

625,6

625,6

60,0

025,6

6%

0,0

0%

5b

urm

a14

310

0110

03(∗

)11

,89

11,8

911,8

911,8

911,8

911,8

90,0

011,8

9%

0,0

0%

1b

ayg2

94

1001

1001

(∗)

5345

,86

5345

,86

5345,8

65345,8

65345,8

65345,8

60,0

0%

5345,8

60,0

0%

22

bay

g29

410

0110

02(∗

)57

91,0

157

91,0

15791,0

15791,0

15791,0

15791,0

10,0

0%

5791,0

10,0

0%

29

bay

g29

410

0110

03(∗

)55

44,3

355

44,3

35544,3

35544,3

35544,3

35544,3

30,0

0%

5544,3

30,0

0%

28

att4

85

1001

1001

(∗)

2368

6,02

23686,0

223686,0

223709,6

223686,0

223954,5

41,1

3%

23834,1

30,6

3%

224

att4

85

1001

1002

(∗)

2060

9,09

20609,0

920609,0

920635,5

720635,5

721026,7

32,0

3%

20679,0

90,3

4%

92

att4

85

1001

1003

(∗)

9024

,58

9024

,58

9024,5

89024,5

89024,5

89024,5

80,0

0%

9024,5

80,0

0%

25

bie

r127

1010

0110

0136

800,

3936

950,

7536913,7

436856,1

736800,3

934794,3

2-5

,59

%34500,9

8-6

,25

%1475

bie

r127

1010

0110

0297

615,

4198

333,

4698216,1

098370,6

397615,4

192531,8

8-5

,90

%92135,2

9-5

,61

%334

bie

r127

1010

0110

0350

513,

1050

891,

3650513,1

050920,7

750715,4

948438,1

7-4

,82

%48104,2

1-4

,77

%1107

a280

2010

0110

0118

91,1

621

64,4

02126,3

41898,1

71891,1

61834,6

0-3

,35

%1807,1

6-4

,44

%2336

a280

2010

0110

0216

97,4

819

80,8

41925,2

81702,3

31697,4

81631,9

0-4

,14

%1616,5

3-4

,77

%2060

a280

2010

0110

0315

97,2

517

40,7

81720,2

31598,4

91597,2

51496,1

9-6

,40

%1479,7

4-7

,36

%1837

gr66

630

1001

1001

1817

,06

2733

,62

2625,6

91848,5

01817,0

61678,6

6-9

,19

%1670,4

7-8

,07

%2168

gr66

630

1001

1002

1443

,05

2390

,46

2275,8

01451,1

01443,0

51372,6

9-5

,40

%1370,1

3-5

,05

%1152

gr66

630

1001

1003

1358

,12

3062

,17

2426,5

91403,0

01384,1

81315,4

0-6

,24

%1292,7

1-4

,82

%2038

pr1

002

4010

0110

0116

3461

,79

4326

65,7

2421061,6

3164721,6

6163461,7

9150481,2

3-8

,65

%149774,4

3-8

,37

%3247

pr1

002

4010

0110

0218

2144

,13

4459

54421761,0

0184440,1

8182144,1

3163014,2

6-1

1,6

2%

162302,5

0-1

0,8

9%

2384

pr1

002

4010

0110

0314

9456

,63

3265

61,6

1284856,2

2149838,1

3149456,6

3138584,0

6-7

,51

%138031,5

9-7

,64

%1561

Tab

.5.

11:

Res

ult

ados

de

las

ejec

uci

ones

real

izad

asp

ara

tod

as

las

inst

an

cias

pre

senta

das

de

FT

SP

[5].

(∗)

Elva

lor

ob

jeti

voco

nti

ene

resu

ltad

os

op

tim

os

pro

ven

iente

sd

eej

ecu

cion

esd

eC

PL

EX

enla

sin

stan

cias

de

hast

a48

nod

os.

Para

elre

sto

de

las

inst

an

cias

uti

liza

mos

elm

ejor

valo

rco

noci

do

has

tala

actu

alid

ad.

Page 51: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 45

En la tabla 5.11 podemos observar que el algoritmo responde con buenos resultadostanto en instancias medianas (127, 280 nodos) como en instancias grandes (666, 1002nodos). El caso mas llamativo ocurre en las instancias chicas de 48 nodos donde no selogro alcanzar el mejor resultado presentado previamente.

5.4. FVRP

Como FVRP es un problema que se define en este trabajo generaremos nuevas ins-tancias para poder probar nuestro algoritmo. Para poder comparar con resultados previosutilizaremos instancias del problema generalizado de ruteo de vehıculos (GVRP).

5.4.1. Generacion de nuevas instancias de FVRP

Las instancias de FVRP fueron generadas a partir de tomar las instancias ya existen-tes de FTSP y agregando la capacidad del vehıculo y la demanda por cada cliente. Lacapacidad del vehıculo es de 1000 unidades y la demanda de cada cliente se distribuye dela siguiente manera:

1. 30 % de que la demanda de un cliente sea entre 1 y 100 unidades

2. 50 % de que la demanda de un cliente sea entre 100 y 600 unidades

3. 20 % de que la demanda de un cliente sea entre 600 y 1000 unidades

Como aclaramos en la definicion del problema cualquier conjunto de nodos que visite-mos en cada familia cumplira con la demanda del grupo. Por eso consideramos la demandade cada familia equivalente a la del menor conjunto de nodos que podamos visitar. Con-sideramos a la funcion d′(Fl) a la demanda de la familia l. Luego:

d′(Fl) = min(∑

v∈V ′ d(v)) ∀V ′ ⊆ Fl, |V ′| = nvl ∀Fl ∈ K.

5.4.2. Probabilidad de finalizacion temprana

En este problema utilizamos los mismos parametros que en FTSP y ademas determi-namos una probabilidad de finalizacion temprana que describiremos a continuacion. Seutiliza cuando nos encontramos en un nodo cuyo vecindario ya se encuentra visitado. Co-mo se detallo en la seccion aplicacion, si estamos ubicados en un lugar cercano al depositoo el nodo mas cercano disponible se encuentra a mayor distancia del deposito, finalizare-mos el recorrido con esta probabilidad. Las instancias de prueba fueron definidas comomencionamos previamente (seccion 5.4.1). Por otro lado al no tener una cota inferior delproblema presentaremos los valores obtenidos en esta etapa de pruebas para las instanciasmodificadas de bayg29, att48, y bier127 en lugar de los errores relativos.

Page 52: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 46

bayg29 - 1 bayg29 - 2 bayg29 - 3 att48 - 2 att48 - 1 att48 - 3 bier127 - 2 bier127 - 3 bier127 - 10 10.011,21 13.129,05 10.102,44 67.833,79 18.719,52 57.573,10 113.201,56 72.219,47 51.979,86

0,25 9.905,91 13.129,05 10.115,46 68.492,60 18.978,86 57.234,50 113.120,95 71.209,43 51.896,940,5 9.808,18 13.203,20 10.128,47 68.092,22 18.671,52 57.430,99 111.847,50 70.576,61 51.494,760,75 9.835,07 13.168,07 10.127,47 67.280,90 17.782,73 58.352,78 111.267,19 70.392,49 51.687,80

1 9.928,96 13.128,05 10.102,11 67.867,53 17.763,96 56.874,75 112.404,34 70.415,52 51.395,43

Tab. 5.12: Finalizacion temprana: resultados promedio obtenidos para los valores 0, 0.25, 0.5, 0.75y 1.

bayg29 - 1 bayg29 - 2 bayg29 - 3 att48 - 2 att48 - 1 att48 - 3 bier127 - 2 bier127 - 3 bier127 - 10 2,54 1,62 2,62 17,38 3,42 5,24 149,85 47,31 62,26

0,25 2,15 1,84 2,54 14,05 4,00 11,21 131,52 54,27 65,650,5 4,21 2,33 2,51 9,10 3,93 6,89 118,97 47,22 68,760,75 3,27 2,20 2,56 12,60 3,13 4,49 106,34 51,23 62,91

1 3,32 1,87 3,20 18,90 2,50 5,64 90,65 57,61 48,74

Tab. 5.13: Finalizacion temprana: tiempo transcurrido promedio para los valores 0, 0.25, 0.5, 0.75y 1.

bayg29 - 1 bayg29 - 2 bayg29 - 3 att48 - 2 att48 - 1 att48 - 3 bier127 - 2 bier127 - 3 bier127 - 10 4 6 6 10 4 10 25,2 18,2 19,2

0,25 4,2 6 6 10,2 4 10,6 26,2 19,6 19,40,5 4,2 7,2 6,2 11 4,2 10,8 26,2 19,4 200,75 4,8 7 7 11 4,2 11,6 26 19,8 20,2

1 4,2 7 6 11 4,2 11 26,6 20 20,2

Tab. 5.14: Finalizacion temprana: cantidad de vehıculos utilizados promedio para los valores 0,0.25, 0.5, 0.75 y 1.

En la tabla 5.12 podemos observar que los mejores resultados siempre se encuentrancon un porcentaje de finalizacion temprana mayor o igual a 0.5. Mas aun, en 4 de las 9pruebas realizadas se obtiene como mejor resultado ingresando un 100 % de probabilidadde finalizar el recorrido prematuramente. En la tabla 5.13 los datos no reflejan que almodificar este parametro se produzca un cambio en la duracion del proceso. Las mejorasobtenidas se deben a que el algoritmo completa la capacidad de cada vehıculo sin seresta la mejor forma de minimizar distancias. Por lo tanto finalizando prematuramenteagregamos vehıculos al azar en las soluciones obtenidas. La tabla 5.14 muestra como enlas instancias donde se utiliza mayor cantidad de vehıculos se obtienen mejores resultados.En base a la calidad de las soluciones presentadas el valor a utilizar como parametro enlas ejecuciones que realizaremos mas adelante deberıa ser un valor cercano ubicado entreel 85 % y el 100 %.

Page 53: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 47

5.4.3. Resultados para el FVRP

Al ser este un problema nuevo y no disponer de resultados para comparar, utilizamoscomo objetivo el mejor valor obtenido en 5 ejecuciones de 1:30hs. para cada instancia.Luego realizamos 5 ejecuciones de a lo sumo 15-25 minutos y comparamos los resultados.Los parametros son los mismos que los utilizados en FTSP, agregando el porcentaje definalizacion temprana con valor 0.85.

En la tabla 5.15 se puede observar que la diferencia lograda por las ejecuciones de cortaduracion no supera el 2 %. Por otro lado en algunos casos como pr1002 40 1001 1003 selogra encontrar un mejor valor, aunque no muy lejano al objetivo.

Objetivo Colonia de hormigas - SMPHNombre de instancia Promedio Dif. Mejor Dif. Tiempo (s)burma14 3 1001 1001 16,35 16,35 0,00 % 16,35 0,00 % 16burma14 3 1001 1002 35,71 35,71 0,00 % 35,71 0,00 % 36burma14 3 1001 1003 11,04 11,04 0,00 % 11,04 0,00 % 8bayg29 4 1001 1001 9526,61 9550,40 0,25 % 9526,61 0,00 % 140bayg29 4 1001 1002 13127,05 13128,05 0,01 % 13128,05 0,01 % 137bayg29 4 1001 1003 10100,44 10101,11 0,01 % 10100,44 0,00 % 167att48 5 1001 1001 66871,44 67122,93 0,38 % 66871,44 0,00 % 453att48 5 1001 1002 56325,95 56686,07 0,64 % 56325,95 0,00 % 268att48 5 1001 1003 17127,95 17128,04 0,001 % 17127,95 0,00 % 140bier127 10 1001 1001 100878,28 100912,74 0,03 % 100779,87 -0,10 % 1335bier127 10 1001 1002 217376,55 217638,36 0,12 % 216421,97 -0,44 % 966bier127 10 1001 1003 137983,46 138455,36 0,34 % 138072,24 0,06 % 893a280 20 1001 1001 15707,51 15874,69 1,06 % 15750,98 0,28 % 1308a280 20 1001 1002 12912,01 13141,79 1,78 % 13093,27 1,40 % 995a280 20 1001 1003 11867,62 12082,31 1,81 % 12022,72 1,31 % 1516gr666 30 1001 1001 14847,04 15076,57 1,55 % 15039,83 1,30 % 1081gr666 30 1001 1002 13333,87 13427,90 0,71 % 13300,78 -0,25 % 1016gr666 30 1001 1003 13309,33 13304,34 -0,04 % 13273,73 -0,27 % 1164pr1002 40 1001 1001 2060679,36 2078976,64 0,89 % 2061861,39 0,06 % 1415pr1002 40 1001 1002 2936641,74 2960511,50 0,81 % 2952446,41 0,54 % 863pr1002 40 1001 1003 2198170,55 2201729,33 0,16 % 2189537,48 -0,39 % 830

Tab. 5.15: Resultados de las ejecuciones realizadas para todas las instancias generadas de FVRP.

Page 54: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 48

5.4.4. Ejecucion de instancias de GVRP

El problema de ruteo de vehıculos generalizado (GVRP) consiste en encontrar unconjunto de rutas de longitud mınima que pasen por distintos conjuntos de clientes, dondelos recorridos incluyen exactamente un cliente de cada conjunto y satisfacen las limitacionesde capacidad [8]. Es un caso particular de FVRP. Bektas, Erdogan, Ropke [7] presentarondiversas instancias en agrupadas en distintas categorıas. Las categorıas A, B y P estanconstituidas desde 16 hasta 101 nodos mientras que las categorıas G y M son las masgrandes y contienen desde 101 hasta 262 nodos. Estas instancias fueron resueltas por unalgoritmo de branch and cut y la metaheurıstica de busqueda por entornos grandes (LNSpor sus iniciales en ingles). Por otro lado Ha, Bostel, Langevin y Rousseau [8] presentaronuna nueva formulacion y resolvieron las mismas instancias con una metaheurıstica hıbridabasada en GRASP y ELS. Para poder comparar la eficacia de nuestro algoritmo con losexistentes ejecutaremos nuestra aplicacion con dichas instancias y las compararemos conlos resultados de las ejecuciones del branch and cut [7], LNS [7], y la metaheurıstica hıbridamencionada anteriormente [8].

Los valores de los parametros escogidos son los mismos que en la resolucion de FTSP,con el valor del parametro probabilidad de finalizacion temprana en 0.85.

Con respecto a la segunda columna de la tabla 5.16 tomamos en cuenta el valor obteni-do por el algoritmo de branch and cut en las instancias en las cuales finalizo la ejecucion,mientras que en caso contrario se tomo en cuenta el mejor valor de las demas metaheurısti-cas. Se puede observar que nuestro algoritmo alcanza los mejores resultados en todas lasinstancias de tipo A, B y P. En las grandes instancias de tipo M se alcanza una efectividadbastante elevada de 4/8 aunque no se logro obtener el mismo resultado en las instanciasaun mas grandes de tipo G con 262 nodos. El detalle de los resultados se encuentran acontinuacion en la seccion 5.4.5.

Tipo de instancia OCH-SMPH alcanza el mejor valor publicadoA 54/54B 46/46P 48/48M 4/8G 0/2

Tab. 5.16: Resumen de los resultados obtenidos en base a las ejecuciones de las instancias presen-tadas en [7].

Page 55: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 49

5.4.5. Detalle de los resultados computacionales de las ejecuciones delas instancias de GVRP

Los resultados de las instancias de GVRP que se encuentran a continuacion fueronpresentadas por Bektas, Erdogan, Ropke [7]. Las columnas m1, m2 y m3 corresponden ala cantidad de vehıculos utilizados en los algoritmos LNS y branch & cut, la metaheurısticapropuesta por Ha et. al., y OCH-SMPH respectivamente.

Bektas et. al. Ha et. al.Nombre de instancia m1 LNS Branch & Cut m2 Metaheurıstica m3 OCH-SMPHA-n32-k5-C11 2 386 386 2 386 2 386A-n32-k5-C16 2 519 519 3 508 3 508A-n33-k5-C11 2 318 315 2 315 2 315A-n33-k5-C17 3 451 451 3 451 3 451A-n33-k6-C11 2 370 370 2 370 2 370A-n33-k6-C17 3 465 465 3 465 3 465A-n34-k5-C12 2 419 419 2 419 2 419A-n34-k5-C17 3 489 489 3 489 3 489A-n36-k5-C12 2 396 396 2 396 2 396A-n36-k5-C18 2 505 505 3 502 3 502A-n37-k5-C13 2 347 347 2 347 2 347A-n37-k5-C19 3 432 432 3 432 3 432A-n37-k6-C13 2 431 431 2 431 2 431A-n37-k6-C19 3 584 584 3 584 3 584A-n38-k5-C13 2 367 367 2 367 2 367A-n38-k5-C19 3 476 476 3 476 3 476A-n39-k5-C13 2 364 364 2 364 2 364A-n39-k5-C20 3 557 557 3 557 3 557A-n39-k6-C13 2 403 403 2 403 2 403A-n39-k6-C20 3 544 544 3 544 3 544A-n44-k6-C15 2 503 503 3 491 3 491A-n44-k6-C22 3 608 608 3 608 3 608A-n45-k6-C15 3 474 474 3 474 3 474A-n45-k6-C23 4 613 613 4 613 4 613A-n45-k7-C15 3 475 475 3 475 3 475A-n45-k7-C23 4 674 674 4 674 4 674A-n46-k7-C16 3 462 462 3 462 3 462A-n46-k7-C23 4 593 593 4 593 4 593A-n48-k7-C16 3 451 451 3 451 3 451A-n48-k7-C24 4 667 667 4 667 4 667A-n53-k7-C18 3 440 440 3 440 3 440A-n53-k7-C27 4 603 603 4 603 4 603A-n54-k7-C18 3 482 482 3 482 3 482A-n54-k7-C27 4 690 690 4 690 4 690A-n55-k9-C19 3 473 473 3 473 3 473A-n55-k9-C28 5 699 699 5 699 5 699A-n60-k9-C20 3 595 595 3 595 3 595A-n60-k9-C30 5 769 769 5 769 5 769A-n61-k9-C21 4 473 473 4 473 4 473A-n61-k9-C31 5 638 638 5 638 5 638A-n62-k8-C21 3 596 596 3 596 3 596A-n62-k8-C31 4 740 740 4 740 4 740A-n63-k10-C21 4 593 593 4 593 4 593A-n63-k10-C32 5 801 801 5 801 5 801A-n63-k9-C21 3 642 - 3 642 3 642A-n63-k9-C32 5 912 - 5 912 5 912A-n64-k9-C22 3 536 536 3 536 3 536A-n64-k9-C32 5 763 763 5 763 5 763A-n65-k9-C22 3 500 500 3 500 3 500A-n65-k9-C33 5 682 682 5 682 5 682A-n69-k9-C23 3 520 520 3 520 3 520A-n69-k9-C35 5 680 680 5 680 5 680A-n80-k10-C27 4 710 - 4 710 4 710A-n80-k10-C40 5 997 998 5 997 5 997

Tab. 5.17: Resultado de las ejecuciones realizadas sobre las instancias de tipo A presentadas en [7].

Page 56: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 50

Bektas et. al. Ha et. al.Nombre de instancia m1 LNS Branch & Cut m2 Metaheurıstica m3 OCH-SMPHB-n31-k5-C11 2 356 356 2 356 2 356B-n31-k5-C16 3 441 441 3 441 3 441B-n34-k5-C12 2 369 369 2 369 2 369B-n34-k5-C17 3 472 472 3 472 3 472B-n35-k5-C12 2 501 501 2 501 2 501B-n35-k5-C18 3 626 626 3 626 3 626B-n38-k6-C13 2 370 370 2 370 2 370B-n38-k6-C19 3 451 451 3 451 3 451B-n39-k5-C13 2 280 280 2 280 2 280B-n39-k5-C20 3 357 357 3 357 3 357B-n41-k6-C14 2 407 407 2 407 2 407B-n41-k6-C21 3 481 481 3 481 3 481B-n43-k6-C15 2 343 343 2 343 2 343B-n43-k6-C22 3 483 483 3 483 3 483B-n44-k7-C15 3 395 395 3 395 3 395B-n44-k7-C22 4 540 540 4 540 4 540B-n45-k5-C15 2 422 410 2 410 2 410B-n45-k5-C23 3 497 497 3 497 3 497B-n45-k6-C15 2 336 336 2 336 2 336B-n45-k6-C23 4 478 478 4 478 4 478B-n50-k7-C17 3 393 393 3 393 3 393B-n50-k7-C25 4 449 449 4 449 4 449B-n50-k8-C17 3 598 598 3 598 3 598B-n50-k8-C25 5 916 916 5 916 5 916B-n51-k7-C17 3 511 511 3 511 3 511B-n51-k7-C26 4 651 651 4 651 4 651B-n52-k7-C18 3 359 359 3 359 3 359B-n52-k7-C26 4 450 450 4 450 4 450B-n56-k7-C19 3 356 356 3 356 3 356B-n56-k7-C28 4 486 486 4 486 4 486B-n57-k7-C19 3 558 558 3 558 3 558B-n57-k7-C29 4 751 751 4 751 4 751B-n57-k9-C19 3 681 681 3 681 3 681B-n57-k9-C29 5 942 942 5 942 5 942B-n63-k10-C21 3 599 599 3 599 3 599B-n63-k10-C32 5 816 816 5 816 5 816B-n64-k9-C22 4 452 452 4 452 4 452B-n64-k9-C32 5 509 509 5 509 5 509B-n66-k9-C22 3 609 609 3 609 3 609B-n66-k9-C33 5 808 808 5 808 5 808B-n67-k10-C23 4 558 558 4 558 4 558B-n67-k10-C34 5 673 673 5 673 5 673B-n68-k9-C23 3 523 523 3 523 3 523B-n68-k9-C34 5 704 704 5 704 5 704B-n78-k10-C26 4 606 606 4 606 4 606B-n78-k10-C39 5 803 803 5 803 5 803

Tab. 5.18: Resultado de las ejecuciones realizadas sobre las instancias de tipo B presentadas en [7].

Page 57: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

5. Resultados computacionales 51

Bektas et. al. Ha et. al.Nombre de instancia m1 LNS Branch & Cut m2 Metaheurıstica m3 OCH-SMPHP-n16-k8-C6 4 170 170 4 170 4 170P-n16-k8-C8 5 239 239 5 239 5 239P-n19-k2-C10 2 147 147 2 147 2 147P-n19-k2-C7 1 111 111 1 111 1 111P-n20-k2-C10 2 154 154 2 154 2 154P-n20-k2-C7 1 117 117 1 117 1 117P-n21-k2-C11 2 160 160 2 160 2 160P-n21-k2-C7 1 117 117 1 117 1 117P-n22-k2-C11 2 162 162 2 162 2 162P-n22-k2-C8 1 111 111 1 111 1 111P-n22-k8-C11 5 314 314 5 314 5 314P-n22-k8-C8 4 249 249 4 249 4 249P-n23-k8-C12 5 312 312 5 312 5 312P-n23-k8-C8 3 174 174 3 174 3 174P-n40-k5-C14 2 213 213 2 213 2 213P-n40-k5-C20 3 294 294 3 294 3 294P-n45-k5-C15 2 238 238 2 238 2 238P-n45-k5-C23 3 337 337 3 337 3 337P-n50-k10-C17 4 292 292 4 292 4 292P-n50-k10-C25 5 410 410 5 410 5 410P-n50-k7-C17 3 261 261 3 261 3 261P-n50-k7-C25 4 353 353 4 353 4 353P-n50-k8-C17 3 262 262 3 262 3 262P-n50-k8-C25 4 392 - 5 372 5 372P-n51-k10-C17 4 309 309 4 309 4 309P-n51-k10-C26 6 427 427 6 427 6 427P-n55-k10-C19 4 301 301 4 301 4 301P-n55-k10-C28 5 415 415 5 415 5 415P-n55-k15-C19 6 378 378 6 378 6 378P-n55-k15-C28 8 555 - 9 551 9 551P-n55-k7-C19 3 271 271 3 271 3 271P-n55-k7-C28 4 361 361 4 361 4 361P-n55-k8-C19 3 274 274 3 274 3 274P-n55-k8-C28 4 361 361 4 361 4 361P-n60-k10-C20 4 325 325 4 325 4 325P-n60-k10-C30 5 443 - 5 443 5 443P-n60-k15-C20 5 382 - 6 374 6 374P-n60-k15-C30 8 565 - 8 565 8 565P-n65-k10-C22 4 372 372 4 372 4 372P-n65-k10-C33 5 487 487 5 487 5 487P-n70-k10-C24 4 385 385 4 385 4 385P-n70-k10-C35 5 485 485 5 485 5 485P-n76-k4-C26 2 320 309 2 309 2 309P-n76-k4-C38 2 383 383 2 383 2 383P-n76-k5-C26 2 309 309 2 309 2 309P-n76-k5-C38 3 405 405 3 405 3 405P-n101-k4-C34 2 374 370 2 370 2 370P-n101-k4-C51 2 455 455 2 455 2 455

Tab. 5.19: Resultado de las ejecuciones realizadas sobre las instancias de tipo P presentadas en [7].

Bektas et. al. Ha et. al.Nombre de instancia m1 LNS Branch & Cut m2 Metaheurıstica m3 OCH-SMPHM-n101-k10-C34 4 458 458 4 458 4 458M-n101-k10-C51 5 542 542 5 542 5 542M-n121-k7-C41 3 527 527 3 527 3 527M-n121-k7-C61 4 719 - 4 719 4 719M-n151-k12-C51 4 483 - 4 483 4 489M-n151-k12-C76 6 659 - 6 659 6 681M-n200-k16-C100 8 791 - 9 789 9 844M-n200-k16-C67 6 605 - 6 605 6 616

Tab. 5.20: Resultado de las ejecuciones realizadas sobre las instancias de tipo M presentadas en[7].

Bektas et. al. Ha et. al.Nombre de instancia m1 LNS Branch & Cut m2 Metaheurıstica m3 OCH-SMPHG-n262-k25-C131 12 3249 - 13 3303 13 3458G-n262-k25-C88 9 2476 - 9 2477 9 2560

Tab. 5.21: Resultado de las ejecuciones realizadas sobre las instancias de tipo G presentadas en [7].

Page 58: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

6. CONCLUSIONES

En este trabajo se empleo la metaheurıstica colonia de hormigas en su variante mejor-peor hormiga para la resolucion de FTSP, GVRP y FVRP. Con respecto a la utilizacionde la metaheurıstica analizamos cada etapa del algoritmo y sus posibles mejoras, ası comolos mejores valores de sus parametros. Determinamos que limitando los movimientos delas hormigas a un vecindario reducido se ayuda a una mejor y mas rapida convergenciaen la busqueda. Analizamos el valor de la mutacion desde el inicio hasta el estancamientodel algoritmo, intensificandola en esta ultima etapa. Observamos que los efectos produci-dos por el uso de la peor hormiga no afectan significativamente al resultado. Evaluamosdistintas busquedas locales y sus mejoras para luego ser utilizadas tanto en uno como enmultiples caminos.

Con respecto a la resolucion de FTSP nos enfrentamos a un problema que habıasido resuelto de 3 formas distintas: con CPLEX, y con las metaheurısticas BRKGA yGRASP+evPR. Los resultados que obtuvimos superaron en todas las instancias con masde 127 nodos a los conocidos hasta la actualidad. En las instancias mas grandes se en-cuentran las mayores diferencias.

Por otro lado presentamos una formulacion para el problema de ruteo de vehıculosgeneralizado por familias (FVRP) y lo resolvimos utilizando el mismo algoritmo de FTSPcon algunas diferencias relativas al problema. Comparamos nuestro algoritmo ejecutandoinstancias conocidas de GVRP con muy buenos resultados. Generamos nuevas instanciasy presentamos valores de referencia para futuros analisis.

BRKGA, GRASP+evPR, y OCH-SMPH tienen como similitud que se basan en las me-jores soluciones encontradas en las iteraciones anteriores para luego intensificar la busquedaen dicha direccion. Ambas tambien tienen criterios de diversificacion. BRKGA tiene la di-ficultad de tener que transformar en cromosomas a sus soluciones y realizar operacionesentre ellos de formas poco naturales. Sus resultados en instancias grandes son significa-tivamente inferiores a los obtenidos por GRASP+evPR y OCH-SMPH. GRASP+evPRtiene un conjunto de buenas soluciones e intenta intensificar la busqueda en aquellas di-recciones, sin embargo en espacios muy grandes deben realizarse muy buenas busquedaslocales para obtener mejores resultados. Sin buenas busquedas locales GRASP+evPR noalcanzarıa buenos resultados. OCH-SMPH tiene como ventaja que la utilizacion de losmejores resultados previos se aprovechan en la construccion de otras soluciones con unabuena combinacion entre diversificacion e intensificacion. Ademas, luego de finalizar losrecorridos utilizamos busqueda local al igual que GRASP+evPR.

52

Page 59: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

7. TRABAJO FUTURO

OCH-SMPH demostro ser una muy buena opcion para resolver FTSP. En los ultimosanos se ha investigado mucho esta metaheurıstica, y aun podrıa haber mayor desarrolloya que encara los problemas difıciles en grafos de manera natural.

El problema de ruteo de vehıculos generalizado por familias (FVRP) es una nuevavariante que debe ser mas investigada. Por un lado el hecho de agregarle restriccionescomo ventanas de tiempo o nuevos objetivos como la reduccion de vehıculos quedo fuerade nuestro alcance. Por otro lado se podrıan obtener mejoras utilizando heurısticas quedeterminen la cantidad de vehıculos necesarios y heurısticas que agreguen nuevos vehıculospara luego utilizar el algoritmo con una cantidad determinada de transportes.

Una posibilidad para continuar investigando serıa la de no establecer la cantidad devisitas por familia a priori. La unica restriccion podrıa ser la de cumplir con la deman-da de la familia y que la cantidad de visitas a la misma surja en la resolucion del problema.

53

Page 60: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

Bibliografıa

[1] D. L. Applegate, R. E. Bixby, V. Chvatal, W. Cook The Traveling Sales-man Problem: A Computational Study, Princeton Series in AppliedMathematics, Princeton University Press, 2006.

[2] W. Cook, D. Espinoza, M. Goycoolea, Computing with Domino-ParityInequalities for the TSP, INFORMS Jornal Of Computing, vol. 19, p356-365, 2005.

[3] I. Kara, H. Guden, O. N. Koc, New Formulations for the GeneralizedTraveling Salesman Problem, 5th EURO/INFORMS Joint Internatio-nal Meeting, Istanbul, Turkey, 2003.

[4] P. Toth, D.Vigo, The Vehicle Routing Problem, Society for Industrialand Applied Mathematics, Philadelphia, United States, 2002.

[5] L.F. Moran-Mirabal, J.L. Gonzalez-Velarde, M.G.C. Resende, Randomi-zed heuristics for the family traveling salesperson problem, Inter-national Transactions in Operational Research, vol. 21, p 41–57, 2014.

[6] I. Kara, T. Bektas, Integer Linear Programming Formulation of theGeneralized Vehicle Routing Problem, 5th EURO/INFORMS JointInternational Meeting, Istanbul, Turkey, 2003.

[7] T. Bektas, G. Erdogan, S. Ropke Formulations and Branch-and-CutAlgorithms for the Generalized Vehicle Routing Problem, Trans-portation Science, vol. 45, Informs, p 299-316, 2011.

[8] M. H. Ha, N. Bostel, A. Langevin, L. M. Rousseau, An Exact Algorithmand a Metaheuristic for the Generalized Vehicle Routing Pro-blem, Computers & Operations Research, vol. 43, Elsevier Publishing, p9-19, 2014.

[9] Z. Michalewitcz, D. Fogel How to Solve It: Modern Heuristics, Sprin-ger, 2004.

[10] M. Gendreau, J. Y. Potvin, Handbook of Metaheuristics, InternationalSeries in Operations Research & Management Science, vol. 146, Springer,2010.

[11] A. Colorni, M. Dorigo, V. Maniezzo, Distributed Optimization by AntColonies, European Conference on Artificial Life, Paris, France, ElsevierPublishing, p 134-142, 1991.

[12] A. Atehortua, Ant Colony Optimization: Generalities and Studyof Ant System Algorithm and a Job Shop Aplication, NationalUniversity of Colombia, Bogota, Colombia 2012 (Tesis).

54

Page 61: Algoritmos de Colonia de Hormigas para el Problema del ... · ALGORITMOS DE COLONIA DE HORMIGAS PARA EL PROBLEMA DEL VIAJANTE DE COMERCIO POR FAMILIAS Y PARA EL PROBLEMA DE RUTEO

Bibliografıa 55

[13] A. Colorni, M. Dorigo, V. Maniezzo, Ant system: optimization by acolony of cooperating agents, IEEE Transactions on Systems, Man,and Cybernetics, Part B, vol. 26, p 29-41, 1996.

[14] V. Maniezzo, L. M. Gambardella, F. de Luigi, Ant Colony Optimization,New Optimization Techniques in Engineering, Springer, p 101-117, 2004.

[15] T. Stutzle, H. H. Hoos, Max-Min Ant System, Future Generation Com-puter Systems 16, Elsevier Publishing, p 889–914, 2000.

[16] S. Balseiro, Logıstica y Distribucion: Algoritmos para problemasde ruteo de vehıculos con restricciones de capacidad y ventanasde tiempo, University of Buenos Aires, Buenos Aires, Argentina, 2006(Tesis).

[17] S. Alonso, O. Cordon, I. Fernandez de Viana, F. Herrera, La Me-taheurıstica de Optimizacion Basada en Colonias de Hormigas:Modelos y Nuevos Enfoques, Optimizacion inteligente : tecnicas de in-teligencia computacional para optimizacion, Servicio de publicaciones de laUniversidad de Malaga, p 263-272 2004.

[18] IBM CPLEX Optimizer, http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/.