Você está na página 1de 60

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN UNIVERSITARIA


INSTITUTO UNIVERSITARIO DE TECNOLOGA DE LOS LLANOS
NUCLEO VALLE DE LA PASCUA- ESTADO GUARICO

ENFOQUE ANALTICO EN LA APLICACIN DE UN ALGORITMO GENTICO


MULTIOBJETIVO PARA LA OPTIMIZACIN DE FUNCIONES NO LINEALES
Trabajo de Ascenso presentado ante el
Instituto Universitario de Tecnologa de los Llanos
como requisito para optar a la Categora Acadmica de Asistente

JOS ALFREDO SNCHEZ DAZ


CI: 10.983.598

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

Grfico 1. Ejemplo de Frente de Pareto..20


Grfico 2. Representacin esquemtica de un Algoritmo Gentico...24
Grfico 3. Aptitud Conjunta de la Funcin de Prueba 1.47
Grfico 4. Frente de Pareto de las Funciones de Prueba 1..48
Grfico 5. Aptitud Conjunta de la Funcin de Prueba 2.51
Grfico 6. Dispersin de las soluciones de la Funcin de Prueba 2...51
Grfico 7. Frente de Pareto de la Funcin de Prueba 2..52
Grfico 8 Aptitud Conjunta de la Funcin de Prueba 3.55
Grfico 9. Dispersin de las soluciones de la Funcin de Prueba 3...55
Grfico 10. Frente de Pareto de la Funcin de Prueba 3....56

iii

REPUBLICA BOLIVARIANA DE VENEZUELA


MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN UNIVERSITARIA
INSTITUTO UNIVERSITARIO DE TECNOLOGA DE LOS LLANOS
NUCLEO VALLE DE LA PASCUA- ESTADO GUARICO

ENFOQUE ANALTICO EN LA APLICACIN DE UN ALGORITMO GENTICO


MULTIOBJETIVO PARA LA OPTIMIZACIN DE FUNCIONES NO LINEALES
AUTOR: Jos Alfredo Snchez Daz
CI: 10.983.598
RESUMEN
El propsito de este trabajo, investigacin documental, es enfocar analticamente
la aplicacin de un Algoritmo Gentico Multiobjetivo, as como su empleo en la resolucin
de Problemas de Optimizacin de Funciones No Lineales. La tcnica propuesta puede
resolver tambin problemas multiobjetivo no lineales que involucran regiones factibles noconvexas, las cuales plantean dificultades adicionales usando mtodos clsicos de
resolucin Los resultados sugieren que el enfoque propuesto es una herramienta nica,
efectiva y prctica para resolver problemas no lineales orientados a metas u objetivos
simultneos. El presente trabajo se estructura de la manera siguiente: En el Captulo I se
encuentra el diagnstico del problema, se plantea la situacin problemtica con sus causas
y efectos, los objetivos de la investigacin y la justificacin. En el Captulo II, se comenta
sobre la metodologa utilizada para la realizacin y desarrollo del trabajo, atendiendo al
propsito del estudio. El Captulo III incluye la formalizacin del Problema de
Optimizacin Multiobjetivo, as como las nociones de Eficiencia, Dominancia y
Optimalidad en trminos de Pareto. El Captulo IV introduce los fundamentos de los
Algoritmos Genticos, haciendo nfasis en su aplicacin en problemas Optimizacin
Numrica, se y se propone una versin modificada por el autor del algoritmo gentico
NSGA-II desarrollado por Deb y otros (2000). El Captulo V contiene los resultados de
ensayos de aplicacin del Algoritmo Gentico propuesto a los fines de demostrar la eficacia
del mtodo propuesto. El Captulo VI es contentivo de las conclusiones y recomendaciones.
Descriptores: Algoritmos Genticos, Algoritmos Genticos Multiobjetivo, Funciones
No Lineales, Optimizacin No Lineal, Frente de Pareto.

iv

INTRODUCCIN

En la resolucin de problemas de optimizacin multiobjetivo, como las que surgen


habitualmente en actividades de diseo de ingeniera y en muchos otros problemas reales,
deben satisfacerse un nmero de objetivos o metas de diseo concurrentes, es decir, se debe
encontrar una solucin de compromiso que maximiza o minimiza funciones objetivo
simultneas. En la resolucin de este tipo de problemas, los mtodos clsicos reducen el
problema multiobjetivo a un problema ms simple con una nica funcin objetivo que se
define como la suma ponderada de las funciones objetivo, usando tcnicas de linealizacin
sucesiva que por lo general son muy sensibles a la solucin inicial que se haya escogido.
Los problemas multiobjetivo persiguen optimizar un vector solucin formado por
las funciones objetivo de un problema. Entre los diferentes vectores solucin a un problema
multiobjetivo existe una relacin denominada Dominancia de Pareto, de tal manera que el
conjunto de soluciones no dominadas se constituye como el conjunto final de soluciones al
problema entre las que el decisor debe elegir la que considere ms adecuada.
El enfoque que constituye esta propuesta se basa en utilizar un algoritmo gentico
multiobjetivo en la optimizacin de funciones no lineales, usando el concepto de
estratificacin del conjunto de soluciones usando la Dominancia de Pareto de Deb,
Agrawal, Pratap y Meyarivan (2000), as como un procedimiento novedoso para que los
individuos de este conjunto estn distribuidos uniformemente en la Frontera de Pareto. Este
procedimiento elimina la necesidad de disponer de restricciones adicionales como las
requeridas por las formulaciones clsicas y tambin prescinde de la necesidad de establecer
factores o pesos definidos por el usuario para cada 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.

La eficacia del mtodo propuesto se demuestra resolviendo una serie de problemas


