Está en la página 1de 79

Algoritmos Genéticos

Grupo 6
Sharón Benasús
Michell Vanrell
Agenda

 Introducción
 Cómo funcionan
 Ejemplo
 Por qué funcionan
 Algoritmos genéticos paralelos
Introducción
 Provienen de la familia de modelo computacional
basado en la evolución
 Introducidos por Holland en 1975
 Proveen una solución potencial a un problema
específico en una estructura tipo cromosoma y
aplican operadores de recombinación para
preservar la información crítica
 Cualquier modelo basado en población que usa
selección y recombinación para generar nuevos
elementos en el espacio de búsqueda
Introducción
 Población
 Conjunto de soluciones potenciales, donde la
población inicial puede ser elegida
randómicamente
 Cambia con el tiempo pero su tamaño se
mantiene
 Individuo
 Elemento de la población
 Cada individuo es representado por una cadena
de caracteres
Introducción
 Crossover
 Dos nuevos individuos pueden ser obtenidos de
dos padres en el mating pool, recombinando a
ambos padres
 Mutación
 Individuos en el mating pool también pueden
cambiar a través de mutación randómica
 Resultado -> Un nueva generación
 El proceso se repite y converge a una población
con individuos muy similares entre si
Algoritmo genético Canónico
 Los individuos son cadenas binarias de largo fijo
codificadas según el problema a resolver
 En general las poblaciones iniciales se eligen de
forma randómica
 Luego de creada la población inicial se le aplica a
cada individuo la función de evaluación
 En base al resultado de dicha función se calcula el
fitness
 Fitness = fi/f
Algoritmo genético Canónico

 Una vez calculado el fitness de cada


individuo, se pasa a la selección para
generar la generación intermedia
 Los individuos con mayor nivel de
fitness son copiados en la generación
intermedia
 Stochastic Sampling with Replacement
 Remainder Stochastic Sampling
Algoritmo genético Canónico
 Crossover
 Se eligen pares de individuos randómicamente
que serán recombinados con una probabilidad p
 Se elige un punto aleatorio del individuo y se
intercambian sus partes
 Mutación
 Es aplicada con una probabilidad muy baja a
cada bit
 Diferentes variantes
 Generar un nuevo bit
 Invertir un bit
Algoritmo
Repetir
para cada individuo i evaluar y calcular fitness f(i)
Crear mating pool de tamaño N basado en los valores de fitness f(i)
para i=1 hasta (N/2)
quitar pares de individuos {j,k} del mating pool
recombinar usando los individuos j y k
aplicar mutación
Hasta ‘condición de parada’
Consideraciones
 Diferentes implementaciones. Idea básica: nuevas
buenas soluciones pueden ser obtenidas a partir de
bloques de soluciones existentes
 El tiempo de corrida va a depender de los
parámetros con gran probabilidad de que si se deja
correr por un buen tiempo se obtenga una solución
óptima o casi óptima
 Trabajan sobre toda una población otorgando
mayor paralelismo
 Pueden trabajar sobre un problema sin conocer los
detalles del mismo con demasiada exactitud
Ejemplo Assembly Line Balancing Problem
 Diseño de línea de fabricación usando n
estaciones
 En cada estación se realizan ciertas
operaciones en cada producto fabricado y
luego se pasa a otra estación en la línea
 Problema: asignar las operaciones a las n
estaciones de forma de que la línea de
producción sea balanceada, dado el tiempo
que lleva cada operación
 Algunas operaciones deben realizarse
antes de que otras puedan empezar
Grafo de precedencia
Pasos a seguir

 Codificación
 Espacio de soluciones
 Fitness y selección de generación
intermedia
 Recombinación
Codificación
 Se utilizará un string de números
 El número en el i-écimo lugar del string
corresponde a la estación en la cual la i-écima
operación se llevará a cabo
 Los números de las operaciones van a ser
consistentes con el grafo de precedencia
 Según el grafo presentado:
Espacio de soluciones
 Soluciones no posibles porque rompen las
reglas de precedencia
 Opciones
 Crossover y mutación espaciales para mantener
las restricciones
 Dejar que se generen soluciones no aceptables
 Función de penalización para ‘alejar’ las soluciones no
aceptables
 Forzar cada string a formar una solución aceptable
 Se mantiene el string no aceptable pero se decodifica
