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)