SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
ALGORITMOS
GENÉTICOS
¿Cuál es el Resolvedor Natural
más Potente?
El cerebro (humano) que creó “la
rueda, NewYork, las guerras y demás” (según Douglas Adams)
La evolución natural
que creó el cerebro humano (según Darwin et al.)
Indice
• Introducción a los Algoritmos Evolutivos
• El Algoritmo Genético Simple: fundamentos
• Otros Algoritmos Evolutivos
• Aplicaciones a problemas de Optimización y Aprendizaje
¿Qué son los Algoritmos Evolutivos?
• Algoritmos de búsqueda (de la solución que optimiza una función
objetivo dentro de un espacio de soluciones potenciales) basados en
la mecánica de la evolución, en particular
• La selección natural
• La herencia genética
• Combinan la “supervivencia del más fuerte” con “intercambio de
información” entre individuos para generar descendientes
• Así se consigue crear sistemas de cómputo artificiales con
características propias de los sistemas naturales, tales como
• Robustez, Flexibilidad, Auto-organización, Reproducción, ...
Un poco de historia de los AEs
• Fueron introducidos por John Holland y algunos colegas en la
Universidad de Michigan en los años 70. Sus objetivos fueron
• Abstraer y explicar el proceso adaptativo de los sistemas naturales
• Diseñar sistemas artificiales que emulasen los mecanismos esenciales de
los sistemas naturales
• Primera monografía [Holland 1975]: “Adaptation in Natural and
Artificial Systems”
• Otras referencias relevantes más recientes
• [Goldberg 1989] : “Genetic Algoritms in Search Optimization and Machine
Learning”
• [Michalewick 1992, 1994, 1996] : “Genetic Algoritms = Data Structures + Evolution
Programs”
¿A qué se debe el éxito de los AEs?
• Han demostrado ser útiles en problemas de búsqueda en muchos
campos
• Ingenierías, Ciencias, Administración, Industria, ...
• Son simples, fáciles de entender y de diseñar
• No tienen limitaciones sobre la función objetivo
• Continuidad, derivabilidad y unimodalidad
• Son robustos y razonablemente eficientes, y además ...
• Son divertidos
Características de los AEs
• Utilizan codificaciones de las soluciones (normalmente cadenas de
símbolos)
• Buscan a partir de un conjunto de puntos del espacio de búsqueda
• Solamente utilizan el valor de la función objetivo (en lugar de
derivadas u otras propiedades): NO REQUIEREN MÁS
INFORMACIÓN DEL DOMINIO DEL PROBLEMA
• Usan reglas de transición probabilistas en lugar de deterministas
La metáfora
Entorno o Ecosistema Problema
Individuo o Fenotipo Solución potencial del Problema
Cromosoma o Genotipo Cadena de Símbolos
Grado de Adaptación al
Entorno
Fitness o Calidad de la Solución
Superviviencia, Reproducción,
Mutación
Operadores de
Selección/Aceptación, Cruce,
Mutación
Lo Natural Lo Artificial
Componentes esenciales de un AE
• Un método de codificación de los individuos o soluciones
potenciales del problema, por ejemplo una cadena de bits
(codificación binaria)
• Una función de evaluación (fitness)
• Una forma de generar la población inicial
• Operadores genéticos: Selección, Cruce, Mutación, ...
• Un montón de parámetros: Pc, Pm,Tamaño de la Población, Número
de Generaciones, ...
Estructura de un AE
Algoritmo Evolutivo
Leer Parámetros (Pc, Pm, NroGen, … );
t  0;
Iniciar(P(t));
evaluar(P(t));
mientras (no ultima_generación) {
t  t+1;
P’(t) = selección(P(t-1)); // Op. Selección
P’’(t) = alterar(P’(t)); // Ops. Cruce y Mutación evaluar( P’’(t)); //
Función Fitness
P(t) = aceptar(P’(t), P’’(t)); // Op. de Aceptación
}
fin.
Algoritmo Genético Simple (SGA)
• Codificación Binaria
• Población inicial aleatoria
• Operador de Cruce en un punto
• Operador de Mutación simple: alteración de un bit
• Selección proporcional al fitness
• Aceptación incondicional de los hijos (los hijos reemplazan a los
padres)
Codificación Binaria
Cromosoma (Genotipo)
Solución Potencial (Fenotipo)
Problema 1: Maximizar una función f : [a,b]   → +
Número real x[a,b]
Problema 2: Organizar 8 trabajos en 2 Fases
S = {T1 F1, T2 F0, T3 F1, T4 F0, T5 F0, T6 F0, T7 F1, T8 F1}
Calidad de la Solución Potencial (Fitness)
Problema 1: valor de f(x)
Problema 2: Medida del beneficio (inversa del coste) de S
Decodificación de Cromosomas
• Es el cálculo del Fenotipo a
partir del Genotipo
• Muchas veces sirve algún
algoritmo voraz (p.e. familia
NP)
• Es la operación más costosa del
AG
• El Fitness se calcula de forma
inmediata a partir del Fenotipo
Genotipo
Datos
Problema
Fenotipo
Algoritmo
Representación Binaria (Fenotipo)
Genotipo
8 bits
Fenotipo:
• Entero
• Real
• Planificación
• ...
• Otros
Fenotipo de Tipo Entero
Genotipo:
1*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 1*20 =
128 + 32 + 2 + 1 = 163
= 163
Fenotipo:
Fenotipo de Tipo Real
Número real entre 2.5 y 20.5 con 8 digitos
( ) 9609
.
13
5
.
2
5
.
20
256
163
5
.
2 =
−
+
=
x
= 13.9609
Genotipo: Fenotipo:
Fenotipo de Tipo Planificación
8 trabajos en dos fases
Genotipo:
=
1
2
3
4
5
6
7
8
2
1
2
1
1
1
2
2
Tr, Fase
Fenotipo
Operadores de Cruce
• Cruce en un punto
• Genera 2 hijos a partir de 2 padres
• Cada hijo hereda características de los dos padres
• Es la componente de EXPLOTACIÓN
1 1 1 1 1 1 1 0 0 0 0 0 0 0
padres
1 1 1 0 0 0 0 0 0 0 1 1 1 1
hijos
Operador de Mutación
• La mutación altera de forma aleatoria cada bit
• La probabilidad de aplicación debe ser baja
• Introduce características aleatorias en los cromosomas
• Es la componente de EXPLORACIÓN del AG
1 1 1 1 1 1 1
1 1 1 0 1 1 1
antes
después
Operador de Selección
• Selección de P(t) a partir de P(t-1)
• Métodos Clásicos
• Selección proporcional al fitness (regla de la ruleta)
• Selección de s  P(t) con probabilidad f(s)/(f(s’); s’P(t))
• Selección por torneo
• Elige un subconjunto aleatorio S  P(t) y selecciona el mejor s  S
• Problema: Ajuste de la presión selectiva
• Alta: convergencia prematura
• Baja: no hay convergencia
• Solución: escalado del fitness
Ejemplo de Selección, Cruce y
Mutación
000110010111
111010101100
001110101001
111011011100
111010101100
000110010111
111010101100
001110101001
8 32%
6 24%
6 24%
5 20%
111010010111
000110101100
111010101001
001110101100
111010010111
000110101100
111110101001
001110101101
a) Población
actual
b) Fitness
y prob. de
selección
c) Selección e) Cruce f) Mutación
4
8
d) Pto.
de corte
Ejemplo de aplicación del SGA
• Problema
• Cálculo del máximo de la función
f(x) = x*sen(10x)+2.0
 en el intervalo [-1,2]