de forma que represente una solución posible
Fitness y selección de la
generación intermedia
 El fitness para el ALBP incluye
 un elemento correspondiente al tiempo total de
la estación mas lenta
 Un costo de penalización para las soluciones
que no sean viables por restricciones de
precedencia
max i (Si) + KNv
 Si – Tiempo total para las operaciones asignadas a la
estación i
 Nv – Número de violaciones de precedencia
 K – Constante igual al tiempo de la operación mas larga
Fitness y selección de la
generación intermedia
 Hay diferentes opciones para obtener el
fitness
 Fitness = constante – función_objetivo
 Fitness = Recíproco (función objetivo)
 Fitness i = exp(-hvi)
 Con h elegida para que el fitness caiga en cierto rango
particular
 Superar las dificultades graduando el valor
de fitness explícitamente. Esto da control de
la velocidad de convergencia del algoritmo
Fitness y selección de la
generación intermedia
 Si el problema es de maximización, el
fitness del individuo i va a ser el valor de su
evaluación de la función objetivo (vi)
 Si el problema es de minimización, se toma
como fitness el opuesto a ese valor (-vi)
 Se realiza una escala lineal de los valores
para obtener una distribución de fitness con
las siguientes propiedades

N
max i F i    Fi / N Fi  0i
N
F 1
i1 i
i 1
Fitness y selección de la
generación intermedia
 Selección de la generación intermedia a
través de Stochastic Universal Sampling
 Se toman los integrantes de la población y se
ordenan randómicamente
 A cada uno se le asigna un intervalo
proporcional a su fitness y escalado de forma
que el total de los intervalos sea N
 Se consideran los intervalos alineados en una
línea que va de 0 a N
 Se elige un número x (aleatorio uniforme entre 0
y 1) y se pone a los individuos correspondientes
a los intervalos x, x+1, …, x+N en el mating pool
 Pares de individuos del mating pool son
recombinados usando crossover y mutación
Recombinación

 Crossover
 Ocurre en un único punto randómico con
probabilidad p
 Mutación
 Para cada operación, con una
probabilidad pequeña q, se le cambia la
estación asignada a la anterior o a la
siguiente en el string
Recombinación – ajustes
 Ajustes incluidos por los autores
 Elitismo
 Incluir en una posición aleatoria de la población el
individuo con mejor valor de fitness de la generación
anterior
 Luego de que se genera la nueva generación, si
algún descendiente tiene peor valor de fitness
que cualquiera de la generación anterior, se lo
retira y se deja a uno de sus padres que siga
adelante incambiado en la próxima generación
Resultados experimentales
 Consideraciones previas
 No se realizaron optimizaciones en el código
 Las comparaciones se realizan fijando el
número de generaciones en una corrida y
observando al mejor individuo en la población
final
 Método de inicialización de la primer población
 Aleatoriamente
 Arcus
 Si bien tiene resultados muy buenos, se tiene el
problema de convergencia prematura por poca
variabilidad
 50 operaciones a asignar a 5 estaciones
Resultados experimentales
 Valores fijados para la condición de parada
de 350 generaciones
 Probabilidad de crossover
 0.6
 0.7
 0.8
 Probabilidad de mutación
 {0.005, 0.01, 0.015, 0.020, 025, 0.030, 0.035, 0.04}
 Scaling factor
 {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 2.5}
Resultados experimentales
 5 problemas generados randómicamente
 8 corridas para cada problema con diferentes
semillas para generación de valores aleatorios
 Valores en la tabla
 (a) promedio del porcentaje de la desviación de las
mejores soluciones en la última generación de la mejor
solución encontrada
 (b) promedio del porcentaje de individuos de la población
final que tuvieron el mismo valor que el mejor de la
generación
 (c) primer generación en la que un promedio del 90% o
mas de los individuos de la población tienen el mismo
valor que el mejor de la población
Resultados p = 0.06
Otros resultados
 Comparaciones eliminando el crossover y realizando
selección de la siguiente manera
 Realizando mutación solo si la solución anterior es mejorada
 El porcentaje de desviación del valor óptimo es mayor que el
encontrado en los resultados anteriores

 Dejando que la mutación genere peores soluciones y dejar


que la selección mejore la calidad global de la generación,
agregando elitismo y eliminando aquellos individuos que
luego de la mutación son peores soluciones que el peor de
la generación anterior

 Las mejores soluciones después de 350 generaciones estaban


en promedio a un 32% de la mejor solución encontrada
 La combinación de crossover y selección es mas efectiva
