Professional Documents
Culture Documents
Fundamentos y Ejemplos
Pablo Rodrguez-Bocca
Diseo Topolgico de Redes.
Facultad de Ingeniera, Universidad de la Repblica. INRIA/Universit de Rennes 1, Rennes, France.
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
1 / 110
Contenidos
Contenidos
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
2 / 110
Contenidos
Parte I: INTRODUCCIN
Contenido
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
3 / 110
Contenidos
Parte I: INTRODUCCIN
Contenido de la Parte I
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
4 / 110
Contenidos
Contenido
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
5 / 110
Contenidos
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
8 / 110
Introduccin
Contenido
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
9 / 110
Introduccin
Sobre el Curso
Contenido
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
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
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
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
Variables continuas.
Rodrguez-Bocca (UDELAR-INRIA) Metaheursticas Nov. 2008 19 / 110
Introduccin
Motivacin
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
20 / 110
Introduccin
Motivacin
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
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
Instancia
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
23 / 110
Introduccin
Motivacin
Instancia
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
23 / 110
Introduccin
Motivacin
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
min
i ,j =1
cij xij
st:
N
xi ,j = 1
i =1 N
xi ,j = 1
j =1
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 )
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
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
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
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 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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
43 / 110
Heursticas
Ejemplo
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
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
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
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
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
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
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
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
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
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
Metaheursticas
General
Mtodos de trayectoria
En cada iteracin se intenta mejorar una solucin.
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
53 / 110
Metaheursticas
General
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
55 / 110
Metaheursticas
General
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
56 / 110
Metaheursticas
General
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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
59 / 110
Metaheursticas
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
60 / 110
Metaheursticas
Metaheursticas
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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
64 / 110
Metaheursticas
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
65 / 110
Metaheursticas
Metaheursticas
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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
68 / 110
Metaheursticas
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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
71 / 110
Metaheursticas
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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
73 / 110
Metaheursticas
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
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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
76 / 110
Metaheursticas
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.
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 78 / 110
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
79 / 110
Metaheursticas
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 (2)
Algoritmo
Algorithm GRASP 1: 2: 3: 4: 5: while termination conditions not met do s ConstructGreedyRandomizedSolution() ApplyLocalSearch(s) MemorizedBestFoundSolution() end while
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
81 / 110
Metaheursticas
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
82 / 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 83 / 110
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
84 / 110
Metaheursticas
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
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
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
87 / 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 88 / 110
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
89 / 110
Metaheursticas
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
Metaheursticas
Metaheursticas
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
Rodrguez-Bocca (UDELAR-INRIA)
Metaheursticas
Nov. 2008
92 / 110
Metaheursticas
Algorithm ANT 1: 2: 3: 4: 5: 6: 7: while termination conditions not met do ScheduleActivities ManageAntsActivity() EvaporatePheromone() DaemonActions() /* optional */ end ScheduleActivities end while
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
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
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
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
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)
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?
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