Sei sulla pagina 1di 23

ALGORITMO EVOLUTIVO M ULTI-M ODAL PARA M INIMIZAR UNA FUNCIN DE DOS

VARIABLES
F. A. Ortiz Robles1 , O. A. Dzul Garca 2 y R. Ortiz Gmez3

Resumen
Aunque muchas investigaciones han sido hechas recientemente en la optimizacin sobre el campo
de la ingeniera, la tendencia ha sido tratar con problemas idealizados, ms que con aplicaciones del
mundo real. Durante el desarrollo tardo de esta tendencia, en los ltimos aos, la comunidad
cientfica internacional ha mostrado un creciente inters en una nueva tcnica de bsqueda
evolutiva, que se conoce con el nombre de Algoritmo Gentico (AG), y ha sido con toda razn
requerido en problemas de optimizacin no lineal. Lo anterior, es debido a que muchos de los
fenmenos existentes en las diferentes ramas de la ingeniera (y en el campo de la ingeniera de los
recursos hidrulicos no es la excepcin) son representados mediante modelos matemticos
altamente no lineales de varias variables, es decir, representados por funciones multi-modales de
gran complejidad. El potencial de los algoritmos de bsqueda evolutiva radica en la inspiracin
sobre la mecnica de la seleccin natural y la gentica para evolucionar una poblacin inicial de
puntos sucesivamente hacia mejores regiones del espacio de bsqueda. La evolucin de la
poblacin se realiza mediante la aplicacin de operadores genticos probabilsticos de seleccin,
recombinacin (crossover) y mutacin. Los algoritmos genticos requieren conocer solamente el
valor de la funcin objetivo en la poblacin de puntos y no sus derivadas. Esto ltimo permite
abordar una gran variedad de problemas de optimizacin no tratables mediante mtodos basados en
gradientes.
Se describe en detalle un algoritmo gentico simple con aplicacin a la optimizacin de parmetros
continuos, inc luyendo el mtodo de seleccin: proporcional con el aditamento ranking lineal
(seleccin mediante jerarquas), as como, el parmetro GGAP denominado brecha generacional
(poblacin traslapable). La influencia del mtodo de seleccin junto con el parmetro GGAP en la
solucin global y velocidad de convergencia del algoritmo gentico se ilustra mediante un ejemplo
de una funcin continua con mltiples mnimos (funcin de Bohachevsky). Con el fin de comparar
el resultado obtenido mediante el AG, se emplearon dos funciones de MATLAB 6.0 que minimizan
funciones multivariable (stas son: fminsearch, que emplea mtodos directos de bsqueda; y
fminunc, la cual, adems de requerir la funcin multivariable a minimizar tambin recibe el
gradiente y la matriz Hessiana de la misma), apoyndose bsicamente en las tcnicas
convencionales de optimizacin. Lo cual, confirma la eficiencia del AG con respecto a las tcnicas
tradicionales basadas en gradientes para este tipo de funciones multi-modales.
Palabras Claves: Algoritmos Evolutivos, Algoritmos Genticos, Minimizar Funcin, Ranking
Lineal, Operadores Genticos, Funcin Multi-modal, Optimizacin no Restringida.

Maestra en Planeacin de Recursos Hidrulicos, Universidad Autnoma de Zacatecas, Av. Ramn Lpez Velarde No. 801,
Zacatecas, Zac. Candidato a Maestro. fidel_alej@hotmail.com
2
Maestra en Planeacin de Recursos Hidrulicos, Universidad Autnoma de Zacatecas, Av. Ramn Lpez Velarde No. 801,
Zacatecas, Zac. oadzul@hotmail.com
3
Centro de Estudios Multidisciplinarios, Universidad Autnoma de Zacatecas, Av. Insurgentes No. 108A, Zacatecas, Zac.
ortizgr @cantera.reduaz.mx

I. Introduccin
A travs de los tiempos y an en la actualidad, la tendencia de muchas investigaciones sobre la
optimizacin en el campo de la ingeniera ha sido ampliamente idealizada. Es decir, nos hemos
alejado de un anlisis realstico de los proble mas y se han tratado de simplificar los fenmenos en
estudio (linealizando los modelos de optimizacin o dividiendo los sistemas globales en partes para
su solucin, por ejemplo). Esto es debido a que muchos de los sistemas reales existentes en las
diferentes ramas de la ingeniera (y en el campo de la ingeniera de los recursos hidrulicos no es la
excepcin) los analizamos a travs de la representacin abstracta de los mismos por medio de
modelos matemticos altamente no lineales de varias variables, es decir, representados por
funciones multi-modales de gran complejidad (Coello, (1996), Estvez (1997), Morshed y
Kaluarachchi (2000), Cai et al. (2001)).
Durante el desarrollo tardo de esta tendencia, en los ltimos aos, la comunidad cientfica
internacional ha mostrado un creciente inters en una nueva tcnica de bsqueda evolutiva, que se
conoce con el nombre de Algoritmo Gentico, y ha sido con toda razn requerido en problemas de
optimizacin no lineal.
Los Algoritmos Genticos (AGs) fueron introducidos por John Holland a finales de los 1960s
inspirndose en el proceso observado en la evolucin natural de los seres vivos. Holland desarroll
una tcnica que permiti incorporarla en un programa de computadora, el objetivo de l era lograr
que las computadoras aprendieran por s mismas. A esta tcnica se le llam originalmente planes
reproductivos, pero se hizo popular bajo el nombre de algoritmo gentico tras la publicacin de su
libro Adaptation in Natural and Artificial Systems en 1975. Desde sus inicios el algoritmo
gentico atrajo la atencin de muchas ramas de la investigacin tales como: Economa, ciencia de la
poltica, sicologa, lingstica, inmunologa, biologa, bioqumica, ingeniera (civil, hidrulica,
electrnica, elctrica, industrial, robtica, entre otras) y desde luego, de la ciencia de la
computadora. Es importante citar que, a diferencia de otros metaheursticos, los AGs han crecido de
forma espectacular, hasta el punto de poder encontrar referencias sobre ellos en revistas de
informtica de carcter general (Goldberg, 1989; Mitchell, 1996; Coello, 2002; Merabtene et al.,
2002).
Una gran razn por ste inters es que los AGs trabajan verdaderamente. Los AGs ofrecen
procedimientos robustos que pueden explotar masivamente las arquitecturas paralelas y, aplicados a

