tema 4: programación genética · 2020. 2. 27. · tema 1. introducción a las metaheurísticas...
TRANSCRIPT
![Page 1: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/1.jpg)
1
METAHEURÍSTICAS 2019 - 2020
Tema 1. Introducción a las Metaheurísticas
Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones
Tema 3. Metaheurísticas Basadas en Poblaciones
Tema 4: Algoritmos Meméticos
Tema 5. Metaheurísticas Basadas en Trayectorias
Tema 6. Metaheurísticas Basadas en Adaptación Social
Tema 7. Aspectos Avanzados en Metaheurísticas
Tema 8. Metaheurísticas Paralelas
![Page 2: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/2.jpg)
2
(Tema 2) Problemas de la Búsqueda Local. Trayectorias versus Poblaciones
Suele caer en óptimos locales, que a veces están
bastante alejados del óptimo global del problema
Se podría tener un modelo que seleccione soluciones, opere con ellas y puedan ser
reinsertadas en la población dando lugar a una nueva población. Podemos imitar a la genética,
cómo se combinan cromosomas (algoritmos genéticos)
![Page 3: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/3.jpg)
3
1. INTRODUCCIÓN A LA COMPUTACIÓN EVOLUTIVA
2. ALGORITMOS GENÉTICOS
3. ALGORITMOS GENÉTICOS. EXPLORACIÓN VS EXPLOTACIÓN
4. CONCLUSIONES
METAHEURÍSTICAS
TEMA 3. METAHEURÍSTICAS BASADASEN POBLACIONES
BIBLIOGRAFÍAD.B. Fogel (Ed.). Evolutionary Computation. The Fossil Record. (Selected Readings on the History of Evolutionary Computation). IEEE Press, 1998.A.E. Eiben, J.E. Smith. Introduction to Evolutionary Computation. Springer Verlag 2003.X-S. Yang, nature inspired metaheuristic algorithms, Luniver Press, 2010
Parte I:
![Page 4: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/4.jpg)
4
1. ALGORITMOS EVOLUTIVOS PARA OPTIMIZACIÓN CONTINUA
2. ALGORITMOS GENÉTICOS PARA OPT. CONTINUA
3. EVOLUCIÓN DIFERENCIAL
4. ESTRATEGIAS DE EVOLUCIÓN
5. NUEVOS MODELOS BIOINSPIRADOS PARA OPTIMIZACIÓN DE PARÁMETROS
METAHEURÍSTICAS
TEMA 3. METAHEURÍSTICAS BASADASEN POBLACIONES
BIBLIOGRAFÍAD.B. Fogel (Ed.). Evolutionary Computation. The Fossil Record. (Selected Readings on the History of Evolutionary Computation). IEEE Press, 1998.A.E. Eiben, J.E. Smith. Introduction to Evolutionary Computation. Springer Verlag 2003.
Parte II:
![Page 5: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/5.jpg)
5
1. INTRODUCCIÓN A LA COMPUTACIÓN EVOLUTIVA
2. ALGORITMOS GENÉTICOS
3. ALGORITMOS GENÉTICOS. EXPLORACIÓN VS EXPLOTACIÓN
4. CONCLUSIONES
METAHEURÍSTICAS
TEMA 3. METAHEURÍSTICAS BASADASEN POBLACIONES
BIBLIOGRAFÍAD.B. Fogel (Ed.). Evolutionary Computation. The Fossil Record. (Selected Readings on the History of Evolutionary Computation). IEEE Press, 1998.A.E. Eiben, J.E. Smith. Introduction to Evolutionary Computation. Springer Verlag 2003.
Parte I:
![Page 6: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/6.jpg)
6
1. INTRODUCCIÓN
2. EVOLUCIÓN NATURAL
3. EVOLUCIÓN ARTIFICIAL
4. CONTEXTO
5. APLICACIONES
6. CONCLUSIONES
METAHEURÍSTICAS TEMA 3. METAHEURÍSTICAS BASADAS
EN POBLACIONES
INTRODUCCIÓN A LA COMPUTACIÓN EVOLUTIVA
![Page 7: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/7.jpg)
7
INTRODUCCIÓN
Está compuesta por modelos de evoluciónbasados en poblaciones cuyos elementosrepresentan soluciones a problemas.
La simulación de este proceso en un ordenador resultaser una técnica de optimización probabilística, que confrecuencia mejora a otros métodos clásicos enproblemas difíciles.
Enlace: http://www.aic.nrl.navy.mil/galist/
COMPUTACION EVOLUTIVA
![Page 8: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/8.jpg)
8
EVOLUCIÓN NATURAL
En la naturaleza, los procesos evolutivos
ocurren cuando se satisfacen las siguientes condiciones:
Una entidad o individuo tiene la habilidad de reproducirse.
Hay una población de tales individuos que son capaces dereproducirse.
Existe alguna variedad, diferencia, entrelos individuos que se reproducen.
Algunas diferencias en la habilidad parasobrevivir en el entorno están asociadascon esa variedad.
![Page 9: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/9.jpg)
9
Los mecanismos que conducen estaevolución no son totalmente conocidos,pero sí algunas de sus características, queson ampliamente aceptadas:
La evolución es un proceso queopera sobre los cromosomas
más que sobre las estructurasde la vida que estáncodificadas en ellos.
EVOLUCIÓN NATURAL
![Page 10: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/10.jpg)
10
La selección natural es el enlace entre los cromosomas y laactuación de sus estructuras decodificadas.
El proceso de reproducción es el punto en el cual laevolución toma parte, actúa.
La evolución biológica no tiene memoria.
Darwin, C. (1859). On the Origin of Species by Means of Natural Selection or the Preservations of Favored Races in the Struggle for Life. London: John Murray.
EVOLUCIÓN NATURAL
![Page 11: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/11.jpg)
11
EVOLUCIÓN NATURAL
![Page 12: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/12.jpg)
12
EVOLUCIÓN ARTIFICIAL
LA METÁFORA
EVOLUCIÓN
Individuo
Adaptación
Entorno
RESOLUCIÓN
DE PROBLEMAS
Solución Candidata
Calidad
Problema
![Page 13: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/13.jpg)
13
EVOLUCIÓN ARTIFICIAL
t t + 1
mutaciónrecombinación
reproducción
selección
LOS INGREDIENTES
RE
CO
MB
INA
CIÓ
NO
PT
AT
IVA
![Page 14: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/14.jpg)
14
Imagen clásica (John Holland) que introduce el operador de cruce (recombinación)
EVOLUCIÓN ARTIFICIAL
Creditos: Genetic Algorithms, Scientific American, July 1992, 66-72.
![Page 15: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/15.jpg)
15
Ejemplo: Recombinación para representación binaria
Población: . . .
Cada cromosoma se trocea en n partes las cuales son recombinadas. (Ejemplo para n=1)
1 1 1 1 1 1 1 0 0 0 0 0 0 0padres
corte corte
1 1 1 0 0 0 0 0 0 0 1 1 1 1
descendientes
EVOLUCIÓN ARTIFICIAL
![Page 16: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/16.jpg)
Ejemplo: Mutación para representación binaria
1 1 1 1 1 1 1antes
1 1 1 0 1 1 1después
La mutación suele ocurrir con probabilidad pm
para cada gen
gen mutado
EVOLUCIÓN ARTIFICIAL
![Page 17: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/17.jpg)
17
Recombinación
Mutación
Selección
Reemplazamiento
EVOLUCIÓN ARTIFICIAL
PADRES
POBLACIÓN
DESCENDIENTES
El ciclo de la
Evolución
![Page 18: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/18.jpg)
Búsqueda basada en una trayectoria
local
global
EVOLUCIÓN ARTIFICIAL (Trayectorias vs poblaciones)
![Page 19: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/19.jpg)
Búsqueda basada en poblaciones
I am not at the top.
My high is better!
I am at the
top
Height is ...
I will continue
EVOLUCIÓN ARTIFICIAL (Trayectorias vs poblaciones)
![Page 20: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/20.jpg)
Búsqueda basada en poblaciones
EVOLUCIÓN ARTIFICIAL (Trayectorias vs poblaciones)
![Page 21: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/21.jpg)
21
EVOLUCIÓN ARTIFICIAL
Existen cuatro paradigmas básicos:
Algoritmos Genéticos que utilizan operadores genéticos sobre cromosomas. 1975, Michigan University
Estrategias de Evolución que enfatizan los cambios de comportamiento al nivel de los individuos. 1964, Technische Universität Berlin
Programación Evolutiva que enfatizan los cambios de comportamiento al nivel de las especies. 1960-1966, Florida
Programación Genética que evoluciona expresiones representadas como árboles.1989, Stanford University
John HollandInventor of genetic algorithmsProfessor of CS and Psychology at the U. of Michigan.
Ing. Ingo RechenbergBionics & Evolutiontechnique Technical University Berlinhttp://www.bionik.tu-berlin.de/
Hans-Paul SchwefelUniversität Dortmund
Lawrence J. Fogel,Natural Selection, Inc.
Inventor of Evolutionary Programming
John KozaStanford University. Inventor of Genetic
Programming
Inventors of Evolution Strategies
![Page 22: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/22.jpg)
22
EVOLUCIÓN ARTIFICIAL
Existen otros múltiples Modelos de Evolución dePoblaciones:
EDA: Estimation Distribution Algorithms (Algoritmosbasados en Estimación de Distribuciones)
DE: Differential Evolution (Evolución Diferencial)
Algoritmos Meméticos
Scatter Search – Búsqueda Dispersa
Firefly Algorithm, Bat algorithm,Cuckoo algorithm, Bee algorithms, …
![Page 23: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/23.jpg)
23
Enfoques para la resolución de problemas:
Técnicas clásicas
Técnicas ExactasTécnicas
Aproximadas
No guiadasGuiadas
Técnicas heurísticas modernas
Basadas en búsqueda local
Basadas en búsqueda evolutiva
CONTEXTUALIZACIÓN
![Page 24: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/24.jpg)
24
INTELIGENCIA COMPUTACIONAL
TAXONOMÍA
Neural
Networks
Evolutionary
Programming
Evolution
Strategies
Genetic
Algorithms
Genetic
Programming
Evolutionary
Algorithms
Fuzzy
Systems
COMPUTATIONAL
INTELLIGENCE
or
SOFT COMPUTING
CONTEXTUALIZACIÓN
Biologically Inspired Algorithms
Natural Computing
![Page 25: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/25.jpg)
25
Optimización estructural
Generación de trayectorias
1 2 m1n
Planificación de sistemas de Producción
Diseño de circuitos VLSI
Aprendizaje
Clasificación
Control de procesos químicos
APLICACIONES
![Page 26: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/26.jpg)
26
DOMINIOS DE APLICACIÓN
Optimización combinatoria
Optimización en ingeniería
Modelado e identificación de sistemas
Planificación y control
Aprendizaje y ciencia de datos
Vida artificial
….
APLICACIONES
![Page 27: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/27.jpg)
27
CONCLUSIONES
COMPORTAMIENTO
Buena actuación a un costo aceptable en una
amplia variedad de problemas
Paralelismo intrínseco
Superioridad con respecto a otras técnicas en
problemas complejos:
con muchos parámetros
relación compleja entre parámetros
muchos óptimos (locales)
![Page 28: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/28.jpg)
28
CONCLUSIONES
VENTAJAS
Sin restricciones sobre el espacio de soluciones
Amplia aplicabilidad
Bajo coste en desarrollo
Fáciles de hibridar con otras técnicas
Soluciones interpretables
Se pueden ejecutar interactivamente
Proporcionan un conjunto de soluciones
![Page 29: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/29.jpg)
29
CONCLUSIONES
DESVENTAJAS
No garantizan una solución optima en un
tiempo finito
Débil base teórica
Tienen muchos parámetros a ajustar
Computacionalmente costosos (lentos)
![Page 30: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/30.jpg)
30
COMPUTACIÓN EVOLUTIVA
A.E. Eiben, J.E. SmithIntroduction to Evolutionary Computation.Springer Verlag 2003.(Natural Computing Series)
BIBLIOGRAFÍA
D.B. Fogel (Ed.) Evolutionary Computation. The Fossil Record.
(Selected Readings on the
History of Evolutionary Computation).IEEE Press, 1998.
![Page 31: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/31.jpg)
31
BIBLIOGRAFÍA
![Page 32: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/32.jpg)
32
1. INTRODUCCIÓN A LA COMPUTACIÓN EVOLUTIVA
2. ALGORITMOS GENÉTICOS
3. ALGORITMOS GENÉTICOS. EXPLORACIÓN VS EXPLOTACIÓN
4. CONCLUSIONES
METAHEURÍSTICAS
TEMA 3. METAHEURÍSTICAS BASADASEN POBLACIONES
BIBLIOGRAFÍAD.B. Fogel (Ed.). Evolutionary Computation. The Fossil Record. (Selected Readings on the History of Evolutionary Computation). IEEE Press, 1998.A.E. Eiben, J.E. Smith. Introduction to Evolutionary Computation. Springer Verlag 2003.
Parte I:
![Page 33: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/33.jpg)
33
METAHEURÍSTICAS
TEMA 3. METAHEURÍSTICAS BASADASEN POBLACIONES
ALGORITMOS GENÉTICOS
1. INTRODUCCIÓN A LOS ALGORITMOS GENÉTICOS
2. MODELOS: GENERACIONAL vs ESTACIONARIO
3. ¿CÓMO SE CONSTRUYE UN AG?
4. SOBRE SU UTILIZACIÓN
5. EJEMPLO: VIAJANTE DE COMERCIO
6. CONCLUSIONES
![Page 34: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/34.jpg)
34
¿QUÉ ES UN ALGORITMO GENÉTICO?
LOS INGREDIENTES
El CICLO DE LA EVOLUCIÓN
ESTRUCTURA DE UN ALGORITMO GENÉTICO
1. INTRODUCCIÓN A LOS ALGORITMOS GENÉTICOS
![Page 35: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/35.jpg)
35
¿Qué es un Algoritmo Genético?
Los Algoritmos Genéticos
son algoritmos de optimización
búsqueda
y aprendizaje
inspirados en los procesos de
Evolución Natural
y
Evolución Genética
![Page 36: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/36.jpg)
36
t t + 1
mutacióncruce
reproducción
selección
Los Ingredientes
![Page 37: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/37.jpg)
37
Cruce
Mutación
Selección
Reemplazamiento
El ciclo de la Evolución
PADRES
POBLACIÓN
DESCENDIENTES
![Page 38: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/38.jpg)
38
Estructura de un Algoritmo Genético
Procedimiento Algoritmo Genético
Inicio (1)
t = 0;
inicializar P(t);
evaluar P(t);
Mientras (no se cumpla la condición de parada) hacer
Inicio(2)
t = t + 1
seleccionar P’ desde P(t-1)
recombinar P’
mutar P’
reemplazar P(t) a partir de P(t-1) y P’
evaluar P(t)
Final(2)
Final(1)
![Page 39: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/39.jpg)
39
2. MODELOS: GENERACIONAL vs ESTACIONARIO
Modelo generacional. Durante cada iteración se crea una población completa con nuevos individuos.
La nueva población reemplaza directamente a la antigua.
Modelo estacionario. Durante cada iteración se escogen dos padres de la población (diferentes mecanismos de muestreo) y se les aplican los operadores genéticos.
El/los descendiente/s reemplazan a uno/dos cromosoma/s de la población anterior.
El modelo estacionario es elitista. Además produce una presión selectiva alta (convergencia rápida) cuando se reemplazan los peores cromosomas de la población.
![Page 40: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/40.jpg)
40
MUTACIÓNcon prob. Pm
Modelo Generacional
Pactual(t)
C1
C2
…
CM
REEMPLAZAMIENTO
con elitismo (semantiene el mejor de P(t))
SELECCIÓN
(los C’ soncopias de los C)
Ppadres
C’1
C’2
…
C’M
CRUCE
con prob Pc
Pintermedia
C’’1
C’2
…
C’’M
Phijos
H1= C’’m1
H2=C’m2
…
HM=C’’M
Pactual(t+1)H1
H2
…HM-1
Cmejor
t t+1
![Page 41: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/41.jpg)
41
MUTACIÓNcon prob. Pm
Modelo Estacionario
Pactual(t)
C1
C2
…
CM
REEMPLAZAMIENTO
(los dos hijos compitenpara entrar en P(t))
SELECCIÓN
(dos cromo-somas de C)
Ppadres
C’1
C’2
CRUCE
con prob 1
Pintermedia
C’’1
C’’2
Phijos
H1= C’’1
H2=C’’m2
Pactual(t+1)C1
C2
…H1
CM
t t+1
![Page 42: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/42.jpg)
42
Los pasos para construir un Algoritmo Genético
Diseñar una representación
Decidir cómo inicializar una población
Diseñar una correspondencia entre
genotipo y fenotipo
Diseñar una forma de evaluar un individuo
Diseñar un operador de mutación adecuado
Diseñar un operador de cruce adecuado
Decidir cómo seleccionar los individuos
para ser padres
Decidir cómo reemplazar a los individuos
Decidir la condición de parada
3. ¿CÓMO SE CONSTRUYE UN AG?
![Page 43: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/43.jpg)
43
Representación
Debemos disponer de un mecanismo para codificar un individuo como un genotipo.
Existen muchas maneras de hacer esto y se ha de elegir la más relevante para el problema en cuestión.
Una vez elegida una representación, hemos de tener en mente como los genotipos (codificación) serán evaluados y qué operadores genéticos hay que utilizar.
![Page 44: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/44.jpg)
44
Ejemplo: Representación binaria
CROMOSOMA
GEN
La representación de un individuo se puede hacer mediante una codificación discreta, y en particular binaria.
![Page 45: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/45.jpg)
45
Ejemplo: Representación binaria
8 bits Genotipo
Fenotipo
• Entero
• Número real
• secuencia
• ...
• Cualquier otra?
![Page 46: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/46.jpg)
46
Ejemplo: Representación Real
Una forma natural de codificar una solución es utilizando valores reales como genes
Muchas aplicaciones tienen esta forma natural de codificación
![Page 47: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/47.jpg)
47
Ejemplo: Representación Real
Los individuos se representan como vectores de valores reales:
La función de evaluación asocia a un vector un valor real de evaluación:
Rx
x
x
x
X i
n
,2
1
RRfn:
![Page 48: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/48.jpg)
48
Ejemplo: Representación de orden
Los individuos se representan como permutaciones.
Se utilizan para problemas de secuenciación.
7 83 46 2 1 5
Ejemplo: Viajante de Comercio, donde cada ciudad tiene asignado un único número entre 1 y n. Necesita operadores especiales para garantizar que el resultado de aplicar un operador sigue siendo una permutación.
![Page 49: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/49.jpg)
49
Inicialización
Uniforme sobre el espacio de búsqueda … (si es posible)
Cadena binaria: 0 ó 1 con probabilidad 0.5
Representación real: uniforme sobre un intervalo dado
(para valores acotados)
Elegir la población a partir de los resultados de una heurística previa.
![Page 50: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/50.jpg)
50
Correspondencia entre Genotipo y Fenotipo
Algunas veces la obtención del fenotipo a partir del genotipo es un proceso obvio.
En otras ocasiones el genotipo puede ser un conjunto de parámetros para algún algoritmo, el cual trabaja sobre los datos de un problema para obtener un fenotipo
Datos de un
Problema
Fenotipo
Algoritmo
de obtención
Genotipo
(Codificación)
![Page 51: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/51.jpg)
51
Evaluación de un individuo
Este es el paso más costoso para una aplicación real
Puede ser una subrutina, un simulador, o cualquier proceso externo (ej. Experimentos en un robot, ....)
Se pueden utilizar funciones aproximadas para reducir el costo de evaluación.
Cuando hay restricciones, éstas se pueden introducir en el costo como penalización.
Con múltiples objetivos se busca una solución de compromiso.
![Page 52: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/52.jpg)
52
Selección
¿CÓMO SE CONSTRUYE UN AG?
PADRES
POBLACIÓN
Representación
Inicialización Población
Función Evaluación
![Page 53: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/53.jpg)
53
Estrategia de Selección
Debemos de garantizar que los mejores individuos tienen una mayor posibilidad de ser padres (reproducirse) frente a los individuos menos buenos.
Debemos de ser cuidadosos para dar una oportunidad de reproducirse a los individuos menos buenos. Éstos pueden incluir material genético útil en el proceso de reproducción.
Esta idea nos define la presión selectiva que determina en qué grado la reproducción está dirigida por los mejores individuos.
![Page 54: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/54.jpg)
54
Selección por torneo
Para cada padre a seleccionar:
Escoger aleatoriamente k individuos, con reemplazamiento
Seleccionar el mejor de ellos
k se denomina tamaño del torneo. A mayor k, mayor presión selectiva y viceversa.
Estrategia de Selección
![Page 55: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/55.jpg)
55
Selección por Torneo (TS): Escoge al individuo de mejor fitness de entre Nts individuos seleccionados aleatoriamente (Nts=2,3,…).
Orden Lineal (LR): La población se ordena en función de su fitness y se asocia una probabilidad de selección a cada individuo que depende de su orden.
Selección Aleatoria (RS).
Emparejamiento Variado Inverso (NAM): Un padre lo escoge aleatoriamente, para el otro selecciona Nnam padres y escoge el más lejano al primer (Nnam=3,5, ….). Está orientado a generar diversidad.
Selección por Ruleta: Se asigna una probabilidad de selección proporcional al valor del fitness del cromosoma. (Modelo clásico)
Estrategia de Selección
Algunos esquemas de selección
![Page 56: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/56.jpg)
56
Cruce
Selección
¿CÓMO SE CONSTRUYE UN AG?
PADRES
POBLACIÓN
Representación
Inicialización Población
Función Evaluación
![Page 57: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/57.jpg)
57
Imagen clásica (John Holland) que introduce el operador de cruce
Operador de Cruce
Creditos: Genetic Algorithms, Scientific American, July 1992, 66-72.
![Page 58: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/58.jpg)
58
Operador de Cruce
Podríamos tener uno o más operadores de cruce para nuestra representación.
Algunos aspectos importantes a tener en cuenta son:
Los hijos deberían heredar algunas características de cadapadre. Si éste no es el caso, entonces estamos ante un operador de mutación.
Se debe diseñar de acuerdo a la representación.
La recombinación debe producir cromosomas válidos.
Se utiliza con una probabilidad alta de actuación sobre cada pareja de padres a cruzar (Pc entre 0.6 y 0.9), si no actua los padres son los descendientes del proceso de recombinación de la pareja.
![Page 59: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/59.jpg)
59
Ejemplo: Operador de cruce para representación binaria
Población:
Cada cromosoma se corta en n partes que son recombinadas. (Ejemplo para n = 1).
1 1 1 1 1 1 1 0 0 0 0 0 0 0padres
corte corte
1 1 1 0 0 0 0 0 0 0 1 1 1 1
descendientes
. . .
![Page 60: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/60.jpg)
60
Ejemplo: Operador de cruce en dos puntos para representación binaria
![Page 61: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/61.jpg)
61
Ejemplo: Operador de cruce para representación real
Recombinación aritmética (cruce aritmético):
a db fc e
FD ECBA
(a+A)/2 (b+B)/2 (c+C)/2 (e+E)/2(d+D)/2 (f+F)/2
Existe muchos operadores específicos para la codificación real.
![Page 62: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/62.jpg)
62
Ejemplo: Operador de cruce para representación real: BLX-
Dados 2 cromosomas
C1 = (c11,…, c1n) y C2 = (c21,…, c2n) ,
BLX- genera dos descendientes
Hk = (hk1,…, hki,…, hkn) , k =1,2
donde hki se genera aleatoriamente en el intervalo:
[Cmin – I·, Cmax + I·]
Cmax = max {c1i , c2i} Cmin = min {c1i , c2i} I = Cmax - Cmin , [0,1]
![Page 63: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/63.jpg)
63
Exploración Exploración
cmin- ·I cmax + ·II
ai c1i c2
i bi
Explotación
Ejemplo: Operador de cruce para representación real: BLX-
![Page 64: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/64.jpg)
64
¿Cómo aplicar los algoritmos genéticos a la Representación de Orden?
7 83 41 2 6 5 78 16 5234
Padre 2Padre 1
![Page 65: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/65.jpg)
65
Representación de Orden y Operador de cruce OX
7 83 41 2 6 5 78 16 5234
81 2
Padre 1 Padre 2
¿Qué hacemos con las ciudades restantes?
![Page 66: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/66.jpg)
66
Representación de Orden y Operador de cruce OX
7 83 41 2 6 5 78 16 5234
81 2
7, 3, 4, 6, 5
Padre 1 Padre 2
¿Qué hacemos con las ciudades restantes?
![Page 67: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/67.jpg)
67
Representación de Orden y Operador de cruce OX
7 83 41 2 6 5 78 16 5234
81 2
7, 3, 4, 6, 5
4, 3, 6, 7, 5
Orden
7 85 41 2 3 6
Padre 1 Padre 2
Hijo 1
![Page 68: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/68.jpg)
68
Cruce
Mutación
Selección
¿CÓMO SE CONSTRUYE UN AG?
PADRES
POBLACIÓN
DESCENDIENTES
Representación
Inicialización Población
Función Evaluación
![Page 69: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/69.jpg)
69
Operador de mutación
Podemos tener uno o más operadores de mutación para
nuestra representación.
Algunos aspectos importantes a tener en cuenta son:
Debe permitir alcanzar cualquier parte del espacio de búsqueda.
El tamaño de la mutación debe ser controlado.
Debe producir cromosomas válidos.
Se aplica con una probabilidad muy baja de actuación sobre cada descendiente obtenido tras aplicar el operador de cruce (incluidos los descendientes que coinciden con los padres porque el operador de cruce no actúa).
![Page 70: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/70.jpg)
70
Ejemplo: Mutación para representación discreta binaria
1 1 1 1 1 1 1antes
1 1 1 0 1 1 1después
La mutación ocurre con una probabilidad pm para cada gen
gen mutado
![Page 71: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/71.jpg)
71
Ejemplo: Mutación para representación real
Perturbación de los valores mediante un valor aleatorio.
Frecuentemente, mediante una distribución Gaussiana/normal N(0,), donde
• 0 es la media
• es la desviación típica
x’i = xi + N(0,i)
para cada parámetro.
![Page 72: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/72.jpg)
72
Ejemplo: Mutación para representación de orden
7 83 41 2 6 5
7 83 46 2 1 5
Seleción aleatoria de dos genes e intercambio de ambos.
![Page 73: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/73.jpg)
73
Cruce
Mutación
Selección
Reemplazamiento
¿CÓMO SE CONSTRUYE UN AG?
PADRES
POBLACIÓN
DESCENDIENTES
Representación
Inicialización Población
Función Evaluación
![Page 74: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/74.jpg)
74
Estrategia de Reemplazamiento
La presión selectiva se ve también afectada por la forma en que los cromosomas de la población son reemplazados por los nuevos descendientes.
Podemos utilizar métodos de reemplazamiento aleatorios, o determinísticos.
Podemos decidir no reemplazar al mejor cromosoma de la población: Elitismo
(el uso del Elitismo es aconsejado en los modelos generacionales para no perder la mejor solución encontrada).
Un modelo con alto grado de elitismo consiste en utilizar una población intermedia con todos los padres (N) y todos los descendientes y seleccionar los N mejores. Esto se combina con otras componentes con alto grado de diversidad.
![Page 75: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/75.jpg)
75
Algunas estrategias de reemplazo para AG estacionarios
Reemplazar al peor de la población (RW). Genera alta presión selectiva.
Torneo Restringido (RTS): Se reemplaza al mas parecido de entre w (w=3, …). Mantiene una cierta diversidad.
Peor entre semejantes (WAMS): Se reemplaza el peor cromosoma del conjunto de los w (w=3, …) padres más parecidos al descendiente generado (seleccionados de toda la población). Busca equilibrio entre diversidad y presión selectiva.
Algoritmo de Crowding Determinístico (DC): El hijo reemplaza a su padre más parecido. Mantiene diversidad.
Estrategia de Reemplazamiento
Cuando se considera un modelo estacionario (en el que se reemplazan solo uno o dos padres, frente al modelo generacional en el que se reemplaza la población completa), nos encontramos con diferentes propuestas.
A continuación presentamos algunas posibilidades:
![Page 76: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/76.jpg)
76
Criterio de Parada
Cuando se alcanza el óptimo!
Recursos limitados de CPU:
Fijar el máximo número de evaluaciones
Límite sobre la paciencia del usuario: Después
de algunas iteraciones sin mejora.
![Page 77: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/77.jpg)
77
Cruce
Mutación
Selección
Reemplazamiento
PADRES
POBLACIÓN
DESCENDIENTES
Representación
Inicialización Población
Función Evaluación
¿CÓMO SE CONSTRUYE UN AG?RESUMEN
PROCESO ITERATIVO + CRITERIO DE PARADA
![Page 78: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/78.jpg)
78
Efecto de la Evolución
x
x
Selección
Mutación
Mejora y/o
Combinación
Soluciones Iniciales
Soluciones Mejoradas
![Page 79: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/79.jpg)
79
4. SOBRE SU UTILIZACIÓN
Nunca se deben sacar conclusiones de una única ejecución utilizar medidas estadísticas (medias, medianas, ...)
con un número suficiente de ejecuciones independientes
No se debe ajustar/chequear la actuación de un algoritmo sobre
ejemplos simples si se desea trabajar con casos reales.
Existe una comentario genérico en el uso de los Algoritmos no
determinísticos:
“Se puede obtener lo que se desea en una experimentación
de acuerdo a la dificultad de los casos utilizados”
(se encuentran propuestas en las que basta encontrar un caso
adecuado para un algoritmo para afirmar que es muy bueno, pero
esta afirmación no puede ser extensible a otros casos, es el error
en el que incurren algunos autores)
![Page 80: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/80.jpg)
80
5. EJEMPLO: VIAJANTE DE COMERCIO
Representación de orden
(3 5 1 13 6 15 8 2 17 11 14 4 7 9 10 12 16)
17 ciudades
Objetivo: Suma de la distancia entre las ciudades.
Población: 61 cromosomas - Elitismo
Cruce: OX (Pc = 0.6)
Mutación: Inversión de una lista (Pm = 0.01 – cromosoma)
![Page 81: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/81.jpg)
81
17! (3.5568734e14) soluciones posibles
Viajante de Comercio
![Page 82: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/82.jpg)
82
Representación de Orden y Operador de cruce OX
7 83 41 2 6 5 78 16 5234
81 2
7, 3, 4, 6, 5
x, x, x, x, x
7 85 41 2 3 6
Padre 1 Padre 2
Hijo 1
![Page 83: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/83.jpg)
83
Representación de Orden y Operador de cruce OX
7 83 41 2 6 5 78 16 5234
81 2
7, 3, 4, 6, 5
4, 3, 6, 7, 5
Orden
7 85 41 2 3 6
Padre 1 Padre 2
Hijo 1
![Page 84: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/84.jpg)
84
Viajante de Comercio
17! = 3.5568743 e14 recorridos posibles Solución óptima: 226.64
![Page 85: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/85.jpg)
85
Viajante de Comercio
Iteración: 0 Costo: 403.7
Solución óptima: 226.64
Iteración: 25 Costo: 303.86
![Page 86: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/86.jpg)
86
Viajante de Comercio
Solución óptima: 226.64
Iteración: 25 Costo: 303.86 Iteración: 50 Costo: 293.6
![Page 87: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/87.jpg)
87
Viajante de Comercio
Iteración: 50 Costo: 293.6
Solución óptima: 226.64
Iteración: 100 Costo: 256.55
![Page 88: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/88.jpg)
88
Viajante de Comercio
Iteración: 200 Costo: 231.4Iteración: 100 Costo: 256.55
![Page 89: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/89.jpg)
89
Viajante de Comercio
Iteración: 250 Solución óptima: 226.64
Iteración: 200 Costo: 231.4
![Page 90: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/90.jpg)
90
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 91: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/91.jpg)
91
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 92: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/92.jpg)
92
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 93: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/93.jpg)
93
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 94: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/94.jpg)
94
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 95: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/95.jpg)
95
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 96: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/96.jpg)
96
COMENTARIOS FINALES
Algoritmos Genéticos
basados en una metáfora biológica: evolución
gran potencialidad de aplicación
muy populares en muchos campos
muy potentes en diversas aplicaciones
altas prestaciones a bajo costo
SON ATRACTIVOS DESDE UN PUNTO
DE VISTA COMPUTACIONAL
![Page 97: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/97.jpg)
97
Algoritmos Genéticos: Extensiones, estudios, modelos, …
Algoritmos Genéticos I. Diversidad y Convergencia (Tema 7)
Algoritmos Genéticos II. Múltiples Soluciones en Problemas Multimodales (Tema 7)
Algoritmos Genéticos III. Manejo de restricciones (Seminario)
Algoritmos Evolutivos para Problemas Multiobjetivo (Seminario)
Hibridación de los Algoritmos Evolutivos con Técnicas de Búsqueda Local: Algoritmos Meméticos (Tema 4)
![Page 98: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/98.jpg)
98
Los algoritmos evolutivos son la metaheurística que más se ha estudiado y con mayor número de propuestas.
Presenta un mayor número de variantes y posibilidades de aplicación (multimodalidad, multi-objetivos, soluciones de longitud variable …).
En la actualidad existen diferentes áreas de desarrollo muy activas y con propuestas que continuamente aportan nuevas soluciones a los problemas planteados.
La hibridación con algoritmos basados en trayectorias ha dado lugar a interesantes propuestas (Tema 4: Metaheurísticas Híbridas).
CONCLUSIONES
![Page 99: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/99.jpg)
99
1. ALGORITMOS EVOLUTIVOS PARA OPTIMIZACIÓN CONTINUA
2. ALGORITMOS GENÉTICOS PARA OPT. CONTINUA
3. EVOLUCIÓN DIFERENCIAL
4. ESTRATEGIAS DE EVOLUCIÓN
5. NUEVOS MODELOS BIOINSPIRADOS PARA OPTIMIZACIÓN DE PARÁMETROS
METAHEURÍSTICAS
TEMA 3. METAHEURÍSTICAS BASADASEN POBLACIONES
BIBLIOGRAFÍAD.B. Fogel (Ed.). Evolutionary Computation. The Fossil Record. (Selected Readings on the History of Evolutionary Computation). IEEE Press, 1998.A.E. Eiben, J.E. Smith. Introduction to Evolutionary Computation. Springer Verlag 2003.
Parte II:
![Page 100: Tema 4: Programación Genética · 2020. 2. 27. · Tema 1. Introducción a las Metaheurísticas Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones Tema 3. Metaheurísticas](https://reader033.vdocuments.net/reader033/viewer/2022051812/602e7cc210b225008e76ed35/html5/thumbnails/100.jpg)
100
METAHEURÍSTICAS 2019 - 2020
Tema 1. Introducción a las Metaheurísticas
Tema 2. Modelos de Búsqueda: Entornos y Trayectorias vs Poblaciones
Tema 3. Metaheurísticas Basadas en Poblaciones
Tema 4: Algoritmos Meméticos
Tema 5. Metaheurísticas Basadas en Trayectorias
Tema 6. Metaheurísticas Basadas en Adaptación Social
Tema 7. Aspectos Avanzados en Metaheurísticas
Tema 8. Metaheurísticas Paralelas