You are on page 1of 122

Metaheursticas y Optimizacin Combinatoria en redes de computadores

Fundamentos y Ejemplos

Pablo Rodrguez-Bocca
Diseo Topolgico de Redes.
Facultad de Ingeniera, Universidad de la Repblica. INRIA/Universit de Rennes 1, Rennes, France.

Noviembre 11, 2008

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

1 / 110

Contenidos

Contenidos

Parte I: INTRODUCCIN Parte II: METAHEURSTICAS

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

2 / 110

Contenidos

Parte I: INTRODUCCIN

Contenido

Parte I: INTRODUCCIN Parte II: METAHEURSTICAS

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

3 / 110

Contenidos

Parte I: INTRODUCCIN

Contenido de la Parte I

Introduccin Sobre el Curso Motivacin

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

4 / 110

Contenidos

Parte II: METAHEURSTICAS

Contenido

Parte I: INTRODUCCIN Parte II: METAHEURSTICAS

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

5 / 110

Contenidos

Parte II: METAHEURSTICAS

Contenido de la Parte II
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 6 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Part I INTRODUCCIN

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

7 / 110

Contenido

Introduccin Sobre el Curso Motivacin

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

8 / 110

Introduccin

Contenido

Introduccin Sobre el Curso Motivacin

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

9 / 110

Introduccin

Sobre el Curso

Contenido

Introduccin Sobre el Curso Motivacin

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

10 / 110

Introduccin

Sobre el Curso

Bibliografa - libros
Encyclopedia of Operations Research and Management Science. Gass, Saul I.; Harris, Carl M., eds. Kluwer, 1996. ISBN 0-7923-9590-5. Meta-heuristics: advances and trends in local search paradigms for optimization. Stefan Voss, Silvano Martello, Ibrahim H. Osman and Catherine Roucairol (eds.). Kluwer Academic Publishers, 1999. ISBN: 0-7923-8369-9. Essays and surveys in metaheuristics. C.C. Ribeiro, P. Hansen. Kluwer, 2001. Genetic Algorithms in search, optimization, and machine learning. David E. Goldberg. Addison-Wesley, 1989. ISBN 0201157675. Meta-heuristics : theory and applications. Osman, Ibrahim H.; Kelly, James P. eds.. Kluwer, 1996. ISBN: 0-792397-002. Facts, conjectures, and improvements for simulated annealing. Salamon, Peter; Sibani, Paolo; Frost, Richard. Siam, 2002. ISBN: 0898715083.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 11 / 110

Introduccin

Sobre el Curso

Bibliografa - artculos
Metaheuristics in Combinatorial Optimization: Overview and Conceptual Comparison. C. Blum and A. Roli. Technical report TR/IRIDIA/2001-13, IRIDIA, Universit Libre de Bruxelles, Belgium Heuristics from nature for hard combinatorial optimization problems. A. Colorni and M. Dorigo and F. Mafoli and V. Maniezzo and G. Righini and M. Trubian. International Transactions in Operational Research 3(1):1-21. Testing Heuristics: We Have It All Wrong. Hooker, J. Journal of Heuristics 1:33-42. 1996. Designing and Reporting on Computational Experiments with Heuristic Methods. ichard S. Barr, Bruce L. Golden, James Kelly, William R. Stewart, Mauricio G.C. Resende. June 27,1995 Metaheuristicas: Una visin global. Melin, B., Moreno Perez, J.A., Marcos Moreno-Vega, J. Revista Iberoamericana de Inteligencia Articial. Numero 19, Volumen 2, pginas 7-28, 2003.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 12 / 110

Introduccin

Sobre el Curso

Links tiles

Curso de Grado: Introduccin a la Investigacin de Operaciones http://www.ng.edu.uy/inco/cursos/io/ Curso de Postgrado: Seminario - Elementos de Metaheursticas. http://www.ng.edu.uy/inco/grupos/invop/mh/ Curso de Postgrado: Metaheursticas y Optimizacin sobre Redes http://www.ng.edu.uy/inco/grupos/invop/mor/ Curso de Postgrado: Fundamentos para la investigacin en Redes de Computadores Curso de Postgrado: Diseo Topolgico de Redes. http://www.ng.edu.uy/inco/grupos/invop/dtr/

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

13 / 110

Introduccin

Motivacin

Contenido

Introduccin Sobre el Curso Motivacin

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

14 / 110

Introduccin

Motivacin

Investigacin de Operaciones

Investigacin de Operaciones Empleo de la metodologa cientca en la bsqueda de soluciones ptimas y como apoyo a la toma de decisiones a nivel operativo y gerencial. rea de investigacin y de actividad profesional establecida a partir de la 2da Guerra Mundial. Etapa de crecimiento y divulgacin explosiva a partir de mediados de los 80, que continua actualmente. Importante sinergia con el desarrollo de las tecnologas de la informacin y la comunicacin.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

15 / 110

Introduccin

Motivacin

Metodologa de Investigacin de Operaciones


Pasos (a grandes rasgos):
1 2 3 4 5 6

Planteo y Anlisis del problema a resolver. Construccin de un modelo adecuado. Obtencin de datos y ajuste de parmetros del modelo. Deduccin de la(s) solucion(es). Validacin del modelo y evaluacin de solucion(es). Ejecucin y Control de la(s) solucion(es). Optimizacin: concierne fundamentalmente etapas 2 y 4.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

