Escolar Documentos
Profissional Documentos
Cultura Documentos
Parte 5
Metaheursticas
Introduccin (1)
Metaheurstica:
Una heurstica que posee un mecanismo para escapar de
ptimos locales.
Su estructura general es relativamente independiente del
problema.
Algunas de sus componentes dependen del problema.
Introduccin (2)
Algunas metaheurstica que trabajan con una solucin al tiempo:
Variable Neighborhood Search (VNS)
Guided Local Search (GLS)
Greedy Randomised Adaptive Procedure (GRASP)
Simulated Annealing (SA)
Tabu Search (TS).
Introduccin (3)
Otras metaheurstica trabajan con un conjunto de soluciones
(heursticas basadas en poblacin):
Genetic Algorithms (GA)
Memetic Algorithms (MA)
Ant Colony Optimization (ACO)
Path Relinking (PR)
Scatter Search (SS)
Particle Swarm Optimization (PSO).
Introduccin (4)
Todos los mtodos requieren:
Soluciones iniciales (muy tiles las heursticas constructivas).
Una vecindad (excepto GA puros y PSO).
Introduccin (5)
Un gran problema: intensificacin y diversificacin (tambin
llamados en la literatura GA explotacin y exploracin).
Intensificacin:
El algoritmo debe ser ms local cuando encuentra buenas
soluciones, para encontrar el ptimo local en esas regiones.
Se usa en la prctica una bsqueda local.
Diversificacin:
Se requiere buscar en otras regiones en caso de
estancamiento.
Ejemplos: saltos aleatorios, mutaciones, reinicios, cambio de
vecindades, modificacin de penalidad, etc.
1, 9, 2 duplicados!
:
:
Completado recorriendo P2
Completado recorriendo P1
Hijo 1
Hijo 2
1. Cromosoma T = (a, b, c, d, e)
GA (ejemplos) (8)
Lacomme et.al (2001, 2004) y Prins (2004) disearon GA muy
efectivos para el VRP y el CARP.
Estos GAs usan procedimientos de bsqueda local para mejorar
soluciones hijas. Tales GAs son llamados algoritmos memticos.
GAs puros no son lo suficientemente efectivos en problemas de
enrutamiento de vehculos y son fcilmente superados por SA y
TS.
GRASP (1)
Greedy Randomized Adaptative Search Procedure: la heurstica
ms simple. En sntesis: una heurstica H glotona pero
aleatorizada (para producir buenas soluciones diversificadas) a la
cual se agrega un procedimiento de bsqueda local LS.
Algoritmo:
Mejor_costo := +
for conteo := 1 to numero_soluciones do
Genere una solucin s con H
Mejrela : s := LS(s)
If costo(s) < Mejor_costo then
Actualice la mejor solucin: Mejor_costo := costo(s); bs := s
endif
endfor
GRASP (2)
numero_soluciones es el nmero de soluciones que se quiere
explorar, por ejemplo 100.
La diferencia con una bsqueda local iterada a partir de soluciones
aleatorias es que las soluciones iniciales deben ser buenas.
Ejemplo: H = heurstica del vecino ms cercano o NNH (TSP). En
cada iteracin, si dmin es la distancia entre el ltimo nodo u del
recorrido y el nodo ms cercano aun no visitado: se puede
seleccionar aleatoriamente desde u un nodo ubicado a una
distancia en el intervalo [dmin, dmin + ], con = 0.1xdmin, por
ejemplo.
Las soluciones de H son un poco degradadas comparadas con
NNH, pero se pueden producir muchas soluciones.
ptimo
local
ptimo
global
0.5
Zona de < 0
Aceptacin sin
condicin
- /, fijo
Buena curva
parar
parar
Parada prematura
(baja temperatura
fnal)
Simulated Annealing
Pr oblema: Min f(e)
s. a. e E
Escoger una solucion e o E
h1 ho
0?
SI
)
T
Generar un numero aleatorio
x U(0,1)
Si x P, entonces
e o e1
ho h1
Calcular P exp(
NO
SI
e o e1
ho h1
Si ho h*, entonces h* ho, y e * e o
n n 1
SI
n N?
NO
n 0
T T
NO
T TF ?
SI
PARAR
Bsqueda tab
1.
2.
3.
4.
f(x1) f(x*)?
SI
m1 L?
NO
NO
Seleccione m2 la mejor movida de x0
que no pertenezca a L
Aplique m2 en x0 : x2 ,
x0= x2, Actualiza L
10 11 12 13 14 15
F(1)
F(2)
primero
m+1
F(m)
ltimo