José Enrique Gonzalez Roberto Clavell

Slides:



Advertisements
Presentaciones similares
Introducción a la Investigación de Operaciones
Advertisements

N-PUZZLE Resolución por Búsqueda
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Inteligencia Artificial
Algoritmo GENETICO.
Diseño óptimo de recorridos y frecuencias para transporte público
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA
Grupo 4 Matías Melgar Pablo Carbonell
Investigación de Operaciones II
AGENDA INTRODUCCIÓN. TEORIA Y DESARROLLO DE LA APLICACIÓN.
Grupo 1: Verónica Giaudrone Marcelo Vaccaro
Telekom Solutions.
Investigación Algorítmica
K-Means Integrantes Natalia Merino (85828) Gastón Sabatelli (85523)
Funcionamiento de MARXAN y el templado simulado
Métodos Programación dinámica Función Costo Ponderación
Búsqueda Informada Heurísticas.
Inteligencia Artificial Búsqueda informada y exploración
K-Means Integrantes Natalia Merino (85828) Gastón Sabatelli (85523)
CONFORMACIÓN AUTOMATIZADA DE ÁREAS DE RESPONSABILIDAD
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Introducción a las Metaheurísticas
Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran.
Sesión 12: Procesos de Decisión de Markov
Propuesta del algoritmo
Algoritmo Simplex Dual Como sabemos, el método simplex es un algoritmo iterativo que iniciando en una solución básica factible pero no óptima, genera soluciones.
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
Capítulo 4 BUSQUEDA INFORMADA.
Scatter Search y Path Relinking Grupo 7 Giovanna Garula Rodrigo Guridi Referencias Fundamentals of Scatter Search and Path Relinking. Fred Glover Manuel.
Optimización, Búsqueda Heurística
Agentes de resoluciones d problemas Parte I. Un agente puede adoptar una meta o un propósito para satisfacer.
Objetivo: Facilitar la búsqueda de los elementos del conjunto ordenado
Bibliografía “Metaheuristics in Combinatorial Optimization: Overview and conceptual Comparison” C. Blum and A. Roli- TR/IRIDIA/ “An introduction.
Complejidad de los problemas de decisión
ALGORITMOS APROXIMADOS
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Solving the capacitated location-routing problem by a GRASP complemented by a learning process and a path relinking Christina Prins, Caroline Prodhon,
1 Algoritmos Avaros (Greedy Algorithms) Agustín J. González ELO-320: Estructura de Datos y Algoritmos 1er. Sem
METAHEURISTICAS Ideas, Mitos, Soluciones
AGENDA INTRODUCCIÓN. TEORIA Y DESARROLLO DE LA APLICACIÓN.
Programación Matemática
Nuevas Metaheurísticas basadas en población
Propuesta del algoritmo
A GRASP for graph planarization. Resende, Ribeiro Meta heurísticas Agustín Pecorari.
Introducción Programación Matemática Objetivos:
Asignación de Horarios
DISTRITACIÓN ELECTORAL y OPTIMIZACIÓN COMBINATORIA David Romero Instituto de Matemáticas - UNAM Cuernavaca, Morelos COLOQUIO INTERNACIONAL DE DISTRITACIÓN.
TEMA 5: El problema del flujo con costo mínimo
PLANES DE GESTION INTEGRADA DE LOS RECURSOS HIDRICOS.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Búsqueda en Vecindades Variables (Variable Neighborhood Search - VNS)
ALEXANDER PEREZ FREDERICK MEJIA. Son una serie de esquemas de representación del conocimiento, que mediante diversos algoritmos permite resolver ciertos.
El Poder de la Sonrisa.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Juguemos a Economistas Ordenamos y mejoramos la información: Juguemos a Economistas Programación Lineal.
Chasquisoft. 1. Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes Anicama, Fernando
Managment science Teoría matemática. Origen: La creación de grupos interdisciplinarios para resolver problemas de carácter militar de la II Guerra Mundial.
Programación Lineal.
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.
Introducción Mayo 16, 2012 Análisis y Diseño de Sistemas.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
Guayaquil, 18 de Septiembre del 2015 Tema : Programación Lineal (Función Objetivo) Destreza: Identificar la función objetivo y escribir una expresión.
CONSTRUCCION DEL DISEÑO DE UN OVA, HACIENDO USO DE HERRAMIENTAS VIRTUALES EDGAR MAURICIO ALBA V. Presentado al Ing. John Alejandro Figueredo Luna en el.
3. Técnicas para la busqueda y selección de alternativas
Transcripción de la presentación:

José Enrique Gonzalez Roberto Clavell 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. 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).

Algoritmo Principal

Algoritmo de Construcción

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.

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.

Algoritmo de Búsqueda Local (ABL)

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.

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

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.

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.

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.

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.

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.

Construcción de la RCL (cont)

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).

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

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.

Técnicas alterativas Fase de construcción Reactive GRASP Cost Perturbations Bias Functions Intelligent Construction: memory and learning POP in Construction

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.

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.

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.

Técnicas alterativas Fase de construcción Reactive GRASP Cost Perturbations Bias Functions Intelligent Construction: memory and learning POP in Construction

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.

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.

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.

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.

Técnicas alterativas Fase de construcción Reactive GRASP Cost Perturbations Bias Functions Intelligent Construction: memory and learning POP in Construction

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.

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.

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.

Técnicas alterativas Fase de construcción Reactive GRASP Cost Perturbations Bias Functions Intelligent Construction: memory and learning POP in Construction

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.

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.

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.

Técnicas alterativas Fase de constricción Reactive GRASP Cost Perturbations Bias Functions Intelligent Construction: memory and learning POP in Construction

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.

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.

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.

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).

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.

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.

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.

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.

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.

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.

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.

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

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

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}

Ejemplo: TSP Inicio: A Solución Factible: A,C,B,E,D,A Costo: 32 5 A C 4 5 6 B 8 7 D 5 E 12 Inicio: A Solución Factible: A,C,B,E,D,A Costo: 32

Ejemplo: TSP Fase de Local Search: Mejoro la solución que resultó de la fase de construcción. Puedo encontrar una mejor solución o no. Luego de terminar la fase, y en caso de encontrarse un óptimo local, este se guarda como solución actual.

Ejemplo: TSP Costo: 24 Local Search: A,E,B,C,D 10 A C 4 5 6 B 8 7 D 5 12 Local Search: A,E,B,C,D Costo: 24