16 / 110

Introduccin

Motivacin

Problemas de Optimizacin
Problema min f (x ) tal que x D

Nomenclatura: x = (x1 , x2 , ..., xn ) variables del problema. f (x ) funcin objetivo. D espacio de soluciones factibles. Valor ptimo de f : f0 = min {f (x ) : x D } Conjunto de soluciones ptimas S0 = {x D : f (x ) = f0 } (tambin llamadas soluciones globalmente ptimas).
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 17 / 110

Introduccin

Motivacin

Problemas de Programacin Matemtica


Problema min f (x ) tal que g (x ) 0, x X

Nomenclatura: x = (x1 , x2 , ..., xn ) variables del problema. f (x ) funcin objetivo. g (x ) restricciones del problema. X espacio de soluciones. D = {x X : g (x ) 0} espacio de soluciones factibles.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

18 / 110

Introduccin

Motivacin

Problemas de Programacin Matemtica (2)


Gracamente,. . . ej. x 2 + 2y 2 0.3cos(3 x ) 0.4cos(4 y ) + 0.7

Variables continuas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 19 / 110

Introduccin

Motivacin

Problemas de Programacin Matemtica (3)


ptimos locales y globales. . .

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

20 / 110

Introduccin

Motivacin

Problemas de Optimizacin Combinatoria


Problema min f (x ) tal que x D

Nomenclatura: x = (x1 , x2 , ..., xn ) variables del problema. f (x ) funcin objetivo. Para todo i , xi Di dominio de la variable, que es un conjunto discreto (nito o innito). X = D1 xD2 x . . . xDn espacio de soluciones (discreto). D X espacio de soluciones factibles.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 21 / 110

Introduccin

Motivacin

Ejemplo: Problema del Viajante de Comercio (TSP - Travelling salesman problem)

Sean: Un conjunto de ciudades. Una ciudad origen O . Un conjunto de aristas que une las ciudades, con costos asociados. Problema del viajante: recorrer todas las ciudades, comenzando en O y terminando en O , al menor costo posible.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

22 / 110

Introduccin

Motivacin

Ejemplo: Problema del Viajante de Comercio (TSP) (2)


Instancia y solucin

Instancia

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

23 / 110

Introduccin

Motivacin

Ejemplo: Problema del Viajante de Comercio (TSP) (2)


Instancia y solucin

Instancia

Una solucin ptima (de valor 8)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

23 / 110

Introduccin

Motivacin

Ejemplo: Problema del Viajante de Comercio (TSP) (3)


Formalizacin Miller-Tucker-Zemlin (MTZ) [MTZ60].

Sea un grafo dirigido G = (V , E ), donde


V = {1, . . . , N } la ciudad origen es la 1 cij es el costo de ir de la ciudad i a la j

Denimos las siguientes variables xi ,j = 1 sii de la ciudad i voy a la ciudad j ui = k sii i es la k -sima ciudad del recorrido

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

24 / 110

Introduccin

Motivacin

Ejemplo: Problema del Viajante de Comercio (TSP) (3)


Formalizacin Miller-Tucker-Zemlin (MTZ) [MTZ60]. Continuacin
N

min
i ,j =1

cij xij

st:
N

xi ,j = 1
i =1 N

i = j V // voy a toda ciudad una sola vez

xi ,j = 1
j =1

j = i V // salgo de toda ciudad una sola vez

u1 = 1 // siempre comienzo en la ciudad origen (1) 2 ui N i = 1 V // luego recorro el resto de las ciudades i = 1 V , j = 1 V ui uj + 1 (N 1)(1 xij )

// si voy de i a j j est despus xi ,j {0, 1} i , j N , ui {0, . . . , N } i V


Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 25 / 110

Introduccin

Motivacin

Complejidad
Complejidad de un algoritmo: Cantidad de operaciones elementales que se efectan en el peor caso (en funcin del tamao de los datos de entrada). Complejidad de un problema: Complejidad del algoritmo ms eciente para resolverlo. Clases de complejidad: Clase P (polinomial) Clase NP (no-determinista polinomial) Clase EXP (exponencial)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

26 / 110

Introduccin

Motivacin

Complejidad (2)
Clases de complejidad de problemas P y NP

Clase P (polinomial) Conjunto de problemas de decisin que pueden ser resueltos en tiempo polinomial respecto al tamao de la instancia por una maquina secuencial determinista. Ejemplo de problema en P : Sorting Clase NP (no-determinista polinomial) Conjunto de problemas de decisin donde puede vericarse la correctitud de una solucin en tiempo polinomial por una maquina secuencial determinista. O lo que es lo mismo, pueden ser resueltos en tiempo polinomial por una maquina de Turing no determinsta. Ejemplo de problema NP : Problema de satisfacibilidad booleana.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 27 / 110

Introduccin

Motivacin

Complejidad (3)
Clases de complejidad de problemas P y NP

Hay problemas que se sabe no son P ni NP , por ejemplo: halting problem Reduccin de problemas Un problema P1 NP puede ser transformado o reducido a otro problema P2 NP si existe un algoritmo polinomial que transforme cada instancia de P1 en una instancia de P2 , manteniendo la correctitud en la solucin.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

28 / 110

Introduccin

Motivacin

Complejidad (4)
Problema abierto: P = NP ?

