170 likes | 665 Views
Algoritmo GRASP. Algoritmo GRASP. (Greedy Randomized Adaptive Search Procedure). Descripción. Procedimiento de búsqueda: Goloso Aleatorio Adaptativo Algoritmo meta heurístico Optimización combinatoria Procedimiento iterativo, cada paso consta de dos fases: Construcción Mejora.
E N D
Algoritmo GRASP (Greedy Randomized Adaptive Search Procedure) Descripción • Procedimiento de búsqueda: • Goloso • Aleatorio • Adaptativo • Algoritmo meta heurístico • Optimización combinatoria • Procedimiento iterativo, cada paso consta de dos fases: • Construcción • Mejora
Algoritmo GRASP Forma General • Procedimiento GRASP() • P = Cargar_problema(instancia, α); • Mientras (no se cumpla la condición de parada) hacer • S = Algoritmo_Constructivo(P); • S = Busqueda_Local(S); • Registrar_Mejor_Sol(S); • Fin Mientras; • Retornar_Mejor_Sol(); • Fin GRASP P: Son datos del problema
Algoritmo GRASP Algoritmo Constructivo • Algoritmo_Constructivo(P) • S = φ; E = P.elementos; α=P.alfa; • Mientras (E <> φ) • hacer • τ = Peor {f(e)|e ∈ E}; • β= Mejor{f(e)|e ∈ E}; • RCL = {e ∈ E | β-α(β-τ)≤f(e)≤β}; • c = escoger_elem_azar(RCL); • S = S U {c}; • E = E - {c}; • Fin Mientras; • Retornar_Sol(S); • Fin Algoritmo_Constructivo
Algoritmo GRASP Búsqueda Local • Busqueda_Local(S) • Mejor_S=S; • V = Construir_Vecindad(S); • Mientras (V <> φ) hacer • S’ = obtener_elem_Vecindad(V); • Si (Mejor{f(S’), f(Mejor_S)}) Entonces • Mejor_S = S’; • V=V-{S’}; • Fin Mientras • Retornar (Mejor_S); • Fin Busqueda_Local
Algoritmo GRASP Forma General
Algoritmo GRASP Algoritmo Constructivo
Algoritmo GRASP Algoritmo Constructivo (Adaptado)
Algoritmo GRASP Búsqueda Local
Algoritmo GRASP Búsqueda Local (Adaptado)
Algoritmo GRASP Ventajas y Desventajas • Recomendable cuando el conjunto de datos a trabajar es grande y se requiere una solución aceptable. • Sencillez y facilidad de implementación. • Permiten una mayor flexibilidad para el manejo de las características del problema. • No se puede precisar cuan cerca se está de la solución óptima. • La solución obtenida no es la óptima