Grupo 1: Verónica Giaudrone Marcelo Vaccaro

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

DISEÑO DE EXPERIMENTOS
Planificación de Monoprocesadores
III - Gestión de memoria
Grupo 4 Matías Melgar Pablo Carbonell
1.2 Decisiones de la comunicación organizacional
Investigación de Operaciones II
UNIDAD I MODELOS Y TOMA DE DECISIONES
José Enrique Gonzalez Roberto Clavell
Telekom Solutions.
Investigación Algorítmica
Muestreo para la inspección por atributos
PROGRAMACION DE ESTRUCTURAS DE DATOS
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
Solución de problemas por búsqueda inteligente
“Persuasive argumentation in negotiation” Katia P. Sycara.
Ciclo de formulación del proyecto.
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Introducción a las Metaheurísticas
Búsqueda de Aproximaciones: Algoritmos
Maracaibo, 5 de Noviembre de 2007 Universidad del Zulia Facultad de Ingeniería Instituto de Cálculo Aplicado Universidad del Zulia Facultad de Ingeniería.
Capítulo 4 BUSQUEDA INFORMADA.
Diseño de la investigación
Scatter Search y Path Relinking Grupo 7 Giovanna Garula Rodrigo Guridi Referencias Fundamentals of Scatter Search and Path Relinking. Fred Glover Manuel.
Solución de problemas por Búsqueda
Optimización, Búsqueda Heurística
Agentes de resoluciones d problemas Parte I. Un agente puede adoptar una meta o un propósito para satisfacer.

Diseño y análisis de algoritmos
DISEÑO DE SOFTWARE 1ª. Parte
Bibliografía “Metaheuristics in Combinatorial Optimization: Overview and conceptual Comparison” C. Blum and A. Roli- TR/IRIDIA/ “An introduction.
Complejidad de los problemas de decisión
Sesión 6: Campos de Markov
(Organización y Manejo de Archivos)
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
PROGRAMACIÓN DE RECURSOS.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H
Combinación de Clasificadores
MÉTODO DE PIXELES DE BORDE
Planificación de Procesos
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 8 Eduardo Morales / L. Enrique Sucar Sesión 8 Eduardo Morales / L. Enrique.
Introducción a la investigación de mercados Naresh malhotra
Experimentación Numérica
Ditribución del valor extremo Distribucion del maximo de N scores de matching de secuencias random independientes Si la probabilidad de este.
Una introducción a la computación evolutiva
Capítulo 1. Conceptos básicos de la Estadística
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
Clase # 7: Análisis Conformacional (I)
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Incorporando Búsqueda Local a un Algoritmo ACO para el Problema de Scheduling de Tardanza Ponderada Lasso M., de San Pedro M Laboratorio de Tecnologías.
MÉTODOS DE EVALUACIÓN DEL DESEMPEÑO
Búsqueda en Vecindades Variables (Variable Neighborhood Search - VNS)
Optimización Combinatoria y Grafos Búsqueda Tabú
Agentes e IA Distribuida L. E. Sucar / Alberto Reyes Robótica Inteligente.
Introducción a los TADs
Modelo Prescriptivos de proceso
INFERENCIA ESTADÍSTICA
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
Fundamentos de Computación
Simulacion. Simulación Es la construcción de modelos informáticos que describen la parte esencial del comportamiento de un sistema de interés, así como.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Conclusiones: En este trabajo se ha demostrado que se pueden aplicar los algoritmos OCH al ajuste de los parámetros de un modelo borroso mediante la discretización.
Auxiliar 11 IN4402-1: Aplicaciones de Probabilidades y Estadística en Gestión Profesora: Paola Bordón T. Auxiliar: Andrés E. Fernández V, 28 de Julio,
Transcripción de la presentación:

Grupo 1: Verónica Giaudrone Marcelo Vaccaro Búsqueda Local Grupo 1: Verónica Giaudrone Marcelo Vaccaro Artículo: “Iterated Local Search” Lourenço, Martin, Stützle

Agenda Introducción Iterando en Búsqueda local Conclusiones Random Search Búsqueda en S* Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro Conclusiones

Introducción Importancia de algoritmos de alta performance para problemas difíciles de optimización Una Metaheurística debe ser: simple efectiva en lo posible general Caso ideal: Puede ser usada sin ningún conocimiento del problema Metaheurísiticas se volvieron más sofisticadas, y este ideal se dejó de lado por mejor performance