Problema abierto: P = NP ? Clases: NP completo: problemas en NP , tales que todo problema en NP se pueden reducir a ellos NP dicil : todo problema en NP se pueden reducir a ellos (no necesariamente NP ) Problemas de optimizacin: algunos en P . muchos en NP completo o NP dicil (por ejemplo el TSP).
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 29 / 110

Introduccin

Motivacin

Ejemplo: Problema del Viajante de Comercio (TSP) (3)


Enumerado en TSP

Problema
4 ciudades (4-1)!=6 recorridos Evaluacin=0.1s Cmputo=0.1*6=0.6s

Problema
51 ciudades (grafo completo) 50!=3.0E64 recorridos Evaluacin=0.00001s Cmputo=9.6E51 aos
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 30 / 110

Introduccin

Motivacin

Ejemplo: Problema del Viajante de Comercio (TSP) (3)


Enumerado en TSP

Problema
4 ciudades (4-1)!=6 recorridos Evaluacin=0.1s Cmputo=0.1*6=0.6s

Problema
51 ciudades (grafo completo) 50!=3.0E64 recorridos Evaluacin=0.00001s Cmputo=9.6E51 aos
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 30 / 110

Introduccin

Motivacin

Problemas de Optimizacin NP-difciles


El problema se diculta cuando: el tamao del problema es grande. el espacio de soluciones tiene muchas dimensiones. hay un conocimiento limitado de la funcin objetivo, f ():
no se cuenta con informacion de derivada, puede ser discontinua, con ruidos, . . .

evaluar f () es costozo en tiempo o procesamiento. f () tiene (o se sospecha que tiene) malas propiedades:
muchas restricciones entrincadas, muchos ptimos locales, mesetas, barrancos, . . .

Cul es un objetivo prctico en la optimizacin global? Existe un objetivo (e.g. encontrar el mnimo valor posible de f ()), existen recursos (e.g. nmero de intentos), y el problema es como usar esos recursos en forma ptima. A. Torn and A. Zilinskas
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 31 / 110

Introduccin

Motivacin

Mtodos de solucin

Existen muchas clases de problemas de optimizacin NP-difcil (y de algoritmos para resolverlos). Mtodos: Resolucin analtica. Algoritmos exactos. Mtodos de aproximacin (p.ej, mtodos numricos). Simulacin y otros mtodos aleatorizados. Heursticas.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

32 / 110

Introduccin

Motivacin

Algoritmos exactos para Optimizacin Combinatoria

Algoritmos exactos Enumeracin explcita o implcita de soluciones (programacin dinmica, branch & bound). Algoritmos basados en Programacin Matemtica (simplex, punto interior, branch&cut, branch&cut&price). Otros especcos de cada problema. nicos errores: redondeo, y eventualmente truncamiento.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

33 / 110

Introduccin

Motivacin

Mtodos de aproximacin

Mtodos de aproximacin Encuentra solucin con error mximo conocido a priori. En algunos casos, error de aproximacin jo. En otros, posible elegir trade-off entre error de aproximacin y esfuerzo computacional (mayor esfuerzo, menor error). Problemas en la clase PTAS - Polynomial Time Approximation Schemes.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

34 / 110

Introduccin

Motivacin

Mtodos aleatorios

Mtodos aleatorios Con cierta probabilidad, encuentra solucin que tendr un error mximo dado. Variantes:
Monte Carlo: siempre da una solucin y estimacin del error, con intervalo de conanza asociado; mayor esfuerzo computacional disminuye el error y aumenta la conanza. Las Vegas: puede dar o no una solucin en un tiempo dado (cuando la da, es exacta); mayor esfuerzo computacional aumenta la probabilidad de tener una respuesta.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

35 / 110

Part II METAHEURSTICAS

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

36 / 110

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 37 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Heursticas

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 38 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Heursticas

Denicin

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 39 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Heursticas

Denicin

Heursticas
heurstica deriva del griego heuriskein, que signica encontrar o descubrir. Tcnicas que busca soluciones de buena calidad (de valor cercano al ptimo?) a un costo computacional razonable, aunque sin garantizar la optimalidad de las mismas. En general, ni siquiera se conoce el grado de error. Clasicacin de las heuristicas:
Mtodos Constructivos: generan una solucin (desde una solucin vacia) agregando componentes hasta completar la solucin. Son mtodos rpidos, de baja calidad en los resultados. Mtodos de Bsqueda local: comienzan desde una solucin e iterativamente van remplazando la solucin actual con alguna solucin parecida de mejor calidad.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

40 / 110

Heursticas

Ejemplo

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 41 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Heursticas

Ejemplo

Ejemplo sencillo de heurstica: mtodo goloso (greedy)

Heuristica Greedy Idea: tratar de construir una solucin eligiendo de manera iterativa los elementos componentes de menor costo. Para algunos problemas con estructura particular, la solucin construida es una solucin ptima. En general, no es el caso.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

42 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

43 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Algoritmo goloso: Elijo la ciudad ms prxima (menor costo) entre las an no visitadas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 43 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Algoritmo goloso: Elijo la ciudad ms prxima (menor costo) entre las an no visitadas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 43 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Algoritmo goloso: Elijo la ciudad ms prxima (menor costo) entre las an no visitadas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 43 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Algoritmo goloso: Elijo la ciudad ms prxima (menor costo) entre las an no visitadas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 43 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Algoritmo goloso: Elijo la ciudad ms prxima (menor costo) entre las an no visitadas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 43 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Algoritmo goloso: Elijo la ciudad ms prxima (menor costo) entre las an no visitadas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 43 / 110

