710 likes | 917 Views
Introducción a las Metaheurísticas. Ing. Pablo Rodríguez-Bocca – Ing. Franco Robledo Facultad de Ingeniería - UDELAR Montevideo, Uruguay. Bibliografía - libros. Encyclopedia of Operations Research and Management Science. Gass, Saul I.; Harris, Carl M., eds. Kluwer, 1996. ISBN 0-7923-9590-5.
E N D
Introducción a las Metaheurísticas Ing. Pablo Rodríguez-Bocca – Ing. Franco Robledo Facultad de Ingeniería - UDELAR Montevideo, Uruguay
Bibliografía - libros • Encyclopedia of Operations Research and Management Science. Gass, Saul I.; Harris, Carl M., eds. Kluwer, 1996. ISBN 0-7923-9590-5. • Meta-heuristics: advances and trends in local search paradigms for optimization. Stefan Voss, Silvano Martello, Ibrahim H. Osman and Catherine Roucairol (eds.). Kluwer Academic Publishers, 1999. ISBN: 0-7923-8369-9. • Essays and surveys in metaheuristics. C.C. Ribeiro, P. Hansen. Kluwer, 2001. • Genetic Algorithms in search, optimization, and machine learning. David E. Goldberg. Addison-Wesley, 1989. ISBN 0201157675. • Meta-heuristics : theory and applications. Osman, Ibrahim H.; Kelly, James P. eds.. Kluwer, 1996. ISBN: 0-792397-002. • Facts, conjectures, and improvements for simulated annealing. Salamon, Peter; Sibani, Paolo; Frost, Richard. Siam, 2002. ISBN: 0898715083.
Bibliografía - artículos • Heuristics from nature for hard combinatorial optimization problems. A. Colorni and M. Dorigo and F. Maffioli and V. Maniezzo and G. Righini and M. Trubian. International Transactions in Operational Research 3(1):1-21. http://citeseer.nj.nec.com/colorni96heuristics.html • Metaheuristics in Combinatorial Optimization: Overview and Conceptual Comparison. C. Blum and A. Roli. Technical report TR/IRIDIA/2001-13, IRIDIA, Université Libre de Bruxelles, Belgium • Testing Heuristics: We Have It All Wrong. Hooker, J. Journal of Heuristics 1:33-42. 1996. http://citeseer.nj.nec.com/hooker95testing.html • Designing and Reporting on Computational Experiments with Heuristic Methods. ichard S. Barr, Bruce L. Golden, James Kelly, William R. Stewart, Mauricio G.C. Resende. June 27,1995 • Metaheuristicas: Una visión global. Melián, B., Moreno Perez, J.A., Marcos Moreno-Vega, J. Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. Numero 19, Volumen 2, páginas 7-28, 2003. (http://www.aepia.org/revista).
Links útiles • Curso de Postgrado: Diseño Topológico de Redes. http://www.fing.edu.uy/inco/grupos/invop/dtr/ • Curso de Grado: Introducción a la Investigación de Operaciones http://www.fing.edu.uy/inco/cursos/io/ • Curso de Postgrado: Seminario - Elementos de Metaheurísticas. http://www.fing.edu.uy/inco/grupos/invop/mh/
Agenda • Motivación • Investigación de Operaciones • Complejidad • Heurísticas • Metaheurísticas • Introducción • Clasificación • Concluciones
Repaso - Investigación de Operaciones • Empleo de la metodología científica en la búsqueda de soluciones óptimas y como apoyo a la toma de decisiones a nivel operativo y gerencial. • Área de investigación y de actividad profesional establecida a partir de la 2da Guerra Mundial. • Etapa de crecimiento y divulgación explosiva a partir de mediados de los 80, que continua actualmente. • Importante sinergia con el desarrollo de las tecnologías de la información y la comunicación.
Metodología de Investigación de Operaciones • Pasos (a grandes rasgos): • 1.- Planteo y Análisis del problema a resolver. • 2.- Construcción de un modelo adecuado. • 3.- Obtención de datos y ajuste de parámetros del modelo. • 4.- Deducción de la(s) solucion(es). • 5.- Validación del modelo y evaluación de solucion(es). • 6.- Ejecución y Control de la(s) solucion(es). • Optimización: concierne fundamentalmente etapas 2 y 4.
Problemas de Optimización • Nomenclatura: • x=(x1, x2, ..., xn) variables del problema. • D espacio de soluciones factibles. • f(x) función objetivo. • Valor óptimo de f: f0 = min {f(x): xD} • Conjunto de soluciones óptimas S0 = {xD: f(x)= f0} (también llamadas soluciones globalmente óptimas).
Problemas de Programación Matemática • Nomenclatura: • x=(x1, x2, ..., xn) variables del problema. • f(x) función objetivo. • g(x) restricciones del problema • X espacio de soluciones. • D= {xD: g(x)<=0 } espacio de soluciones factibles.
Problemas de Optimización Combinatoria • Nomenclatura: • x=(x1, x2, ..., xn) variables del problema. • Para todo i, xi Di dominio de la variable, que es un conjunto discreto (finito o infinito). • X= D1D2 ... Dn espacio de soluciones (discreto). • DX espacio de soluciones factibles.
Ejemplo - Problema del Viajante de Comercio (TSP) • Sea: un conjunto de ciudades. • Una ciudad origen O. • Un conjunto de aristas que une las ciudades, con costos asociados. • Problema del viajante: recorrer todas las ciudades, comenzando en O y terminando en O, al menor costo posible.
Problema Ejemplo 2 4 2 2 2 3 O
Problema Una solución óptima (de valor 8) Ejemplo 2 2 4 2 2 2 2 2 2 3 O O
Repaso - Complejidad • Complejidad de un algoritmo: • Cantidad de operaciones elementales que se efectúan en el peor caso (en función del tamaño de los datos de entrada). • Complejidad de un problema: complejidad del algoritmo más eficiente para resolverlo. • Clases de complejidad: • Clase P (polinomial) • Clase NP (no-determinista polinomial) • Clase EXP (exponencial)
Repaso - Complejidad (2) • Problema abierto: P NP? • Clases: • NP-completo • NP-difícil • Problemas de optimización: • algunos en P. • muchos en NP-completo o NP-difícil (por ejemplo, Problema del Viajante de Comercio).
Problema 4 ciudades (4-1)!=6 recorridos Evaluación=0.1s Cómputo=0.1*6=0.6s Ejemplo - Enumerado en TSP 2 4 2 2 2 3 O
Problema 4 ciudades (4-1)!=6 recorridos Evaluación=0.1s Cómputo=0.1*6=0.6s Problema 51 ciudades (grafo completo) 50!=3.0E64 recorridos Evaluación=0.00001s Cómputo=9.6E51 años Ejemplo - Enumerado en TSP 2 4 2 2 2 3 O
Métodos de solución • Resolución analítica. • Algoritmos exactos. • Métodos de aproximación (p.ej, métodos numéricos). • Simulación y otros métodos aleatorizados. • Heurísticas.
Algoritmos exactos para Optimización Combinatoria • Enumeración explícita o implícita de soluciones (programación dinámica, branch and bound). • Algoritmos basados en Programación Matemática (simplex, punto interior, branch&cut, branch&cut&price). • Otros específicos de cada problema. • Únicos errores: redondeo, y eventualmente truncamiento.
Métodos de aproximación • Encuentra solución con error máximo conocido a priori. • En algunos casos, error de aproximación fijo. • En otros, posible elegir trade-off entre error de aproximación y esfuerzo computacional (mayor esfuerzo, menor error). • Problemas en la clase PTAS - “Polynomial Time Approximation Schemes”.
Métodos aleatorios • Con cierta probabilidad, encuentra solución que tendrá un error máximo dado. • Variantes: • Monte Carlo: siempre da una solución y estimación del error, con intervalo de confianza asociado; mayor esfuerzo computacional disminuye el error y aumenta la confianza. • Las Vegas: puede dar o no una solución en un tiempo dado (cuando la da, es exacta); mayor esfuerzo computacional aumenta la probabilidad de tener una respuesta.
Heurísticas • "heurística" deriva del griego heuriskein, que significa "encontrar" o "descubrir". • Técnicas que busca soluciones de buena calidad (de valor cercano al óptimo?) a un costo computacional razonable, aunque sin garantizar la optimalidad de las mismas. En general, ni siquiera se conoce el grado de error.
Ejemplo sencillo de heurística: método goloso (greedy) • Idea: tratar de construir una solución eligiendo de manera iterativa los elementos componentes de menor costo. • Para algunos problemas con estructura particular, la solución construida es una solución óptima. En general, no es el caso.
Aplicación al Viajante de Comercio - problema 7 3 5 10 3 5 2 2 7 o
Aplicación al Viajante de Comercio - problema 7 3 5 10 3 5 2 2 7 o • Algoritmo goloso: • Elijo la ciudad más próxima (menor costo) entre las aún no visitadas.
Aplicación al Viajante de Comercio (paso 1) 7 3 5 10 3 5 2 2 7 o
Aplicación al Viajante de Comercio (paso 2) 7 3 5 10 3 5 2 2 7 o
Aplicación al Viajante de Comercio (paso 3) 7 3 5 10 3 5 2 2 7 o
Aplicación al Viajante de Comercio (paso 4) 7 3 5 10 3 5 2 2 7 o
Aplicación al Viajante de Comercio (paso 5) 7 3 5 10 3 5 2 2 Solución: costo 22 7 o
Aplicación al Viajante de Comercio (solución alternativa) 7 3 5 10 3 5 2 2 Solución alternativa: costo 19 7 o
Metaheurísticas • “Heurísticas de nivel más alto” (Glover, 1986) • Características: • estrategias que guían el proceso de búsqueda, incluyendo en general heurísticas subordinadas. • de uso genérico (no específicas para una clase de problemas). • admiten descripción a nivel abstracto. • deben instanciarse para cada clase de problemas.
Metaheurísticas • Objetivos: • Encontrar soluciones factibles de buena calidad (valor cercano al óptimo). • Encontrar rápidamente soluciones factibles (puede ser en sí mismo un problema NP-difícil). • Recorrer el espacio de soluciones sin quedar “atrapados” en una zona. Noción de: • exploración del espacio, • explotación de las soluciones obtenidas.
Clasificaciones de Metaheurísticas • Inspiradas (o no) en la naturaleza (sistemas biológicos, físicos o sociales). • Algoritmos Genéticos - Evolución de las especies • Recocido simulado - Enfriamiento de metales • Colonias de hormigas - ídem. • Búsqueda dispersa - no bio-inspirada. • Aleatorias vs. determinísticas. • Algoritmos Genéticos, Recocido simulado, Colonias de hormigas: aleatorias. • Búsqueda Tabú, Búsqueda dispersa: determinísticas.
Clasificaciones de Metaheurísticas • Basadas en un individuo vs. basadas en poblaciones: • Recocido simulado, GRASP, búsqueda tabú, búsqueda local y variantes: basadas en un individuo. • Algoritmos Genéticos, Colonias de hormigas, Búsqueda dispersa: basadas en poblaciones. • Constructivas vs. trayectorias: • Recocido simulado, búsqueda tabú, búsqueda local y variantes: trayectorias. • GRASP, Colonias de hormigas: constructivas.
Clasificaciones de Metaheurísticas • Con memoria vs. sin memoria • Recocido simulado, GRASP, Algoritmos Genéticos, búsqueda local y variantes: sin memoria. • Búsqueda tabú,Colonias de hormigas: con memoria. • Espacio sin estructura / espacio estructurado. Uso de única función de vecindad / múltiples vecindades. Función objetivo estática / dinámica. …
Esquema de clasificación X/Y/Z • Propuesto por Laguna (similar al esquema para filas de espera propuesto por Kendall): • X = A (adaptativo, con memoria) o M (sin memoria) • Y= N (búsqueda determinística) o S (muestreo aleatorio) • Z = 1 (basado en una solución) o P (basado en poblaciones).
Algunas metaheurísticas muy difundidas • Búsqueda local y variantes (M/N/1). • Recocido Simulado (M/S/1). • Búsqueda Tabú (A/N/1). • GRASP (A/S/1). • Algoritmos Genéticos (A/S/P). • Colonias de Hormigas (A/S/P). • …
Estructura del espacio • Estructura de vecindad: función N:D->2D , que asigna a cada solución x un conjunto de “soluciones vecinas”. • Soluciones localmente mínimas (mínimos locales): x es mínimo local si para todo y que pertenece a N(x), f(x)<=f(y) (estricto si <). • Todo mínimo global es un mínimo local; el recíproco es falso.
Métodos de trayectoria • Método de búsqueda local básico. • Recocido simulado (SA - Simulated Annealing). • Búsqueda Tabú (TS - Tabu search). • Métodos de exploración local (ELS - Explorative local search). • GRASP • VNS - Variable neighborhood search • GLS - Guided local search • ILS - Iterated local search
Métodos basados en poblaciones • Computación evolutiva (EC) • Algoritmos genéticos • Algoritmos meméticos • Búsqueda dispersa (Scatter search) y caminos reconectados (path relinking) • Algoritmos evolutivos basados en modelos probabilísticos • Colonias de hormigas (ANT - Ant colony optimization)
Búsqueda local (LS-Local Search) • Los movimientos se realizan sólo si se mejora la solución. Algoritmo 1 (LS) s Generar SolucionInicial() Repeat s Mejorar(s,N(s)) Until no hay mejora posible
Búsqueda local (2) Solución inicial Óptimo local • Noción de Trayectoria
Búsqueda local (3) Valor del objetivo Óptimos locales Óptimo global x
Recocido simulado (SA-Simulated Annealing) • Es una de las metaheurísticas más antiguas que incorpora una estrategia explícita para impedir óptimos locales. • Basado en la física del calentamiento de metales. Se propone una similitud entre una buena estructura cristalina de metales y una buena estructura de soluciones para problemas de optimización combinatoria. • Se trata de minimizar una función objetivo que representa la energía del sistema.
Recocido simulado (2) • El proceso se puede describir en términos de cadenas de Markov de estado finito y se puede demostrar su convergencia. • Idea: permitir movimientos a soluciones que empeoren la función objetivo de forma de poder escapar a los óptimos locales. • La probabilidad de realizar los movimientos anteriores decrece durante la búsqueda. • Al comienzo, la temperatura es alta y cualquier transición entre estados es permitida y soluciones que empeoren la función objetivo pueden ser aceptadas con mayor probabilidad que más tarde cuando la temperatura disminuye.
Recocido simulado (3) • Mientras que las soluciones que mejoran la función objetivo siempre son aceptadas, las soluciones que la empeoran son aceptadas con mayor probabilidad si la temperatura es más alta. • La temperatura del sistema es controlada con enfriamiento sucesivo (función logarítmica) y recalentamientos periódicos, que permiten escapar de óptimos locales (estructura de soluciones).
Recocido simulado (4) Algoritmo 2 (SA) s GenerarSolucionInicial T T0 While no condicion fin do Seleccionar s´ N(s) randómicamente if f(s´) < f(s) then s s´ else Aceptar s´como nueva solución con probabilidad P(T,s´,s) end if Actualizar (T) end While
Búsqueda Tabú (TS-Tabu search) • Utiliza una búsqueda local con memoria a corto plazo que le permite “escapar” de mínimos locales y evita ciclos. • La memoria de corto plazo esta representada por la lista Tabú la cual registra las últimas soluciones “visitadas” e impide volver a ellas en los próximos movimientos. • La lista Tabu se actualiza normalmente en forma FIFO.
Búsqueda Tabú (2) • El largo de la lista tabú controla la memoria del proceso de búsqueda. Una lista tabú corta, controla áreas reducidas del espacio de búsqueda y una larga, fuerza a una búsqueda en áreas mayores. • El largo de la lista puede cambiar a lo largo del proceso de búsqueda • Por razones de eficiencia, no se guarda la solución completa en la lista tabú, sino una parte de sus atributos. Se define una lista tabú de condiciones. • En este proceso se pierde información y buenas soluciones pueden ser excluidas del conjunto permitido. Para reducir este problema, se define un criterio de aspiración que permitiría a una solución estar dentro del conjunto de soluciones permitidas aún cuando figure en la lista tabú.