que la utilización de cada una por separado
Solo selección, se reemplaza si
mejora
Solo selección, se reemplaza siempre
Fundamentos Matemáticos de los
Algoritmos Genéticos

 ¿ Por qué funcionan los Algoritmos


Genéticos?
 Los Esquemas (Hiperplanos)
 El Teorema Fundamental
 Paralelismo Implícito.
Fundamentos Matemáticos de los
Algoritmos Genéticos

 Los Algoritmos Genéticos no procesan


estrictamente individuos, sino
similitudes entre ellos: patrones de
similitud entre individuos o esquemas
 Dado que cada individuo encaja en
muchos patrones a la vez, la eficiencia
de la búsqueda se multiplica.
Los Esquemas
 El esquema es una herramienta para estudiar la forma
en que una cadena representa a otras cadenas.
 Es un patrón de similitud que describe un subconjunto
de cadenas con similitudes en ciertas posiciones de la
cadena.
 Consideramos el alfabeto binario extendido { 0, 1, *} .
 Un esquema recoge una determinada cadena si en
cada posición del esquema un 1 corresponde a un 1
en la cadena, un 0 a un 0, y el * se corresponde con
cualquier cosa
Los Esquemas
Ejemplos

 El esquema *0000 encaja con las


cadenas {00000, 10000}.

 El esquema 0*0*1 encaja con las


cadenas {00001, 00011, 01001,
01011}.
Los Esquemas

Proposición: Se verifican las siguientes propiedades:


1. Si un esquema contiene k símbolos de indeferencia
( * ) entonces representa a 2k cadenas binarias.
2. Una cadena binaria de longitud L encaja en 2L
esquemas distintos.
3. Considerando cadenas binarias de longitud L,
existen en total 3L posibles esquemas.
4. Una población de n cadenas binarias de longitud L
contiene entre 2L y n2L esquemas distintos.
Los Esquemas

 Consideraremos los efectos de las


operaciones de reproducción, cruce y
mutación de los esquemas contenidos en la
población.
 En cada instante de tiempo t (generación)
consideraremos una población de cadenas
individuales P(t) compuestas por Pj, j= 1..n
Los Esquemas

 Ciertos esquemas son más específicos que


otros.
 Ciertos esquemas abarcan más parte de la
longitud total de la cadena que otros.
 Para cuantificar estas ideas introducimos dos
propiedades de los esquemas:
Los Esquemas

 Orden de un esquema,   H : Es el número de


posiciones fijas (con 0 ó 1) que contiene dicho
esquema.
Ejemplo:
H = 011*1**    H = 4
 Longitud característica de un esquema,   H  : Es la
distancia entre la primera y última posiciones fijadas
de la cadena.
Ejemplo:
H = 011*1**    H   5 1  4
H = 0******    H   1 1  0
Los Esquemas

L   H 
 Un esquema H representa a 2
cadenas: cuanto mayor sea el orden del
esquema a menos cadenas representará.
 El orden de un esquema da una medida de su
especificidad.
 La longitud característica da una medida de la
compacidad de la información contenida en el
esquema.
Diferentes vistas del
Muestreo de los hiperplanos
Diferentes vistas del
Muestreo de los hiperplanos (2)
Los Esquemas

Dados una población de cadenas binarias P en un instante t y un


esquema H se definen:
 Presencia de H en P en el instante t, m(H,t): Es el número de
cadenas de la población P en el instante t que encajan en el
esquema H.
 Aptitud del esquema H en P en el instante t, f  H , t  : Es el
promedio de las aptitudes de todas las cadenas de la población
que encajan en el esquema H en el instante t.
1 i m
f  H , t     Aptitud  vi 
m i 1
siendo m  m  H , t  y
vi i  1..m las cadenas de P que encajan en H.
Los Esquemas

 Aptitud media de la población en el instante t, f : Es


el promedio de las aptitudes de todas las cadenas de
la población en el instante t.

i n
1
f    Aptitud (vi )
n i 1
EL TEOREMA FUNDAMENTAL

 Buscamos una formulación de cómo


evoluciona en promedio un esquema
dentro de una población de un A.G.

 Consideramos los efectos individuales


y combinados de la reproducción,
cruce y mutación sobre los esquemas
de una población de cadenas.
El Efecto de la Selección

 Asumimos que las cadenas son