Heursticas

Ejemplo

Ejemplo: Problema del Viajante de Comercio (TSP) (4)


Aplicacin de Greedy

Algoritmo goloso: Elijo la ciudad ms prxima (menor costo) entre las an no visitadas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 43 / 110

Metaheursticas

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 44 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

General

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 45 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

General

Metaheurstica

Denicin (?) Heurstica de nivel ms alto (Glover, 1986). Caractersticas: estrategia que gua el proceso de bsqueda, incluyendo en general heursticas subordinadas. admite descripcin a nivel abstracto (es de alto nivel). de uso genrico (no especca para un tipo de problema).
debe instanciarse para cada tipo de problema.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

46 / 110

Metaheursticas

General

Metaheursticas

Objetivos: Encontrar soluciones factibles de buena calidad (valor cercano al ptimo). Encontrar rpidamente soluciones factibles (puede ser en s mismo un problema NP-difcil). Recorrer el espacio de soluciones sin quedar atrapados en una zona. Nocin de:
exploracin del espacio, explotacin de las soluciones obtenidas.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

47 / 110

Metaheursticas

General

Historia de las Metaheursticas


wikipedia. . .

1952 1954 1966 1975 1980 1983 1986 1988 1989 1991 1995 1997 2004 2008

rst works on stochastics optimization methods. use of evolution process on optimization (Barricelli). evolutionary programming (Fogel, Owens et Walsh). genetic algorithms (J. Holland). genetic programming (Smith). simulated annealing (Hastings, Kirkpatrick, Gelatt, Vecchi). rst mention of the term meta-heuristic, during the conception of tabu search (Glover) rst use of ants (F. Moyson, B. Manderick). memetic algorithm (P. Moscato). ant colony algorithms (M. Dorigo) Greedy randomized adaptive search procedure (Feo, Resende). cross entropy method (Rubinstein). Honey bee algorithm (S. Nakrani, S. Tovey). Firey algorithm (X. S. Yang).
Metaheursticas Nov. 2008 48 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

General

Clasicaciones de Metaheursticas
Inspiradas (o no) en la naturaleza (sistemas biolgicos, fsicos o sociales). Algoritmos Genticos - Evolucin de las especies Recocido simulado - Enfriamiento de metales Colonias de hormigas - dem. Bsqueda dispersa - no bio-inspirada. Aleatorias vs. determinsticas. Aleatorias: Algoritmos Genticos, Recocido simulado, Colonias de hormigas. Determinsticas: Bsqueda Tab, Bsqueda dispersa.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

49 / 110

Metaheursticas

General

Clasicaciones de Metaheursticas (2)

Basadas en un individuo vs. basadas en poblaciones: Basadas en un individuo: Recocido simulado, GRASP, bsqueda tab, bsqueda local y variantes. Basadas en poblaciones: Algoritmos Genticos, Colonias de hormigas, Bsqueda dispersa. Con memoria vs. sin memoria Sin memoria: Recocido simulado, GRASP, Algoritmos Genticos, bsqueda local y variantes. Con memoria: Bsqueda tab,Colonias de hormigas.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

50 / 110

Metaheursticas

General

Clasicaciones de Metaheursticas (3)


varias clasicaciones ms. . .

Funcin objetivo esttica / dinmica. Espacio sin estructura / espacio estructurado. Uso de nica funcin de vecindad / mltiples vecindades. ...

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

51 / 110

Metaheursticas

General

Estructura del espacio


Problema de Optimizacin Combinatoria min f (x ) tal que x D X El espacio de soluciones X es discreto (D , espacio de soluciones factibles, tambien discreto). Se necesita una estructura similar al concepto de entorno del continuo ( ,. . . ). La vecindad Estructura de vecindad: funcin N : D 2D , que asigna a cada solucin x un conjunto de soluciones vecinas. Soluciones localmente mnimas (mnimos locales): x es mnimo local si y N (x ), f (x ) f (y ) (estricto si <). Mnimo global es la solucin de valor mnimo entre todos los mnimos locales
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 52 / 110

Metaheursticas

General

Mtodos de trayectoria
En cada iteracin se intenta mejorar una solucin.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

53 / 110

Metaheursticas

General

Mtodos de trayectoria (2)

Ejemplos Mtodo de bsqueda local bsico Recocido simulado (SA - Simulated Annealing) Bsqueda Tab (TS - Tabu search) Mtodos de exploracin local (ELS - Explorative local search)
GRASP - Greedy randomized adaptive search procedure VNS - Variable neighborhood search GLS - Guided local search ILS - Iterated local search

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

54 / 110

Metaheursticas

General

Mtodos basados en poblaciones


En cada iteracin se intenta mejorar un conjunto (o poblacin) de soluciones.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

55 / 110

Metaheursticas

General

Mtodos basados en poblaciones (2)

Ejemplos Computacin evolutiva (EC)


Algoritmos genticos Algoritmos memticos Bsqueda dispersa (Scatter search) y caminos reconectados (path relinking) Algoritmos evolutivos basados en modelos probabilsticos

Colonias de hormigas (ANT - Ant colony optimization)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

56 / 110

Metaheursticas

General

Algunas Metaheursticas muy difundidas


Metaheuristicas que estudiaremos. . .