Introducción (cont) Incorporación de conocimiento específico del problema en la metaheurísitca Hace más difusa la diferencia entre heurística y metaheurística Solución: Modularidad y descomposición de la metaheurística en partes: Totalmente de propósito general Conocimiento específico del problema

Introducción (cont) Esencia de Iterated Local Serach: Construye iterativamente una secuencia de soluciones generadas por la heurística embebida Mejores soluciones que repetidas corridas aleatorias de la heurística Puntos que hacen a un algoritmo ser un Iterated local search: Debe seguir una cadena simple (excluye algoritmos basados en poblaciones) La búsqueda de mejores soluciones ocurre en un espacio reducido definido por la salida de la heurística de “caja-negra”

Consideraciones Sea C la función de costo a minimizar Sea s una solución candidata y S el conjunto Asumimos que la búsqueda local es: Determinística Sin memoria La búsqueda local define un mapeo entre S y S*, siendo S* el conjunto de soluciones s* localmente óptimas. Asumimos que la búsqueda local es determinística y sin memoria (aunque muy poco de lo que se concluye realmente utiliza esta propiedad)

Costo La distribución de costos: Forma de campana Media y varianza menor para las soluciones de S* que para las de S. Es mejor utilizar búsqueda local, que muestrear aleatoriamente en S si se buscan soluciones con bajo costo. Distribución de costos encontrada en la práctica para problemas de optimización combinatoria cuyo espacio de soluciones es finito 2- Esto significa que S es un espacio con cierta topología, no simplemente un conjunto.

Agenda Iterando en Búsqueda local Introducción Conclusiones Random Search Búsqueda en S* Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro Conclusiones

Iterando en búsqueda local Búsqueda local: Es la heurística embebida que utilizará la metaheurística. Dependerá del problema a resolver Puede no ser de hecho una búsqueda local La búsqueda local mejorada mediante iteración: En la práctica se obtienen mejoras significativas. Sólo en casos patológicos la mejora es mínima. Random Restart Búsqueda en S* Búsqueda Local Iterada Llamaremos búsqueda local (Local Search) a la heurística embebida que utilizará la metaheurística, esta heurística dependerá del problema a resolver. La heurística embebida puede no ser de hecho una búsqueda local

Búsqueda local como caja negra Reducir los costos sin modificar la búsqueda local, utilizándola como rutina de caja negra La búsqueda local: Toma un elemento de S para el cual C tiene una media alta, hacia S* donde C tiene un media menor

Búsqueda local Los movimientos se realizan sólo si se mejora la solución Procedure BúsquedaLocal s = GenerarSoluciónInicial() repeat s = Mejorar(s, vecindad(s)) until no hay mejora posible Solución inicial Óptimo local

Iterando en Búsqueda local Random Restart Búsqueda en S* Búsqueda Local Iterada

Random restart La forma más simple de mejorar el costo encontrado por una búsqueda local: Repetir la búsqueda desde otro punto de inicio. Cada s* generado será independiente Aunque muchas veces es una estrategia útil, pierde utilidad a medida que crece el espacio de búsqueda.

Random Restart (cont) Estudios empíricos indican que en espacios de búsqueda grandes los costos de búsqueda local llevan a costos que: Media excede el costo óptimo en un porcentaje fijo. Distribución extremadamente “en pico” en la media cuando el tamaño del espacio tiende a infinito. Tiene una distribución que es extremadamente “en pico” en la media cuando el tamaño del espacio tiende a infinito. Se hace imposible en la práctica encontrar un s* cuyo costo sea un poco menor al costo típico. Aunque existen soluciones con costo significativamente menor

Random Restart (cont) Muestreo aleatorio tiene cada vez más baja probabilidad de encontrar soluciones de bajo costo a medida que crece el tamaño del espacio de búsqueda Se necesita entonces una muestra parcial

Iterando en Búsqueda local Random Restart Búsqueda en S* Búsqueda Local Iterada

Búsqueda en S* Para evitar el problema de los grandes espacios de búsqueda Invocar recursivamente Utilizar búsqueda local para ir desde S* a S** donde la media del costo sería aún menor. Generaríamos una jerarquía de búsquedas locales anidadas