copiadas a la nueva generación con
una probabilidad basada en su valor de
capacidad (fitness fi ) divida por la
capacidad total de la generación:
fi
pi 
f
j
j
El Efecto de la Selección
 Supongamos que en un instante dado
de tiempo t hay m ejemplares de un
esquema particular H contenido en la
población P(t) (m = m(H,t) ).

 Tomamos una población de tamaño n.


El Efecto de la Selección
Mediante reemplazamientos a partir de la población P(t),
esperamos tener m(H,t+1) representantes del
esquema en la población en el instante t +1 donde:

f H,t
m  H , t  1  m  H , t   n 
j
 fj
Siendo f(H) la aptitud media de las cadenas
representadas por el esquema H en el instante t.
Los Esquemas

Recordando ...
 Aptitud media de la población en el
instante t, f : Es el promedio de las
aptitudes de todas las cadenas de la
población en el instante t.
in
1
f    fi
n i 1
El Efecto de la Selección
Ecuación de crecimiento reproductivo del esquema:

f H,t 
m  H , t  1  m  H , t  
f

Un esquema particular crece como el porcentaje de la


aptitud media del esquema respecto de la aptitud de
la población.
El Efecto de la Selección
Sea un esquema particular H que permanece por encima
de la media una cantidad c f ( c constante), entonces:

f c f
m  H , t  1  m  H , t    1  c   m  H , t 
f
Comenzando en t  0 :
m  H , t   m  H , 0   1  c 
t

La reproducción asigna un número exponencialmente


creciente (decreciente) de ejemplares a los esquemas por
encima (por debajo) de la media.
El Efecto de la Cruza
El valor esperado de cadenas representantes de H que
han sido seleccionadas y a las que no se les aplica
cruzamiento es:
f H,t
1  pC   m  H , t  
f
El Efecto de la Cruza
El valor esperado del número de cadenas representantes
de H que fueron seleccionadas y permanecen en el
esquema después de aplicárseles cruzamiento es:

 f H ,t  
pc  m  H , t   1  pR 
 f 

Siendo pR la probabilidad de ruptura del esquema H bajo


el tipo de cruzamiento que esté siendo utilizado.
El Efecto de la Cruza
Sea g el número de cadenas ganadas por el esquema H
durante el procedimiento de cruza:

 f H ,t  
pc  m  H , t   1  pR   g 
 f 
El Efecto de la Cruza
Resumiendo las anteriores diapositivas, el valor esperado
del número de representantes del esquema H tras haber
efectuado selección y cruzamiento es:

f H ,t   f H ,t  
m  H , t  sel  cru   1  pC   m  H , t    pc m  H , t   1  pR   g 
f  f 

Aporte de las cadenas de H que


no intervinieron en la cruza. Aporte de las cadenas de H que se cruzan y
se mantienen en H + las cadenas que no eran
de H, pero luego del cruce pasan a formar
parte de él.
El Efecto de la Cruza
Si las cadenas se cortan en un solo punto, la probabilidad de
romper el esquema H con un corte es:
 H 
pR 
L 1
Volviendo a la ecuación:
f H ,t   f H ,t  
m  H , t  sel  cru   1  pC   m  H , t    pc m  H , t   1  pR   g 
f  f 
Eliminando g y haciendo cuentas...:
f H,t 
m  H , t  sel  cru   m  H , t    1  pC  pR 
f
El Efecto de la Cruza
En el algoritmo original de Holland se elige a un compañero, para realizar la
cruza, sin predisposición. A sí que la probabilidad de que esa cadena
encaje en el esquema H es:

mH,t 
P H ,t  
n

Tomando en cuenta esto, podemos definir nuevamente pR


 H 
pR   1  P  H , t  
L 1
El Efecto de la Cruza
De esta manera llegamos a:

f H,t   H  
P  H , t  1  P  H , t    1  pC   1  P  H , t   
f  L 1 

f H ,t   H  f  H ,t  
P  H , t  1  P  H , t    1  pC   1  P  H , t    
f  L 1 f 
Selección del 2do padre basado en su aptitud
El Efecto de la Mutación
 Suponemos que la mutación se aplica con probabilidad pm y que tiene el
efecto de invertir un bit (cambiar un 1 por un 0 ó viceversa).
 Para que una cadena representante del esquema H permanezca en él
tras una mutación, debe ocurrir que ninguno de los bits definidos del
esquema sea invertido.