la bsqueda y sistemas clasificadores, ellos proporcionan una nueva ruta hacia un entendimiento de
la inteligencia y adaptacin. Esta potente tcnica metaheurstica creada por Holland y fortalecida
posteriormente por Goldberg (1989), Michalewicz (1992), Mitchell (1996), entre otros, ha
proporcionado una autopista de peaje en el desarrollo y evolucin no slo de la ciencia de la
computadora sino de la ciencia en general.
Los AGs proporcionan un mtodo de aprendizaje basado en la analoga con la evolucin de las
especies. Estos generan un conjunto de hiptesis (la poblacin) mediante la recombinacin o cruza
(crossover) y mutacin de parte del conjunto de hiptesis conocido a travs de perodos definidos
como generaciones. En cada paso el conjunto de hiptesis (poblacin actual) se renueva
remplazando el total o una proporcin de esta poblacin por los sucesores de las hiptesis ms
adecuadas creando nuevas generaciones evolucionadas hacia regiones ms favorables del espacio
de bsqueda. El progreso en la bsqueda es realizado evaluando la aptitud (funcin objetivo) de
todos los individuos en la poblacin, y seleccionando los individuos con el valor de aptitud mayor y
combinndolos posteriormente para crear nuevos individuos con incrementos prometedores de
aptitud mejorada.
La literatura especializada (por ejemplo Mitchell (1996), llich y Simonovic (1998), Rauch y
Harremos (1999), Coello (2002)) identifica tres corrientes principales de los algoritmos evolutivos
que han emergido en las ltimas tres dcadas: estrategias de evolucin o estrategias evolutivas (EE);
programacin evolutiva (PE); y algoritmos genticos (AGs).
Asimismo, algunos autores (por ejemplo Yeh (1985), Coello (1995)) definen que el estado actual
del arte en el campo de los algoritmos de evolucin puede ser descrito como sigue: (a) no hay un
algoritmo general aplicable a todos los problemas; (b) la eficiencia del algoritmo vara en funcin
del tamao y complejidad del problema; (c) la mayora de los algoritmos converge a un punto
ptimo desde el interior y exterior de la regin factible; (d) los algoritmos basados-evolucin no
toman en cuenta el aspecto o gradiente de la funcin objetivo; y (e) los algoritmos basadosevolucin pueden requerir la calibracin de los parmetros de bsqueda para garantizar una
convergencia eficiente.
La popularidad de los Algoritmos Evolutivos (AEs) y particularmente, de los AGs, se debe en parte
a que la evolucin es un mtodo robusto y bien probado dentro de los sistemas biolgicos naturales.
Adems son fcilmente paralelizables, lo que supone una ventaja gracias al abaratamiento actual de

los costes en hardware. Por otra parte, los AGs pueden realizar bsquedas en espacios de hiptesis
que contienen complejas interacciones entre las distintas partes, donde el impacto de cada parte
sobre la funcin de evaluacin es difcil de especificar (Coello, 1996; Morshed y Kaluarachchi,
2000; Cai et al., 2001; Coello, 2002).
Aunque no se garantice encontrar la solucin ptima, los AGs generalmente encuentran soluciones
con un alto grado de acierto. Los algoritmos desarrollados por Holland inicialmente eran sencillos
pero dieron buenos resultados en problemas considerados difciles. Los algoritmos genticos estn
basados en integrar e implementar eficientemente dos ideas fundamentales: (i) las representaciones
simples como strings binarios de las soluciones del problema y, (ii) la realizacin de
transformaciones simples para modificar y mejorar estas representaciones (Goldberg, 1989;
Mitchell, 1996; Wardlaw y Sharif, 1999; Coello, 2002).
Uno de los propsitos de este trabajo es iniciar la estructuracin e implementacin de una tcnica
potente de optimizacin que sirva como una herramienta de apoyo en la toma de decisiones ptimas
y adems, para el anlisis del comportamiento de sistemas reales a los que nos enfrentamos
comnmente. As mismo, el objetivo especfico de este artculo es: evaluar de una manera breve
pero concisa la eficiencia del AG en la minimizacin de una funcin multi-modal (funcin con
mltiples mnimos locales), y destacar el potencial del AG con respecto a los mtodos basados en
gradientes. Pretendiendo de acuerdo a lo anterior, cambiar esa autopista de peaje en una carretera
libre donde fluya el buen control de recursos escasos tan abundantes en la vida actual.

II. Bases Tericas


Fundamentos del AG

Qu son los algoritmos genticos?


Son algoritmos de bsqueda basados en la mecnica de seleccin natural y en la gentica general.
Estos combinan la supervivencia de los individuos ms aptos entre las cadenas de estructuras con
un intercambio de informacin aleatorio para formar un algoritmo de bsqueda. Asimismo, la
literatura especializada (por ejemplo Coello (1996), Mitchell (1996), Estvez (1997), Morshed y
Kaluarachchi (2000)) define al algoritmo gentico como un heurstico (inexacto), probabilstico

(estocstico), combinatorio (discreto), tcnica de optimizacin basada en la bsqueda (altamente


paralela) emulando el proceso biolgico de la evolucin natural. De tal forma, ellos corresponden a
una familia de mtodos de optimizacin (estructural, de topologas, numrica, combinatoria, etc.)
que buscan soluciones a problemas complejos usando una analoga entre optimizacin y seleccin
natural, apoyndose tambin en las leyes de la gentica.
Cmo saber si es posible usar el algoritmo gentico?
La aplicacin ms comn de los algoritmos genticos ha sido la solucin de problemas de
optimizacin, en donde han demostrado ser muy eficientes y confiables. Sin embargo, no todos los
problemas pudieran ser apropiados para la tcnica, y se recomienda en general tomar en cuenta las
siguientes caractersticas del mismo antes de intentar usarla (ver por ejemplo Michalewicz (1992),
Coello (1995), Coello (1996), Estvez (1997)):