Búsqueda en S* (cont) ¿Cómo formulamos la búsqueda local en el nivel más bajo de la jerarquía? Búsqueda local requiere una estructura de vecindad que no viene dada a priori. Difícil definir vecinos en S* que puedan ser enumerados y accedidos eficientemente. Noción de cercanía y luego aplicar búsqueda estocástica en S*. Hay opciones estocásticas para encontrar las vecindades: costo computacional se incrementa al bajar en la jerarquía por la cantidad de veces que debe ejecutarse la búsqueda local Noción de cercanía y luego aplicar búsqueda estocástica en S*. Permitiría mejor muestreo que el randómico si fuera posible encontrar una forma computacional apropiada para ir de un s* a otro. Incorporando memoria y no determinismo el método será más general

Iterando en Búsqueda local Random Restart Búsqueda en S* Búsqueda Local Iterada

Iterated Local Search - ILS (Búsqueda local iterada) Explorar S* recorriendo desde un s* hacia otro cercano sin necesidad de la noción de vecindad Iterated local search logra esto heurísticamente

Iterated Local Search Dado s* aplicamos una perturbación que genera un estado intermedio s’ (perteneciente a S) Aplicamos búsqueda local a s’ y alcanzamos una solución s*’ en S* Si s*’ supera el test de aceptación entonces será el próximo elemento del camino en S*, si no se retorna a s*. Camino resultante es un caso de búsqueda estocástica sobre S* En ILS el camino no será reversible, podremos decidir caminar de s1* a s2* pero no de s2* a s1*. Esto no previene que ILS sea muy efectivo en la práctica.

Metaheurística Procedure Iterated Local Search end s0 = GenerateInitialSolution s* = LocalSearch(s0) repeat s’ = Perturbation(s*, history) s*’ = LocalSearch(s’) s* = AcceptanceCriterion(s*, s*’, history) until termination condition met end

ILS con o sin memoria Mucha complejidad del ILS puede estar escondida en el uso de la historia. Mayoría de los trabajos hasta ahora NO utilizan memoria Perturbación y criterio de aceptación no utilizan soluciones previamente visitadas. Caminos “Markovianos” Si la perturbación depende de algún s* anterior, entonces el camino en S* es con memoria. Trabajos recientes que la incorporan han obtenido mejoras en la performance. Camino “Markovianos” (la probabilidad de ir de s1* a s2* sólo depende de s1* y s2*).

Resumiendo… Poder de ILS proviene de la guía que ofrece en el muestreo del conjunto de óptimos locales. Eficiencia del muestreo depende de: Tipo de perturbación Criterio de aceptación A pesar de contar con implementaciones muy simples de esas partes, ILS es mucho mejor que RR

Resumiendo…(cont) Mejores resultados si se optimizan los módulos que la componen. La complejidad puede agregarse de forma modular Es rápido: se pueden realizar k búsquedas locales embebidas en ILS más rápido que realizar las k búsquedas locales con RR Mejores resultados aún se obtendrán si se optimizan los módulos que la componen. El criterio de aceptación puede ser determinado empíricamente La perturbación podría contener tanta información específica del problema a resolver como se quiera.

Agenda Mejorando Performance Introducción Iterando en Búsqueda local Random Search Búsqueda en S* Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro Conclusiones

Obteniendo mejor performance Existen 4 componentes a considerar: Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Obteniendo mejor performance Consideraciones Se puede comenzar con: Solución aleatoria Solución de alguna heurística de construcción “greedy” Para la mayoría de los problemas existe un algoritmo de búsqueda local ya disponible Para la perturbación, un movimiento aleatorio de mayor orden que el usado en la búsqueda local puede ser muy efectivo Primera idea: forzar que el costo decrezca

Obteniendo mejor performance (cont) Fácil mejorar la performance, mejorando cada uno de los 4 módulos Debido a: Complejidad se reduce por la modularidad Función de cada componente es fácil de entender Optimización global de ILS: como cada componente afecta al siguiente, se debe entender la interacción entre ellos Conclusión: El desarrollador puede elegir el nivel de optimización que quiera aplicar

