Algoritmos Genticos con Gene Xus Pablo Musso ARTech
Algoritmos Genéticos con Gene. Xus Pablo Musso ARTech pmusso@artech. com. uy
Agenda III) Resolviendo un problema II) Teoría I) Aplicación IV) Implementando en Gx
I) Aplicación
Posibles Problemas • Problemas de Asignación de Recursos • Asignación de alumnos a aulas • Asignación de charlas a horarios en el Evento • Problema de la “Mochila” Problemas de Optimización • (NP-difíciles) • Carga de Camiones/Barcos min/ max h(X 1, X 2…. Xn) Problema del “Vendedor que debe Viajar” Sa: gi(X 1, X 2…. Xn) >=0 • Camino Optimo • Data Mining • Sitios Web Adaptativos • Clustering y Clasificación genética • Problema de Ruteo de Vehículos
Problema de Ruteo de Vehículos • En grandes empresas de fletes • Deposito central, n Clientes con demanda di, Costo i j : cij, m capacidad de cada vehículo
Problema de Ruteo de Vehículos (2) • Hallar k-camiones y cada una de las k rutas minimizando costos de transporte • Cuidado !!! Restricción de no superar capacidad de un camión Se deben utilizar 3 camiones cuyas rutas son: R 1 = {0, 1, 2, 3, 4, 5, 0} R 2 = {0, 8, 9, 10, 0} R 3 = {0, 6, 7, 0}
II) Teoría
Teoría • Basado en la Teoría de la Evolución • Capacidades adquiridas de generación en generación se acumulan • Grandes variaciones evolutivas mediante la descendencia de los más aptos • Mutación existe pero causa pequeños cambios evolutivos
Teoría (2)
Esquema General de un AG Generar Población (Aleatoria) [Población P] Not (Condición de Finalización) Evolucionar Selección Utilizan F. Fitness Cruzamiento (estocástico) Mutación (estocástico) [Población MP] Reemplazar [Población P]
Conceptos Intra-Individuo • Genotipo (Estructura interna manipulable por el AG ) 3 1 6 A 2 5 A Gen • Fenotipo (Depende del entorno) Se deben utilizar 3 camiones cuyas rutas son R 1 = {0, 3, 1, 6, 0} R 2 = {0, 2, 5, 0} R 3 = {0, 4, 0} • Alfabeto {1, 2, 3, 4, 5, 6, A} 4 A
Resumiendo • Mantienen una población de soluciones potenciales • Utilizan función de Fitness • Utiliza fenotipo de cada individuo • Operadores Genéticos • Selección • Utiliza F. Fitness • Cruzamiento • Utiliza Genotipo • Mutación • Utiliza Genotipo
Resumiendo(2) Biológico Entorno {Individuos} {I 1, I 2, I 3, . . . Im} Genotipo Gen Fenotipo Matemático Problema Prob. Rutas {Soluciones} {S 1, S 2, S 3, . . . Sm} {Soluciones} {s 1, s 2, s 3, . . . sm} Codificación Decodificación Parte Codificación 316 A 25 A 4 A 6 3 Camiones: 03160 0250 040
III) Resolviendo un Problema III) Resolviendo un problema
III) Resolviendo un Problema • A) Determinar Genotipo de la representación • B) Determinar el Fenotipo de la representación • Se expresa a partir del genotipo, decodificación • C) Determinar Factibilidad de las soluciones • D) Determinar Operadores Genéticos y Políticas de reemplazo • Selección, Cruzamiento y Mutación; y probabilidades • E) Determinar Función de Fitness
A) Determinar Genotipo de la Representación • Factores a determinar • Largo genotípico (variable, constante) • Alfabeto • Nodo 0 Depósito Central • Alfabeto = {1, …. n, A} • Genotipo largo constante • Largo = n + #Caracter espaciadores • #Caracter espaciadores = n/2 , como mucho quiero utilizar (n/2) + 1 camiones • Ejemplo de genotipo (n = 6 #A = 3) • 1 5 4 A 2 A A 6 3
B) Determinar el Fenotipo de la representación • Decodifica el genotipo • Dado el genotipo anterior • 1 5 4 A 2 A A 6 3 • El fenotipo que se expresa es: • Se deben utilizar 3 camiones cuyas rutas son: • R 1 = { 0, 1, 5, 4, 0 } • R 2 = { 0, 2, 0 } • R 3 = { 0, 6, 3, 0 }
C) Determinar Factibilidad de las soluciones • Factores a determianar • Penalizar, eliminar, etc • Se buscara corregir soluciones no factibles • Cuando no se puedan corregir se penalizan • Fitness = 0 • Soluciones no facibles • Ind = Ri, R 2, …Rh, …. . Rk • Si la Capacidad Rh > m Rha = { r 1, …ri} Rhb = {ri+1, …. . rp} Ind = R 1, R 2, …Rha, Rhb, …Rk
D) Det. Op. Genéticos y Políticas de reemplazo • Selección Proporcional al Fitness (Roulette Wheel) • Cruzamiento (PMX) se verifica factibilidad de H 1 y H 2
D) Det. Op. Genéticos y Políticas de reemplazo(2) • Mutación (SM) se verifica factibilidad del individuo • Política de Reemplazo • Toda la población es reemplazada
E) Determinar Función de Fitness • Tener en cuenta que: • Puede ser distinta de la función objetivo, ya que maximiza • >= 0 • A k cantidad de rutas pi cantidad de clientes de la ruta i • Fitness(x) = Cte – h(x) • Cte / Fitness(x) >= 0
IV) Implementando en GX IV) Implementando en Gx
Definir SDTs
Realizar Procedimientos
Resultados Obtenidos • Datos del Poblema • Cantidad de Clientes: 20 • Capacidad de cada camión: 20 • Datos del AG • • • Tamaño de la Población: 500 individuos Cantidad de generaciones: 100 Probabilidad de cruzamiento: 0. 7 Probabilidad de mutación: 0. 001 Alfabeto = {1, …. 20, A} Largo cromosómico = 20 + (20/2) = 30
Resultados Obtenidos (2)
Resultados Obtenidos (3)
Resultados Obtenidos (4)
- Slides: 30