0
0,5
1
1,5
2
2,5
3
3,5
4
-1 0 1 2
x
f(x)
• Solución
– Codificación: binaria
– Población inicial: cadenas aleatorias
– Evaluación:
 s → eval(s) = x [-1,2]
 Fitness(s) = f(x)
– Operadores Genéticos: . . .
– Parámetros: Pc, Pm, Ngen, Tpob, . . .
Problema Máximo Función
• Exploración del espacio de búsqueda
• Óptimos locales
( ) 6
7
cos
15
3
5
320
100 






+







+
−
−
=
x
x
sen
X
x
F
Problema Máximo Función
• Codificación binaria de 32 bits
• Selección
• Regla de la ruleta
• Fitness
• F(x), F es la función problema
• Operadores utilizados
• Cruce en un punto
• Mutación convencional
Problema Máximo Función
• Ejecución detallada
¿Por qué funcionan los AGs?
Cadena Fitness (f(x) = x2)
01101 169 (=132)
11000 576 (=242)
01000 64 (=82)
10011 361 (=192)
1**** es un buen esquema
¿Por qué funcionan los AGs?
• Definición.- Un esquema es una cadena formada por símbolos del alfabeto {0,1,*}
 Ejemplos
H1 = **101*00**
H2 = 10*******1
Un esquema representa a un conjunto de cromosomas: aquellos que tienen el
mismo valor que el esquema en las posiciones fijas (0 ó 1) y cualquier valor en las
posiciones *
0110110001 1010100000 0010110011 son de la clase H1
• Definición.- La longitud de un esquema H, (H), es la distancia entre el primer y
el último símbolo fijo; y el orden, o(H), es el número de símbolos distintos de *
(**101*00**) = 8 - 3 = 5 o(**101*00**) = 5
(10*******1) = 10 - 1 = 9 o(10*******1) = 3
Algunos números . . .
• Si N es el tamaño de la población y L la longitud del cromosoma
−Cada esquema H casa con 2 L-o(H) cromosomas distintos
−Cada cromosoma casa con 2 L esquemas distintos
−El número de esquemas distintos es 3 L
−En la población están representados un número de esquemas comprendido en [ 2 L, N * 2
L ]
• Hipótesis N 3 [Holland, 1975] .- El número de esquemas que están representados
de forma efectiva en una población de tamaño N es al menos del orden de N 3
• Paralelismo Implícito: Un AG con una población de tamaño N procesa de forma
efectiva al menos un número de N 3 esquemas
• [Michalewicz, 1996]: Esto constituye posiblemente el único ejemplo conocido en
el que la explosión combinatoria juega a nuestro favor (procesando N individuos se están
procesando, al menos, N3 esquemas)
¿Por qué es importante procesar esquemas?
• Notación
 número de cadenas en la población que casan con el
esquema H en la generación t
eval(H,t) fitness medio de los cromosomas del esquema H presentes
en la generación t
 fitness medio de los cromosomas de la generación t
• Después de la fase de selección (ruleta) el número esperado de
cromosomas en la población que casan con el esquemaH es
F(t)
( )
t
H,
ξ
( ) ( )
F(t)
t)
eval(H,
t
H,
ξ
1
t
H,
ξ 
=
+
¿Por qué es importante procesar esquemas?
• Por efecto del cruce algunos cromosomas dejan de pertenecer al
esquema H (y quizá otros pasen a formar parte de él) con lo que
después del cruce (en un punto)
( ) ( ) ( )






−

−


+
1
L
H
δ
p
1
F(t)
t)
eval(H,
t
H,
ξ
1
t
H,
ξ c
( ) ( ) ( )







−
−

−


+ m
c p
o(H)
1
L
H
δ
p
1
F(t)
t)
eval(H,
t
H,
ξ
1
t
H,
ξ
• Análogamente por efecto de la mutación (supuesta pm
muy baja) tendremos finalmente que
Teorema Fundamental de los AGs
• Teorema de los esquemas.- Los esquemas “cortos”, de “orden
bajo” y “superiores a la media” reciben un incremento exponencial
de cromosomas en las sucesivas generaciones
• Hipótesis de bloques constructivos (Building Block Hypothesis).-
UnAG busca soluciones semi-óptimas mediante la combinación de
esquemas “cortos”, de “orden bajo” y “superiores a la media”.
Algunos Problemas . . .
• Epistasis: Interacción de los genes de un cromosoma
• Muy fuerte: no hay esquemas buenos
• Muy débil: el problema es muy fácil
• Consecuencias
• Deception: p.e. cuando la solución óptima pertenece a un esquema
“corto”, de “orden bajo” pero “inferior a la media”
Resumen
• Los AG son algoritmos de búsqueda basados la evolución natural,
concretamente combinan
• La herencia genética y
• La supervivencia del más fuerte
• Se trata de algoritmos de búsqueda “débiles” porque utilizan poco
conocimiento del problema: solamente el valor de la función fitness
• Pero precisamente por eso son muy flexibles y robustos
• Normalmente encuentran soluciones semi-óptimas en un tiempo razonable
• Tienen fundamentos teóricos, pero son bastante discutibles
Otros Algoritmos Evolutivos
• Nuevas codificaciones
• Vectores de números reales
• Permutaciones …
• Otras estrategias de selección/aceptación
• Torneo, ranking …
• Estado permanente
• Elitismo
• Aceptación metrópolis
• Nuevos operadores
• Cruce uniforme (rep. Binarias y reales)
• Cruce aritmético (rep. Reales)
• Generalizaciones de operadores de cruce para representaciones basadas en el
orden
• Mutación por intercambio simple, por inserción, por inversión …
Otros Algoritmos Evolutivos
• Hibridaciones
• Con Búsqueda Local (algoritmos meméticos)
• Lamarkiana cambio en el espacio de búsqueda
• Efecto Baldwin Modificación de la función fitness
• Con utilización de heurísticos
• En la inicialización
• En la función fitness
• En los operadores
• Peligros / Soluciones
• Convergencia Prematura
• Mecanismos correctores que garanticen la diversidad
• (ej. distancias fenotípicas/genotípicas)
Aplicaciones de AGs a problemas de
Optimización y Aprendizaje
• El problema delViajante de Comercio (TSP)
• El problema del Coloreado de Grafos
• Identificación de variables en Minería de Datos
• Obtención de clasificadores basados en prototipos
• El problema Job Shop Scheduling (JSS)
Aplicación de AGs al Problema del
Viajante
• Cálculo de la ruta óptima que pasa por todos los vértices en un
grafo no dirigido completo.
10
20
15
12
8
6
Palacio de Ferrera
Padres Franciscanos
Ayuntamiento Teatro Palacio Valdés
Aplicación de AGs al Problema del
Viajante
• Codificación basada en permutaciones
Genotipo:
1 5 3 2 4
Fenotipo:
=
1 5
3
2
4
0
Aplicación de AGs al Problema del
Viajante
• Operadores de cruce:
• PMX, cruce en un punto basado en el orden, idem en dos puntos
8
7
6
5
4
3
2
1
0 5
4
3
Hijo
Puntos de corte
1
8
4
6
0
7
2 1
8
6
0
7
2
3 5
Aplicación de AGs al Problema del
Viajante
• Operadores de mutación:
– Intercambio (aleatorio), inversión (de una subcadena)
8
7
6
5
4
3
2
1
0
Límites del
intervalo 8
7
2
3
4
5
6
1
0
AppletTSP
Aplicación de AGs al Coloreado de
grafos
• Colorear un grafo con el menor número de colores posible.
1
2
3
4
5
Aplicación de AGs al Coloreado de
grafos
• Codificación basada en permutaciones
Fenotipo:
3
1
4
5
2
Individuo1
(1,2,3,4,5)
Fitness = 5 – 3 = 2
Individuo2
(4,5,3,2,1)
Fenotipo:
3
1
4
5
2
Fitness = 5 – 4 = 1
Genotipo: Genotipo:
Aplicación de AGs al Coloreado de grafos
• Operadores de cruce:
• cruce en un punto basado en el orden
5 2 4 1 3
1 5 3 2 4
1 5 3 2 4
1 5 2 4 3
• Operadores de mutación:
– Intercambio
1 4 3 2 5
Applet Coloreado de grafos
Aplicación de AGs al Tratamiento
de Datos
• Tratamiento de Datos en Aprendizaje Automático o Minería de Datos
• Dos aplicaciones:
• Identificación de variables (atributos relevantes)
• Obtención de prototipos
Ejemplos/datos
Patrones prototipos /Reglas
if-then
Identificación deVariables
• Seleccionar variables y asignar a cada una un cierto grado en función
de su importancia en la consecución del objetivo final
• Individuo: vector de pesos (números reales)
(w1, ….., wp), con wi [0,1] i=1 .. p
• Restricciones:
• Fitness:
p
,..,
j
,
, j
p
j
j 1
1
0
1
1
=


=

=
w
w
( )
n
x
y
n
k
f
p
j
f
k
j
j
k
 
= =
















−
1
2
1
1
w
Identificación deVariables
• Población Inicial: dos heurísticos h1 y h2 con probabilidad 1/2
• Operador de cruce: cruce aritmético
• Cada componente de un hijo se obtiene por combinación lineal convexa de
las correspondientes componentes de sus progenitores
• Operadores de mutación:
• Mutación por intercambio simple
• Por sustitución de un porcentaje del individuo
• Utilizando h1
• Utilizando h2
Obtención de Prototipos
• Obtener un buen mapa de prototipos (no muchos y de alta calidad)
• Cada uno de los ejemplos de un problema viene dado por una tupla <p, s>
p: localización en el espacio
s: clase a la que pertenece
• Prototipo: Representa a un conjunto de ejemplos
Se denota como los ejemplos, por una tupla <p, s>
Región: Zona del espacio donde todos los ejemplos se clasifican con la clase de un
prototipo
Todos los ejemplos cuyo prototipo más cercano sea r pertenecen a su región
• Clasificador: Conjunto de N prototipos
Obtención de Prototipos
• Individuo: Un clasificador
{r1, …, rN} de prototipos (ri = <localización, clase>)
• Fitness: Medida de la calidad del clasificador considerando:
• La exactitud (capacidad de clasificación)
• Medida relativa del número de instancias que clasifica frente a las que sería
esperable que clasificase, teniendo en cuenta el número de clases y de
prototipos.
Obtención de Prototipos
• Operador de mutación:
• Etiqueta cada prototipo con la clase más popular de su región
V11
V12
Prototipo de clase 1
Prototipo de clase 2
V11
V12
Ej. de clase 1
Ej. de clase 2
Obtención de Prototipos
• Operador de reproducción
• Introduce un nuevo prototipo en el clasificador (ruleta)
• Se intenta que los prototipos solo contengan ejemplos de su misma clase
V11
V12
Región 1
Prototipo de clase 1
Prototipo de clase 2
V11
V22
Región 1 Región 2
Ej. de clase 1
Ej. de clase 2
V11
V1
2
Obtención de Prototipos
• Operador de lucha
• Provee a un prototipo ri de la capacidad de obtener ejemplos de otro
prototipo ri’ (ruleta)
• Operador de movimiento
• El prototipo modifica su vector de características para moverse al centroide
de su región
• Operador de muerte
• Sirve para eliminar prototipos poco representativos con una cierta
probabilidad (ruleta)
Aplicación de AGs a problemas Job
Shop Scheduling (JSS)
• Dados
• n trabajos J={J1,...,Jn} y m máquinas R={R1,...,Rm}
• El conjunto de operaciones de cada trabajo Ji = {i1,...,im}
• La máquina requerida por cada operación Mij  R
• La duración duij de cada operación
• Objetivo
• Asignar un tiempo de inicio stij a cada una de las tareas ij (schedule) que
minimice el makespan (tiempo de finalización de la última)
• Restricciones
• Precedencia: (stil + duil  stil+1)
• Capacidad: (stil + duil  stjk )  (stjk + dujk  stil )
• No-interrupción de las operaciones
Ejemplo
• Instancia del problema
R={R1, R2, R3} J1=( 11(R1,3), 12(R2,3), 13(R3,1) )
J = {J1, J2,J3} J2=( 21(R1,2), 22(R3,3), 23(R2,3) )
 J3=( 31(R2,4), 32(R1,3), 33(R3,2) )
• Una Solución
J1 11 12 13
J2 21 22 23
J3 31 32 33
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Aplicación de AGs a problemas JSS.
Representación gráfica
11 R1 12 R2 13 R3
3 3
21 R1 22 R3 23 R2
2
3
31 R3 32 R1 33 R3
4
3
end
1
3
4
start
0
0
0
3
2
3
3
2
3
4
3
3
3
4
1
4
3
1
3
4
3
11 R1 12 R2 13 R3
3 3
21 R1 22 R3 23 R2
2 3
31 R2 32R1 33 R3
4
3
end
1
3
4
start
0
0
0
2
3
3
4
3
3
• Problema: grafo de
restricciones
• Solución: subgrafo
solución
AGs para el JSS: Codificación
• Lo esencial es representar ordenes entre las tareas que requieren la
misma máquina
• Permutaciones Convencionales
• Pueden representar inconsistencias para los trabajos y las máquinas
• Ejemplo
(4 7 1 6 5 8 3 2 9)
• Permutaciones con Repetición
• Solo pueden representar inconsistencias para las máquinas
• Ejemplo
(2 3 1 2 2 3 1 3 1)
AGs para el JSS: Espacio de Búsqueda
• Planificaciones Semiactivas
• Planificaciones Activas
J1 11 12 13
J2 21 22 23
J3 31 32 33
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
J1 11 12 13
J2 21 22 23
J3 31 32 33
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Planificaciones
Factibles
Planificaciones
Semiactivas
Planificaciones
Activas
Planificaciones
Óptimas
AGs para el JSS: Evaluación
Algoritmo G&T [Giffler&Thomson, 1960]
A = {i1; 1  i  n};
mientras ( A   ) {
Determinar la tarea ’A tal que tiene el menor tiempo
de fin posible en el estado actual, es decir t’+du’  t +
du, A;
Sea M’ la máquina requerida por ’, se construye el
conjunto B formado por las tareas de A que requieren la
máquina M’;
Se eliminan de B aquellas tareas que no pueden
comenzar antes de t’+du’;
Seleccionar * de B con algún criterio y planificarla en el
tiempo más temprano posible;
Borrar * de A y añadir aA la sucesora de * en caso de
que exista, es decir si * no es la última tarea de su
trabajo;
}
fin.
11 R1 12 R2 13 R3
3 3
21 R1 22 R3 23 R2
2
3
31 R3 32 R1 33 R3
4
3
end
1
3
4
start
0
0
0
3
2
3
3
2
3
4
3
3
3
4
1
4
3
1
3
4
3
J1 11 12 13
J2 21 22 23
J3 31 32 33
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Cromosoma
(2 3 1 2 2 3 1 3 1)
Datos del
Problema
Fenotipo
Algoritmo de Decodificación
G&T
Seleccionar * de B
más a la izda.
en el cromosoma
V(c) = 1 / Makespan(c)
Fitness(c) =V(c) – Min (V(c’); c’P(t))
AGs para el JSS: Operadores de Cruce y Mutación
• Cruce GOX
• Mantiene el orden y la posición de una subcadena del primer padre y el orden en el
segundo del resto de los genes (tiene un efecto de mutación implícita importante)
• Mutación OX
– Alteración aleatoria de una subcadena pequeña del cromosoma
(2 3 1 2 2 3 1 3 1) (3 1 1 2 3 2 2 1 3)
(3 1 1 2 2 3 2 1 3)
Estudio Experimental
• Diseño del Experimento
• Instancias: Repositorio OR-library http://people.brunel.ac.uk/~mastjjb/jeb/info.html
• Parámetros del AG
• Codificación: Permutaciones con Repetición
• Población Inicial: Aleatoria
• Selección proporcional al Fitness
• Cruce GOX, Mutación OX
• Tamaño de la población: 100
• Número de Generaciones: 200
• Pc = 0.7 Pm=0.2
• Número de ejecuciones por instancia: 50
• Medidas: Mejor Solución, Error Medio Porcentual, DesviaciónTípica Porcentual,
Tiempo de Ejecución
Resultados Experimentales
1000
1020
1040
1060
1080
1100
1120
1140
0 20 40 60 80 100 120 140 160 180 200
Promedio fitness
exp-8
1000
1050
1100
1150
1200
1250
1300
0 20 40 60 80 100 120 140 160 180 200
Promedio media_fitness
exp-8
Convergencia del AG (Problema FT10)
Media del Mejor
Fitness
Media del Fitness
Medio
Resultados Experimentales
Instancia
Tamaño Mejor Solución
Conocida
(* óptima)
Mejor EM% DE%
Tiempo (s.)
(1 ejecución)
n m
FT10 10 10 930* 968 0.90 1.96 1.6
FT20 20 5 1165* 1237 0.86 2.32 2.4
abz7 20 15 665 733 2.16 1.72 7.3
abz8 20 15 670 754 2.83 2.51 7.3
abz9 20 15 686 767 3.10 2.19 7.3
la21 15 10 1046* 1120 1.08 2.29 3.1
la24 15 10 935* 1007 1.24 2.13 3.0
la25 15 10 977* 1021 0.99 2.09 3.1
la27 20 10 1235* 1337 1.04 2.00 4.8
la29 20 10 1153 1265 1.28 2.44 4.8
La38 15 15 1196* 1292 1.12 2.52 4.5
La40 15 15 1222* 1314 0.97 2.09 4.5
Comparación de las
Codificaciones
680
700
720
740
760
780
800
820
840
860
880
900
0 100 200 300 400 500 600 700 800 900 1000
Mean Makespan Evolution
RP codification
CP codification
Media del Fitness Medio
(problema ABZ7)
Evaluación y validación de AEs
• Calcular Mejor/Media/Peor/Varianza de al menos 10 ejecuciones
• Realizar las comparaciones en igualdad de condiciones
• Seleccionar los problemas de test
• Distintos tamaños
• Diferente grado de dificultad
• Probar distintos esquemas
• Análisis paramétrico previo
• Comparar resultados con otras técnicas existentes
Resumen
• Los AG son una herramienta simple, flexible y robusta para resolver
problemas de la familia CSP
• Los factores de diseño más importantes son
• El esquema de Codificación
• El algoritmo de Evaluación
• La estrategia de Selección/Aceptación
• No obstante un AG convencional produce resultados de calidad
moderada
• Se pueden mejorar con
• Búsqueda Local
• Inicialización heurística
• . . . .

Más contenido relacionado

La actualidad más candente

Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural NetworkNainaBhatt1
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithmsanas_elf
 
確率微分方程式の基礎
確率微分方程式の基礎 確率微分方程式の基礎
確率微分方程式の基礎 HanpenRobot
 
Query Facet Mapping and its Applications in Streaming Services: The Netflix C...
Query Facet Mapping and its Applications in Streaming Services: The Netflix C...Query Facet Mapping and its Applications in Streaming Services: The Netflix C...
Query Facet Mapping and its Applications in Streaming Services: The Netflix C...Sudeep Das, Ph.D.
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-Takuya Akiba
 
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)WON JOON YOO
 