Componentes Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Solución inicial La búsqueda local aplicada a la solución inicial s0 da el punto de partida s0* Soluciones standard para s0: Solución inicial aleatoria Solución retornada por heurística constructiva “greedy” Ventajas contra la solución aleatoria: Combinada con la búsqueda local resulta en soluciones s0* de mejor calidad Una búsqueda local a partir de una solución “greedy”, en promedio requiere menos tiempo de CPU

Solución inicial (cont) Tiempos de computación cortos: La solución inicial es muy importante para obtener soluciones de alta calidad Tiempos de computación largos: La dependencia de la solución final respecto de s0 se pierde cuando se realiza el recorrido en S* No hay siempre una opción clara acerca de cual es la mejor solución inicial Pocas corridas: soluciones greedy parecen obtener soluciones de bajo costo rápidamente. Muchas corridas: solución inicial parece ser menos relevante.

Componentes Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Búsqueda Local Búsqueda local iterada sensible a la elección de su heurística embebida Debe optimizarse la elección lo más posible. No siempre la mejor búsqueda local lleva a una mejora en ILS Si el tiempo de computación es fijo, puede ser mejor aplicar con más frecuencia un algoritmo de búsqueda local más rápido aunque menos efectivo, que uno más lento y más poderoso.

Búsqueda Local (cont) La elección debe basarse en cuánto más tiempo de computación se necesita para correr la mejor heurística Sin sentido utilizar una búsqueda local excelente si sistemáticamente deshace la perturbación Por esto se requiere una optimización global de ILS Para TSP el algoritmo de búsqueda local que se comporta mejor y más rápido es el de Lin-Kernighan.

Componentes Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Perturbación Fuerza de la perturbación: Número de componentes de la solución que son modificados La búsqueda local no debería ser capaz de deshacer la perturbación, ya que se caería en un óptimo local ya visitado Se pueden obtener mejores resultados si las perturbaciones tienen en cuenta propiedades del problema

Perturbación (cont) Cuanto debe cambiar la perturbación a la solución inicial? Muy fuerte: ILS se comporta como random restart y mejores soluciones solo se encuentran con una baja probabilidad Muy suave: La búsqueda local cae frecuentemente en un óptimo local ya visitado y la diversificación de la búsqueda queda muy limitada

Perturbación (cont) Problemas simples (como TSP): Se puede obtener resultados satisfactorios usando perturbaciones de tamaño fijo Ej.: Perturbación exitosa para TSP es el double-bridge move El double bridge move: se cortan 4 bordes (por esto la perturbación es de fuerza 4), y se introducen 4 nuevos. Cada puente corresponde a un cambio doble (2 cambios), pero ninguno de los 2 cambios individualmente mantiene al tour conectado

Perturbación (cont) Problemas más complejos: Usar perturbaciones de largo fijo puede llevar a una pobre performance Regla general: Perturbaciones suaves usualmente llevan a ejecuciones más rápidas de la búsqueda local, como desventaja se puede caer en el mismo óptimo local

Perturbaciones adaptativas La experiencia muestra que no existe a priori un mejor tamaño para la perturbación Motiva a modificar la fuerza de la perturbación y adaptarla durante la corrida: Explotando la historia de la búsqueda Cambiar determinísticamente la fuerza durante la búsqueda (oscilaciones estratégicas)

Velocidad Empíricamente ILS tiene mayor velocidad para ejecutar búsquedas locales que random restart

Componentes Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Criterio de aceptación La perturbación junto con la búsqueda local definen las posibles transiciones entre la solución actual s* y una solución vecina s*’ El criterio de aceptación determina cuando s*’ es aceptado o no Puede usarse para controlar el balance entre intensificación y diversificación de la búsqueda

Criterios de aceptación Better: Logra fuerte intensificación Solo acepta mejores soluciones

Criterios de aceptación Random Walk Siempre aplica la perturbación al óptimo local más recientemente visitado, sin considerar su costo Favorece diversificación sobre intensificación Muchas otras opciones intermedias son posibles

Criterios de aceptación Restart Cuando la intensificación parece inefectiva se debería re-comenzar completamente el algoritmo de ILS Ej: recomenzar cuando no se obtienen mejoras para un número determinado de iteraciones Restart: En caso de mejora del costo elijo a s*’ En caso que luego de cierta cantidad de iteraciones no encontré una mejor solución, entonces elijo un s, hay muchas formas de elegirla. La estrategia más simple es generarlo randómicamente o mediante una heurística greedy.

