Optimización Continua y Aplicaciones (OCA) - EVA Fing

89
Optimización Continua y Aplicaciones (OCA) Pablo Rodríguez-Bocca Departamento de IO, Instituto de Computación prboccab@fing.edu.uy 12 de septiembre de 2021 Optimización Continua y Aplicaciones (OCA) Optimización Continua y Aplicaciones (OCA) 1

Transcript of Optimización Continua y Aplicaciones (OCA) - EVA Fing

Optimización Continua y Aplicaciones (OCA)

Pablo Rodríguez-BoccaDepartamento de IO, Instituto de Computación

[email protected]

12 de septiembre de 2021

Optimización Continua y Aplicaciones (OCA) Optimización Continua y Aplicaciones (OCA) 1

Metaheurísticas para Optimización

Pablo Rodríguez-BoccaDepartamento de IO, Instituto de Computación

[email protected]

12 de septiembre de 2021

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 2

Contexto

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 3

Objetivo

Objetivo

El objetivo de esta charla es transmitir la potencia del enfoqueMetaheurístico y Técnicas Aproximadas para la resolución de pro-blemas combinatorios.

Más información. . .I Resumen introductorio al curso de Grado/Posgrado: Metaheurísticas

y Optimización sobre RedesI https://eva.fing.edu.uy/course/view.php?id=1077

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 4

Bibliografía - libros

I Encyclopedia of Operations Research and Management Science.Gass, Saul I.; Harris, Carl M., eds. Kluwer, 1996. ISBN0-7923-9590-5.

I Meta-heuristics: advances and trends in local search paradigms foroptimization. Stefan Voss, Silvano Martello, Ibrahim H. Osman andCatherine Roucairol (eds.). Kluwer Academic Publishers, 1999.ISBN: 0-7923-8369-9.

I Essays and surveys in metaheuristics. C.C. Ribeiro, P. Hansen.Kluwer, 2001.

I Genetic Algorithms in search, optimization, and machine learning.David E. Goldberg. Addison-Wesley, 1989. ISBN 0201157675.

I Meta-heuristics : theory and applications. Osman, Ibrahim H.; Kelly,James P. eds.. Kluwer, 1996. ISBN: 0-792397-002.

I Facts, conjectures, and improvements for simulated annealing.Salamon, Peter; Sibani, Paolo; Frost, Richard. Siam, 2002. ISBN:0898715083.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 5

Bibliografía - artículos

I Metaheuristics in Combinatorial Optimization: Overview andConceptual Comparison. C. Blum and A. Roli. Technical reportTR/IRIDIA/2001-13, IRIDIA, Université Libre de Bruxelles, Belgium

I Heuristics from nature for hard combinatorial optimization problems.A. Colorni and M. Dorigo and F. Maffioli and V. Maniezzo and G.Righini and M. Trubian. International Transactions in OperationalResearch 3(1):1-21.

I Testing Heuristics: We Have It All Wrong. Hooker, J. Journal ofHeuristics 1:33-42. 1996.

I Designing and Reporting on Computational Experiments withHeuristic Methods. ichard S. Barr, Bruce L. Golden, James Kelly,William R. Stewart, Mauricio G.C. Resende. June 27,1995

I Metaheuristicas: Una visión global. Melián, B., Moreno Perez, J.A.,Marcos Moreno-Vega, J. Revista Iberoamericana de InteligenciaArtificial. Numero 19, Volumen 2, páginas 7-28, 2003.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 6

Links útiles

I Curso de Postgrado: Metaheurísticas y Optimización sobreRedes. https://eva.fing.edu.uy/course/view.php?id=1077

I Curso de Grado: Introducción a la Investigación de Operacioneshttp://www.fing.edu.uy/inco/cursos/io/

I Curso de Postgrado: Seminario - Elementos de Metaheurísticas.http://www.fing.edu.uy/inco/grupos/invop/mh/

I Curso de Postgrado: Diseño Topológico de Redes.http://www.fing.edu.uy/inco/grupos/invop/dtr/

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 7

Problemas de Optimización

