Introducción a las Metaheurísticas I CONGRESO PERUANO DE INVESTIGACIÓN OPERATIVA Y SISTEMAS Introducción a las Metaheurísticas Gladys Maquera Facultad de Ingeniería y Arquitectura Universidad Peruana Unión Lima, 3 al 5 de noviembre de 2009
Heurística “Un método heurístico es un procedimiento para resolver un problema bien definido por medio de una aproximación intuitiva, a donde la estructura del problema se utiliza de forma inteligente para obtener una buena solución” D. de Werra y otros “Una heurística es una técnica que busca buenas soluciones con un tiempo de computación razonable sin garantizar la optimalidad” C.R. Reeves
Busca local
Busca local
Busca local
Problema: queda atrapado en el primer óptimo local Busca local Problema: queda atrapado en el primer óptimo local
Busca local El mejor vecino es peor!
Busca local Problema: Ciclaje
1. Introducción metaheurística El término “meta-heuristic” aparece por la primera vez en el mismo artículo que es introducido la Busca Tabú (Glover, 1986). El término metaheurística se obtiene al anteponer a heurística la palabra meta que significa “mucho mas lejos de” o “a un nivel superior”.
1. Introducción Las metaheurísticas son “Heurísticas de nivel mas alto”. (Fred Glover, BT, 1986) Características: estrategias que guían el proceso de busca, incluyendo en general heurísticas subordinadas. de uso genérico (no específicas para una clase de problemas). aceptan descripción a nivel abstracto deben hacerse se para cada clase de problemas.
1. Introducción : objetivos Encontrar rápidamente soluciones viables (problema NP- difícil). Encontrar las soluciones viables de buena calidad (valor próximo al óptimo). Recorrer el espacio de busca (soluciones) sin quedar “atrapado” en una región. Nociones: exploración del espacio e intensificación de busca en el espacio.
1. Introducción a las metaheurísticas Mínimo Local Mínimo Global
1. Introducción: áreas de actuación Investigación Operativa, Inteligencia Artificial, Ingeniería, Ciencias de la Computación. Diversos artículos, libros, monografías y volúmenes especiales.
1. Introducción: Componentes Básicos Comunes Construcciones gulosas, “aleatoriedad” Busca local, multiplicidad de vecindades Memoria Intensificación Diversificación
1. Introducción: Metaheurísticas GRASP Simulated Annealing Algoritmos Genéticos Busca Tabú Scatter Search VNS Colonia de Hormigas Otras.
1. Introducción: función de las metaheurísticas Para obtener buenas soluciones, cualquier algoritmo de busca debe establecer un balance adecuado entre dos características contradictorias del proceso: Intensificación: cantidad es esfuerzo empleado en la búsqueda en la región actual. Diversificación: cantidad de esfuerzo enpleado en regiones distantes del espacio de búsqueda La BL clásica presenta mucha intensificación pero poca diversificación
1. Introducción: función de las metaheurísticas
1. Introducción: función de las metaheurísticas Este equilibrio entre intensificación y diversificación es necesario para: Identificar rápidamente regiones del espacio con soluciones de buena calidad No consumir mucho tiempo en regiones del espacio no promisorio o ya explorados. Las metaheurísticas utilizan distintas estrategias para obtener un buen balance entre la intensificación y diversificación.
2.1 Clasificaciones de las Metaheurísticas Inspiradas (o no) en la naturaleza (sistemas biológicos, físicos o sociales). Algoritmos Genéticos - Evolución de las especies Simulated Annealing - Resfriamiento de metales Colonias de hormigas - idem. Busca dispersa - no bio - inspirada. Optimización de partículas inteligentes. Aleatorias vs. determinísticas. Algoritmos Genéticos, Simulated Annealing , Colonias de hormigas: aleatorias. Busca Tabú, Busca dispersa: determinísticas.
2.1 Clasificaciones de las Metaheurísticas Basadas en un individuo vs. basadas en poblaciones: Basadas en un individuo: Simulated Annealing, GRASP, busca tabú, busca local y variantes. Basadas en poblaciones: Algoritmos Genéticos, Colonias de hormigas, Busca dispersa. Constructivas vs. trayectorias: Trayectorias: Simulated Annealing, busca tabú, algoritmos genéticos, busca local y variantes. Constructivas: GRASP, Colonias de hormigas.
2.1 Clasificaciones de las Metaheurísticas Con memoria vs. sin memoria sin memoria : Simulated Annealing, GRASP con memoria: Algoritmos Genéticos, Busca tabú, Colonias de hormigas: Espacio sin estructura / espacio estructurado. Uso de única función de vecindad / múltiples vecindades. Función objetivo estática / dinámica.
2.1 Clasificaciones de las Metaheurísticas Una clasificación segundo Glover y Laguna (1997) En términos de características en relación a tres elecciones básicas: Uso de memoria adaptativa El tipo de exploración de la vecindad El número de soluciones que actúan en la busca
2.1 Clasificaciones de las Metaheurísticas Esquema de clasificación x|y |z x = A : si la metaheurística utiliza memoria adaptativa M : si utiliza memoria y = N : si el método utiliza alguna busca sistemática en vecindad S : cuando el método utiliza la aleatoriedad z = 1: se mueve de solución en solución P : basada en una población
2.1 Clasificaciones de las Metaheurísticas Clasificación 1 Clasificación 2 Algoritmos Genéticos M|S |P M|N |P Busca Tabú A|N |1 A|N |P Busca Dispersa Simulated Annealing M|S |1 M|N |1
2.1 Clasificaciones de las Metaheurísticas Segundo Melian, Moreno y Moreno (2003) Metaheurísticas son estrategias para diseñar procedimientos heurísticos En función del tipo de procedimientos a los que se refiere (relajación, constructivas, busca, evolutivas). Combinar metaheurísticas (construcción y mejoría) Uso de algún tipo de recurso computacional o forma especial ( redes neuronales, ACO)
2.3 Clasificaciones de las Metaheurísticas 2.1 Metaheurísticas de relajación 2.2 Metaheurísticas constructivas 2.3 Metaheurísticas de busca 2.4 Metaheurísticas evolutivas 2.5 Otras metaheurísticas
2.3.1 Metaheurísticas de Relajación Se refieren a procedimientos de resolución de problemas que utilizan relajaciones del modelo original del problema, o sea, modificaciones del modelo hacen/permiten que el problema original sea mas fácil de ser resuelto.
2.3.2 Metaheurísticas Construtivas Son aquellas que orientan a los procedimientos que tratan de la obtención de una solución a partir de un análisis y selección paulatina de las componentes que la conforman. La mas popular en este contexto es la estrategia greedy. Ejem. GRASP
2.3.3 Metaheurísticas de Busca Son aquellas que guían los procedimientos que utilizan transformaciones o movimientos para recorrer el espacio de soluciones alternativas y explorar las estructuras de la vecindad. Solución inicial Óptimo local Óptimo global
2.3.4 Metaheurísticas evolutivas Son aquellas que están enfocadas en los procedimientos basados en el conjunto de soluciones que evoluyen sobre el espacio de soluciones. Se sustituye la solución actual que esta en el espacio de soluciones por un conjunto de soluciones que lo recorren conjuntamente interactuando entre ellas.
2.3.4 Metaheurísticas evolutivas Población de soluciones Mínimo Local Mínimo Global Ej. Algoritmos Genéticos y Búsqueda Dispersa.
2.3.5 Otras metaheurísticas La mayoría están inspiradas en distintos fenómenos de la naturaleza. Redes neurales, colonia de hormigas (Ant systems) Optimización extrema Optimización de partículas inteligentes Busca local iterativa, De concentración Busca Local guiada, Busca Fuzzy adaptativas en vecindades, Programación por restricciones
Propiedades deseables de las Metaheurísticas Simples Precisa Coherente Efectiva Eficaz Eficiente General Adaptable Robusta Interactiva Múltiple autónoma
Conclusiones: Metaheurísticas Todas las MH pueden ser concebidas como estrategias aplicadas a procesos de busca, donde todas las situaciones intermediarias del problema se interpretan como elementos de un espacio de busca que se van modificando la medida que se aplican las distintas operaciones diseñadas para llegar a una solución definitiva. Los procesos de busca heurística constituyen el paradigma central de las metaheurísticas.
Conclusiones: metaheurísticas Para obtener buenas soluciones, cualquier metaheurística debe establecer un balance adecuado entre la intensificación y diversificación. Intensificación: cantidad de esfuerzo empleado en la busca en la región actual. Diversificación: cantidad de esfuerzo empleado en la busca en regiones distantes del espacio. A BL clásica presenta mucha intensificación pero poca diversificación.