Ejemplo: TSP Se comparó ILS utilizando RW y Better contra Random Restart ILS alcanzó mejores soluciones utilizando la misma búsqueda local Para TSP las buenas soluciones están clustereadas Buena estrategia: incorporar intensificación Better: Mejores resultados (corridas cortas) Llegado cierto punto la estrategia Better no mejora los tours y debe considerarse la diversificación. Siendo posible mejorar más los resultados si se alternan las fases de intensificación y diversificación.

Agenda Optimización global Introducción Iterando en Búsqueda local Random Search Búsqueda en S* Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro Conclusiones

Optimización global de ILS Al focalizarnos en un componente, consideramos fijos todos los demás. La optimización de un componente depende de las elecciones en los otros. Ignoramos en la optimización la generación de la solución inicial

Optimización global de ILS (cont) La Perturbación depende de la Búsqueda local elegida. El Criterio de aceptación depende de la Búsqueda local y la Perturbación. Aproximación al problema de optimización global: optimizar sucesivamente cada componente, hasta no obtener mejoras en ninguno de ellos. Optimización iterativa.

Optimización global de ILS (cont) El algoritmo ILS deberá ser robusto Los investigadores implementan versiones de búsquedas locales iteradas con cierto nivel de optimización global y luego se testea el éxito de performance con ciertos benchmarks estandarizados.

Características del espacio de búsqueda Si las mejores soluciones están clustereadas en S* (TSP), será útil la intensificación mejorando la probabilidad de encontrar el óptimo global. Si el clustering es incompleto (QAP, MAX-SAT, graph bi-section), será útil luego de una fase de intensificación, explorar otras regiones de S*. El balance entre intensificación y diversificación es importante y desafiante. Clustereadas: Hay una fuerte correlación entre el costo de una solución y su distancia al óptimo. Las mejores soluciones se clusterean juntas Cluster incompleto: soluciones muy distantes pueden ser casi tan buenas como el óptimo.

Agenda Aplicaciones Introducción Iterando en Búsqueda local Random Search Búsqueda en S* Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro Conclusiones

Aplicaciones TSP Problemas de planificación Bipartición de grafos MAX-SAT Es crítica la elección del algoritmo de búsqueda local para obtener muy buena performance Optimizar globalmente los demás componentes Utilizar propiedades específicas del problema a resolver

ILS Es una metaheurística versátil que puede adaptarse a diferentes tipos de problemas de optimización combinatoria Perturbaciones sofisticadas y búsqueda diversificada son esenciales para alcanzar la mejor performance posible

Agenda Relaciones con otras Metaheurísticas Introducción Iterando en Búsqueda local Random Search Búsqueda en S* Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro Conclusiones

Relación con otras metaheurísticas Metaheurísticas basadas en vecindades Recocido simulado (SA) Búsqueda Tabú (TS) Búsqueda local guiada (GLS) Metaheurísticas basadas en multi-comienzo (multi-start) GRASP Colonia de hormigas (ACO) Algoritmos evolutivos (EA) Búsqueda dispersa Búsqueda en vecindades variables ILS ACO y EA no necesariamente utilizan Local Search. Las otras la utilizan embebida como parte esencial de su estructura. Estas metaheurísticas generan iterativamente soluciones iniciales para la búsqueda local.

Metaheurísticas basadas en vecindades Evitan quedarse en óptimos locales, permitiendo peores soluciones en su vecindad Las metaheurísticas difieren principalmente en las estrategias de movimiento Para usarlas como algoritmo de búsqueda local en ILS debemos limitar el tiempo de corrida, en gral. obtienen buenas soluciones, pero con largo tiempo de computación

Metaheurísticas basadas en multi-comienzo Clasificación en Constructivas: GRASP, ACO Basadas en perturbación ILS no construye soluciones ILS puede ser usado embebida en lugar de una búsqueda local en algoritmos como ACO o GRASP

Relación con otras metaheurísticas (cont) Otra clasificación: Basadas en poblaciones: EA Búsqueda dispersa ACO Basadas en una sola solución actual: ILS

Relación con otras metaheurísticas (cont) En general las basadas en poblaciones son más complejas que las de una solución La complejidad se justifica al mejorar la performance Se han propuesto algunas extensiones de ILS basadas en poblaciones y logrado soluciones de gran calidad