Mtodos de trayectoria (un individuo): Bsqueda local y variantes. Recocido Simulado. Bsqueda Tab. GRASP. Mtodos basados en poblaciones: Algoritmos Genticos. Colonias de Hormigas.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

57 / 110

Metaheursticas

Bsqueda local (LS-Local Search)

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 58 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Bsqueda local (LS-Local Search)

Bsqueda local (LS-Local Search)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

59 / 110

Metaheursticas

Bsqueda local (LS-Local Search)

Bsqueda local (LS-Local Search)

Tambien llamado mejora iterativa (Iterative Improvement). Los movimientos se realizan slo si se mejora la solucin.
Algorithm LS 1: 2: 3: 4: s GenerateInitialSolution() repeat s Improve(s, N (s)) until no improvement is possible

Figure: LS - Local Search algorithm

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

60 / 110

Metaheursticas

Bsqueda local (LS-Local Search)

Bsqueda local (2)


Nocin de Trayectoria

LS queda atrapado en el mnimo local cercano a la solucin inicial


Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 61 / 110

Metaheursticas

Bsqueda local (LS-Local Search)

Bsqueda local (3)


implementacin para el TSP [Jay]. . .

Solution Representation: A feasible solution is represented as a sequence of nodes, each node appearing only once and in the order it is visited.
The rst and the last visited nodes are xed to 1 (it is not specied in the solution representation and is always understood to be node 1).

Initial Solution: A good feasible solution can be found quickly using a greedy approach
Starting with the rst node in the tour, nd the nearest node. Each time nd the nearest unvisited node from the current node until all the nodes are visited.

Neighborhood: Any other solution that is obtained by a pair wise exchange of any two nodes in the solution.
This always guarantees that any neighborhood to a feasible solution is always a feasible solution (i.e, does not form any sub-tour). N 1 There are C2 neighborhoods to a given solution.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 62 / 110

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 63 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Recocido simulado (SA-Simulated Annealing)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

64 / 110

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Recocido simulado (SA-Simulated Annealing)

Es una de las metaheursticas ms antigua que incorpora una estrategia explcita para impedir ptimos locales. Basado en la fsica del calentamiento de metales. Se propone una similitud entre una buena estructura cristalina de metales y una buena estructura de soluciones para problemas de optimizacin combinatoria. Se trata de minimizar una funcin objetivo que representa la energa del sistema.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

65 / 110

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Recocido simulado (SA-Simulated Annealing)

Figure: Movimiento vs Energa

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

65 / 110

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Recocido simulado (2)


Idea Idea: permitir movimientos a soluciones que empeoren la funcin objetivo de forma de poder escapar a los ptimos locales. La probabilidad de realizar movimientos que empeoren decrece durante la bsqueda. La temperatura del sistema Mientras que las soluciones que mejoran la funcin objetivo siempre son aceptadas, las soluciones que la empeoran son aceptadas con mayor probabilidad si la temperatura es ms alta. Al comienzo, la temperatura es alta y cualquier transicin entre estados es permitida La temperatura del sistema es controlada con enfriamiento sucesivo (funcin logartmica) y recalentamientos peridicos, que permiten escapar de ptimos locales (estructura de soluciones).
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 66 / 110

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Recocido simulado (3)

convergencia El proceso se puede describir en trminos de cadenas de Markov de estado nito y se puede demostrar su convergencia. (pero un enfriamiento logarmico es muy lento, por tanto en la prctica no se aplica. . . )

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

67 / 110

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Recocido simulado (4)

Algorithm SA 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: s GenerateInitialSolution() T T0 while termination conditions not met do Pick s N (s) at random if f (s ) < f (s) then ss else Accept s as new solution with probability P (T , s , s) end if Update(T ) end while

Figure: SA - Simulated Annealing algorithm

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

68 / 110

Metaheursticas

Recocido simulado (SA-Simulated Annealing)

Recocido simulado (5)


implementacin para el TSP [Jay]. . .

Solution Representation, Initial Solution, and Neighborhood for SA are same as that for LS described before. Termination criteria: The algorithm terminates if it meets any one of the following criteria:
1 2

It reaches a pre-specied number of iterations. There is no improvement in the solution for last pre-specied number of iterations. Fraction of neighbor solutions tried that is accepted at any temperature reaches a pre-specied minimum.

Usually, the maximum number of iterations is kept large enough to allow the process to terminate either using criterion 2 or 3.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

69 / 110

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 70 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Bsqueda Tab (TS-Tabu search)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

71 / 110

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Bsqueda Tab (TS-Tabu search)

Utiliza una bsqueda local con memoria a corto plazo que le permite escapar de mnimos locales y evita ciclos. La memoria de corto plazo esta representada por la lista Tab la cual registra las ltimas soluciones visitadas e impide volver a ellas en los prximos movimientos. La lista Tab se actualiza normalmente en forma FIFO.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

72 / 110

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Bsqueda Tab (2)

Algorithm TS 1: 2: 3: 4: 5: 6: s GenerateInitialSolution() TabuList while termination conditions not met do s BestImprovement(s, N (s) \TabuList ) Update(TabuList ) end while

Figure: TS - Simple Tabu search algorithm

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

73 / 110

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Bsqueda Tab (3)


La lista tab

