ALGORITMOS METAHEURÍSTICOS Los algoritmos metaheurísticos son algoritmos aproximados de optimización y búsqueda de propósito general. Son procedimientos iterativos que guían una heurística subordinada combinando de forma inteligente distintos conceptos para explorar y explotar adecuadamente el espacio de búsqueda. Metaheurísticas: Definición Son algoritmos aproximados de propósito general consistentes en procedimientos iterativos que guían una heurística subordinada combinando de forma inteligente distintos conceptos para explorar y explotar adecuadamente el espacio de búsqueda Ventajas: • • • •
Algoritmos de propósito general Gran éxito en la práctica Fácilmente implementables Fácilmente paralelizables
Inconvenientes: • • •
Son algoritmos aproximados, no exactos Son altamente no determinísticos (probabilísticos) Presentan poca base teórica
Metaheurísticas: Procedimiento iterativo maestro que guía y modifica las operaciones de una heurística subordinada para producir eficientemente soluciones de alta calidad En los últimos años han aparecido una serie de métodos bajo el nombre de Metaheurísticos • Propósito de obtener mejores resultados que los alcanzados por los heurísticos tradicionales El término metaheurístico fue introducido por Fred Glover en 1986: “Los procedimientos Metaheurísticos son una clase de métodos aproximados que están diseñados para resolver problemas difíciles de optimización combinatoria, en los que los heurísticos clásicos no son efectivos. Los Metaheurísticos proporcionan un marco general para crear nuevos algoritmos híbridos combinando diferentes conceptos derivados de la inteligencia artificial, la evolución biológica y los mecanismos estadísticos”
FUENTES DE INSPIRACIÓN DE LAS METAHEURÍSTICAS
Funcionamiento de las Metaheurísticas •
Para obtener buenas soluciones, cualquier algoritmo de búsqueda debe establecer un balance adecuado entre dos características contradictorias del proceso: o o
•
El equilibrio entre intensificación y diversificación es necesario para: o o
•
Intensificación: cantidad de esfuerzo empleado en la búsqueda en la región actual (explotación del espacio) Diversificación: cantidad de esfuerzo empleado en la búsqueda en regiones distantes del espacio (exploración)
Identificar rápidamente regiones del espacio con soluciones de buena calidad No consumir mucho tiempo en regiones del espacio no prometedoras o ya exploradas
Las metaheurísticas aplican distintas estrategias para obtener un buen balance entre intensificación y diversificación
Clasificación de las Metaheurísticas Existen distintas metaheurísticas en función de conceptos como: • • • • •
Seguimiento de trayectoria considerado Uso de poblaciones de soluciones Uso de memoria Número de vecindarios considerados Fuente de inspiración
CLASIFICACIÓN DE LOS ALGORITMOS METAHEURÍSTICOS • Taxonomía tabular La estructuración tabular consiste en contruir una tabla de características que permita la comparación entre las metaheurísticas. Esta tabla contiene una columna por acada una de las características; en cada celda de la tabla se rellenará con el valor correspondiente. Estas son algunas características que se han considerado más descriptivas para realizar una clasificación tabular: Inspiración: determina si una metaheurística se inspira en un simil real o no. El valor de la casilla será: “si” en caso afirmativo, “no” en caso negativo y “parcialmente” en el caso de que se base en una metaheurística con inspiración real, aunque no inspire directamente. Número de soluciones: determina la cantidad de soluciones que se utiliza la metaheurística para implementar la busqueda. El valor de esta casilla puede ser “trayectorial” en el caso de utilizar una única solución y “poblacional” en el caso de que utilice un conjunto de soluciones. Multi-arranque: determina si la metaheurística se ejecuta una o vairas veces. El valor de esta casilla será “si” en el caso de que sea multi-arranque y “no” en caso contrario. Búsqueda local: determina si la metaheurística utiliza un procedimiento de búsqueda local para mejorar las soluciones. El valor de esta casilla será “si” en caso afirmativo y “no” en caso negativo. Función objetivo: determina si la metaheurística modifica la función objetivo para hacer la búsqueda o no. El valor en esta casilla será “dinámica” en el caso de que se modifique la función objetivo y “estática” en el caso contrario. Niveles de vecindad: determina si la metaheurística utiliza una o varias estructuras de vecindad. En el primer caso el valor de la casilla será “uno” y en el segundo caso “varios”. Vecindad: establece si la metaheurística utiliza una estructura de vecindad estática o dinámica. En el primer caso el valor de la casilla será “estática” y en el segundo caso “dinámica”. Memoria: establece si la metaheurística utiliza estructura de memorias para la búsqueda. El valor de la casilla será “explicita” en el caso de tener una estructura explícita que almacene y guíe la búsqueda o “implícita” cuando se tienen en cuenta características del pasado. Procesos aleatorios: determina si la metaheurística contempla fenómenos de aleatorización para permitir movimientos que puedan empeorar la solución para salir de óptimos locales. El valor de la casilla será “si” en caso afirmativo y “no” en el caso contrario. Procesos adaptativos: determina si la metaheurística se adapta al problema, de tal forma que es capaz de cambiar sus parámetros, ya sea para intensificar o para diversificar la
búsqueda. El valor de la casilla será “si” en caso de que algún procedimiento sea adaptativo o “no” en caso negativo. • Taxonomía jerárquica Las taxonomías jerárquicas establecen una estructura de árbol para intentar clasificar las metaheurísticas. Estas clasificaciones asumen que son parciales, ya que la relación entre estos algoritmos suele ser más compleja. En la siguiente figura se presenta una propuesta que permite clasificar jerárquicamente la mayoría de las metaheurísticas:
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.