H 
  pm   1  pm 

Estamos suponiendo que los eventos de invertir un bit


son independientes entre si.
El Efecto de la Mutación
 Añadiendo a la expresión que teníamos:

f H ,t   H  f H ,t  
 1  P  H , t   
H 
P  H , t  1  P  H , t    1  pC    1  pm 
f  L 1 f 

El Teorema Fundamental
 Este resultado recibe el nombre de Teorema del
esquema o Teorema Fundamental de los
algoritmos genéticos:
 La presencia de un esquema H en la población P
de la generación del instante t en un Algoritmo
Genético evoluciona estadísticamente de modo
exponencial según la ecuación anterior.
 Los esquemas de orden bajo adaptados por
encima de la media reciben un número
exponencialmente creciente de oportunidades en
siguientes generaciones.
El Teorema Fundamental
f H ,t   H  f H ,t  
 1  P  H , t   
H 
P  H , t  1  P  H , t    1  pC    1  pm 
f  L 1 f 

Factor de Crecimiento
Kg Factor de Supervivencia
KS
El Teorema Fundamental
 Los esquemas con una aptitud por encima de la
media
incrementan exponencialmente su presencia en
sucesivas generaciones  K g  1
 Los que tienen la aptitud por debajo de la media
decrementan exponencialmente su presencia en
la población  K g  1
 La tendencia de los esquemas aventajados a
incrementar su presencia en sucesivas
generaciones se acentúa cuando el esquema es
corto y de bajo orden, pues entonces  KS  1
Críticas al Teorema
 Sólo es una cota inferior, es decir, no es
exacto.
 No es muy útil para predecir a largo plazo el
comportamiento de un algoritmo genético.
 Sólo considera los efectos destructivos de los
operadores genéticos y no los efectos
constructivos.
 Es muy particular. Está hecho para un AGS
con selección proporcional (de ruleta),
cruzamiento de un punto y probabilidad de
mutación uniforme.
El problema de la Ineficiencia
 Los AGs sólo se pueden considerar eficientes en
comparación con otros métodos estocásticos, pero si
se encuentra un método determinista para resolver
un problema lo hará más eficientemente.
 Tendencia al extravío de la búsqueda: el AG realiza la
búsqueda de los mejores puntos utilizando
únicamente la aptitud de los individuos para
recombinar internamente los bloques constructivos.
 A veces esta información proporcionada es
insuficiente para orientar la búsqueda del óptimo:
desorientación (deception).
El problema de la Ineficiencia

 Un caso especialmente desfavorable ocurre cuando


hay una fuerte interacción entre dos o más atributos
(genes), de tal forma que la contribución a la aptitud
de un individuo que realiza cierto gen depende
grandemente de los valores que tomen otros
(epistasis o acoplamiento).
 Existen mecanismos para atenuar estos efectos.
 En otras ocasiones es necesario incorporar
conocimiento específico al AG.
Diversidad en los AGs

 Diversidad en individuos

 Diversidad en Aptitudes
Diversidad en los AGs

 Con poca variedad de individuos


 poca variedad de esquemas
 el operador de cruce pierde la capacidad de
intercambio de información útil entre individuos
Diversidad en los AGs

 Con poca diversidad de aptitudes todos los


individuos tienen similares posibilidades de
sobrevivir
 búsqueda aleatoria.

 Una gran disparidad de aptitudes suele afectar


negativamente a la diversidad de la población.
Convergencia Prematura
 En algún momento de la evolución de un AG puede ocurrir que
un individuo o un grupo de ellos obtengan una aptitud
notablemente superior a los demás (fases tempranas de la
evolución).
 Riesgo de que se produzca una evolución en avalancha: al
incrementar los individuos más aptos su presencia en la
población, la diversidad disminuye, ello hace que en la
siguiente generación se favorezca aún más a los individuos
más aptos hasta que dominan toda la población (súper
individuos).
 Los súper individuos sólo son los más aptos en cierto
momento
Diversidad en los AGs

 Deriva genética: Favorecer más de lo que les


