Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Variable Neighborhood Search: Christopher Exp Osito Izquierdo, J. Marcos Moreno Vega Cexposit@ull - Es, Jmmoreno@ull - Es
Variable Neighborhood Search: Christopher Exp Osito Izquierdo, J. Marcos Moreno Vega Cexposit@ull - Es, Jmmoreno@ull - Es
Observaciones
2
Variable neighborhood search
Elementos
3
Variable neighborhood search
N1 (X ) = N(X )
[
Nk (X ) = Nk−1 (X 0 )
X 0 ∈N1 (X )
4
Variable neighborhood search
N(X ) = N1 (X ) ∪ N2 (X ) ∪ N3 (X )
N10 (X ) = N(X )
[
Nk0 (X ) = Nk−1 (X 0 )
X 0 ∈N10 (X )
5
Variable neighborhood search
Algorithm 1: p-medianaSH(X , k, X 0 )
X0 ← X;
r ← 0;
repeat
k movimientos de intercambio seleccionados
aleatoriamente
Seleccionar al azar (i, j) tal que 1 < i ≤ p, p < j ≤ n;
Xij ← X 0 \ {vi } ∪ {vj };
X 0 ← Xij ;
r ←r +1
until r = k;
return X 0 ;
6
Variable neighborhood search
Algorithm 2: cicloMedianoSH(X , k, X 0 )
X0 ← X;
p ← número de vértices en el ciclo;
r ← 0;
repeat
Seleccionar al azar (i, j) tal que i, j ∈ {2, . . . , n};
if (i < p and j > p) then Xij ← X 0 \ {vi } ∪ {vj }; Intercambio
if (i > p and j < p) then Xij ← X 0 \ {vj } ∪ {vi }; Intercambio
if (i > p and j > p) then Xij ← X 0 ∪ {vj }; Inserción
if (i < p and j < p) then Xij ← X 0 \ {vi }; Eliminación
X 0 ← Xij ;
r ←r +1
until r = k;
return X 0 ;
7
Variable neighborhood search
• De forma determinı́stica
Búsqueda variable descendente
• De forma aleatoria
Búsqueda por entornos variable reducida
• Alternando fases determinı́sticas con fases aleatorias
Búsqueda por entornos variable básica
8
Variable neighborhood search
9
Variable neighborhood search
repeat
Xmej ← X ;
k ← 1;
repeat
X 0 ← arg min{f (Y ) : Y ∈ Nk (X )};
if f (X 0 ) < f (X ) then
X ← X 0;
k ← 1;
else
k ← k + 1;
end
until k = kmax ;
until f (X ) > f (Xmej );
return Xmej ;
10
Variable neighborhood search
11
Variable neighborhood search
Xmej ← X ;
repeat
k ← 1;
repeat
SH(Xmej , k, X 0 );
if f (X 0 ) < f (Xmej ) then
Xmej ← X 00 ;
k ← 1;
else
k ← k + 1;
end
until k = kmax ;
until Criterio de parada;
return Xmej ;
12
Variable neighborhood search
13
Variable neighborhood search
Xmej ← X ;
repeat
k ← 1;
repeat
SH(Xmej , k, X 0 ) ; Agitación
BL(X 0 , X 00 ) ; Búsqueda local
if f (X 00 ) < f (Xmej ) then Mover o no
Xmej ← X 00 ;
k ← 1;
else
k ← k + 1;
end
until k = kmax ;
until Criterio de parada;
return Xmej ;
14
Variable neighborhood search
15
Variable neighborhood search
Xmej ← X ;
repeat
k ← 1;
repeat
SH(Xmej , k, X 0 );
VND(X 0 , X 00 );
if f (X 00 ) < f (Xmej ) then
Xmej ← X 00 ;
k ← 1;
else
k ← k + 1;
end
until k = kmax ;
until Criterio de parada;
return Xmej ;
16
Variable neighborhood search
17
Variable neighborhood search
18
Variable neighborhood search
19
Variable neighborhood search
21