Problema {mın f (x)tal que x ∈ D

Nomenclatura:I x = (x1, x2, ..., xn) variables del problema.I f (x) función objetivo.I D espacio de soluciones factibles.I Valor óptimo de f : f0 = min {f (x) : x ∈ D}I Conjunto de soluciones óptimas S0 = {x ∈ D : f (x) = f0} (también

llamadas soluciones globalmente óptimas).

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 8

Problemas de Programación Matemática

Problema {mın f (x)tal que g(x) ≤ 0, x ∈ X

Nomenclatura:I x = (x1, x2, ..., xn) variables del problema.I f (x) función objetivo.I g(x) restricciones del problema.I X espacio de soluciones.I D = {x ∈ X : g(x) ≤ 0} espacio de soluciones factibles.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 9

Problemas de Programación Matemática (2)

Graficamente,. . . ej. x2 + 2y 2 − 0,3cos(3πx)− 0,4cos(4πy) + 0,7

Variables continuas.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 10

Problemas de Programación Matemática (3)

Óptimos locales y globales. . .

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 11

Problemas de Optimización Combinatoria

Problema {mın f (x)tal que x ∈ D

Nomenclatura:I x = (x1, x2, ..., xn) variables del problema.I f (x) función objetivo.I Para todo i , xi ∈ Di dominio de la variable, que es un conjunto

discreto (finito o infinito).I X = D1xD2x . . . xDn espacio de soluciones (discreto).I D ⊆ X espacio de soluciones factibles.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 12

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

Sean:I Un conjunto de ciudades.I Una ciudad origen O.I 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.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 13

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

Instancia y solución

Instancia Una solución óptima (de valor 8)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 14

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

Formalización Miller-Tucker-Zemlin (MTZ) [MTZ60].

I Sea un grafo dirigido G = (V ,E ), dondeI V = {1, . . . ,N}I la ciudad origen es la 1I cij es el costo de ir de la ciudad i a la j

I Definimos las siguientes variables

xi,j = 1 sii de la ciudad i voy a la ciudad jui = k sii i es la k-ésima ciudad del recorrido

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 15

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

Formalización Miller-Tucker-Zemlin (MTZ) [MTZ60]. Continuación

mın∑N

i,j=1 cijxijst:∑N

i=1 xi,j = 1 para todoi 6= j ∈ V // voy a toda ciudad una sola vez∑Nj=1 xi,j = 1 para todoj 6= i ∈ V // salgo de toda ciudad una sola vez

u1 = 1 // siempre comienzo en la ciudad origen (1)2 ≤ ui ≤ N para todoi 6= 1 ∈ V // luego recorro el resto de las ciudadesui − uj + 1 ≤ (N − 1)(1− xij) para todoi 6= 1 ∈ V , para todoj 6= 1 ∈ V// si voy de i a j ⇒ j está después

xi,j ∈ {0, 1} para todoi , j ∈ N, ui ∈ {0, . . . ,N} para todoi ∈ V

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 16

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

Complejidad y Enumerado en TSP

Recordar: Complejidad de los Problemas de Optimización

I algunos en PI muchos en NP-completo (ej. TSP con distancias enteras) o

NP-difícil (e. TSP general)

I Instancia pequeñaI 4 ciudadesI (4-1)!=6 recorridosI Evaluación=0.1sI Cómputo=0.1*6=0.6s

I Otra instancia pequeñaI 51 ciudades (grafo completo)I 50!=3.0E64 recorridosI Evaluación=0.00001sI Cómputo=9.6E51 años

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 17

Problemas de Optimización NP-difíciles

El problema se dificulta más cuando:I el tamaño del problema es grande.I el espacio de soluciones tiene muchas dimensiones.I hay un conocimiento limitado de la función objetivo, f ():

I no se cuenta con información de derivada,I puede ser discontinua, con ruidos, . . .

I evaluar f () es costozo en tiempo o procesamiento.I f () tiene (o se sospecha que tiene) malas propiedades:

I muchas restricciones entrincadas,I muchos óptimos locales,I mesetas, barrancos, . . .

¿Cuál es un objetivo “práctico” en la optimización global?

“Existe un objetivo (e.g. encontrar el mínimo valor posible de f ()),existen recursos (e.g. número de intentos), y el problema es comousar esos recursos en forma óptima.” A. Torn and A. Zilinskas

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 18

Métodos para resolver problemas de optimizacion

Métodos de solución

I Exactos: Buscan alcanzar el óptimo, aunque eso impliquehacerlo en una cantidad infinita de pasos

I Heurísticos: Buscan soluciones de buena calidad usandorecursos posibles, sin asegurar alcanzar el óptimo

Métodos Exactos

I Directos: llegan a la solución exacta del problema concantidad de pasos finitosI Ejemplos: reductivos, recursivos, . . .

I Iterativos: aproximaciones sucesivas de la solución,comenzando desde una estimación. Por lo general, noalcanzan óptimo en cantidad finita de pasosI Estocásticos: algoritmo iterativo no determinístico, pero con

convergencia estadística

. . . hoy hablaremos sobre los métodos heurísticos y estocásticosOptimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 19

Heurísticas

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 20

Heurísticas

“heurística” deriva del griego heuriskein, que significa “encontrar”o “descubrir”.

I Técnicas que buscan soluciones de buena calidad (de valorcercano al óptimo?) a un costo computacional razonable,aunque sin garantizar la optimalidad de las mismas. Engeneral, ni siquiera se conoce el grado de error.

I Clasificación de las heuristicas:I Métodos Constructivos: generan una solución (desde una

solución vacia) agregando componentes hasta completar lasolución. Son métodos rápidos, de baja calidad en losresultados.

I Métodos de Búsqueda local: comienzan desde una solución eiterativamente van remplazando la solución actual conalguna solución parecida de mejor calidad.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 21

Ejemplo sencillo de heurística:método goloso (greedy)

Heuristica Greedy

I Idea: tratar de construir una solución eligiendo de maneraiterativa los elementos componentes de menor costo.

I Para algunos problemas con estructura particular, la soluciónconstruida es una solución óptima. En general, no es el caso.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 22

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

Construcción goloza: Nearest Neighbor

Algoritmo goloso:

Elijo la ciudad más próxima (menor costo) entre las aún no visita-das.

Algoritmo goloso:

Elijo la ciudad más próxima (menor costo) entre las aún no visita-das.

Algoritmo goloso:

Elijo la ciudad más próxima (menor costo) entre las aún no visita-das.

Algoritmo goloso:

Elijo la ciudad más próxima (menor costo) entre las aún no visita-das.

Algoritmo goloso:

Elijo la ciudad más próxima (menor costo) entre las aún no visita-das.

Algoritmo goloso:

Elijo la ciudad más próxima (menor costo) entre las aún no visita-das.

Algoritmo goloso:

Elijo la ciudad más próxima (menor costo) entre las aún no visita-das.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 23

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

Heurísticas Constructivas simples

Nearest Neighbor

Ir a la ciudad más próxima aún no visitada.

Greedy

Agregar las aristas en orden creciente de costos, respetando cons-truir un ciclo.

Clarke-Wright

Se comienza construyendo un camino desde el origen a cada ciudad.Se van uniendo estos caminos comenzando por aquellas uniones quedisminuyen más el costo.

. . .

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 24

Metaheurísticas

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 25

Metaheurística

Definición (?)

“Heurística de nivel más alto” (Glover, 1986).

Características:

I estrategia que guía el proceso de búsqueda, incluyendo engeneral heurísticas subordinadas.

I admite descripción a nivel abstracto (es de alto nivel).I de uso genérico (no específica para un tipo de problema).

⇒ debe instanciarse para cada tipo de problema

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 26

Metaheurísticas

Objetivos:

I Encontrar soluciones factibles de buena calidad (valorcercano al óptimo).

I Encontrar rápidamente soluciones factibles (puede ser en símismo un problema NP-difícil).

I Recorrer el espacio de soluciones sin quedar “atrapados” enuna zona. Noción de:I exploración del espacio,I explotación de las soluciones obtenidas.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 27

Historia de las Metaheurísticaswikipedia. . .

1952 first works on stochastics optimization methods.1954 use of evolution process on optimization (Barricelli).1966 evolutionary programming (Fogel, Owens et Walsh).1975 genetic algorithms (J. Holland).1980 genetic programming (Smith).1983 simulated annealing (Hastings, Kirkpatrick, Gelatt, Vecchi).1986 first mention of the term meta-heuristic, during the conception of tabu search

(Glover)1988 first use of ants (F. Moyson, B. Manderick).1989 memetic algorithm (P. Moscato).1991 ant colony algorithms (M. Dorigo)1995 Greedy randomized adaptive search procedure (Feo, Resende).1997 cross entropy method (Rubinstein).1997 No Free Lunch Theorems for Optimization"(Wolpert, D.H., Macready, W.G.).2004 Honey bee algorithm (S. Nakrani, S. Tovey).2008 Firefly algorithm (X. S. Yang).

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 28

Clasificaciones de Metaheurísticas

Inspiradas (o no) en la naturaleza

I Algoritmos Genéticos - Evolución de las especiesI Recocido simulado - Enfriamiento de metalesI Colonias de hormigas - ídem.I Búsqueda dispersa - no bio-inspirada.

Aleatorias vs. determinísticas

I Aleatorias: Algoritmos Genéticos, Recocido simulado,Colonias de hormigas.

I Determinísticas: Búsqueda Tabú, Búsqueda dispersa.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 29

Clasificaciones de Metaheurísticas (2)

Basadas en un individuo vs. basadas en poblaciones:

I Basadas en un individuo: Recocido simulado, GRASP,búsqueda tabú, búsqueda local y variantes.

I Basadas en poblaciones: Algoritmos Genéticos, Colonias dehormigas, Búsqueda dispersa.

Con memoria vs. sin memoria

I Sin memoria: Recocido simulado, GRASP, AlgoritmosGenéticos, búsqueda local y variantes.

I Con memoria: Búsqueda tabú,Colonias de hormigas.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 30

Clasificaciones de Metaheurísticas (3)

varias clasificaciones más. . .

I Función objetivo estática / dinámica.I Espacio sin estructura / espacio estructurado.I Uso de única función de vecindad / múltiples vecindades.I . . .

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 31

Estructura del espacio

Problema de Optimización Combinatoria

min f (x)tal que x ∈ D ⊆ X

I El espacio de soluciones X es discreto (D, espacio de solucionesfactibles, también discreto)

I Se necesita una estructura similar al concepto de entorno delcontinuo (ε,. . . )

La vecindad

I Estructura de vecindad: función N : D 7→ 2D , que asigna acada solución x un conjunto de “soluciones vecinas”

I Soluciones localmente mínimas (mínimos locales): x esmínimo local si para todoy ∈ N(x), f (x) ≤ f (y) (estricto si<).

I Mínimo global es la solución de valor mínimo entre todos losmínimos locales

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 32

Métodos de trayectoria

En cada iteración se intenta mejorar una solución.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 33

Métodos de trayectoria (2)

Ejemplos

I Método de búsqueda local básicoI Recocido simulado (SA - Simulated Annealing)I Búsqueda Tabú (TS - Tabu search)I Métodos de exploración local (ELS - Explorative local

search)I GRASP - Greedy randomized adaptive search procedureI VNS - Variable neighborhood searchI GLS - Guided local searchI ILS - Iterated local search

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 34

Métodos basados en poblaciones

En cada iteración se intenta mejorar un conjunto (o población) desoluciones.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 35

Métodos basados en poblaciones (2)

Ejemplos

I Computación evolutiva (EC)I Algoritmos genéticosI Algoritmos meméticosI Búsqueda dispersa (Scatter search) y caminos reconectados

(path relinking)I Algoritmos evolutivos basados en modelos probabilísticos

I Colonias de hormigas (ANT - Ant colony optimization)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 36

Algunas Metaheurísticas muy difundidasMetaheuristicas que estudiaremos. . .

Métodos de trayectoria (un individuo):

I Búsqueda local y variantesI Recocido Simulado *I Búsqueda TabúI GRASP

Métodos basados en poblaciones:

I Algoritmos Genéticos *I Colonias de Hormigas *

Pueden usarse como métodos iterativos estocásticos

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 37

Búsqueda local (LS-Local Search)

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 38

Búsqueda local (LS-Local Search)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 39

Búsqueda local(LS-Local Search)

I También llamado mejora iterativa (Iterative Improvement).I Los movimientos se realizan sólo si se mejora la solución.

Algorithm LS

1: s ← GenerateInitialSolution()2: repeat3: s ← Improve(s,N(s))4: until no improvement is possible

Figura LS - Local Search algorithm

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 40

Búsqueda local (2)

Noción de Trayectoria

LS queda atrapado en mínimo local cercano a la solución inicial

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 41

Búsqueda local (3)

Vecindades para el TSP. . .

2-Opt [Cro58]: Cada solución tiene CN−12 vecinos.

3-Opt [Boc58,Lin65]: Cada solución tiene CN−13 vecinos.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 42

Búsqueda local (4)

implementación para el TSP [Jay93]. . .

I Solution Representation: A feasible solution is represented as asequence of nodes, each node appearing only once and in the orderit is visited.I The first and the last visited nodes are fixed to 1 (it is not specified in

the solution representation and is always understood to be node 1).I Initial Solution: A good feasible solution can be found quickly using

a greedy approachI Starting with the first node in the tour, find the nearest node.I Each time find the nearest unvisited node from the current node

until all the nodes are visited.I Neighborhood: Any other solution that is obtained by a pair wise

exchange of any two nodes in the solution (2-Opt).I This always guarantees that any neighborhood to a feasible solution

is always a feasible solution (i.e, does not form any sub-tour).I There are CN−1

2 neighborhoods to a given solution.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 43

Recocido simulado (SA-Simulated Annealing)

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 44

Recocido simulado (SA-Simulated Annealing)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 45

Recocido simulado(SA-Simulated Annealing)

I Es una de las metaheurísticas más antigua que incorpora unaestrategia explícita para impedir óptimos locales.

I Basado en la física del calentamiento de metales. Se proponeuna similitud entre una buena estructura cristalina demetales y una buena estructura de soluciones para problemasde optimización combinatoria.

I Se trata de minimizar una función objetivo que representa laenergía del sistema.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 46

Recocido simulado(SA-Simulated Annealing)

Figura Movimiento vs Energía

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 47

Recocido simulado (2)

I Idea: permitir movimientos a soluciones que empeoren la funciónobjetivo de forma de poder escapar de los óptimos locales.

I La probabilidad de realizar movimientos que empeoren decrecedurante la búsqueda.

La temperatura del sistema

I Siempre se aceptan las soluciones que mejoran la funciónobjetivo, las soluciones que la empeoran son aceptadas conmayor probabilidad si la temperatura es más alta.

I Al comienzo, la temperatura es alta y cualquier transiciónentre estados es permitida

I La temperatura del sistema es controlada con enfriamientosucesivo (función logarítmica) y recalentamientos periódicos,que permiten escapar de óptimos locales (estructura desoluciones).

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 48

Recocido simulado (3)

convergencia

I El proceso se puede describir en términos de cadenas deMarkov de estado finito y se puede demostrar suconvergencia.

I (pero un enfriamiento logarímico es muy lento, por tanto enla práctica no se aplica. . . )

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 49

Recocido simulado (4)

Algorithm SA

1: s ← GenerateInitialSolution()2: T ← T03: while termination conditions not met do4: Pick s ′ ∈ N(s) at random5: if f (s ′) < f (s) then6: s ← s ′7: else8: Accept s ′ as new solution with probability P(T , s ′, s)9: end if10: Update(T )11: end while

Figura SA - Simulated Annealing algorithm

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 50

Recocido simulado (5)

implementación para el TSP [Jay93]. . .

I Solution Representation, Initial Solution, and Neighborhood for SAare same as that for LS described before.

I Termination criteria: The algorithm terminates if it meets any one ofthe following criteria:1. It reaches a pre-specified number of iterations.2. There is no improvement in the solution for last pre-specified number

of iterations.3. Fraction of neighbor solutions tried that is accepted at any

temperature reaches a pre-specified minimum.Usually, the maximum number of iterations is kept large enough toallow the process to terminate either using criterion 2 or 3.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 51

Búsqueda Tabú (TS-Tabu search)

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 52

Búsqueda Tabú (TS-Tabu search)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 53

Búsqueda Tabú(TS-Tabu search)

I Utiliza una búsqueda local con memoria a corto plazo que lepermite “escapar” de mínimos locales y evita ciclos.

I La memoria de corto plazo esta representada por la listaTabú la cual registra las últimas soluciones “visitadas” eimpide volver a ellas en los próximos movimientos.

I La lista Tabú se actualiza normalmente en forma FIFO.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 54

Búsqueda Tabú (2)

Algorithm TS

1: s ← GenerateInitialSolution()2: TabuList ← ∅3: while termination conditions not met do4: s ← BestImprovement(s,N(s) \TabuList)5: Update(TabuList)6: end while

Figura TS - Simple Tabu search algorithm

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 55

Búsqueda Tabú (3)

La lista tabú

La lista tabú

I El largo de la lista tabú controla la memoria del proceso debúsqueda. Una lista tabú corta, controla áreas reducidas delespacio de búsqueda y una larga, fuerza a una búsqueda enáreas mayores.

I El largo de la lista puede cambiar a lo largo del proceso debúsqueda.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 56

Búsqueda Tabú (4)

implementación más realista. . .

Implementación

I Por razones de eficiencia, no se guarda la solución completaen la lista tabú, sino una parte de sus atributos. Se defineuna lista tabú de condiciones.

I En este proceso se pierde información y buenas solucionespueden ser excluidas del conjunto permitido. Para reducireste problema, se define un criterio de aspiración quepermitiría a una solución estar dentro del conjunto desoluciones permitidas aún cuando figure en la lista tabú.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 57

Búsqueda Tabú (5)

implementación más realista. . .

Algorithm TS

1: s ← GenerateInitialSolution()2: InitializeTabuList(TL1, . . . ,TLr )3: k ← 04: while termination conditions not met do5: AllowedSet(s, k)← {z ∈ N(s) \ no tabu condition is violated or: at least one aspiration condition is satisfied}6: s ← BestImprovement(s,AllowedSet(s, k))7: UpdateTabuListAndAspirationConditions()8: k ← k + 19: end while

Figura TS - Tabu search algorithm

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 58

Búsqueda Tabú (6)

implementación realista para el TSP [Jay93]. . .

I Solution Representation, Initial Solution, and Neighborhood for TSare same as that for LS and SA described before.

I Tabu List: To prevent the process from cycling in a small set ofsolutions, some condition of recently visited solutions is stored in aTabu List, which prevents their occurrence for a limited period.I The condition used is a pair of nodes that have been exchanged

recently.I A Tabu structure stores the number of iterations for which a given

pair of nodes is prohibited from exchange.I Aspiration criterion: Tabus may sometimes be too powerful: it may,

therefore, become necessary to revoke tabus at times.I The criterion used 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 currentbest-known solution.

I Termination criteria: The algorithm terminates if a pre-specifiednumber of iterations is reached.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 59

GRASP-Greedy Randomized Adaptive Search Procedure

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 60

GRASP - (Greedy Randomized Adaptive Search Procedure)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 61

GRASP

I Clasificado como método de exploración local(ELS-Explorative local search)

I GRASP (Greedy Randomized Adaptive Search Procedure) esuna metaheurística que combina procedimientosconstructivos y de búsqueda local.

I GRASP es un procedimiento iterativo en dos fases:I una de construcción de la solución (heurística)I y otra de mejora.

I Heurística estática: asigna el score a los elementos solamenteantes de comenzar la construcción.

I En GRASP, la construcción de la solución se caracteriza porser dinámica y aleatoria.

I Los valores de la heurística son actualizados en cadaiteración.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 62

GRASP (2)

Algoritmo

Algorithm GRASP

1: while termination conditions not met do2: s ← ConstructGreedyRandomizedSolution()3: ApplyLocalSearch(s)4: MemorizedBestFoundSolution()5: end while

Figura GRASP - Greedy Randomized Adaptive Search Procedure

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 63

GRASP (3)

Construcción de una solución

Algorithm GRASP Construction

1: s ← ∅ // s denotes a partial solution in this case2: while termination conditions not met do3: RCL← GenerateRestrictedCandidateList()4: x ← SelectElementAtRandom(RCL)5: s ← s ∪ {x}6: UpdateGreedyFunction(s)7: end while

Figura Greedy Randomized Solution Construction

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 64

GRASP (4)

implementación para el TSP [Lee05]. . .

I Solution Representation and Neighborhood for GRASP are same asthat for LS, SA, and TS described before.

I Heuristic Construction:I Nearest Neighbor (NN) algorithm extension.I The r number of nearest unvisted cities from the last selected city

constitute the RCL.I The variable r controls the number of candidate cities, which are the

nearest cities. Thus, by adjusting the value of r , we can change theinitially constructed tour quality.

I Local Search:I 2-Opt local search and Path-relinking

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 65

Computación evolutiva (EC-Evolutionary Computation)

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 66

Computación evolutiva (EC-Evolutionary Computation)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 67

Computación evolutiva(EC-Evolutionary Computation)

I Amplio espectro de técnicas heurísticas que funcionan emulandomecanismos de evolución natural.

I Trabaja sobre una población de individuos o conjunto de soluciones,que evoluciona utilizando mecanismos de selección y construcción denuevas soluciones candidatas mediante recombinación decaracterísticas de las soluciones seleccionadas.

Etapas del mecanismo evolutivo:

1. Evaluación: función de fitness.2. Selección : de individuos adecuados (de acuerdo al fitness)

para la aplicación de operadores evolutivos.3. Aplicación de operadores evolutivos.4. Reemplazo o recambio generacional.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 68

Computación evolutiva (2)

I Proceso evolutivo: decide en cada iteración qué individuos entraránen la próxima población

I Operadores evolutivos: determinan el modo en que el algoritmoexplora el espacio de búsqueda

Algoritmos genéticos:

I Grado de adaptación de un individuo se evalúa a través de lafunción de fitness

I Cruzamiento es el operador principalI Mutación es un operador secundario, solamente para agregar

mayor diversidad al mecanismo de exploración

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 69

Algoritmos Genéticos(GA) - Genetic algorithm

Algorithm GA

1: P ← GenerateInitialPopulation()2: Evaluate(P)3: while termination conditions not met do4: P ′ ← Recombine(P)5: P ′′ ← Mutate(P ′)6: Evaluate(P ′′)7: P ← Select(P ∪ P ′′)8: end while

Figura GA - Genetic Algorithm

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 70

Algoritmos Genéticos (2)

implementación para el TSP. . .

I Solution Representation for GA is the same as that for LS, SA, TS,and GRASP described before.

I Recombination:1. Copy first half from Parent 12. Process Parent 2:

I Start at beginning of Parent 2I For each city not yet in Offspring 1, append it to Offspring 1

3. Example:Parent1: [8 0 7 2 10 5 4 1 9 3 6] Parent2: [9 10 5 3 2 8 4 1 7 0 6](recombine, split after 5th city)Offspring1 [8 0 7 2 10 9 5 3 4 1 6] Offspring2 [9 10 5 3 2 8 0 7 4 1 6]

I Mutation: The aim of mutation is to introduce perturbation, thusproviding diversification. Possibilities include:I Swap the positions of two adjacent citiesI Swap the positions of two citiesI Relocate a city to another position

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 71

Colonias de Hormigas (ANT-Ant colony optimization)

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 72

Colonias de Hormigas (ANT-Ant colony optimization)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 73

Colonias de Hormigas(ANT-Ant colony optimization)

I Heurísticas que se basan en imitar el comportamiento de lashormigas.

I Si bien cada hormiga tiene individualmente capacidadesbásicas, la colonia en conjunto logra un comportamientointeligente.

I A pesar de ser insectos casi ciegos logran encontrar el caminomás corto entre el hormiguero y una fuente de comida yregresar, en base a una comunicación entre ellas de origenquímico que se potencia con la presencia simultánea demuchas hormigas.

I Comunicación en base a feromonas, que dejan un “rastro”que sirve de referencia a otras hormigas.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 74

Colonias de Hormigas (2)

Debido a la evaporación constante de la feromona, con el tiempose elige el camino más corto.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 75

Colonias de Hormigas (3)

Algoritmo

Algorithm ANT

1: InitializePheromoneValues()2: while termination conditions not met do3: for all ants a ∈ A do4: sa ← ConstructSolution(τ, η)5: end for6: UpdateOnlineDelayedPheromoneUpdate()7: end while

Figura ANT-Ant System

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 76

Colonias de Hormigas (4)

Algoritmo mejorado

Algorithm ANT

1: while termination conditions not met do2: ScheduleActivities3: ManageAntsActivity()4: EvaporatePheromone()5: DaemonActions() // optional6: end ScheduleActivities7: end while

Figura ANT-Ant colony optimization

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 77

Colonias de Hormigas (5)

implementación para el TSP. . .

I Solution Representation a travel in the graph G = (cities, edges).I Ants walk in the graph, pheromone represents the use of a given

edge. Therefore there is a different pheromone information τij foreach edge (i , j)

I Pheromone is usually initialised to “a small constant value”I Construction heuristic: Nearest-Neighbour heuristic, modified to

include randomness and a pheromone bias:I We choose to go from city i to city j randomly with a bias:

I If cij is low, then j should have more chances to be selectedI If τij is high, then j should have more chances to be selectedI Only cities not yet in the tour are considered

I Formally, roulette wheel with the values sij =τα

ij

cβij

I Pheromone updating: at each iteration, some proportion of thepheromone disappears (traditional function by Dorigo et al.)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 78

Resumen

Contexto

HeurísticasDefiniciónEjemplo

MetaheurísticasGeneralBúsqueda local (LS-Local Search)Recocido simulado (SA-Simulated Annealing)Búsqueda Tabú (TS-Tabu search)GRASP-Greedy Randomized Adaptive Search ProcedureComputación evolutiva (EC-Evolutionary Computation)Colonias de Hormigas (ANT-Ant colony optimization)

Resumen

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 79

Intensificación y Diversificación

Intensificación y Diversificación

I Cada metaheurística utiliza una estrategia distinta paraexplorar el espacio

I La estrategias de búsqueda se diseńan balanceando estática odinámicamente el aprovechamiento de la experienciaacumulada de búsqueda (intensificación) y la exploración delespacio de búsqueda (diversificación)

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 80

Intensificación y Diversificación (2)

Todas las metaheurísticas presentan un compromiso entredos mecanismos:

I Diversificación ∼ exploración globalI Intensificación ∼ exploración local

Mecanismos de intensificación/diversificación:

I básicos o intrínsecos,I especiales o estratégicos.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 81

Intensificación/Diversificación (3)

Básicos

Recocido simulado (M/S/1):I Intensificación: búsqueda localI Balance dinámico controlado a través del parámetro T.I Inicialmente alta diversificación y baja intensificación, al final del

algoritmo se invierte relación

Búsqueda tabú (A/N/1):I Intensificación: búsqueda local y función de aspiraciónI Diversificación: a través de la o las listas tabú.I Balance estático: a través del tamańo de la lista tabú. Listas tabú

cortas: gran intensificación poca diversificación, listas largas a lainversa.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 82

Intensificación/Diversificación (4)

Básicos

GRASP (A/S/1):I Intensificación: búsqueda local en la fase de mejora y largo de la lista

restringida de candidatos (RCL)I Diversificación: implementada a través de la lista restringida de

candidatosI Balance estático: determinado por el largo de la lista restringida de

candidatosI Si la RCL es de largo 1, alta intensificación, a medida que aumenta

su largo, aumenta la divesificación ya que la solución inicial para labúsqueda local se extrae aleatoriamente de la RCL

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 83

Intensificación/Diversificación (5)

Básicos

Computación evolutiva (A/S/P):I Intensificación: a través del operador de selección que concentra la

búsqueda en algunas áreas.I Diversificación: en forma natural, a través de las poblaciones, a

través de operadores: recombinación y modificación.I Balance dinámico: Inicialmente alta diversificación y baja

intensificación, al final del algoritmo se invierte relación.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 84

Intensificación/Diversificación (6)

Básicos

Colonias de hormigas (A/S/P):I Intensificación: a través de la feromona y las reglas de actualización

que “refuerzan” las buenas soluciones.I Diversificación: implementado a través del mecanismo probabilístico

de construcción de soluciones.I Balance dinámico: Inicialmente alta diversificación y baja

intensificación, al final del algoritmo se invierte relación

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 85

Intensificación/Diversificación (7)

Ejemplo de Especiales

I SA: técnicas de recalentado y posterior enfriamiento (enfriamientono monótono)

I TS: cambios dinámicos en el largo de la lista tabú (Reactive TabuSearch). El largo de la lista varía según las propiedades de latrayectoria en el espacio de búsqueda.

I EC: no son muy comunes estos mecanismos. Algunas aplicacionescambian el operador de selección cuando el sistema esta próximo ala convergencia (equivalente a reiniciar el algoritmo).

I ANT: Al igual que los EC, no es usual interrumpir el proceso deconvergencia. En los Ant Colony System , se usan mecanismos extrade diversificación durante la fase de construcción de la solución.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 86

Intensificación/Diversificación (8)

Básicos - Resumen

Cuadro. Intensificación/Diversificación para cada Metaheurística

Intensificación Diversificación

SA búsqueda local básica movimientos que empeoransolución (T )

TS búsqueda local básica lista tabú(memoria corto plazo)

ELS (GRASP) búsqueda local básica criterio de aceptacióny perturbación

EC (AG) selección operaciones de modificación(ej. mutación)

ANT reglas de actualización reglas de construcciónde la feromona probabilística

Cuadro

Intensificación Diversificación

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 87

Glosario

I combinatorial problemI NP problemI heuristicI metaheuristicI Local SearchI Simulated AnnealingI Tabu searchI GRASP-Greedy Randomized Adaptive Search ProcedureI Evolutionary ComputationI Genetic AlgorithmI Ant colony optimizationI Intensification and Diversification

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 88

Bibliografía

F. Bock.An algorithm for solving traveling-salesman and related network optimization problems.Unpublished manuscript associated with talk presented at the 14th ORSA NationalMeeting., 1958.

G. A. Croes.A method for solving traveling-salesman problems.OPERATIONS RESEARCH, 6:791–812, 1958.

Sachin Jayaswal.A Comparative Study of Tabu Search and Simulated Annealing for Traveling SalesmanProblem.Technical report, Department of Management Sciences, University of Waterloo, 1993.

Seung Ho Lee.Greedy randomized adaptive search procedure for traveling salesman problem.In Texas A&M University Master Thesis, 2005.

S. Lin.Computer solutions of the traveling salesman problem.Technical report, Department of Management Sciences, University of Waterloo, 1965.

C. E. Miller, A. W. Tucker, and R. A. Zemlin.Integer programming formulations and traveling salesman problems.ACM, 7:326–329, 1960.

Optimización Continua y Aplicaciones (OCA) Metaheurísticas para Optimización 89