Anda di halaman 1dari 25

Impulsando la Sociedad del Conocimiento

Algoritmos Genticos

Junio, 2009

Seminario de Optimizacion

Teora de la evolucin
Charles Darwin, padre de la teora de la evolucin por seleccin natural. Charles Darwin y Alfred Russell Wallace propusieron la seleccin natural como principal mecanismo de la evolucin.

Algoritmos Geneticos

Seminario de Optimizacion

Teora de la evolucin

Algoritmos Geneticos

Un investigador de la Universidad de Michigan llamado John Holland estaba consciente de la importancia de la seleccin natural, y a fines de los 60 desarrollo una tcnica que permiti incorporarla en un programa de computadora.

Algoritmos Genticos
Los Algoritmos Genticos (AG) son mtodos adaptativos que pueden usarse para resolver problemas de bsqueda y optimizacin. Por imitacin del proceso natural, los Algoritmos Genticos son capaces de ir creando soluciones para problemas del mundo real.

Caractersticas
Cada ejecucin del algoritmo puede dar soluciones distintas. Son algoritmos de bsquedas mltiples.

La convergencia del algoritmo es poco sensible a la poblacin inicial si esta se escoge de forma aleatoria y si el tamao es grande.

Iniciar poblacin

Algoritmos Genticos Simples

Evaluacin Inicial

Seleccin
NO

Cross-over

Condicin salida
SI

Mutacin

Evaluacin

Solucin final

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

Funcin Objetivo
La funcin de adaptacin debe ser diseada para cada problema de manera especifica. La regla general para construir una buena funcin objetivo es que esta debe reflejar el valor del individuo de una manera real. Existe algunos mtodos para establecer primera ser la que podramos denominar absolutista, Funcin Reparador, penalizacin de la funcin objetivo.

Seleccin
Fase de seleccin reproductiva: Seleccionan los individuos de la poblacin para cruzarse La funcin de seleccin de padres mas utilizada es la denominada funcin de seleccin proporcional a la funcin objetivo Muestreo estocstico con reemplazamiento del resto Muestreo universal estocstico Mtodos de seleccin dinmicos Seleccin elitista

Cruzamiento
El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posicin escogida al azar, para producir dos subristras inciales y dos subristras finales

El Algoritmo Gentico descrito anteriormente, utiliza el cruce basado en un punto.


Tambin existen cruces basado en mltiples puntos.

Mutacin
Se aplica a cada hijo de manera individual, y consiste en una alteracin aleatoria llamada evolucin primitiva generalmente constante pero resultados exitosos experimentando al modificar la probabilidad de mutacin a medida que aumenta el numero de iteraciones.

Seminario de Optimizacion

Ejemplos de Aplicacin

Algoritmos Geneticos

14

Max(f(x)=x^2) x>=0 y x<=31; x es entero


Codificacin:
x
0 1 2 3 4 .. 28 29 30 31

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

Poblacin Inicial:
Individuo
1 2 1 1 1 1 1 0 1 1 0 1

Valor x
30 27

f(x)
900 729

3
4 5 6

1
1 1 1

0
0 0 0

1
1 0 0

0
1 0 1

1
0 0 1

21
22 16 19 Total

441
484 256 361 3171

Seleccin (Mtodo de la Ruleta):


Individuo Probabilidad Salir f(xi)/f(xi)

1 2 3 4 5 6

28% 23% 14% 15% 9% 11%


Individuos Escogidos Poblacin 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 (Mtodo 1X):


Parejas 2 5 1 1 1 0 0 1 1 1 1 0 2 1 0 1 1 1 Punto de Cruce

Descendientes

3 4

1 1

1 0

1 1

1 1

0 0

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

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

Poblacin 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)

Poblacin 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

Seleccin (Mtodo 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 4 1

3 2

1 3

5 6

4 4

6 1

2 5

Descendiente 1 Descendiente 2 Descendiente 3 Descendiente 4

3 1 3 2

1 3 2 3

4 4 1 1

5 5 5 6

6 6 4 4

Descendiente 5
Descendiente 6

2
1

1
2

3
4

4
3

5
5

Mutar (Operador basado en cambios):


C1 Descendiente 1 Descendiente 2
3 2

C2
5 4 3 1 3 2 2 1 1 3 2 3 1 2 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 3
Descendiente 4 Descendiente 5 Descendiente 6

5
3 4 2

2
1 5 3

Distancia Recorrida Descendiente 1

11

ptimo

Descendiente 2
Descendiente 3 Descendiente 4 Descendiente 5 Descendiente 6

1
3 2 2 1

3
5 1 1 3

2
1 3 3 4

5
2 6 5 2

4
6 5 6 6

6
4 4 4 5

19
25 25 31 18

Seminario de Optimizacin

Aplicaciones de los Algoritmos Genticos


Solucin de modelos de Inventarios Estocsticos. Solucin de Problemas de Corte Unidimensional.

Diseo de redes viales urbanas.


Optimizacin de carga de contenedores. Planeacin y Administracin de Recursos en Entidades Acadmicas.

Algoritmos Genticos

24

Seminario de Optimizacin

Conclusiones
Los algoritmos genticos no necesitan conocimientos especficos sobre el problema que intentan resolver. Operan de forma simultnea con varias soluciones.

Usan operadores probabilstico, en lugar de determinsticos.

Algoritmos Genticos

25

Anda mungkin juga menyukai