Problema a ser optimizado.

Su espacio de bsqueda (es decir, sus posibles soluciones) debe estar delimitado dentro de
un cierto rango.

Una estructura de representacin o hiptesis segn se manejo anteriormente (o sea, la


representacin de las posibles soluciones del problema). Es decir, las soluciones deben
codificarse de una forma que resulte relativamente fcil de implementar en la computadora.

Una poblacin inicial de soluciones potenciales (se efecta normalmente de manera


aleatoria, pero tambin pueden usarse mtodos determinsticos o implementar reglas
heursticas simples).

Una medida de evaluacin que juega el papel del ambiente (funcin de aptitud o funcin
objetivo), calificando a las soluciones producidas en trminos de su aptitud. Es decir, algo
que nos indique que tan buena o mala es una cierta respuesta.

Un criterio de seleccin/eliminacin de las hiptesis.

Una o varias operaciones de crossover, cruza o recombinacin.

Una o varias operaciones de mutacin.

Valores para los diversos parmetros utilizados por el algoritmo gentico (tamao de la
poblacin, probabilidad de cruza y mutacin, nmero mximo de generaciones, etc.).

De los puntos anteriores, el segundo es muy importante, y lo ms recomendable es intentar resolver


problemas que tengan espacios de bsqueda discretos aunque stos sean muy grandes. Sin
embargo, tambin puede intentarse usar la tcnica con espacios de bsqueda continuos (como es el

caso de este trabajo), pero preferentemente cuando exista un rango de soluciones relativamente
pequeo. Cabe sealar que la codificacin ms comn de las respuestas es a travs de cadenas
binarias, aunque se han utilizado tambin nmeros reales y letras (por ejemplo Coello (1996),
Mitchell (1996), Wardlaw y Sharif (1999), Coello (2002)). El primero de estos esquemas ha gozado
de mucha popularidad debido a que es el que propuso originalmente Holland, y adems porque
resulta muy sencillo de implementar (ver por ejemplo Coello (1995), Estvez (1997), Rauch y
Harremos (1999), Cai et al. (2001)). Ms adelante se vern un poco ms a detalle el resto de los
puntos anteriores.
Mecanismo de trabajo de los AGs
A partir de una poblacin de cromosomas (cadenas de 1s y 0s, o bits) generados aleatoriamente se
crea una nueva poblacin usando un mecanismo de seleccin natural junto con los operadores
genticos de crossover, mutacin e inversin. Cada cromosoma consiste de genes (bits), a una
instancia de un gen particular se le denomina alelo (0 1), y a la posicin del gen sobre el
cromosoma se le denomina locus (Goldberg, 1989; Mitchell, 1996).
Seleccin
Escoge los cromosomas en la poblacin que podrn reproducirse, y en promedio los cromosomas
ms aptos producen ms descendientes que los menos aptos. Las tcnicas de seleccin ms
empleadas son las de seleccin proporcional.

Cruza o recombinacin (Crossover)


Intercambia partes de dos cromosomas tratando de reproducir la recombinacin biolgica entre dos
organismos monocromosmicos. La recombinacin ms comnmente utilizada es la de cruza en un
punto y es conocida en la biologa como crossover. Este operador es el motor principal que mueve
al algoritmo hacia la solucin. Es definido como el operador gentico principal.

Mutacin
Cambia aleatoriamente los valores de alelo de algunas ubicaciones en el cromosoma. Este es un
operador secundario en el proceso de bsqueda del algoritmo gentico, pero no por eso menos
importante ya que es el encargado de proporcionar diversidad en el espacio de bsqueda.

Inversin
La inversin es un ejemplo de un operador de reordenamiento en el que se invierte el orden de todos
los genes comprendidos entre dos puntos seleccionados al azar en el cromosoma (Coello, 2002). El
operador de inversin no es comnmente aplicado en los algoritmos genticos a pesar de que fue
concebido junto con los operadores de crossover y mutacin en el algoritmo gentico original
desarrollado por Holland. Lo anterior, es debido a que es un poco complejo de aplicar (altos
requerimientos computacionales) y los beneficios que produce no lo ameritan (Goldberg (1989),
Mitchell (1996)).
La operacin de un algoritmo gentico simple (AGS) puede ilustrarse con el siguiente segmento de
pseudo-cdigo propuesto por Goldberg (1989).
generar poblacin inicial, G(0);
evaluar G(0);
t: = 0;
repetir
t: = t + 1;
generar G(t) usando G(t-1);
evaluar G(t);
hasta encontrar una solucin;
Aunque muchos aspectos estn todava por discernir, existen principios generales ampliamente
aceptados por la comunidad cientfica (Coello, 1995; Coello, 1996; Mitchell, 1996; Estvez, 1997).
Algunos de estos son:
1. La evolucin opera en los cromosomas en lugar de en los individuos a los que representan.
2. La seleccin natural es el proceso por el que los cromosomas con buenas estructuras
(caractersticas) se reproducen ms a menudo que los dems.
3. En el proceso de reproduccin tiene lugar la evolucin mediante la combinacin de los
cromosomas de los progenitores. Llamamos recombinacin a este proceso en el que se
forma el cromosoma del descendiente. Tambin son de tener en cuenta las mutaciones que
pueden alterar dichos cdigos.
4. La evolucin biolgica no tiene memoria en el sentido de que en la formacin de los
cromosomas nicamente se considera la informacin del perodo (generacin) anterior.

