Algoritmo Evolutivo expertos

March 29, 2018 | Author: Francisco Almeida | Category: Genetic Algorithm, Mathematical Optimization, Evolution, Physics & Mathematics, Mathematics


Comments



Description

ALGORITMO EVOLUTIVO M ULTI-M ODAL PARA M INIMIZAR UNA FUNCIÓN DE DOSVARIABLES F. A. Ortiz Robles1 , O. A. Dzul García 2 y R. Ortiz Gómez3 Resumen Aunque muchas investigaciones han sido hechas recientemente en la optimización sobre el campo de la ingeniería, la tendencia ha sido tratar con problemas idealizados, más que con aplicaciones del mundo real. Durante el desarrollo tardío de esta tendencia, en los últimos años, la comunidad científica internacional ha mostrado un creciente interés en una nueva técnica de búsqueda evolutiva, que se conoce con el nombre de Algoritmo Genético (AG), y ha sido con toda razón requerido en problemas de optimización no lineal. Lo anterior, es debido a que muchos de los fenómenos existentes en las diferentes ramas de la ingeniería (y en el campo de la ingeniería de los recursos hidráulicos no es la excepción) son representados mediante modelos matemáticos altamente no lineales de varias variables, es decir, representados por funciones multi-modales de gran complejidad. El potencial de los algoritmos de búsqueda evolutiva radica en la inspiración sobre la mecánica de la selección natural y la genética para evolucionar una población inicial de puntos sucesivamente hacia mejores regiones del espacio de búsqueda. La evolución de la población se realiza mediante la aplicación de operadores genéticos probabilísticos de selección, recombinación (crossover) y mutación. Los algoritmos genéticos requieren conocer solamente el valor de la función objetivo en la población de puntos y no sus derivadas. Esto último permite abordar una gran variedad de problemas de optimización no tratables mediante métodos basados en gradientes. Se describe en detalle un algoritmo genético simple con aplicación a la optimización de parámetros continuos, inc luyendo el método de selección: proporcional con el aditamento ranking lineal (selección mediante jerarquías), así como, el parámetro GGAP denominado brecha generacional (población traslapable). La influencia del método de selección junto con el parámetro GGAP en la solución global y velocidad de convergencia del algoritmo genético se ilustra mediante un ejemplo de una función continua con múltiples mínimos (función 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 métodos directos de búsqueda; y fminunc, la cual, además de requerir la función multivariable a minimizar también recibe el gradiente y la matriz Hessiana de la misma), apoyándose básicamente en las técnicas convencionales de optimización. Lo cual, confirma la eficiencia del AG con respecto a las técnicas tradicionales basadas en gradientes para este tipo de funciones multi-modales. Palabras Claves: Algoritmos Evolutivos, Algoritmos Genéticos, Minimizar Función, Ranking Lineal, Operadores Genéticos, Función Multi-modal, Optimización no Restringida. 1 Maestría en Planeación de Recursos Hidráulicos, Universidad Autónoma de Zacatecas, Av. Ramón López Velarde No. 801, Zacatecas, Zac. Candidato a Maestro. [email protected] 2 Maestría en Planeación de Recursos Hidráulicos, Universidad Autónoma de Zacatecas, Av. Ramón López Velarde No. 801, Zacatecas, Zac. [email protected] 3 Centro de Estudios Multidisciplinarios, Universidad Autónoma de Zacatecas, Av. Insurgentes No. 108A, Zacatecas, Zac. ortizgr @cantera.reduaz.mx 1 I. Introducción A través de los tiempos y aún en la actualidad, la tendencia de muchas investigaciones sobre la optimización en el campo de la ingeniería ha sido ampliamente idealizada. Es decir, nos hemos alejado de un análisis realístico de los proble mas y se han tratado de simplificar los fenómenos en estudio (linealizando los modelos de optimización o dividiendo los sistemas globales en partes para su solución, por ejemplo). Esto es debido a que muchos de los sistemas reales existentes en las diferentes ramas de la ingeniería (y en el campo de la ingeniería de los recursos hidráulicos no es la excepción) los analizamos a través de la representación abstracta de los mismos por medio de modelos matemáticos altamente no lineales de varias variables, es decir, representados por funciones multi-modales de gran complejidad (Coello, (1996), Estévez (1997), Morshed y Kaluarachchi (2000), Cai et al. (2001)). Durante el desarrollo tardío de esta tendencia, en los últimos años, la comunidad científica internacional ha mostrado un creciente interés en una nueva técnica de búsqueda evolutiva, que se conoce con el nombre de Algoritmo Genético, y ha sido con toda razón requerido en problemas de optimización no lineal. Los Algoritmos Genéticos (AGs) fueron introducidos por John Holland a finales de los 1960s inspirándose en el proceso observado en la evolución natural de los seres vivos. Holland desarrolló una técnica que permitió incorporarla en un programa de computadora, el objetivo de él era lograr que las computadoras aprendieran por sí mismas. A esta técnica se le llamó originalmente planes reproductivos, pero se hizo popular bajo el nombre de algoritmo genético tras la publicación de su libro “Adaptation in Natural and Artificial Systems” en 1975. Desde sus inicios el algoritmo genético atrajo la atención de muchas ramas de la investigación tales como: Economía, ciencia de la política, sicología, lingüística, inmunología, biología, bioquímica, ingeniería (civil, hidráulica, electrónica, eléctrica, industrial, robótica, entre otras) y desde luego, de la ciencia de la computadora. Es importante citar que, a diferencia de otros metaheurísticos, los AGs han crecido de forma espectacular, hasta el punto de poder encontrar referencias sobre ellos en revistas de informática de carácter general (Goldberg, 1989; Mitchell, 1996; Coello, 2002; Merabtene et al., 2002). Una gran razón por éste interés es que los AGs trabajan verdaderamente. Los AGs ofrecen procedimientos robustos que pueden explotar masivamente las arquitecturas paralelas y, aplicados a 2 (b) la eficiencia del algoritmo varía en función del tamaño y complejidad del problema. y algoritmos genéticos (AGs). entre otros. llich y Simonovic (1998). algunos autores (por ejemplo Yeh (1985). En cada paso el conjunto de hipótesis (población actual) se renueva remplazando el total o una proporción de esta población por los sucesores de las hipótesis más adecuadas creando nuevas generaciones evolucionadas hacia regiones más favorables del espacio de búsqueda. La literatura especializada (por ejemplo Mitchell (1996). Rauch y Harremoës (1999). Esta potente técnica metaheurística creada por Holland y fortalecida posteriormente por Goldberg (1989). y seleccionando los individuos con el valor de aptitud mayor y combinándolos posteriormente para crear nuevos individuos con incrementos prometedores de aptitud mejorada. El progreso en la búsqueda es realizado evaluando la aptitud (función objetivo) de todos los individuos en la población. Mitchell (1996). Asimismo. Además son fácilmente paralelizables. (d) los algoritmos basados-evolución no toman en cuenta el aspecto o gradiente de la función objetivo. y (e) los algoritmos basadosevolución pueden requerir la calibración de los parámetros de búsqueda para garantizar una convergencia eficiente. (c) la mayoría de los algoritmos converge a un punto óptimo desde el interior y exterior de la región factible. programación evolutiva (PE). Estos generan un conjunto de hipótesis (la población) mediante la recombinación o cruza (crossover) y mutación de parte del conjunto de hipótesis conocido a través de períodos definidos como generaciones. de los AGs. se debe en parte a que la evolución es un método robusto y bien probado dentro de los sistemas biológicos naturales.la búsqueda y sistemas clasificadores. Michalewicz (1992). ellos proporcionan una nueva ruta hacia un entendimiento de la inteligencia y adaptación. lo que supone una ventaja gracias al abaratamiento actual de 3 . La popularidad de los Algoritmos Evolutivos (AEs) y particularmente. ha proporcionado una autopista de peaje en el desarrollo y evolución no sólo de la ciencia de la computadora sino de la ciencia en general. Coello (1995)) definen que el estado actual del arte en el campo de los algoritmos de evolución puede ser descrito como sigue: (a) no hay un algoritmo general aplicable a todos los problemas. Los AGs proporcionan un método de aprendizaje basado en la analogía con la evolución de las especies. Coello (2002)) identifica tres corrientes principales de los algoritmos evolutivos que han emergido en las últimas tres décadas: estrategias de evolución o estrategias evolutivas (EE). Mitchell. (ii) la realización de transformaciones simples para modificar y mejorar estas representaciones (Goldberg. Aunque no se garantice encontrar la solución óptima. los AGs generalmente encuentran soluciones con un alto grado de acierto. Coello. el objetivo específico de este artículo es: evaluar de una manera breve pero concisa la eficiencia del AG en la minimización de una función multi-modal (función con múltiples mínimos locales). 2001. 1996. y destacar el potencial del AG con respecto a los métodos basados en gradientes. 2002). 1996. Pretendiendo de acuerdo a lo anterior. Uno de los propósitos de este trabajo es iniciar la estructuración e implementación de una técnica potente de optimización que sirva como una herramienta de apoyo en la toma de decisiones óptimas y además. Bases Teóricas Fundamentos del AG ¿Qué son los algoritmos genéticos? Son algoritmos de búsqueda basados en la mecánica de selección natural y en la genética general. donde el impacto de cada parte sobre la función de evaluación es difícil de especificar (Coello. Estévez (1997). Cai et al. Los algoritmos desarrollados por Holland inicialmente eran sencillos pero dieron buenos resultados en problemas considerados difíciles. 1999. probabilístico 4 . Wardlaw y Sharif. Por otra parte. Estos combinan la supervivencia de los individuos más aptos entre las cadenas de estructuras con un intercambio de información aleatorio para formar un algoritmo de búsqueda. Coello. Morshed y Kaluarachchi. 2000.. Los algoritmos genéticos están basados en integrar e implementar eficientemente dos ideas fundamentales: (i) las representaciones simples como strings binarios de las soluciones del problema y. Así mismo.los costes en hardware. los AGs pueden realizar búsquedas en espacios de hipótesis que contienen complejas interacciones entre las distintas partes. cambiar esa autopista de peaje en una carretera libre donde fluya el buen control de recursos escasos tan “abundantes” en la vida actual. Mitchell (1996). 1989. 2002). Asimismo. la literatura especializada (por ejemplo Coello (1996). Morshed y Kaluarachchi (2000)) define al algoritmo genético como un heurístico (inexacto). para el análisis del comportamiento de sistemas reales a los que nos enfrentamos comúnmente. II. de topologías. sus posibles soluciones) debe estar delimitado dentro de un cierto rango. las soluciones deben codificarse de una forma que resulte relativamente fácil de implementar en la computadora. etc. y lo más recomendable es intentar resolver problemas que tengan espacios de búsqueda discretos –aunque éstos sean muy grandes–. • Una estructura de representación o hipótesis según se manejo anteriormente (o sea.). y se recomienda en general tomar en cuenta las siguientes características del mismo antes de intentar usarla (ver por ejemplo Michalewicz (1992). • Una o varias operaciones de crossover. • Una población inicial de soluciones potenciales (se efectúa normalmente de manera aleatoria. técnica de optimización basada en la búsqueda (altamente paralela) emulando el proceso biológico de la evolución natural. etc. • Valores para los diversos parámetros utilizados por el algoritmo genético (tamaño de la población. Coello (1995). numérica. Es decir. probabilidad de cruza y mutación. calificando a las soluciones producidas en términos de su “aptitud”. ¿Cómo saber si es posible usar el algoritmo genético? La aplicación más común de los algoritmos genéticos ha sido la solución de problemas de optimización. Es decir.) que buscan soluciones a problemas complejos usando una analogía entre optimización y selección natural. en donde han demostrado ser muy eficientes y confiables. algo que nos indique que tan buena o mala es una cierta respuesta. De los puntos anteriores. la representación de las posibles soluciones del problema).(estocástico). también puede intentarse usar la técnica con espacios de búsqueda continuos (como es el 5 . • Una medida de evaluación que juega el papel del ambiente (función de aptitud o función objetivo). • Una o varias operaciones de mutación. número máximo de generaciones. cruza o recombinación. De tal forma. pero también pueden usarse métodos determinísticos o implementar reglas heurísticas simples). combinatoria. apoyándose también en las leyes de la genética. Estévez (1997)): • Problema a ser optimizado. • Su espacio de búsqueda (es decir. Coello (1996). Sin embargo. combinatorio (discreto). ellos corresponden a una familia de métodos de optimización (estructural. Sin embargo. • Un criterio de selección/eliminación de las hipótesis. no todos los problemas pudieran ser apropiados para la técnica. el segundo es muy importante. Es definido como el operador genético principal. y además porque resulta muy sencillo de implementar (ver por ejemplo Coello (1995). (2001)). Cada cromosoma consiste de genes (bits). Mecanismo de trabajo de los AGs A partir de una población de cromosomas (cadenas de 1s y 0s. y a la posición del gen sobre el cromosoma se le denomina locus (Goldberg. o bits) generados aleatoriamente se crea una nueva población usando un mecanismo de selección natural junto con los operadores genéticos de crossover.caso de este trabajo). Cruza o recombinación (Crossover) Intercambia partes de dos cromosomas tratando de reproducir la recombinación biológica entre dos organismos monocromosómicos. 6 . Coello (2002)). y en promedio los cromosomas más aptos producen más descendientes que los menos aptos. Cai et al. Estévez (1997). Cabe señalar que la codificación más común de las respuestas es a través de cadenas binarias. 1989. pero no por eso menos importante ya que es el encargado de proporcionar diversidad en el espacio de búsqueda. Mitchell (1996). pero preferentemente cuando exista un rango de soluciones relativamente pequeño. Selección Escoge los cromosomas en la población que podrán reproducirse. Mutación Cambia aleatoriamente los valores de alelo de algunas ubicaciones en el cromosoma. Más adelante se verán un poco más a detalle el resto de los puntos anteriores. a una instancia de un gen particular se le denomina alelo (0 ó 1). Mitchell. 1996). Las técnicas de selección más empleadas son las de selección proporcional. mutación e inversión. Wardlaw y Sharif (1999). Rauch y Harremoës (1999). Este es un operador secundario en el proceso de búsqueda del algoritmo genético. Este operador es el motor principal que mueve al algoritmo hacia la solución. aunque se han utilizado también números reales y letras (por ejemplo Coello (1996). La recombinación más comúnmente utilizada es la de cruza en un punto y es conocida en la biología como crossover. El primero de estos esquemas ha gozado de mucha popularidad debido a que es el que propuso originalmente Holland. Mitchell (1996)). existen principios generales ampliamente aceptados por la comunidad científica (Coello. 3. Aunque muchos aspectos están todavía por discernir. Mitchell. Lo anterior. Algunos de estos son: 1. Estévez. repetir t: = t + 1. La evolución biológica “no tiene memoria” en el sentido de que en la formación de los cromosomas únicamente se considera la información del período (generación) anterior. 1997). hasta encontrar una solución. La selección natural es el proceso por el que los cromosomas con buenas estructuras (características) se reproducen más a menudo que los demás. El operador de inversión no es comúnmente aplicado en los algoritmos genéticos a pesar de que fue concebido junto con los operadores de crossover y mutación en el algoritmo genético original desarrollado por Holland. G(0). generar G(t) usando G(t-1). 2002). Llamamos recombinación a este proceso en el que se forma el cromosoma del descendiente. La evolución opera en los cromosomas en lugar de en los individuos a los que representan. es debido a que es un poco complejo de aplicar (altos requerimientos computacionales) y los beneficios que produce no lo ameritan (Goldberg (1989). t: = 0. 2. También son de tener en cuenta las mutaciones que pueden alterar dichos códigos. generar población inicial.Inversión La inversión 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. evaluar G(t). evaluar G(0). 7 . La operación de un algoritmo genético simple (AGS) puede ilustrarse con el siguiente segmento de pseudo-código propuesto por Goldberg (1989). En el proceso de reproducción tiene lugar la evolución mediante la combinación de los cromosomas de los progenitores. 1996. 1996. 4. Coello. 1995. Los algoritmos genéticos establecen una analogía entre el conjunto de soluciones de un problema y el conjunto de individuos de una población natural. En palabras del propio Holland (Goldberg. por lo que se tiene que diseñar o implementar algún mecanismo que permita incorporar la información pertinente sobre la violación de las restricciones en la función objetivo. La población inicial suele ser generada aleatoriamente. c) Selección. se suele utilizar la calidad (conocida como aptitud) como medida del desempeño según el valor de la función objetivo en el que se puede añadir un factor de penalización para controlar la infactibilidad. en el caso de existir restricciones (optimización con manejo de restricciones). operadores y parámetros del AG A continuación se describen algunos de los elementos que conforman el mecanismo de trabajo del algoritmo genético. es importante garantizar la diversidad estructural de estas soluciones para tener una representación de la mayor parte de población posible o al menos evitar la convergencia prematura (por ejemplo. a) Población inicial. Nótese que el algoritmo genético opera como una técnica de optimización sin restricciones. La selección de los padres viene dada habitualmente mediante probabilidades según su función de aptitud. A tal efecto se introduce una función de evaluación de los cromosomas. En este caso. aplicando selección-ranking). pero este no es el caso. b) Función de aptitud. El tiempo de vida de un individuo está únicamente en función de su valor de aptitud y del valor de aptitud de los otros individuos en el grupo de apareamiento. Uno de los procedimientos de selección proporcional más utilizado es el denominado rueda de ruleta en donde cada individuo tiene una sección circular de una ruleta 8 . capacidad o calidad (función de aptitud) y que es prácticamente la función objetivo del problema. codificando la información de cada solución en un string (vector binario) a modo de cromosoma. denominada aptitud. Sin embargo. Técnicas. Igualmente se introduce un mecanismo de selección de manera que los individuos monocromosómicos con mejor evaluación sean escogidos para “reproducirse” más a menudo que los que la tienen peor. Respecto a la evaluación de los cromosomas. 1989): Se pueden encontrar soluciones aproximadas a problemas de gran complejidad computacional mediante un proceso de “evolución simulada”. últimamente se están utilizando métodos heurísticos para generar soluciones iniciales de buena calidad. Es importante reconocer en primer término que 9 . para realizar una selección se realizaría un lanzamiento de un número aleatorio que tiene asociado a un individuo. y el valor esperado de cada individuo más bien depende de este rango que de su aptitud absoluta. La mayoría de los algoritmos genéticos descritos en la literatura han sido “generacionales” –en cada generación la nueva población consiste de descendientes totalmente formados por sus padres en las generaciones previas (aunque algunos de estos hijos pueden ser idénticos a sus padres). d) Técnica de reproducción. generaciones sucesivas se traslapan en algún grado –alguna porción de la generación previa es retenida para formar la nueva población. Por ejemplo. es un método alternativo cuyo propósito es también prevenir la convergencia demasiado-rápida. Mediante el método de ranking lineal. 1996). En la versión propuesta por Baker en 1985. en las cuales. No hay necesidad de escalar la aptitud en este caso. En algunos esquemas. y así reduce la presión de selección cuando la varianza de aptitud es alta. ranking lineal. los individuos en la población son jerarquizados de acuerdo a su evaluación.que es directamente proporcional a su calidad o aptitud. Esto también mantiene la presión de selección cuando la varianza de aptitud es baja: la proporción de valores esperados de individuos jerarquizados en i e i+1 serán los mismos ya sea que sus diferencias de aptitud absoluta sean altas o bajas. en muchos casos el incremento de la preservación de diversidad resultante del ranking conduce a una búsqueda sucesiva mayor que a una convergencia rápida que puede resultar de la selección de aptitud-proporcional directa (Mitchell. El ranking evita dar grandes cantidades de hijos a un grupo pequeño de individuos de gran aptitud. La fracción de nuevos individuos en cada generación ha sido llamada la brecha generacional (generation gap) emitida por De Jong en 1975. la selección por rango disminuye los medios de la presión de selección que para el AG en algunos casos lo hará lento para encontrar individuos de aptitud alta. se determina el criterio de substitución de los individuos de una población para la próxima generación se puede decir lo siguiente. No obstante. una vez que tenemos asignados los valores esperados. tal como el esquema elitista. Respecto a las técnicas de reproducción. La selección por rango (Rank Selection). Sin embargo. el método de la rueda de ruleta puede ser usado para muestrear la población (es decir. para llevar a cabo la elección de los padres que se reproducirán). particularmente la mejor porción de individuos. Esto de descartar la información 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 más cercano competidor con respecto a sus aptitudes). puesto que las diferencias absolutas en la aptitud son imperceptibles. si una brecha generacional es del 90 % (GGAP = 0. Simpson (2000)).9 pero puede incluso ser mayor a 1 (Chipperfield et al.las poblaciones pueden ser no traslapable ” (nonoverlapping) o traslapables (overlapping).6 y 0. SEX: Son operadores más sofisticados fruto de mezclar y aleatorizar los anteriores. o sea algunos padres. • De dos puntos: Se eligen dos puntos de corte al azar para intercambiar los bits entre padres. Estévez (1997). pasarán a formar parte de la siguiente generación de manera automática. (1992)). mientras que el segundo hijo recibe el bit del otro padre. Coello. Para este trabajo se implementó cruza en un punto. Según algunos autores (por ejemplo Goldberg. • Uniforme: En cada bit se elige al azar un padre para que contribuya con su bit al del hijo. e) Operador genético principal: crossover. • PMX. es decir. 1996. en una población traslapable. toda la población de padres es siempre reemplazada por la población de hijos. de acuerdo a una cierta probabilidad. 10 . los operadores de crossover más utilizados son: • De un punto : Se elige aleatoriamente un punto de corte o ruptura en los padres y se intercambian sus bits. traslape poblacional pequeño) entonces. Es decir. Según Merabtene et al. Coello (1996). Una población no traslapable es aquella en la que los padres nunca compiten contra sus hijos (algoritmos genéticos generacionales). una brecha generacional grande implica poco (o ningún) traslape poblacional.9. la probabilidad de cruza (pc) está típicamente entre 0.7 (Goldberg (1989). recomiendan utilizar una pc = 0. es decir. Algunos otros autores. (1989). El operador crossover se aplica a una pareja de cromosomas (cadenas binarias) de acuerdo a una cierta probabilidad prefijada. Por lo cual. se denomina brecha generacional a la cantidad de traslape existente entre padres e hijos. véase Figura 1. Coello. (1995). El parámetro GGAP comúnmente se fija en el rango 0. un 10 % restante de la población. En cada generación los cromosomas se seleccionan de forma aleatoria para formar las parejas que se cruzarán. los padres compiten contra sus hijos (algoritmos genéticos no generacionales) (Coello.7-0. • 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).9. 2002). y en cambio. (2002). Mitchell (1996)). este asegura que –dada alguna población– el espacio de búsqueda total sea relacionado (Coello. Mitchell. Goldberg (1989) señala que la mutación es necesaria porque la sele cción y cruza buscan y recombinan las cadenas existentes. se debe tomar el valor resultante de la expresión p m = 0.7 Lcrom para iniciar. Merabtene et al. Nótese que el papel que juega la mutación es el de introducir un factor de diversificación “exploración de nuevas regiones” ya que. Sin embargo.01 (o sea. la convergencia del procedimiento a buenas soluciones puede ser prematura y quedarse atrapado en óptimos locales. este operador permite la introducción de nuevo material cromosómico hacia la población y.001-0. a partir de la perspectiva teórica. el 1 %). Simpson (2000) señala que la probabilidad de mutación es casi insignificante (y también la fija en pm = 0. (2002) indican que la mutación es generalmente baja y se fija en el rango [0. Chipperfield et al.01] dependiendo del tamaño de la población y del número de bits en el cromosoma. que la probabilidad de mutación tiene una relación inversamente proporcional a la longitud de la cadena binaria (Lcrom). 1996. Al respecto. Es decir. Es decir. Figura 1. Otra forma obvia de introducir nuevos elementos en una población es recombinar elementos tomados al azar sin considerar su función de aptitud. y una de las más utilizadas consiste en reemplazar con cierta probabilidad el valor de un bit (de 0 a 1 y viceversa). Por su parte.. 2002). en ocasiones. Uso de un solo punto de cruza entre dos cromosomas (individuos) de representación binaria. ver Figura 2. (1992) mencionan que cuando no se tiene idea de que valor tomará la tasa de mutación al fijar los parámetros de inicio de un AG.01). El operador de mutación juega un papel secundario en el AGS y comúnmente se fija en una probabilidad de mutación de alrededor de p m = 0. Coello.f) Operador genético secundario: mutación. La operación de mutación más sencilla. el operador mutación protege contra tales pérdidas irrecuperables. 1996. pero ocasionalmente ellas pueden llegar a perder algún material genético potencialmente útil. 11 . En este caso. Algunos de los parámetros necesarios para el funcionamiento del algoritmo genético son: i. Mitchell (1996). 12 . Sin embargo. Otro criterio es finalizar la ejecución cuando cierto número de generaciones se haya alcanzado o cuando haya transcurrido cierto tiempo de computación. este no es el caso y deben implementarse criterios para evaluar si debe o no continuarse la ejecución. Si fuera posible determinar de antemano la solución final. Figura 2. La condición de finalización o condición de paro del AG puede ser vista desde varias vertientes. El tamaño de la población. En este artículo. el tamaño de la población (N) debe ser función de la longitud de la cadena del cromosoma (Lcrom). entonces podría detenerse la ejecución tan pronto como el desempeño haya alcanzado un valor mínimo predeterminado o cuando el desempeño promedio o máximo por generación sea pequeño. Morshed y Kaluarachchi (2000)). sería trivial el determinar cuándo finalizar el AG. simplemente se toma como solución aquella que haya alcanzado el rendimiento máximo al momento de detener la ejecución. El operador mutación en un cromosoma (solución potencial). Asimismo. Estévez (1997).g) Determinación de parámetros. ii. En estos casos. se implementó el criterio de paro para un número máximo de generaciones. el número de generaciones (iteraciones) que comúnmente se fijan en un AG está contenido en un amplio rango que va de [30-500] ó más (Goldberg (1989). Condición de finalización. (2002). Si la función de aptitud provee una idea adecuada sobre cuán satisfactoria es una posible solución. y se selecciona en el rango 2 6 ≤ N ≤ 2 20 con respecto a la teoría del esquema de crecimiento. El tamaño de la población (que es el número de soluciones potenciales de los parámetros codificados simultáneamente) en los AGs comúnmente está compuesta de entre 30 y 100 individuos. Según lo afirman Merabtene et al. Coello. 1001*1*0 donde. enfatizando. por ejemplo el schema de longitud l = 8. Holland en 1975 introdujo la noción de schemas (o schemata) para formalizar la noción informal de bloques constructores. y en el infinito se reduzca a un sólo individuo. los AGs trabajan descubriendo. se espera que el método converja de modo que al final del proceso la población sea muy similar. en un nivel muy general de descripción. 1996. Un schema (o esquema) es una serie de cadenas de bits que pueden ser descritas por una plantilla creada de unos. 1996. A partir de este resultado el Teorema de Schemas prueba que la población converge a unos schemas que cada vez son más parecidos. pero algunos puntos importantes que conforman la fundamentación teórica-matemática original de los AGs se describen brevemente enseguida. Mitchell. 1997): “En una población de N cadenas se están procesando implícitamente O(N 3 ) schemas”. los asteriscos representan cartas o celdas sin interés (o “no importan” del inglés “don’t cares”) (Mitchell.Convergencia del Algoritmo Genético Si bien es cierto que los algoritmos genéticos son simples para describir y programar. 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 están presentes. Esta teoría se basa principalmente en considerar que un string o cadena es un representante de una clase de equivalencia o schema. La teoría tradicional de los algoritmos genéticos (formulada por Holland. y recombinando buenos bloques constructores de soluciones en una forma ampliamente paralela. reinterpretando la búsqueda en lugar de entre strings. entre schemas. El Teorema Schema es a menudo interpretado insinuando que: 13 . 1996). De este modo se concluye lo que se conoce como parale lismo intrínseco (Goldberg. Muchos trabajos han sido hechos sobre las fundamentaciones teóricas de los AGs. y en el límite a un único string. ya que aún existen muchas cuestiones abiertas acerca de cómo trabajan ellos y para qué tipos de problemas están mejor adaptados. en 1975) asume que. Se ha desarrollado toda una teoría para estudiar la convergencia de estos algoritmos en el caso de strings binarios. y asteriscos. Asimismo. el Teorema Fundamental Schema (Teorema Fundamental del Esquema) describe el crecimiento de un schema de una generación a la siguiente. 1989. Dado que el algoritmo genético opera con una población en cada iteración (generación). su comportamiento no lo es e incluso puede ser complicado. ceros. Estévez. ¿Qué ventajas y desventajas tienen con respecto a otras técnicas de búsqueda? Según algunos investigadores (Coello (1995)). • Pueden tardar mucho en converger. de orden-bajo y cuya aptitud promedio permanece por encima de la media recibirán incrementos exponenciales de muestras (es decir. etc. en vez de los típicos operadores determinísticos de las otras técnicas. • Resulta sumamente fácil ejecutarlos en las modernas arquitecturas masivas en paralelo. número de generaciones. el algoritmo genético en general presenta las ventajas siguientes: • No necesitan conocimientos específicos sobre el problema que intentan resolver. dado el número de muestras de estos schemas que no son quebrantados (por los operadores genéticos) y permanecen por encima del promedio en la aptitud incrementándose en cada generación. en ocasiones evaluadas) a través del tiempo. Además muchos de los investigadores de este campo están trabajando en desarrollar los aspectos teóricos de la materia incorporando algunas otras técnicas de búsqueda local en el esquema genético (Coello (1996). o no converger en absoluto. 14 . • Cuando se usan para problemas de optimización –maximizar/minimizar una función objetivo– resultan menos afectados por los máximos/mínimos locales (falsas soluciones) que las técnicas tradicionales. • Usan operadores probabilísticos. • Operan de forma simultánea con varias soluciones.schemas cortos. en vez de trabajar de forma secuencial como las técnicas tradicionales.–. dependiendo en cierta medida de los parámetros que se utilicen –tamaño de la población. • Pueden converger prematuramente debido a una serie de problemas de diversa índole. Mitchell (1996)). 1] . en la Figura 4 se ilustra la función de Bohachevsky invertida. 1] 2 → ℜ (x . se aprecia mucho mejor la imagen multimodal. Estas figuras ofrecen una información visual valiosa al momento de obtener los resultados. que presenta Estévez (1997) .7 . f (x . Además. 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 mínimo global es cero. Esta función tiene un mínimo global en cero y múltiples mínimos locales. (Las gráficas fueron realizadas utilizando MATLAB 6. Función de Bohachevsky.0). x. Problema Se desea implementar un algoritmo genético para minimizar la función de Bohachevsky.4 cos(4πy ) + 0 . y ) x 2 + 2 y 2 − 0.7 a a) b) Figura 3. Por lo tanto.III. y ) = x 2 + 2 y 2 − 0. y ∈ [− 1.3 cos(3πx ) − 0. el modelo matemático a optimizar es: Min f : [− 1. 15 . donde. en la cual.3 cos(3πx ) − 0.4 cos(4πy ) + 0. En la Figura 3 se ilustra la función de Bohachevsky. Asimismo. se consideraron tasas de cruza y mutación fijas durante toda la corrida del AG. Cabe señalar que el AG contenido en este Toolbox está programado básicamente para minimizar funciones (selección ranking minimiza únicamente). Función de Bohachevsky invertida. Implementación Para la implementación del AG se utilizó el Toolbox to Genetic Algorithm el cual se ejecutó en MATLAB 6. por lo cual. El Toolbox contiene un programa del AG junto con una diversidad de funciones fáciles de implementar y que llevan a cabo las diferentes acciones del algoritmo genético. Se implementó un AG no generacional y la brecha generacional aplicada fue del 90 % (GGAP = 0.Figura 4. IV. Además.01. el 90 % de la población se reproduce. basta con minimizar el negativo o el inverso de dicha función. aunque estos pueden ser cambiados a conveniencia. aplicar el método de la rueda de ruleta. para posteriormente. La tasa o probabilidad de crossover utilizada fue de p c = 0. mutación simple y para el método de selección se implementó ranking lineal con una presión selectiva de dos. se presenta una interfaz gráfica (muestra la convergencia del AG) de fácil entendimiento e incluye parámetros predeterminados de entrada del algoritmo. si los requerimientos son para maximizar una función. (1992). El Toolbox to Genetic Algorithm fue desarrollado por Chipperfield et al.9. Para este problema.7 y la de mutación fue de p m = 0. 16 . es decir. población poco traslapable). se fijó cruza de un punto.0. se puede decir lo siguiente.0519 × 10 −5 ≈ 0 En la Figura 5 se muestra el resultado del mejor individuo en función del número de generaciones para la mejor corrida de una serie de cinco simulaciones típicas. Respecto a la comparación de los resultados obtenidos por las diferentes técnicas. resultando en individuos de largo 30. 64 MB de RAM y con procesador matemático. El AG encontró el óptimo casi-global de la función de Bohachevsky. y * = −3. que teóricamente contemplan cuatro decimales para cada variable independiente. Las simulaciones se llevaron a cabo en una micro-computadora Genuinelntel Intel(r) Celeron(tm) processor 600 MHz. Se consideraron poblaciones de tamaño 50.0 para minimizar funciones multivariables. la solución global no 17 . aproximadamente). se presentan en la Tabla 1. es decir.0519 ×10 −5 ≈ 0 Valor óptimo. un número máximo de generaciones de 30 y cinco simulaciones (corridas típicas) con distintas inicializaciones de la población. V.Los parámetros x e y se codificaron con 15 bits cada uno (para cuatro decimales de precisión. y * = 4. obteniéndose los resultados que se muestran en la Tabla 1. x * = −3. debido a la precisión fijada de las cadenas binarias (representación de las posib les soluciones). Las funciones fminsearch y fminunc se ejecutaron para varios valores o vectores iniciales (semillas). Los resultados obtenidos tanto del AG como de las funciones fminsearch (ésta función aplica métodos directos de búsqueda y puede ser apropiada para funciones con discontinuidades) y fminunc (ésta función emplea la información 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. Resultados y Discusión El mejor resultado obtenido por el AG en una serie de cinco simulaciones es: ( ) Mínimo valor de f x* .4619 × 10 −8 ≈ 0 (óptimo global) Valor óptimo. Es decir.pudo ser finamente alcanzada (ya que el mínimo global se encuentra exactamente en cero). sin embargo. respectivamente) se quedaron muy lejos de encontrar el mínimo global de la función de Bohachevsky partiendo del dominio original de las dos variables independientes (es decir. comúnmente se quedan atrapadas en óptimos locales. confirma la ineficiencia de este tipo de técnicas para encontrar el óptimo global en funciones multi-modales. encontraron el mínimo global cuando el vector de los valores iniciales (semilla que requieren los algoritmos para iniciar la búsqueda) de las dos variables independientes se fijó cerca del óptimo global (ver la Tabla 1). el resultado obtenido mediante el algoritmo genético es sumamente cercano al óptimo global e inclusive puede considerarse que el mínimo global fue alcanzado para el dominio de las variables independientes fijado originalmente (ver Tabla 1).0. 18 . 1]) y únicamente. las técnicas convencionales de búsqueda directa y las basadas en gradiente (representadas en este caso por las funciones fminsearch y fminunc de MATLAB 6. el éxito de las técnicas tradicionales de optimización no-lineal y no-restringidas depende de donde se fijen los valores iniciales de las varia bles independientes para iniciar la búsqueda hacia el óptimo global ya que. lo cual. si se quisiera una mayor precisió n simplemente se incrementa la longitud de la cadena binaria de acuerdo a lo requerido. Por el contrario. confirma que el AG utilizado en este artículo es eficiente y eficaz (calidad/tiempo) para encontrar el óptimo global en funciones multi-modales. [-1. Convergencia del AG hacia la solución óptima global de la función de Bohachevsky (obsérvese que ya para la generación 20 se cuenta con el resultado final). En contraste. Lo anterior. Figura 5. 0519 × 10 −5 4. Minimización de la función de Bohachevsky empleando varias técnicas.46950469 0.0 fminsearch en MATLAB 6.33 [− 1 − 1] − 0.Tabla 1.40742 × 10 − 5 3.93337914 2.33 [1 1] 0.4619 ×10 −8 3.46950469 0. 411419 × 10 −12 0 0.49 [− 1 − 1] − 0.47 [1 1] [0.46988243 0.93337914 2.0519 × 10 −5 − 3.) [− 1.33 − 0.84213 × 10 −12 0 0.25   T 19 .4879 × 10 −8 0. y) (seg.27 0.61861207 0.57 [− 1 1.1] 0 9.0 scale: QuasiNewton line search − 1] [1 1] [0.61861207 0 0.61861207 0 0.41292683 0.44 0. 1]2 − 3.33 − 1.1 0.1 0.7389 × 10 −5 0.25 0.1] 4 .43917 × 10 − 5 1.73886 × 10 −5 − 0.287497 0.46988243 0.0 NelderMead simplex direct search Largescale: trustregion fminunc en Newton MATLAB Medium- 6.38 Toolbox to Genetic Algorithm MATLAB Algoritmo genético 6. Dominio Función o/y Algoritmo Herramienta Empleado de Tiempo Valores Óptimos Búsqueda de Cálculo o Vector Inicial x y f(x.61861207 − 0.41292683 0.3522 × 10 −12 0.287497 0. evita que se pierdan buenas soluciones (y mantiene un buena cantidad de individuos “padres” con información y/o diversidad valiosa) esta es una ventaja que no poseen los AGs simples. se puede reducir el espacio de búsqueda guiados por las gráficas de las Figuras 3 y 4 y además. además. Aunque de antemano. se observa que no es necesario llevar alguna modificación debido a la rápida y buena calidad de la solución obtenida (ver Tabla 1). y sus propiedades de convergencia teórica no se mantienen cumplidas para problemas muy accidentados o ruidosos (representados por funciones multimodales). Sin embargo.En este sentido. evita quedar atrapado en un óptimo local). en los parámetros de entrada de la función (dominio de las variables independientes) si se desea una más rápida convergencia y soluciones de más calidad (mayor precisión). ellos mencionan que los algoritmos de programación no lineal (PNL) son ampliamente aprovechables. 20 . sin embargo. la mayoría de los algoritmos de PNL generalmente convergen a la solución local cercana al punto de partida (vector de valores iniciales). no requiere escalamiento) da oportunidad a casi todos los individuos de la población 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. su velocidad y confiabilidad también decrecen con el tamaño del problema y con el aumento de la complejidad. como en este caso). además. se confirma lo dicho por Cai et al. y pueden ser aplicados a problemas con objetivos y restricciones no lineales de bajo grado de dificultad (“suaves y unimodales”). GGAP. El ranking lineal (selectio n rank. Conclusiones La implementación del GAP generacional (brecha generacional). mantiene en mayor tiempo una mejor diversidad de posibles soluciones tan importantes en la búsqueda de soluciones óptimas-globales para funciones multimodales (funciones con un lote de óptimos locales. si se desea mayor exactitud en el resultado del AG se puede incrementar aún más la longitud de las cadenas binarias. los parámetros de entrada del algoritmo genético que están predeterminados en la aplicación son los apropiados para una ejecución eficiente del programa. Asimismo. (2001). VI. el AG no es una técnica que sustituya a las técnicas tradicionales. 21 . En resumen. finalmente se concluye que: v El AG es un método robusto. eficiente y eficaz (calidad/tiempo). sino una técnica robusta de búsqueda y optimización que viene a complementar las técnicas matemáticas y numéricas de búsqueda y optimización existentes hoy día. Por lo tanto. en las diferentes ramas de la ingeniería y sistemas computacionales. v El AG y la computación evolutiva pueden tener aún mucha más aplicación en todos los campos de la ciencia. v El modelo traslapable “gap generacional” (GGAP) conserva un valioso material genético. v Durante la evolución de un AG algunos aspectos están altamente relacionados: la convergencia del algoritmo. la implementación del AG es viable para la optimización de modelos matemáticos altamente no-lineales (representados mediante funciones multi-modales) tan abundantes en el campo de la ingeniería en general. la aptitud de los cromosomas.En base a los resultados obtenidos. v La selección mediante jerarquías (selección ranking lineal) junto con las tasas de crossover y mutación. pero particularmente. podemos decir. que el comportamiento altamente no-lineal e impredecible de algunos de los fenómenos existentes (con un comportamiento fuertemente ecológico) sólo pueden ser tratados mediante algoritmos que imiten o reproduzcan los procesos ecológicos tal y como los lleva a cabo la propia naturaleza (creación e implementación de algoritmos miméticos e híbridos). v Al comprender los AGs la implementación no es complicada. y las tasas y parámetros. reducen de manera considerable las diferencias entre los superindividuos y los individuos mediocres dando paso a la diversidad y a una competencia más justa entre todos los individuos al momento de la selección. podemos concluir que. Y por último. Optimización mediante algoritmos genéticos. Coello C. C. T. The University of Alabama. 2001. Anales del Instituto de Ingenieros de Chile. 12 (4):232-240. N. Estévez V.. D. Introducción a los algoritmos genéticos. México. University of Sheffield. and Lasdon. pp. 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. Coello C. UK. hasta octubre del 2002. Fleming. An empirical study of evolutionary techniques for multiobjective optimization in engineering design. Massachusetts: Addison-Wesley Publishing Co. A. An evolution program for pipeline optimization. P. H. ASCE Journal of Computing in Civil Engineering. Advances in Water Resources. 1989. http://delta. C. A.. 16:2189-2208.. Hydrologic al Processes. Refe rencias Cai. Sección de Computación.. and Simonovic. 2002. D. EUA.cinvestav. soluciones avanzadas. Versión 1. 24 (6):667-676. S. Genetic Algorithm TOOLBOX... CINVESTAV-IPN. D. EUA. Pohlheim. Tecnologías de Información y Estrategias de Negocios. llich. A. 83-92. 1998. Introducción a la computación evolutiva. Chipperfield. 1992. Merabtene. 3 (17):5-11. Departamento de Ingeniería Eléctrica. Solving nonlinear water management models using a combined genetic algorithm and linear programming approach.mx/~ccoello . and Fonseca.. 2002. C.F. 102. 1996. A. P. X. Goldberg. J. A. and Olsson. C. Genetic algorithms in search. optimization and machine learning. Kawamura. User’s Guide. Coello C.2. for Use with MATLAB.P.VII. L. 1997. 1995. Risk assessment for optimal drought management of an integrated water resources system using a genetic algorithm..cs. Department of AUTOMATIC CONTROL AND SYSTEMS ENGINEERING. 22 . Jinno K. McKinney.. 2000. Seminar Series. Water Resources Research. Cambridge. R. Mitchell. Rauch. A. 125 (1):25-33. Morshed. Urban Water. 1:1-10. 5 (1):67-73. 1985. Springer. An introduction to genetic algorithms. Optimization of design of water distribution system using genetic algorithms. Yeh. Wardlaw.Michalewicz. Z. P. 1999. New York. The MIT Press. Genetic algorithms + data structures = evolution programs. Massachusetts. Massachusetts Institute of Technology. Evaluation of genetic algorithms for optimal reservoir system operation. 1 (1):79-89. 1996. Reservoir management and operations models: A state -of-the-art review. and Sharif. and Harremoës. 1999. Simpson. W. Slovenian Society of Hydraulic Research. and Kaluarachchi. 23 . M. England.W-G. Enhancements to genetic algorithm for optimal groundwater management. W. London. J. On the potential of genetic algorithms in urban drainage modeling. Journal of Water Resources Planning and Management. J. 2000. 1992. M. 21 (12):1797-1818. Hydrologic Engineering.
Copyright © 2024 DOKUMEN.SITE Inc.