La lista tab El largo de la lista tab controla la memoria del proceso de bsqueda. Una lista tab corta, controla reas reducidas del espacio de bsqueda y una larga, fuerza a una bsqueda en reas mayores. El largo de la lista puede cambiar a lo largo del proceso de bsqueda.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

74 / 110

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Bsqueda Tab (4)


implementacin ms realista. . .

Implementacin Por razones de eciencia, no se guarda la solucin completa en la lista tab, sino una parte de sus atributos. Se dene una lista tab de condiciones. En este proceso se pierde informacin y buenas soluciones pueden ser excluidas del conjunto permitido. Para reducir este problema, se dene un criterio de aspiracin que permitira a una solucin estar dentro del conjunto de soluciones permitidas an cuando gure en la lista tab.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

75 / 110

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Bsqueda Tab (5)


implementacin ms realista. . .

Algorithm TS 1: 2: 3: 4: 5: : 6: 7: 8: 9: s GenerateInitialSolution() InitializeTabuList(TL1 , . . . , TLr ) k 0 while termination conditions not met do AllowedSet (s, k ) {z N (s) \ no tabu condition is violated or at least one aspiration condition is satised} s BestImprovement(s, AllowedSet (s, k )) UpdateTabuListAndAspirationConditions() k k +1 end while

Figure: TS - Tabu search algorithm

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

76 / 110

Metaheursticas

Bsqueda Tab (TS-Tabu search)

Bsqueda Tab (6)


implementacin realista para el TSP [Jay]. . .

Solution Representation, Initial Solution, and Neighborhood for TS are same as that for LS and SA described before. Tabu List: To prevent the process from cycling in a small set of solutions, some attribute of recently visited solutions is stored in a Tabu List, which prevents their occurrence for a limited period.
For our problem, the attribute used is a pair of nodes that have been exchanged recently.

Aspiration criterion: Tabus may sometimes be too powerful: they may prohibit attractive moves, even when there is no danger of cycling, or they may lead to an overall stagnation of the searching process.
It may, therefore, become necessary to revoke tabus at times. The criterion used in TSP is to allow a move, even if it is tabu, if it results in a solution with an objective value better than that of the current best-known solution.

Termination criteria: The algorithm terminates if a pre-specied number of iterations is reached.


Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 77 / 110

Metaheursticas

GRASP-Greedy Randomized Adaptive Search Procedure

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 78 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

GRASP-Greedy Randomized Adaptive Search Procedure

GRASP - (Greedy Randomized Adaptive Search Procedure)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

79 / 110

Metaheursticas

GRASP-Greedy Randomized Adaptive Search Procedure

GRASP
Clasicado como mtodo de exploracin local (ELS-Explorative local search) GRASP (Greedy Randomized Adaptive Search Procedure) es una metaheurstica que combina procedimientos constructivos y de bsqueda local. GRASP es un procedimiento iterativo en dos fases:
una de construccin de la solucin (heurstica) y otra de mejora.

Heurstica esttica: asigna el score a los elementos solamente antes de comenzar la construccin. En GRASP, la construccin de la solucin se caracteriza por ser dinmica y aleatoria. Los valores de la heurstica son actualizados en cada iteracin.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 80 / 110

Metaheursticas

GRASP-Greedy Randomized Adaptive Search Procedure

GRASP (2)
Algoritmo

Algorithm GRASP 1: 2: 3: 4: 5: while termination conditions not met do s ConstructGreedyRandomizedSolution() ApplyLocalSearch(s) MemorizedBestFoundSolution() end while

Figure: GRASP - Greedy Randomized Adaptive Search Procedure

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

81 / 110

Metaheursticas

GRASP-Greedy Randomized Adaptive Search Procedure

GRASP (3)
Construccin de una solucin

Algorithm GRASP Construction 1: 2: 3: 4: 5: 6: 7: s /* s denotes a partial solution in this case*/ while termination conditions not met do RCL GenerateRestrictedCandidateList() x SelectElementAtRandom(RCL) s s {x } UpdateGreedyFunction(s) end while

Figure: Greedy Randomized Solution Construction

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

82 / 110

Metaheursticas

Computacin evolutiva (EC-Evolutionary Computation)

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 83 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Computacin evolutiva (EC-Evolutionary Computation)

Computacin evolutiva (EC-Evolutionary Computation)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

84 / 110

Metaheursticas

Computacin evolutiva (EC-Evolutionary Computation)

Computacin evolutiva (EC-Evolutionary Computation)


Amplio espectro de tcnicas heursticas que funcionan emulando mecanismos de evolucin natural. Trabaja sobre una poblacin de individuos o conjunto de soluciones, que evoluciona utilizando mecanismos de seleccin y construccin de nuevas soluciones candidatas mediante recombinacin de caractersticas de las soluciones seleccionadas. Etapas del mecanismo evolutivo:
1 2

Evaluacin: funcin de tness. Seleccin : de individuos adecuados (de acuerdo al tness) para la aplicacin de operadores evolutivos. Aplicacin de operadores evolutivos. Reemplazo o recambio generacional.
Metaheursticas Nov. 2008 85 / 110

3 4

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Computacin evolutiva (EC-Evolutionary Computation)

Computacin evolutiva (2)

Proceso evolutivo: decide en cada iteracin qu individuos entrarn en la prxima poblacin. Operadores evolutivos: determinan el modo en que el algoritmo explora el espacio de bsqueda. Algoritmos genticos: Cruzamiento es el operador principal, mientras que la mutacin es un operador secundario, solamente para agregar mayor diversidad al mecanismo de exploracin Grado de adaptacin de un individuo se evala a travs de la funcin de tness

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

