Escolar Documentos
Profissional Documentos
Cultura Documentos
FEBRERO, 2014
NDICE GENERAL
INTRODUCCIN..................................................................................................................6
CAPTULO I...........................................................................................................................8
EL PROBLEMA.................................................................................................................8
Objetivo General de la Investigacin................................................................................10
Objetivos Especficos........................................................................................................10
Alcances de la Investigacin.............................................................................................11
CAPTULO II.......................................................................................................................12
CAPTULO III......................................................................................................................14
MARCO TERICO..............................................................................................................14
Problema de Optimizacin Multiobjetivo.........................................................................17
Formulacin del Problema de Optimizacin Multiobjetivo..............................................17
Eficiencia de Pareto...........................................................................................................18
Dominancia de Pareto.......................................................................................................18
Optimalidad de Pareto.......................................................................................................19
Conjunto de ptimos de Pareto........................................................................................19
Frente de Pareto.................................................................................................................19
Los Algoritmos Genticos.................................................................................................21
Anatoma de un Algoritmo Gentico................................................................................21
Representacin Interna de los Cromosomas.....................................................................22
Diseo General de un Algoritmo Gentico Simple...........................................................24
Evaluacin y Seleccin.....................................................................................................25
Cruce o Reproduccin (Crossover)...................................................................................27
Mutacin...........................................................................................................................28
Elitismo.............................................................................................................................29
El Teorema de los Esquemas............................................................................................30
Aplicacin de los Algoritmos Genticos en Optimizacin Numrica..............................34
Algoritmos Genticos Multiobjetivo.................................................................................36
Algoritmo Gentico Multiobjetivo propuesto...................................................................41
GLOSARIO DE TRMINOS...............................................................................................42
Ensayos de Aplicacin del Algoritmo Gentico Multiobjetivo............................................44
Breve resea de las Funciones de Prueba..........................................................................44
Funcin de Prueba 1..........................................................................................................45
..........................................................................................................................................48
Funcin de Prueba 2..........................................................................................................49
Funcin de Prueba 3..........................................................................................................53
CAPTULO VI......................................................................................................................57
Conclusiones ........................................................................................................................57
Recomendaciones..............................................................................................................58
Referencias Bibliogrficas....................................................................................................59
ii
ndice de Ilustraciones
iii
iv
INTRODUCCIN
CAPTULO I
EL PROBLEMA
La mayor parte de los problemas de optimizacin del mundo real son naturalmente
multiobjetivo, porque de acuerdo con el criterio y gnoseologa del autor sobre ese contexto,
suelen tener dos o ms funciones objetivo que deben satisfacerse simultneamente y que
posiblemente estn en conflicto entre s. Sin embargo, a fin de simplificar su solucin,
muchos de estos problemas tienden a modelarse como mono-objetivo, usando slo una de
las funciones originales y manejando las adicionales como restricciones.
Sobre la base de esa consideracin, es importante agregar que existen problemas
catalogados como "inherentemente difciles", ya que su solucin requiere de una cantidad
significativa de recursos computacionales, independientemente del algoritmo utilizado. La
teora de la complejidad computacional formaliza dicha aseveracin, introduciendo
modelos de cmputo matemticos para el estudio de estos problemas y la cuantificacin de
la cantidad de recursos necesarios para resolverlos, como tiempo y memoria.
En torno a ese criterio, procede indicar que el principal obstculo que se presenta
al intentar resolver un problema multiobjetivo, es esencialmente la dificultad de obtener
una sola solucin que optimice simultneamente todas las funciones objetivo. Es por ello
que un algoritmo capaz de proporcionar un nmero considerable de soluciones cercanas al
Frente de Pareto, es un algoritmo de gran valor prctico. Tcnicas clsicas, como las
tcnicas de ramificacin y acotamiento y tcnicas de optimizacin como el Simplex, han
demostrado ser insuficientes para resolver este tipo de problemas.
Ahora bien, una forma de resolver el problema de optimizacin multiobjetivo es
mediante su transformacin en un problema monobjetivo mediante una funcin de
agregacin. En muchos casos los pesos que se usan en esta funcin de agregacin son
desconocidos a priori, por lo que este tipo de tcnicas no son adecuadas. De esta forma, el
8
problema completo debe ser tratado simultneamente de tal manera que el resultado del
proceso de resolucin del mismo sea un conjunto de soluciones entre las que el decisor
final debe de elegir de acuerdo con sus preferencias.
Ahora bien, los Algoritmos Genticos, han sido reconocidos desde sus orgenes
como una tcnica muy adecuada para la resolucin de problemas multiobjetivo. Una
poblacin de individuos puede explorar eficientemente un espacio de soluciones
multifuncional sacando ventaja de su paralelismo intrnseco. Desde los primeros trabajos de
Schaffer, J.D. (1985) se han ido refinando los planteamientos multiobjetivo aadiendo
procedimientos de dominancia basados en rango (Fonseca, C.M. y Fleming, P.J., 1993) y
muchos otros.
A la luz de las consideraciones anteriores, la herramienta cuyo uso se propone se
basa en los Algoritmos Genticos, tcnica computacional que se fundamenta en los
mecanismos de seleccin que utiliza la naturaleza, de acuerdo con los cuales los individuos
ms adaptados tienen ms probabilidad de reproducirse. Problemas NP-completos de
naturaleza compleja han sido resueltos exitosamente con estas tcnicas sofisticadas.
Con base a lo expuesto, es procedente proponer el enfoque de considerar el
problema de optimizacin multiobjetivo como uno consistente en minimizar las
desviaciones de las funciones objetivo o metas individuales. Este procedimiento deriva una
significativa ventaja porque elimina la necesidad de disponer restricciones adicionales, as
como factores o pesos para cada funcin objetivo. La tcnica propuesta puede resolver
tambin problemas multiobjetivos no lineales que involucran regiones factibles noconvexas, las cuales plantean dificultades adicionales usando mtodos clsicos de
resolucin.
Objetivos Especficos
1. Estudiar las caractersticas principales de los Algoritmos Genticos
Multiobjetivo ms representativos desarrollados actualmente: NSGA, SPEA,
SPEA2 y NSGA-II.
2. Programar una versin del Algoritmo Gentico Multiobjetivo NSGA-II.
3. Incorporar las ideas sugeridas por Deb y Goel (2001) a los fines de la
optimizacin del funcionamiento de NSGA-II.
4. Determinar el rendimiento del Algoritmo Gentico Multiobjetivo propuesto
mediante ensayos de aplicacin en la resolucin de funciones de prueba con
dificultad comprobada.
Propsito de la Investigacin
Como todo estudio, la presente investigacin tiene un propsito fundamental, el
cual se centra principalmente en proponer un criterio analtico orientado a generar una
visin difana al lector del documento en cuanto a la optimizacin de un vector, cuya
solucin est formada por las funciones objetivo de un problema matemtico.
Adems de lo anterior, es importante sealar que dentro del contenido de la
investigacin, el autor, ha insertado un conjunto de insumos tericos que le permitirn a la
persona interesada sobre este importante tema contar con orientaciones, recomendaciones y
aportes tericos que son herramientas conceptuales ilustrativas que coadyuvarn a la
comprensin asertiva de la situacin problemtica descrita en prrafos anteriores.
10
Alcances de la Investigacin
El alcance de la investigacin documental se circunscribe al estudio de algoritmos
genticos destinados a resolver problemas de optimizacin no lineal con una o ms
funciones objetivo. Es importante destacar que escapa a los alcances de este proyecto el
anlisis de la convergencia del algoritmo gentico, cuyos aspectos han sido ampliamente
tratados en la bibliografa. Asimismo, es necesario indicar que con este estudio no se
pretende demostrar que los algoritmos genticos sean siempre ms eficientes que otros
mtodos heursticos, no obstante, s se alcanza a demostrar que, en la generalidad de los
casos, la curva de convergencia del algoritmo es excepcionalmente rpida.
11
CAPTULO II
METODOLOGIA UTILIZADA
13
CAPTULO III
MARCO TERICO
14
John Holland desde pequeo, se preguntaba cmo logra la naturaleza, crear seres
cada vez ms perfectos (aunque, como se ha visto, esto no es totalmente cierto, o en todo
caso depende de qu entienda uno por perfecto). Lo curioso era que todo se lleva a cabo
sobre la base de interacciones locales entre individuos, y entre estos y lo que les rodea. No
saba la respuesta, pero tena una cierta idea de cmo hallarla: tratando de hacer pequeos
modelos de la naturaleza, que tuvieran alguna de sus caractersticas, y ver cmo
funcionaban, para luego extrapolar sus conclusiones a la totalidad. De hecho, ya de
pequeo haca simulaciones de batallas clebres con todos sus elementos: copiaba mapas y
los cubra luego de pequeos ejrcitos que se enfrentaban entre s.
En los aos 50 entr en contacto con las primeras computadoras, donde pudo
llevar a cabo algunas de sus ideas, aunque no se encontr con un ambiente intelectual frtil
para propagarlas. Fue a principios de los 60, en la Universidad de Michigan en Ann Arbor,
donde, dentro del grupo Logic of Computers, sus ideas comenzaron a desarrollarse y a dar
frutos. Y fue, adems, leyendo un libro escrito por un bilogo evolucionista, R. A. Fisher,
titulado La teora gentica de la seleccin natural, como comenz a descubrir los medios
de llevar a cabo sus propsitos de comprensin de la naturaleza. De ese libro aprendi que
la evolucin era una forma de adaptacin ms potente que el simple aprendizaje, y tom la
decisin de aplicar estas ideas para desarrollar programas bien adaptados para un fin
determinado.
En esa universidad, Holland imparta un curso titulado Teora de sistemas
adaptativos. Dentro de este curso, y con una participacin activa por parte de sus
estudiantes, fue donde se crearon las ideas que ms tarde se convertiran en los algoritmos
genticos. Por ello, cuando Holland se enfrent a los algoritmos genticos, los objetivos de
su investigacin fueron dos:
15
16
que las ecuaciones se hacen cero, y dan como ejemplo una solucin casi perfecta para los
coeficientes de la ecuacin de quinto orden conocida como Super Korteweg-de Vries.
La potencia de la evolucin ha tocado virtualmente cualquier campo que uno
pueda nombrar, modelando invisiblemente el mundo que nos rodea de incontables maneras,
y siguen descubrindose nuevos usos mientras la investigacin sigue su curso. Y en el
corazn de todo esto se halla nada ms que la simple y poderosa idea de Charles Darwin:
que el azar en la variacin, junto con la ley de la seleccin, es una tcnica de resolucin de
problemas considerados de gran dificultad y de aplicacin casi ilimitada.
desigualdad:
gi ( x ) 0
i = 1,2,..., m
(1)
i = 1,2,..., p
(2)
hi ( x ) = 0
y que optimice
T
f ( x ) = [ f1 ( x ), f 2 ( x ),..., f k ( x )]
17
(3)
Eficiencia de Pareto.
La nocin ms aceptada de "ptimo" en el entorno de problemas multiobjetivo es
la propuesta originalmente por Francis Ysidro Edgeworth en 1881 y generalizada
posteriormente por Vilfredo Pareto en 1896.
Enunciado por Vilfredo Pareto, el concepto de eficiencia de Pareto hace referencia
a la situacin en la cual se cumple que no es posible beneficiar a ms elementos de un
sistema sin perjudicar a otros. Se basa en criterios de utilidad: si algo genera o produce
provecho, comodidad, fruto o inters sin perjudicar a otro, provocar un proceso natural de
optimizacin hasta alcanzar el punto ptimo.
Las sucesivas mejoras llevan a una mejor asignacin donde ya no es posible
ninguna mejora paretiana. El uso de este concepto est muy extendido en diversas reas de
las matemticas, principalmente en investigacin de operaciones y teora de juegos. Sus
aplicaciones son mltiples en toma de decisiones y en entornos de optimizacin con
objetivos mltiples.
A continuacin se definen formalmente los conceptos relacionados con el dominio
y optimizacin de Pareto, aplicados a un problema de minimizacin. La extensin al caso
de un problema de maximizacin es trivial.
Dominancia de Pareto.
u i vi
18
Optimalidad de Pareto.
i I
(f
( x) = f i ( x * ))
fi (x) > fi (x * )
Pareto si no existe un vector x que haga mejorar alguno de los objetivos respecto a los
valores obtenidos para x * sin que empeore de forma simultnea alguno de los otros. En
general, la solucin en el sentido de Pareto al problema de optimizacin multiobjetivo no
ser nica: la solucin estar formada por el conjunto de todos los vectores no dominados, a
los que se conoce con el nombre de conjunto de no dominados o frente de Pareto.
P = { x
*
f ( x' ) f ( x) }
Frente de Pareto.
PF * = u = f = ( f1 ( x),..., f k ( x)) / x P *
19
20
T
T
(x
21
22
23
000110010111
8 32%
6 24%
111010101100
0
1
000110010111
111010010111
0
1
000110101100
111010010111
0
1
000110101100
111010101100
001110101001
6 24%
111010101100
111010101001
111110101001
111011011100
5 20%
001110101001
001110101100
001110101101
d) Cruce
e) Mutacin
a) Poblacin
actual
b) Fitness y
prob. de
seleccin
c) Seleccin
24
Evaluacin y Seleccin.
Durante la evaluacin, se decodifica el gen, convirtindose en una serie de
parmetros de un problema, se halla la solucin del problema a partir de esos parmetros, y
se le da una puntuacin a esa solucin en funcin de lo cerca que est de la mejor solucin.
A esta puntuacin se le llama fitness o grado de aptitud.
Por ejemplo, supongamos que queremos hallar el mximo de la funcin
f ( x ) = x 2 , una parbola invertida con mximo en x=1. En este caso, el nico parmetro
del problema es la variable x. La optimizacin consiste en hallar un x tal que f(x) sea
mximo. Crearemos, pues, una poblacin de cromosomas, cada uno de los cuales contiene
una codificacin binaria del parmetro x. Lo haremos de la forma siguiente: cada byte, cuyo
valor est comprendido entre 0 y 255, se transformar para ajustarse al intervalo [-1,1],
donde queremos hallar el mximo de la funcin.
Decodificacin
Evaluacin f(x)
21
19
-86
-58
0,9559
0,9639
0,2604
0,6636
Valor binario
10010100
10010001
00101001
01000101
25
que se puedan comparar dos individuos y decir cul de ellos es mejor. Esto suele suceder
cuando se necesitan optimizar varios objetivos.
Una vez evaluada la aptitud, se tiene que crear la nueva poblacin teniendo en
cuenta que los buenos rasgos de los mejores se transmitan a esta. Para ello, hay que
seleccionar a una serie de individuos encargados de tan ardua tarea. Y esta seleccin, y la
consiguiente reproduccin, se pueden hacer de dos formas principales:
Basado en el Rango: en este esquema se mantiene un porcentaje de la poblacin,
generalmente la mayora, para la siguiente generacin. Se coloca toda la poblacin por
orden de aptitud, y los M menos dignos son eliminados y sustituidos por la descendencia de
alguno de los M mejores con algn otro individuo de la poblacin. A este esquema se le
pueden aplicar otros criterios; por ejemplo, se crea la descendencia de uno de los
paladines/amazonas, y esta sustituye al ms parecido entre los perdedores.
Esto se denomina crowding, y fue introducido por DeJong. En nuestro caso, se
eliminara el cromosoma nmero 3, y se sustituira por un descendiente del cromosoma
nmero 2 y otro aleatorio, escogido entre el 1 y el 4. En realidad, para este esquema se
escoge un crowding factor, CF. Cuando nace una nueva criatura, se seleccionan CF
individuos de la poblacin, y se elimina al ms parecido a la nueva criatura. Una variante
de este es el muestreado estocstico universal, que trata de evitar que los individuos con
ms aptitud copen la poblacin. En vez de dar la vuelta a una ruleta con una ranura, da la
vuelta a la ruleta con N ranuras, tantas como la poblacin. De esta forma, la distribucin
estadstica de descendientes en la nueva poblacin es ms parecida a la real.
Rueda de Ruleta: se crea un pool gentico formado por cromosomas de la generacin
actual, en una cantidad proporcional a su aptitud. Si la proporcin hace que un individuo
domine la poblacin, se le aplica alguna operacin de escalado. Dentro de este pool, se
cogen parejas aleatorias de cromosomas y se emparejan, sin importar incluso que sean del
mismo progenitor (para eso estn otros operadores, como la mutacin). Hay otras variantes:
26
diversos progenitores, y que sern los que den a los mismos una buena puntuacin. La
presin selectiva se encarga de que slo los buenos bloques se perpeten, y poco a poco
vayan formando una buena solucin. El Teorema de los Esquemas viene a decir que la
cantidad de buenos bloques se va incrementando con el tiempo de ejecucin de un
algoritmo gentico, y es el resultado terico ms importante en algoritmos genticos.
El intercambio gentico se puede llevar a cabo de muchas formas, pero hay dos
grupos principales:
Crossover n-puntos: los dos cromosomas se cortan por n puntos, y el material
gentico situado entre ellos se intercambia. Lo ms habitual es un crossover de un punto o
de dos puntos.
Crossover uniforme: se genera un patrn aleatorio de 1s y 0s, y se intercambian
los bits de los dos cromosomas que coincidan donde hay un 1 en el patrn. O bien se genera
un nmero aleatorio para cada bit, y si supera una determinada probabilidad se intercambia
ese bit entre los dos cromosomas.
Crossover especializado: en algunos problemas, aplicar aleatoriamente el
crossover da lugar a cromosomas que codifican soluciones invlidas; en este caso hay que
aplicar el crossover de forma que genere siempre soluciones vlidas. Un ejemplo de estos
son los operadores usados en el Problema del Agente Viajero.
Mutacin.
En la Evolucin, una mutacin es un suceso bastante poco comn: sucede
aproximadamente una de cada mil replicaciones. En la mayora de los casos las mutaciones
son letales, pero en promedio, contribuyen a la diversidad gentica de la especie. En un
algoritmo gentico tendrn el mismo papel, y la misma frecuencia (es decir, una
probabilidad muy baja).
28
Una vez establecida la frecuencia de mutacin, por ejemplo, uno por mil, se
examina cada bit de cada cadena cuando se vaya a crear la nueva criatura a partir de sus
padres (normalmente se hace de forma simultnea al crossover). Si un nmero generado
aleatoriamente est por debajo de esa probabilidad, se cambiar el bit (es decir, de 0 a 1 o
de 1 a 0). Si no, se dejar como est. Dependiendo del nmero de individuos que haya y del
nmero de bits por individuo, puede resultar que las mutaciones sean extremadamente raras
en una sola generacin.
No hace falta decir que no conviene abusar de la mutacin. Es cierto que es un
mecanismo generador de diversidad, y, por tanto, la solucin cuando un algoritmo gentico
est estancado, pero tambin es cierto que reduce el algoritmo gentico a una bsqueda
aleatoria. Siempre es ms conveniente usar otros mecanismos de generacin de diversidad,
como aumentar el tamao de la poblacin, o garantizar la aleatoriedad de la poblacin
inicial.
Este operador, junto con el crossover y el mtodo de seleccin de ruleta,
constituyen un algoritmo gentico simple, el SGA, introducido por Goldberg en su libro.
Elitismo
Los mecanismos de seleccin, en la generalidad de los casos, no garantizan la
seleccin de un individuo en particular, incluso si se trata del individuo lite, o individuo
con la mayor aptitud dentro de la poblacin. Incluso si el grado de aptitud del individuo
lite es considerablemente mayor a la de cualquier otro individuo de la poblacin,
ocasionalmente existe la probabilidad de que no sea seleccionado. No ser seleccionado
significa morir, es decir, ser desechado al momento de generar la nueva poblacin. An
cuando esto puede parecer contraproducente, desechar al individuo lite en ocasiones puede
ser ventajoso, toda vez que permite explorar ms el espacio de bsqueda al reducir la
velocidad de convergencia del algoritmo. Este balance entre exploracin del espacio de
bsqueda y explotacin de descubrimientos hechos en dicho espacio, constituye un tema
recurrente en la teora de los algoritmos genticos.
29
fi
30
f (H )
fj
Esta igualdad nos dar una estimacin del nmero de individuos del esquema H
que hemos escogido en esas n selecciones. En la frmula anterior, f(H) denota la aptitud
media de los individuos de m(H,t). Considerando que la aptitud media de la totalidad de la
poblacin es: f =
n
fj
m( H , t +1) = m( H , t )
f (H )
f
(1)
cf
en:
m( H , t +1) = m( H , t )
f +cf
= (1 +c ) m( H , t )
f
(2)
independiente. Por otro lado observemos que la seleccin no explora otras zonas del
espacio de bsqueda ya que simplemente realiza copias de individuos presentes en la
poblacin. Para ver cmo afecta el cruce en los diferentes esquemas consideremos una
cadena de longitud 7 y dos esquemas representativos de dicha cadena:
C = 0111000
H1 = *1****0
H2 = ***10**
Considerando el cruce en un punto, supongamos que el punto de cruce se produce
entre el tercer y el cuarto gen. En ese caso se puede observar que a no ser que la pareja de
C en el cruce tenga un 0 en su ltimo gen o un 1 en su segundo gen, el esquema H1 se
destruir con el cruce. Por el contrario el esquema H2 sobrevivir al cruce pues al menos
uno de los hijos pertenece a H2. Aunque hemos utilizado un punto de cruce concreto, est
claro que en un punto aleatorio es ms probable que se destruya el esquema H1. Qu
diferencia hay entre ambos esquemas?. Ntese que (H1) = 5, mientras que (H2) =1.
Teniendo en cuenta lo anterior y el hecho de que el punto de corte se elige aleatoriamente,
podemos decir que la probabilidad de que el esquema H1 sea destruido es (H1)/6 = 5/6;
mientras que la probabilidad de que lo sea H2 es (H1)/6 = 1/6. En general la probabilidad
de supervivencia de un esquema H tras el cruce ser: p s =1 ( H ) /( L 1) ; siendo L la
longitud de los cromosomas. Si adems consideramos una probabilidad de cruce pc para
cada par de cromosomas emparejados, la probabilidad de supervivencia de un esquema H
queda:
p s 1 pc
(H )
L 1
(3)
32
m( H , t +1) m( H , t )
f (H )
(H )
1 pc
f
L 1
(4)
m( H , t +1) m( H , t )
f (H )
(H )
1 pc
o( H ) p m
L 1
f
(5)
35
NSGA
El NSGA (Non-dominated Sort Genetic Algorithm) propuesto por Srinivas y Deb
(1995), fue uno de los primeros algoritmos evolucionarios. Se basa en la clasificacin de
individuos en varias capas o frentes. La clasificacin consiste en agrupar a todos los
individuos no dominados en un frente, con un valor de adaptabilidad o aptitud igual para
todos los individuos. Este valor es proporcional al tamao de la poblacin, para as
proporcionar un potencial reproductivo igual para todos los individuos de este frente.
Entonces el grupo de individuos clasificados es ignorado y otro frente de individuos no
dominados es considerado. El proceso contina hasta que se clasifican a todos los
individuos en la poblacin. Puesto que los individuos en el primer frente tienen el valor de
fitness mayor, consiguen siempre ms copias que el resto de la poblacin.
El pseudocdigo de este algoritmo es el siguiente:
36
Inicializar poblacin P.
Hacer {
Frente = 1
Hacer {
Identificar los individuos no dominados.
Asignar fitness.
Asociar los individuos al frente actual
Frente = Frente + 1
} mientras no hayan sido clasificados todos los individuos
Reproducir de acuerdo con el fitness
Aplicar los operadores de cruzamiento y mutacin.
} Mientras el criterio de parada no sea alcanzado.
SPEA
El SPEA (Strength Pareto Evolutionary Algorithm) fue introducido por el Zitzler y
Thiele (1998). El SPEA utiliza un archivo que contiene las soluciones no dominadas
encontradas (poblacin externa de no dominados Pnd). En cada generacin, se copian los
individuos no dominados de P a Pnd y se borra de este las soluciones dominadas. Para cada
individuo en el sistema externo, se computa un valor de fuerza (strength) es proporcional al
nmero de las soluciones a las cuales cada individuo domina. En SPEA, el fitness de cada
miembro de la poblacin actual se computa segn las fuerzas de todas las soluciones no
dominadas externas que la dominen. El pseudocdigo de este algoritmo es:
Inicializar poblacin P.
Hacer {
Evaluar Individuos de P.
Marcar soluciones no dominadas de P.
Actualizar el conjunto de soluciones no dominadas PN
Calcular la adaptabilidad de los individuos de P y PN
Seleccionar individuos del conjunto PN
Aplicar los operadores de cruzamiento y mutacin.
} mientras el criterio de parada no sea alcanzado.
37
SPEA2
SPEA2 (Strength Pareto Evolutionary Algorithm 2) tiene las siguientes diferencias
principales con respecto a su precursor. En primer lugar incorpora una estrategia fina de
asignacin del fitness que considera, para cada individuo, el nmero de los individuos que
lo dominan y el nmero de los individuos por los cuales es dominado. En segundo lugar,
utiliza la tcnica del vecino ms cercano para la valoracin de la densidad, dirigiendo la
bsqueda en forma ms eficiente. El pseudocdigo de este algoritmo se presenta a
continuacin:
Inicializar poblacin P.
Hacer {
Evaluar Individuos de P.
Marcar soluciones no dominadas de P.
Actualizar el conjunto de soluciones no dominadas PN
Calcular la adaptabilidad de los individuos de P y PN
Seleccionar individuos del conjunto P PN
Aplicar los operadores de cruzamiento y mutacin.
} mientras el criterio de parada no sea alcanzado.
NSGA-II
Deb, Agrawal, Pratap y Meyarivan (2000) propusieron una versin revisada del
NSGA, llamada NSGA-II, que es computacionalmente ms eficiente por ser de orden
o(mN2) en lugar de o(mN3). Adems, usa elitismo y no necesita especificar ningn
parmetro adicional.
Este nuevo algoritmo vino a solventar las principales crticas al enfoque planteado
por el algoritmo NSGA original, a saber:
Alta complejidad computacional: El algoritmo NSGA es de orden O(mN3).
Cuando se trata de poblaciones grandes, es muy costoso en trminos de procesador, toda
vez que la poblacin debe ser ordenada en cada generacin. En el algoritmo original
NSGA, a los fines de ordenar la poblacin de tamao N de acuerdo con el nivel de no38
dominancia, cada solucin debe ser comparada con cualquier otra solucin en la poblacin
para saber si es dominada. Esto requiere o(mN) comparaciones para cada solucin, donde m
es el nmero de objetivos. Cuando este proceso contina para hallar los miembros de la
primera clase no-dominada, la complejidad total es o(mN2). En este punto, ya se han
encontrado todos los individuos del primer frente no-dominado. Para hallar los individuos
del siguiente frente, las soluciones del primer frente son temporalmente descontadas y se
repite el procedimiento anterior. En el peor de los casos, la tarea de hallar el segundo frente
tambin requiere o(mN2) clculos. Este procedimiento se repite hasta hallar los
subsiguientes frentes. Como se desprende de este anlisis, en el peor de los casos (cuando
existe slo una solucin en cada frente) la complejidad del algoritmo es del orden de
o(mN3).
Ausencia de Elitismo: Resultados recientes (Rudolph, 1999) demuestran
fehacientemente que el elitismo puede acelerar el rendimiento del algoritmo gentico de
manera significativa, y tambin ayuda a prevenir la prdida de buenas soluciones una vez
que stas han sido encontradas.
Necesidad de especificar un parmetro de distribucin (sharing): Los mecanismos
tradicionales para asegurar la diversidad en una poblacin, a los fines de disponer de una
amplia variedad de soluciones equivalentes, han descansado en el concepto de distribucin
o diversidad. El principal problema de este enfoque es que dicho parmetro debe ser
estimado y proporcionado por el usuario. Es por ello que se considera deseable un
mecanismo que asegure la diversidad sin necesidad de parmetros.
Otro punto a favor del algoritmo NSGA-II es que no utiliza una memoria externa
como los algoritmos anteriores (SPEA y SPEA2). El mecanismo elitista consiste en elegir
los mejores P individuos de la unin de las poblaciones padre e hijo.
39
Inicializar poblacin P.
Ordenar P, considerando dominancia.
Evaluar Individuos de P.
Aplicar operadores genticos a P, para tener Q
t = 0 //cantidad de generaciones
Hacer {
R = P Q.
Ordenar R, considerando dominancia y obtener frentes Fi
I=1
Mientras |Pt+1| < N { // N numero de individuos en P
Calcular adaptabilidad de cada individuo en Fi
Pt+1 = Pt+1 Fi
I = I + 1
}
Ordenar Pt+1, por dominancia.
Elegir los primeros N elementos de Pt+1
Aplicar operadores genticos a Pt+1, para tener Qt+1
t = t + 1
} mientras el criterio de parada no sea alcanzado.
40
41
GLOSARIO DE TRMINOS
42
43
Una dcada despus del trabajo pionero de Schaffer (1984), se dieron a conocer
importantes estudios sobre Algoritmos Genticos Multiobjetivo, que se enfocaron en
aspectos tales como dominancia de Pareto (Goldberg, 1989), implementaciones
independientes de algoritmos genticos multiobjetivo (Fonseca y Fleming, 1993; Horn y
otros, 1994; Shrinivas y Deb, 1995; Zitzler y Thiele, 1998), aplicaciones (Cunha y otros,
1997; Eheart y otros, 1993; Weile, 1996), as como tambin un estudio recopilatorio sobre
funciones de prueba existentes en la literatura (Van Veldhuizen y Lamont, 1998).
Hasta ese momento, existan muy pocos estudios dirigidos a investigar la
naturaleza de las caractersticas particulares de un problema que plantean dificultades a los
Algoritmos Genticos Multiobjetivo. La literatura tambin careca de un conjunto de
funciones de prueba con medida de dificultad comprobada que permitiesen el ensayo
sistemtico del rendimiento de un algoritmo de optimizacin en general. Es entonces,
cuando Deb (1999), publica su trabajo titulado Multi-objective genetic algorithms:
Problem difficulties and construction of test Functions, donde resalta dichas caractersticas
problemticas, y con dichas particularidades en mente, muestra procedimientos para
construir funciones de prueba con dificultad controlada.
Podra pensarse que los estudios dirigidos a encontrar problemas que causen
dificultades a un algoritmo constituyen un trabajo muy pesimista, pero no es menos cierto
que la genuina eficiencia de un algoritmo es revelada cuando el mismo es aplicado a
desafiantes funciones de prueba, y no a funciones de prueba ms sencillas.
Es por ello que a los fines de validar la eficiencia del Algoritmo Gentico
Multiobjetivo propuesto, se us un conjunto de funciones de prueba comnmente adoptadas
44
Funcin de Prueba 1.
La primera funcin de prueba seleccionada, es un Problema de Optimizacin
Multiobjetivo, con dos funciones objetivo simultneas y dos variables, adems de tres
restricciones lineales, a saber:
Minimizar f ( x1 , x 2 ) = ( f1 ( x1 , x 2 ), f 2 ( x1 , x 2 ))
donde
f 1 ( x1 , x 2 ) = x1 + x 2
f 2 ( x1 , x 2 ) =
sujeto a
1
x1 + x 2 + 1
2
1
13
x1 + x 2
6
2
13
1
g1 ( x1 , x 2 ) = x1 + x 2 0
2
6
1
15
x1 + x 2
2
2
15
1
g 2 ( x1 , x 2 ) = x1 + x 2 0
2
2
5 x1 + x 2 30
g 3 ( x1 , x 2 ) = ( 5 x1 + x 2 30 ) 0
Real
Tipo de la variable x2
Rango de x2
Real
Estrategia de Distribucin
Igual peso para todos los objetivos:
Valor compartido de sigma
Tamao de la Poblacin
Probabilidad de Cruce
Probabilidad de Mutacion
Estrategia de Cruce
Indice de Distribucion para Cruce y Mutacion
Nmero de Generaciones
Semilla de Numeros Aleatorios (0 to 1.0)
Espacio de Aptitud
Si
0,158
30
0,7
0,2
Cruce de un solo punto
30 50
40
0,120
2 x1 2
2 x2 2
45
x2
1,989
1,997
1,999
1,983
1,980
2,000
1,999
1,974
1,999
1,988
1,944
1,965
1,999
1,992
1,998
f1
-1,967
-1,955
-1,944
-1,840
-1,745
-1,580
-1,317
-1,264
-1,188
-1,180
-1,117
-1,074
-1,030
-1,024
-0,983
f2
-3,063
-3,099
-3,116
-3,172
-3,222
-3,324
-3,412
-3,395
-3,449
-3,437
-3,399
-3,437
-3,491
-3,484
-3,502
x1
1,100
1,102
1,139
1,151
1,166
1,215
1,267
1,277
1,351
1,352
1,366
1,410
1,428
1,835
1,943
x2
1,999
1,999
1,999
1,998
1,993
1,966
1,993
1,999
2,000
1,999
1,996
1,997
1,998
1,998
1,996
f1
-0,788
-0,783
-0,702
-0,674
-0,634
-0,490
-0,388
-0,368
-0,174
-0,170
-0,130
-0,008
0,041
1,368
1,779
f2
-3,549
-3,550
-3,569
-3,574
-3,577
-3,573
-3,626
-3,638
-3,676
-3,675
-3,679
-3,702
-3,712
-3,916
-3,968
46
47
48
Funcin de Prueba 2.
La segunda funcin de prueba seleccionada, es un Problema de Optimizacin
Multiobjetivo, propuesta por Viennet (ref), que consta de tres funciones objetivo de dos
variables, sin restricciones, a saber:
Minimizar f ( x1 , x 2 ) = ( f 1 ( x1 , x 2 ), f 2 ( x1 , x 2 ), f 3 ( x1 , x 2 ))
donde
f1 ( x1 , x 2 ) = x1 + ( x 2 1)
2
f 2 ( x1 , x2 ) = x1 + ( x2 + 1) + 1
2
con 2 x1 , x 2 2
f 3 ( x1 , x 2 ) = ( x1 1) + x 2 + 2
2
La corrida del algoritmo gentico se realiz usando los mismos parmetros de las
corridas anteriores, con 20 generaciones de 20 individuos cada una.
Tipo de la variable x1
Rango de x1
Real
Tipo de la variable x2
Rango de x2
Real
Estrategia de Distribucin
Igual peso para todos los objetivos:
Valor compartido de sigma
Tamao de la Poblacin
Probabilidad de Cruce
Probabilidad de Mutacion
Estrategia de Cruce
Indice de Distribucion para Cruce y Mutacion
Nmero de Generaciones
Semilla de Numeros Aleatorios (0 to 1.0)
Espacio de Aptitud
Si
0,158
30
0,7
0,2
Cruce de un solo punto
30 50
20
0,120
2 x1 2
2 x2 2
49
x2
1,059
-1,154
0,177
0,489
0,78
0,685
0,963
0,308
0,606
0,375
0,28
0,139
0,34
0,082
0,273
-0,036
0,495
-0,052
-0,109
-0,241
-0,313
-0,438
-0,305
-0,273
-0,438
-0,31
-0,8
-0,458
-1,372
-1,435
f1
0,115
4,659
1,752
0,263
0,319
0,419
0,479
0,481
0,684
0,69
0,77
0,783
0,865
0,887
1,19
1,23
1,32
1,367
1,376
1,612
2,048
2,067
2,15
2,344
2,345
2,857
3,364
3,658
5,849
6,36
f2
5,35
1,042
3,46
3,218
4,438
4,158
5,33
2,712
4,107
3,189
2,89
2,341
3,226
2,214
3,281
2,085
4,302
2,16
1,941
1,647
1,796
1,316
1,929
2,251
1,595
2,618
1,164
2,824
1,362
1,621
f3
3,564
4,621
2,033
3,322
4,92
2,657
3,022
3,176
2,441
4,533
2,327
3,474
2,234
3,469
2,109
2,368
2,246
2,242
3,925
3,663
2,284
3,199
2,203
2,097
4,525
2,101
3,059
2,267
4,16
4,176
50
52
Funcin de Prueba 3.
La tercera funcin de prueba seleccionada, es un Problema de Optimizacin
Multiobjetivo, propuesta tambin por Viennet (ref), que consta de tres funciones objetivo
de dos variables, y sin restricciones, a saber:
Minimizar f ( x1 , x 2 ) = ( f 1 ( x1 , x 2 ), f 2 ( x1 , x 2 ), f 3 ( x1 , x 2 ))
donde
f1 ( x1 , x 2 ) = x1 + ( x 2 1)
2
f 2 ( x1 , x 2 ) =
f 3 ( x1 , x 2
( x1 + x2 3) 2 ( x1 + x2 + 2) 2
+
36
2
2
(
x1 + 2 x 2 1)
(
2 x 2 x1 )
)=
+
175
17
17
13
con 4 x1 , x 2 4
La corrida del algoritmo gentico se realiz usando los siguientes parmetros:
Tipo de la variable x1
Rango de x1
Real
Tipo de la variable x2
Rango de x2
Real
Estrategia de Distribucin
Igual peso para todos los objetivos:
Valor compartido de sigma
Tamao de la Poblacin
Probabilidad de Cruce
Probabilidad de Mutacion
Estrategia de Cruce
Indice de Distribucion para Cruce y Mutacion
Nmero de Generaciones
Semilla de Numeros Aleatorios (0 to 1.0)
Espacio de Aptitud
Si
0,158
30
0,7
0,2
Cruce de un solo punto
30
50
20
0,120
4 x1 4
4 x2 4
53
x2
1,101
0,473
0,471
0,481
-0,338
0,909
0,606
0,198
-0,348
0,606
0,701
0,421
1,472
0,925
0,890
-0,316
1,336
0,426
0,669
1,180
1,344
1,242
0,496
0,471
-0,171
1,673
0,178
0,475
0,606
0,932
f1
0,040
6,027
1,438
2,205
3,531
1,338
1,487
5,892
3,109
1,359
1,255
2,181
0,279
9,324
1,281
4,308
1,553
4,328
2,162
3,219
8,937
2,022
0,394
1,577
3,778
6,405
3,572
2,320
0,190
6,175
f2
-15,540
-16,999
-16,698
-16,816
-16,872
-14,645
-14,883
-16,992
-16,831
-16,669
-16,630
-16,818
-15,195
-16,971
-16,584
-16,918
-16,424
-16,968
-16,786
-16,757
-16,935
-16,573
-15,741
-16,724
-16,918
-16,776
-16,937
-16,830
-15,841
-16,970
f3
-12,662
-12,845
-12,993
-12,979
-12,765
-12,480
-12,665
-12,772
-12,801
-12,989
-12,981
-12,976
-12,388
-12,828
-12,954
-12,706
-12,825
-12,903
-12,982
-12,924
-12,871
-12,883
-12,890
-12,991
-12,789
-12,821
-12,887
-12,976
-12,885
-12,913
54
56
CAPTULO VI
Conclusiones
57
Recomendaciones.
Una gran cantidad de trabajo queda por hacer en trminos de mejorar el algoritmo
as como la interfaz de usuario. Ms tcnicas de algoritmos genticos y otras heursticas de
programacin matemtica, por consiguiente es recomendable que stas deberan ser
incorporadas para mejorar an ms el algoritmo.
Es recomendable que para el logro de la
perfeccionarse. Para ello se deben tomar en cuenta dos requisitos, como son: conducir la
bsqueda hacia la frontera de Pareto y mantener la diversidad de la poblacin en el entorno
de esta frontera.
Se recomienda que para mejorar la velocidad de convergencia es necesario evaluar
la distancia de crowding (amontonamiento), a los fines de mantener la diversidad en la
poblacin para que los individuos con mayor distancia obtengan una mejor evaluacin que
aquellos con menor distancia dentro del mismo Frente de Pareto.
Se sugiere que para obtener mejores resultados en la seleccin se regule
simultneamente la tasa de elitismo, que proporciona un control cuantitativo sobre la
presin de seleccin en el algoritmo.
58
Referencias Bibliogrficas.
60
Neely C., P. Weller and R. Dittmar (1997). Is technical analysis in the foreign
exchange market profitable? A genetic programming approach. Journal of Financial and
Quantitative Analysis, 32, 4, pp. 405-426.
Rudolph, G. (1999) Evolutionary search under partially ordered sets. Technical
Report No. CI-67/99, Dortmund: Department of Computer Science/LS11, University of
Dortmund, Germany.
Schaffer, J.D. (1985). Multiple objective optimization with vector evaluated
genetic algorithms. Proceeding of the 1st ICGA. pp. 93-100.
Srinivas, N. y Deb, K. (1995). Multiobjective optimization using nondominated
sorting in Genetic Algorithms. Evolutionary Computation, 2, pp. 221-248.
Van Veldhuizen, D. y Lamont, G. B. (1998). Multiobjective evolutionary
algorithm research: A history and analysis. TechnicalReportNumber TR-98-03. WrightPatterson AFB, Department of Electrical and Computer Engineering, Air Force Institute of
Technology, Ohio.
Weile, D. S., Michielssen, E. y Goldberg, D. E. (1996). Genetic algorithm design
of Pareto-optimal broad band microwave absorbers. IEEE Transactions on Electromagnetic
Compatibility, 38:518525.
Yadavalli, V. K, R. K. Dahule, S. S. Tambe and B. D. Kulkarni (1999).
Obtaining functional form for chaotic time series evolution using genetic algorithm.
American Institute of Physics, 9, 3, pp. 789-794.
Zitzler, E. y Thiele, L. (1998) Multiobjective optimization using evolutionary
algorithmsA comparative case study. In Eiben, A. E., Bck, T., Schoenauer, M., and
Schwefel, H.-P., editors, Parallel Problem Solving from Nature, V, pages 292301,
Springer, Berlin, Germany.
61