Relación con otras metaheurísticas (cont) La búsqueda de vecindades variables (VNS) es la metaheurística más cercana a ILS: VNS básica puede verse como una ILS con Better como criterio de aceptación y con una forma sistemática de variar la fuerza de la perturbación Las fronteras de las distintas metaheurísticas no están claramente definidas, y hay métodos híbridos que las combinan, pudiendo ir de una metaheurística a otra

En el futuro… ILS podría aplicarse a Aún debe mejorarse: Problemas donde las restricciones son muy severas Problemas multi-objetivo Problemas dinámicos o de tiempo real Aún debe mejorarse: Entendimiento de la relación de sus componentes Uso de la memoria Intensificación y diversificación explícita Mayor inclusión de conocimiento de cada problema específico.

Agenda Conclusiones Introducción Iterando en Búsqueda local Random Search Búsqueda en S* Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro Conclusiones

Conclusiones ILS tiene varias características deseables Simple Fácil de implementar Robusta Altamente efectiva Idea esencial: Focalizar la búsqueda en el espacio de soluciones localmente óptimas.

Conclusiones (cont) El éxito se basa en el muestreo parcial del conjunto de óptimos locales La efectividad depende de la elección de la búsqueda local, perturbación y criterio de aceptación. Aunque las implementaciones de las partes sean muy simples, ILS se comporta mejor que Random Restart

Conclusiones (cont) Si ILS se optimiza adaptándola al problema se torna un algoritmo competitivo. ILS se puede optimizar progresivamente, manteniendo el nivel de simplicidad deseado Su naturaleza modular conlleva a menores tiempos de desarrollo Al tratar a su heurística embebida como caja negra, puede utilizar una nueva y mejor búsqueda local casi inmediatamente Problemas dinámicos o de tiempo real: datos del problema varían durante el proceso de solución

Preguntas

Aplicación de ILS a TSP Problema de prueba reconocido Buena performance permite valorar las ideas de la metaheurística que se proponen Se logró buena performance utilizando Como búsqueda local la heurística Lin-Kernighan (la mejor para TSP) Como perturbación double-bridge move Como criterio de aceptación el algoritmo uno del tipo de SA (LSMC) Para la generación de la solución inicial se obtuvo peor performance con tours iniciales aleatorios que con generados por heurísticas greedy large-step Markov chain LSMC(s*, s*’, history) es del tipo de recocido simulado S*’ es siempre aceptado si es mejor que s* Sino s*’ es aceptado con una probabilidad de exp{(C(s*)-C(s*’))/T} donde T es un parametro llamado temperatura y es gralmente decrementado en SA. Nota: LSMC se comporta como RW si T es muy alta, a T muy bajas es similar a Better

Aplicación de ILS a TSP (cont) Un estudio concluye que el criterio de aceptación Better muestra estancamiento, luego de largo rato de corrida, debido a gran intensificación. Propuso un criterio para diversificar, buscando soluciones que estén a cierta distancia mínima de la posición actual -> Mostró ser muy efectivo Otra perturbación propuesta es llamada genetic transformation Utiliza dos tours, el mejor encontrado y otro previamente encontrado. Perturba al mejor encontrado y se buscan los subtours en común. Luego éstos son reconectados empleando un algoritmo greedy -> Resultó muy efectivo

Relación con otras metaheurísticas (cont) La búsqueda de vecindades variables (VNS) es la metaheurística más cercana a ILS: VNS básica puede verse como una ILS con Better como criterio de aceptación y con una forma sistemática de variar la fuerza de la perturbación La mayor diferencia se encuentra en que: ILS tiene el objetivo de generar un camino en el conjunto de soluciones óptimas locales VNS se deriva de cambiar sistemáticamente las vecindades durante la búsqueda

Metaheurísticas basadas en vecindades (cont) Cuánto tiempo debemos correr la búsqueda embebida para alcanzar un buen balance entre el tiempo de computación y la calidad de la solución? Depende del tiempo de computación que disponemos y cómo mejoran los costos con el tiempo. Otra conexión entre los ILS, SA y TS parte de ciertas similaridades: SA puede ser visto como un ILS sin la fase de búsqueda local TS utiliza memoria como característica principal, aprovechando la historia, se espera que esto se incorpore en aplicaciones de ILS futuras.