PDF de programación - Estudio de técnicas de búsqueda por vecindad a muy gran escala

Imágen de pdf Estudio de técnicas de búsqueda por vecindad a muy gran escala

Estudio de técnicas de búsqueda por vecindad a muy gran escalagráfica de visualizaciones

Publicado el 6 de Septiembre del 2017
561 visualizaciones desde el 6 de Septiembre del 2017
597,0 KB
39 paginas
Creado hace 20a (16/09/2003)
Estudio de técnicas de búsqueda por vecindad a muy gran escala

Ravindra K. Ahuja

Departamento de ingeniería industrial y de sistemas

Universidad de Florida

Gainesville, FL 32611, USA

[email protected]

Özlem Ergun

Centro de investigación operativa

Instituto tecnológico de Massachussets

Cambridge, MA 02139, USA

[email protected]

James B. Orlin

Escuela Sloan de dirección

Instituto tecnológico de Massachussets

Cambridge, MA 02139, USA

[email protected]

Departamento de matemáticas, estadística y ciencias informáticas

Abraham P. Punnen

Universidad de New Brunswick

Saint John, New Brunswick, Canada E2L 4L5

[email protected]

(22 de julio de 1999)

(Revisado el 11 de octubre de 2000)



1

Estudio de técnicas de búsqueda por vecindad a muy gran escala



Ravindra K. Ahuja, Özlem Ergun, James B. Orlin, Abraham P. Punnen

Resumen

Muchos problemas de optimización de interés práctico resultan intratables mediante técnicas de cálculo.
Ante esta dificultad, los algoritmos heurísticos (o de aproximación) se revelan como un medio útil para
su resolución, ya que permiten obtener soluciones casi óptimas en un tiempo razonable. Los algoritmos
de mejora son algoritmos heurísticos que, por lo general, parten de una solución factible y tratan de
hallar, por medio de iteraciones, una solución aún mejor. Los algoritmos de búsqueda por vecindad
(también llamados algoritmos de búsqueda local) constituyen un tipo bastante amplio de algoritmos de
mejora en los que en cada iteración se obtiene una solución mejorada buscando en la "vecindad" de la
solución existente. Un aspecto crítico del diseño de esta clase de algoritmos es la elección de la
estructura de la vecindad; es decir, el modo en el que se va a definir ésta. Como regla general, cuanto
más amplia sea la vecindad, mayor será tanto la calidad de las soluciones localmente óptimas como la
precisión de la solución final que se obtenga. Pero, al mismo tiempo, cuanto más amplia sea la vecindad,
más tiempo será necesario para realizar la búsqueda dentro de ella en cada iteración. Por esta razón, una
vecindad muy amplia produce necesariamente una heurística más eficaz, a menos que la búsqueda se
realice de un modo muy eficiente. El presente estudio se concentra en algoritmos de búsqueda local en
los que el tamaño de la vecindad es “muy grande” con respecto al tamaño de los datos y en los que la
búsqueda local se hace con criterios de máxima eficiencia. En él se analizan tres tipos muy amplios de
algoritmos de búsqueda por vecindad a muy gran escala (VLSN: Very Large-Scale Neighborhood): (1)
métodos de profundidad variable en los que la búsqueda local se realiza de modo heurístico, (2)
aplicación de la programación dinámica o de técnicas de flujo de redes a vecindades amplias, y (3)
vecindades grandes inducidas por restricciones del problema original que pueden resolverse en tiempo
polinómico.

1. Introducción

Muchos problemas de optimización de interés práctico resultan intratables mediante técnicas
de cálculo. Ante esta dificultad, los algoritmos heurísticos (o de aproximación) se revelan como un
medio útil para su resolución, ya que permiten obtener soluciones casi óptimas en un tiempo razonable.
Los trabajos dedicados a algoritmos heurísticos suelen dividir éstos en dos amplias categorías:
algoritmos de construcción (o constructivos) y algoritmos de mejora. Los primeros montan una solución
partiendo de cero, mediante la asignación de valores a una o varias variables de decisión al mismo
tiempo, mientras que los algoritmos de mejora parten de una solución factible y tratan de hallar una



2

mejor por medio de iteraciones. Los algoritmos de búsqueda por vecindad (también llamados algoritmos
de búsqueda local) constituyen un tipo bastante amplio de algoritmos de mejora en los que en cada
iteración se obtiene una solución mejorada buscando en la "vecindad" de la solución existente. El
presente estudio se concentra en algoritmos de búsqueda local en los que el tamaño de la vecindad es
“muy grande” con respecto al tamaño de los datos y en los que la búsqueda local se hace con criterios de
máxima eficacia. En instancias grandes de problemas, la búsqueda de este tipo de vecindades de modo
explícito resulta poco práctica, lo que hace necesario realizar la búsqueda en un segmento más pequeño
de la vecindad o bien desarrollar algoritmos que resulten eficaces en búsquedas de modo implícito en la
vecindad.

