algoritmo evolutivo expertos

Upload: francisco-almeida-de-dios

Post on 13-Jan-2016

246 views

Category:

Documents


0 download

DESCRIPTION

neuronales redes

TRANSCRIPT

  • 1

    ALGORITMO EVOLUTIVO MULTI-MODAL PARA MINIMIZAR UNA FUNCIN DE DOS VARIABLES

    F. A. Ortiz Robles1, O. A. Dzul Garca2 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. 1 Maestra en Planeacin de Recursos Hidrulicos, Universidad Autnoma de Zacatecas, Av. Ramn Lpez Velarde No. 801, Zacatecas, Zac. Candidato a Maestro. [email protected] 2 Maestra en Planeacin de Recursos Hidrulicos, Universidad Autnoma de Zacatecas, Av. Ramn Lpez Velarde No. 801, Zacatecas, Zac. [email protected] 3 Centro de Estudios Multidisciplinarios, Universidad Autnoma de Zacatecas, Av. Insurgentes No. 108A, Zacatecas, Zac. ortizgr @cantera.reduaz.mx

  • 2

    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 problemas 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

  • 3

    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 basados-

    evolucin 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

  • 4

    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

  • 5

    (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

  • 6

    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.

  • 7

    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.

  • 8

    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

  • 9

    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

  • 10

    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.

  • 11

    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 seleccin 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 pm = 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 cromLmp 7.0= 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.

  • 12

    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 206 22 N 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).

  • 13

    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:

  • 14

    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.

  • 15

    III. Problema

    Se desea implementar un algoritmo gentico para minimizar la funcin de Bohachevsky, que

    presenta Estvez (1997),

    ( ) ( ) ( ) 7.04cos4.03cos3.02, 22 +--+= yxyxyxf pp ,

    donde, [ ]1,1, -yx . 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 [ ] - 21,1:f

    ( ) ( ) ( ) 7.04cos4.03cos3.02, 22 +--+ yxyxyx ppa

    a) b)

    Figura 3. Funcin de Bohachevsky.

  • 16

    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 pc = 0.7 y la de mutacin fue de

    pm = 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.

  • 17

    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 ( ) 0104619.4, 8** = -yxf (ptimo global) Valor ptimo, 0100519.3 5* -= -x

    Valor ptimo, 0100519.3 5* -= -y

    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

  • 18

    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 precisin 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 variables independientes para iniciar la bsqueda hacia el

    ptimo global ya que, comnmente se quedan atrapadas en ptimos locales.

  • 19

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

    Funcin o/y

    Herramienta

    Algoritmo

    Empleado

    Dominio

    de

    Bsqueda

    o Vector

    Inicial

    Valores ptimos

    Tiempo

    de

    Clculo

    x y f(x, y) (seg.)

    Toolbox to

    Genetic

    Algorithm

    MATLAB

    6.0

    Algoritmo

    gentico [ ]21,1- 5100519.3 -- 5100519.3 -- 8104619.4 - 3.57

    [ ]11 -- 51073886.1 - 46950469.0- 46988243.0 0.33

    [ ]11 5107389.1 -- 46950469.0 46988243.0 0.38 fminsearch

    en

    MATLAB

    6.0

    Nelder-

    Mead

    simplex

    direct

    search [ ]1.01.0 51043917.4 - 51040742.1 - 8104879.3 - 0.33

    [ ]11 -- 61861207.0- 93337914.0- 287497.2 0.44

    [ ]11 61861207.0 93337914.0 287497.2 0.47

    Large-

    scale:

    trust-

    region

    Newton [ ]1.01.0 0 121084213.9 - 0 0.49

    [ ]11 -- 61861207.0- 0 41292683.0 0.27

    [ ]11 61861207.0 0 41292683.0 0.33

    fminunc en

    MATLAB

    6.0 Medium-

    scale:

    Quasi-

    Newton

    line

    search

    T

    25.025.0

    12103522.0 -- 1210411419.0 - 0 0.33

  • 20

    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 (selection 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 multi-

    modales (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).

  • 21

    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).

  • 22

    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.

    Hydrological Processes. 16:2189-2208.

  • 23

    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 ground-

    water 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.