Los algoritmos genticos establecen una analoga entre el conjunto de soluciones de un problema y
el conjunto de individuos de una poblacin natural, codificando la informacin de cada solucin en
un string (vector binario) a modo de cromosoma. En palabras del propio Holland (Goldberg, 1989):
Se pueden encontrar soluciones aproximadas a problemas de gran complejidad computacional
mediante un proceso de evolucin simulada.
A tal efecto se introduce una funcin de evaluacin de los cromosomas, denominada aptitud,
capacidad o calidad (funcin de aptitud) y que es prcticamente la funcin objetivo del problema.
Igualmente se introduce un mecanismo de seleccin de manera que los individuos
monocromosmicos con mejor evaluacin sean escogidos para reproducirse ms a menudo que
los que la tienen peor. El tiempo de vida de un individuo est nicamente en funcin de su valor de
aptitud y del valor de aptitud de los otros individuos en el grupo de apareamiento.
Tcnicas, operadores y parmetros del AG
A continuacin se describen algunos de los elementos que conforman el mecanismo de trabajo del
algoritmo gentico.
a) Poblacin inicial. La poblacin inicial suele ser generada aleatoriamente. Sin embargo,
ltimamente se estn utilizando mtodos heursticos para generar soluciones iniciales de buena
calidad. En este caso, es importante garantizar la diversidad estructural de estas soluciones para
tener una representacin de la mayor parte de poblacin posible o al menos evitar la
convergencia prematura (por ejemplo, aplicando seleccin-ranking).
b) Funcin de aptitud. Respecto a la evaluacin de los cromosomas, se suele utilizar la calidad
(conocida como aptitud) como medida del desempeo segn el valor de la funcin objetivo en
el que se puede aadir un factor de penalizacin para controlar la infactibilidad, en el caso de
existir restricciones (optimizacin con manejo de restricciones), pero este no es el caso. Ntese
que el algoritmo gentico opera como una tcnica de optimizacin sin restricciones, por lo que
se tiene que disear o implementar algn mecanismo que permita incorporar la informacin
pertinente sobre la violacin de las restricciones en la funcin objetivo.
c) Seleccin. La seleccin de los padres viene dada habitualmente mediante probabilidades segn
su funcin de aptitud. Uno de los procedimientos de seleccin proporcional ms utilizado es el
denominado rueda de ruleta en donde cada individuo tiene una seccin circular de una ruleta

que es directamente proporcional a su calidad o aptitud. Por ejemplo, para realizar una
seleccin se realizara un lanzamiento de un nmero aleatorio que tiene asociado a un
individuo. La seleccin por rango (Rank Selection), ranking lineal, es un mtodo alternativo
cuyo propsito es tambin prevenir la convergencia demasiado-rpida. En la versin propuesta
por Baker en 1985, los individuos en la poblacin son jerarquizados de acuerdo a su evaluacin,
y el valor esperado de cada individuo ms bien depende de este rango que de su aptitud
absoluta. No hay necesidad de escalar la aptitud en este caso, puesto que las diferencias
absolutas en la aptitud son imperceptibles. Esto de descartar la informacin de la aptitud
absoluta puede tener ventajas (usando la aptitud absoluta puede conducir a problemas de
convergencia) y desventajas (en algunos casos puede ser importante conocer que tan distante un
individuo est de su ms cercano competidor con respecto a sus aptitudes). El ranking evita dar
grandes cantidades de hijos a un grupo pequeo de individuos de gran aptitud, y as reduce la
presin de seleccin cuando la varianza de aptitud es alta. Esto tambin mantiene la presin de
seleccin cuando la varianza de aptitud es baja: la proporcin de valores esperados de
individuos jerarquizados en i e i+1 sern los mismos ya sea que sus diferencias de aptitud
absoluta sean altas o bajas. No obstante, la seleccin por rango disminuye los medios de la
presin de seleccin que para el AG en algunos casos lo har lento para encontrar individuos de
aptitud alta. Sin embargo, en muchos casos el incremento de la preservacin de diversidad
resultante del ranking conduce a una bsqueda sucesiva mayor que a una convergencia rpida
que puede resultar de la seleccin de aptitud-proporcional directa (Mitchell, 1996). Mediante el
mtodo de ranking lineal, una vez que tenemos asignados los valores esperados, el mtodo de la
rueda de ruleta puede ser usado para muestrear la poblacin (es decir, para llevar a cabo la
eleccin de los padres que se reproducirn).
d) Tcnica de reproduccin. Respecto a las tcnicas de reproduccin, en las cuales, se determina
el criterio de substitucin de los individuos de una poblacin para la prxima generacin se
puede decir lo siguiente. La mayora de los algoritmos genticos descritos en la literatura han
sido generacionales en cada generacin la nueva poblacin consiste de descendientes
totalmente formados por sus padres en las generaciones previas (aunque algunos de estos hijos
pueden ser idnticos a sus padres). En algunos esquemas, tal como el esquema elitista,
generaciones sucesivas se traslapan en algn grado alguna porcin de la generacin previa es
retenida para formar la nueva poblacin, particularmente la mejor porcin de individuos. La
fraccin de nuevos individuos en cada generacin ha sido llamada la brecha generacional
(generation gap) emitida por De Jong en 1975. Es importante reconocer en primer trmino que

las poblaciones pueden ser no traslapable (nonoverlapping) o traslapables (overlapping). Una


poblacin no traslapable es aquella en la que los padres nunca compiten contra sus hijos
(algoritmos genticos generacionales). Es decir, toda la poblacin de padres es siempre
reemplazada por la poblacin de hijos; y en cambio, en una poblacin traslapable, los padres
compiten contra sus hijos (algoritmos genticos no generacionales) (Coello, 1996; Coello,
2002). Por lo cual, se denomina brecha generacional a la cantidad de traslape existente entre
padres e hijos, es decir, una brecha generacional grande implica poco (o ningn) traslape
poblacional, es decir, si una brecha generacional es del 90 % (GGAP = 0.9, traslape poblacional
pequeo) entonces, un 10 % restante de la poblacin, o sea algunos padres, pasarn a formar
parte de la siguiente generacin de manera automtica. El parmetro GGAP comnmente se fija
en el rango 0.7-0.9 pero puede incluso ser mayor a 1 (Chipperfield et al. (1992)).
e) Operador gentico principal: crossover. Segn algunos autores (por ejemplo Goldberg,
(1989), Coello, (1995), Coello (1996), Mitchell (1996)), los operadores de crossover ms
utilizados son:

De un punto : Se elige aleatoriamente un punto de corte o ruptura en los padres y se


intercambian sus bits, vase Figura 1.

De dos puntos: Se eligen dos puntos de corte al azar para intercambiar los bits entre
padres.

Multipuntos: Se eligen n puntos de corte al azar para intercambiar los bits entre padres
(hay que cuidar que el valor de n no sea mayor a la longitud del cromosoma).

Uniforme: En cada bit se elige al azar un padre para que contribuya con su bit al del
hijo, mientras que el segundo hijo recibe el bit del otro padre, de acuerdo a una cierta
probabilidad.

PMX, SEX: Son operadores ms sofisticados fruto de mezclar y aleatorizar los


anteriores.

El operador crossover se aplica a una pareja de cromosomas (cadenas binarias) de acuerdo a


una cierta probabilidad prefijada. Segn Merabtene et al. (2002), la probabilidad de cruza (pc)
est tpicamente entre 0.6 y 0.9. Algunos otros autores, recomiendan utilizar una pc = 0.7
(Goldberg (1989), Estvez (1997), Simpson (2000)). En cada generacin los cromosomas se
seleccionan de forma aleatoria para formar las parejas que se cruzarn. Para este trabajo se
implement cruza en un punto.

10

f) Operador gentico secundario: mutacin. La operacin de mutacin ms sencilla, y una de


las ms utilizadas consiste en reemplazar con cierta probabilidad el valor de un bit (de 0 a 1 y
viceversa), ver Figura 2. Ntese que el papel que juega la mutacin es el de introducir un factor
de diversificacin exploracin de nuevas regiones ya que, en ocasiones, la convergencia del
procedimiento a buenas soluciones puede ser prematura y quedarse atrapado en ptimos locales.
Es decir, este operador permite la introduccin de nuevo material cromosmico hacia la
poblacin y, a partir de la perspectiva terica, este asegura que dada alguna poblacin el
espacio de bsqueda total sea relacionado (Coello, 1996; Mitchell, 1996; Coello, 2002). Otra
forma obvia de introducir nuevos elementos en una poblacin es recombinar elementos
tomados al azar sin considerar su funcin de aptitud.

Goldberg (1989) seala que la mutacin es necesaria porque la sele ccin y cruza buscan y
recombinan las cadenas existentes, pero ocasionalmente ellas pueden llegar a perder algn
material gentico potencialmente til. En este caso, el operador mutacin protege contra tales
prdidas irrecuperables. El operador de mutacin juega un papel secundario en el AGS y
comnmente se fija en una probabilidad de mutacin de alrededor de p m = 0.01 (o sea, el 1 %).
Al respecto, Simpson (2000) seala que la probabilidad de mutacin es casi insignificante (y
tambin la fija en pm = 0.01). Por su parte, Merabtene et al. (2002) indican que la mutacin es
generalmente baja y se fija en el rango [0.001-0.01] dependiendo del tamao de la poblacin y
del nmero de bits en el cromosoma. Sin embargo, Chipperfield et al., (1992) mencionan que
cuando no se tiene idea de que valor tomar la tasa de mutacin al fijar los parmetros de inicio
de un AG, se debe tomar el valor resultante de la expresin

p m = 0.7 Lcrom para iniciar. Es decir,

que la probabilidad de mutacin tiene una relacin inversamente proporcional a la longitud de


la cadena binaria (Lcrom).

Figura 1. Uso de un solo punto de cruza entre dos cromosomas (individuos) de representacin
binaria.

11

g) Determinacin de parmetros. Algunos de los parmetros necesarios para el funcionamiento


del algoritmo gentico son:
i.

El tamao de la poblacin. El tamao de la poblacin (que es el nmero de

soluciones potenciales de los parmetros codificados simultneamente) en los AGs


comnmente est compuesta de entre 30 y 100 individuos. Segn lo afirman Merabtene et
al. (2002), el tamao de la poblacin (N) debe ser funcin de la longitud de la cadena del
cromosoma (Lcrom), y se selecciona en el rango 2 6 N 2 20 con respecto a la teora del
esquema de crecimiento.
ii.

Condicin de finalizacin. La condicin de finalizacin o condicin de paro del

AG puede ser vista desde varias vertientes. Si fuera posible determinar de antemano la
solucin final, sera trivial el determinar cundo finalizar el AG. Sin embargo, este no es el
caso y deben implementarse criterios para evaluar si debe o no continuarse la ejecucin. Si
la funcin de aptitud provee una idea adecuada sobre cun satisfactoria es una posible
solucin, entonces podra detenerse la ejecucin tan pronto como el desempeo haya
alcanzado un valor mnimo predeterminado o cuando el desempeo promedio o mximo
por generacin sea pequeo. Otro criterio es finalizar la ejecucin cuando cierto nmero de
generaciones se haya alcanzado o cuando haya transcurrido cierto tiempo de computacin.
En estos casos, simplemente se toma como solucin aquella que haya alcanzado el
rendimiento mximo al momento de detener la ejecucin. Asimismo, el nmero de
generaciones (iteraciones) que comnmente se fijan en un AG est contenido en un amplio
rango que va de [30-500] ms (Goldberg (1989), Mitchell (1996), Estvez (1997),
Morshed y Kaluarachchi (2000)). En este artculo, se implement el criterio de paro para
un nmero mximo de generaciones.

Figura 2. El operador mutacin en un cromosoma (solucin potencial).

12

Convergencia del Algoritmo Gentico


