1 / 53

GRASP

GRASP. GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES. José Enrique Gonzalez Roberto Clavell. Introducción. Meta heurística multi-comienzo para problemas optimización combinatorios. Cada iteración consiste básicamente en dos fases: construcción y búsqueda local.

phiala
Télécharger la présentation

GRASP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GRASP GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES José Enrique Gonzalez Roberto Clavell

  2. Introducción • Meta heurística multi-comienzo para problemas optimización combinatorios. • Cada iteración consiste básicamente en dos fases: construcción y búsqueda local. • En la primera se genera una solución factible cuyo vecindario es investigado hasta que un mínimo local es encontrado durante la fase de local search. • Dado E={1,...,n}, un conjunto de soluciones factible F C 2|E| y una función objetivo f: 2|E|-->R tal que f(S) = Σ(c(e)), para todo S Є 2|E| donde c(e)= costo asociado a la inclusión del elemento e en la solución S. Solución óptima = S* Є F tal que f(S*)<=f(S).

  3. Algoritmo Principal

  4. Algoritmo de Construcción

  5. Algoritmo de Construcción • Cada iteración en la fase de construcción crea un conjunto de elementos candidatos con todos los elementos que pueden ser incorporados a la solución parcial. • (linea 4)La selección del próximo elemento es determinado por la evaluación de la función greedy. • Esta función representa el incremento en la función de costo a causa de la incorporación del elemento en la solución que se esta construyendo.

  6. Algoritmo de Construcción • (linea 5)El elemento a incorporar en la solución parcial es randómicamente seleccionado de la RCL. • Luego la RCL es actualizada revaluando los costos. • Las soluciones generadas en la fase de construcción no son necesariamente óptimas.

  7. Algoritmo de Búsqueda Local (ABL)

  8. Búsqueda Local • El algoritmo de búsqueda local es iterativo y va sucesivamente reemplazando la solución actual por otra mejor que este en el vecindario. • Termina cuando no encuentra una mejor solución en el vecindario. • Este algoritmo parte de la solución generada en la fase de construcción, se espera que dicha solución sea de buena calidad.

  9. Búsqueda Local • Dos estrategias: • best-improving: todos los vecinos son investigados y la solución actual es reemplazada por la solución del mejor vecino • first-improving: la solución actual es reemplazada por la solución del primer vecino cuya solución sea mejor

  10. Construcción de la RCL • GRASP tiene dos parámetros de entrada: uno es la condición de parada y otro es la calidad de los elementos del RCL. • Cuanto mayor sea el número de iteraciones, mejor será la solución final. • RCL limitada por: • la cantidad de elementos; • por la calidad de estos.

  11. Construcción de la RCL (cont) • 1- La lista es construida con p elementos de mejor costo incremental. • 2- La lista se construye con todos los elementos factibles e  E que pueden ser insertados en la solución parcial sin perder factibilidad y cuya calidad es superior a un parámetro  [0,1] asociado a la RCL.

  12. Construcción de la RCL (cont) • Por ej. c`(e)  [cmin,cmin + (cmax-cmin)]; si  =0 el algoritmo correspondiente es greedy puro, en cambio si  =1 corresponde a una construcción randómica. • En cada iteración se produce una solucion ejemplar con distribucion desconocida, cuya media y varianza se dan en funcion de la naturaleza de la RCL.

  13. Construcción de la RCL (cont) • Es comun que GRASP encuentre una solucion optima cuanto mas grande es la varianza. • El tiempo total computacional va a ser mayor cuando mas grande sea la varianza de la solucion.

  14. Construcción de la RCL (cont) • En la siguiente tabla se muestran los resultados obtenidos para 1000 construcciones independientes y sus correspondientes aplicaciones de local search para cada una de las construcciones para el problema MAXSAT.

  15. Construcción de la RCL (cont)

  16. Construcción de la RCL (cont) • Diferentes estrategias para regular el parametro alfa: • (R) autoregulada de acuerdo al procedimiento de Reactive GRASP; • (E) elegida randomicamente de una distribucion de probabilidad uniforme y discreta; • (H) elegida randomicamente de una distribucion de probabilidad decreciente, no uniforme y discreta; y • (F) un valor acordado, (purely greedy choice).

  17. Mecanismos alternativosde construcción • Iteraciones Independientes • No se basan en soluciones anteriores • No “aprende” de la historia • Se descartan soluciones si no son mejores

  18. Mecanismo alternativo: • La informacion obtenida de buenas soluciones puede ser usada para implementar procedimientos basados en memoria. • Se influencia la fase de construcción. • Se modifican las probabilidades de selección asociadas a cada elemento de la RCL.

  19. Técnicas alterativasFase de construcción • Reactive GRASP • Cost Perturbations • Bias Functions • Intelligent Construction: memory and learning • POP in Construction

  20. Reactive GRASP • α no tiene un valor fijo. • Sea Y={α1,α2,..,αn} valores de posibles de α. • P(selección) de un elemento de la RCL son iguales. P=1/n • Las probabilidades de selección se reevalúan: pi =qi / Σj=1..n qj,siendo qi=z*/Ai con Ai el promedio de las soluciones encontradas, z* la solución actual.

  21. Reactive GRASP • Mayores valores de qi corresponden a valores de α mas convenientes. • Las probabilidades asociadas a estos valores van a incrementarse cuando sean reevaluados. • Algunos elementos de la RCL tendrán mas probabilidad de ser seleccionados.

  22. Conclusiones • Reactive GRASP mejora el GRASP básico en términos de robustez y calidad de la solución. • Este algoritmo ha sido usado en planificación de redes de sistemas de sistemas de transmisión de energía.

  23. Técnicas alterativasFase de construcción • Reactive GRASP • Cost Perturbations • Bias Functions • Intelligent Construction: memory and learning • POP in Construction

  24. Cost Perturbations • Idea: introducir “ruido” a los costos originales. • Idea similar al llamado “noissing method” de Charon y Hudry. • Se agrega mas flexibilidad al diseño del algoritmo • Podría llegar a ser mas efectivo que la construcción randómica.

  25. Cost Perturbations • Ejemplo: “Prize-collecting Steiner tree”. • En cada iteración se construye una solución usando “node prizes” actualizados por una función de perturbación. • Dos esquemas diferentes de costos de perturbaciones usadas: perturbación por eliminaciones y perturbación por cambio de costos.

  26. Cost Perturbations • Perturbación por eliminaciones: • En la fase de construcción se crea una nueva solución sin alguno de los nodos que aparecían en la solución construida en la iteración anterior. • Esto se hace cambiando a cero los costos de algunos nodos persistentes. • Un parámetro αcontrola la fracción de nodos cuyos costos son temporalmente seteados a cero.

  27. Cost Perturbations • Perturbación por cambio de costos: • Se agrega “ruido” a los costos de los nodos cambiando la función objetivo. • Para cada nodo i, una perturbación de factor ß(i) es generada randómicamente en el intervalo [1-a,1+a] (a parámetro de implementación). • El costo asociado al nodo i es temporalmente cambiado a Π(i)= Π(i)* ß(i), donde Π(i) es el costo original.

  28. Técnicas alterativasFase de construcción • Reactive GRASP • Cost Perturbations • Bias Functions • Intelligent Construction: memory and learning • POP in Construction

  29. Bias Functions • En la construcción del GRASP básico, el próximo elemento a ser introducido a la solución es elegido randomicamente de los candidatos en la RCL. • Estos tienen igual probabilidad de ser elegidos. • Se puede usar alguna distribución de probabilidad para guiar la selección de candidatos particulares.

  30. Bias Functions • Bresina propuso otro mecanismo de construcción. • Una familia de distribuciones de probabilidad es introducida. • Se basan en un ranking r(o) asignado a cada elemento candidato o, de acuerdo a su valor para la función de greedy.

  31. Bias Functions • Algunas Bias Functions: • random: bias(r)=1 , r єRCL • linear: bias(r)=1/r , r єRCL • log: bias(r)= log-1(r+1) , r єRCL • exponential: bias(r)=e-r , r єRCL • Polynomial: bias(r)=r-n , r єRCL • P(o)=bias(r(o))/ Σ(bias(r(o'))) con o' Є RCL.

  32. Técnicas alterativasFase de construcción • Reactive GRASP • Cost Perturbations • Bias Functions • Intelligent Construction: memory and learning • POP in Construction

  33. Intelligent Construction: memory and learning • Fleurent y Glover propusieron un esquema de memoria a largo término. • El esquema mantiene un conjunto de buenas soluciones a ser usadas en la fase de construcción. • Para pertenecer al conjunto, la solución debe ser mejor que el mejor de los miembros del conjunto o mejor que el peor miembro y suficientemente diferente a las otras soluciones del conjunto.

  34. Intelligent Construction: memory and learning • Sea I(e) la medida de cuan fuertemente determinada y consistente es la solución e Є E. • I(e) crece a medida que e aparece mas seguido en la solución. • Sea c`(e) la función de greedy asociada con la incorporación de un elemento e Є E en la solución bajo construcción. • Sea K(e)=F(c´(e),I(e)) , con e Є E.

  35. Intelligent Construction: memory and learning • Ejemplo: • Sea K(e)= λ*c'(e)+I(e) • Se guía la solución a aquellos valores e Є E que tengan el mayor valor de K(e) . • La probabilidad de selección de un elemento de la RCL e Є E es: p(e)=K(e)/Σ(K(s)) con s per RCL.

  36. Técnicas alterativasFase de constricción • Reactive GRASP • Cost Perturbations • Bias Functions • Intelligent Construction: memory and learning • POP in Construction

  37. POP in Construction • Proximate Optimality Principle. • Se basa en la idea “buenas soluciones en un nivel es mas común que sean encontradas cerca de buenas soluciones en un nivel adyacente”. • Fleurent y Glover sugirieron que las imperfecciones introducidas durante la fase de construcción pueden disminuir aplicando Local Search durante la fase de construcción y no solo al final. • Una implementación practica es aplicar Local search en dos puntos durante la fase de construcción.

  38. Path Relinking • Perfeccionamiento del procedimiento GRASP básico. • Se empieza con una o mas buenas soluciones. • Caminos en el espacio de soluciones son generados y explorados en búsqueda de mejores soluciones. • Esto es llevado a cabo seleccionando movimientos e introduciendo atributos contenidos en la solución guiada.

  39. Path Relinking • Puede ser visto como una estrategia que busca incorporar atributos de soluciones de alta calidad. • Utiliza dos estrategias básicas: • Aplicado como una post-optimización a todo par de buenas soluciones. • Aplicado como una estrategia de intensificación a cada óptimo local obtenido luego de cada fase de Local Search.

  40. Path Relinking • Es aplicado a pares x1 - x2 de soluciones, donde x1 es una solución localmente óptima obtenida luego de Local Search y x2 es una de unas pocas soluciones elegidas randómicamente del conjunto de buenas soluciones. • El algoritmo comienza computando una diferencia simétrica entre x1 y x2 • Resultando un conjunto de movimientos que deberían ser aplicados a uno de ellos (la solución inicial) para alcanzar la otra (la solución guía).

  41. Path Relinking • Comenzando de la solución inicial, el mejor movimiento de la diferencia simétrica entre x1 y x2 aun no realizado es aplicado a la solución actual. • Esto se hace hasta que la solución guía es obtenida. • La mejor solución encontrada a lo largo de esta trayectoria es también considerada para ser incluida en el conjunto.

  42. Path Relinking • Alternativas de implementación: • No aplicar path-relinking en todas las iteraciones de GRASP, solo periódicamente. • Explorar dos diferentes trayectorias, usando primero x1 y luego x2 como solución inicial. • Explorar una trayectoria, comenzando solo por x1 o x2. • No seguir toda la trayectoria, solo parte de ella.

  43. Path Relinking • Cuatro variantes de GRASP y path-relinking: • G: es GRASP puro y no usa path-relinking. • GPRf: agrega a G path-relinking en un sentido (hacia adelante). • GPRb: agrega a G path-relinking en un sentido (hacia atras). • GPRfb: combina GPRf y GPRb, haciendo path-relinking en ambas direcciones. • Path-relinking es una muy buena estrategia para introducir memoria en GRASP, llevando a implementaciones robustas.

  44. Parallel GRASP • El paralelismo no es usado sistemáticamente para aumentar la velocidad o para mejorar la efectividad de las meta heurísticas. • Las implementaciones paralelas son muy robustas. • Siguen la estategia "independ-thread multiple-walk", basada en la distribución de las iteraciones en varios procesadores.

  45. Parallel GRASP • Cada hilo realiza Max_Iterations/p iteraciones, donde p y Max_Iterations son el número de procesadores y el número total de iteraciones. • Un procesador actúa como maestro leyendo y distribuyendo datos. • Como las iteraciones son completamente independientes y el intercambio de información es pequeño, es fácil obtener un aumento lineal de la velocidad.

  46. Parallel GRASP • Dado un valor inicial τ para la función objetivo, todos los procesadores paran inmediatamente después que uno de ellos encuentra una solución al menos mejor que τ. • El aumento de velocidad es dado por la razón entre el tiempo en encontrar una solución y la implementación paralela con p procesadores. • Se debe asegurar que dos iteraciones cualquiera no comiencen con igual semilla.

  47. Parallel GRASP • El aspecto mas difícil es determinar la información a ser compartida e intercambiada para mejorar la búsqueda sin usar mucha memoria ni tiempo adicional.

  48. Aplicaciones • Problemas de ruteo. • Optimizaciones gráficas. • Transportes. • Telecomunicaciones. • Dibujo de gráficas y mapas. • Sistemas de poder.

  49. Ejemplo: TSP 10 A C 4 5 6 B 8 7 D 5 E 12 Inicio: A

  50. Ejemplo: TSP • Fase de construcción: • Nodo A  RCL: {C,D}  elijo C  Sol Parcial {A,C} • Nodo C  RCL: {E,B}  elijo B  Sol Parcial {A,C,B}…. • Final fase  Sol Factible {A,C,B,E,D,A}

More Related