Descargar

Algoritmos de Búsqueda Local

Enviado por Pablo Turmero


Partes: 1, 2, 3

    edu.red

    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

    edu.red

    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íficodel problema

    edu.red

    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”

    edu.red

    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.

    edu.red

    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.

    edu.red

    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

    edu.red

    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

    edu.red

    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 (Gp:) Solución inicial (Gp:) Óptimo local

    edu.red

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

    edu.red

    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.

    edu.red

    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.

    edu.red

    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

    edu.red

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

    edu.red

    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

    edu.red

    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*.

    edu.red

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

    Partes: 1, 2, 3
    Página siguiente