Índice
1. META-HEURÍSTICAS .............................................................................................................. 2
2. Búsqueda Local Iterativa (ILS, Iterated Local Search) ............................................................... 4
2.1. Vista Gráfica ....................................................................................................................... 5
3. PROBLEMÁTICA ...................................................................................................................... 6
3.1. Definición ............................................................................................................................ 6
3.2. Aplicación Búsqueda local Iterada ...................................................................................... 6
3.3. Pseudocódigo: Algoritmo De Búsqueda Local Iterada ....................................................... 7
3.4. Modelo matemático ............................................................................................................. 7
3.5. Diagrama De Flujo Del Algoritmo ...................................................................................... 9
3.6. Estructura de vecindad ........................................................................................................ 9
Bibliografía ....................................................................................................................................... 11
1. META-HEURÍSTICAS
Con el fin de encontrar soluciones de buena calidad a problemas de optimización
combinatoria, durante la década del setenta se han diseñado diversos métodos, conocidos
como heurísticos. La mayor parte de estos métodos partieron de problemas de fácil
representación, pero de muy difícil solución. Debido a la variada naturaleza de estos
problemas, los métodos eran útiles apenas para el problema en el cual habían sido creados.
En los años ochenta surgen las técnicas meta-heurísticas, las cuales plantean un cambio
importante en el desarrollo de técnicas alternativas. La idea básica de la meta-heurística se
puede describir como un proceso iterativo maestro que guía y modifica las operaciones de
heurísticas subordinadas para producir de forma eficiente soluciones de alta calidad. El
término meta-heurística fue introducido por primera vez por Glover (1986). Antes de que el
término fuese aceptado por la comunidad científica estas técnicas eran conocidas como
heurísticas modernas (Reeves 1993).
Todas las técnicas meta-heurísticas tienen las siguientes características:
Son ciegas, no saben si llegan a la solución óptima. Por lo tanto, se les debe indicar
cuándo deben detenerse.
Son algoritmos aproximativos y, por lo tanto, no garantizan la obtención de la
solución óptima.
Aceptan ocasionalmente malos movimientos (es decir, se trata de procesos de
búsqueda en los que cada nueva solución no es necesariamente mejor en términos
de la función objetivo que la inmediatamente anterior). Algunas veces aceptan,
incluso, soluciones no factibles como paso intermedio para acceder a nuevas
regiones no exploradas.
Son relativamente sencillos; todo lo que se necesita es una representación adecuada
del espacio de soluciones, una solución inicial (o un conjunto de ellas) y un
mecanismo para explorar el campo de soluciones.
Son generales. Prácticamente se pueden aplicar en la resolución de cualquier
problema de optimización de carácter combinatorio. Sin embargo, la definición de
la técnica será más o menos eficiente en la medida en que las operaciones tengan
relación con el problema considerado.
La regla de selección depende del instante del proceso y de la historia hasta ese momento.
Si en dos iteraciones determinadas, la solución es la misma, la nueva solución de la
siguiente iteración no tiene por qué ser necesariamente la misma. En general, no lo sera.
Figura 1: Clasificación de las meta-heurísticas
La principal característica de la meta-heurística basada en trayectoria, es que parten de una
solución y, mediante la exploración del vecindario, van actualizando la solución actual,
formando una trayectoria. La mayoría de estos algoritmos surgen como extensiones de los
métodos simples de Búsqueda Local a los que se les añade algún mecanismo para escapar
de los mínimos locales. Normalmente se termina la búsqueda cuando se alcanza un número
máximo predefinido de iteraciones, se encuentra una solución con una calidad aceptable, o
se detecta un estancamiento del proceso. Mientras que las basadas en población se
caracterizan por trabajar con un conjunto de soluciones, usualmente denominado población
en cada iteración, los algoritmos basados en población proveen una forma natural e
intrínseca de explorar el espacio de búsqueda, a diferencia de los métodos basados en
trayectoria, que únicamente manipulan una solución del espacio de búsqueda por iteración.
Figura 2: a) Meta-heurísticas basadas en trayectorias, b) Poblacionales
2. Búsqueda Local Iterativa (ILS, Iterated Local Search)
La Búsqueda Local Iterativa según Stützle & Hoos, (2005) es una meta-heurística basada
en un concepto simple pero muy efectivo.
En cada iteración, la solución actual es perturbada y a esta nueva solución se le aplica un
método de búsqueda local para mejorarla.
Este nuevo mínimo local obtenido por el método de mejora puede ser aceptado como nueva
solución actual si pasa un test de aceptación.
La importancia del proceso de perturbación es obvia: si es demasiado pequeña puede que
el algoritmo no sea capaz de escapar del mínimo local; por otro lado, si es demasiado
grande, la perturbación puede hacer que el algoritmo sea como un método de búsqueda
local con un reinicio aleatorio.
Por lo tanto, el método de perturbación debe generar una nueva solución que sirva como
inicio a la búsqueda local, pero que no debe estar muy lejos del actual para que no sea una
solución aleatoria.
El criterio de aceptación actúa como contra-balance, ya que filtra la aceptación de nuevas
soluciones dependiendo de la historia de búsqueda y de las características del nuevo
mínimo local.
La aplicación de la ILS necesita de la definición de cuatro componentes:
Figura 3: Algoritmo de Búsqueda Local Iterativa
Solución Inicial: puede ser aleatoria o ser obtenida con un algoritmo greedy o
glotón (normalmente da mejores resultados).
Criterio de Aceptación: Si no mantemos historia de lo ocurrido, el criterio de
aceptación simplemente considera la diferencia en costos entre y . Decide a
que solución se aplica el Procedimiento de Modificación. El criterio de aceptación
se usa para establecer un balance entre explotación (intensificación) y exploración
(diversificación). Se favorece la explotación si sólo se aceptan mejores soluciones.
Se favorece la exploración si siempre se hacen perturbaciones independientemente
de su costo.
Método de Perturbación: puede contener tanta información dependiente del dominio
como se quiera/tenga. El criterio básico es que el punto inicial obtenido a partir de
la perturbación debe de ser un excelente punto inicial para búsqueda local. La
perturbación es el esquema que tiene ILS para escapar de mínimos locales. La
fuerza de la perturbación está definida por el número de cambios realizados sobre la
solución.
Velocidad: Se ha visto que el tiempo empleado en búsquedas locales dentro de
búsqueda local iterativa, es mucho menor que hacer búsquedas locales con re-
inicios aleatorios.
Procedimiento de Búsqueda Local.
2.1. Vista Gráfica
Las perturbaciones suelen tener un carácter aleatorio ya que en el caso contrario se corre el
riesgo de que la búsqueda se cicle. Como consecuencia el camino ILS no es reversible: en
particular uno puede algunas veces ser capaz de pasar de s(1)* a s(2)* pero no s(2)* a s(1)*.
Sin embargo esta característica desafortunada no impide que ILS sea un procedimiento
efectivo en la práctica.
Figura 4: Procedimiento General ILS
3. PROBLEMÁTICA
3.1. Definición
El problema de la mochila está clasificado en el tipo de optimización combinatorial, se
clasifica como un problema NP-completo, esto significa que hasta el momento no existe un
algoritmo exacto que pueda resolverlo en un tiempo polinomial. Si existe una solución
exacta, no se encuentra; la que se encuentra es una solución próxima a la mejor en un
tiempo polinomial. Esta condición implica que para solucionar el problema que se está
analizando se aplique un algoritmo heurístico (búsqueda local iterada).
El problema de la mochila modela una situación similar al llenado de una mochila: se tiene
una mochila con una capacidad de soporte y esa capacidad es el peso que puede cargar.
También se tiene un conjunto de elementos con un peso y un beneficio específico. Al
introducir estos elementos en la mochila, siempre se verifica que el peso no sobrepase la
capacidad que soporta la mochila y, a medida que se introducen más elementos, asimismo
se verifica que la suma de los pesos de los elementos que están dentro de la mochila más el
peso del elemento que se analiza en ese momento, no sobrepase el peso máximo que
soporta la mochila.
3.2. Aplicación Búsqueda local Iterada
Para darle solución al problema que trata este trabajo, se aplica un algoritmo de búsqueda
local iterada porque representa una técnica potente, robusta, eficiente y además es sencillo
de implementar. Según Glover y colaboradores, el método analizado es un método
estocástico de búsqueda local que iterativamente aplica búsquedas locales a perturbaciones
del punto actual (solución inicial) de una manera aleatoria en un espacio de soluciones
óptimas. Este método trabaja en conjunto con la búsqueda local, y es mediante éste que se
obtiene la primera solución con la cual se iniciará el recorrido por el espacio de soluciones
hasta mejorar progresivamente. Para comprender mejor el funcionamiento de la búsqueda
local iterada, es necesario entender, en primer lugar, cómo funciona la búsqueda local:
1. Del espacio de soluciones, se obtiene una primera composición, la cual se evalúa
mediante la función objetivo y se genera la solución inicial (S).
2. A esta solución inicial se le aplica un cambio con alguna estructura de vecindad, se
evalúa con la función objetivo y se obtiene una nueva solución (S’).
3. Si S’ es mejor que la actual, S será sustituida, de lo contrario permanecerá igual.
4. Dentro de la búsqueda local se repiten los pasos 2 y 3 hasta que se cumpla con el
criterio de paro.
El cambio que se aplique a S mediante alguna estructura de vecindad será el que determine
el tipo de solución obtenida; si ésta fue mejor, será remplazada; de lo contrario,
permanecerá hasta encontrar una que la sustituya. Para salir del espacio de soluciones
óptimas locales, es necesario hacer uso del algoritmo de búsqueda local iterada, el cual, una
vez obtenido el valor óptimo local, es tomado como el mejor e iniciará la siguiente
iteración. Con este nuevo valor, si en las siguientes iteraciones se encuentra uno mucho
mejor que el actual, lo reemplaza; si no es así, se genera un nuevo cambio hasta encontrar
uno mejor que el actual.
3.3. Pseudocódigo: Algoritmo De Búsqueda Local Iterada
Figura 5: Búsqueda local iterada
3.4. Modelo matemático
El modelo matemático del problema de la mochila es representado como un problema de
programación lineal entera como muestran las ecuaciones 1 a 6. Se define:
C como la capacidad de la mochila.
Pi como el beneficio unitario obtenido por ingresar el producto i en la mochila.
Wi como el peso del producto i.
N como la cantidad de productos.
Luego de definir las variables, se plantea como modelo matemático de la siguiente forma:
La ecuación 1 corresponde a la función objetivo que significa que se va a maximizar la
suma de los beneficios; las demás ecuaciones son restricciones. La número 2 indica que la
suma de todos los pesos de los elementos siempre tiene que ser menor o igual que la
capacidad en peso que soporta la mochila. Las ecuaciones 3, 4 y 5 muestran que tanto la
capacidad de la mochila como el peso y el beneficio de los elementos son números
positivos. Por último, la variable x toma valores de 0 ó 1 cuando un elemento está o no
dentro de la mochila; cuando el valor es cero, el elemento no está dentro de la mochila, en
caso de que x tome valor de 1, significa que el elemento está dentro de la mochila.
Figura 5: Representación del problema de la mochila
3.5. Diagrama De Flujo Del Algoritmo
3.6. Estructura de vecindad
Para decidir la forma en la cual se debe determinar el espacio de soluciones del problema
que se aborde, primero se debe conocer y entender el problema. Es así como se define el
espacio de soluciones que tendrá un vecindario, sin olvidar el objetivo: maximizar. Se parte
de una solución factible que cumple con las restricciones del modelo matemático, en este
caso, los elementos que conforman esta solución factible son aquellos cuyo peso no
sobrepasa el peso que soporta la mochila. La solución inicial también son todos aquellos
elementos cuya suma de pesos en conjunto no sobrepasa el peso que soporta la mochila. Al
contar con eso se tiene una solución factible que cumple con las restricciones del modelo
matemático.
Para explicar lo que es una vecindad, se toma la primera solución a la que se llega; ésta se
representa como un punto al cual se asigna una s, todas las soluciones que estén cerca de
ese punto serán consideradas el vecindario representado por N(s), y S representa el espacio
de soluciones S. Gráficamente se observa así:
Figura 6: Un espacio de soluciones S, una solución potencial s y su vecindario N(s) indicado por el círculo
interior alrededor de s
Matemáticamente se observa que s ∈ S; el vecindario de s se define como un conjunto de
posibles soluciones cerca de s, N(s), representado por la función. Si a partir de este punto se
genera otro que mejore el primero, éste será representado por s’. De esta manera, hay que
moverse paso a paso desde una solución inicial hacia una solución que mejore la anterior,
que se evalúe en la función objetivo y que cumpla con todas las restricciones del modelo
matemático.
f (S’) >= f (S)
Bibliografía
Labrada Nueva, Y., Enríquez Urbano, J., & García Ojito, Y. (30 de Junio de 2014). Programación
Matemática y Software. Recuperado el 02 de Diciembre de 2019, de
[Link]
Martin, O., Ramalhino, H., & Stützle, T. (2001). A beninger's introduction to iterated local search.
Amsterdam: Metaheuristics International Conference.
Martin, O., Ramalhino, H., & Stützle, T. (2003). Handbook of Metaheuristics. Boston: Kluwer
Academic.
Stützle, T. (1999). Iterated Local Search for the quadratic assignment problem. Amsterdam:
Computer Science Department.
Stutzle, T., & Hoos, H. (2005). Stochastic Local Search: Foundations and Applications. Amsterdam:
ELSEVIER.