Si bien es cierto que los algoritmos genticos son simples para describir y programar, su
comportamiento no lo es e incluso puede ser complicado, ya que an existen muchas cuestiones
abiertas acerca de cmo trabajan ellos y para qu tipos de problemas estn mejor adaptados.
Muchos trabajos han sido hechos sobre las fundamentaciones tericas de los AGs, pero algunos
puntos importantes que conforman la fundamentacin terica-matemtica original de los AGs se
describen brevemente enseguida.
La teora tradicional de los algoritmos genticos (formulada por Holland, en 1975) asume que, en
un nivel muy general de descripcin, los AGs trabajan descubriendo, enfatizando, y recombinando
buenos bloques constructores de soluciones en una forma ampliamente paralela. La idea aqu es
cuidar las buenas soluciones para crear buenos bloques constructores combinaciones de valores bit
que confieren una aptitud alta sobre las cadenas en las cuales ellos estn presentes. Holland en 1975
introdujo la nocin de schemas (o schemata) para formalizar la nocin informal de bloques
constructores. Un schema (o esquema) es una serie de cadenas de bits que pueden ser descritas por
una plantilla creada de unos, ceros, y asteriscos, por ejemplo el schema de longitud l = 8, 1001*1*0
donde, los asteriscos representan cartas o celdas sin inters (o no importan del ingls dont
cares) (Mitchell, 1996).
Dado que el algoritmo gentico opera con una poblacin en cada iteracin (generacin), se espera
que el mtodo converja de modo que al final del proceso la poblacin sea muy similar, y en el
infinito se reduzca a un slo individuo.
Se ha desarrollado toda una teora para estudiar la convergencia de estos algoritmos en el caso de
strings binarios. Esta teora se basa principalmente en considerar que un string o cadena es un
representante de una clase de equivalencia o schema, reinterpretando la bsqueda en lugar de entre
strings, entre schemas. De este modo se concluye lo que se conoce como parale lismo intrnseco
(Goldberg, 1989; Coello, 1996; Mitchell, 1996; Estvez, 1997):
En una poblacin de N cadenas se estn procesando implcitamente O(N 3 ) schemas.
A partir de este resultado el Teorema de Schemas prueba que la poblacin converge a unos schemas
que cada vez son ms parecidos, y en el lmite a un nico string. Asimismo, el Teorema
Fundamental Schema (Teorema Fundamental del Esquema) describe el crecimiento de un schema
de una generacin a la siguiente. El Teorema Schema es a menudo interpretado insinuando que:

13

schemas cortos, de orden-bajo y cuya aptitud promedio permanece por encima de la media
recibirn incrementos exponenciales de muestras (es decir, en ocasiones evaluadas) a travs del
tiempo, dado el nmero de muestras de estos schemas que no son quebrantados (por los operadores
genticos) y permanecen por encima del promedio en la aptitud incrementndose en cada
generacin.
Adems muchos de los investigadores de este campo estn trabajando en desarrollar los aspectos
tericos de la materia incorporando algunas otras tcnicas de bsqueda local en el esquema gentico
(Coello (1996), Mitchell (1996)).

Qu ventajas y desventajas tienen con respecto a otras tcnicas de bsqueda?


Segn algunos investigadores (Coello (1995)), el algoritmo gentico en general presenta las
ventajas siguientes:

No necesitan conocimientos especficos sobre el problema que intentan resolver.

Operan de forma simultnea con varias soluciones, en vez de trabajar de forma secuencial
como las tcnicas tradicionales.

Cuando se usan para problemas de optimizacin maximizar/minimizar una funcin


objetivo resultan menos afectados por los mximos/mnimos locales (falsas soluciones)
que las tcnicas tradicionales.

Resulta sumamente fcil ejecutarlos en las modernas arquitecturas masivas en paralelo.

Usan operadores probabilsticos, en vez de los tpicos operadores determinsticos de las


otras tcnicas.

Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta


medida de los parmetros que se utilicen tamao de la poblacin, nmero de generaciones,
etc..

Pueden converger prematuramente debido a una serie de problemas de diversa ndole.

14

III. Problema
Se desea implementar un algoritmo gentico para minimizar la funcin de Bohachevsky, que
presenta Estvez (1997) ,

f (x , y ) = x 2 + 2 y 2 0.3 cos(3x ) 0.4 cos(4y ) + 0.7 ,


donde, x, y [ 1, 1] . Esta funcin tiene un mnimo global en cero y mltiples mnimos locales. En
la Figura 3 se ilustra la funcin de Bohachevsky, la figura representada en a) muestra una vista de la
imagen multimodal y en la figura representada en b) se observa con mayor claridad que el mnimo
global es cero. Adems, en la Figura 4 se ilustra la funcin de Bohachevsky invertida, en la cual, se
aprecia mucho mejor la imagen multimodal. Estas figuras ofrecen una informacin visual valiosa al
momento de obtener los resultados. (Las grficas fueron realizadas utilizando MATLAB 6.0).
Por lo tanto, el modelo matemtico a optimizar es:

Min

f : [ 1, 1] 2

(x , y )

x 2 + 2 y 2 0.3 cos(3x ) 0.4 cos(4y ) + 0 .7

a)

b)
Figura 3. Funcin de Bohachevsky.

15

Figura 4. Funcin de Bohachevsky invertida.

IV. Implementacin
Para la implementacin del AG se utiliz el Toolbox to Genetic Algorithm el cual se ejecut en
MATLAB 6.0. El Toolbox contiene un programa del AG junto con una diversidad de funciones
fciles de implementar y que llevan a cabo las diferentes acciones del algoritmo gentico.
Asimismo, se presenta una interfaz grfica (muestra la convergencia del AG) de fcil entendimiento
e incluye parmetros predeterminados de entrada del algoritmo, aunque estos pueden ser cambiados
a conveniencia. Cabe sealar que el AG contenido en este Toolbox est programado bsicamente
para minimizar funciones (seleccin ranking minimiza nicamente), por lo cual, si los
requerimientos son para maximizar una funcin, basta con minimizar el negativo o el inverso de
dicha funcin. El Toolbox to Genetic Algorithm fue desarrollado por Chipperfield et al. (1992).
Para este problema, se fij cruza de un punto, mutacin simple y para el mtodo de seleccin se
implement ranking lineal con una presin selectiva de dos; para posteriormente, aplicar el mtodo
de la rueda de ruleta. Adems, se consideraron tasas de cruza y mutacin fijas durante toda la
corrida del AG. La tasa o probabilidad de crossover utilizada fue de p c = 0.7 y la de mutacin fue de
p m = 0.01. Se implement un AG no generacional y la brecha generacional aplicada fue del 90 %
(GGAP = 0.9, poblacin poco traslapable), es decir, el 90 % de la poblacin se reproduce.

16

Los parmetros x e y se codificaron con 15 bits cada uno (para cuatro decimales de precisin,
aproximadamente), resultando en individuos de largo 30. Se consideraron poblaciones de tamao
50, un nmero mximo de generaciones de 30 y cinco simulaciones (corridas tpicas) con distintas
inicializaciones de la poblacin.

Las simulaciones se llevaron a cabo en una micro-computadora Genuinelntel Intel(r)


Celeron(tm) processor 600 MHz, 64 MB de RAM y con procesador matemtico.

V. Resultados y Discusin
El mejor resultado obtenido por el AG en una serie de cinco simulaciones es:

Mnimo valor de f x* , y * = 4.4619 10 8 0

(ptimo global)

Valor ptimo, x * = 3.0519 10 5 0


Valor ptimo, y * = 3.0519 10 5 0

En la Figura 5 se muestra el resultado del mejor individuo en funcin del nmero de generaciones
para la mejor corrida de una serie de cinco simulaciones tpicas. Los resultados obtenidos tanto del
AG como de las funciones fminsearch (sta funcin aplica mtodos directos de bsqueda y puede
ser apropiada para funciones con discontinuidades) y fminunc (sta funcin emplea la informacin
del gradiente y la matriz Hessiana y si no se le proporcionan stos elementos los obtiene mediante
aproximaciones lineales por medio de diferencias finitas) que proporciona MATLAB 6.0 para
minimizar funciones multivariables, se presentan en la Tabla 1. Las funciones fminsearch y fminunc
se ejecutaron para varios valores o vectores iniciales (semillas), obtenindose los resultados que se
muestran en la Tabla 1.
Respecto a la comparacin de los resultados obtenidos por las diferentes tcnicas, se puede decir lo
siguiente. El AG encontr el ptimo casi-global de la funcin de Bohachevsky, es decir, debido a la
precisin fijada de las cadenas binarias (representacin de las posib les soluciones), que
tericamente contemplan cuatro decimales para cada variable independiente, la solucin global no

17

pudo ser finamente alcanzada (ya que el mnimo global se encuentra exactamente en cero); sin
embargo, el resultado obtenido mediante el algoritmo gentico es sumamente cercano al ptimo
global e inclusive puede considerarse que el mnimo global fue alcanzado para el dominio de las
variables independientes fijado originalmente (ver Tabla 1). Por el contrario, si se quisiera una
mayor precisi n simplemente se incrementa la longitud de la cadena binaria de acuerdo a lo
requerido.

Figura 5. Convergencia del AG hacia la solucin ptima global de la funcin de Bohachevsky


(obsrvese que ya para la generacin 20 se cuenta con el resultado final).
Lo anterior, confirma que el AG utilizado en este artculo es eficiente y eficaz (calidad/tiempo) para
encontrar el ptimo global en funciones multi-modales. En contraste, las tcnicas convencionales de
bsqueda directa y las basadas en gradiente (representadas en este caso por las funciones
fminsearch y fminunc de MATLAB 6.0, respectivamente) se quedaron muy lejos de encontrar el
mnimo global de la funcin de Bohachevsky partiendo del dominio original de las dos variables
independientes (es decir, [-1, 1]) y nicamente, encontraron el mnimo global cuando el vector de
los valores iniciales (semilla que requieren los algoritmos para iniciar la bsqueda) de las dos
variables independientes se fij cerca del ptimo global (ver la Tabla 1); lo cual, confirma la
ineficiencia de este tipo de tcnicas para encontrar el ptimo global en funciones multi-modales. Es
decir, el xito de las tcnicas tradicionales de optimizacin no-lineal y no-restringidas depende de
donde se fijen los valores iniciales de las varia bles independientes para iniciar la bsqueda hacia el
ptimo global ya que, comnmente se quedan atrapadas en ptimos locales.

18

Tabla 1. Minimizacin de la funcin de Bohachevsky empleando varias tcnicas.


Dominio
Funcin o/y

Algoritmo

Herramienta

Empleado

de

Tiempo
Valores ptimos

Bsqueda

de
Clculo

o Vector
Inicial

f(x, y)

(seg.)

[ 1, 1]2

3.0519 10 5

3.0519 10 5

4.4619 10 8

3.57

[ 1

1.73886 10 5

0.46950469

0.46988243

0.33

1.7389 10 5

0.46950469

0.46988243

0.38

Toolbox to
Genetic
Algorithm
MATLAB

Algoritmo
gentico

6.0
fminsearch
en
MATLAB
6.0

NelderMead
simplex
direct
search
Largescale:
trustregion

fminunc en

Newton

MATLAB

Medium-

6.0

scale:
QuasiNewton
line
search

1]

[1 1]
[0.1

0.1]

4 .43917 10 5

1.40742 10 5

3.4879 10 8

0.33

[ 1

1]

0.61861207

0.93337914

2.287497

0.44

0.61861207

0.93337914

2.287497

0.47

[1 1]
[0.1

0.1]

9.84213 10 12

0.49

[ 1

1]

0.61861207

0.41292683

0.27

0.61861207

0.41292683

0.33

0.3522 10 12

0. 411419 10 12

0.33

[1 1]
0.25
0.25

19

En este sentido, se confirma lo dicho por Cai et al. (2001), ellos mencionan que los algoritmos de
programacin no lineal (PNL) son ampliamente aprovechables, y pueden ser aplicados a problemas
con objetivos y restricciones no lineales de bajo grado de dificultad (suaves y unimodales); sin
embargo, la mayora de los algoritmos de PNL generalmente convergen a la solucin local cercana
al punto de partida (vector de valores iniciales), y sus propiedades de convergencia terica no se
mantienen cumplidas para problemas muy accidentados o ruidosos (representados por funciones
multimodales); adems, su velocidad y confiabilidad tambin decrecen con el tamao del problema
y con el aumento de la complejidad.

VI. Conclusiones
La implementacin del GAP generacional (brecha generacional), GGAP, evita que se pierdan
buenas soluciones (y mantiene un buena cantidad de individuos padres con informacin y/o
diversidad valiosa) esta es una ventaja que no poseen los AGs simples.
El ranking lineal (selectio n rank, no requiere escalamiento) da oportunidad a casi todos los
individuos de la poblacin de ser seleccionados y de esta manera se evita el efecto de convergencia
prematura a un ptimo-local por apariciones tempranas de superindividuos (o sea, evita quedar
atrapado en un ptimo local); adems, mantiene en mayor tiempo una mejor diversidad de posibles
soluciones tan importantes en la bsqueda de soluciones ptimas-globales para funciones multimodales (funciones con un lote de ptimos locales, como en este caso).
Asimismo, los parmetros de entrada del algoritmo gentico que estn predeterminados en la
aplicacin son los apropiados para una ejecucin eficiente del programa. Sin embargo, en los
parmetros de entrada de la funcin (dominio de las variables independientes) si se desea una ms
rpida convergencia y soluciones de ms calidad (mayor precisin), se puede reducir el espacio de
bsqueda guiados por las grficas de las Figuras 3 y 4 y adems, si se desea mayor exactitud en el
resultado del AG se puede incrementar an ms la longitud de las cadenas binarias. Aunque de
antemano, se observa que no es necesario llevar alguna modificacin debido a la rpida y buena
calidad de la solucin obtenida (ver Tabla 1).

20

En base a los resultados obtenidos, finalmente se concluye que:


v El AG es un mtodo robusto, eficiente y eficaz (calidad/tiempo).
v Al comprender los AGs la implementacin no es complicada.
v El modelo traslapable gap generacional (GGAP) conserva un valioso material gentico.
v El AG y la computacin evolutiva pueden tener an mucha ms aplicacin en todos los
campos de la ciencia, pero particularmente, en las diferentes ramas de la ingeniera y
sistemas computacionales.
v La seleccin mediante jerarquas (seleccin ranking lineal) junto con las tasas de crossover
y mutacin, reducen de manera considerable las diferencias entre los superindividuos y los
individuos mediocres dando paso a la diversidad y a una competencia ms justa entre todos
los individuos al momento de la seleccin.
v Durante la evolucin de un AG algunos aspectos estn altamente relacionados: la
convergencia del algoritmo, la aptitud de los cromosomas, y las tasas y parmetros.

Por lo tanto, podemos concluir que, el AG no es una tcnica que sustituya a las tcnicas
tradicionales, sino una tcnica robusta de bsqueda y optimizacin que viene a complementar las
tcnicas matemticas y numricas de bsqueda y optimizacin existentes hoy da.
En resumen, la implementacin del AG es viable para la optimizacin de modelos matemticos
altamente no-lineales (representados mediante funciones multi-modales) tan abundantes en el
campo de la ingeniera en general. Y por ltimo, podemos decir, que el comportamiento altamente
no-lineal e impredecible de algunos de los fenmenos existentes (con un comportamiento
fuertemente ecolgico) slo pueden ser tratados mediante algoritmos que imiten o reproduzcan los
procesos ecolgicos tal y como los lleva a cabo la propia naturaleza (creacin e implementacin de
algoritmos mimticos e hbridos).

21

VII. Refe rencias

Cai, X., McKinney, D. and Lasdon, L. 2001. Solving nonlinear water management models using a
combined genetic algorithm and linear programming approach. Advances in Water
Resources. 24 (6):667-676.
Coello C., C. A. 1995. Introduccin a los algoritmos genticos, soluciones avanzadas. Tecnologas
de Informacin y Estrategias de Negocios. 3 (17):5-11.
Coello C., C. A. 1996. An empirical study of evolutionary techniques for multiobjective
optimization in engineering design. An abstract to the Department of Computer Science of
the Graduate School of Tulane University in partial fulfillment of the requirements for the
Degree of Doctor of Philosophy, EUA.
Coello C., C. A. 2002. Introduccin a la computacin evolutiva. CINVESTAV-IPN, Departamento
de

Ingeniera

Elctrica,

Seccin

de

Computacin,

Mxico,

D.F.

http://delta.cs.cinvestav.mx/~ccoello , hasta octubre del 2002.


Chipperfield, A., Fleming, P., Pohlheim, H. and Fonseca, C. 1992. Genetic Algorithm TOOLBOX,
for Use with MATLAB. Versin 1.2, Users Guide. Department of AUTOMATIC
CONTROL AND SYSTEMS ENGINEERING, University of Sheffield, UK. pp. 102.
Estvez V., P. 1997. Optimizacin mediante algoritmos genticos. Anales del Instituto de
Ingenieros de Chile. 83-92.
Goldberg, D. 1989. Genetic algorithms in search, optimization and machine learning.
Massachusetts: Addison-Wesley Publishing Co. The University of Alabama, EUA.
llich, N. and Simonovic, S.P. 1998. An evolution program for pipeline optimization. ASCE Journal
of Computing in Civil Engineering. 12 (4):232-240.
Merabtene, T., Kawamura, A., Jinno K. and Olsson, J. 2002. Risk assessment for optimal drought
management of an integrated water resources system using a genetic algorithm.
Hydrologic al Processes. 16:2189-2208.

22

Michalewicz, Z. 1992. Genetic algorithms + data structures = evolution programs. Springer, New
York.
Mitchell, M. 1996. An introduction to genetic algorithms. The MIT Press. Cambridge,
Massachusetts. London, England. Massachusetts Institute of Technology.
Morshed, J. and Kaluarachchi, J. 2000. Enhancements to genetic algorithm for optimal groundwater management. Hydrologic Engineering. 5 (1):67-73.
Rauch, W. and Harremos, P. 1999. On the potential of genetic algorithms in urban drainage
modeling. Urban Water. 1 (1):79-89.
Simpson, A. 2000. Optimization of design of water distribution system using genetic algorithms.
Slovenian Society of Hydraulic Research, Seminar Series. 1:1-10.
Wardlaw, R. and Sharif, M. 1999. Evaluation of genetic algorithms for optimal reservoir system
operation. Journal of Water Resources Planning and Management. 125 (1):25-33.
Yeh, W.W-G. 1985. Reservoir management and operations models: A state -of-the-art review.
Water Resources Research. 21 (12):1797-1818.

23

Potrebbero piacerti anche