La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aplicaciones de Algoritmos Genéticos

Presentaciones similares


Presentación del tema: "Aplicaciones de Algoritmos Genéticos"— Transcripción de la presentación:

1 Aplicaciones de Algoritmos Genéticos
Angel Kuri Instituto Tecnológico Autónomo de México Mayo, 2003

2 Optimización Los Algoritmos Genéticos son meta-heurísticos basados en una analogía con los procesos evolutivos, en donde tres ideas sobresalen: a) Cualquier problema optimizable puede someterse a un proceso de codificación. b) Un problema así codificado es más fácilmente atacable que su contraparte no codificada. c) Los operadores genéticos, llamados selección, cruzamiento y mutación son suficientes para explorar completa y eficientemente el espacio de soluciones.

3 Optimización (Todo problema es codificable)
Para que esto se cumpla debemos restringir los espacios de solución a un subconjunto finito del original. Esta no es una fuente de problemas ni conceptuales ni prácticos ya que, en todos los casos, la solución compu-tacional de cualquier problema está codificada digitalmente.

4 Optimización (Un problema codificado es más fácil de atacar)
Esto no es obvio. Pero la amplia evidencia al respecto deja poca posibilidad de duda. Más importantemente, argumentos teóricos no dejan duda: a) Los AGs siempre convergen a la mejor solución. b) La convergenia es,usualmente, muy eficiente.

5 Optimización (La aplicación de los operadores genéticos arroja un desempeño eficiente)
Nuestra meta al diseñar AGs es hacer que la convergencia mencionada sea tan eficiente como se pueda. Dos fuentes de ineficiencia han sido claramente determinadas: a) Funciones Deceptivas b) Correlación Espuria

6 Algoritmo de Vasconcelos
Para evitar las limitaciones del AGS hemos introducido el llamado AG de Vasconcelos. Posee: a) Acoplamiento determinístico (i -> n-i+1) b) Cruzamiento anular c) Mutación uniforme d) Elitismo completo

7 Acoplamiento Determinístico

8 Cruzamiento Anular

9 Elitismo Completo

10 Ejemplo de Aplicación Optimización de una función sujeta a restricciones Funciones Lineales Restricciones Lineales Funciones no-lineales Restricciones No-lineales

11 Función de Adaptación donde s es el número de restricciones satisfechas y

12 Representación Numérica
Genoma de punto Fijo

13 Ejemplo Numérico

14 Corrida de Muestra

15 Corrida de Muestra

16 Sample Run

17 Corrida de Muestra

18 Corrida de Muestra

19 Corrida de Muestra

20 Asignación de Tareas en una Línea de Producción (Job scheduling)
Este problema consiste en encontrar el orden óptimo de ejecución de tareas en máquinas de un proceso industrial. Cada una de las tareas tarda un cierto tiempo en ser ejecutada. Estos tiempos son diferentes para cada tarea (job) en cada máquina.

21 Job Scheduling En la figura se ilustra una matriz de costos para 9 jobs y 6 máquinas:

22 Job Scheduling La solución, entonces, consistirá de 9 números. Por ejemplo, una posible “solución” sería la secuencia 2,3,4,6,1,5,9,8,7 que indica que los jobs se alimentan a las 6 máquinas en el orden indicado. Es fácil ver, de la matriz de costos, que esta secuencia toma 119 unidades de tiempo en ser procesada.

23 Job Scheduling Para representar esta secuencia en binario, necesitamos 4 bits por cada job y, por tanto, 36 bits en total: 0010, 0011, 0100, 0110, 0001, 0101, , 1100, 0111

24 Job Scheduling Un individuo, para el algoritmo genético, consiste, entonces, de 36 bits. Nótese, sin embargo, que las combinaciones binarias 1010, 1011, 1100, 1101, 1110 y 1111 están “prohibidas” ya que los jobs 10, 11, 12, 13, 14 y 15 no existen.

25 Job Scheduling Tampoco es válido que alguno de los jobs se repita en el genoma. Por ejemplo, la combinación 1,3,5,7,9,2,4,3,8 aunque contiene solamente jobs entre 1 y 9, es inválida porque el job 3 aparece dos veces.

26 Reparación Estos individuos inválidos pueden aparecer como resultado de la aplicación de los operadores genéticos de cruzamiento y/o mutación. Considérense los genomas válidos y

27 Reparación Si el cruzamiento ocurre en el punto que se ilustra:
“nacen” los individuos

28 Reparación Por lo tanto, se debe incluir un operador de reparación, que convierta individuos inválidos en otros que no lo sean.

29 Ejemplo No-Numérico Job Scheduling

30 Ejemplo No-Numérico

31 Ejemplo No-Numérico Resultados en la Generación 18

32 Ejemplo No-Numérico Resultados en la Generación 50
Como se puede ver, el algoritmo encontró la solución en la generación 18

33 Ejemplo No-Numérico Resultados

34 Problema de Scheduling Simulación

35 Problema de Scheduling Simulación

36 Conclusiones En los problemas que ilustramos no hay, esencialmente, ningún cambio en el AG mismo. Es decir, el mismo algoritmos trabaja en problemas diferentes. La metodología, por ello, es aplicable a un amplio rango de problemas.

37 Ahora veamos el programa!


Descargar ppt "Aplicaciones de Algoritmos Genéticos"

Presentaciones similares


Anuncios Google