corresponde a individuos ocasionalmente más aptos.
 convergencia prematura hacia tal `individuo afortunado'.
 Conclusión: es necesario tener control sobre la
 diversidad de aptitudes de la población para evitar
que se produzca una convergencia prematura
(avalancha) ya sea por exceso diversidad
(superindividuos) o por falta de ella (deriva genética).
Paralelismo Implícito

 La eficacia a los AGs se basa en que, aunque el AG sólo


procesa n estructuras en cada generación, se puede probar
que, bajo hipótesis muy generales, se procesan de modo útil
al menos n3 esquemas.
 Este paralelismo implícito se consigue sin ningún dispositivo
o memoria adicionales, sólo con la propia población.
 A pesar de la ruptura de los esquemas largos de orden alto
por los operadores de cruce y mutación, los algoritmos
genéticos procesan inherentemente una gran cantidad de
esquemas mientras procesan una cantidad relativamente
pequeña de cadenas.
Algoritmos genéticos paralelos
 Paralelismo inherente proporcional al tamaño de la
población
 Sugiere que se puede incrementar el tamaño de la
población sin afectar la performance
 Problemas en performance generados por
sincronización y envío de mensajes
 Si se explotan todas las fuentes de paralelismo el
tiempo de ejecución para generar una generación
no depende del tamaño de la población (Gordon,
Whitley y Bohm)
 Grandes poblaciones convergen mas lentamente
Poblaciones globales con
paralelismo
 Implementación del algoritmo genético
canónico pero con ‘Selección por torneo’
 Se eligen dos individuos de la población actual,
el mejor de ambos pasa a la generación
intermedia
 Se utilizan N/d procesadores donde N es el
tamaño de la población
 Los procesadores se numeran de 1 a N/2 y
el tamaño de la población es par
 En cada procesador x habitan dos
individuos: 2x y 2x-1
Poblaciones globales con
paralelismo (2)
 Se evalúan los individuos
 Cada procesador realiza dos sorteos
independientes y guarda los individuos
ganadores de los dos sorteos
 El crossover se realiza en los procesadores
numerados con un número menor a p*N/2
 Todos los procesadores realizan mutación
en sus individuos (si corresponde)
Modelos isla
 6400 individuos en 64 procesadores, por ejemplo
 Dividir la población total en subpoblaciones de 100
individuos cada una
 Cada subpoblación ejecuta un algoritmo genético
 Cada x cantidad de generaciones, las
subpoblaciones intercambian algunos individuos
intercambiando material genético
 Si un gran número de individuos migra en cada
generación, se pierden las diferencias entre las
islas
 Si la migración es poco frecuente, podría llevar a
que cada población converja prematuramente
Algoritmos genéticos celulares
 2500 procesadores dispuestos en una grilla de 50 x
50
 Los procesadores solo se comunican con sus
vecinos inmediatos
 Cada string (cada procesador) se fija en sus
vecinos inmediatos y elige el mejor individuo que
encuentra
 Recombina su individuo con el elegido del vecino
 Si un vecindario esta a 20 o 25 movimientos de
otro, estos vecindarios están aislados como en el
modelo de islas
 Luego de algunas generaciones hay algunos focos
conteniendo individuos similares
Paralelismo en el ALBP
 Se eligió la implementación de forma de
minimizar el pasaje de mensajes
 Locations vs procesadores
 En una location habita un único individuo
 Un procesador puede manejar varios individuos
 Cada location está conectada con un
pequeño grupo de locations -> vecindario
 Definición del vecindario
 El vecindario de una location estará formado por
aquellas locations que no están a mas de 4 links
Paralelismo en el ALBP
 En cada location el algoritmo selecciona un
individuo del vecindario basándose en fitness para
recombinarlo con el individuo residente
 La selección se realiza de forma que el individuo i
es elegido del vecindario con probabilidad dada por
fi

jvecind ( i )
fj

 La reproducción produce dos descendientes


 Se sustituye el individuo actual por su mejor descendiente
siempre que sea mejor que el peor individuo del
vecindario
Paralelismo en el ALBP
Repetir
Para cada individuo i
Evaluar f(i)
Transmitir f(i) para todos los individuos j en el
vecindario
Elegir un individuo j para combinar basado en
fitness
Pedir el individuo j
Reproducir usando los individuos i y j
Hasta que la variación en la población es
pequeña
Conclusiones
 El tiempo computacional está dominado por
la evaluación del fitness incluyendo el
chequeo de validez de la nueva generación
de soluciones
 Los resultados no son tan buenos como
para el algoritmo no paralelo
 La convergencia es mas lenta y hay muchos
casos en que no converge
 La performance del algoritmo paralelo es
menos sensitiva al scaling factor que la
secuencial
FIN

También podría gustarte