“Impulsando la Sociedad del Conocimiento”

Algoritmos Genéticos
Integrantes: •Ericka Moreira •Ma. Gracia León •Mario Plaza •Fabricio Morales

Junio, 2009

Seminario de Optimizacion

Teoría de la evolución
• Charles Darwin, padre de la teoría de la evolución por selección natural. • Charles Darwin y Alfred Russell Wallace propusieron la selección natural como principal mecanismo de la evolución.
Algoritmos Geneticos
2

Seminario de Optimizacion

Teoría de la evolución

Algoritmos Geneticos

3

• Un investigador de la Universidad de Michigan llamado John Holland estaba consciente de la importancia de la selección natural, y a fines de los 60 desarrollo una técnica que permitió incorporarla en un programa de computadora.

Algoritmos Genéticos
• Los Algoritmos Genéticos (AG) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. • Por imitación del proceso natural, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real.

Características
• Cada ejecución del algoritmo puede dar soluciones distintas. • Son algoritmos de búsquedas múltiples. • La convergencia del algoritmo es poco sensible a la población inicial si esta se escoge de forma aleatoria y si el tamaño es grande.

Iniciar població n Evaluaci ón Inicial Selecció n Crossover

Algoritmos Genéticos Simples

NO

Condició n salida
SI

Mutación

Evaluaci ón

Solución final

Codificación
• Se supone que los individuos son posibles soluciones del problema los cuales agrupados forman una ristra de valores. • Habitualmente la población inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los posibles valores del alfabeto con probabilidad uniforme.

Función Objetivo
• La función de adaptación debe ser diseñada para cada problema de manera especifica. • La regla general para construir una buena función objetivo es que esta debe reflejar el valor del individuo de una manera “real“. • Existe algunos métodos para establecer primera será la que podríamos denominar absolutista, Función Reparador, penalización de la función objetivo.

Selección
• Fase de selección reproductiva: Seleccionan los individuos de la población para cruzarse • La función de selección de padres mas utilizada es la denominada función de selección proporcional a la función objetivo • Muestreo estocástico con reemplazamiento del resto • Muestreo universal estocástico • Métodos de selección dinámicos • Selección elitista

Cruzamiento
• El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posición escogida al azar, para producir dos subristras iníciales y dos subristras finales

• El Algoritmo Genético descrito anteriormente, utiliza el cruce basado en un punto. • También existen cruces basado en múltiples puntos.

Mutación
Se aplica a cada hijo de manera individual, y consiste en una alteración aleatoria llamada evolución primitiva generalmente constante pero resultados exitosos experimentando al modificar la probabilidad de mutación a medida que aumenta el numero de iteraciones.

Seminario de Optimizacion

Ejemplos de Aplicación

Algoritmos Geneticos

14

Max(f(x)=x^2) x>=0 y x<=31; x es entero
• Codificación:
x
0 1 2 3 4 ….. 28 29 30 31

Valor Codificado
00000 00001 00010 00011 00100 ….. 11100 11101 11110 11111

• Población Inicial:
Individuo
1 2 3 4 5 6 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1

Valor x
30 27 21 22 16 19 Total

f(x)
900 729 441 484 256 361 3171

• Selección (Método de la Ruleta):
Individuo Probabilidad Salir f(xi)/∑f(xi)

1 2 3 4 5 6

28% 23% 14% 15% 9% 11%
Individuos Escogidos Población Resultante

6 2 1 4 4 5

1 2 3 4 5 6

1 1 1 1 1 1

0 1 1 0 0 0

0 0 1 1 1 0

1 1 1 1 1 0

1 1 0 0 0 0

• Cruzar (Método 1X):
Parejas 2 5 1 1 1 0 0 1 1 1 1 0 Punto de Cruce 3 Descendientes

1

1

1

0

1

0

2

1

0

1

1

1

3 4

1 1

1 0

1 1

1 1

0 0

4

3

1

1

1

1

0

4

1

0

1

1

0

5 1 6 1 1 0 0 0 0 1 0 1 0 3

1

0

0

0

0

6

1

0

0

1

1

• Mutar:
1
1 1 1 1 1 1

2
1 0 1 0 0 0

3
0 1 1 1 0 0

4
1 1 1 1 0 1

5
0 1 0 0 0 1

Gen a mutar
2 4 3 2 5 1

Población Resultante
1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1

Valor x
18 21 26 30 17 3

f(x)
324 441 676 900 289 9

Óptimo

Travelling Salesman Problem
• Datos:
Distancias entre ciudades CIUDAD DESTINO 1 C I U D A D O R I G E N 1 2 3 4 5 6
0 6 2 1 4 10

2
6 0 3 4 3 1

3
2 3 0 2 8 3

4
1 4 2 0 5 6

5
4 3 8 5 0 9

6
10 1 3 6 9 0

Min(Distancia Recorrida)

• Población Inicial:
Distancia Recorrida
Individuo 1 Individuo 2 Individuo 3 Individuo 4 Individuo 5 Individuo 6
2 3 6 6 1 5 3 1 5 1 4 4 6 5 2 4 3 6 4 4 1 3 2 3 1 6 4 2 5 2 5 2 3 5 6 1 17 18 21 19 18 23

• Selección (Método Torneo):
Individuo
1 2 5

Pareja
3 4 6

1 2 3 4 5 6

2 2 3 3 5 5

3 3 1 1 4 4

6 6 5 5 6 6

4 4 4 4 3 3

1 1 6 6 2 2

5 5 2 2 1 1

• Cruzar (Operador basado en la alternancia de posiciones):
3 5

3 1

1 4

5 3

4 2

6 5

2 6

Individuo
3 4 2

Pareja
5 1 6
2 6 4 1

3 2

1 3

5 6

4 4

6 1

2 5

2 1

3 4

6 3

4 2

1 5

5 6

Descendiente 1 Descendiente 2 Descendiente 3 Descendiente 4 Descendiente 5 Descendiente 6

3 1 3 2 2 1

1 3 2 3 1 2

4 4 1 1 3 4

5 5 5 6 4 3

6 6 4 4 5 5

• Mutar (Operador basado en cambios):
C1 Descendiente 1 Descendiente 2 Descendiente 3 Descendiente 4 Descendiente 5 Descendiente 6
3 2 5 3 4 2

C2
5 4 2 1 5 3 3 1 3 2 2 1 1 3 2 3 1 2
Distancia Recorrida

4 4 1 1 3 4

5 5 5 6 4 3

2 2 6 5 6 6

6 6 4 4 5 5

Descendiente 1 Descendiente 2 Descendiente 3 Descendiente 4 Descendiente 5 Descendiente 6

5 1 3 2 2 1

1 3 5 1 1 3

4 2 1 3 3 4

3 5 2 6 5 2

2 4 6 5 6 6

6 6 4 4 4 5

11 19 25 25 31 18

Óptimo

Seminario de Optimización

Aplicaciones de los Algoritmos Genéticos
• Solución de modelos de Inventarios Estocásticos. • Solución de Problemas de Corte Unidimensional. • Diseño de redes viales urbanas. • Optimización de carga de contenedores. • Planeación y Administración de Recursos en Entidades Académicas.

Algoritmos Genéticos

24

Seminario de Optimización

Conclusiones
• Los algoritmos genéticos no necesitan conocimientos específicos sobre el problema que intentan resolver. • Operan de forma simultánea con varias soluciones. • Usan operadores probabilístico, en lugar de determinísticos.
Algoritmos Genéticos
25