SlideShare una empresa de Scribd logo
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

Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01jakehofman
 
Computer circuit logic
Computer circuit logicComputer circuit logic
Computer circuit logic
Youngik Song
 
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
Databricks
 
Ada boost
Ada boostAda boost
Top down parsing(sid) (1)
Top down parsing(sid) (1)Top down parsing(sid) (1)
Top down parsing(sid) (1)
Siddhesh Pange
 
Natural language processing (NLP) introduction
Natural language processing (NLP) introductionNatural language processing (NLP) introduction
Natural language processing (NLP) introduction
Robert Lujo
 
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
Yzm 2116  - Bölüm 2 (Algoritma Analizi)Yzm 2116  - Bölüm 2 (Algoritma Analizi)
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
Deniz KILINÇ
 
Introduction to R for data science
Introduction to R for data scienceIntroduction to R for data science
Introduction to R for data science
Long Nguyen
 
Active learning
Active learningActive learning
Active learningAli Abbasi
 

La actualidad más candente (11)

Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01
 
Computer circuit logic
Computer circuit logicComputer circuit logic
Computer circuit logic
 
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
 
Ada boost
Ada boostAda boost
Ada boost
 
Top down parsing(sid) (1)
Top down parsing(sid) (1)Top down parsing(sid) (1)
Top down parsing(sid) (1)
 
Natural language processing (NLP) introduction
Natural language processing (NLP) introductionNatural language processing (NLP) introduction
Natural language processing (NLP) introduction
 
Control estadistico de procesos
Control estadistico de procesosControl estadistico de procesos
Control estadistico de procesos
 
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
Yzm 2116  - Bölüm 2 (Algoritma Analizi)Yzm 2116  - Bölüm 2 (Algoritma Analizi)
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
 
Introduction to R for data science
Introduction to R for data scienceIntroduction to R for data science
Introduction to R for data science
 
Bivariate
BivariateBivariate
Bivariate
 
Active learning
Active learningActive learning
Active learning
 

Similar a Algoritmos genéticos

Inteligencia
InteligenciaInteligencia
Inteligencia
gabinoweb
 
Documentación doctorado
Documentación doctoradoDocumentación doctorado
Documentación doctorado
compunova
 
Introduccion a los algoritmos geneticos
Introduccion a los algoritmos geneticosIntroduccion a los algoritmos geneticos
Introduccion a los algoritmos geneticos
NeiderTavera2
 
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
ESCOM
 
AG (1).pptx
AG (1).pptxAG (1).pptx
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
 
Simulacion uam
Simulacion uamSimulacion uam
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
 
Sistemas Difusos
Sistemas DifusosSistemas Difusos
Sistemas Difusos
SIRIUS e-Learning
 
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ía
NovarMichellCastaeda
 
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

EL HUECO.pdf
EL HUECO.pdfEL HUECO.pdf
EL HUECO.pdf
Spacetoshare
 
Probles on Algorithms
Probles on AlgorithmsProbles on Algorithms
Probles on Algorithms
Spacetoshare
 
Sums ADA
Sums ADASums ADA
Sums ADA
Spacetoshare
 
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
Spacetoshare
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemática
Spacetoshare
 
Fórmulas ADA
Fórmulas ADAFórmulas ADA
Fórmulas ADA
Spacetoshare
 
Ejercicios Investigación de operaciones
Ejercicios Investigación de operacionesEjercicios Investigación de operaciones
Ejercicios Investigación de operaciones
Spacetoshare
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
Spacetoshare
 
Ejercicios jess
Ejercicios jessEjercicios jess
Ejercicios jess
Spacetoshare
 
Sistemas Expertos
Sistemas ExpertosSistemas Expertos
Sistemas Expertos
Spacetoshare
 
Como escribir tesis
Como escribir tesisComo escribir tesis
Como escribir tesis
Spacetoshare
 
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
Spacetoshare
 
Curso básico de Ensamblador
Curso básico de EnsambladorCurso básico de Ensamblador
Curso básico de Ensamblador
Spacetoshare
 
Ejercicios álgebra superior
Ejercicios álgebra superiorEjercicios álgebra superior
Ejercicios álgebra superior
Spacetoshare
 
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 ecuaciones
Spacetoshare
 
Determinantes
DeterminantesDeterminantes
Determinantes
Spacetoshare
 
Inducción matemática
Inducción matemáticaInducción matemática
Inducción matemática
Spacetoshare
 
Tareas números complejos
Tareas números complejosTareas números complejos
Tareas números complejos
Spacetoshare
 

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

Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 

Último (20)

Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 

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 • . . . .