86 / 110

Metaheursticas

Computacin evolutiva (EC-Evolutionary Computation)

Algoritmos Genticos (GA) - Genetic algorithm

Algorithm GA 1: 2: 3: 4: 5: 6: 7: 8: P GenerateInitialPopulation() Evaluate(P ) while termination conditions not met do P Recombine(P ) P Mutate(P ) Evaluate(P ) P Select(P P ) end while

Figure: GA - Genetic Algorithm

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

87 / 110

Metaheursticas

Colonias de Hormigas (ANT-Ant colony optimization)

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 88 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Colonias de Hormigas (ANT-Ant colony optimization)

Colonias de Hormigas (ANT-Ant colony optimization)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

89 / 110

Metaheursticas

Colonias de Hormigas (ANT-Ant colony optimization)

Colonias de Hormigas (ANT-Ant colony optimization)

Heursticas que se basan en imitar el comportamiento de las hormigas. Si bien cada hormiga tiene individualmente capacidades bsicas, la colonia en conjunto logra un comportamiento inteligente. A pesar de ser insectos casi ciegos logran encontrar el camino ms corto entre el hormiguero y una fuente de comida y regresar, en base a una comunicacin entre ellas de origen qumico que se potencia con la presencia simultnea de muchas hormigas. Comunicacin en base a feromonas, que dejan un rastro que sirve de referencia a otras hormigas.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

90 / 110

Metaheursticas

Colonias de Hormigas (ANT-Ant colony optimization)

Colonias de Hormigas (2)

Debido a la evaporacin constante de la feromona, con el tiempo se elige el camino ms corto.


Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 91 / 110

Metaheursticas

Colonias de Hormigas (ANT-Ant colony optimization)

Colonias de Hormigas (2)

Debido a la evaporacin constante de la feromona, con el tiempo se elige el camino ms corto.


Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 91 / 110

Metaheursticas

Colonias de Hormigas (ANT-Ant colony optimization)

Colonias de Hormigas (3)


Algoritmo

Algorithm ANT 1: 2: 3: 4: 5: 6: 7: InitializePheromoneValues() while termination conditions not met do for all ants a A do sa ConstructSolution(, ) end for UpdateOnlineDelayedPheromoneUpdate() end while

Figure: ANT-Ant System

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

92 / 110

Metaheursticas

Colonias de Hormigas (ANT-Ant colony optimization)

Colonias de Hormigas (4)


Algoritmo mejorado

Algorithm ANT 1: 2: 3: 4: 5: 6: 7: while termination conditions not met do ScheduleActivities ManageAntsActivity() EvaporatePheromone() DaemonActions() /* optional */ end ScheduleActivities end while

Figure: ANT-Ant colony optimization

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

93 / 110

Resumen

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 94 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Resumen

Esquema de clasicacin

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 95 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Resumen

Esquema de clasicacin

Esquema de clasicacin X/Y/Z


Notacin de clasicacin: Propuesto por Laguna (similar al esquema para las de espera propuesto por Kendall):
X = A (adaptativo, con memoria) o M (sin memoria) Y= N (bsqueda determinstica) o S (muestreo aleatorio) Z = 1 (basado en una solucin) o P (basado en poblaciones).

Clasicacin para las Metaheursticas que estudiamos Bsqueda local y variantes (M/N/1). Recocido Simulado (M/S/1). Bsqueda Tab (A/N/1). GRASP (A/S/1). Algoritmos Genticos (A/S/P). Colonias de Hormigas (A/S/P).
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 96 / 110

Resumen

Esquema de clasicacin

Esquema de clasicacin X/Y/Z


Notacin de clasicacin: Propuesto por Laguna (similar al esquema para las de espera propuesto por Kendall):
X = A (adaptativo, con memoria) o M (sin memoria) Y= N (bsqueda determinstica) o S (muestreo aleatorio) Z = 1 (basado en una solucin) o P (basado en poblaciones).

Clasicacin para las Metaheursticas que estudiamos Bsqueda local y variantes (M/N/1). Recocido Simulado (M/S/1). Bsqueda Tab (A/N/1). GRASP (A/S/1). Algoritmos Genticos (A/S/P). Colonias de Hormigas (A/S/P).
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 96 / 110

Resumen

Intensicacin y Diversicacin

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 97 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Resumen

Intensicacin y Diversicacin

Intensicacin y Diversicacin

Intensicacin y Diversicacin Cada metaheurstica utiliza una estrategia distinta para explorar el espacio La estrategias de bsqueda se disean balanceando esttica o dinmicamente el aprovechamiento de la experiencia acumulada de bsqueda (intensicacin) y la exploracin del espacio de bsqueda (diversicacin)

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

98 / 110

Resumen

Intensicacin y Diversicacin

Intensicacin y Diversicacin (2)

Todas las metaheursticas presentan un compromiso entre dos mecanismos: Diversicacin exploracin global Intensicacin exploracin local Mecanismos de intensicacin/diversicacin: bsicos o intrnsecos, especiales o estratgicos.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

99 / 110

Resumen

Intensicacin y Diversicacin

Intensicacin/Diversicacin (3)
Bsicos

