Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Optimizacion (Ga) PDF
Optimizacion (Ga) PDF
Genéticos
A(2)
Ω(1) Ω(2)
A(3)
Ω(t)
A(1) A(t)
-2.78 3.0
− x 2 − ( y + 1) 2 x − x2 − y2 1 − ( x + 1) 2 − y 2
z = f ( x, y ) = 3(1 − x ) e 2
− 10 ( − x − y ) e
3 5
− e
10 5 3
-5
-10
-6
-4
-2
0
2 6
4 2 4
-2 0
6 -6 -4
Resumen:
• Los algoritmos genéticos (GA) funcionan con una
codificación de parámetros no los parámetros mismos
• Los GA son paralelos y evalúan múltiples posibles
soluciones a las vez no en una dirección como los
algoritmos basados en derivados (búsqueda lineal)
• Cada miembro de la población es una posible solución,
los GA so algoritmos de búsqueda global no local
• Los GA usan funciones de costo no derivadas
• Los GA usan métodos estocásticos no determinísticos
• Al contrario de los métodos basados en derivados los
GA no tiene un punto singular de búsqueda inicial
• Los métodos basados en derivados son mas rápidos ya
que evalúan y buscan en una sola dirección a la vez
Ejemplo: Maximizar una función
• Encontrar el máximo de la siguiente función:
f(x) = x2
• Dado que x es representada por 5 bits [1]
parte 1: generar población inicial (generación = 1) (tamaño
entre 50 a 100 miembros)
(A1) → 01101
(B1) → 11000
(C1) → 01000
(D1) → 10011
Ejemplo (cont):
(C2) → 11011
(D2) → 10000 → 11000
35
30
25
20
15
10
5 4.2
4.4
4.6
4.8
5
12 5.2
10
8 5.4
6
4 5.6
2
0 5.8
-2
Ejemplo2 (cont):
Representación:
• si el dominio de la variable xj es [aj, bj] y la precisión
requerida es 5 dígitos después del punto decimal
• el rango del dominio debe ser dividido en al menos
(bj- aj)*105 rangos de igual tamaño. Los bits
requeridos (mj) serán:
mj − 1 mj
2 < (b j − a j ) *10 ≤ 2 − 1 5
Ejemplo2 (cont):
000001010100101001 101111011111110
18 15
Ejemplo2 (cont):
Algoritmo
Corresponde a:
V1= [x1,x2]= [-2.687969, 5.361653]
V2= [x1,x2]= [0.474101, 4.170144]
...
V50= [x1,x2]= [10.419457, 4.661461]
Ejemplo2 (cont):
4 2
Ejemplo3 (cont):
Representación:
• cada individuo de la población codifica todas la rutas
usadas por los m nodos de la red
• se utiliza un arreglo de 2 dimensiones, la primera
dimensión indica el numero de la ruta
• la segunda indica todos los nodos usados en esta ruta
• el arreglo completo denominado padres contiene todos
los individuos de la población
Ejemplo3 (cont):
Algoritmo:
1- Crear población de padres inicial aleatoria, utiliza:
elegir_ruta(m , nodo1, nodo2, matriz, padres[i][j],
tipo_nodo, file_results);
2- Evaluar fitness de cada miembro de la población:
fit[i].val = fitness(padres[i] , m , beta, Nl, Ll);
3- Imprimir promedio, mejor y peor fitness
4- Generar ruleta usando metodo Fitness Proportionate:
ruleta[0] = fit[0].val / fit_total;
for (i = 1 ; i < tamPobla ; i++)
ruleta[i] = ruleta[i - 1] + (fit[i].val / fit_total);
Ejemplo3 (cont):
3 15
4 ... 16 ...
5 6 17 18
Ejemplo3 (cont):
6- Hacer mutación:
for(i = 0 ; i < tamPobla ; i++)
{
if(aleatorio() < probMut)
mutacion(hijos[i] , matriz , m, tipo_nodo, ...);
}
Nota: mutación llama elegir_ruta(...) para mutar cada ruta
si aleatorio() < P_MUTAC
7- Si quedan iteraciones por ejecutar volver al paso 2
8- Determinar el fitness del mejor individuo
9- Imprimir rutas del mejor individuo
Schema (o Esquema o Molde):
• Para analizar las características de los AG se introducen don’t care
bits usando el simbolo * para crear esquemas (schemata) usando
el alfabeto {0, 1, *}
• Un esquema explícitamente reconoce las similitudes en una
población de strings y eso ayuda en el análisis de los AG.
• Entonces, un esquema es un aparato para reconocer patrones:
Definiciones
an → un gen
Ai → un string en una población
A → una población
A(t) → una población en una generación especifica
Teorema Fundamental (cont):
O(011*1**) = 4
pi = f i / ∑ f i
i
Teorema Fundamental (cont):
Entonces en promedio,
m(H, t) × n × f(H)
m(H, t + 1) =
∑ fi
i
Teorema Fundamental (cont):
Entonces,
m(H, t + 1) = (m(H, t) × f(H)) / f
Teorema Fundamental (cont):
Para ver cuales esquemas son afectados por un cruce y
cuales no los son, consideren un string y dos esquemas
asociados que lo representan ( = 7).
A = 0 1 1 1 0 0 0
H1 = * 1 * * * * 0
H2 = * * * 1 0 * *
Si ocurre un cruce en la posición 3 y el material genético a
la izquierda del cruce es intercambiado se ve que el
esquema no sobrevive el cruce…
Teorema Fundamental (cont):
B = 0 0 0 1 0 0 0
A = 0 1 1 1 0 0 0
H1 = * 1 * * * * 0
H2 = * * * 1 0 * *
Entonces:
p cδ (H)
p s = 1 - pd ≥ 1 -
-1
Llegamos a la conclusión del teorema fundamental que es una
versión analítica de algo que ya sabíamos intuitivamente y que
combina los efectos de reproducción y cruce en el numero de un
esquema en la próxima generación considerando su estado en la
generación actual.
f(H) δ (H )
m(H, t + 1) ≥ m(H, t) 1 - p
f
c
− 1
Teorema Fundamental (cont):
f(H) δ (H )
m(H, t + 1) ≥ m(H, t) 1 - p − o ( H ) p m
f
c
−1
Teorema Fundamental (cont):
B = 1 0 0 010
A = 1 0 1
H1 = 1 * *
100
001
Algunos ejemplos de aplicaciones: