UNIVERSIDAD DE VALLADOLID ESCUELA DE INGENIERIAS INDUSTRIALES Grado en Ingeniería de Organización Industrial Desarrollo y aplicación del algoritmo de Optimización basado en Colonia de Hormigas (ACO) para la resolución del Problema del Viajante Asimétrico (ATSP) Autor: Revuelta Martínez, Tamara Tutor: Pérez Vázquez, María Elena Departamento de Organización de Empresas y CIM. Valladolid, Septiembre 2015. A mis padres, por haberme permitido iniciar este camino y a todas aquellas personas que se han unido a él durante esta etapa de mi vida. RESUMEN Los algoritmos evolutivos, concretamente los basados en Colonia de Hormigas, ACO, están cobrando cada vez más importancia en el campo de la metaheurística, así como su aplicación para la resolución de problemas de optimización combinatoria. Uno de los problemas más comunes y difíciles de resolver que se clasifica como NP-duro, es el Problema del Viajante, TSP. El interés en el estudio de las técnicas metaheurísticas para la resolución de este problema radica, principalmente, en el gran número de aplicaciones prácticas en las que se encuentra. El presente documento recoge, explícitamente, el desarrollo y aplicación de un algoritmo ACO para la resolución del problema del viajante asimétrico, ATSP, cuyo fin es encontrar una solución que, satisfaciendo las condiciones iniciales del problema, proporcione una ruta o circuito cerrado cuya longitud sea la mínima. Para ello, se realizarán una serie de pruebas, a través de las cuales se obtendrán resultados que, posteriormente, se evaluarán y valorarán mediante el uso de técnicas estadísticas adecuadas. PALABRAS CLAVE ACO, ATSP, AS, EAS, ASrank.. ABSTRACT Evolutionary algorithms, particularly those based on Ant Colony, ACO, are becoming increasingly important in the area of metaheuristic and their application for solving combinatorial optimization problems NP-hard type. One of the most common and difficult problem which are classified as NP-hard, is the Travelling Salesman Problem, TSP. The interest of studying metaheuristics techniques in order to solve this problem is mainly focus, in the large number of practical applications and decision problems which it is part. This paper includes the development and implementation of an ACO algorithm in order to solve the problem of asymmetric traveling, ATSP, whose final result is to find a solution satisfying the initial conditions of the problem and providing a path or closed circuit with the minimum length. For this, a series of tests will be conducted and their results are subsequently evaluated and assessed using appropriate statistical techniques. KEY WORDS ACO, ATSP, AS, EAS, ASrank. Desarrollo y aplicación de un algoritmo ACO para el problema ATSP Índice General INTRODUCCIÓN .................................................................................................. 15 Capítulo 1. El problema del Viajante, TSP (Traveling Salesman Problem). El ATSP .............................................................................................. 17 1.1. COMPLEJIDAD COMPUTACIONAL DE LOS PROBLEMAS DE OPTIMIZACIÓN COMBINATORIA. ............................................................................... 19 1.1.1. Teoría computacional de los problemas de optimización combinatoria. ........................................................................................................................19 1.1.1.1. Complejidad computacional de los problemas según el caso más desfavorable. ....................................................................................................................19 1.1.2. Teoría de los problemas NP. Problema de decisión. ..................................20 1.1.2.1. Teoría de la NP-Completitud: naturaleza de los problemas. ........21 1.2. El TSP Y SU COMPLEJIDAD. ................................................................................... 23 1.2.1. Clasificación según la teoría de la complejidad computacional. ............23 1.3. EL PROBLEMA DEL VIAJANTE DE COMERCIO, TSP. ..................................... 26 1.3.1. Problemas de Rutas. ...............................................................................................26 1.3.2.1. Clasificación de los problemas de rutas. ................................................26 1.4. TSP (Traveling Salesman Problem). ................................................................. 27 1.4.1. Definición. ...................................................................................................................27 1.4.2. Origen e historia. ......................................................................................................27 1.4.3. Formulación matemática y modelización. .....................................................30 1.4.3.1. Representación gráfica del problema. TSP simétrico y asimétrico (ATSP). ................................................................................................................................30 1.4.3.2. Formulación matemática. ............................................................................31 1.5. VARIANTES DEL TSP. .............................................................................................. 33 1.6. APLICACIONES DEL TSP......................................................................................... 35 Capítulo 2. Métodos de resolución para los problemas NP-hard ..... 37 2.1. TÉCNICAS DE RESOLUCIÓN PARA LOS PROBLEMAS NP- HARD. CLASIFICACIÓN. ................................................................................................................ 39 2.1.1. Métodos exactos. ......................................................................................................39 2.1.2. Métodos basados en algoritmos de aproximación. .....................................41 Página 7 Desarrollo y aplicación de un algoritmo ACO para el problema ATSP 2.1.2.1. Métodos constructivos. ................................................................................41 2.1.2.2. Búsqueda local. ................................................................................................43 2.1.3. Otro tipo de técnicas. ..............................................................................................43 2.2. METAHEURÍSTICA. .................................................................................................. 44 2.2.1 Definición. ....................................................................................................................45 2.2.2. Funcionamiento de las metaheurísticas. ........................................................46 2.2.3. Clasificación de las metaheurísticas. ................................................................46 2.2.3.1. Metaheurísticas basadas en trayectorias. .............................................47 2.2.3.2. Metaheurísticas basadas en población. ..................................................49 Capítulo 3.Metaheurística Colonia de Hormigas. ACO (Ant Colony Optimization) ...................................................................................................... 53 3.1. ORIGEN E INTRODUCCIÓN A LA METAHEURÍSTICA ACO. .......................... 55 3.1.1. Origen. ..........................................................................................................................55 3.1.2. Introducción. ..............................................................................................................55 3.2. EL COMPORTAMIENTO DE UNA HORMIGA NATURAL. .............................. 56 3.2.1. Experimento del doble puente. ..........................................................................56 3.2.2. Un modelo estocástico. ..........................................................................................59 3.3. LA HORMIGA ARTIFICIAL. .................................................................................... 61 3.3.1. Características de una hormiga artificial. .......................................................61 3.3.2. Las hormigas artificiales y rutas de mínimo coste. .....................................62 3.4. SIMILITUDES Y DIFERENCIAS ENTRE LAS HORMIGAS NATURALES Y ARTIFICIALES. ................................................................................................................... 63 3.5. LA METAHEURÍSTICA ACO. .................................................................................. 63 3.5.1. Pseudocódigo.............................................................................................................64 3.6. VARIANTES DEL ACO APLICADAS PARA EL TSP............................................ 67 3.7. APLICACIONES DEL ACO. ...................................................................................... 68 Capítulo 4.Implementación y Experimentación ..................................... 71 4.1. IMPLEMENTACIÓN DE LOS ALGORITMOS ACO PARA EL ATSP. .............. 73 4.1.1. Ejemplo de la implementación del ACO. Variantes del ACO. ..................73 4.1.1.1. Ant System (AS). ............................................................................................75 4.1.1.2. Elitist Ant System (EAS). ..............................................................................83 4.1.1.3. Rank-Based Ant System (ASrank). ...........................................................84 Página 8 Desarrollo y aplicación de un algoritmo ACO para el problema ATSP 4.1.2. Programación del algoritmo ACO. Implementación en C++. ...................85 4.1.2.1. Esquema general del algoritmo. ...............................................................86 4.1.2.2. Entrada de datos. ............................................................................................88 4.1.2.3. Salida de datos. ................................................................................................89 4.1.2.4. Archivos y funciones principales del algoritmo. ................................92 4.2. EXPERIMENTACIÓN. ............................................................................................... 93 4.2.1. Problemas a resolver. .............................................................................................93 4.2.2. Simulaciones. .............................................................................................................94 4.2.3. Presentación de resultados. .................................................................................96 4.3. ESTUDIO ESTADÍSTICO. ......................................................................................... 99 4.3.1. Introducción. ..............................................................................................................99 4.3.2. Test paramétricos y no paramétricos. .............................................................99 4.3.2.1. Test de Friedman. ........................................................................................ 100 4.3.2.2. Test de Holm. ................................................................................................. 101 4.3.3. Resultados obtenidos del Estudio Estadístico. .......................................... 101 4.4. CONVERGENCIA DE LOS MÉTODOS ACO. ...................................................... 106 Capítulo 5. Conclusiones y líneas futuras .............................................. 109 5.1. CONCLUSIONES. ..................................................................................................... 111 5.2. LÍNEAS FUTURAS. ................................................................................................. 112 Bibliografía. ...................................................................................................... 113 Página 9
Description: