Algoritmos Genéticos y Optimización Heurística Dr. Adrian Will F.A.C.E.T. U.N.T. Cátedra de Tópicos Selectos de Inteligencia Artificial
Optimización Tradicional
Problemas Reales
Problemas Reales Función de Rastrigin
Medición en Fábrica - 2003
Modelo Matemático Fábrica - 2003
Algoritmos Determinísticos Requieren fuertes hipótesis sobre la función, en general globales (continuidad, existencia de derivadas, convexidad, etc.) Convergencia a un óptimo garantizada, pero en general es un óptimo local, y no es posible comprobar si es un óptimo global sin hipótesis sobre la función Tiempo máximo y tiempo promedio de convergencia conocidos Repetir el algoritmo, con la misma función, y partiendo de las mismas condiciones iniciales, produce siempre el mismo resultado
Random Search Heuristics No requieren hipótesis sobre la función. Funcionan bien incluso en el caso en que no sea función sino sólo simulación (Genetic Programming) Funcionan bien y producen buenas soluciones en casos muy complejos (NP-Hard, problemas con gran cantidad de optimos locales) Convergen al óptimo global o cerca de él ( Near optimal solutions - Algoritmos Genéticos) Tiempo Máximo y Velocidad de convergencia, en general no conocidos
Aplicaciones Problemas de Job Scheduling o Timetables (reorganizar tareas de una fábrica, oficina, etc., de modo de minimizar algo, normalmente tiempo o costo) Problemas de Diseño Automático o Asistido (diseño de hélices de barcos, Turbinas para motores de avión, antenas para naves espaciales, reactores nucleares) Problemas Financieros (Optimización de Inversiones, Predicción (GP)) Optimización de Redes Eléctricas o de Telecomunicaciones (Transformadores, Celulares, etc.) Diseño de Semiconductores y Compiladores Biología Molecular (Protein Folding, Descubrimiento de Genes y marcadores relevantes para Cáncer, etc.) DataMining and Pattern Recognition
Ejemplo - Travelling Salesman Problem 5 2 4 1 3
Ejemplo - Travelling Salesman Problem 5 2 4 1 3 Solución (1 2 5 3 4)
Ejemplo Travelling Salesman Problem Dado un grafo completo con pesos, encontrar un ciclo Hamiltoniano de costo mínimo Total de Soluciones: (n-1)!/2. Para 60 ciudades, 0.5*59! ~ 10 80 NP-Hard Problem Fijar matriz de costos D, y c real, y preguntar si Existe una ruta de costo total menor que c NP Completo Gran cantidad de variantes de interés práctico (Simétrico, Asimétrico, TSP with Time Windows, Travelling Polititian Problem, cantidad de vendedores fijos, problemas de transporte con restricciones de entregas, etc.) Caso Grafo No existen todas las rutas Caso Euclídeo Plano, existen todas las rutas, NP-Hard aunque se elimine la condición recorrer cada ciudad solo una vez, por la desigualdad triangular
Travelling Salesman Problem - Algoritmos Determinísticos Branch and Bound Programación Lineal Heurísticos Nearest Neighbour 2-opt, 3-opt, Variable-opt (Lin-Kernighan-Johnson) Mutation operator and EA Algoritmos Aleatorios (cadenas de Markov, operadores de inversión) Algoritmos Genéticos, Simulated Annealing, Colonias de Hormigas
Travelling Salesman Problem - AG
Travelling Salesman Problem - AG
Travelling Salesman Problem - AG
Travelling Salesman Problem - AG
Travelling Salesman Problem - AG
Travelling Salesman Problem - ACO
Travelling Salesman Problem - ACO
Travelling Salesman Problem - ACO
Travelling Salesman Problem - ACO
Travelling Salesman Problem - ACO
Travelling Salesman Problem - TSPLib
Travelling Salesman Problem - TSPLib
Travelling Salesman Problem - TSPLib
Travelling Salesman Problem - TSPLib
Travelling Salesman Problem - TSPLib
Lista de Problemas NP-Completos - Redes Routeo: Bottleneck TSP, Chinese Postman for mixed graphs, Euclidean TSP, K most vital arcs, K-th shortest paths, Metric TSP, Longest Circuit, Longest Path, Prize Collecting TSP, Rural Postman, Shortest Path in general networks, Shortest weight constrained path, Stalker-crane, TSP with Time Windows feasibility, Vehile Routing problem. Spanning Trees: Degree constrained spanning tree, Maximum leaf SpT, shortest total length SpT, Bounded diameter SpT, Capacitated SpT, Geometric Capacitated SpT, Optimum communication SpT, Isomorphic SpT, K-th best SpT, Bounded components Spanning Forest, Multiple Choice Branching, Steiner tree, Geometric Steiner tree, Cable Trench problem. Flow: 12 problemas Cuts y conectividad: 10 problemas, incluyendo Network reliability Muchos mas fuera del dominio Redes
Algoritmos Genéticos - Aplicaciones Algoritmos Genéticos Tradicionales Problemas de Job Scheduling o Timetables(reorganizar tareas de una fábrica, oficina, etc., de modo de minimizar algo, normalmente tiempo o costo) Problemas de Diseño Automático o Asistido (diseño de hélices de barcos, Turbinas para motores de avión, antenas para naves espaciales, reactores nucleares) Genetic Programming Programación Evolutiva Problemas Financieros (Optimización de Inversiones, Predicción Bursátil) Robótica Biología Molecular (Protein Folding, Descubrimiento de Genes y marcadores relevantes para Cáncer, eficiencia de tratamientos, etc.) Algoritmos Genéticos Grouping Optimización de Redes Eléctricas o de Telecomunicaciones (Transformadores, Celulares, etc.) - Problemas de Partición
Algoritmos Genéticos - Redes Shortest Path Problemas de Transporte: Determinar una ruta respetando restricciones de peso máximo permitido, en mínimo tiempo o con mínima distancia Travelling Polititian problem, o Viajante con restricciones: muchos de los problemas de Shortest Path dejan de ser lineales al aplicarles restricciones Spanning Tree Diseño de sistemas físicos con mínimo gasto (redes de distribución Clustering(muchos métodos comienzan con un spanning tree y quitan ramas para organizar los clusters) Maximum Flow Subproblemaen en Scheduling de maquinas iguales trabajando en paralelo feasible scheduling problem Maximum lateness, minimum compoletion time, maximum utilization problem Tanker Problem (restricciones de tiempo de entrega)
No Free Lunch Theorem The No Free Lunch theorems for search and optimization apply to finite spaces and algorithms that do not resample points. All algorithms that search for an extremumof a cost function perform exactly the same when averaged over all possible cost functions. So, for any search/optimization algorithm, any elevated performance over one class of problems is exactly paid for in performance over another class. [Wolpert and Macready, 1997]. An Algorithmicist looks at no free lunch (Culberson 1996)
No Free Lunch Theorem No hay un Algoritmo Perfecto, que resuelva bien todos los problemas. Para cada problema o clase de problemas, se debe diseñar un algoritmo específico. Mientras más limitado el problema y más conocimiento sobre el problema particular ( Problem Problem-Specific Knowledge ) se incorpore al algoritmo, mejor será el rendimiento del algoritmo en la clase de problemas planteado. Sólo se utilizará un algoritmo general, sin incorporar conocimiento del problema, cuando no exista otra solución (por problemas de tiempo por ejemplo)
Cuándo Aplicar métodos Heurísticos Cuando no se pueda aplicar otro método, en general por falta de hipótesis para aplicar algoritmos determinísticos (funciones no derivables o no continuas, o que no son funciones, etc.) Problemas ruidosos o mal condicionados (los algoritmos heurísticos o aleatorios tienden a ser robustos y poco sensibles a la presencia de ruido) Existencia de gran cantidad de óptimos locales (donde los algoritmos tradicionales basados en derivadas quedan atrapados) Problemas reales de gran complejidad, donde es suficiente con encontrar una buena solución al problema, aunque no sea necesariamente el óptimo global