Un aspecto crítico del diseño de esta clase de algoritmos es la elección de la estructura de la
vecindad (es decir, el modo en el que se va a definir ésta), ya que del tipo de estructura que se elija
dependerá el que la búsqueda de vecindad desarrolle soluciones altamente precisas o soluciones con
óptimos locales muy pobres. Como regla general, cuanto más amplia sea la vecindad, mayor será tanto la
calidad de las soluciones localmente óptimas como la precisión de la solución final que se obtenga. Pero,
al mismo tiempo, cuanto más amplia sea la vecindad, más tiempo será necesario para realizar la
búsqueda dentro de ella en cada iteración. Dado que se suelen ejecutar varios algoritmos de búsqueda
local con distintos puntos de partida, la mayor duración de los tiempos de ejecución para cada iteración
requiere un menor número de ejecuciones por tiempo unitario. Por esta razón, una vecindad muy amplia
produce necesariamente una heurística más eficaz, a menos que la búsqueda se realice de un modo muy
eficiente.

Varios de los métodos más utilizados por su alta eficiencia en investigación operativa pueden
entenderse como técnicas de búsqueda por vecindad a gran escala. Así, por ejemplo, si contemplamos el
algoritmo simplex para la resolución de programas lineales como un algoritmo de búsqueda local,
tendremos que la generación de columnas es a su vez un método de búsqueda por vecindad a gran
escala, al igual que ocurre con las técnicas de extrapolación empleadas para la resolución de muchos
problemas de flujo de redes. El algoritmo de cancelación del ciclo de coste negativo que se usa para
resolver el problema del flujo de coste mínimo y el algoritmo del camino de aumento que resuelve
problemas de ajuste son dos ejemplos de ello.

En el presente estudio, hemos clasificado los métodos de vecindad a gran escala en tres categorías
que pueden coincidir parcialmente. La primera de ellas comprende los métodos de profundidad variable:
una serie de algoritmos que se centran en vecindades exponencialmente grandes en las que realizan
búsquedas parciales por medio de la heurística. La segunda categoría comprende algoritmos de mejora
basados en flujos de red; métodos de búsqueda local que emplean técnicas de flujo de red para
identificar posibilidades de mejora en la vecindad. Por último, en la tercera categoría se analizan
vecindades para problemas NP-difíciles inducidos por subconjuntos de restricciones de los problemas
que se pueden resolver en tiempo polinómico. Aunque hemos introducido el concepto de búsqueda por



3

vecindad a gran escala al hacer referencia a técnicas de generación de columnas para programas lineales
y a técnicas de extrapolación para flujos de redes, no se insiste sobre los programas lineales. Por el
contrario, el estudio se concentra en la aplicación de técnicas de búsqueda por vecindad a gran escala a
problemas de optimización NP-difíciles.

Esta monografía se halla estructurada del modo que a continuación se describe. En el apartado 2 se

incluye una breve descripción general de la búsqueda local. El apartado 3 comprende un análisis de
métodos de profundidad variable. El apartado 4 trata sobre algoritmos de búsqueda por vecindad a gran
escala basados en técnicas de flujo de redes. En el apartado 5 se analizan técnicas eficientes para la
resolución de supuestos especiales de problemas NP-difíciles de optimización combinatoria, así como de
vecindades muy amplias basadas en ellos. El apartado 6 describe las mediciones de vecindades, que
pueden servir de guía para el desarrollo de algoritmos de búsqueda local con respecto a una vecindad
dada. Por último, en el apartado 7 se analiza el rendimiento computacional de varios de los algoritmos
vistos en los apartados anteriores.

2. Búsqueda local: esquema general

Comenzaremos por introducir formalmente un problema de optimización combinatoria, junto con el
concepto de vecindad. Existen diversas maneras de representar este tipo de problemas, todas ellas
basadas en métodos de representación del conjunto de soluciones factibles. En este apartado,
representaremos el conjunto de soluciones factibles como subconjuntos de un conjunto finito,
formulándolo del siguiente modo:

Sea E = {1, 2,..., m} un conjunto finito. En general, la cardinalidad de un conjunto S se indica
mediante |S|. Supongamos, además, que F ⊆ 2E, donde 2E indica el conjunto formado por todos los
subconjuntos de E. Los elementos de F se denominan soluciones factibles. Sea f: F → ℜ, llamándose a
la función f la función objetivo. Con estos datos, una instancia de un problema de optimización
combinatoria (POC) se representará del siguiente modo:

Minimizar {f(S) : S ∈ F}.

Damos por hecho que la familia F no nos viene dada explícitamente mediante el listado de todos sus
elementos; sino que se halla representada en una forma compacta de tamaño polinómico en m. El par (F,
f) indica una instancia de un problema de optimización combinatoria. En la mayor parte de los
problemas que veremos, la función de coste es una función linea
  • Links de descarga
http://lwp-l.com/pdf6791

Comentarios de: Estudio de técnicas de búsqueda por vecindad a muy gran escala (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad