Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metaheurísticos
Francisco Herrera
Grupo de Investigación
“Soft Computing and Intelligent Information Systems”
1
Introducción a los Algoritmos
Metaheurísticos
2
Introducción a los Algoritmos
Metaheurísticos
6
Resolución de Problemas Mediante
Algoritmos de Búsqueda: Introducción
7
Resolución de Problemas Mediante
Algoritmos de Búsqueda: Introducción
10
Funcionamiento de las Metaheurísticas
11
Funcionamiento de las Metaheurísticas
Búsqueda local
Explotación
Intensificación
Búsqueda global
p
Exploración
Diversificación
12
Funcionamiento de las Metaheurísticas
13
Clasificación de las Metaheurísticas
Uso de memoria
Fuente de inspiración
14
Clasificación de las Metaheurísticas
15
Clasificación de las Metaheurísticas
16
Clasificación de las Metaheurísticas
Basadas en trayectorias
y ((la heurística subordinada es
un algoritmo de búsqueda local que sigue una trayectoria
en el espacio de búsqueda. Parten de una solución inicial e
iterativamente tratan de reemplazarla por otra solución de
con mejor calidad): Búsqueda Local, Enfriamiento
Simulado, Búsqueda Tabú, BL Iterativa, ...
17
Clasificación de las Metaheurísticas
Basadas en trayectorias
y ((la heurística subordinada es
un algoritmo de búsqueda local que sigue una trayectoria
en el espacio de búsqueda. Parten de una solución inicial e
iterativamente tratan de reemplazarla por otra solución de
con mejor calidad): Búsqueda Local, Enfriamiento
Simulado, Búsqueda Tabú, BL Iterativa, ...
18
Clasificación de las Metaheurísticas
Basadas en trayectorias
global
local
19
Clasificación de las Metaheurísticas
20
Clasificación de las Metaheurísticas
Basadas en poblaciones
I am at the
I am not at the top. top
My high is better! Height is ...
I will continue
21
Clasificación de las Metaheurísticas
Basadas en poblaciones
22
Clasificación de las Metaheurísticas
23
Clasificación de las Metaheurísticas
24
Ejemplo: El problema del viajante de comercio
17! (3.5568734e14)
soluciones posibles
p
Solución óptima:
Coste=226.64
26
Viajante de Comercio
It
Iteración:
ió 0 Costo:
C t 403.7
403 7 Iteración: 25 Costo: 303.86
303 86
It
Iteración:
ió 50 Costo:
C t 293.6
293 6 It
Iteración:
ió 100 Costo:
C t 256.55
256 55
Solución óptima: 226.64
28
Viajante de Comercio
Iteración:
It ió 250 SSolución
l ió
Iteración: 200 Costo: 231.4
óptima: 226.64
29
Ejemplo: El problema del viajante de comercio
30
Aplicaciones
Control de procesos
Clasificación químicos
Optimización
estructural Aprendizaje
Generación de
trayectorias
Planificación de
sistemas de Producción
31
Aplicaciones
DOMINIOS DE APLICACIÓN
O ti i
Optimización
ió combinatoria
bi t i
Optimización en ingeniería
Planificación y control
Vida artificial
Bioinformática
…. 32
Lecturas
http://sci2s.ugr.es/docencia/metaheuristicas.php 33
Introducción a los Algoritmos
Metaheurísticos
Término “LOCAL”
36
Búsqueda Local y Estructura de Entorno
Término “LOCAL”
N (σ 1 ) N (σ 2 )
N (σ 0 ) N (σ 4 )
σ1 σ2
σ3 σ4
σ0
Solución inicial
Ó i
Óptimo l l/ l b l
local/global
N (σ 3 )
37
Búsqueda Local y Estructura de Entorno
Estructura de Entorno
38
Búsqueda Local y Estructura de Entorno
39
Búsqueda Local y Estructura de Entorno
Aceptación de soluciones mejores que la actual
Aceptación de soluciones
peores que la actual
41
Búsqueda Local y Estructura de Entorno
Aceptación de soluciones mejores que la actual
Aceptación de soluciones
peores que la actual
44
Características de Diferentes Algoritmos
de Búsqueda Basada en Trayectorias
SOLUCIONES: 3 opciones para salir de los óptimos locales
45
Búsqueda
q Basada en Múltiples
p Trayectorias:
y
Modelos Multiarranque
Modelos Multiarranque
Métodos constructivos de la solución inicial
• Construcción greedy: Algoritmos GRASP
• Algoritmos Basados en Colonias de Hormigas: ACO
Hibridaciones
Hib id i entre
t técnicas
té i poblacionales
bl i l ded exploración/
l ió /
combinación de soluciones y métodos de búsqueda local
• Algoritmos Meméticos / Algoritmos Genéticos con BL
• Scatter Search (Búsqueda Dispersa)
46
Búsqueda Local Iterativa: ILS
Algoritmo ILS
47
Búsqueda Local Iterativa: ILS
H.R. Lourenço, O.C. Martin, T. Stützle, Iterated Local Search. En: F.Glover, G.
Kochenberger (Eds.), Handbook of Metaheuristics. Kluwer Academic Publishers,
2003, pp. 321-353.
H.H. Hoos, T. Stützle. Stochastic Local Search. Morgan Kaufmann, 2004.
48
Búsqueda Local Iterativa: ILS
Comienzo-ILS
So Generar-Solución-Inicial
S Búsqueda Local (So)
Repetir
S’ Modificar (S, historia) %Mutación
S’’ Búsqueda Local (S
S (S’))
S Criterio-Aceptación (S, S’’, historia)
Actualizar ((S, Mejor_Solución)
j _ )
Hasta (Condiciones de terminación)
Devolver Mejor_Solución
Fin-ILS
Modelo General del Algoritmo ILS 50
Lecturas
K.A. Dowsland, B.A. Díaz. Diseño de Heurísticas y Fundamentos del Recocido Simulado.
Revista Iberoamericana de Inteligencia Artificial 19 (2003) 93-102.
B. Suman, P. Kumar. A survey of simulated annealing as a tool for single and
multiobjective optimization.
optimization Journal of the Operational Research Society 57:10 (2006)
1143-1160.
F. Glover, B. Melián. Búsqueda Tabú. Revista Iberoamericana de Inteligencia Artificial 19
(2003) 29-48.
M. Gendreau. Chapter 2: An Introduction to Tabu Search. In: F. Glover, G.A.
Kochenberber, (Eds.). Handbook of Metaheuristics. Kluwer Academics. (2003) 37-54.
M.G.C. Resende, C.S. Ribeiro. Chapter 8: Greedy Randomized Adaptive Search
Procedure. In: F. Glover,, G.A. Kochenberber,, ( (Eds.).
) Handbook of
Metaheuristics. Kluwer Academics. (2003) 221-249.
R. Martí. Chapter 12: Multi-Start Methods. In: F. Glover, G.A. Kochenberber,
(Eds.). Handbook of Metaheuristics. Kluwer Academics. (2003) 355-368.
H L Lourenço,
H.L. Lourenço O.C.
O C Martin,
Martin T.
T Stützle.
Stützle Chapter 11: Iterated Local Search.
Search In: F. F
Glover, G.A. Kochenberber, (Eds.). Handbook of Metaheuristics. Kluwer
Academics. (2003) 321-353.
P. Hansen, N. Mladenovic. Chapter 6: Variable Neighborhood Search. In: F.
Gl
Glover, G A Kochenberber,
G.A. K h b b (Ed ) Handbook
(Eds.). H db k off Metaheuristics.
M t h i ti Kl
Kluwer
Academics. (2003) 145-184.
http://sci2s.ugr.es/docencia/metaheuristicas.php 51
Introducción a los Algoritmos
Metaheurísticos
Definición Inspiración
Swarm Biológica
Intelligence Sociedades de
Insectos
Contextualización
Té i
Técnicas C
Comentarios
t i
Finales
53
Introducción: Swarm Intelligence
sociedades de insectos
(bees, wasps, ants, termites)
(abejas avispas,
(abejas, avispas hormigas,
hormigas termitas)
flocks of birds
(bandadas de aves)
schools
h l off fi
fish
h
(bancos de peces) herds of mammals
(manadas de mamíferos) 55
De las Sociedades de Insectos
a los Sistemas Inteligentes de Enjambre
Insectos
56
De las Sociedades de Insectos
a los Sistemas Inteligentes de Enjambre
Comportamiento
p emergente
g
Las colonias de insectos llevan a cabo actuaciones de nivel
p j de forma inteligente,
complejo g , flexible y fiable,, actuaciones
que no serían factibles si tuviesen que ser realizadas por
un insecto de forma individual (éstos son no inteligentes,
no fiables, simples).
Los insectos siguen reglas simples, y utilizan comunicación
local simple
La estructura global (nido) emerge desde las acciones de
los insectos (las cuales son no fiables atendidas
individualmente)
57
De las Sociedades de Insectos
a los Sistemas Inteligentes de Enjambre
Cooperación de la
Abejas colmena
Regulan la temperatura
de la colmena
Eficiencia vía
especialización:
p división
de la labor en la colonia
Comunicación: Las
fuentes de comida son
explotadas de acuerdo a
la calidad y distancia
desde la colmena
58
De las Sociedades de Insectos
a los Sistemas Inteligentes de Enjambre
59
De las Sociedades de Insectos
a los Sistemas Inteligentes de Enjambre
60
De las Sociedades de Insectos
a los Sistemas Inteligentes de Enjambre
Características de un Enjambre
Flexible
Puede responder a cambios externos
Percepción del entorno (sentidos)
No existe un modelo explícito de entorno/abilidad para
cambiarlo
62
De las Sociedades de Insectos
a los Sistemas Inteligentes de Enjambre
Resumen
La complejidad y sofisticación de la auto
auto-organización
organización se
lleva a cabo sin un lider/jefe de la sociedad
particle
ti l swarm optimization
ti i ti – PSO
Optimización basada en nubes de partículas
Conjunto
C j t de d técnicas
té i inspiradas
i i d en ell comportamiento
t i t de d las
l bandadas
b d d
de aves o bancos de peces
ant colony optimization – ACO
Optimización basada en colonias de hormigas
Conjunto
j de técnicas inspiradas
p por
p las actividades de una colonia de
hormigas
64
Ant Colony Optimization
65
Ant Colony Optimization
Experimento con Hormigas reales. Como encuentran el
camino mínimo (159 segundos)
66
Particle Swarm Optimization
67
Particle Swarm Optimization
25
Particle Swarm
Optimization (PSO) aplica 20
conceptos de interacción
pbest
social a la resolución de
problemas de 15
búsqueda/optimización.
v(k)
10 v(k+1)
En PSO
PSO, un enjambre de
n individuos se comunica
directa o indirectamente 5 gbest
con otros vía
í las
l
direcciones de búsqueda. 5 10 15 20 25
68
Particle Swarm Optimization
25
Las Particulas pueden ser
simples agentes que
vuelan
l a través
t é del
d l 20
espacio de búsqueda y pbest
almacenan (y posible-
mente comunican) la 15
mejor solución que han v(k)
descubierto. v(k+1)
10
70
Comentarios Finales
SI
MAS
AI
AI - Artificial Intelligence
MAS - Multi Agent Systems
SI - Swarm Intelligence
72
Comentarios Finales
Bibliografía
http://sci2s.ugr.es/docencia/metaheuristicas.php 74
Introducción a los Algoritmos
Metaheurísticos
Introducción
Evolución Natural
Evolución Artificial
Co te to
Contexto
Comentarios Finales
76
INTRODUCCIÓN
COMPUTACION EVOLUTIVA
77
EVOLUCIÓN NATURAL
La evolución
L l ió es un proceso que
opera sobre los cromosomas
más que sobre las estructuras
de la vida que están
codificadas en ellos.
79
EVOLUCIÓN NATURAL
80
EVOLUCIÓN NATURAL
81
EVOLUCIÓN ARTIFICIAL
LA METÁFORA
EVOLUCIÓN RESOLUCIÓN
DE PROBLEMAS
82
EVOLUCIÓN
Ó ARTIFICIAL
t reproducción t+1
selección
RECOM
OP
PTATIVA
MBINACIÓÓN
mutación
recombinación
LOS INGREDIENTES
83
EVOLUCIÓN ARTIFICIAL
antes 1 1 1 1 1 1 1
después 1 1 1 0 1 1 1
gen mutado
La mutación suele ocurrir con probabilidad pm
para cada gen
EVOLUCIÓN ARTIFICIAL
Población: ...
Cada cromosoma se trocea en n partes las cuales
son recombinadas. (Ejemplo para n=1)
corte corte
padres
1 1 1 1 1 1 1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 1 1 1 1
descendientes
85
EVOLUCIÓN ARTIFICIAL
Selección
PADRES
Recombinación
El ciclo de
la Mutación
Evolución
POBLACIÓN
Reemplazamiento
DESCENDIENTES
86
EVOLUCIÓN ARTIFICIAL
Inventors of
Evolution
Estrategias de Evolución que enfatizan los Strategies
cambios de comportamiento al nivel de los
individuos. 1964, Technische Universität Berlin Hans-Paul Schwefel
Ing. Ingo Rechenberg
Bionics & Evolutiontechnique
Universität Dortmund Technical University Berlin
http://www.bionik.tu-berlin.de/
Algoritmos Meméticos
88
EVOLUCIÓN ARTIFICIAL
89
CONTEXTUALIZACIÓN
COMPUTACIÓN INTELIGENTE
TAXONOMÍA
COMPUTATIONAL
INTELLIGENCE
or
SOFT COMPUTING
COMPORTAMIENTO
Buena
B actuación
t ió a un costo
t aceptable
t bl en una
amplia variedad de problemas
Paralelismo intrínseco
Superioridad
p con respecto
p a otras técnicas en
problemas complejos:
con muchos parámetros
relación compleja entre parámetros
muchos óptimos
p (locales)
( )
91
COMENTARIOS FINALES
VENTAJAS
Sin restricciones
Si ti i sobre
b ell espacio
i de
d soluciones
l i
Amplia aplicabilidad
Bajo
B j costet en desarrollo
d ll
Fáciles de hibridar con otras técnicas
Soluciones
S interpretables
Se pueden ejecutar interactivamente
92
COMENTARIOS FINALES
DESVENTAJAS
Tienen
e e muchos
uc os pa
parámetros
á et os a ajusta
ajustar
Computacionalmente costosos (lentos)
93
COMENTARIOS FINALES
RESUMEN
D.B.
D B FFogell (Ed.)
(Ed )
Evolutionary Computation. The Fossil Record.
(Selected Readings on the
Historyy of Evolutionary
y Computation).
p )
IEEE Press, 1998.
95
Lecturas
Thomas Bäck, Ulrich Hammel, Hans-Paul Schwefel. Evolutionary Computation: Comments
on the History and Current State. IEEE Transactions on Evolutionary Computation 1:1
(1997) 3-17.
C Reeves.
C. Reeves Chapter 3: Genetic Algorithms.
Algorithms In: F.F Glover,
Glover G.A.
G A Kochenberber,
Kochenberber (Eds.).
(Eds )
Handbook of Metaheuristics. Kluwer Academics. (2003) 55-82.
F. Herrera, M. Lozano, A.M. Sánchez. A Taxonomy for the Crossover Operator for Real-
Coded Genetic Algorithms: An Experimental Study. International Journal of Intelligent
Systems 18 (2003) 309-338R.
309 338R
Storn, K. Price. Differential Evolution – A Simple and Efficient Heuristic for Global
Optimization over Continuous Spaces. Journal of Global Optimization 11 (1997) 341-359.
http://sci2s.ugr.es/docencia/metaheuristicas.php 96
Introducción a los Algoritmos
Metaheurísticos
Algoritmos
g Metaheurístico
mportam
Genérico
Com
Algoritmos Especializados
D i i de
Dominio d Problemas
P bl
98
Limitaciones de los Algoritmos
g de
Metaheurísticos
N Free
No F Lunch
L h Th
Theorem (1995):
(1995)
"...for any algorithm, any elevated performance over one class of problems is
exactly paid for in performance over another class.“ Wolpert and Macready (1997)
E (c / f , m, a ) E (c / f , m, b)
f f
Implicaciones E (c / f , m, a ) E ( c / f , m, b)
de NFL (I)
f f
Superioridad del Algoritmo A
B
portamieento
+ =
Comp
100
Limitaciones los Algoritmos
g de
Metaheurísticos
A1 A1
A3 A2
A2
Com
A3
Dominio de Problemas
101
Limitaciones los Algoritmos
g de
Metaheurísticos
102
Limitaciones los Algoritmos
g de
Metaheurísticos
Algoritmos
g evolutivos son
buenos exploradores
Algoritmos de búsqueda
local son malos
exploradores
AEs Buspeda
p Local
Búsqueda Global Búsqueda Local
Fiabilidad
AM
AMs precisión
Balance entre
Búsqueda Global y Local
Robustos
(específicos para cada problema)
106
Algoritmos
g Híbridos: Poblaciones vs
Trayectorias
Algoritmos Meméticos
MUTACIÓN
Nuevo
Agente 1 A
Agente
t 1
Nuevo
Agente 2 A
Agente
t 2
107
Algoritmos
g Híbridos: Poblaciones vs
Trayectorias
Uso de Conocimiento:
Otras Hibridaciones
Algoritmos Meméticos
108
Algoritmos
g Híbridos: Poblaciones vs
Trayectorias
2. Mejorar Todas
Repetir hasta
h completar
l P
Actualizar
Actualizar R1
R2
Proceso de
P d 4. Seleccionar Todas
mejora es un optimizador local
109
Lecturas
P. Moscato, C. Cotta. Una Introducción a los Algoritmos Meméticos. Revista
Iberoamericana de Inteligencia Artificial 19 (2003) 131-148.
P. Moscato, C. Cotta. Chapter 5: A Gentle Introduction to Memetic Algorithms. In: F.
Glover G.A.
Glover, G A Kochenberber,
Kochenberber (Eds.).
(Eds ) Handbook of Metaheuristics.
Metaheuristics Kluwer Academics.
Academics
(2003) 105-144.
N. Krasnogor and J.E. Smith. A tutorial for competent memetic algorithms: model,
taxonomy and design issues. IEEE Transactions on Evolutionary Computation 9(5):474-
488 2005.
488, 2005
http://sci2s.ugr.es/docencia/metaheuristicas.php 110
Introducción a los Algoritmos
Metaheurísticos
Búsquedas
q basadas en trayectorias/entornos
y
112
Búsquedas Basadas en Trayectorias/Entornos
113
Búsquedas Basadas en Trayectorias/Entornos
114
Búsquedas Basadas en Trayectorias/Entornos
115
Búsquedas Basadas en Poblaciones
116
Introducción a los Algoritmos
Metaheurísticos
118
Di
Diversidad
id d vs. Convergencia
C i
Convergencia
Equilibrio
q D/C
Diversidad 119
Di
Diversidad
id d vs. Convergencia
C i
120
Problemas Multimodales
Técnica:
Té i Niching
Ni hi Genetic
G ti
Algorithms
121
P bl
Problemas M
Multiobjetivo
lti bj ti
Es decir,
decir una solución domina a otra si es mejor o igual en todos los objetivos
y al menos mejor en uno de ellos.
Todos los vectores de decisión que no son dominados por ningún otro vector
se llaman
ll pareto-optimales
t ti l o no-dominados.
d i d
Bibliografía
K. Deb, Multi-Objective Optimization using Evolutionary Algorithms. John Wiley &
Sons, 2001.
C.A. Coello, D.A. Van Veldhuizen, G.B. Lamont, Evolutionary Algorithms for
Solving Multi-Objective Problems. Kluwer Academic Pub., 2002. 122
P bl
Problemas M
Multiobjetivo
lti bj ti
x : vector solución
T(x)
Soluciones No-Dominadas
(Puntos de la Frontera
del Pareto)
Ob
Soluciones Dominadas
(punto interior)
Obj ti Q(x)
Objetivo Q( )
123
Algoritmos Metaheurísticos Paralelos
Bibliografía
g
E. Alba (Ed.), Parallel Metaheuristics. A New Class of
Algorithms. Wiley-Interscience, 2005.
124
Coevolución
S
Species
i 1 S
Species
i 2
Evolutionary Evolutionary
Algorithm Algorithm
Population Population
1 2
1 2
1 2
1
2
1 1 2
Cooperators Cooperators
1 ... 2 ...
Individual Individual
to be to be
evaluated evaluated
125
Lecturas
C.A. Coello, D.A. Van Veldhuizen, G.B. Lamont, Evolutionary Algorithms for Solving Multi-
Objective Problems. Kluwer Academic Publishers, 2007.
E. Alba (Ed.), Parallel Metaheuristics. A New Class of Algorithms. Wiley-Interscience,
2005.
2005
B. Sareni and L. Krähenbühl. Fitness Sharing and Niching Methods Revisited. IEEE
Transactions on Evolutionary Computation, vol. 2, No. 3, September 1998, pp. 97-106.
E. Pérez,, F. Herrera and C. Hernández. Finding g multiple
p solutions in jjob shopp scheduling
g
by niching genetic algorithms. Journal of Intelligent Manufacturing 14, 2003, pp. 323-
339.
K. Deb, A. Pratap, S. Agarwal and T. Meyarivan. A Fast and Elitist Multiobjective Genetic
Algorithm: NSGA
NSGA-IIII. IEEE Transactions on Evolutionary Computation 6:2 (2002) 182 182-197
197.
E. Zitzler, L. Thiele, M. Laumanns, C.M. Fonseca, and V. Grunert da Fonseca. Performance
Assessment of Multiobjective Optimizers: An Analysis and Review. IEEE Transactions on
Evolutionary Computation 7:2, April, 2003, pp. 117 - 132.
M Potter
M. P tt and d K.
K D.
D Jong.
J C
Cooperative
ti coevolution:
l ti an architecture
hit t for
f evolving
l i coadapted
d t d
subcomponents. Evolutionary Computation, 8(1):1–29, 2000.
http://sci2s.ugr.es/docencia/metaheuristicas.php
126
Introducción a los Algoritmos
Metaheurísticos
http://sci2s.ugr.es/docencia/metaheuristicas.php 129
Extended Deadline: December 10, 2009