next up previous
Next: 4.2.3.1 Búsqueda local en Up: 4.2 Búsqueda Local (Local Previous: 4.2.2 Random Restart y

4.2.3 Guided Local Search

Búsqueda local guiada (GLS) es una alternativa a búsqueda local para hacerla más efectiva.

La idea básica de GLS es aumentar la función objetivo con penalizaciones.

Dada una función objetivo $g$ que mapea una solución candidata $s$ a un valor numérico, GLS define una función $h$ (que reemplaza a $g$) y que es usada por búsqueda local de la siguiente forma:

\begin{displaymath}h(s) = g(s) + \lambda \times \sum (p_i \times I_i(s))
\end{displaymath}

donde $s$ es la solución candidata, $\lambda$ es un parámetro de GLS, $i$ varía sobre todos los atributos, $p_i$ es la penalización para el $i$-ésimo atributo (las $p_i$s se inicializan a 0) e $I_i$ indica si $s$ tiene el $i$-ésimo atributo (ver tabla 4.3):

\begin{displaymath}
I_i(s) = \left\{
\begin{array}{rl}
1 & \mbox{ si } s \mbox{...
...mo atributo} \\
0 & \mbox{ de otra forma}
\end{array}\right.
\end{displaymath}

Para que búsqueda local pueda salir de óptimos locales, GLS añade penalizaciones a ciertos atributos.

La utilidad de penalizar un atributo $i$ dado un óptimo local $s^*$ es:

\begin{displaymath}
util_i(s^*) = I_i(s^*) \times \frac{c_i}{1 + p_i}
\end{displaymath}

donde $c_i$ es el costo del atributo y $p_i$ es la penalización actual del atributo $i$.

El atributo de mayor utilidad es el penalizado (se incrementa su penalización actual).


Tabla 4.3: Guided Local Search
\begin{table}
\begin{tabbing}
123\=123\=\kill
$k \leftarrow 0$ \\
$s_0 \leftar...
... 1$ \\
\textbf{return} mejor soluci\a'{o}n encontrada
\end{tabbing}\end{table}


Veamos primero como prodría aplicarse al TSP antes de ver algunas variantes.



Subsections
next up previous
Next: 4.2.3.1 Búsqueda local en Up: 4.2 Búsqueda Local (Local Previous: 4.2.2 Random Restart y
Eduardo Morales Manzanares 2004-11-02