pablo musso artech [email protected] algoritmos genéticos con genexus
TRANSCRIPT
AgendaAgenda
IV) Implementando
en Gx
IV) Implementando
en Gx
I) Aplicación
II) Teoría
III) Resolviendo un problema
I) Aplicación
I) Aplicación I) Aplicación
Posibles ProblemasPosibles Problemas
• Problema de la “Mochila” • Carga de Camiones/Barcos
• Problema de la “Mochila” • Carga de Camiones/Barcos
• Problemas de Asignación de Recursos• Asignación de alumnos a aulas• Asignación de charlas a horarios en el Evento
• Problemas de Asignación de Recursos• Asignación de alumnos a aulas• Asignación de charlas a horarios en el Evento
• Problema del “Vendedor que debe Viajar”• Camino Optimo
• Problema del “Vendedor que debe Viajar”• Camino Optimo
• Data Mining • Sitios Web Adaptativos • Clustering y Clasificación genética
• Data Mining • Sitios Web Adaptativos • Clustering y Clasificación genética
• Problema de Ruteo de Vehículos• Problema de Ruteo de Vehículos
Problemas de Optimización (NP-difíciles)
min/ max h(X1,X2….Xn)
Sa: gi(X1,X2….Xn) >=0
Problema de Ruteo de VehículosProblema 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
• 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)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
• 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:
R1 = {0,1,2,3,4,5,0}
R2 = {0,8,9,10,0}
R3 = {0,6,7,0}
II) Teoría II) Teoría
II) 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
• 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 Teoría
Teoría (2)Teoría (2)
Evolucionar
Reemplazar
Generar Población (Aleatoria)
[Población P]
[Población P]
Not (Condición de Finalización)
[Población MP]
SelecciónUtilizan F.Fitness
Cruzamiento (estocástico)
Mutación (estocástico)
Esquema General de un AGEsquema General de un AG
• Genotipo (Estructura interna manipulable por el AG )
Gen
• Fenotipo (Depende del entorno)
• Alfabeto {1,2,3,4,5,6,A}
• Genotipo (Estructura interna manipulable por el AG )
Gen
• Fenotipo (Depende del entorno)
• Alfabeto {1,2,3,4,5,6,A}
Conceptos Intra-IndividuoConceptos Intra-Individuo
A 2 5 A A 4 6 1 3
Se deben utilizar 3 camiones cuyas rutas son R1 = {0,3,1,6,0}R2 = {0,2,5,0}R3 = {0,4,0}
ResumiendoResumiendo
•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
Entorno Prob. RutasProblema
{Individuos}{I1, I2, I3, ...Im}
{Soluciones}{s1,s2,s3,...sm}
GenotipoCodifi-cación
Decodi-ficación
Gen ParteCodificación
316A25A4A 3 Camiones: 03160 0250 040
6
Fenotipo
{Soluciones}{S1,S2, S3, ...Sm}
Resumiendo(2)Resumiendo(2)Biológico Matemático Matemático
III) Resolviendo un ProblemaIII) 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
• 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
III) Resolviendo un ProblemaIII) Resolviendo un Problema
A) Determinar Genotipo de la Representación 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
• 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ónB) 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:
• R1 = { 0, 1, 5, 4, 0 }• R2 = { 0, 2, 0 }• R3 = { 0, 6, 3, 0 }
• 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:
• R1 = { 0, 1, 5, 4, 0 }• R2 = { 0, 2, 0 }• R3 = { 0, 6, 3, 0 }
C) Determinar Factibilidad de las solucionesC) 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,R2,…Rh,…..Rk • Si la Capacidad Rh > m
Rha = { r1,…ri}
Rhb = {ri+1,…..rp}
Ind = R1,R2,…Rha,Rhb,…Rk
• 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,R2,…Rh,…..Rk • Si la Capacidad Rh > m
Rha = { r1,…ri}
Rhb = {ri+1,…..rp}
Ind = R1,R2,…Rha,Rhb,…Rk
D) Det. Op. Genéticos y Políticas de reemplazoD) Det. Op. Genéticos y Políticas de reemplazo
• Selección• Selección Proporcional al Fitness (Roulette Wheel)
• Cruzamiento (PMX)
se verifica factibilidad de H1 y H2
• Selección• Selección Proporcional al Fitness (Roulette Wheel)
• Cruzamiento (PMX)
se verifica factibilidad de H1 y H2
D) Det. Op. Genéticos y Políticas de reemplazo(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
• Mutación (SM)
se verifica factibilidad del individuo
• Política de Reemplazo
• Toda la población es reemplazada
E) Determinar Función de FitnessE) 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
• 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 GXIV) Implementando en GX
IV) Implementando
en Gx
IV) Implementando
en Gx
Definir SDTs Definir SDTs
Realizar ProcedimientosRealizar Procedimientos
Resultados Obtenidos 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
• 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 (2)
Resultados Obtenidos (3)Resultados Obtenidos (3)
Evolución de la Población
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 20 40 60 80 100 120
Generación
Fit
nes
s
Resultados Obtenidos (4)Resultados Obtenidos (4)