Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético:...
Transcript of Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético:...
![Page 1: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/1.jpg)
1
1. ALGORITMOS GENÉTICOS. INTRODUCCIÓN2. ¿CÓMO SE CONSTRUYE? 3. SOBRE SU UTILIZACIÓN4. ALGUNAS CUESTIONES: DIVERSIDAD, EXPLORACIÓN vs
EXPLOTACIÓN 5. MODELOS: GENERACIONAL vs ESTACIONARIO6. DOMINIOS DE APLICACIÓN7. EJEMPLO: VIAJANTE DE COMERCIO8. APLICACIONES
ALGORITMOS GENÉTICOS
![Page 2: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/2.jpg)
2
BIBLIOGRAFÍA
D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989.
Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs. Springer Verlag, 1996.
T. Bäck, D.B. Fogel, Z. Michalewicz, Handbook of Evolutionary Computation, Oxford Univ. Press, 1997.
![Page 3: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/3.jpg)
3
EVOLUCIÓN NATURAL. EVOLUCIÓN ARTIFICIAL
¿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 4: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/4.jpg)
4
Evolución Natural (1)
En la naturaleza, los procesos evolutivos ocurrencuando 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, entre los individuos quese reproducen
Algunas diferencias en la habilidad para sobrevivir en elentorno están asociadas con esa variedad
![Page 5: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/5.jpg)
5
Evolución Natural (2)
Los mecanismos que conducen esta evolución no sontotalmente conocidos, pero sí algunas de suscaracterísticas, que son ampliamente aceptadas:
La evolución es un proceso que opera sobre loscromosomas más que sobre las estructuras de la vida queestán codificadas en ellos
![Page 6: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/6.jpg)
6
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
Referencia: Darwin, C. (1859). On the Origin ofSpecies by Means of Natural Selection or thePreservations of Favoured Races in the Struggle forLife. London: John Murray
Evolución Natural (3)
![Page 7: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/7.jpg)
7
COMPUTACIÓN EVOLUTIVA
Está compuesta por modelos de evolución basados enpoblaciones cuyos elementos representan soluciones aproblemas
La simulación de este proceso en un ordenador resulta seruna técnica de optimización probabilística, que confrecuencia mejora a otros métodos clásicos en problemasdifíciles
Evolución Artificial (1)
![Page 8: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/8.jpg)
8
Existen cuatro paradigmas básicos:
Algoritmos Genéticos que utilizan operadores genéticossobre cromosomas
Estrategias de Evolución que enfatizan los cambios decomportamiento al nivel de los individuos
Programación Evolutiva que enfatizan los cambios decomportamiento al nivel de las especies
Programación Genética que evoluciona expresionesrepresentadas como árboles
Existen otros múltiples Modelos de Evolución dePoblaciones
Evolución Artificial (2)
![Page 9: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/9.jpg)
9
¿Qué es un Algoritmo Genético?
Los Algoritmos Genéticos
son algoritmos de optimización,búsqueday aprendizajeinspirados en los procesos de
Evolución Natural y
Evolución Genética
![Page 10: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/10.jpg)
10
t t + 1
mutación
reproducción
selección
Los Ingredientes
Cruce(o recombinación)
![Page 11: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/11.jpg)
11
Cruce
Mutación
Selección
Reemplazamiento
El ciclo de la Evolución
PADRES
POBLACIÓN
DESCENDIENTES
![Page 12: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/12.jpg)
12
Estructura de un Algoritmo Genético
Algoritmo Genético BásicoInicio (1)
t = 0inicializar P(t)evaluar P(t)
Mientras (no se cumpla la condición de parada) hacerInicio(2)
t = t + 1seleccionar P’(t) desde P(t-1)P’’(t) ← cruce P’(t)P’’’(t) ← mutación P’’(t)P(t) ← reemplazamiento (P(t-1),P’’’(t))evaluar P(t)
Final(2)
Final(1)
![Page 13: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/13.jpg)
13
Pasos para construir un Algoritmo Genético:
Diseñar una representaciónDecidir cómo inicializar una poblaciónDiseñar una correspondencia entre genotipo y fenotipoDiseñar una forma de evaluar un individuoDiseñar un operador de mutación adecuadoDiseñar un operador de cruce adecuadoDecidir cómo seleccionar los individuos para ser padresDecidir cómo reemplazar a los individuosDecidir la condición de parada
2. ¿CÓMO SE CONSTRUYE?
![Page 14: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/14.jpg)
14
Representación
Debemos disponer de un mecanismo para codificar un individuo como un genotipo
Existen muchas maneras de hacer esto y se debe elegir la más relevante para el problema en cuestión
Una vez elegida una representación, tenemos que tener en mente cómo se evaluarán los genotipos (codificación) y qué operadores genéticos habrá que utilizar
![Page 15: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/15.jpg)
15
Ejemplo: Representación binaria
CROMOSOMA
GEN
La representación de un individuo se puede hacer mediante una codificación discreta, en particular binaria
![Page 16: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/16.jpg)
16
Ejemplo: Representación binaria
8 bits Genotipo
Fenotipo• Entero• Número real• Secuencia• ...• ¿Cualquier otra?
![Page 17: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/17.jpg)
17
Ejemplo: Representación binaria
El fenotipo puede ser uno o varios números enteros
Genotipo:
1·27 + 0·26 + 1·25 + 0·24 + 0·23 + 0·22 + 1·21 + 1·20 =128 + 32 + 2 + 1 = 163
= 163Fenotipo:
![Page 18: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/18.jpg)
18
Ejemplo: Representación binaria
También puede corresponder a números realesEjemplo: un número entre 2.5 y 20.5 utilizando 8 dígitos binarios
( ) 9609,135,25,202561635,2 =−+=x
= 13,9609Genotipo: Fenotipo:
![Page 19: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/19.jpg)
19
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 20: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/20.jpg)
20
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
xx
X i
n
∈
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
= ,2
1
M
RRf n →:
![Page 21: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/21.jpg)
21
Ejemplo: Representación de orden
Los individuos se representan como permutaciones
Se utilizan para problemas de secuenciación
Ejemplo famoso: 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 22: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/22.jpg)
22
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 23: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/23.jpg)
23
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
Algoritmode obtención
Genotipo(Codificación)
![Page 24: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/24.jpg)
24
Evaluación de un individuo: fitness o valor de adecuación
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 la función de fitness como penalización del costo
Con múltiples objetivos se busca una solución de compromiso
![Page 25: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/25.jpg)
25
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
![Page 26: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/26.jpg)
26
Ejemplo: Mutación para representación discreta binaria
La mutación ocurre con una probabilidad pmpara cada gen
1 1 1 1 1 1 1antes
1 1 1 0 1 1 1después
gen mutado
![Page 27: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/27.jpg)
27
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 28: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/28.jpg)
28
Ejemplo: Mutación para representación de orden
7 83 41 2 6 5
7 83 46 2 1 5
Se seleccionan aleatoriamente dos genes y se intercambian
![Page 29: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/29.jpg)
29
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 cada padre. 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
![Page 30: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/30.jpg)
30
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 0 padrescorte corte
1 1 1 0 0 0 0 0 0 0 1 1 1 1descendientes
![Page 31: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/31.jpg)
31
Ejemplo: Operador de cruce para representación real
Recombinación discreta (cruce uniforme): dados 2 padres se crea un descendiente escogiendo aleatoriamente cada gen de un padre o del otro:
a db fc e g h
FD GE HCBA
a b C Ed Hgf
![Page 32: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/32.jpg)
32
Ejemplo: Operador de cruce para representación real
Existen muchos operadores específicos para la codificación real. Por ejemplo, la 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↓
![Page 33: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/33.jpg)
33
Ejemplo: Operador de cruce para representación de orden (Cruce OX)
7 83 41 2 6 5 78 16 5234
81 2
7, 3, 4, 6, 5
4, 3, 6, 7, 5
ordenar
7 85 41 2 3 6
Padre 1 Padre 2
Hijo 1 insertar a partir del2º punto de cruce
![Page 34: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/34.jpg)
34
Estrategia de Selección
Debemos garantizar que los mejores individuos tengan una mayor posibilidad de ser padres (reproducirse) frente a los individuos menos buenos
Debemos ser cuidadosos para dar una posibilidad 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 conducirá la reproducción como la selección fuerte de los mejores
![Page 35: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/35.jpg)
35
Ejemplo: Selección proporcional
El número de veces que un individuo se debe reproducir es:
∑=
jj
ii f
fSP )(
Mejor
Peor
Los mejores individuos tienen:
Más espacio en la ruletaMás probabilidad de ser seleccionados
![Page 36: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/36.jpg)
36
Ejemplo: Selección proporcional
Desventajas:
Peligro de convergencia prematura porque los mejores individuos dominan la población muy rápidamente
Baja presión selectiva cuando los valores de la función objetivo están muy cercanos
Comportamientos diferentes cuando se realizan traslaciones sobre la función de evaluación
![Page 37: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/37.jpg)
37
Ejemplo: Selección proporcional
Una solución: Escalado del fitness:
Ajustar el fitness a un rango:Ej. Rangos de 0 a 1
Normalizar:La suma de los fitness igual a 1
![Page 38: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/38.jpg)
38
Ejemplo: Selección por torneo
Para cada individuo a seleccionar, se escogen k individuos aleatoriamente, sin reposición
Se elige el mejor de ellosk se llama el tamaño del torneo
![Page 39: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/39.jpg)
39
Ejemplo: Selección basada en orden
Los individuos se ordenan por su valor de función objetivo de mejor a peor. El lugar ocupado en la lista se llama el orden del cromosoma
En lugar del valor de la función objetivo, se utiliza el orden del cromosoma, para ordenar entre un máximo y un mínimo
![Page 40: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/40.jpg)
40
Ejemplo: Selección basada en orden
Función objetivo: f(A) = 5, f(B) = 2, f(C) = 19Orden (minimización): r(A) = 1, r(B) = 0, r(C) = 2
Función: h(A) = 1, h(B) = 1.25, h(C) = 0.75Proporción en la ruleta:
p(A) = 33.3%, p(B) = 41.7%, p(C) = 25%
25.1min2]1,0[75.0
1)()()(
max
min
minmaxmax
=−=∈=
−−−=
rankrank
nxrrankrankrankxh
![Page 41: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/41.jpg)
41
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
Se puede reemplazar toda la población actual con la de descendientes (esquema generacional) o sólo una parte de ella (esquema estacionario)
Podemos decidir no reemplazar al mejor(es) cromosoma(s) de la población: Elitismo
![Page 42: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/42.jpg)
42
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 43: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/43.jpg)
43
Cruce
Mutación
Componentes
PADRES
POBLACIÓN
DESCENDIENTES
Representación
Inicialización Población
Función Evaluación
Reemplazamiento
Selección
![Page 44: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/44.jpg)
44
3. SOBRE SU UTILIZACIÓN
Nunca sacar conclusiones de una única ejecuciónutilizar medidas estadísticas (medias, medianas, ...)con un número suficiente de ejecuciones independientes
“Se puede obtener lo que se desea en una experimentación de acuerdo a la dificultad de los casos utilizados” – No se debe ajustar/chequear la actuación de un algoritmo sobre ejemplos simples si se desea trabajar con casos reales
Desde el punto de vista de las aplicaciones:
doble enfoque y diferente diseñoEncontrar una solución muy buena al menos una vez
Encontrar al menos una solución muy buena en cada ejecución
![Page 45: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/45.jpg)
45
4. ALGUNAS CUESTIONES: DIVERSIDAD, EXPLORACIÓN vs EXPLOTACIÓN
Diversidad genética
Asociada a las diferencias entre los cromosomas en la población
Falta de diversidad genética = todos los individuos en la población son parecidos
Falta de diversidad convergencia al vecino más cercano
Alta presión selectiva falta de diversidad
En la práctica es irreversible. Soluciones:• Inclusión de mecanismos de diversidad en la evolución• Reinicialización cuando se produce convergencia
prematura
![Page 46: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/46.jpg)
46
ALGUNAS CUESTIONES: DIVERSIDAD, EXPLORACIÓN vs EXPLOTACIÓN
Exploración vs Explotación
Exploración = muestrear regiones desconocidas
Excesiva exploración = búsqueda aleatoria, no convergencia
Explotación = trata de mejorar el mejor individuo
Excesiva explotación = solo búsqueda local … convergencia a un óptimo local
![Page 47: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/47.jpg)
47
5. MODELOS: GENERACIONAL vs ESTACIONARIO
Modelo generacional: Durante cada iteración se crea una población completa con nuevos individuosLa 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 reemplaza/n a uno/dos cromosoma/s de la población inicialEl 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 48: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/48.jpg)
48
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’1C’2…
C’M
CRUCE
con prob Pc
Pintermedia
C’’1C’2…
C’’M
Phijos
H1= C’’m1
H2=C’m2
…HM=C’’M
Pactual(t+1)H1H2…
HM-1Cmejor
t ← t+1
![Page 49: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/49.jpg)
49
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’1C’2
CRUCE
con prob 1
Pintermedia
C’’1C’’2
Phijos
H1= C’’1H2=C’’m2
Pactual(t+1)C1C2…H1CM
t ← t+1
![Page 50: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/50.jpg)
50
Optimización estructural
Generación de trayectorias
1 2 m1n
Planificación de sistemas de Producción
Diseño de circuitos VLSI
AprendizajeClasificación
Control de procesos químicos
6. DOMINIOS DE APLICACIÓN
![Page 51: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/51.jpg)
51
DOMINIOS DE APLICACIÓN
Optimización combinatoria y en dominios reales
Modelado e identificación de sistemas
Planificación y control
Ingeniería
Vida artificial
Aprendizaje y minería de datos
Visión por Computador e Informática Gráfica
Internet y Sistemas de Recuperación de Información
...
T. Bäck, D.B. Fogel, Z. Michalewicz, Handbook of Evolutionary Computation. Oxford Univ. Press, 1997
![Page 52: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/52.jpg)
52
7. 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 ciudadesObjetivo: Suma de la distancia entre las ciudades.Población: 61 cromosomas - ElitismoCruce: OX (Pc = 0,6)Mutación: Inversión de una lista (Pm = 0,01 – cromosoma)
![Page 53: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/53.jpg)
53
Viajante de Comercio
17! = 3.5568743 e14 recorridos posibles Solución óptima: 226.64
![Page 54: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/54.jpg)
54
Viajante de Comercio
Iteración: 0 Costo: 403.7Solución óptima: 226.64
Iteración: 25 Costo: 303.86
![Page 55: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/55.jpg)
55
Viajante de Comercio
Iteración: 50 Costo: 293,6Solución óptima: 226,64
Iteración: 100 Costo: 256,55
![Page 56: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/56.jpg)
56
Viajante de Comercio
Iteración: 250 Solución óptima: 226,64Iteración: 200 Costo: 231,4
![Page 57: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/57.jpg)
57
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 58: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/58.jpg)
58
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 59: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/59.jpg)
59
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 60: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/60.jpg)
60
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 61: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/61.jpg)
61
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 62: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/62.jpg)
62
Viajante de Comercio
Visualización de la evolución de una población de 50 cromosomas y 70 iteraciones
![Page 63: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/63.jpg)
63
RESUMEN
Algoritmos Genéticos
basados en una metáfora biológica: evolución gran potencialidad de aplicaciónmuy populares en muchos camposmuy potentes en diversas aplicacionesaltas prestaciones a bajo costo
![Page 64: Scatter Search: Introduction and Applications€¦ · Pasos para construir un Algoritmo Genético: Diseñar una representación Decidir cómo inicializar una población Diseñar una](https://reader030.fdocuments.es/reader030/viewer/2022040922/5e9b0783455e3472f711c428/html5/thumbnails/64.jpg)
64
BIBLIOGRAFÍA
D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989.
Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs. Springer Verlag, 1996.
T. Bäck, D.B. Fogel, Z. Michalewicz, Handbook of Evolutionary Computation, Oxford Univ. Press, 1997.