Generative Adversarial Networks
Generative Adversarial NetworksGenerative Adversarial Networks
Generative Adversarial NetworksMark Chang
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
 
Training Neural Networks
Training Neural NetworksTraining Neural Networks
Training Neural NetworksDatabricks
 
[논문리뷰] 딥러닝 적용한 EEG 연구 소개
[논문리뷰] 딥러닝 적용한 EEG 연구 소개[논문리뷰] 딥러닝 적용한 EEG 연구 소개
[논문리뷰] 딥러닝 적용한 EEG 연구 소개Donghyeon Kim
 
Intro to deep learning
Intro to deep learning Intro to deep learning
Intro to deep learning David Voyles
 
An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)pauldix
 
[GAN by Hung-yi Lee]Part 1: General introduction of GAN
[GAN by Hung-yi Lee]Part 1: General introduction of GAN[GAN by Hung-yi Lee]Part 1: General introduction of GAN
[GAN by Hung-yi Lee]Part 1: General introduction of GANNAVER Engineering
 
어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?
어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?
어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?NAVER Engineering
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by ExampleNobal Niraula
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic AlgorithmsAhmed Othman
 

La actualidad más candente (20)

Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural Network
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Distributed ADMM
Distributed ADMMDistributed ADMM
Distributed ADMM
 
確率微分方程式の基礎
確率微分方程式の基礎 確率微分方程式の基礎
確率微分方程式の基礎
 
Perceptron & Neural Networks
Perceptron & Neural NetworksPerceptron & Neural Networks
Perceptron & Neural Networks
 
Query Facet Mapping and its Applications in Streaming Services: The Netflix C...
Query Facet Mapping and its Applications in Streaming Services: The Netflix C...Query Facet Mapping and its Applications in Streaming Services: The Netflix C...
Query Facet Mapping and its Applications in Streaming Services: The Netflix C...
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
 
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
 
Hashing
HashingHashing
Hashing
 
Generative Adversarial Networks
Generative Adversarial NetworksGenerative Adversarial Networks
Generative Adversarial Networks
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
Training Neural Networks
Training Neural NetworksTraining Neural Networks
Training Neural Networks
 
[논문리뷰] 딥러닝 적용한 EEG 연구 소개
[논문리뷰] 딥러닝 적용한 EEG 연구 소개[논문리뷰] 딥러닝 적용한 EEG 연구 소개
[논문리뷰] 딥러닝 적용한 EEG 연구 소개
 
Intro to deep learning
Intro to deep learning Intro to deep learning
Intro to deep learning
 
An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)
 
[GAN by Hung-yi Lee]Part 1: General introduction of GAN
[GAN by Hung-yi Lee]Part 1: General introduction of GAN[GAN by Hung-yi Lee]Part 1: General introduction of GAN
[GAN by Hung-yi Lee]Part 1: General introduction of GAN
 
어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?
어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?
어떻게 해야 기계에게 글을 잘 읽고 말할 수 있게 할까?
 
Recurrent Neural Network
Recurrent Neural NetworkRecurrent Neural Network
Recurrent Neural Network
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by Example
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic Algorithms
 

Similar a Algoritmos genéticos

Inteligencia
InteligenciaInteligencia
Inteligenciagabinoweb
 
Documentación doctorado
Documentación doctoradoDocumentación doctorado
Documentación doctoradocompunova
 
Introduccion a los algoritmos geneticos
Introduccion a los algoritmos geneticosIntroduccion a los algoritmos geneticos
Introduccion a los algoritmos geneticosNeiderTavera2
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosESCOM
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlabUNIV OF PERU
 
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.SantiagoGarridoBulln
 
Algoritmos evolutivos ii
Algoritmos evolutivos iiAlgoritmos evolutivos ii
Algoritmos evolutivos iinando85
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinHamilton
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacinguest2f5cf8
 
Presentacion Algortimos Geneticos
Presentacion Algortimos GeneticosPresentacion Algortimos Geneticos
Presentacion Algortimos Geneticospechever
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos EvolutivosJorge Fierro
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos EvolutivosJorge Fierro
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificialPaula Cordero Moreno
 
Simulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria IngenieríaSimulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria IngenieríaNovarMichellCastaeda
 
Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelAlvaro Gil
 

Similar a Algoritmos genéticos (20)

Inteligencia
InteligenciaInteligencia
Inteligencia
 
Documentación doctorado
Documentación doctoradoDocumentación doctorado
Documentación doctorado
 
Introduccion a los algoritmos geneticos
Introduccion a los algoritmos geneticosIntroduccion a los algoritmos geneticos
Introduccion a los algoritmos geneticos
 
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicosTema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
Tema 7 Aprendizaje De Sistemas Difusos Con Algoritmos GenéTicos
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
AG (1).pptx
AG (1).pptxAG (1).pptx
AG (1).pptx
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlab
 
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
 
Algoritmos evolutivos ii
Algoritmos evolutivos iiAlgoritmos evolutivos ii
Algoritmos evolutivos ii
 
Técnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrásTécnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrás
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
 
Simulacion uam
Simulacion uamSimulacion uam
Simulacion uam
 
Presentacion Algortimos Geneticos
Presentacion Algortimos GeneticosPresentacion Algortimos Geneticos
Presentacion Algortimos Geneticos
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos Evolutivos
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos Evolutivos
 
Sistemas Difusos
Sistemas DifusosSistemas Difusos
Sistemas Difusos
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificial
 
Simulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria IngenieríaSimulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria Ingeniería
 
Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con Promodel
 

Más de Spacetoshare

Probles on Algorithms
Probles on AlgorithmsProbles on Algorithms
Probles on AlgorithmsSpacetoshare
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosSpacetoshare
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemáticaSpacetoshare
 
Ejercicios Investigación de operaciones
Ejercicios Investigación de operacionesEjercicios Investigación de operaciones
Ejercicios Investigación de operacionesSpacetoshare
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamientoSpacetoshare
 
Como escribir tesis
Como escribir tesisComo escribir tesis
Como escribir tesisSpacetoshare
 
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSCOMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSSpacetoshare
 
Curso básico de Ensamblador
Curso básico de EnsambladorCurso básico de Ensamblador
Curso básico de EnsambladorSpacetoshare
 
Ejercicios álgebra superior
Ejercicios álgebra superiorEjercicios álgebra superior
Ejercicios álgebra superiorSpacetoshare
 
INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA Spacetoshare
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuacionesSpacetoshare
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemáticaSpacetoshare
 
Tareas números complejos
Tareas números complejosTareas números complejos
Tareas números complejosSpacetoshare
 

Más de Spacetoshare (20)

EL HUECO.pdf
EL HUECO.pdfEL HUECO.pdf
EL HUECO.pdf
 
Probles on Algorithms
Probles on AlgorithmsProbles on Algorithms
Probles on Algorithms
 
Sums ADA
Sums ADASums ADA
Sums ADA
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemática
 
Fórmulas ADA
Fórmulas ADAFórmulas ADA
Fórmulas ADA
 
Ejercicios Investigación de operaciones
Ejercicios Investigación de operacionesEjercicios Investigación de operaciones
Ejercicios Investigación de operaciones
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Ejercicios jess
Ejercicios jessEjercicios jess
Ejercicios jess
 
Sistemas Expertos
Sistemas ExpertosSistemas Expertos
Sistemas Expertos
 
Como escribir tesis
Como escribir tesisComo escribir tesis
Como escribir tesis
 
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOSCOMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
COMPONENTES BÁSICOS DE UN SISTEMA MS-DOS
 
Curso básico de Ensamblador
Curso básico de EnsambladorCurso básico de Ensamblador
Curso básico de Ensamblador
 
Ejercicios álgebra superior
Ejercicios álgebra superiorEjercicios álgebra superior
Ejercicios álgebra superior
 
INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA INDUCCIÓN MATEMÁTICA
INDUCCIÓN MATEMÁTICA
 
Sistemas de ecuaciones
Sistemas de ecuacionesSistemas de ecuaciones
Sistemas de ecuaciones
 
Determinantes
DeterminantesDeterminantes
Determinantes
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemática
 
Tareas números complejos
Tareas números complejosTareas números complejos
Tareas números complejos
 
Ejer
EjerEjer
Ejer
 

Último

Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 

Algoritmos genéticos

  • 2. ¿Cuál es el Resolvedor Natural más Potente? El cerebro (humano) que creó “la rueda, NewYork, las guerras y demás” (según Douglas Adams) La evolución natural que creó el cerebro humano (según Darwin et al.)
  • 3. Indice • Introducción a los Algoritmos Evolutivos • El Algoritmo Genético Simple: fundamentos • Otros Algoritmos Evolutivos • Aplicaciones a problemas de Optimización y Aprendizaje
  • 4. ¿Qué son los Algoritmos Evolutivos? • Algoritmos de búsqueda (de la solución que optimiza una función objetivo dentro de un espacio de soluciones potenciales) basados en la mecánica de la evolución, en particular • La selección natural • La herencia genética • Combinan la “supervivencia del más fuerte” con “intercambio de información” entre individuos para generar descendientes • Así se consigue crear sistemas de cómputo artificiales con características propias de los sistemas naturales, tales como • Robustez, Flexibilidad, Auto-organización, Reproducción, ...
  • 5. Un poco de historia de los AEs • Fueron introducidos por John Holland y algunos colegas en la Universidad de Michigan en los años 70. Sus objetivos fueron • Abstraer y explicar el proceso adaptativo de los sistemas naturales • Diseñar sistemas artificiales que emulasen los mecanismos esenciales de los sistemas naturales • Primera monografía [Holland 1975]: “Adaptation in Natural and Artificial Systems” • Otras referencias relevantes más recientes • [Goldberg 1989] : “Genetic Algoritms in Search Optimization and Machine Learning” • [Michalewick 1992, 1994, 1996] : “Genetic Algoritms = Data Structures + Evolution Programs”
  • 6. ¿A qué se debe el éxito de los AEs? • Han demostrado ser útiles en problemas de búsqueda en muchos campos • Ingenierías, Ciencias, Administración, Industria, ... • Son simples, fáciles de entender y de diseñar • No tienen limitaciones sobre la función objetivo • Continuidad, derivabilidad y unimodalidad • Son robustos y razonablemente eficientes, y además ... • Son divertidos
  • 7. Características de los AEs • Utilizan codificaciones de las soluciones (normalmente cadenas de símbolos) • Buscan a partir de un conjunto de puntos del espacio de búsqueda • Solamente utilizan el valor de la función objetivo (en lugar de derivadas u otras propiedades): NO REQUIEREN MÁS INFORMACIÓN DEL DOMINIO DEL PROBLEMA • Usan reglas de transición probabilistas en lugar de deterministas
  • 8. La metáfora Entorno o Ecosistema Problema Individuo o Fenotipo Solución potencial del Problema Cromosoma o Genotipo Cadena de Símbolos Grado de Adaptación al Entorno Fitness o Calidad de la Solución Superviviencia, Reproducción, Mutación Operadores de Selección/Aceptación, Cruce, Mutación Lo Natural Lo Artificial
  • 9. Componentes esenciales de un AE • Un método de codificación de los individuos o soluciones potenciales del problema, por ejemplo una cadena de bits (codificación binaria) • Una función de evaluación (fitness) • Una forma de generar la población inicial • Operadores genéticos: Selección, Cruce, Mutación, ... • Un montón de parámetros: Pc, Pm,Tamaño de la Población, Número de Generaciones, ...
  • 10. Estructura de un AE Algoritmo Evolutivo Leer Parámetros (Pc, Pm, NroGen, … ); t  0; Iniciar(P(t)); evaluar(P(t)); mientras (no ultima_generación) { t  t+1; P’(t) = selección(P(t-1)); // Op. Selección P’’(t) = alterar(P’(t)); // Ops. Cruce y Mutación evaluar( P’’(t)); // Función Fitness P(t) = aceptar(P’(t), P’’(t)); // Op. de Aceptación } fin.
  • 11. Algoritmo Genético Simple (SGA) • Codificación Binaria • Población inicial aleatoria • Operador de Cruce en un punto • Operador de Mutación simple: alteración de un bit • Selección proporcional al fitness • Aceptación incondicional de los hijos (los hijos reemplazan a los padres)
  • 12. Codificación Binaria Cromosoma (Genotipo) Solución Potencial (Fenotipo) Problema 1: Maximizar una función f : [a,b]   → + Número real x[a,b] Problema 2: Organizar 8 trabajos en 2 Fases S = {T1 F1, T2 F0, T3 F1, T4 F0, T5 F0, T6 F0, T7 F1, T8 F1} Calidad de la Solución Potencial (Fitness) Problema 1: valor de f(x) Problema 2: Medida del beneficio (inversa del coste) de S
  • 13. Decodificación de Cromosomas • Es el cálculo del Fenotipo a partir del Genotipo • Muchas veces sirve algún algoritmo voraz (p.e. familia NP) • Es la operación más costosa del AG • El Fitness se calcula de forma inmediata a partir del Fenotipo Genotipo Datos Problema Fenotipo Algoritmo
  • 14. Representación Binaria (Fenotipo) Genotipo 8 bits Fenotipo: • Entero • Real • Planificación • ... • Otros
  • 15. Fenotipo de Tipo Entero Genotipo: 1*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 1*20 = 128 + 32 + 2 + 1 = 163 = 163 Fenotipo:
  • 16. Fenotipo de Tipo Real Número real entre 2.5 y 20.5 con 8 digitos ( ) 9609 . 13 5 . 2 5 . 20 256 163 5 . 2 = − + = x = 13.9609 Genotipo: Fenotipo:
  • 17. Fenotipo de Tipo Planificación 8 trabajos en dos fases Genotipo: = 1 2 3 4 5 6 7 8 2 1 2 1 1 1 2 2 Tr, Fase Fenotipo
  • 18. Operadores de Cruce • Cruce en un punto • Genera 2 hijos a partir de 2 padres • Cada hijo hereda características de los dos padres • Es la componente de EXPLOTACIÓN 1 1 1 1 1 1 1 0 0 0 0 0 0 0 padres 1 1 1 0 0 0 0 0 0 0 1 1 1 1 hijos
  • 19. Operador de Mutación • La mutación altera de forma aleatoria cada bit • La probabilidad de aplicación debe ser baja • Introduce características aleatorias en los cromosomas • Es la componente de EXPLORACIÓN del AG 1 1 1 1 1 1 1 1 1 1 0 1 1 1 antes después
  • 20. Operador de Selección • Selección de P(t) a partir de P(t-1) • Métodos Clásicos • Selección proporcional al fitness (regla de la ruleta) • Selección de s  P(t) con probabilidad f(s)/(f(s’); s’P(t)) • Selección por torneo • Elige un subconjunto aleatorio S  P(t) y selecciona el mejor s  S • Problema: Ajuste de la presión selectiva • Alta: convergencia prematura • Baja: no hay convergencia • Solución: escalado del fitness
  • 21. Ejemplo de Selección, Cruce y Mutación 000110010111 111010101100 001110101001 111011011100 111010101100 000110010111 111010101100 001110101001 8 32% 6 24% 6 24% 5 20% 111010010111 000110101100 111010101001 001110101100 111010010111 000110101100 111110101001 001110101101 a) Población actual b) Fitness y prob. de selección c) Selección e) Cruce f) Mutación 4 8 d) Pto. de corte
  • 22. Ejemplo de aplicación del SGA • Problema • Cálculo del máximo de la función f(x) = x*sen(10x)+2.0  en el intervalo [-1,2] 0 0,5 1 1,5 2 2,5 3 3,5 4 -1 0 1 2 x f(x) • Solución – Codificación: binaria – Población inicial: cadenas aleatorias – Evaluación:  s → eval(s) = x [-1,2]  Fitness(s) = f(x) – Operadores Genéticos: . . . – Parámetros: Pc, Pm, Ngen, Tpob, . . .
  • 23. Problema Máximo Función • Exploración del espacio de búsqueda • Óptimos locales ( ) 6 7 cos 15 3 5 320 100        +        + − − = x x sen X x F
  • 24. Problema Máximo Función • Codificación binaria de 32 bits • Selección • Regla de la ruleta • Fitness • F(x), F es la función problema • Operadores utilizados • Cruce en un punto • Mutación convencional
  • 25. Problema Máximo Función • Ejecución detallada
  • 26. ¿Por qué funcionan los AGs? Cadena Fitness (f(x) = x2) 01101 169 (=132) 11000 576 (=242) 01000 64 (=82) 10011 361 (=192) 1**** es un buen esquema
  • 27. ¿Por qué funcionan los AGs? • Definición.- Un esquema es una cadena formada por símbolos del alfabeto {0,1,*}  Ejemplos H1 = **101*00** H2 = 10*******1 Un esquema representa a un conjunto de cromosomas: aquellos que tienen el mismo valor que el esquema en las posiciones fijas (0 ó 1) y cualquier valor en las posiciones * 0110110001 1010100000 0010110011 son de la clase H1 • Definición.- La longitud de un esquema H, (H), es la distancia entre el primer y el último símbolo fijo; y el orden, o(H), es el número de símbolos distintos de * (**101*00**) = 8 - 3 = 5 o(**101*00**) = 5 (10*******1) = 10 - 1 = 9 o(10*******1) = 3
  • 28. Algunos números . . . • Si N es el tamaño de la población y L la longitud del cromosoma −Cada esquema H casa con 2 L-o(H) cromosomas distintos −Cada cromosoma casa con 2 L esquemas distintos −El número de esquemas distintos es 3 L −En la población están representados un número de esquemas comprendido en [ 2 L, N * 2 L ] • Hipótesis N 3 [Holland, 1975] .- El número de esquemas que están representados de forma efectiva en una población de tamaño N es al menos del orden de N 3 • Paralelismo Implícito: Un AG con una población de tamaño N procesa de forma efectiva al menos un número de N 3 esquemas • [Michalewicz, 1996]: Esto constituye posiblemente el único ejemplo conocido en el que la explosión combinatoria juega a nuestro favor (procesando N individuos se están procesando, al menos, N3 esquemas)
  • 29. ¿Por qué es importante procesar esquemas? • Notación  número de cadenas en la población que casan con el esquema H en la generación t eval(H,t) fitness medio de los cromosomas del esquema H presentes en la generación t  fitness medio de los cromosomas de la generación t • Después de la fase de selección (ruleta) el número esperado de cromosomas en la población que casan con el esquemaH es F(t) ( ) t H, ξ ( ) ( ) F(t) t) eval(H, t H, ξ 1 t H, ξ  = +
  • 30. ¿Por qué es importante procesar esquemas? • Por efecto del cruce algunos cromosomas dejan de pertenecer al esquema H (y quizá otros pasen a formar parte de él) con lo que después del cruce (en un punto) ( ) ( ) ( )       −  −   + 1 L H δ p 1 F(t) t) eval(H, t H, ξ 1 t H, ξ c ( ) ( ) ( )        − −  −   + m c p o(H) 1 L H δ p 1 F(t) t) eval(H, t H, ξ 1 t H, ξ • Análogamente por efecto de la mutación (supuesta pm muy baja) tendremos finalmente que
  • 31. Teorema Fundamental de los AGs • Teorema de los esquemas.- Los esquemas “cortos”, de “orden bajo” y “superiores a la media” reciben un incremento exponencial de cromosomas en las sucesivas generaciones • Hipótesis de bloques constructivos (Building Block Hypothesis).- UnAG busca soluciones semi-óptimas mediante la combinación de esquemas “cortos”, de “orden bajo” y “superiores a la media”.
  • 32. Algunos Problemas . . . • Epistasis: Interacción de los genes de un cromosoma • Muy fuerte: no hay esquemas buenos • Muy débil: el problema es muy fácil • Consecuencias • Deception: p.e. cuando la solución óptima pertenece a un esquema “corto”, de “orden bajo” pero “inferior a la media”
  • 33. Resumen • Los AG son algoritmos de búsqueda basados la evolución natural, concretamente combinan • La herencia genética y • La supervivencia del más fuerte • Se trata de algoritmos de búsqueda “débiles” porque utilizan poco conocimiento del problema: solamente el valor de la función fitness • Pero precisamente por eso son muy flexibles y robustos • Normalmente encuentran soluciones semi-óptimas en un tiempo razonable • Tienen fundamentos teóricos, pero son bastante discutibles
  • 34. Otros Algoritmos Evolutivos • Nuevas codificaciones • Vectores de números reales • Permutaciones … • Otras estrategias de selección/aceptación • Torneo, ranking … • Estado permanente • Elitismo • Aceptación metrópolis • Nuevos operadores • Cruce uniforme (rep. Binarias y reales) • Cruce aritmético (rep. Reales) • Generalizaciones de operadores de cruce para representaciones basadas en el orden • Mutación por intercambio simple, por inserción, por inversión …
  • 35. Otros Algoritmos Evolutivos • Hibridaciones • Con Búsqueda Local (algoritmos meméticos) • Lamarkiana cambio en el espacio de búsqueda • Efecto Baldwin Modificación de la función fitness • Con utilización de heurísticos • En la inicialización • En la función fitness • En los operadores • Peligros / Soluciones • Convergencia Prematura • Mecanismos correctores que garanticen la diversidad • (ej. distancias fenotípicas/genotípicas)
  • 36. Aplicaciones de AGs a problemas de Optimización y Aprendizaje • El problema delViajante de Comercio (TSP) • El problema del Coloreado de Grafos • Identificación de variables en Minería de Datos • Obtención de clasificadores basados en prototipos • El problema Job Shop Scheduling (JSS)
  • 37. Aplicación de AGs al Problema del Viajante • Cálculo de la ruta óptima que pasa por todos los vértices en un grafo no dirigido completo. 10 20 15 12 8 6 Palacio de Ferrera Padres Franciscanos Ayuntamiento Teatro Palacio Valdés
  • 38. Aplicación de AGs al Problema del Viajante • Codificación basada en permutaciones Genotipo: 1 5 3 2 4 Fenotipo: = 1 5 3 2 4 0
  • 39. Aplicación de AGs al Problema del Viajante • Operadores de cruce: • PMX, cruce en un punto basado en el orden, idem en dos puntos 8 7 6 5 4 3 2 1 0 5 4 3 Hijo Puntos de corte 1 8 4 6 0 7 2 1 8 6 0 7 2 3 5
  • 40. Aplicación de AGs al Problema del Viajante • Operadores de mutación: – Intercambio (aleatorio), inversión (de una subcadena) 8 7 6 5 4 3 2 1 0 Límites del intervalo 8 7 2 3 4 5 6 1 0
  • 42. Aplicación de AGs al Coloreado de grafos • Colorear un grafo con el menor número de colores posible. 1 2 3 4 5
  • 43. Aplicación de AGs al Coloreado de grafos • Codificación basada en permutaciones Fenotipo: 3 1 4 5 2 Individuo1 (1,2,3,4,5) Fitness = 5 – 3 = 2 Individuo2 (4,5,3,2,1) Fenotipo: 3 1 4 5 2 Fitness = 5 – 4 = 1 Genotipo: Genotipo:
  • 44. Aplicación de AGs al Coloreado de grafos • Operadores de cruce: • cruce en un punto basado en el orden 5 2 4 1 3 1 5 3 2 4 1 5 3 2 4 1 5 2 4 3 • Operadores de mutación: – Intercambio 1 4 3 2 5
  • 46. Aplicación de AGs al Tratamiento de Datos • Tratamiento de Datos en Aprendizaje Automático o Minería de Datos • Dos aplicaciones: • Identificación de variables (atributos relevantes) • Obtención de prototipos Ejemplos/datos Patrones prototipos /Reglas if-then
  • 47. Identificación deVariables • Seleccionar variables y asignar a cada una un cierto grado en función de su importancia en la consecución del objetivo final • Individuo: vector de pesos (números reales) (w1, ….., wp), con wi [0,1] i=1 .. p • Restricciones: • Fitness: p ,.., j , , j p j j 1 1 0 1 1 =   =  = w w ( ) n x y n k f p j f k j j k   = =                 − 1 2 1 1 w
  • 48. Identificación deVariables • Población Inicial: dos heurísticos h1 y h2 con probabilidad 1/2 • Operador de cruce: cruce aritmético • Cada componente de un hijo se obtiene por combinación lineal convexa de las correspondientes componentes de sus progenitores • Operadores de mutación: • Mutación por intercambio simple • Por sustitución de un porcentaje del individuo • Utilizando h1 • Utilizando h2
  • 49. Obtención de Prototipos • Obtener un buen mapa de prototipos (no muchos y de alta calidad) • Cada uno de los ejemplos de un problema viene dado por una tupla <p, s> p: localización en el espacio s: clase a la que pertenece • Prototipo: Representa a un conjunto de ejemplos Se denota como los ejemplos, por una tupla <p, s> Región: Zona del espacio donde todos los ejemplos se clasifican con la clase de un prototipo Todos los ejemplos cuyo prototipo más cercano sea r pertenecen a su región • Clasificador: Conjunto de N prototipos
  • 50. Obtención de Prototipos • Individuo: Un clasificador {r1, …, rN} de prototipos (ri = <localización, clase>) • Fitness: Medida de la calidad del clasificador considerando: • La exactitud (capacidad de clasificación) • Medida relativa del número de instancias que clasifica frente a las que sería esperable que clasificase, teniendo en cuenta el número de clases y de prototipos.
  • 51. Obtención de Prototipos • Operador de mutación: • Etiqueta cada prototipo con la clase más popular de su región V11 V12 Prototipo de clase 1 Prototipo de clase 2 V11 V12 Ej. de clase 1 Ej. de clase 2
  • 52. Obtención de Prototipos • Operador de reproducción • Introduce un nuevo prototipo en el clasificador (ruleta) • Se intenta que los prototipos solo contengan ejemplos de su misma clase V11 V12 Región 1 Prototipo de clase 1 Prototipo de clase 2 V11 V22 Región 1 Región 2 Ej. de clase 1 Ej. de clase 2 V11 V1 2
  • 53. Obtención de Prototipos • Operador de lucha • Provee a un prototipo ri de la capacidad de obtener ejemplos de otro prototipo ri’ (ruleta) • Operador de movimiento • El prototipo modifica su vector de características para moverse al centroide de su región • Operador de muerte • Sirve para eliminar prototipos poco representativos con una cierta probabilidad (ruleta)
  • 54. Aplicación de AGs a problemas Job Shop Scheduling (JSS) • Dados • n trabajos J={J1,...,Jn} y m máquinas R={R1,...,Rm} • El conjunto de operaciones de cada trabajo Ji = {i1,...,im} • La máquina requerida por cada operación Mij  R • La duración duij de cada operación • Objetivo • Asignar un tiempo de inicio stij a cada una de las tareas ij (schedule) que minimice el makespan (tiempo de finalización de la última) • Restricciones • Precedencia: (stil + duil  stil+1) • Capacidad: (stil + duil  stjk )  (stjk + dujk  stil ) • No-interrupción de las operaciones
  • 55. Ejemplo • Instancia del problema R={R1, R2, R3} J1=( 11(R1,3), 12(R2,3), 13(R3,1) ) J = {J1, J2,J3} J2=( 21(R1,2), 22(R3,3), 23(R2,3) )  J3=( 31(R2,4), 32(R1,3), 33(R3,2) ) • Una Solución J1 11 12 13 J2 21 22 23 J3 31 32 33 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • 56. Aplicación de AGs a problemas JSS. Representación gráfica 11 R1 12 R2 13 R3 3 3 21 R1 22 R3 23 R2 2 3 31 R3 32 R1 33 R3 4 3 end 1 3 4 start 0 0 0 3 2 3 3 2 3 4 3 3 3 4 1 4 3 1 3 4 3 11 R1 12 R2 13 R3 3 3 21 R1 22 R3 23 R2 2 3 31 R2 32R1 33 R3 4 3 end 1 3 4 start 0 0 0 2 3 3 4 3 3 • Problema: grafo de restricciones • Solución: subgrafo solución
  • 57. AGs para el JSS: Codificación • Lo esencial es representar ordenes entre las tareas que requieren la misma máquina • Permutaciones Convencionales • Pueden representar inconsistencias para los trabajos y las máquinas • Ejemplo (4 7 1 6 5 8 3 2 9) • Permutaciones con Repetición • Solo pueden representar inconsistencias para las máquinas • Ejemplo (2 3 1 2 2 3 1 3 1)
  • 58. AGs para el JSS: Espacio de Búsqueda • Planificaciones Semiactivas • Planificaciones Activas J1 11 12 13 J2 21 22 23 J3 31 32 33 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 J1 11 12 13 J2 21 22 23 J3 31 32 33 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Planificaciones Factibles Planificaciones Semiactivas Planificaciones Activas Planificaciones Óptimas
  • 59. AGs para el JSS: Evaluación Algoritmo G&T [Giffler&Thomson, 1960] A = {i1; 1  i  n}; mientras ( A   ) { Determinar la tarea ’A tal que tiene el menor tiempo de fin posible en el estado actual, es decir t’+du’  t + du, A; Sea M’ la máquina requerida por ’, se construye el conjunto B formado por las tareas de A que requieren la máquina M’; Se eliminan de B aquellas tareas que no pueden comenzar antes de t’+du’; Seleccionar * de B con algún criterio y planificarla en el tiempo más temprano posible; Borrar * de A y añadir aA la sucesora de * en caso de que exista, es decir si * no es la última tarea de su trabajo; } fin. 11 R1 12 R2 13 R3 3 3 21 R1 22 R3 23 R2 2 3 31 R3 32 R1 33 R3 4 3 end 1 3 4 start 0 0 0 3 2 3 3 2 3 4 3 3 3 4 1 4 3 1 3 4 3 J1 11 12 13 J2 21 22 23 J3 31 32 33 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Cromosoma (2 3 1 2 2 3 1 3 1) Datos del Problema Fenotipo Algoritmo de Decodificación G&T Seleccionar * de B más a la izda. en el cromosoma V(c) = 1 / Makespan(c) Fitness(c) =V(c) – Min (V(c’); c’P(t))
  • 60. AGs para el JSS: Operadores de Cruce y Mutación • Cruce GOX • Mantiene el orden y la posición de una subcadena del primer padre y el orden en el segundo del resto de los genes (tiene un efecto de mutación implícita importante) • Mutación OX – Alteración aleatoria de una subcadena pequeña del cromosoma (2 3 1 2 2 3 1 3 1) (3 1 1 2 3 2 2 1 3) (3 1 1 2 2 3 2 1 3)
  • 61. Estudio Experimental • Diseño del Experimento • Instancias: Repositorio OR-library http://people.brunel.ac.uk/~mastjjb/jeb/info.html • Parámetros del AG • Codificación: Permutaciones con Repetición • Población Inicial: Aleatoria • Selección proporcional al Fitness • Cruce GOX, Mutación OX • Tamaño de la población: 100 • Número de Generaciones: 200 • Pc = 0.7 Pm=0.2 • Número de ejecuciones por instancia: 50 • Medidas: Mejor Solución, Error Medio Porcentual, DesviaciónTípica Porcentual, Tiempo de Ejecución
  • 62. Resultados Experimentales 1000 1020 1040 1060 1080 1100 1120 1140 0 20 40 60 80 100 120 140 160 180 200 Promedio fitness exp-8 1000 1050 1100 1150 1200 1250 1300 0 20 40 60 80 100 120 140 160 180 200 Promedio media_fitness exp-8 Convergencia del AG (Problema FT10) Media del Mejor Fitness Media del Fitness Medio
  • 63. Resultados Experimentales Instancia Tamaño Mejor Solución Conocida (* óptima) Mejor EM% DE% Tiempo (s.) (1 ejecución) n m FT10 10 10 930* 968 0.90 1.96 1.6 FT20 20 5 1165* 1237 0.86 2.32 2.4 abz7 20 15 665 733 2.16 1.72 7.3 abz8 20 15 670 754 2.83 2.51 7.3 abz9 20 15 686 767 3.10 2.19 7.3 la21 15 10 1046* 1120 1.08 2.29 3.1 la24 15 10 935* 1007 1.24 2.13 3.0 la25 15 10 977* 1021 0.99 2.09 3.1 la27 20 10 1235* 1337 1.04 2.00 4.8 la29 20 10 1153 1265 1.28 2.44 4.8 La38 15 15 1196* 1292 1.12 2.52 4.5 La40 15 15 1222* 1314 0.97 2.09 4.5
  • 64. Comparación de las Codificaciones 680 700 720 740 760 780 800 820 840 860 880 900 0 100 200 300 400 500 600 700 800 900 1000 Mean Makespan Evolution RP codification CP codification Media del Fitness Medio (problema ABZ7)
  • 65. Evaluación y validación de AEs • Calcular Mejor/Media/Peor/Varianza de al menos 10 ejecuciones • Realizar las comparaciones en igualdad de condiciones • Seleccionar los problemas de test • Distintos tamaños • Diferente grado de dificultad • Probar distintos esquemas • Análisis paramétrico previo • Comparar resultados con otras técnicas existentes
  • 66. Resumen • Los AG son una herramienta simple, flexible y robusta para resolver problemas de la familia CSP • Los factores de diseño más importantes son • El esquema de Codificación • El algoritmo de Evaluación • La estrategia de Selección/Aceptación • No obstante un AG convencional produce resultados de calidad moderada • Se pueden mejorar con • Búsqueda Local • Inicialización heurística • . . . .