de prueba no lineales, y resolviendo un problema de diseo de ingeniera. Los resultados
preliminares sugieren que el enfoque propuesto es una herramienta nica, efectiva y ms
prctica para resolver problemas no lineales orientados a metas u objetivos simultneos.
En ese sentido, el presente trabajo est compuesto por una estructura de captulos,
como se enumera a continuacin: En el Captulo I se encuentra el diagnstico del problema,
se plantea la situacin problemtica con sus causas y efectos, los objetivos del proyecto y la
justificacin. El Captulo II, versa sobre metodologa utilizada para la realizacin y
desarrollo del trabajo, atendiendo a los propsitos del estudio. El Captulo III incluye la
formalizacin del Problema de Optimizacin Multiobjetivo, as como las nociones de
Eficiencia, Dominancia y Optimalidad en trminos de Pareto. El Captulo IV introduce los
fundamentos de los Algoritmos Genticos y se propone una versin modificada por el autor
del algoritmo gentico NSGA-II desarrollado por Deb y otros (2000). El Captulo V
contiene los resultados de ensayos de aplicacin del Algoritmo Gentico propuesto a los
fines de demostrar la eficacia del mtodo propuesto. El Captulo VI es contentivo de las
conclusiones y recomendaciones, emanadas de la posicin conclusiva del autor en torno a
las variables sujeto y objeto de la investigacin.

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.

Objetivo General de la Investigacin


Enfocar analticamente un Algoritmo Gentico Multiobjetivo para la optimizacin
de funciones no lineales dirigidas a soluciones eficientes que satisfagan metas concurrentes
simultneas.

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

El presente trabajo fue desarrollado bajos la metodologa y criterios tcnicos de la


investigacin documental, cuya tipologa de indagacin en los procesos epistemolgicos se
considera como una variante de la investigacin cientfica, su objetivo fundamental es el
anlisis de diferentes fenmenos del conocimiento, utiliza tcnicas muy precisas, de la
documentacin existente, que directa o indirectamente, aporte la informacin que requiere
el investigador para lograr sus objetivos y propsitos.
De all que, segn Hurtado, I. y Toro, J. (2005), definan cohesionadamente a la investigacin documental como parte esencial de un proceso de investigacin cientfica,
constituyndose en una estrategia donde se observa y reflexiona sistemticamente sobre
realidades (tericas o no) usando para ello diferentes tipos de documentos. Indaga,
interpreta, presenta datos e informaciones sobre un tema determinado de cualquier ciencia,
utilizando para ello, una metdica de anlisis; teniendo como finalidad obtener resultados
que pudiesen ser base para el desarrollo de la creacin cientfica.
Visto en estos trminos, la Investigacin Documental se define de la siguiente
manera:
Se caracteriza por la utilizacin de documentos; recolecta, selecciona, analiza y
presenta resultados coherentes. Utiliza los procedimientos lgicos y mentales de toda
investigacin; anlisis, sntesis, deduccin, induccin, etc. Realiza un proceso de
abstraccin cientfica, generalizando sobre la base de lo fundamental. Realiza una
recopilacin adecuada de datos que permiten redescubrir hechos, sugerir problemas,
orientar hacia otras fuentes de investigacin, orientar formas para elaborar instrumentos de
investigacin, elaborar hiptesis, etc. Puede considerarse como parte fundamental de un
12

proceso de investigacin cientfica, mucho ms amplio y acabado. Es una investigacin que


se realiza en forma ordenada y con objetivos precisos, con la finalidad de ser base a la
construccin de conocimientos.
Se basa en la utilizacin de diferentes tcnicas de: localizacin y fijacin de datos,
anlisis de documentos y de contenidos. En un sentido restringido, entendemos a la investigacin documental como un proceso de bsqueda que se realiza en fuentes impresas. Es
decir, se realiza una investigacin bibliogrfica especializada para producir nuevos asientos
bibliogrficos sobre el particular.
Atendiendo a los propsitos del estudio, se llev a cabo una investigacin tipo
documental, que incluye revisiones crticas del estado del conocimiento terico y emprico
existente sobre el problema, focalizado en el progreso de la investigacin actual y posibles
vas para su solucin.
Para ello el autor realiz un anlisis de las teoras y conceptualizaciones existentes
a los fines de formalizar el Problema de Optimizacin Multiobjetivo y los criterios de
Optimalidad desde el punto de vista de Pareto, por consiguiente, se indag acerca de los
Algoritmos Genticos, su historia, estructura, y dems conceptos fundamentales como
cruce, mutacin y elitismo.
Seguidamente, se realiz una investigacin dirigida a determinar los resultados
tericos que avalan la eficacia y eficiencia de los algoritmos genticos, en particular, el
Teorema de los Esquemas o Teorema Fundamental de los Algoritmos Genticos.
(Goldberg, 1989), (Michalewicz, 1994)
Asimismo, se realiz un abordaje las aplicaciones de los Algoritmos Genticos en
Optimizacin Numrica, haciendo especial nfasis en los Algoritmos Genticos
Multiobjetivo, as como tambin, a las fortalezas y debilidades de los algoritmos genticos
multiobjetivo ms representativos desarrollados hasta la fecha.

13

CAPTULO III
MARCO TERICO

Los primeros ejemplos de lo que hoy podramos llamar algoritmos genticos


aparecieron a finales de los 50 y principios de los 60, programados en computadoras por
bilogos evolutivos que buscaban explcitamente realizar modelos de aspectos de la
evolucin natural. A ninguno de ellos se le ocurri que esta estrategia podra aplicarse de
manera ms general a los problemas artificiales, pero ese reconocimiento no tardara en
llegar: La computacin evolutiva estaba definitivamente en el aire en los das formativos
de la computadora electrnica (Mitchell, 1999).
En 1962, investigadores como G.E.P. Box, G.J. Friedman, W.W. Bledsoe y H.J.
Bremermann haban desarrollado independientemente algoritmos inspirados en la
evolucin para optimizacin de funciones y aprendizaje automtico, pero sus trabajos
generaron poca reaccin. En 1965 surgi un desarrollo ms exitoso, cuando Ingo
Rechenberg, entonces de la Universidad Tcnica de Berln, introdujo una tcnica que llam
estrategia evolutiva, aunque se pareca ms a los trepacolinas (hill climbings) que a los
algoritmos genticos. En esta tcnica no haba poblacin ni cruzamiento; un padre mutaba
para producir un descendiente, y se conservaba el mejor de los dos, convirtindose en el
padre de la siguiente ronda de mutacin (Haupt y Haupt, 1998). Versiones posteriores
introdujeron la idea de poblacin. Las estrategias evolutivas todava se emplean hoy en da
por ingenieros y cientficos, sobre todo en Alemania.
En una fecha tan temprana como 1962, el trabajo de John Holland sobre sistemas
adaptativos estableci las bases para desarrollos posteriores; y lo que es ms importante,
Holland fue tambin el primero en proponer explcitamente el cruzamiento y otros
operadores de recombinacin.

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:

Imitar los procesos adaptativos de los sistemas naturales.

Disear sistemas artificiales (normalmente programas) que retengan los


mecanismos importantes de los sistemas naturales.

15

Sin embargo, sera en 1975 cuando aparecera el trabajo fundamental en el campo


de los algoritmos genticos, con la publicacin del libro de Holland Adaptacin en
Sistemas Naturales y Artificiales. Basado en investigaciones anteriores del propio Holland
y de colegas de la Universidad de Michigan, este libro fue el primero en presentar
sistemtica y rigurosamente el concepto de sistemas digitales adaptativos utilizando la
mutacin, la seleccin y el cruzamiento, simulando el proceso de la evolucin biolgica
como estrategia para resolver problemas.
Unos 15 aos despus, David Goldberg, actual autoridad de los algoritmos
genticos, conoci a Holland, y se convirti en su estudiante. Golberg era un ingeniero
industrial trabajando en diseo de tuberas, y fue uno de los primeros que trat de aplicar
los algoritmos genticos a problemas industriales. Aunque Holland trat de disuadirle,
porque pensaba que el problema era excesivamente complicado como para aplicarle
algoritmos genticos, Goldberg consigui lo que quera, escribiendo un algoritmo gentico
en un computador personal Apple II. Estas y otras aplicaciones creadas por estudiantes de
Holland convirtieron a los algoritmos genticos en un campo con base suficiente aceptado
para celebrar la primera conferencia en 1985, ICGA85. Tal conferencia se sigue
celebrando bianualmente.
Hoy en da, la computacin evolutiva es un campo floreciente, y los algoritmos
genticos estn resolviendo problemas de inters cotidiano en reas de estudio tan diversas
como la prediccin en la bolsa y la planificacin de la cartera de valores, ingeniera
aeroespacial, diseo de microchips, bioqumica y biologa molecular, diseo de horarios en
aeropuertos y lneas de montaje, entre otras.
Aunque algunas de las aplicaciones ms prometedoras y las demostraciones ms
convincentes de la potencia de los algoritmos genticos se encuentran en campos de
utilidad prctica, destacan tambin los problemas puramente matemticos. Haupt y Haupt
(1998), describen por ejemplo, el uso de algoritmos genticos para resolver ecuaciones en
derivadas parciales no lineales de alto orden, normalmente encontrando los valores para los

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.

Problema de Optimizacin Multiobjetivo

Formulacin del Problema de Optimizacin Multiobjetivo.

El Problema de Optimizacin Multiobjetivo General puede formularse como:


Encontrar el vector x * = [ x1* , x2* ,..., xn* ]

que satisfaga las m restricciones de

desigualdad:

gi ( x ) 0

i = 1,2,..., m

(1)

i = 1,2,..., p

(2)

las p restricciones de igualdad

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.

Un vector u = (u1 ,..., u k ) domina a otro vector v = (v1 ,..., v k ) s y slo s:


i {1,.., k } ,

u i vi

y existe i0 {1,.., k } tal que

parcialmente menor a v. Se denota mediante u v .

18

u i0 < vi0 , es decir, si u es

Optimalidad de Pareto.

Decimos que un punto x * es un ptimo de Pareto si para toda x e


I = {1,2,..., k } ya sea,

i I

(f

( x) = f i ( x * ))

o hay al menos una i I tal que

fi (x) > fi (x * )

En otras palabras, la definicin anterior dice que el punto x * es un ptimo de

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.

Conjunto de ptimos de Pareto.

Para un problema multiobjetivo dado f (x ) , el conjunto de ptimos de Pareto (


P * ) se define como:

P = { x
*

/ x ' tal que

f ( x' ) f ( x) }

Frente de Pareto.

Para un problema multiobjetivo dado f (x ) , y un conjunto de ptimos de Pareto (


P * ), el frente de Pareto ( PF * ) se define como:


PF * = u = f = ( f1 ( x),..., f k ( x)) / x P *

19

A modo de ejemplo, en la figura 1 se representa, con trazo grueso, el frente de


Pareto de una funcin con 2 objetivos (se est considerando un caso de minimizacin). El
rea coloreada T representa la imagen de dicha funcin objetivo. Se puede observar que no
existe ningn punto perteneciente a T que mejore en el sentido de Pareto, a algn punto del
Frente.

Grfico 1. Ejemplo de Frente de Pareto.

Eligiendo un punto de T de forma arbitraria, por ejemplo p3, se puede trazar la


vertical hasta obtener el punto de corte con el Frente de Pareto, en este caso p 1; dicho punto
de corte siempre tendr el mismo valor de f 1 y un valor mejor de f 2 . Tambin se puede
observar que para 2 puntos cualesquiera del Frente de Pareto, nunca habr uno que mejore
de forma simultnea los dos objetivos respecto al otro punto. Tomando por ejemplo los
puntos p1 y p2, se observa que para p1 mejora f2, pero a costa de empeorar f1.

20

Los Algoritmos Genticos

Anatoma de un Algoritmo Gentico


Los algoritmos genticos son mtodos sistemticos para la resolucin de
problemas de bsqueda y optimizacin que aplican a estos los mismos mtodos de la
evolucin biolgica: seleccin basada en la poblacin, reproduccin sexual y mutacin.
Los algoritmos genticos son mtodos de optimizacin, que tratan de resolver el
mismo conjunto de problemas que se ha contemplado anteriormente, es decir, hallar

T
T

tal que se optimice f ( x ) = [ f1 ( x ), f 2 ( x ),..., f k ( x )] . En un


x * = [ x1* , x2* ,..., xn* ]
algoritmo gentico, luego de parametrizar el problema en una serie de variables

(x

, x 2 ,..., x n ) se codifican en un cromosoma. Todos los operadores utilizados por un

algoritmo gentico se aplicarn sobre estos cromosomas, o sobre poblaciones de ellos. En


el algoritmo gentico va implcito el mtodo para resolver el problema; son solo parmetros
de tal mtodo los que estn codificados, a diferencia de otros algoritmos evolutivos como la
programacin gentica. Hay que tener en cuenta que un algoritmo gentico es
independiente del problema, lo cual lo hace un algoritmo robusto, por ser til para
cualquier problema, pero a la vez dbil, pues no est especializado en ninguno.
Las soluciones codificadas en un cromosoma compiten para ver cul constituye la
mejor solucin (aunque no necesariamente la mejor de todas las soluciones posibles). El
ambiente, constituido por las otras camaradas soluciones, ejercer una presin selectiva
sobre la poblacin, de forma que slo los mejor adaptados (aquellos que resuelvan mejor el
problema) sobrevivan o leguen su material gentico a las siguientes generaciones, igual que
en la evolucin de las especies. La diversidad gentica se introduce mediante mutaciones y
reproduccin sexual.

21

En la Naturaleza lo nico que hay que optimizar es la supervivencia, y eso


significa a su vez maximizar diversos factores y minimizar otros. Un algoritmo gentico
simple se usa habitualmente para optimizar slo una funcin, no diversas funciones
relacionadas entre s simultneamente. Los problemas de optimizacin multimodal o
multiobjetivo, se abordan con un algoritmo gentico ms especializado, como el que se
desarrolla en este proyecto.
Por lo tanto, un algoritmo gentico consiste en lo siguiente: hallar de qu
parmetros depende el problema, codificarlos en un cromosoma, y se aplican los mtodos
de la evolucin: seleccin y reproduccin sexual con intercambio de informacin y
alteraciones que generan diversidad.

Representacin Interna de los Cromosomas


Los algoritmos genticos requieren que el conjunto se codifique en un cromosoma.
Cada cromosoma tiene varios genes, que corresponden a sendos parmetros del problema.
Para poder trabajar con estos genes en el computador, es necesario codificarlos en una
cadena, es decir, una secuencia o arreglo de smbolos (nmeros o letras) que generalmente
va a estar compuesta de 0s y 1s.
Por ejemplo, en una cadena de bits, el valor del parmetro p 1 ocupar las
posiciones 0 a 2, el p2 las 3 a 5, y as sucesivamente. El nmero de bits usado para cada
parmetro depender de la precisin que se quiera en el mismo o del nmero de opciones
posibles (alelos) que tenga ese parmetro.
Hay otras codificaciones posibles, usando alfabetos de diferente cardinalidad; sin
embargo, uno de los resultados fundamentales en la teora de algoritmos genticos, el
Teorema de los Esquemas, afirma que la codificacin ptima sobre la que los algoritmos
genticos funcionan mejor, es aquella que tiene un alfabeto de cardinalidad 2.

22

La mayora de las veces, una codificacin correcta es la clave de una buena


resolucin del problema. Generalmente, la regla heurstica que se utiliza es la llamada regla
de los bloques de construccin, es decir, parmetros relacionados entre s deben de estar
cercanos en el cromosoma. Por ejemplo, si queremos codificar los pesos de una red
neuronal, una buena eleccin ser poner juntos todos los pesos que salgan de la misma
neurona de la capa oculta. En esta, todos los pesos sealados con trazo doble se codifican
mediante grupos de bits o bytes sucesivos en el cromosoma.
En todo caso, se puede ser bastante creativo con la codificacin del problema,
teniendo siempre en cuenta la regla anterior. Esto puede llevar a usar cromosomas
bidimensionales, o tridimensionales, o con relaciones entre genes que no sean puramente
lineales de vecindad. En algunos casos, cuando no se conoce de antemano el nmero de
variables del problema, caben dos opciones: codificar tambin el nmero de variables,
fijando un nmero mximo, o bien, lo cual es mucho ms natural, crear un cromosoma que
pueda variar de longitud. Para ello, claro est, se necesitan operadores genticos que alteren
la longitud.
Normalmente, la codificacin es esttica, pero en casos de optimizacin numrica,
el nmero de bits dedicados a codificar un parmetro puede variar, o incluso lo que
representen los bits dedicados a codificar cada parmetro. Algunos paquetes de algoritmos
genticos adaptan automticamente la codificacin segn van convergiendo los bits menos
significativos de una solucin.

23

Diseo General de un Algoritmo Gentico Simple


A continuacin se resume la manera en que trabaja un algoritmo gentico. Se
selecciona un cdigo para representar a cada individuo, se genera una poblacin inicial, se
evala la aptitud de cada individuo utilizando la funcin de aptitud. Si la condicin de
trmino no se cumple se obtiene una nueva poblacin utilizando los operadores genticos
de seleccin, cruzamiento y mutacin y se repite el proceso.

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

Grfico 2. Representacin Esquemtica de un Algoritmo Gentico.


El diseo general del Algoritmo Gentico Simple es entonces:
1. Generar aleatoriamente una serie de cromosomas
2. Evaluar la aptitud (fitness) de cada uno de los genes.
3. Permitir a los individuos reproducirse, de acuerdo con su aptitud.
4. Emparejar los individuos de la nueva poblacin, haciendo que intercambien
material gentico, y que alguno de los bits de un gen se vea alterado debido a
una mutacin espontnea.

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

La aptitud determina siempre los cromosomas que se van a reproducir, y aquellos


que se van a eliminar, pero hay varias formas de considerarlo para seleccionar la poblacin
de la siguiente generacin:
Usar el orden, o rango, y hacer depender la probabilidad de permanencia o
evaluacin de la posicin en el orden.
Usar escalado, es decir, aplicar una operacin a la aptitud para escalarla; como es
por ejemplo el mtodo de escalado sigma.
En algunos casos, la aptitud no es una sola cantidad, sino diversos nmeros, que
tienen diferente consideracin. Basta con que tal aptitud forme un orden parcial, es decir,

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

por ejemplo, en la nueva generacin se puede incluir el mejor representante de la


generacin actual. En este caso, se denomina mtodo elitista.
Seleccin de Torneo: se escogen aleatoriamente un nmero T de individuos de la
poblacin, y el que tiene puntuacin mayor se reproduce, sustituyendo su descendencia al
que tiene menor puntuacin.

Cruce o Reproduccin (Crossover).


El cruce o crossover consiste en el intercambio de material gentico entre dos
cromosomas (o ms, como el operador orga propuesto por Eiben y otros, 2003). El
crossover es el principal operador gentico, hasta el punto que se puede decir que no es un
algoritmo gentico si no tiene crossover, y, sin embargo, puede serlo perfectamente sin
mutacin, segn descubri Holland. El Teorema de los Esquemas confa en l para hallar la
mejor solucin a un problema, combinando soluciones parciales.
Para aplicar el crossover, entrecruzamiento o recombinacin, se escogen
aleatoriamente dos miembros de la poblacin. No pasa nada si se emparejan dos
descendientes de los mismos padres; ello garantiza la perpetuacin de un individuo con
buena puntuacin (y, adems, algo parecido ocurre en la realidad; es una prctica utilizada,
por ejemplo, en la cra de ganado, llamada inbreeding, y destinada a potenciar ciertas
caractersticas frente a otras). Sin embargo, si esto sucede demasiado a menudo, puede
crear problemas: toda la poblacin puede aparecer dominada por los descendientes de algn
gen, que, adems, puede tener caracteres no deseados. Esto se suele denominar en otros
mtodos de optimizacin atascarse en un mnimo local, y es uno de los principales
problemas con los que se enfrentan los que aplican algoritmos genticos.
En cuanto al Teorema de los Esquemas, del cual disertaremos ms adelante, se
basa en la nocin de bloques de construccin. Una buena solucin a un problema est
constituido por unos buenos bloques, igual que una buena mquina est hecha por buenas
piezas. El crossover es el encargado de mezclar bloques buenos que se encuentren en los
27

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

No obstante, como podr verse ms adelante, para la mayora de las aplicaciones


la velocidad de bsqueda puede ser acelerada significativamente si no se pierde el
individuo lite entre una generacin y otra. Este concepto de asegurar la propagacin del
individuo lite recibe el nombre de elitismo, y requiere adems que dicho individuo no sea
afectado ni por cruce ni por mutacin al ser copiado a la nueva poblacin.

El Teorema de los Esquemas


La gran utilidad que tienen los algoritmos genticos como estrategias de
resolucin de problemas se basa en los excelentes resultados experimentales que producen.
No obstante, existen algunos resultados tericos que avalan tanto su eficiencia como su
eficacia. Uno de estos resultados tericos es el denominado Teorema de los Esquemas o
Teorema Fundamental de los Algoritmos Genticos (Goldberg, 1989), (Michalewicz, 1994)
que de una forma estadstica, trata de justificar que para valores razonables de los
parmetros del algoritmo, la aptitud media de la poblacin mejora en las sucesivas
generaciones, con lo cual tambin cabe esperar que mejore la aptitud del mejor individuo
de la poblacin.
Los esquemas resultan de gran importancia a la hora de clasificar las similitudes
entre cromosomas. Consideremos el efecto individual y combinado de los operadores de
seleccin, cruce y mutacin sobre los esquemas contenidos en una poblacin. El efecto de
la seleccin es sencillo de determinar. Supongamos que en una determinada generacin t
existen m individuos pertenecientes a un esquema H, contenidos en la poblacin P(t),
denotndolo como m = m(H,t). Durante la seleccin, la probabilidad de que un individuo Ci
sea seleccionado es: pi =

fi

30

Es decir el cociente entre la aptitud de Ci y la suma de las aptitudes de los


individuos de P(t). En consecuencia en n selecciones con en P(t) podemos deducir la
siguiente equivalencia:
m( H , t +1) = m( H , t ) n

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

. La frmula anterior puede ponerse tambin:

m( H , t +1) = m( H , t )

f (H )
f

(1)

Es decir el crecimiento de un esquema depende de la razn de aptitud media del


mismo entre la aptitud media de la poblacin con lo que los esquemas con la aptitud media
mayor que la aptitud media de la poblacin crecern en nmero de individuos mientras que
aquellos esquemas con aptitud media menor que la aptitud media de la totalidad de la
poblacin decrecern en nmero de muestras. De hecho este crecimiento de los buenos
esquemas ser exponencial mientras que los esquemas malos tienden a desaparecer.
Supongamos que la aptitud media de un determinado esquema H se mantiene por encima
de la aptitud media de la poblacin una cantidad

cf

. Entonces la frmula (1) se convierte

en:

m( H , t +1) = m( H , t )

f +cf
= (1 +c ) m( H , t )
f

(2)

Con lo que suponiendo un valor de c estacionario a lo largo de las generaciones


podemos poner m( H , t ) = m( H ,0)(1 +c)t . Ntese que todo este movimiento de los
diferentes esquemas presentes en la poblacin va realizndose en paralelo de manera
31

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)

Si consideramos ahora el efecto combinado del cruce y la seleccin sobre un


esquema H, considerando las frmulas (1) y (3) adems del hecho de que seleccin y cruce
son operaciones independientes, tenemos:

32

m( H , t +1) m( H , t )

f (H )
(H )
1 pc

f
L 1

(4)

En consecuencia podemos decir que el esquema H crece o decrece segn un factor


multiplicativo. Hasta el momento dicho factor depende de dos circunstancias: la calidad de
esquema medida con su aptitud media y la longitud. En efecto, aquellos esquemas con una
aptitud media por encima de la aptitud media de la poblacin y con una longitud pequea
crecern.
Consideremos finalmente el efecto de la operacin de mutacin sobre los
esquemas. Teniendo en cuenta la mutacin utilizada, en la que se muta cada gen del
cromosoma con una probabilidad pm, para que un esquema sobreviva a una mutacin no
deben cambiar ninguna de sus posiciones fijas (aquellas distintas de *). As la probabilidad
de que un esquema H sobreviva a una mutacin es (1 pm)o(H), pues H tendr o(H)
posiciones fijas y la probabilidad de que una posicin fija no mute es (1 pm). Para valores
muy pequeos de pm la expresin anterior puede aproximarse por 1 o(H) pm.
As pues podemos concluir, teniendo en cuenta el conjunto de las operaciones de
seleccin, cruce y mutacin, que para un esquema H el nmero de individuos
pertenecientes a l esperados en la poblacin siguiente puede aproximarse mediante la
siguiente desigualdad (donde se suprimen los productos de los trminos pequeos):

m( H , t +1) m( H , t )

f (H )
(H )

1 pc
o( H ) p m

L 1
f

(5)

Por tanto y como corolario de este anlisis de la influencia de la seleccin, cruce y


mutacin sobre los esquemas, se puede decir que aquellos esquemas con una aptitud media
superior a la media de la poblacin, de longitud pequea y con un orden bajo, aumentarn
su presencia de manera exponencial en las sucesivas generaciones. Este resultado, reflejado
por la ecuacin (5) es el que se conoce como el Teorema de los Esquemas o Teorema
Fundamental de los Algoritmos Genticos.
33

No obstante estos resultados, es necesario resaltar que el Teorema de los


Esquemas constituye solamente una aproximacin heurstica. El trabajo presentado por G.
Rudolf (1994) usando Cadenas Finitas de Markov como modelo apropiado de anlisis,
revela que la convergencia al ptimo global no es una propiedad inherente de los
Algoritmos Genticos en forma cannica, sino que ms bien, es una consecuencia de la
trampa algortmica de seguir la pista de la mejor solucin encontrada en el tiempo. En
otras palabras, el Algoritmo Gentico en su forma original no puede ser considerado como
un algoritmo de optimizacin para problemas de optimizacin esttica, ya que se puede
demostrar que no converge a cualquier subconjunto del conjunto de los estados que
contengan al menos una solucin global, incluso usando un tiempo de corrida infinito. La
optimizacin esttica, sin embargo, no fue el propsito original del diseo de los
Algoritmos Genticos. De hecho, el inters se centr en una estrategia que lleva a cabo una
asignacin ptima de los ensayos a fin de minimizar las prdidas esperadas en un ambiente
incierto, posiblemente con recompensas variantes en el tiempo, un problema que
ciertamente no equivale a un problema de optimizacin esttico.
En conclusin, el Teorema de Esquema no implica en ningn modo que el
Algoritmo Gentico converja al ptimo global en problemas de optimizacin esttica. Por
otra parte, debido a la irreductibilidad del algoritmo, es evidente que el Algoritmo Gentico
no converge en lo absoluto desde el punto de vista matemtico.

Aplicacin de los Algoritmos Genticos en Optimizacin Numrica

Los algoritmos genticos son herramientas que permiten resolver problemas de


optimizacin difciles, que debido a su complejidad no tienen solucin analtica o no
permiten el uso de mtodos tradicionales basados en el gradiente de la funcin a optimizar,
debido a que sta no es derivable. Los algoritmos genticos son mtodos iterativos que
exploran el espacio de soluciones mediante el uso simultneo de un conjunto (poblacin) de
valores diferentes (individuos) de la variable incgnita. En cada iteracin se genera una
nueva poblacin (nueva generacin) que se obtiene a partir de la anterior utilizando
34

operadores genticos basados en la evolucin natural de las especies: seleccin,


cruzamiento y mutacin. De acuerdo con esto, los valores cercanos al valor ptimo tienen
mayores posibilidades de sobrevivir mientras que los ms lejanos tienen menores
posibilidades de sobrevivir y son eliminados generacin tras generacin. As, en la ltima
generacin todos los individuos estn prximos al valor ptimo y de entre ellos se
selecciona el que mejor optimiza la funcin. Este proceso puede terminarse estableciendo
un nmero mximo de generaciones, o bien, cuando la desviacin de todos los individuos
es ms pequea que cierto umbral.
De forma reciente se han incorporado al anlisis numrico estos novedosos
procedimientos basado en las teoras darwinianas de seleccin natural y supervivencia.
Estos procedimientos, denominados algoritmos genticos o evolutivos, han sido
desarrollados por Holland (1975) y difundidos por Goldberg (1989) y Koza (1992). Los
algoritmos genticos ya han demostrado su robustez para aproximar explcitamente la
forma funcional F() en el anlisis no-lineal de series temporales (Szpiro, 1997; Yadavalli
et al., 1999; lvarez et al., 2001). Su inters ha crecido intensamente en los ltimos aos
entre los investigadores de mltiples disciplinas incluidas la economa (<biblio>) y las
finanzas (<biblio>).
Un algoritmo gentico permite encontrar una solucin ptima a partir de la
evolucin de una poblacin inicial de soluciones alternativas. Supone un proceso de
bsqueda eficiente a travs de un amplio nmero de posibilidades con el objetivo de hallar
una expresin matemtica que, dentro del espacio de posibles soluciones, mejor describa la
dinmica presentada por una serie temporal. Esta tcnica presenta toda una serie de ventajas
frente a las tradicionales tcnicas no-lineales de prediccin. En primer lugar, a diferencia de
las redes neuronales y de los mtodos basados en ocurrencias anlogas, los algoritmos
genticos obtienen explcitamente una ecuacin matemtica como aproximacin a la
verdadera dinmica de la serie. Adems, se presentan como un mtodo predictivo ms
flexible que las redes neuronales ya que no requieren la costosa especificacin de una
arquitectura previa.

35

Algoritmos Genticos Multiobjetivo


En la dcada pasada, una variado nmero de Algoritmos Genticos Multiobjetivo
han sido sugeridos: Srinivas, y Deb (1995); Fonseca y Fleming (1993); Horn, Nafploitis y
Goldberg (1994); Zitzler, E. y Thiele, L. (1998), entre otros. El motivo central de tanta
diversidad de algoritmos, es precisamente la habilidad que han demostrado en encontrar
mltiples ptimos de Pareto en una sola corrida.
A continuacin se presentan brevemente las caractersticas principales de los
algoritmos genticos multiobjetivo ms representativos desarrollados hasta la fecha. Para
mayor informacin acerca de la implementacin de los mismos, se sugiere leer las
publicaciones referenciadas.

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

El pseudocdigo del algoritmo NSGA-II se presenta seguidamente:

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

Algoritmo Gentico Multiobjetivo propuesto.

El algoritmo propuesto en este proyecto, es una variacin del NSGA-II, basado en


las ideas sugeridas por Deb y Goel (2001). En contraposicin al NSGA-II, que elige los N
primeros elementos de Pt+1, el algoritmo propuesto utiliza una proporcin geomtrica para
elegir ni individuos de cada frente i, siendo ni = r . ni-1, donde r es la razn geomtrica. 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.
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 U 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.

41

GLOSARIO DE TRMINOS

ADN: Es la abreviatura del cido desoxirribonucleico. Constituye el material


gentico de los organismos. Es el componente qumico primario de los cromosomas y el
material del que los genes estn formados.
Algoritmo: Es un mtodo repetitivo para resolver problemas, bsicamente una
secuencia codificada de instrucciones para manipulacin de smbolos.
Algoritmo gentico: Es una tcnica basada en la seleccin natural basada en la
generacin de cadenas de bit creadas y evaluadas usando operaciones similares a la
gentica, destinado a encontrar la solucin ms prxima a la ptima.
Conjunto factible: est definido como el conjunto de vectores de decisin x que
satisfacen las restricciones.
Cruzamiento o Cruce: Es la transferencia por herencia de las caractersticas de
los mejores individuos de una generacin a la siguiente, siendo de esta manera la
contraparte artificial de la recombinacin sexual.
Distancia de crowding: Es un operador gentico empleado para mantener la
diversidad en el frente, con la ventaja de que no presenta dependencia paramtrica.
Eficiencia de Pareto: es un concepto de la economa que tiene aplicaciones en
ingeniera y diferentes ciencias sociales, basada en una nocin mnima de la eficiencia.
Elitismo: Consiste en incluir siempre al mejor individuo de a fin de preservarlo de
la posible accin negativa de los operadores genticos. Se ha demostrado formalmente que
el elitismo mejora la convergencia de los algoritmos genticos.

42

Inteligencia artificial: Es la rama de la Ingeniera asociada con mquinas


programadas para ser imitadoras de la inteligencia, entendida en alguno de sus ms
frecuentes significados.
Mutacin: Es un operador de segundo plano cuyo propsito es la exploracin
aleatoria de nuevas porciones del espacio de bsqueda, introduciendo nuevo material
gentico en la bsqueda de soluciones, toda vez que el cruzamiento no introduce ningn
material nuevo.
Redes neuronales: Sistema que emula el sistema nervioso humano, as como el
procesamiento de la importacin del cerebro, usado entre otras cosas en el procesamiento
de seales, sensores, y reconocimiento de patrones.
Seleccin: Es un proceso por medio del cual los individuos son escogidos de la
poblacin de acuerdo con el valor de su funcin de adaptacin para someterse a la accin
futura de otros operadores.
Teorema de los Esquemas: Es un teorema que demuestra de una forma
estadstica que para valores razonables de los parmetros del algoritmo, la aptitud media de
la poblacin mejora en las sucesivas generaciones, con lo cual tambin cabe esperar que
mejore la aptitud del mejor individuo de la poblacin.

43

Ensayos de Aplicacin del Algoritmo Gentico Multiobjetivo

Breve resea de las Funciones de Prueba.

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

por Deb y otros investigadores del rea de optimizacin multiobjetivo. El algoritmo


propuesto se compar contra las soluciones analticas o conocidas de los problemas de
optimizacin, y adems se realiz una inspeccin visual de las soluciones graficando el
frente de Pareto de la solucin obtenida por el algoritmo.

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

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
40
0,120

2 x1 2
2 x2 2

45

El tamao de la poblacin hace referencia al nmero de individuos que existirn


en cada una de las 20 generaciones. La probabilidad de cruce es tal que el 70% de los
individuos probablemente se reproducir. La probabilidad de mutacin se refiere a que
aproximadamente el 20% de los genes de la poblacin sufrir mutacin. La estrategia de
cruce de un punto, alude al hecho de que se selecciona un punto aleatorio del cromosoma y
a partir de all, se realiza el cruce.
Las mejores 30 soluciones encontradas se muestran a continuacin. Las dos
mejores soluciones halladas para f1 y f2 se muestran en negrillas.
x1
0,148
0,204
0,235
0,378
0,484
0,648
0,826
0,842
0,901
0,899
0,909
0,944
0,984
0,984
1,008

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

La grfica siguiente muestra la aptitud conjunta, que en el caso multiobjetivo se


calcula ponderando las aptitudes de f1 y f2 por separado.

46

Grfico 3. Aptitud Conjunta de la Funcin de Prueba 1.


Asimismo, el grfico siguiente presenta el Frente de Pareto, donde se distingue
claramente la aglomeracin de soluciones no dominadas, donde se aprecia adems que
ninguna otra solucin mejora en el sentido de Pareto a algn punto perteneciente a dicha
curva. Las dos mejores soluciones halladas para f1 y f2 se muestran en color rojo.

47

Grfico 4. Frente de Pareto de las Funciones de Prueba 1.

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

Las mejores 30 soluciones encontradas se muestran a continuacin. Las tres


mejores soluciones halladas para f1, f2 y f3 se muestran en negrillas.
x1
0,335
-0,135
1,037
-0,041
-0,521
0,566
0,691
-0,04
0,727
-0,547
0,502
-0,206
0,656
-0,209
0,813
0,395
1,032
0,511
-0,383
-0,267
0,569
-0,004
0,668
0,85
-0,528
1,068
0,352
1,237
0,473
0,657

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

La grfica siguiente muestra la aptitud conjunta, que en el caso multiobjetivo se


calcula ponderando las aptitudes de f1, f2 y f3 por separado.

50

Grfico 5. Aptitud Conjunta de la Funcin de Prueba 2.

Grfico 6. Dispersin de las soluciones de la Funcin de Prueba 2.


51

Asimismo, el grfico siguiente presenta el Frente de Pareto, donde se aprecia la


aglomeracin de soluciones no dominadas. Las tres mejores soluciones halladas para f1, f2
y f3 se muestran en color rojo.

Grfico 7. Frente de Pareto de las Funciones de Prueba 2.

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

Las tres mejores soluciones halladas para f1, f2 y f3 se muestran en negrillas.


x1
-0,174
2,398
1,076
1,391
1,319
-1,153
-1,154
2,291
1,136
1,097
1,080
1,359
-0,236
3,053
1,126
1,605
1,200
2,000
1,433
1,785
2,970
1,401
-0,373
1,139
1,551
2,440
1,702
1,430
-0,186
2,484

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

La grfica siguiente muestra la aptitud conjunta, que en el caso multiobjetivo se


calcula ponderando las aptitudes de f1, f2 y f3 por separado.

54

Grfico 8. Aptitud Conjunta de la Funcin de Prueba 3.

Grfico 9. Dispersin de las soluciones de la Funcin de Prueba 3.


55

El grfico siguiente presenta el Frente de Pareto. Las tres mejores soluciones


halladas para f1, f2 y f3 se muestran en color rojo.

Grfico 10. Frente de Pareto de las Funciones de Prueba 3.

56

CAPTULO VI
Conclusiones

El enfoque planteado por el algoritmo gentico es muy simple y fcil de


implementar, adems de ser muy eficiente y eficaz generando un conjunto de soluciones
ptimas frente a problemas de maximizacin y minimizacin o cualquier mezcla de ellos.
Los resultados obtenidos muestran que el Algoritmo Gentico Multiobjetivo
propuesto est en capacidad de proporcionar buenas soluciones cuando se compara con
mtodos analticos.
El algoritmo proporciona una mayor velocidad de convergencia, propiedad de los
algoritmos genticos sustentada estadsticamente hablando en el Teorema de los Esquemas,
por lo cual se logr un algoritmo ms rpido para ordenar la poblacin al requerir menos
clculos que el NSGA.
El algoritmo realiza la seleccin mediante seleccin por torneo, por prioridad de
pertenencia al orden del frente de la solucin y si ste es el mismo, por prioridad de
distancia de amontonamiento.

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

eficacia del algoritmo pueda

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.

Allen, F. y Karjalainen, R. (1999). Using Genetic Algorithms to Find Technical


Trading Rules, Journal of Financial Economics, 51, pp. 245-271.
lvarez A., A. Orfila y J. Tintore (2001). DARWIN- an evolutionary program
for nonlinear modeling of chaotic time series, Computer Physics Communications, 136,
334-349.
Cunha, A. G., Oliveira, P. y Covas, J. A. (1997). Use of genetic algorithms in
multicriteria optimization to solve industrial problems. In Bck, T., editor, Proceedings of
the Seventh International Conference on Genetic Algorithms, pgs. 682688, Morgan
Kauffman, San Mateo, California.
Deb, K., Agrawal S., Pratap A. y Meyarivan T. (2000). A Fast Elitist NonDominated Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II. Kanpur
Genetic Algorithms Laboratory (KanGAL) Report No. 200001.
Deb K. y Goel T. (2001). Controlled Elitist Non-Dominated Sorting Genetic
Algorithms for Better Convergence. Lecture Notes in Computer Science. Springer Berlin /
Heidelberg. ISBN: 978-3-540-41745-3.
Eheart, J. W., Cieniawski, S. E. y Ranjithan, S. (1993). Genetic-algorithmbased design of groundwater quality monitoring system. WRC Research Report No. 218,
Department of Civil Engineering, The University of Illinois at Urbana-Champaign, Urbana,
Illinois.
Fonseca, C.M. y Fleming, P.J. (1993). Genetic algorithms for multiobjective
optimization: formulation, discussion and generalization. Proceeding of the 5st ICGA. pp.
416-423.
59

Fyfe, C., J. P. Marney y H. F. E. Tarbert (1999). Technical analysis versus


market efficiency- a genetic programming approach. Applied Financial Economics, 9, pp.
183-191.
Goldberg D. E. (1989). Genetic algorithms in search, optimization and machine
learning. Reading, MA: Addison-Wesley.
Haupt, R. L. and S. E. Haupt (1998). Practical Genetic Algorithms, WileyInterscience.
Holland J. H. (1975). Adaptation in natural and artificial systems. Ann Arbor.
The University of Michigan Press.
Horn, J. y Nafploitis, N., y Goldberg, D. E. (1994) A niched Pareto genetic
algorithm for multi-objective optimization. In Michalewicz, Z., editor, Proceedings of the
First IEEE Conference on Evolutionary Computation, pages 8287, IEEE Service Center,
Piscataway, New Jersey.
Hurtado, I. y Toro, J. (2005) Mtodos de Investigacin en Tiempos de Cambio. Epistema.
Caracas.
Kaboudan, M. A. (2000). Genetic Programming Prediction of Stock Prices.
Computational Economics, 16, pp. 207-236.
Koza J. R. (1995). Genetic Programming for Economic Modeling, en Intelligent
Systems and Business. John Wiley & Sons, pp. 251-269.
Mitchell, M. (1999). An Introduction To Genetic Algorithms. The MIT Press.
Cambridge, Massachusetts.

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

Você também pode gostar