Recocido simulado (M/S/1): Intensicacin: bsqueda local Balance dinmico controlado a travs del parmetro T. Inicialmente alta diversicacin y baja intensicacin, al nal del algoritmo se invierte relacin Bsqueda tab (A/N/1): Intensicacin: bsqueda local y funcin de aspiracin Diversicacin: a travs de la o las listas tab. Balance esttico: a travs del tamao de la lista tab. Listas tab cortas: gran intensicacin poca diversicacin, listas largas a la inversa.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 100 / 110

Resumen

Intensicacin y Diversicacin

Intensicacin/Diversicacin (4)
Bsicos

GRASP (A/S/1): Intensicacin: bsqueda local en la fase de mejora y largo de la lista restringida de candidatos (RCL) Diversicacin: implementada a travs de la lista restringida de candidatos Balance esttico: determinado por el largo de la lista restringida de candidatos Si la RCL es de largo 1, alta intensicacin, a medida que aumenta su largo, aumenta la divesicacin ya que la solucin inicial para la bsqueda local se extrae randmicamente de la RCL

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

101 / 110

Resumen

Intensicacin y Diversicacin

Intensicacin/Diversicacin (5)
Bsicos

Computacin evolutiva (A/S/P): Intensicacin: a travs del operador de seleccin que concentra la bsqueda en algunas reas. Diversicacin: en forma natural, a travs de las poblaciones, a travs de operadores: recombinacin y modicacin. Balance dinmico: Inicialmente alta diversicacin y baja intensicacin, al nal del algoritmo se invierte relacin.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

102 / 110

Resumen

Intensicacin y Diversicacin

Intensicacin/Diversicacin (6)
Bsicos

Colonias de hormigas (A/S/P): Intensicacin: a travs de la feromona y las reglas de actualizacin que refuerzan las buenas soluciones. Diversicacin: implementado a travs del mecanismo probabilstico de construccin de soluciones. Balance dinmico: Inicialmente alta diversicacin y baja intensicacin, al nal del algoritmo se invierte relacin

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

103 / 110

Resumen

Intensicacin y Diversicacin

Intensicacin/Diversicacin (7)
Ejemplo de Especiales

SA: tcnicas de recalentado y posterior enfriamiento (enfriamiento no montono) TS: cambios dinmicos en el largo de la lista tab (Reactive Tabu Search). El largo de la lista vara segn las propiedades de la trayectoria en el espacio de bsqueda. EC: no son muy comunes estos mecanismos. Algunas aplicaciones cambian el operador de seleccin cuando el sistema esta prximo a la convergencia (equivalente a reiniciar el algoritmo). ANT: Al igual que los EC, no es usual interrumpir el proceso de convergencia. En los Ant Colony System , se usan mecanismos extra de diversicacin durante la fase de construccin de la solucin.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 104 / 110

Resumen

Intensicacin y Diversicacin

Intensicacin/Diversicacin (8)
Bsicos - Resumen

Table: Intensicacin/Diversicacin para cada Metaheurstica


Intensicacin SA TS ELS (GRASP) EC (AG) ANT bsqueda local bsica bsqueda local bsica bsqueda local bsica seleccin reglas de actualizacin de la feromona Diversicacin movimientos que empeoran solucin (T ) lista tab (memoria corto plazo) criterio de aceptacin y perturbacin operaciones de modicacin (ej. mutacin) reglas de construccin probabilstica

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

105 / 110

Resumen

Intensicacin y Diversicacin

Resumen

Los mtodos basados en poblaciones son mejores en identicar posibles buenas reas en el espacio de bsqueda (permiten dar pasos largos ), que los mtodos de trayectoria los cuales son mejores para explorar localmente las reas. Las heursticas hbridas tratan de aprovechar las bondades de ambos tipos de mtodos y han tenido xito en algunas aplicaciones, es un tipo de tcnica a continuar mejorando en el futuro.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

106 / 110

Resumen

Intensicacin y Diversicacin

Resumen (2)

El campo de las metaheursticas a:


sido aplicado en una variedad enorme de problemas de optimizacin demostrado buena performance en muchos problemas reales

Las metaheursticas son considerablemente ms genericas que otros mtodos:


por ejemplo: pueden ser aplicadas cuando no se conoce completamente la funcin objetivo.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

107 / 110

Resumen

Preguntas?

Contenido
2

Heursticas Denicin Ejemplo Metaheursticas General Bsqueda local (LS-Local Search) Recocido simulado (SA-Simulated Annealing) Bsqueda Tab (TS-Tabu search) GRASP-Greedy Randomized Adaptive Search Procedure Computacin evolutiva (EC-Evolutionary Computation) Colonias de Hormigas (ANT-Ant colony optimization) Resumen Esquema de clasicacin Intensicacin y Diversicacin Preguntas?
Metaheursticas Nov. 2008 108 / 110

Rodrguez-Bocca (UDELAR-INRIA)

Resumen

Preguntas?

Preguntas?

Gracias! Por su atencin.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

109 / 110

Resumen

Preguntas?

Bibliography

Sachin Jayaswal. A Comparative Study of Tabu Search and Simulated Annealing for Traveling Salesman Problem. Technical report. C. E. Miller, A. W. Tucker, and R. A. Zemlin. Integer programming formulations and traveling salesman problems. ACM, 7:326329, 1960.

Rodrguez-Bocca (UDELAR-INRIA)

Metaheursticas

Nov. 2008

110 / 110

You might also like