Está en la página 1de 95

ANALISIS DE SISTEMAS DINAMICOS UTILIZANDO HERRAMIENTAS DE INTELIGENCIA ARTIFICIAL

TESIS

Que para obtener el grado de DOCTORADO EN CIENCIAS DE LA INGENIER IA ELECTRICA

presenta Julio Agust n Barrera Mendoza

Juan Jos e Flores Romero


Director de Tesis

Universidad Michoacana de San Nicol as de Hidalgo Marzo 2008

Resumen
El an alisis de sistemas din amicos es de gran importancia en casi todas las areas de la ciencia. Una forma de an alisis de sistemas din amicos es realizando el trazo del diagrama de bifurcaci on del sistema din amico relacionado a un par ametro del mismo. Los m etodos para realizar el trazo de diagramas de bifurcaci on necesitan de valores de inicio y ajuste de par ametros para su correcto funcionamiento, los cuales regularmente no se conocen y requieren de un conocimiento detallado del sistema o de una b usqueda no sistem atica de valores para estos. El presente trabajo muestra el uso de algoritmos de inteligencia articial como complemento de los m etodos para el trazo de diagramas de bifurcaci on, para el an alisis de sistemas din amicos. Con el n de facilitar el uso de los m etodos para el trazo de diagramas de bifurcaci on, son evaluados algoritmos evolutivos para la b usqueda automatizada de puntos jos de sistemas din amicos. Tambi en se propone un m etodo para el trazo de diagramas de bifurcaci on basado en algoritmos evolutivos para entornos din amicos. Los algoritmos evolutivos no son sensibles a caracter sticas de las funciones utilizadas para modelar sistemas din amicos, como la diferenciabilidad, las cuales afectan el desempe no de los m etodos num ericos est andar. Adem as, se presenta un algoritmo para optimizaci on multimodal basado en el algoritmo de convex hull incremental. Este no necesita de la inicializaci on de par ametros no conocidos a priori, como el radio en los algoritmos evolutivos, y que puede afectar su desempe no. Dentro del mismo desarrollo del algoritmo basado en convex hulls se presenta una representaci on para las facetas y bordes que reduce el uso de recursos de memoria, y permite la implementaci on de un algoritmo de convex hull incremental que puede utilizarse en cualquier dimensi on sin ning un cambio.

Abstract
The analysis of dynamical systems is of great importance in almost all elds of research. One of the methods of analysis for dynamical systems is the plot of the bifurcation diagram of a dynamical system related with one parameter of the system. The methods for plotting the bifurcation diagrams require of initial values and the setup of parameters that frequently are not known, and they require a detailed knowledge of system being analyzed, or a non-systematic search of the values for the parameters. The present work shows the use of articial intelligence algorithms as complements of the methods for plotting bifurcations diagrams, for the analysis of dynamical systems. To facilitate the use of the methods for plotting bifurcation diagrams, evolutionary algorithms are evaluated in the automated search of xed points of dynamical systems. Also, a method is proposed for plotting bifurcation diagrams based in evolutionary algorithms for dynamical environments. Evolutionary algorithms are not sensible to characteristics of the functions being analyzed, like dierentiability, that aect the performance of standard numerical methods. Furthermore, is presented an algorithm for multimodal optimization based in the incremental convex hull algorithm. This algorithm do not need the initialization of parameters that are not known a priori, like the radius in evolutionary algorithms that can aect its performance. In the same development of the algorithm based on convex hulls is presented a representation for facets and ridges that reduce the use of memory resources, and permits the implementation of the incremental convex hull algorithm in any dimension without any change.

Contenido
Resumen . . . . . . Abstract . . . . . . . Contenido . . . . . . Lista de Figuras . . Lista de Tablas . . . Lista de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii . v . v . ix . xi . xiii 1 2 5 5 7 7 8 15 17 19 19 20 21 21 21 23 25 26 27 27 28 31 32 32

1. Introducci on 1.1. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Contenido de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. An alisis de Sistemas Din amicos 2.1. Sistemas din amicos . . . . . . . . . 2.2. Puntos jos y estabilidad. . . . . . 2.3. Bifurcaciones. . . . . . . . . . . . . 2.4. Trazo de diagramas de bifurcaci on

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3. Algoritmos de Inteligencia Articial 3.1. Algoritmos gen eticos . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1. Implementaci on. . . . . . . . . . . . . . . . . . . . . . . 3.1.2. Cruza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3. Selecci on . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4. Mutaci on . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5. Algoritmo gen etico con especies . . . . . . . . . . . . . . 3.1.6. Criterio de terminaci on para el ciclo del algoritmo . . . 3.2. Optimizaci on de enjambre de part culas . . . . . . . . . . . . . 3.2.1. Implementaci on del algoritmo de enjambre de part culas 3.2.2. C alculo de la velocidad de las part culas . . . . . . . . . 3.2.3. Enjambre de part culas con especies. . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

4. Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull 4.1. Optimizaci on multimodal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Detecci on de regiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

viii

Contenido

4.3. 4.4. 4.5. 4.6.

Filtrado de regiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Completitud y correctitud. . . . . . . . . . . . . . . . . . . . . . . . . . Complejidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . El algoritmo n-dimensional de convex hull. . . . . . . . . . . . . . . . . . 4.6.1. Representaci on de una faceta. . . . . . . . . . . . . . . . . . . . . 4.6.2. Construcci on del convex hull inicial en tres y cuatro dimensiones 4.6.3. Adici on de un punto a un convex hull n-dimensional. . . . . . . . 4.6.4. Implementaci on del algoritmo incremental de convex hull para n mensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . di. . . . . . . . . . . . . . . . . . . . . . . . . . . .

38 38 40 40 41 43 44 46 51 51 53 54 55 56 57 59 59 61 63 64 64 67 73 73 75 77

5. Resultados 5.1. Red el ectrica de tres nodos. . . . . . . . . . . . . . . . . . . . . . . . 5.2. Funci on de mapeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. B usqueda de puntos iniciales para el an alisis de sistemas din amicos. 5.3.1. Algoritmo gen etico . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2. Algoritmo gen etico multimodal . . . . . . . . . . . . . . . . . 5.3.3. Optimizaci on de enjambre de part culas. . . . . . . . . . . . . 5.4. Detecci on de regiones que contienen optimos . . . . . . . . . . . . . 5.4.1. M aximos de la funci on de Levy #5 . . . . . . . . . . . . . . . 5.4.2. Determinaci on de puntos jos en sistemas din amicos. . . . . . 5.5. Trazo de diagramas de bifurcaci on completos. . . . . . . . . . . . . . 5.5.1. Algoritmos num ericos auxiliares. . . . . . . . . . . . . . . . . 5.5.2. Sistemas con un par ametro. . . . . . . . . . . . . . . . . . . . 5.5.3. Sistemas con dos par ametros. . . . . . . . . . . . . . . . . . .

6. Conclusiones y Trabajo Futuro 6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Referencias

Lista de Figuras
2.1. Varios estados de un tabla en diferentes condiciones de carga: a) estado estable b) estado con una peque na perturbaci on c) recuperaci on del estado estable despu es de remover la perturbaci on d) cambio cualitativo al agregar una perturbaci on mayor que el l mite c . . . . . . . . . . . . . . . . . . . 4.1. Gr aca de la funci on g(x1 , x2 ): a) rangos de x1 [5, 5] y x2 [5, 5] y b) cuadrante positivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Varios estados en la creaci on de un convex hull: a) puntos de la rejilla, b) convex hull inicial formado por 3 facetas, c) estado intermedio del convex hull, d) estado nal del convex hull. . . . . . . . . . . . . . . . . . . . . . . 4.3. Varios estados en la creaci on de un convex hull: a) puntos de la rejilla, b) convex hull inicial formado por 3 facetas, c) estado intermedio del convex hull, d) estado nal del convex hull. . . . . . . . . . . . . . . . . . . . . . . 4.4. Una faceta en tres dimensiones. . . . . . . . . . . . . . . . . . . . . . . . . . 4.5. Una nueva faceta creada con el borde p3 p1 y el punto pn . La nueva faceta es representada como p3 p1 pn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6. La faceta inicial representada por p1 p2 p3 y la segunda faceta creada invirtiendo el borde p3 p1 y el punto p4. La segunda faceta es representada por p1 p3 p4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7. a) faceta representada por p1 p2 p3 , b) faceta invertida representada por p2 p1 p3 . 4.8. Pasos para agregar un punto al convex hull . . . . . . . . . . . . . . . . . . Diagrama del sistema el ectrico de potencia. . . . . . . . . . . . . . . . . . . Gr aca de la funci on levy . . . . . . . . . . . . . . . . . . . . . . . . . . . . Regiones determinadas para la funci on levy. . . . . . . . . . . . . . . . . . . Primer convex hull generado. . . . . . . . . . . . . . . . . . . . . . . . . . . Diagramas de bifurcaci on generados con el algoritmo de optimizaci on de enjambre de part culas para las formas normales: a) bifurcaci on saddle node (Ecuaci on 5.15), b) bifurcaci on transcr tica (Ecuaci on 5.16), bifurcaci on pichfork supercr tica (Ecuaci on 5.17) y bifurcaci on pichfork subcr tica (Ecuaci on 5.18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Diagramas de bifurcaci on obtenidos: a) obtenido con el paquete de software xppaut y b) algoritmo de optimizaci on de enjambre de part culas h brido. . ix 5.1. 5.2. 5.3. 5.4. 5.5.

16 34

35

36 41 42

43 44 48 52 60 60 62

66 67

Lista de Figuras

5.7. Diagrama del sistema el ectrico de potencia. . . . . . . . . . . . . . . . . . . 5.8. Diagramas de bifurcaci on obtenidos: a) con el paquete de software xppaut y b) con el algoritmo de optimizaci on de part culas h brido . . . . . . . . . . .

68 71

Lista de Tablas
5.1. Valores constantes para los par ameros en el sistema de ecuaciones diferenciales. 5.2. Valores para los rangos de b usqueda de las variables. . . . . . . . . . . . . . 5.3. Media aritm etica del error para el mejor individuo obtenido para varios tama nos de poblaci on, utilizando el algoritmo gen etico est andar. . . . . . . . 5.4. Desviaci on est andar para el valor del error para varios tama nos de poblaci on para el algoritmo gen etico est andar. . . . . . . . . . . . . . . . . . . . . . . 5.5. Media aritm etica del error para el mejor individuo obtenido para varios tama nos de poblaci on, utilizando el algoritmo gen etico de conservaci on de especies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Desviaci on est andar para el valor del error para varios tama nos de poblaci on para el algoritmo gen etico de conservaci on de especies. . . . . . . . . . . . . 5.7. Media aritm etica del error para el mejor individuo obtenido para varios tama nos de enjambre, utilizando el algoritmo de optimizaci on de enjambre de part culas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8. Desviaci on est andar para el valor del error para varios tama nos de enjambre para el algoritmo de optimizaci on de enjambre de part culas. . . . . . . . . 5.9. Valores de los rangos de b usqueda y n umero de puntos para las variables m , , y V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10. Valores para los rangos de b usqueda de las variables. . . . . . . . . . . . . . 5.11. Valores constantes para los par ametros en el sistema de ecuaciones diferenciales. 5.12. Rangos de b usqueda para cada una de las seis variables de las Ecuaciones 5.19 a 5.24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 54 55 55

56 56

57 57 61 67 69 72

xi

Lista de Algoritmos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. iteracion qr(A) . . . . . . . . . . . . . . . . . . . . . seleccion universal estocastica(poblacion) . . . . . mutacion(vector, rangos) . . . . . . . . . . . . . . . . algoritmo genetico especies() . . . . . . . . . . . . seleccionar individuos dominantes(poblacion) . . reinsertar individuos dominantes(Xs , poblacion) . enjambre particulas() . . . . . . . . . . . . . . . . . enjambre particulas especies() . . . . . . . . . . . seleccion inteligente regiones() . . . . . . . . . . . facet ridges(facet) . . . . . . . . . . . . . . . . . . . incremental convex hull(points) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 22 22 24 24 25 28 29 37 45 47

xiii

Cap tulo 1

Introducci on
El proceso de an alisis de un sistema din amico es realizado mediante herramientas de an alisis num erico; la principal desventaja de estos m etodos es que se requiere de un estado estable del sistema para iniciar el an alisis. Regularmente este no es conocido y es necesario hacer una b usqueda del mismo; esta b usqueda generalmente se realiza de una manera no sistem atica. Todos los m etodos existentes est an basados en el m etodo de Newton o variaciones de este. En consecuencia los m etodos existentes requieren que las funciones examinadas sean continuas, adem as de que existen casos en los que no se presenta la convergencia a una soluci on, es necesario el ajuste de varios par ametros para que los m etodos funcionen de manera adecuada, algunos de estos par ametros son sensibles y no ajustarlos adecuadamente propicia la no convergencia a un punto o errores. Actualmente no existen algoritmos que determinen todos los puntos jos para un sistema de ecuaciones no lineales. Los algoritmos existentes para encontrar soluciones m ultiples de un sistema de ecuaciones incluyen procesos no deterministas en alg un paso del algoritmo; como consecuencia no se puede tener certeza de que todas las soluciones sean encontradas. Adem as de que, en el caso de sistemas de ecuaciones en dimensiones altas, es dif cil obtener informaci on del comportamiento de estos algoritmos. Otra desventaja de los algoritmos num ericos se presenta al analizar posibles cambios de estabilidad en el sistema: el an alisis de los puntos de bifurcaci on en el diagrama de bifurcaci on. Estos cambios son seguidos por m etodos num ericos iterativos, que son susceptibles a fallar, dependiendo del comportamiento del sistema en una regi on determinada. Adem as de que no presentan un panorama general del comportamiento de un sistema din amico al s olo permitir la variaci on de un par ametro del sistema. 1

Cap tulo 1: Introducci on

Siguiendo el m etodo de an alisis de sistemas din amicos el trabajo se concentra ini cialmente en la b usqueda de puntos jos de un sistema din amico. Esto se logra al resolver el problema de encontrar las ra ces de un sistema de ecuaciones no lineales (i.e. el sistema de ecuaciones algebraicas para el sistema din amico). Para utilizar los algoritmos de optimizaci on inteligente, este problema es replanteado como un problema de b usqueda de optimos. Inicialmente los algoritmos gen eticos permiten la b usqueda de un solo optimo para una funci on determinada, permitiendo as una b usqueda sistem atica de puntos estables. No obstante, para un mejor an alisis de un sistema din amico es conveniente conocer todos los puntos jos para una regi on determinada. Esto se logra al resolver el problema multimodal utilizando algoritmos gen eticos enfocados en este tipo de problemas. Para este problema, el presente trabajo propone un nuevo algoritmo basado en los m etodos de construcci on de convex hull de geometr a computacional. En este punto se ha logrado conseguir un complemento a los algoritmos de an alisis de sistemas din amicos, al proporcionar una herramienta para determinar todos los puntos jos de un sistema din amico para una regi on determinada. El siguiente paso en el an alisis de un sistema din amico es el trazo del diagrama de bifurcaci on. Cabe se nalar que para el correcto funcionamiento de los algoritmos para generaci on de diagramas de bifurcaci on es necesario que el punto inicial sea un punto estable, si el punto inicial es inestable no se garantiza el buen funcionamiento del algoritmo. Esta parte del an alisis se ha planteado como un problema de b usqueda de optimos en un entorno din amico. Para resolver este problema se ha utilizado un algoritmo de optimizaci on de enjambre de part culas el cual presenta algunas caracter sticas de los algoritmos gen eticos y ha sido usado con exito en problemas de optimizaci on en entornos din amicos.

1.1.

Estado del arte


El uso de herramientas de inteligencia articial para el an alisis de sistemas din ami-

cos ha sido tratado anteriormente, v.g. el trabajo de Elisha Sacks, en el cual se logra determinar el diagrama de fase de un sistema de dos ecuaciones lineales con un par ametro [Sacks91]. No existen a la fecha referencias de trabajos previos en el an alisis de sistemas din amicos utilizando algoritmos de optimizaci on inteligente; no obstante existen trabajos previos en la b usqueda de soluciones de sistemas de ecuaciones no lineales, dichos trabajos

1.1. Estado del arte

son los realizados por Varum Aggarwal [Aggarwal00] y Crina Grosan [Crina Grosan06]. Los algoritmos gen eticos han sido usados en una gran variedad de problemas de optimizaci on [Randy L. Haupt04]; la caracter stica principal de los algoritmos gen eticos es su convergencia a un optimo global incluso en problemas donde los algoritmos tradicionales no convergen. Esta caracter stica no es deseable cuando necesitamos encontrar m as de un optimo; este es el caso de los problemas multimodales. Los algoritmos gen eticos tradicionales pierden diversidad; los individuos de una poblaci on tienden a ser muy semejantes a tr aves de las generaciones. Esto no es deseable cuando se resuelve un problema multimodal; es necesario llevar un seguimiento de los individuos que pueden conducir a un optimo. As el principal m etodo para resolver problemas multimodales con algoritmos gen eticos es evitar la perdida de diversidad [Coello99]. Para preservar la diversidad, un tipo de algoritmos gen eticos est a basado en la observaci on de que en la naturaleza muchas especies coexisten en una regi on geogr aca cerrada, compartiendo recursos y creando nichos, esos algoritmos gen eticos son llamados algoritmos de niching [Mahfoud95]. Existen dos tipos principales de algoritmos de niching: tness sharing y crowding. En los algoritmos de tness sharing un individuo con un valor de aptitud alto es seleccionado y el valor de aptitud de individuos semejantes a el son penalizados. La penalizaci on se realiza a tr aves de una funci on de atenuaci on, la cual determina si un individuo es sucientemente semejante al individuo con valor de aptitud alto para ser penalizado. Regularmente la funci on de atenuaci on depende de un par ametro que necesita ser inicializado de manera adecuada para que el algoritmo funcione correctamente. El grado de semejanza es evaluado como la distancia entre individuos, y el par ametro para determinar cuales individuos son afectados por la funci on de atenuaci on es llamado frecuentemente radio. El valor del par ametro radio no es conocido a priori; en la mayor a de los casos es necesario determinarlo por medio de un an alisis independiente [Li J.-P.02] u otras t ecnicas [Miller96]. Los algoritmos de crowding tratan de preservar la diversidad comparado cada descendiente con un subconjunto aleatorio de la poblaci on; el individuo del subconjunto aleatorio m as semejante al descendiente es reemplazado por el descendiente que est a siendo comparado. El tama no del subconjunto aleatorio es determinado por el llamado factor de crowding. No hay un algoritmo para determinar el factor de crowding. Una revisi on m as detallada de los algoritmos de crowding puede ser encontrada en el trabajo de Mahfoud [Mahfoud95].

Cap tulo 1: Introducci on

En el ambito de la optimizaci on multimodal mediante el uso de algoritmos gen eticos, en espec co en los algoritmos de tipo niching, los algoritmos basados en la separaci on de la poblaci on en especies son los de reciente inter es. El m as representativo es el realizado por J.P. Li [Li J.-P.02]. Algunos trabajos recientes incluyen modicaciones a algoritmos de tness sharing; una referencia completa de los algoritmos actuales puede encontrarse en [Singh06]. La optimizaci on multimodal no se limita a los algoritmos gen eticos; existen algoritmos basados en otros modelos naturales como son los algoritmos de enjambre de part culas. Los algoritmos de enjambres de part culas est an inspirados en el comportamiento social de las parvadas de aves y los card umenes de peces. Estos algoritmos fueron presentados por primera vez por Eberhart y Kennedy [Kennedy95], comparten algunas caracter sticas con los algoritmos gen eticos; se inicializa una poblaci on de puntos al azar y se realiza la b usqueda de un optimo actualizando cada generaci on. No obstante, en este algoritmo no existen operadores de cruza y mutaci on, cada part cula mantiene la informaci on del optimo global de la generaci on, adem as de la posici on en la cual la part cula ha obtenido el mejor valor de aptitud. El concepto principal de la optimizaci on de enjambre de part culas consiste en la actualizaci on de la velocidad de la part cula en la direcci on del optimo global y del mejor valor de aptitud registrado. Los trabajos de investigaci on recientes incluyen modicaciones al algoritmo de base de enjambres de part culas. En particular, el uso del m etodo de conservaci on de especies en el ambito de enjambres de part culas v.g. el trabajo de Parrot [Parrott06]. Los algoritmos para optimizaci on multimodal citados requieren de par ametros que deben ser inicializados y no son conocidos a priori. Como ejemplo est a el par ametro de radio; la selecci on de un valor adecuado afecta el desempe no del algoritmo [Li J.-P.02]. En este trabajo doctoral propone un algoritmo basado en el algoritmo incremental de convex hull [Franco P. Preparata85], el cual elimina el uso de par ametros como el radio y logra determinar todos los optimos de una funci on determinada. La descripci on de los m etodos num ericos para el trazo de diagramas de bifurcaci on puede ser encontrada en los textos de Willy Govaerts [Govaerts00] y Yuri Kuznetsov [Kuznetsov98].

1.2. Tesis

1.2.

Tesis
La presente tesis tiene como prop osito el analizar el uso de algoritmos de inteligen-

cia articial, como complemento a los m etodos num ericos est andar utilizados en el an alisis de sistemas din amicos, especialmente los utilizados en el trazo de diagramas de bifurcaci on. Para lograr esto primero se eval ua el uso de algoritmos evolutivos en la b usqueda de condiciones iniciales para sistemas din amicos. Despu es se eval uan algoritmos evolutivos para entornos din amicos en el trazo de diagramas de bifurcaci on.

1.3.

Contenido de la tesis
En el Cap tulo 2 se enuncia el problema del an alisis de sistemas din amicos mediante

el trazo de bifurcaciones. En el Cap tulo 3 se describen los algoritmos de inteligencia articial utilizados en el presente trabajo. El Cap tulo 4 presenta el algoritmo desarrollado para la b usqueda de optimos de una funci on dada basados en el algoritmo de convex hull. En el Capt tulo 5 se muestran los resultados obtenidos al aplicar los algoritmos de inteligencia articial y el algoritmo desarrollado. Las conclusiones de los resultados obtenidos de la aplicaci on de los algoritmos de inteligencia articial son mostradas en el Cap tulo 6, as como el planteamiento del desarrollo futuro a partir del presente trabajo.

Cap tulo 2

An alisis de Sistemas Din amicos


En este cap tulo se da una breve introducci on a sistemas din amicos, se describe el m etodo est andar para el an alisis de sistemas din amicos mediante el trazo de diagramas de bifurcaci on. Adem as se enuncian de manera formal los problemas que presenta el mismo.

2.1.

Sistemas din amicos


La noci on de un sistema din amico es la formalizaci on matem atica del concepto

cient co general de un proceso determinista. Los estados pasados y futuros de muchos sistemas f sicos, biol ogicos, qu micos, econ omicos, ecol ogicos e incluso sociales pueden ser predichos hasta cierto punto si conocemos el estado actual y las leyes que gobiernan su evoluci on. Si estas leyes no cambian en el tiempo podemos considerar el comportamiento de tal sistema como completamente denido por su estado inicial. As la noci on de un sistema din amico incluye un conjunto de posibles estados y una ley de evoluci on de un estado en el tiempo. La palabra bifurcaci on, que signica dividirse en dos ramas o brazos, es utilizada para describir cualquier situaci on en la cual la fotograf a cualitativa, topol ogica del objeto que estamos estudiando se altera con el cambio de alguno de los par ametros de los que depende el objeto bajo an alisis. Estos objetos puede ser de una gran variedad. Uno de los m etodos de an alisis de sistemas din amicos consiste en determinar los puntos de bifurcaci on. Este es realizado regularmente en dos partes: la primera consiste en determinar un punto jo estable del sistema. Los puntos jos estables se encuentran regularmente primero determinando los puntos jos de un sistema y despu es determinando 7

Cap tulo 2: An alisis de Sistemas Din amicos

la estabilidad del punto jo encontrado. Este punto estable es despu es utilizado como punto inicial para el m etodo llamado de continuaci on, el cual, como su nombre lo indica, consiste en construir (a partir del punto inicial) un diagrama donde se sigue la evoluci on del punto con respecto al cambio de un par ametro del sistema. El presente trabajo se desarrall o con el objetivo de utilizar algoritmos de inteligencia articial como herramientas auxiliares a los algoritmos num ericos ya existentes para el an alisis de sistemas din amicos; en particular en el trazo de diagramas de bifurcaci on. En el trazo de diagramas de bifurcaci on hay dos etapas que son de especial inter es: la primera consiste en buscar un punto estable del sistema, que como se ha dicho se realiza con una b usqueda no sistem atica por parte del investigador de manera no automatizada y requiere de conocimiento previo del sistema que se est a analizando. La segunda es en s el trazo de diagramas de bifurcaci on; este presupone que las funciones que se est an analizando son continuas y que no presentan ninguna de las caracter sticas que pudieran en alg un momento inuir en el desempe no y comportamiento de los algoritmos utilizados, como pueden ser puntos donde la funci on no sea diferenciable o esta no este denida. En las siguientes secciones se presenta una descripci on de los problemas en concreto que se deben de resolver para cada una de las etapas del an alisis de sistemas din amicos, en particular en el trazado del diagrama de bifurcaci on relacionado con un par ametro del sistema.

2.2.

Puntos jos y estabilidad.


Un sistema din amico puede ser descrito por un sistema de ecuaciones diferenciales

de primer grado. Para realizar el an alisis de un sistema din amico se comienza con la b usqueda de un punto estable del sistema. Un punto estable debe cumplir con la condici on de que los valores para todas las derivadas deben ser iguales a cero. Esto es, si nuestro sistema din amico es descrito por el sistema de ecuaciones mostrado en la Ecuaci on 2.1

x 1 = f1 (x1 , x2 , . . . , xn ) x 2 = f2 (x1 , x2 , . . . , xn ) . . . x n = fn (x1 , x2 , . . . , xn )

(2.1)

2.2. Puntos jos y estabilidad.

necesitamos encontrar un vector (x 1 , x2 , . . . , xn ) tal que

0 = f1 (x 1 , x2 , . . . , xn ) 0 = f2 (x 1 , x2 , . . . , xn ) . . . 0 = fn (x 1 , x2 , . . . , xn )

(2.2)

Este vector no es necesariamente u nico en la regi on de operaci on del sistema din amico. El sistema de ecuaciones 2.2 es llamado tambi en sistema de ecuaciones algebraicas del sistema din amico. Debe notarse que no expresamos el tiempo como una de las variables en los sistemas de Ecuaciones 2.1, 2.2. Esto es, consideramos el tiempo de manera impl cita. A los sistemas expresados con tiempo expl cito se les llama sistemas aut onomos. El sistema din amico representado por la Ecuaci on 2.1 no contiene par ametros. De manera general, los sistemas din amicos tambi en dependen de par ametros, los cuales son expresados en el sistema de ecuaciones del sistema din amico, como se muestra en la Ecuaci on 2.3.

x 1 = f1 (x1 , x2 , . . . , xn , , , . . .) x 2 = f2 (x1 , x2 , . . . , xn , , , . . .) . . . x n = fn (x1 , x2 , . . . , xn , , , . . .)

(2.3)

De manera general se buscan puntos jos del sistema Ecuaci on 2.3 donde se tienen uno o m as par ametros y estos pueden variar en rangos determinados. En t erminos de la Ecuaci on 2.1, los puntos jos representan puntos de equilibrio. Un punto de equilibrio se considera estable si todas las perturbaciones sucientemente peque nas que se realicen al sistema terminar an por amortiguarse con el tiempo. Es decir, si tomamos un punto cercano y seguimos su trayectoria con el tiempo, este eventualmente converger a al punto jo. De

10

Cap tulo 2: An alisis de Sistemas Din amicos

manera inversa, un punto jo se considera inestable si una perturbaci on que se realiza en el punto tiende a aumentar con el tiempo. Al seguir la trayectoria con el tiempo de un punto cercano este se alejara del punto jo. La estabilidad de un punto tambi en puede ser determinada sin necesidad de observar el comportamiento de una peque na perturbaci on de este. Por ejemplo las condiciones sucientes para que un punto jo x0 sea estable son provistas por el Teorema 1 Teorema 1 (Lyapunov) considere un sistema din amico denido por

x = f (x),

x Rn ,

(2.4)

donde f es suave. Suponga que f tiene un punto jo x0 (i.e. f (x0 = 0), y sea A la matriz del Jacobiano de f (x) evaluada en el punto jo, A = fx (x0 ). Entonces x0 es estable si todos los valores propios 1 , 2 , . . . , n de A satisfacen Re() < 0. Recordando que los valores propios son ra ces de la ecuaci on caracater stica

det(A I ) = 0, donde I es la matriz identidad de n n. El teorema puede ser probado de forma simple para un sistema lineal

(2.5)

x = Ax,

x Rn

(2.6)

mediante su soluci on expl cita en una base donde A tiene una forma normal de Jordan, al igual que para un sistema no lineal linealizando el problema cerca del punto jo. Algoritmo de Newton-Levenberg-Marquart. El algoritmo de Newton-Levenberg-Marquart tiene su origen en la soluci on de problemas de cuadrados min mos para ajuste de curvas: dado un conjunto emp rico de pares de datos (tj , yj ), optimizar los par ametros p de la curva modelo f (t|p) de tal manera que la suma de los cuadrados de las desviaciones

2.2. Puntos jos y estabilidad.

11

S (p) =
i=1

[yi f (ti |p)]2

(2.7)

sea m nima. De manera semejante a otros algoritmos num ericos para minimizaci on, el algoritmo de Newton-Levenberg-Marquardt es un proceso iterativo. Para comenzar la minimizaci on, el usuario debe proveer un valor inicial para el vector de par ametros p. En muchos casos un punto inicial est andar pT = (1, 1, . . . , 1) funciona bien; en otros casos el algoritmo converge solo si el punto inicial es de alguna forma cercano a la soluci on nal. En cada paso de la iteraci on, el vector de par ametros p es reemplazado por un nuevo estimado p + q . Para determinar q , las funciones f (p + q ) son aproximadas por sus versiones linealizadas

f (p + q ) f (p) + Jq donde J es el jacobiano de f evaluado en q .

(2.8)

En un m nimo de la suma de cuadrados S , el gradiente de S con respecto de q es cero. Diferenciando el cuadrado del lado derecho de la Ecuaci on e igual andola a cero tenemos:

(J T J )q = J T [y f (p)]

(2.9)

de donde q puede ser obtenida calculando la inversa de J T J . La principal diferencia del algoritmo de Newton-Levenberg-Marquardt es el reemplazo de la Ecuaci on 2.9 por una versi on con amortiguamiento

(J T J + I )q = J T [y f (p)]

(2.10)

Donde I es la matriz identidad. De la Ecuaci on 2.10 podemos obtener q al multiplicar por la matriz inversa de (J T J + I ) en ambos lados de la ecuaci on, y obtenemos

q = (J T J + I )1 J T [y f (p)]

(2.11)

12

Cap tulo 2: An alisis de Sistemas Din amicos

El factor de amortiguamiento es ajustado en cada iteraci on. Si la reducci on de S es r apida se utiliza un valor mas peque no de . Esto acerca al algoritmo de NewtonLevenberg-Marquardt al comportamiento del algoritmo de Gauss-Newton. De otra forma, si la reducci on de S no es sucientemente grande puede ser incrementado; esto hace que el comportamiento del algoritmo de Newton-Levenberg-Marquardt se comporte como un algoritmo de descenso de gradiente. Si la magnitud del paso q o la reducci on de la suma de cuadrados calculados a partir del u ltimo vector de par ametros p + q es m as peque no que los valores de l mites predenidos, la iteraci on se aborta y el u ltimo vector de par ametros q es considerado como la soluci on. No hay un criterio establecido para la selecci on del valor inicial de , aunque es sugerido que se inicie con un valor de < 1 y este sea incrementado o decrementado en factores de 10.

Determinaci on de la estabilidad de un punto jo. Una forma de determinar la estabilidad de un punto jo, es analizando los valores propios del Jacobiano de las ecuaciones algebraicas, evaluado en el punto. Si alguno de los valores propios presenta parte real positiva, el punto se considera inestable; de otra forma, el punto es considerado como estable. Para determinar la estabilidad de un punto jo es necesario calcular los valores propios de la matriz que representa el jacobiano, donde el tama no de la matriz es igual al n umero de dimensiones del espacio de b usqueda. De los algoritmos existentes se opt o por el algoritmo iterativo de QR para la diagonalizaci on de una matriz; debido a que es el est andar para la mayor a de las aplicaciones existentes por su grado de precisi on, y mejor tiempo de convergencia. Adem as se utilizaron en conjunto los m etodos de transformaci on la matriz en la forma House Holder para reducir la matriz a una forma triangular superior, y el m etodo de desplazamiento en la iteraci on, QR, para mejorar la velocidad de convergencia y reducci on de la matriz. Este m etodo reduce la dimensi on de la matriz dentro del ciclo de la iteraci on, lo cual a su vez reduce el n umero de iteraciones a realizar. El algoritmo de QR es un algoritmo iterativo dise nado para revelar los valores propios de una matriz A, haciendo uso del teorema de Schur, de acuerdo al cual toda matriz cuadrada es similar unitaria a un matriz triangular. Esto es, la matriz A tiene una

2.2. Puntos jos y estabilidad.

13

factorizaci on del tipo

U AU = T

(2.12)

donde U es una matriz unitaria es decir cumple con la condici on U U = I , y T es triangular. Como los valores propios de A y T son iguales y dado que los valores propios de una matriz triangular son simplemente los elementos de la diagonal, podemos encontrar los valores propios de A en la diagonal de T . Aunque sabemos que existe la factorizaci on de la matriz A, no es simple de calcular y es comparable en dicultad a encontrar todas las ra ces (complejas) de un polinomio de grado n para una matriz de dimensiones n n. Como lo indica el nombre del algoritmo, este usa la factorizaci on QR para una matriz y por lo tanto solo se puede usar con matrices cuadradas. La factorizaci on QR consiste en escribir la matriz A en la forma

A = QR

(2.13)

donde Q es unitaria y R es triangular superior. El algoritmo de QR en su forma m as b asica es como se presenta en el Algoritmo 1. Algoritmo 1 iteracion qr(A)

1: 2: 3: 4: 5: 6:

A1 A for k = 1,2,. . . ,M do Ak Qk Rk Ak+1 Rk Qk end for return Ak

Si las circunstancias son favorables, la diagonal de Ak converge, cuando k , a un vector cuyos componentes son los valores propios de A. Primero se debe observar que todas las matrices Ak producidas en el algoritmo son unitarias similares a A, esto se puede ver de la ecuaci on

14

Cap tulo 2: An alisis de Sistemas Din amicos

Ak = Qk Rk = (Qk Rk )(Qk Q k ) = Qk Ak +1 Qk

(2.14)

en concordancia con el teorema de Schur. As Ak converge a una matriz diagonal con los valores propios de A. Segundo, debemos notar que si A es una matriz real entonces todas las matrices Ak ser an reales; si una matriz contiene valores propios con parte imaginaria diferente de cero, lo u nico que se puede esperar bajo las mejores circunstancias es que Ak converja a una matriz triangular con submatrices de 2 2 en su diagonal. En su forma b asica, el algoritmo QR puede tener problemas de velocidad de convergencia para algunas matrices. Esto se resuelve utilizando un desplazamiento del origen, este desplazamiento es denido como el reemplazo de la matriz A por A zI . El algoritmo QR con desplazamiento es realizado d la siguiente manera. Si el escalar zk en al algoritmo es tomado como el elemento inferior derecho de la diagonal de Ak entonces la iteraci on producir a de forma r apida un vector de la forma (0, 0, . . . , 0, )T en la u ltima columna. El n umero es entonces un valor propio de la matriz A. La mejor forma de proceder despu es de que se llega a este vector es reducir la matriz descartando el u ltimo rengl on y la u ltima columna. Repetir el procedimiento de desplazamiento con la matriz resultante. El proceso de reducci on es descrito a continuaci on. Si una matriz es escrita en la siguiente forma

A=

B C 0 E

(2.15)

donde B y E son matrices cuadradas, entonces el conjunto de valores propios de A es igual a la uni on del conjunto de valores propios de B y el conjunto de valores propios de E . De la Ecuaci on 2.15 podemos escribir Ax = x como

B C 0 E

u v

u v

(2.16)

O de manera equivalente

Bu + Cv = u Ev = v

(2.17)

2.3. Bifurcaciones.

15

Si es un valor propio de A entonces la Ecuaci on 2.17 tiene una soluci on (u, v )t no trivial. Esto es, u o v pueden ser cero pero no los dos al mismo tiempo. Si v = 0 entonces es un valor propio de E . Si v = 0 entonces u = 0 y entonces es un valor propio de B . De manera inversa, si es un valor propio de B y u es su vector propio correspondiente, entonces (u, 0)T resuelve la Ecuaci on 2.17 y es un valor propio de A. Si es un valor propio de E pero no de B , entonces podemos encontrar un vector v que satisface Ev = v , despu es podemos resolver (B I )u = Cv . Esta ecuaci on tiene soluci on debido a que no es un valor propio de B y entonces (u, v )T es una soluci on de la Ecuaci on 2.17 y es un valor propio de A. En conjunto, estos algoritmos pueden determinar los valores propios para una matriz con alta precisi on y buena velocidad de convergencia. La descripci on del algoritmo de Newton-Levenberg-Marquardt puede ser encontrada en [Levenberg44] y [Marquardt63]. Una descripci on completa de los algoritmos para encontrar los valores propios pueden ser encontrados en [Kincaid91].

2.3.

Bifurcaciones.
En la vida diaria observamos cambios que pueden ocurrir gradualmente o de forma

brusca. Regularmente clasicamos los cambios como cualitativos o cuantitativos. Por ejemplo, considere una banca con soportes en los extremos y una carga sobre esta (ver Figura 2.1(a)); si la carga es peque na, la banca tomar a una forma curva con una deformaci on que depende de magnitud de la carga y de las propiedades de los materiales de la tabla (ver Figura 2.1(b)). Este estado de la tabla permanecer a estable en el sentido de que una peque na variaci on en la carga (o en las propiedades del material) conducir a a un estado ligeramente perturbado. Tal variaci on es referida como un cambio cuantitativo. La banca es deformada dentro de su r egimen de elasticidad y regresar a a su forma original cuando la perturbaci on en es removida (ver Figura 2.1(c)). La situaci on cambia abruptamente cuando la carga es aumentada. M as all a de un nivel critico c , la banca se rompe. Esta acci on repentina es un ejemplo de un cambio cualitativo (ver Figura 2.1(d)); adem as esto sucede cuando las propiedades materiales son cambiadas mas all a de un l mite. Supongamos que la forma de la banca es modelada por alguna funci on f . Podemos decir, de manera poco formal, que existe una soluci on de la

16

Cap tulo 2: An alisis de Sistemas Din amicos

(a)

(b)

(c)

(d)

Figura 2.1: Varios estados de un tabla en diferentes condiciones de carga: a) estado estable b) estado con una peque na perturbaci on c) recuperaci on del estado estable despu es de remover la perturbaci on d) cambio cualitativo al agregar una perturbaci on mayor que el l mite c . funci on f para valores de carga < c y que esta soluci on deja de existir para > c . La carga es un ejemplo de un par ametro. En un problema pr actico es necesario encontrar los valores de los par ametros de un sistema para los cuales ocurre una transici on entre un cambio cuantitativo y uno cualitativo. De manera formal, considere un sistema din amico que depende de un par ametro. En el caso de un sistema continuo, con el tiempo lo escribiremos as

x = f (x, ),

(2.18)

donde x Rn y Rm representan las variables de estado y par ametros respectivamente. Considere del diagrama de fase del sistema que representa la Ecuaci on 2.18; al variar el par ametro el diagrama fase tambi en cambia. Hay dos posibilidades: el sistema puede permanecer topol ogicamente equivalente al sistema original: ocurre un cambio cuantitativo; o su topolog a cambia: ocurre un cambio cualitativo. La aparici on de un diagrama de fase no equivalente topol ogicamente bajo la variaci on de un par ametro es llamada bifurcaci on. As , una bifurcaci on es un cambio en el tipo de

2.4. Trazo de diagramas de bifurcaci on

17

topolog a del sistema, cuando este pasa a trav es de un valor cr tico (valor de bifurcaci on).

2.4.

Trazo de diagramas de bifurcaci on


Consideremos un sistema continuo en el tiempo que depende de un par ametro

x = f (x, ),

x Rn ,

R1

(2.19)

donde f s una funci on suave de (x, ). El an alisis de bifurcaci on de un sistema signica la construcci on de su diagrama de bifurcaci on con respecto a uno o m as par ametro. En particular, estudiando la dependencia de los equilibrios con respecto de los par ametros, as como la localizaci on y an alisis de los puntos de bifurcaci on. Los puntos de equilibrio de 2.19 satisfacen

f (x, ) = 0

(2.20)

Esto es, un sistema de n ecuaciones escalares en Rn+1 dotado con las coordenadas (x, ). Como se ha mencionado, de manera general, la Ecuaci on 2.20 dene una curva de dimensi on M en Rn+1 . El c alculo de esta curva de equilibrio nos da la dependencia de un equilibrio de la Ecuaci on 2.19 en el par ametro . El problema de calcular la curva M es un caso espec co del problema general de n +1 continuaci on. Esto signica encontrar un curva en R denida por n ecuaciones

F (y ) = 0,

F : Rn+1 Rn

(2.21)

Utilizando el teorema de la funci on impl cita, la Ecuaci on 2.21 dene una curva suave M que pasa por el punto y0 y que satisface 2.21. Esto dado que el rango de J = n, donde J = Fy (y0 ) es la matriz del Jacobiano de la Ecuaci on 2.21, evaluada en y0 (condici on de regularidad). En la Ecuaci on 2.20 tenemos y = (x, ) y la condici on de regularidad es satisfecha en un punto jo estable. La soluci on num erica del problema de continuaci on en la Ecuaci on 2.21 signica calcular una secuencia de puntos

18

Cap tulo 2: An alisis de Sistemas Din amicos

y1 , y2 , y3 , . . .

(2.22)

que aproximan la curva M con la precisi on deseada. Se asume que un punto adicional y0 , que sea sucientemente cercano a M (o que pertenezca a M ), desde donde la secuencia pueda ser generada en una de las dos posibles direcciones es conocido. En el caso de un punto jo, el punto y0 = (x0 , 0 ) corresponde usualmente a un punto jo x0 de la Ecuaci on 2.19, encontrado con un valor jo 0 del par ametro, por medio de alg un m etodo num erico o por b usqueda no sistematizada. La mayor a de los m etodos de continuaci on usados en el an alisis de bifurcaci on implementan m etodos de predicci on-correcci on, los que incluyen tres pasos b asicos que se realizan de forma repetida i) Predicci on del siguiente punto. ii) Correcci on. iii) Control del tama no del paso. No existen al momento programas de an alisis de sistemas din amicos que permitan el trazo de un diagrama de bifurcaci on variando dos par ametros al mismo tiempo, adem as de que es necesario que el punto inicial para el trazo del diagrama sea un punto estable del sistema. Este trabajo propone un algoritmo alternativo para el trazo de diagramas de bifurcaci on sin necesidad de iniciar el trazo desde un punto estable, la variaci on de m as un de par ametro al mismo tiempo, y brindar diagramas de bifurcaci on m as completos, utilizando t ecnicas de optimizaci on din amica. En este cap tulo se ha mostrado el procedimiento que se sigue para el an alisis de sistemas din amicos por medio del trazo de diagramas de bifurcaci on, adem as de mencionar las bases te oricas del an alisis de bifurcaciones. As mismo se da la descripci on de los algoritmos num ericos que se utilizan durante el trazo de diagramas de bifurcaci on. Tanto del marco te orico del an alisis de bifurcaciones, como de los algoritmos num ericos utilizados, es posible observar su dependencia en la diferenciabilidad de las funciones que conforman el sistema de ecuaciones diferenciales que modelan un sistema din amico. A esto podemos agregar la restricci on adicional del teorema de la funci on impl cita, el cual toma como condici on el iniciar el trazo de un diagrama de bifurcaci on con un punto hiperb olico; de otra forma no garantiza el trazo del mismo.

Cap tulo 3

Algoritmos de Inteligencia Articial


En el presente cap tulo se describen los algoritmos de inteligencia articial utili zados en el desarrollo de esta tesis, en particular los llamados algoritmos evolutivos. Estos han sido usados en optimizaci on teniendo exito en problemas donde los algoritmos est andares se desempe nan de manera pobre o no pueden ser utilizados. Los algoritmos evolutivos no tiene dependencia en propiedades de las funciones utilizadas como son la continuidad o diferenciabilidad. El orden en el que son presentados corresponde al uso que se les dio en el desarrollo de la presente tesis; adem as, este coincide en cierta parte con el desarrollo hist orico de los mismos.

3.1.

Algoritmos gen eticos


Los algoritmos gen eticos son algoritmos de optimizaci on inspirados en la teor a

de evoluci on de Darwin; los individuos con mejores caracter sticas para su entorno tienen mejores posibilidades de supervivencia. Estos algoritmos han sido utilizados con exito en problemas de optimizaci on, incluyendo problemas donde los algoritmos num ericos fallan o no son aplicables. Estos algoritmos proveen una herramienta para la b usqueda automatizada de un optimo para una funci on dada. Los algoritmos gen eticos son no-determin sticos, i.e., es posible encontrar un optimo diferente para un mismo problema en cada ejecuci on. El algoritmo comienza con una poblaci on (un conjunto de individuos) donde cada individuo representa un punto en el espacio de b usqueda. Cada individuo posee un valor 19

20

Cap tulo 3: Algoritmos de Inteligencia Articial

de aptitud que sirve para determinar si un individuo es mejor que otro. Este valor de aptitud est a dado por la funci on que se quiere optimizar, y as la poblaci on est a dentro del dominio de la funci on a optimizar. En la representaci on de los individuos tambi en se toman conceptos de la gen etica; los individuos (puntos del espacio de b usqueda) son representados por secuencias de caracteres (generalmente se usa la representaci on binaria). A esta secuencia de caracteres, que representa a un individuo, se le llama cromosoma. El cromosoma de un individuo es decodicado en una representaci on adecuada, un n umero de punto otante, un car acter o cualquier otro tipo de valor del espacio de b usqueda para evaluar el individuo utilizando la funci on que se quiere optimizar y as obtener su valor de aptitud. Para encontrar un valor optimo de la funci on, dada una poblaci on inicial, esta es modicada en iteraciones. A cada iteraci on se le llama generaci on. Para pasar de una generaci on a la siguiente se aplican operadores a la poblaci on; estos operadores son selecci on, cruza y mutaci on (en analog a al comportamiento de los seres vivos). El operador de selecci on selecciona a algunos de los mejores individuos para aparearse; el operador de cruza genera nuevos individuos a partir de los individuos previamente seleccionados; dos nuevos individuos, los descendientes, son creados a partir de dos individuos seleccionados llamados padres. El tama no de la poblaci on es mantenida constante eliminando los peores individuos en la poblaci on. El operador de mutaci on realiza un cambio aleatorio en un individuo; si el individuo representa un punto en un espacio de b usqueda n-dimensional, es introducido un cambio aleatorio en una de sus coordenadas, seleccionada tambi en aleatoriamente.

3.1.1.

Implementaci on.
En el presente trabajo se opt o por utilizar vectores con n umeros de punto otante

para la representaci on de los individuos, dado que esta es adecuada al tipo de problema que se quiere resolver. No obstante, debido a que el desarrollo de los algoritmos gen eticos est a enfocado a la representaci on de los individuos por medio de secuencias de caracteres, es necesario adaptar muchos de los m etodos a la representaci on de vectores de punto otante utilizada en esta tesis. Principalmente los m etodos para los operadores de cruza y mutaci on deben realizarse de manera adecuada para evitar que los individuos salgan del espacio de b usqueda. Los m etodos est an descritos en las siguientes secciones.

3.1. Algoritmos gen eticos

21

3.1.2.

Cruza
La cruza de dos individuos en la codicaci on utilizada se efect ua de la forma

siguiente: se selecciona un n umero aleatorio q entre 0 y 1, y denimos p = 1 q . Para la pareja de individuos a, b se generan hijos h1 y h2 utilizando las ecuaciones

1 = pa h + q b 2 = qa h + p b

(3.1) (3.2)

1 y h 2 son los vectores que donde a y b son los vectores que corresponden a los padres y h ser an los cromosomas de los hijos.

3.1.3.

Selecci on
El operador de selecci on, como se mencion o al inicio de la Secci on 3.1 se utiliza pa-

ra seleccionar a los mejores individuos de una poblaci on para aparearse. De los algoritmos de operadores de selecci on disponibles [Randy L. Haupt04], se decidi o utilizar el algoritmo llamado selector universal estoc astico, dadas sus propiedades estad sticas [Baker87]. Adem as, este algoritmo es m as simple de implementar que el resto de los algoritmos de se lecci on. Este consiste en generar una tabla con las probabilidades de reproducci on de cada uno de los individuos, al igual que en el algoritmo de selecci on de ruleta; despu es se calcula un n umero F0 al azar dentro del rango de (0, 1/N ), donde N es el n umero de individuos a seleccionar. Para realizar la selecci on se repite un ciclo de la manera siguiente: se comienza con un Fc = F0 despu es se selecciona el individuo cuya probabilidad acumulada (la suma de las probabilidades de todos los individuos anteriores al i- esimo individuo de la tabla) sea mayor que Fc ; despu es de seleccionar al individuo Fc se aumenta en 1/N , el procedimiento se repite N veces. El Algoritmo 2 describe este procedimiento.

3.1.4.

Mutaci on
La mutaci on para la representaci on de vectores de punto otante, se realiza de

manera muy similar a como se realiza para una representaci on binaria [Randy L. Haupt04, Goldberg00]; se selecciona aleatoriamente una coordenada del vector que representa al individuo y esta es modicada al sumarle un valor aleatorio. Debe tenerse en cuenta que al sumar un valor aleatorio a una coordenada, esta puede quedar fuera del rango del espacio

22

Cap tulo 3: Algoritmos de Inteligencia Articial

Algoritmo 2 seleccion universal estocastica(poblacion)

1: 2: 3: 4: 5: 6: 7: 8: 9:

seleccion array() tabla generar tabla probabilidad(poblacion) F0 random() * 1/N Fc F0 for i 1 . . . N do indice seleccionar indice individuo(tabla, F) push(indice, seleccion) Fc Fc + 1/N end for

de b usqueda, adem as si el valor de la coordenada se sale de rango, y solo se trunca el valor de la coordenada al l mite del rango, pueden generarse anomal as estad sticas (todas las mutaciones terminar an en cambiar el valor de una coordenada a los l mites de su rango). Para evitar cualquier anomal a se opt o por desplazar la coordenada al origen, cantidad que se suma a una coordenada i seleccionada, es calculada aleatoriamente dentro del rango de [0, Mi ], donde Mi es la magnitud del rango de b usqueda para la coordenada i. Despu es de sumar al valor de la coordenada i una cantidad aleatoria, se aplica la funci on m odulo a la coordenada i con divisor Mi , para evitar que el nuevo valor salga del rango b usqueda. El algoritmo para el operador de mutaci on es presentado en el Algoritmo 3. Algoritmo 3 mutacion(vector, rangos)

1: 2: 3: 4: 5: 6: 7:

length length(vector) i random() * length magnitud abs(rangos[i][1] - rangos[i][0]) valor temporal vector[i] - rangos[i][0] valor aleatorio random() * magnitud valor temporal (valor temporal - valor aleatorio) mod magnitud vector[i] valor temporal

3.1. Algoritmos gen eticos

23

3.1.5.

Algoritmo gen etico con especies


En muchos de los problemas de optimizaci on, no siempre existe un s olo optimo en

la regi on de b usqueda; es posible que exista m as de un optimo global o varios optimos locales. A los problemas donde existe m as de un optimo se les llama problemas multimodales. Se han desarrollado varios tipos de algoritmos gen eticos para utilizarse en problemas multimodales [Mahfoud95], el algoritmo utilizado en el presente trabajo es el algoritmo gen etico creado por J-P Li et al. [Li J.-P.02], el cual est a basado en el concepto de especies. El concepto de especies est a basado en la observaci on de que en la naturaleza conviven diferentes especies en un mismo entorno. El algoritmo consiste en dividir una poblaci on en subconjuntos llamados especies. Para lograr esto se selecciona el mejor individuo de toda la poblaci on, y todos los individuos con una distancia al individuo seleccionado menor al valor de un par ametro llamado radio, se considera dentro de la misma especie. Este proceso se continua con los individuos que no han sido considerados dentro de una especie. Se selecciona al mejor individuo que no ha sido considerado dentro de una especie y se genera una nueva especie con los individuos que tengan una distancia al individuo menor al radio. A los individuos a partir de los cuales se generan las especies son llamados individuos dominantes o semilla de la especie. Los individuos dominantes seleccionados son reinsertados en la poblaci on en la siguiente generaci on. El algoritmo de especies se describe en el Algoritmo 4. El algoritmo para la selecci on de individuos con valores m aximos en las subpobla ciones es el utilizado por J-P Li et al. [Li J.-P.02]. Este consiste en seleccionar el individuo con la aptitud m axima de la poblaci on y enseguida seleccionar a todos los individuos con valor de distancia al individuo seleccionado menor o igual al radio. Con los individuos seleccionados se crea una subpoblaci on y se marcan como seleccionados, el procedimiento se repite con el resto de los individuos no seleccionados, como se ilustra en el Algoritmo 5, en donde Xs es el conjunto de individuos dominantes y d(x , x) es la distancia euclidiana [Li J.-P.02]. Como puede observarse en el Algoritmo 4 los individuos dominantes son reinsertados en la poblaci on despu es de aplicar los operadores de selecci on y cruza, no se aplica el operador de mutaci on debido a que podr a modicar a uno de los individuos dominantes, teniendo como consecuencia la perdida un posible optimo local [Li J.-P.02]. Para reinsertar los individuos se sigue tambi en el mismo algoritmo de J-P Li et al. [Li J.-P.02], el cual con-

24

Cap tulo 3: Algoritmos de Inteligencia Articial

Algoritmo 4 algoritmo genetico especies()

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

generar poblaci on evaluar poblaci on for i = 0 a n umero de generaciones do seleccionar los individuos dominantes seleccionar los individuos para cruza realizar la cruza evaluar poblaci on reinsertar los individuos dominantes end for ordenar la poblaci on

Algoritmo 5 seleccionar individuos dominantes(poblacion)

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:

Xs = while hay individuos sin seleccionar do buscar al individuo x sin seleccionar con la mayor aptitud marcar x como seleccionado encontrado falso for all x Xs do if d(x , x) r then encontrado verdadero end if end for if no encontrado then Xs Xs x end if end while

3.1. Algoritmos gen eticos

25

siste en reinsertar los individuos dominantes en la poblaci on, preferentemente en la misma subpoblaci on de donde fueron seleccionados, bajo la restricci on de tener una aptitud mayor que el individuo con menor aptitud dentro de la subpoblaci on donde fue seleccionado previamente cada individuo dominante. De no darse el caso, el individuo a reinsertar sustituye al individuo con menor aptitud de la poblaci on en general. Un bosquejo del algoritmo se muestra en el Algoritmo 6. Algoritmo 6 reinsertar individuos dominantes(Xs , poblacion)

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:

for all x Xs do seleccionar el peor individuo x de la subpoblaci on de x if existe x then if x es peor que x then reemplazar x con x end if else seleccionar el peor individuo x de la poblaci on sin procesar reemplazar x con x end if marcar x como procesado end for

El algoritmo de conservaci on de especies preserva los individuos dominantes en cada generaci on, esto provee un mecanismo para encontrar m as de un posible optimo de una funci on dada. Aunque este necesita de la determinaci on del par ametro de radio para un mejor funcionamiento.

3.1.6.

Criterio de terminaci on para el ciclo del algoritmo


No existe un criterio general para determinar cuando detener un algoritmo gen etico

orientado a la soluci on de problemas multimodales [Coello99]. M as a un, en el trabajo de Aggarwal [Aggarwal00] no se da de forma expl cita un criterio de terminaci on y en J-P Li et al. [Li J.-P.02] s olo se da un criterio para determinar si un individuo es candidato para

26

Cap tulo 3: Algoritmos de Inteligencia Articial

m aximo global. En el presente trabajo el algoritmo se deja actuar un n umero determinado de generaciones y se examinan los resultados obtenidos. Se da un criterio de error basado en la magnitud del vector que representa al individuo. En los problemas donde se necesita encontrar una soluci on de un sistema de ecuaciones, el objetivo es obtener vectores resultantes tan cercanos a cero como sea posible, la medida m as natural para saber que tan cerca estamos cero es calcular la norma del vector. El error se dene entonces como la magnitud del vector resultante despu es de aplicar la funci on objetivo al vector que representa un individuo.

3.2.

Optimizaci on de enjambre de part culas


Otro de los algoritmos de optimizaci on inspirados en la naturaleza es el llamado

optimizaci on de enjambre de part culas. Este algoritmo est a basado en la observaci on del comportamiento social de los individuos en una especie; por ejemplo los card umenes de peces y las parbadas de aves. Cuando un individuo encuentra una regi on con alimento los dem as lo seguir an. Este algoritmo comparte muchas de las caracter sticas de los algoritmos gen eticos: tambi en comienza con una poblaci on inicial, cada part cula tambi en representa un punto en el espacio de b usqueda, y de igual manera cada part cula posee un valor determinado por la funci on que se quiere optimizar; este valor es utilizado para dirigir el movimiento de las part culas y este representa la cantidad de alimento en la posici on donde se encuentra la part cula. Una diferencia con algoritmos gen eticos es que no se descartan los individuos de la poblaci on inicial, estos solo actualizan su posici on. Cada part cula conserva dos elementos de informaci on: el primero corresponde a la posici on de la part cula con el valor m aximo (componente social); el segundo corresponde a la posici on donde la part cula ha obtenido el mayor valor(componente cognitivo). El nombre de part culas fue dado por lo autores del algoritmo debido que se usa el concepto de posici on y velocidad, as es mejor hablar de la posici on y velocidad de una part cula m as que de un individuo. De la misma forma que los algoritmos gen eticos, en la optimizaci on de enjambre de part culas se lleva a cabo un proceso iterativo para encontrar el optimo de una funci on determinada. Se inicia con un enjambre inicial, una colecci on de part culas colocadas aleatoriamente dentro del espacio de b usqueda. Una vez generado el enjambre inicial cada part cula es evaluada; la part cula con el valor m aximo (o m nimo seg un sea el problema)

3.2. Optimizaci on de enjambre de part culas

27

es seleccionada y la posici on de esta part cula es registrada en cada una de las part culas. Despu es de la evaluaci on es calculada una velocidad considerando los dos componentes de informaci on guardados en la part cula. Se calcula una velocidad hacia el m aximo global y otra hacia la posici on del mejor valor registrado. En cada iteraci on se selecciona la part cula con mejor valor, as la posici on a donde se dirigen la part culas no siempre es la misma. De la misma forma en cada iteraci on se actualiza la posici on del mejor valor registrado por la part cula; de esta forma los dos componentes de informaci on de la part cula siempre est an cambiando.

3.2.1.

Implementaci on del algoritmo de enjambre de part culas


El algoritmo de optimizaci on de enjambre de part culas fue implementado utili-

zando un arreglo de vectores de n umeros de punto otante (al igual que en el caso de los algoritmos gen eticos). Cabe se nalar que dado que el algoritmo de enjambre de part culas utiliza los conceptos de velocidad y distancia, es necesario que la posici on de las part culas sea en un espacio donde tengamos una funci on de distancia bien denida. Al contrario de los algoritmos gen eticos, en los cuales el cromosoma de un individuo puede ser representado con secuencias de caracteres u otras representaciones [Randy L. Haupt04], se utilizaron versiones modicadas del algoritmo, las cuales representan ventajas sobre el algoritmo est andar. Estas modicaciones son descritas en las secciones siguientes.

3.2.2.

C alculo de la velocidad de las part culas


Una vez generado, inicializado y evaluado el enjambre inicial, la velocidad y posi-

ci on de todas las part culas es actualizada de acuerdo a las reglas dadas en las Ecuaciones 3.3 y 3.4.

vnew = [v + C1 R1 (Pbest P ) + C2 R2 (Pglobal P )] Pnew = P + Vnew

(3.3) (3.4)

donde v y P son la velocidad y posici on actual, respectivamente; R1 y R2 son n umeros aleatorios generados en el rango de [0, 1]; C1 y C2 son los factores de aprendizaje; Pbest es la posici on de la part cula con mejor valor de aptitud registrada hasta la iteraci on actual; Pglobal es la posici on de la part cula con el mejor valor de aptitud en el enjambre, en este

28

Cap tulo 3: Algoritmos de Inteligencia Articial

caso de la especie; vnew y Pnew son la nueva posici on y velocidad de la part cula; la constante es calculada de acuerdo a las Ecuaciones 3.5 y 3.6.

= C1 + C2 = 2 |2 2 4|

(3.5) (3.6)

La constante es llamada coeciente de constricci on [Kennedy01, Clerc02, Li06] y evita que las part culas exploren demasiado lejos del espacio de b usqueda. As no necesitamos una constante vmax para limitar la velocidad de las part culas [Li06]. El Algoritmo 7 describe el algoritmo de optimizaci on de enjambre de part culas est andar. Algoritmo 7 enjambre particulas()

1: 2: 3: 4: 5: 6: 7:

generar enjambre evaluacion inicial for i 1. . . numero iteraciones do calcular maximo global calcular velocidades actualizar particulas end for

3.2.3.

Enjambre de part culas con especies.


En la presente tesis se han agregado dos pasos al m etodo base de optimizaci on

de enjambre de part culas; despu es de que el enjambre inicial es creado, la part cula con el mejor valor de aptitud es seleccionada y todas las part culas con una distancia menor que el valor de un par ametro r son seleccionadas como individuos de una especie. El optimo global de las part culas en la especie es evaluado con la part cula inicialmente seleccionada. Las part culas en la especie son marcadas como usadas, y la siguiente part cula con el mejor valor de aptitud es seleccionada para crear una nueva especie. Este procedimiento es repetido hasta que todas las part culas est en dentro de una especie (el valor de aptitud de todas las part culas permanece sin alteraciones). Despu es de que todas las especies han sido formadas

3.2. Optimizaci on de enjambre de part culas

29

solo un n umero de part culas debe permanecer en cada especie, solo las n part culas m as cercanas a la part cula con el mejor valor de aptitud son conservadas dentro de la especie, las part culas restantes son reinicializadas en posiciones aleatorias. En el Algoritmo 8 muestra el algoritmo de optimizaci on de enjambre part culas con especies. Algoritmo 8 enjambre particulas especies()

1: 2: 3: 4: 5: 6: 7: 8:

generar enjambre evaluacion inicial for i 1. . . numero iteraciones do calcular especies calcular velocidades actualizar particulas reiniciar particulas rechazadas end for

En el presente cap tulo se han presentado los algoritmos evolutivos utilizados en el trabajo de tesis, as mismo se ha presentado la implementaci on espec ca de los mismos: la implementaci on para la representaci on de vectores de punto otante para los individuos. Cabe mencionar que para la representaci on de vectores de punto otante los algoritmos presentan operadores adecuados a esta. As mismo en la Secci on 3.1.6 se ha denido el criterio de error que se utiliz o en los experimentos realizados.

Cap tulo 4

Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull


En algunos problemas de optimizaci on es necesario encontrar no s olo un optimo local o global, sino todos los optimos de una funci on dada. Varios algoritmos se han desarrollado para este prop osito. Los algoritmos multistart usan una muestra aleatoria de puntos en el espacio de b usqueda y despu es utilizan alg un algoritmo basado en gradiente para alcanzar diferentes optimos. Los algoritmos de inteligencia articial, los cuales incluyen a los algoritmos gen eticos y los de optimizaci on por enjambre de part culas, tambi en son utilizados para resolver problemas multimodales. Los algoritmos multistart que usan algoritmos basados en gradiente dependen de la propiedad de diferenciabilidad de la funci on que se quiere optimizar, y bajo algunas condiciones estos no convergen. Los algoritmos de inteligencia articial como los algoritmos gen eticos y los de optimizaci on por enjambre de part culas tienen un comportamiento no determinista y dependen de par ametros que tienen que ser ajustados por medio de experimentaci on o con m etodos auxiliares. En esta tesis se presenta un algoritmo que descompone el espacio de b usqueda en regiones, cada una conteniendo uno y s olo un optimo. El algoritmo est a basado en la idea de usar una muestra inicial aleatoria uniforme; la evaluaci on de la funci on en cada punto de la muestra forma una representaci on discreta de la funci on que se quiere optimizar; despu es 31

32

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

se usa un algoritmo de convex hull incremental [Franco P. Preparata85] para hacer crecer las regiones que contienen optimos. El algoritmo est a basado en dos suposiciones muy importantes: la primera, siguiendo el teorema de Nyquist, es que se cuenta con una muestra con una frecuencia sucientemente alta para poder detectar todas las caracter sticas de la funci on (i.e. optimos); segunda, la funci on a ser optimizada debe mostrar un n umero nito de optimos en la regi on de an alisis.

4.1.

Optimizaci on multimodal
En muchos de los problemas de optimizaci on es posible que la funci on objetivo

presente m as de un optimo. Los optimos que presenta un funci on pueden ser locales o globales. Varios autores han tratado este problema con algoritmos evolutivos [Mahfoud95, Li J.-P.02, Petrowski97, Aggarwal00, Coello99, Randy L. Haupt04, Miller96], aunque todos estos m etodos presentan par ametros que para ser ajustados requieren del conocimiento de la distribuci on de los optimos de la funci on; en general no se cuenta con este conocimiento.

4.2.

Detecci on de regiones
La determinaci on de regiones est a basada en el hecho de que un muestreo del

espacio de b usqueda puede ser considerado como una representaci on discreta de la funci on f analizada. En este trabajo se propone un algoritmo incremental para construir un convex hull [Franco P. Preparata85] alrededor de cada optimo en la representaci on discreta de la funci on f . Para describir el algoritmo se supondr a que se est a buscando un m aximo de una funci on f dada. Para la b usqueda de un m nimo simplemente hay que cambiar en los enunciados m nimo por m aximo y viceversa donde sea necesario. El m etodo propuesto se realiza en los siguientes pasos: 1 Se genera un muestreo aleatorio dentro del espacio de b usqueda y se eval ua. 2 Se selecciona el punto Ps con valor m aximo de aptitud, y los puntos de la muestra se ordenan por distancia con respecto a Ps . 3 Se selecciona un subconjunto de los puntos m as cercanos a Ps para crear el convex hull inicial; el n umero de puntos seleccionados incluyendo Ps deben ser sucientes

4.2. Detecci on de regiones

33

para crear un convex hull. Para un espacio n-dimensional, necesitamos n + 1 puntos para crear un convex hull n-dimensional. 4 Despu es de crear el convex hull inicial se selecciona el siguiente punto P m as cercano a Ps que no es parte del convex hull. Se determinan las facetas que son visibles por el punto, y se verica que el valor de f en el punto sea menor que el valor de aptitud de al menos un punto en las facetas visibles; si se cumple la condici on, el punto es agregado al convex hull. Si no se cumple la condici on, esto indica que un m nimo ha sido sobrepasado y que P pertenece a otra regi on. 5 Cada punto que es parte de un convex hull es marcado como utilizado. Si no es posible crear un convex hull inicial (i.e. no hay sucientes puntos sin utilizar) s olo Ps es marcado como utilizado. El m etodo se repite hasta que no queden puntos sin utilizar. Para ilustrar el funcionamiento del algoritmo utilizaremos la siguiente funci on vectorial denida con el sistema de ecuaciones

2 f1 (x1 , x2 ) = x2 1 + x2 4 2 f2 (x1 , x2 ) = x2 1 x2 1

(4.1) (4.2)

(x1 , x2 ) representan la intersecci Las soluciones de la funci on f on entre una circunferencia y una hip erbola, esto es, el sistema tiene cuatro soluciones, una por cada cuadrante de R2 . Adem as es una funci on con rango y dominio en R2 . Para obtener una funci on objetivo g : R2 R, utilizamos la composici on

g(x1 , x2 ) =

1 1 + |f (x1 , x2 )|

(4.3)

con esto obtenemos una funci on con dominio R2 y rango R, donde los ceros de la funci on f son mapeados a uno y g(x1 , x2 ) 0 cuando f (x1 , x2 ) . La Figura 4.1(a) presenta la gr aca de la funci on g para los rangos de x1 [5, 5] y x2 [5, 5] y la Figura 4.1(b) para x1 [0, 5] y x2 [0, 5]; en la segunda regi on se mostrar a como se desarrolla el m etodo propuesto.

34

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

0.8 0.6 0.4 0.2 5 5 4 4

0.8 0.6 0.4 0.2

(a)

(b)

Figura 4.1: Gr aca de la funci on g(x1 , x2 ): a) rangos de x1 [5, 5] y x2 [5, 5] y b) cuadrante positivo Como primer ejemplo se genera una distribuci on aleatoria de puntos dentro del cuadrante positivo, la Figura 4.2(a) muestra las l neas de nivel de la funci on g para el cuadrante positivo (ver Figura 4.1(b)) y la muestra aleatoria de puntos. En la Figura 4.2(b) se muestra el convex hull inicial generado con el punto con el valor m aximo de aptitud del muestreo aleatorio y los dos puntos mas cercanos a el. La Figura 4.2(c) muestra una etapa intermedia; el convex hull se ha extendido vericando los puntos m as cercanos al punto inicial. Se puede observar de las curvas de nivel de la Figura 4.2(c) y de la Figura 4.1(b) que el convex hull ha crecido en una direcci on de descenso. La Figura 4.2(c) muestra el convex hull nal. Es claro ver que el convex hull encierra casi en su totalidad la misma regi on que la curva de nivel con valor m as alto. Comparando las Figuras 4.1(b) y 4.2(d) puede observarse que el m aximo de la funci on g est a dentro del convex hull nal. Hay varias observaciones que hacer de este ejemplo, la m as importante es acerca del la distribuci on inicial de los puntos; una distribuci on aleatoria no es necesariamente uniforme, como puede observarse en la Figura 4.2(a). Esto tiene como consecuencia que la condici on de tener un frecuencia de muestreo sucientemente alta puede no ser cumplida y puede resultar en que algunos m aximos de la funci on que se examina no sean detectados. La Figura 4.3(a) muestra una distribuci on inicial uniforme dentro del mismo cuadrante que el ejemplo anterior y para la misma funci on g. En la Figura 4.3(b) muestra el primer convex hull generado; a diferencia del ejemplo anterior con una distribuci on aleatoria, comparando con la Figura 4.2(b), puede verse claramente cual es el punto del convex

4.2. Detecci on de regiones

35

5 4 3 2 1 0 0 1 2
(a)

5 4 3 2 1 0 3 4 5 0 1 2
(b)

5 4 3 2 1 0 0 1 2
(c)

5 4 3 2 1 0 3 4 5 0 1 2
(d)

Figura 4.2: Varios estados en la creaci on de un convex hull: a) puntos de la rejilla, b) convex hull inicial formado por 3 facetas, c) estado intermedio del convex hull, d) estado nal del convex hull.

hull inicial con el valor de aptitud m as alto, el punto inicial. En la Figura 4.3(c) se puede observar con claridad que el convex hull ha cubierto por completo la regi on de la curva de nivel m as alta, adem as de otras regiones con curvas de nivel de valor m as bajo en direcci on descendente. Adem as, el convex hull tiene una forma m as regular. En la Figura 4.3(d) se muestra el convex hull nal; este ha cubierto por completo no s olo la regi on con la curva de nivel de valor m as alto sino todas las curvas de nivel con valores m as bajos de todo el cuadrante. Se puede observar, al comparar las Figuras 4.3(d), 4.1(a) y 4.1(b), que el m etodo se detuvo justo al comenzar un comportamiento ascendente de la funci on g. De los ejemplos mostrados puede observarse que el algoritmo tiene un mejor desempe no con una muestra inicial uniforme, al cubrirse de forma completa las regiones con valores

36

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

5 4 3 2 1 0 0 1 2 3 4 5

5 4 3 2 1 0 0 1 2 3 4 5

(a)
5 4 3 2 1 0 0 1 2 3 4 5 5 4 3 2 1 0 0 1

(b)

(c)

(d)

Figura 4.3: Varios estados en la creaci on de un convex hull: a) puntos de la rejilla, b) convex hull inicial formado por 3 facetas, c) estado intermedio del convex hull, d) estado nal del convex hull.

altos, adem as se evita el problema de la frecuencia de muestreo irregular de una distribuci on aleatoria. Sin embargo en el muestreo aleatorio se utilizaron menos puntos; en el primer ejemplo s olo fueron usados 100 puntos en el muestro inicial, en el segundo se utilizaron 400 puntos. No obstante, al usar el muestreo aleatorio tambi en fue encontrada una regi on que conten a el m aximo. Esto debe considerarse sobre todo cuando se tengan problemas en dimensiones m as altas, como lo muestra la Secci on 4.5.

El Algoritmo 9 muestra el seudoc odigo para el m etodo propuesto.

4.2. Detecci on de regiones

37

Algoritmo 9 seleccion inteligente regiones()

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:

R[]: arreglo que contiene a los puntos del a rejilla. Rd[]: arreglo para ordenar los puntos de la rejilla por distancia. N: dimensi on del espacio de b usqueda CH[]: arreglo de puntos que forman un convex hull LCH[]: arreglo de convex hulls F[]: arreglo de puntos que forman facetas R sort descending tness(R[]) while Existen puntos sin usar do Ps select best available point(R[]) Rd[] sort ascending distance(R[], Ps ) Initial[] rst n points(Rd[], N) if not used(Initial[]) then mark used(Initial[]) CH[] make initial ch(Is , Initial[]) FINISHED false for j = N + 1 to size of (Rd[]) & !FINISHED do P Rd[j] if not used(P) then F[] visible facets(P, CH[]) FI[] points in(F[]) if tness(P) < max tness(FI[]) then insert(P, CH[]) mark used(P) else FINISHED true end if else FINISHED true end if end for if appply lters(CH) then add CH[] to LCH[] end if end if end while return LCH[]

38

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

4.3.

Filtrado de regiones.
El algoritmo ilustrado en la Secci on anterior puede producir regiones que no con-

tengan un optimo local. Es necesario ltrar la regiones para asegurar que dentro de cada una de ellas existir a un optimo de la funci on analizada. Dos criterios de ltrado han sido desarrollados hasta el momento: descartar las regiones que no crecen, y realizar un an alisis de las regiones cuyo punto Ps inicial es parte del convex hull que limita la regi on. En algunos casos, inmediatamente despu es de que el convex hull ha sido creado, una condici on para terminar su crecimiento es alcanzada. Estas condiciones son: el siguiente punto m as cercano ya ha sido utilizado, o el valor de aptitud del siguiente punto m as cercano es mayor que el valor de aptitud de todos los puntos que forman parte de las facetas visibles. Ambas condiciones indican que el convex hull inicial est a en un valle y no es posible encontrar un optimo dentro del convex hull inicial. Los convex hulls que no crecen son descartados; esto se realiza por comparaci on del los puntos en el convex hull inicial y los puntos en el convex hull nal. Cuando el convex hull inicial crece pero el punto inicial Ps es parte del convex hull, este ha crecido s olo en una direcci on y es posible que no exista un optimo dentro del convex hull. En este caso se aplica una prueba simple: se calcula el centroide del convex hull, despu es se crea un vector del centroide al punto inicial Ps , un punto Po es calculado fuera del convex hull en la direcci on del vector creado; el nuevo punto Po est a a s olo una peque na distancia de Ps . Si el valor de aptitud de Po es menor que el valor de aptitud de Ps en convex hull es preservado, de otra forma es descartado.

4.4.

Completitud y correctitud.
Un resultado importante del m etodo basado en el algoritmo de convex hull ga-

rantiza que todos los convex hull creados contienen un optimo dentro de ellos, y que todos los optimos del dominio dado est an encerrados por un convex hull. La primera armaci on provee correctitud, mientras que la segunda provee completitud para el algoritmo. El resultado despu es de aplicar el algoritmo en una ret cula es un conjunto de regiones, donde cada una de ellas esta delimitada por un convex hull. Cada regi on contiene un punto con una valor mayor que cualquier otro punto dentro o en el convex hull, como lo indica el siguiente teorema:

4.4. Completitud y correctitud.

39

Teorema 2 Si un convex hull CH es creado por el algoritmo contiene el punto inicial Pm dentro del convex hull, y la funci on f es continua, entonces CH contiene un o ptimo de la funci on objetivo f . Demostraci on Dado el procedimiento de construcci on del convex hull por el Algoritmo 9, el convex hull es un conjunto cerrado en Rn . Siguiendo el teorema del valor extremo, aplicado a una funci on continua f , el teorema implica que f tiene un m aximo y un m nimo en el convex hull. Si el punto inicial est a dentro del convex hull, i.e., no pertenece al conjunto de puntos que conforman el convex hull; el m aximo de la funci on f est a dentro del convex hull. Teorema 3 Todo convex hull CH producido por el Algoritmo 9, que pase el proceso de ltrado, contiene un o ptimo de la funci on f . Demostraci on Tenemos dos casos: el punto inicial Pm se encuentra dentro del convex hull. Este caso es probado por el Teorema 2. En otro caso el punto inicial Pm forma parte del convex hull, el proceso de ltrado descrito en la Secci on 4.3 asegura que Pm es un m aximo local de la funci on f . Los ltros descartan los convex hulls que no contienen un m aximo local de la funci on f . Si las condiciones mencionadas en el inicio del presente cap tulo son cumplidas, cualquier optimo en la regi on examinada ser a encerrado dentro de un convex hull, como es mencionado en el siguiente teorema: Teorema 4 Despu es de aplicar el Algoritmo 9, cada o ptimo de una funci on f objetivo dada con dominio X Rn , est a encerrado en un convex hull. Demostraci on Suponemos que dos m aximos a y a de la funci on f forman parte de un convex hull creado por el Algoritmo 9; si tenemos una frecuencia de muestreo sucientemente alta, existe un punto b entre a y a . Como a y a son m aximos de f , f (b) tiene un valor menor que f (a) y f (a ). Suponga que el algoritmo comienza con a como primer punto del convex hull; entonces el Algoritmo 9 debe utilizar primero b para probar si este es agregado al convex hull, despu es prueba a , debido a que f (a ) tiene un valor mayor que f (b); el algoritmo se detiene y a no es incluido en el convex hull. El mismo razonamiento es llevado a cabo si el algoritmo comienza con a . Lo anterior implica que no pueden existir dos m aximos en el mismo convex hull.

40

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

4.5.

Complejidad

Un an alisis preliminar muestra que el Algoritmo 9 tiene en el peor caso una com plejidad de O(n2 log n), donde n es el n umero de puntos en el muestreo. Esto se debe a que el Algoritmo 9 contiene al algoritmo de convex hull incremental dentro de un ciclo que recorre todos los puntos del muestreo inicial. La complejidad del algoritmo de convex hull incremental es de orden O(n log n) [Franco P. Preparata85, ORourke98]. Esta es la complejidad con respecto al n umero de puntos del muestreo inicial. Para el caso de un muestreo uniforme, si N es la dimensi on del problema, tenemos n = O(kN ) donde k es constante, la complejidad del algoritmo en t erminos de la dimensi on del problema es O(k2N N log k). Simplicando tenemos que la complejidad es de orden O(N 2N ). Esto es, para una N dada el algoritmo es polinomial en k, y por lo tanto computacionalmente eciente, pero la complejidad crece exponencialmente con respecto a N. En el caso de los ltros, la comparaci on del convex hull inicial con el nal es realizada en O(N ). En el caso donde el punto inicial forma parte del convex hull inicial, las coordenadas del centroide son la media aritm etica de los valores de las coordenadas de los puntos que conforman el convex hull; as el centroide es calculado en O(F ), siendo F el n umero de facetas en el convex hull.

4.6.

El algoritmo n-dimensional de convex hull.


La mayor a de las implementaciones disponibles del algoritmo incremental de con-

vex hull s olo muestran ejemplos en dos y tres dimensiones, y sugieren que pueden ser extendidos a dimensiones m as altas. Un problema con estos algoritmos es la representaci on de las facetas y los bordes en dimensiones m as altas. La mayor a de ellos usan diagramas de Voronoi para su representaci on. Esta aproximaci on requiere de una gran cantidad de memoria y un gran n umero de operaciones para preservar la estructura de las facetas y bordes. Para simplicar el algoritmo, tanto en uso de memoria como en operaciones, se representa cada faceta con s olo el conjunto de puntos que la forman, con un orden adecuado, y se dene un algoritmo para obtener los bordes de una faceta por medio de una funci on recursiva.

4.6. El algoritmo n-dimensional de convex hull.

41

4.6.1.

Representaci on de una faceta.


Una operaci on importante es la selecci on de las facetas que son visibles por un

punto nuevo. Para lograr esto, es necesario calcular el determinante formado con las coordenadas de todos los puntos en la faceta y el punto que se esta comparando. Cada punto representa una columna del determinante; al determinante tambi en se le agrega un rengl on conformado con unos al nal. Con esto se logra un determinante de n n para un espacio de n dimensiones. Como un ejemplo en tres dimensiones, considere una faceta formada por los puntos p1 , p2 , p3 , representada por las l neas (p1 , p2 ), (p2 , p3 ) y (p3 , p1 ) (ver Figura 4.4). Al compararla con el punto p4 debemos calcular el determinante

Det(p1 p2 p3 p4 ) de forma expl O, cita

(4.4)

x1 x2 x3 x4 Det(p1 p2 p3 p4 ) = y1 z1 1 y2 z2 1 y3 z3 1 y4 z4 1 (4.5)

p1
r s d d d d dr X $ $$ r  $$ $

p4

p3

p2

Figura 4.4: Una faceta en tres dimensiones. Es de notarse el orden de los puntos; la faceta puede representarse por los puntos en el orden en el cual aparecen en el determinante, i.e., la representaci on de la faceta en la Figura 4.4 ser a p1 p2 p3 . Los bordes de la faceta son representados en la misma forma, entonces, los bordes ser an p1 p2 , p2 p3 y p3 p1 . Para construir una faceta a partir de un borde en nuestra representaci on es simple; siguiendo el mismo ejemplo en un espacio de tres

42

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

dimensiones, si queremos construir una faceta a partir del borde (p3 p1 ) (ver Figura 4.5) y el punto pn , necesitamos dos bordes mas, los bordes (p1 pn ) y (pn p3 ); en los t erminos del determinante de la Ecuaci on 4.4, es el equivalente a agregar el punto pn al nal de la lista de los puntos del borde, i.e., si queremos saber si nuestra nueva faceta formada con los bordes (p3 p1 ), (p1 pn ) y (pn p3 ) es visible por un punto p4 necesitamos calcular

Det(p3 p1 pn p4 )

(4.6)

esto es, para construir una nueva faceta con el borde (p3 p1 ) y el punto pn , en nuestra representaci on, es el equivalente a comenzar con el borde p3 p1 y agregar pn al nal, la nueva faceta es p3 p1 pn . Para calcular de forma adecuada el determinante , el orden de los puntos debe ser preservado, a partir de este hecho podemos generalizar la construcci on de una nueva faceta, si tenemos un borde n-dimensional (en nuestra representaci on) p1 p2 . . . pn1 , y e punto pn , la faceta resultante construida con el bordo y el punto es p1 p2 . . . pn1 pn . A partir del m etodo de construir una faceta, podemos armar que, si tenemos una faceta p1 p2 . . . pn1 pn , en un espacio n-dimensional, uno de sus bordes es p1 p2 . . . pn1 . Si s olo nuestra faceta p1 p2 p3 es visible por el punto p4 y queremos construir nuevas facetas a partir de los bordes de p1 p2 p3 , en este caso de tres dimensiones, s olo necesitamos construir una nueva faceta a partir de cada uno de los bordes, en la representaci on mencionada anteriormente las facetas resultantes ser an p1 p2 p4 , p2 p3 p4 y p3 p1 p4 .

p1

Xr pn $ $$$ $ $ r s d d d d dr  p3

Figura 4.5: Una nueva faceta creada con el borde p3 p1 y el punto pn . La nueva faceta es representada como p3 p1 pn .

4.6. El algoritmo n-dimensional de convex hull.

43

4.6.2.

Construcci on del convex hull inicial en tres y cuatro dimensiones


Si queremos construir un convex hull inicial en tres dimensiones, despu es de veri-

car que el signo del determinante de la Ecuaci on 4.4 es positivo, s olo necesitamos invertir la direcci on de cada uno de los bordes de p1 p2 p3 y seguir las indicaciones de construcci on de una faceta a partir de un borde tridimensional mencionado en la secci on anterior. Los bordes de p1 p2 p3 son p1 p2 , p2 p3 y p3 p1 , los bordes invertidos son p2 p1 , p3 p2 y p1 p3 . La nueva faceta construida a partir del borde invertido p1 p3 y el punto p4 es p1 p3 p4 (ver Figura 4.6). El resto de las facetas son construidas en la misma forma; el convex hull inicial estar a entonces formado con las facetas: p1 p2 p3 , p2 p1 p4 , p3 p2 p4 y p1 p3 p4 . Debe notarse tambi en que, al invertir el orden de los dos primeros puntos de la representaci on de un borde, cambia el signo del determinante en la Ecuaci on 4.4, y del m etodo de construcci on de una faceta a partir de un borde (s olo agregamos un punto a la representaci on del borde), es el equivalente a invertir la faceta completa. Si tenemos la faceta p1 p2 p3 la faceta invertida es p2 p1 p3 (v ease la Figura 4.7).
r p4 $$$ # $ $ W $ r d d s d d d d d d d r p3 d X $ $$$$ r  $

p1

p2 Figura 4.6: La faceta inicial representada por p1 p2 p3 y la segunda faceta creada invirtiendo el borde p3 p1 y el punto p4. La segunda faceta es representada por p1 p3 p4 . En el caso de cuatro dimensiones despu es de vericar el valor y signo del determinante Det(p1 p2 p3 p4 p5 ) las facetas se pueden determinar de la siguiente manera: una de las facetas de p1 p2 p3 p4 p5 (como se mostr o en la Secci on 4.6.1) debe ser p1 p2 p3 p4 y las facetas restantes pueden construirse a partir de los bordes de p1 p2 p3 p4 ; una faceta en cuatro dimensiones es un convex hull m nimo en tres dimensiones, i.e., una faceta en cuatro dimensiones es un tetraedro formado por cuatro tri angulos. Del ejemplo en tres dimensiones sabemos que los bordes de p1 p2 p3 p4 son p1 p2 p3 , p2 p1 p4 , p3 p2 p4 y p1 p3 p4 , s olo necesitamos invertir cada uno de los bordes y construir las facetas restantes con p5 . Los bordes son invertidos simplemente invirtiendo el orden de los dos primeros puntos; entonces las facetas del convex

44

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

p1
r d s d d d dr X $ $$  $$ $ r

p1
r #d d d d r d $$ $ $ r$ W $

p3

p3

p2
(a)

p2
(b)

Figura 4.7: a) faceta representada por p1 p2 p3 , b) faceta invertida representada por p2 p1 p3 . hull inicial en cuatro dimensiones son: p1 p2 p3 p4 , p2 p1 p3 p5 , p1 p2 p4 p5 , p2 p3 p4 p5 y p3 p1 p4 p5 . Es posible construir de manera f acil por medio de recursi on, y as los bordes de una faceta en cualquier dimensi on. Una faceta n-dimensional es un convex hull inicial en dimensi on n 1, entonces podemos utilizar una representaci on para una faceta utilizando s olo la colecci on de puntos que la forman en el orden en el que aparecen en el determinante utilizado para determinar la visibilidad de la misma desde un punto, y podemos extraer la informaci on de los bordes de una faceta usando un m etodo recursivo, con n 2 pasos recursivos. El Algoritmo 10 muestra la funci on recursiva para construir los bordes de una faceta.

4.6.3.

Adici on de un punto a un convex hull n-dimensional.


Con la representaci on descrita en la Secci on 4.6.1 para facetas n-dimensionales, es

f acil construir el determinante para determinar si una faceta es visible por un punto dado. Pero no podemos evitar el calculo de los bordes para cada conjunto de facetas, el conjunto de facetas visibles y el conjunto de las facetas no-visibles. Para reducir el n umero de facetas utilizados usadas en los c alculos, la implementaci on del algoritmo usa las operaciones de conjuntos, en particular la intersecci on de conjuntos. Adem as, se denen dos relaciones para ayudar a reducir el n umero de bordes que necesitamos calcular. Denici on 1 Dos bordes a y b en un espacio n-dimensional son contiguos si estos tienen los mismo puntos. Denici on 2 Dos facetas A y B en un espacio n-dimensional son contiguas si comparten n 1 puntos.

4.6. El algoritmo n-dimensional de convex hull.

45

Algoritmo 10 facet ridges(facet)

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

result {} length facet length(facet) if length == 3 then result append(result, [facet[0],facet[1]]) result append(result, [facet[1],facet[2]]) result append(result, [facet[2],facet[0]]) else ridges facet ridges(sub array(facet, 0, length - 2)) for all ridge in ridges do ridge invert ridge(ridge) ridge append(ridge, facet[length - 1]) result append(ridge, result) end for result append(sub array(facet, 0, length - 2), result) end if return result

46

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

Para reducir el n umero de bordes a ser calculados, primero reducimos los conjuntos de facetas visibles y facetas no-visibles, determinando cuales facetas tienen bordes en el horizonte, i.e., la intersecci on del conjunto de facetas visibles y el conjunto de facetas no visibles usando la relaci on en la Denici on 2. Una vez que se han determinado las facetas que tienen bordes en el horizonte, calculamos los bordes de las facetas de ambos conjuntos, as tenemos el conjunto de los bordes de las facetas visibles Rv , y el conjunto de los bordes de las facetas no visibles Rn . Para determinar los bordes de los cuales construiremos las nuevas facetas, calculamos la intersecci on de los conjuntos Rv y Rn . Los bordes que necesitamos son aquellos en la intersecci on que son elementos del conjunto Rn . Construir las nuevas facetas es simple: s olo necesitamos agregar el punto que esta siendo comparado al nal de la representaci on de cada borde, de manera semejante a como se construyo el convex hull inicial para el caso de cuatro dimensiones. Entonces el nuevo convex hull es la uni on del conjunto de facetas no visibles y el conjunto de las nuevas facetas creadas.

4.6.4.

Implementaci on del algoritmo incremental de convex hull para n dimensiones


En esta secci on se muestra el seudoc odigo para la implementaci on del algoritmo

de convex hull incremental. El algoritmo esta basado en el n umero de coordenadas de los puntos, as el mismo algoritmo puede ser usado para cualquier dimensi on. Tambi en se muestran guras del resultado del algoritmo, as como de las etapas intermedias de calculo. El Algoritmo 11 ilustra la implementaci on del algoritmo de convex hull incremental. Este algoritmo s olo requiere algunas pocas funciones de soporte; la funci on select initial points debe regresar como resultado los primeros n + 1 puntos tales que el determinante formado por las coordenadas de los puntos del resultado, sea positivo. Las funciones compute visible facets y compute non visible facets utilizan el m etodo est andar para determinar si una faceta es visible por un punto (calcular el valor del determinante de la Ecuaci on 4.4. El convex hull inicial es calculado al considerarlo como una faceta en dimensi on n + 1 y calcular sus bordes. El ciclo principal del Algoritmo 11 es descrito con la ayuda de la Figura 4.8. En la Figura 4.8(a) se muestra un convex hull y un punto a ser agregado. Primero

4.6. El algoritmo n-dimensional de convex hull.

47

Algoritmo 11 incremental convex hull(points)

1: 2: 3:

visible facets array of facets that are visible by a given point. non visible facets array of facets that are not visible by a given point. visible horizon array of facets that are visible by a given point and have ridges in the horizon. non visible horizon array of facets that are not visible by a given point and have ridges in the horizon. visible ridges array of ridges of the facets in visible horizon. non visible ridges array of ridges of the facets in non visible horizon. horizon array of ridges in the horizon. new facets array of facets computed from the ridges in the horizon and a given point. number of points length(points) dimensi on length(points[0]) on + 1) initial points select intial points(points, dimensi convex hull facet ridges(initial points) for i (dimensi on + 1) to number of points do visible facets compute visible facets(convex hull, points[i]) non visible facets compute non visible facets(convex hull, points[i]) visible horizon intersection(visible facets, non visible facets, contiguous facet) non visible horizon intersection(non visible facets, visible facets, contiguous facet) visible ridges compute ridges(visible horizon) non visible ridges compute ridges(non visible horizon) horizon intersection(visible ridges, non visible ridges, contiguous ridge) new facets compute facets(horizon, points[i]) convex hull append(non visible facets, new facets) end for return convex hull

4:

5: 6: 7: 8:

9: 10: 11: 12: 13: 14: 15: 16:

17:

18: 19: 20: 21: 22: 23: 24:

48

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

Figura 4.8: Pasos para agregar un punto al convex hull

se calculan los conjuntos de facetas visibles y no visibles, en el caso de que el punto sea interior el conjunto de facetas visibles es el conjunto vac o. La Figura 4.8(b) muestra es conjunto de facetas visibles por el punto dado, y la Figura 4.8(c) muestra el conjunto que corresponde a las facetas no visibles. Ambos conjuntos son calculados en los renglones 14 y 15 del Algoritmo 11 esto se realiza calculando el determinante mencionado anteriormente para cada faceta del convex hull. Los conjuntos pueden ser calculados por una misma funci on,

4.6. El algoritmo n-dimensional de convex hull.

49

en el Algoritmo 11 es realizado en dos pasos para prop ositos de claridad. Para reducir el n umero de bordes a calcular, las facetas que no tienen bordes en el horizonte (los bordes en el l mite entre las facetas visibles y no visibles) son eliminadas de ambos conjuntos de facetas, visibles y no visibles. Esto se realiza calculado la intersecci on de los conjuntos de facetas visibles y no visibles considerando la igualdad entre elementos la relaci on de facetas contiguas denida anteriormente. La funci on de intersecci on implementada regresa como resultado los elementos del primer conjunto que forman parte de la intersecci on con el segundo conjunto, as las facetas visibles que tienen bordes en el horizonte son calculadas al usar como primer argumento el conjunto de facetas visibles y como segundo argumento el conjunto de facetas no visibles, de manera semejante se calculan las facetas no visibles con bordes en el horizonte. En las l neas 16 y 17 del Algoritmo 11 se realizan estos c alculos y los resultados son mostrados en la Figura 4.8(d) y (e) para las facetas visibles y no visibles respectivamente. Despu es son calculados los bordes s olo para las facetas que tienen bordes en el horizonte, esto se realiza en las l neas 18 y 19 del Algoritmo 11. La intersecci on de los conjuntos de bordes da como resultado los bordes que forman el horizonte, este es calculado en la l nea 20 del Algoritmo 11 y el resultado es mostrado en la Figura 4.8(f). Entonces son calculadas nuevas facetas utilizando los bordes en el horizonte y el punto a agregar. Las nuevas facetas son calculadas en la l nea 21 y mostradas en la Figura 4.8(g). Como u ltimo paso el nuevo convex hull es calculado, esto se realiza con la uni on del conjunto de facetas no visibles (Figura 4.8(c)) y las nuevas facetas calculadas (Figura 4.8(g)), esto se realiza en la l nea 22 y el resultado es mostrado en la Figura 4.8(h). Todos los c alculos en el Algoritmo 11 son realizados utilizando u nicamente el tipo de datos arreglo, el algoritmo no requiere ning un cambio para utilizarse en dimensiones m as altas. Adem as en el caso de que un punto sea interior, como se comento anteriormente, el conjunto de facetas visibles es el conjunto vac o, esto implica que todas las intersecciones calculadas resultan en el conjunto vac o, incluyendo el horizonte y el conjunto de nuevas facetas. En este caso el resultado de una iteraci on del Algoritmo 11 ser a el conjunto de facetas no visibles, es decir, el convex hull no sufre cambio alguno. Los algoritmos gen eticos y la optimizaci on de enjambre de part culas no garantizan la completitud o la correctitud cuando son aplicados en problemas multimodales [Li J.-P.02, Li06]. La mayor a de los algoritmos dependen fuertemente de par ametros que no son conocidos a priori, como el radio. Estos par ametros son determinantes en la operaci on

50

Cap tulo 4: Optimizaci on Multimodal Mediante el Algoritmo de Convex Hull

correcta de los algoritmos. Incluso teniendo un valor optimo para los par ametros no hay garant a de que todos los optimos sean encontrados o que todos los optimos reportados sean realmente optimos de la funci on objetivo. Hemos probado que nuestra aproximaci on provee ambas correctitud y completitud, aunque el an alisis de la complejidad muestre un comportamiento exponencial con respecto a la dimensi on del problema, y sea necesario un gran n umero de puntos, comparado con algoritmos gen eticos u optimizaci on de enjambre de part culas. Uno de los temas de investigaci on actual se enfoca en la eliminaci on de la dependencia del par ametro del radio, de los algoritmos evolutivos para problemas multimodales. Una de las principales desventajas del uso de par ametro del radio se presenta al no conocer la distancia entre un optimo y otro, lo cual tiene como consecuencia que si dos optimos est an a una distancia menor que el radio, los algoritmos no podr an distinguir los dos optimos y ser an considerados como uno solo. Adem as si el radio es muy peque no, este tendr a un efecto negativo en el desempe no del algoritmo, al aumentar el n umero de regiones a calcular. En este cap tulo se ha presentado un algoritmo de optimizaci on que no tiene dependencia en par ametros como el radio. El algoritmo de convex hull explora el espacio de b usqueda mediante un muestreo inicial de puntos. Aunque debe considerarse que para una distribuci on uniforme se requiere una cantidad considerable de puntos para el muestreo inicial. No existe ninguna referencia a algoritmos semejantes al que se presenta, por lo cual este es considerado como una aportaci on en el area de de optimizaci on. Adem as, dentro del area de geometr a computacional, se presenta una representaci on para facetas y bordes que simplica la implementaci on del algoritmo de convex hull incremental, y utiliza un m nimo de recursos de memoria. Se presenta tambi en una implementaci on del algoritmo que funciona en cualquier dimensi on.

Cap tulo 5

Resultados
En el presente cap tulo se presentan los resultados obtenidos mediante la aplicaci on de los algoritmos de inteligencia articial, as como el algoritmo desarrollado en el Cap tulo 4, a los problemas presentados en el Cap tulo 2. Los resultados son presentados siguiendo los pasos del an alisis de sistemas din amicos: primero se muestran los resultados obtenidos para la b usqueda de puntos jos de sistemas din amicos, se muestra una comparativa de varios algoritmos, adem as se presentan los resultados obtenidos el algoritmo desarrollado. Despu es son mostrados los resultados de la generaci on de diagramas de bifurcaci on con el algoritmo de optimizaci on de enjambre de part culas. Se incluyen resultados en sistemas con uno y dos par ametros.

5.1.

Red el ectrica de tres nodos.


La red el ectrica mostrada en la Figura 5.1 ha sido usada en [K.86, Ian Dobson88]

y en otros art culos de investigaci on [Abed84, Kwanty86, Ajjarapu92, Abed92, Chiang94, nizares95, D.J.95] para ilustrar el fen omeno de colapso de voltaje que se presenta con la variaci on de la carga. El circuito equivalente de tres nodos debe ser visto como un circuito equivalente a un area local de inter es, conectado a una red mayor. La red es modelada como un bus innito representado por una fuente de voltaje que provee un voltaje constante en magnitud y fase E0 0 sin importar el ujo de potencia. El bus de la terminal del generador es Em m . La admitancia compleja de las l neas de transmisi on conectadas al generador y al bus innito, una carga y un capacitor son mostradas en la Figura 5.1. El voltaje medido en la terminal es V . 51

52

Cap tulo 5: Resultados

Figura 5.1: Diagrama del sistema el ectrico de potencia. La din amica del sistema est a gobernada por las siguientes cuatro ecuaciones diferenciales ordinarias

m = 1 2 (Pm Dm + V Em Ym sin( m m ) + Em Ym sin m ) = M 1 = (Kqv2 V 2 Kqv V + Q Q0 Q1 ) Kqw 1 = V [Kqw (P0 + P1 P ) + (Kpw Kqv Kqw Kpv )V + T Kqw Kpv Kpw (Q0 + Q1 + Q) + Kpw Kqv2 V 2 ]

(5.1) (5.2) (5.3)

(5.4)

En estas ecuaciones las variables de estado est an denidas como sigue: m es la fase de angulo de voltaje del generador, es la velocidad del rotor, es la fase del angulo de voltaje de la carga, y V es la magnitud del voltaje de carga. Las funciones P y Q que aparecen en estas ecuaciones representan, respectivamente, la potencia activa y reactiva proporcionadas por la carga de la red. Estas son dadas por las Ecuaciones 5.5 y 5.6

) V Em Ym sin( m + m ) = V E0 Y0 sin( + 0 +V 2 (Y0 sin 0 + Ym sin m )

(5.5)

) + V Em Ym cos( m + m ) Q = V E0 Y0 cos( + 0 + Ym cos m ) V 2 (Y0 cos 0

(5.6)

5.2. Funci on de mapeo

53

En las ecuaciones anteriores, en lugar de incluir el capacitor C en el circuito, un circuito equivalente de Thevenin con un capacitor fue derivado con los valores dados por las Ecuaciones 5.7, 5.8 y 5.9

E0 =

E0 1 + C 2 Y02 2CY01 cos 0

(5.7) (5.8) (5.9)

Y0 = Y0 1 + C 2 Y02 2CY01 cos 0 C Y0 cos 0 0 = + tan 1 2 Y0 sin 0

Las otras cantidades que aparecen en las ecuaciones son par ametros constantes, relacionados a la carga o la red y el generador. Todos estos par ametros tienen valores jos durante el an alisis, excepto por Q1 , la demanda de potencia reactiva de la carga. Los par ametros de la carga, la red y el generador son dados en la Tabla 5.1. Tabla 5.1: Valores constantes para los par ameros en el sistema de ecuaciones diferenciales. par ametro Kpw Kqv2 P0 E0 M 0 Dm valor 0.4 2.1 0.6 2.5 0.3 -0.2094 0.05 par ametro Kpv T P1 Pm Ym Q1 valor 0.3 8.5 0.0 1.0 5.0 10.0 par ametro Kqw Kqv Q0 Em Y0 m valor -0.03 -2.8 1.3 1.0 8.0 -0.08726

5.2.

Funci on de mapeo
El art culo de Varum Aggarwal [Aggarwal00], propone una transformaci on para

convertir el problema de b usqueda de soluciones (puntos x para los cuales f (x) = 0), en una b usqueda de m aximos. Esto se logra mediante la aplicaci on de la siguiente ecuaci on: 1 1 + |f (x)|

g(x) =

(5.10)

Este mapeo se us o en conjunto con el algoritmo gen etico de tipo niching desarrollado por Alan Petrowski [Petrowski97], en el que se divide a la poblaci on en subpoblaciones,

54

Cap tulo 5: Resultados

y d onde solo el individuo con la aptitud m axima de la subpoblaci on es candidato a reproducci on. De la ecuaci on (5.10) es f acil ver que para x tal que f (x) = 0 el valor de g(x) es de 1. Para cualquier otro valor de f (x) diferente de cero el valor de g(x) ser a menor de 1, pero sin llegar a ser 0, i.e., g(x) 0 cuando x . Esto es, el problema de buscar soluciones para f (x) se convierte en la b usqueda de valores m aximos de g(x).

5.3.

B usqueda de puntos iniciales para el an alisis de sistemas din amicos.


Como se ha mencionado en el Cap tulo 2 la primera parte del an alisis de sistemas

din amicos mediante el trazo de diagramas de bifurcaci on es encontrar un punto estable del sistema din amico. En esta secci on se muestra el uso de tres diferentes algoritmos en la b usqueda de un punto jo de un sistema din amico. Los tres algoritmos utilizados fueron: algoritmo gen etico est andar, el algoritmo gen etico con especies, y el algoritmo de optimizaci on de enjambre de part culas con especies. En este parte del an alisis se utiliz o un sistema de potencia descrito en la Secci on 5.1, el diagrama que representa al sistema de potencia se muestra en la Figura 5.1. Solo cuatro variables son consideradas: m , , , y V . Todos los s mbolos restantes son considerados constantes, asign andoles los valores que se en la Tabla 5.1. Fueron asignados rangos espec cos para cada una de las variables para la inicializaci on de las poblaciones y enjambres de cada algoritmo; los valores fueron iguales para todas las pruebas, los valores para los rangos son mostrados en la Tabla 5.2. Tabla 5.2: Valores para los rangos de b usqueda de las variables. variable m V rango [0, 1] [1, 1] [0, 1] [0, 2]

Adem as fueron consideradas dos funciones de mapeo, los resultados de cada una son comparados. La primera funci on de mapeo es la norma del vector resultante, i.e., tenemos la funci on de mapeo

5.3. B usqueda de puntos iniciales para el an alisis de sistemas din amicos.

55

( h( x) = |f x)|

(5.11)

es el sistema de Ecuaciones 5.1 a 5.4. La segunda funci donde f on de mapeo es la descrita en la Ecuaci on 5.10, la cual, aunque no est a denida con un vector como argumento, puede adecuarse de forma simple. Una soluci on del sistema (encontrada por cualquiera de los tres algoritmos bajo an alisis) es (m , , , V ) = (0.047, 0.0, 0.310, 1.359). Aunque todos los algoritmos convergen al mismo resultado, no todos ellos lo hacen para todos los problemas. M as a un, estos no muestran tiempos semejantes de convergencia, ni los valores para el error son los mismos. En las siguientes secciones se analiza el desempe no de los diferentes algoritmos en t erminos de precisi on con diferentes valores para el tama no de la poblaci on.

5.3.1.

Algoritmo gen etico


Los par ametros para el algoritmo gen etico fueron los siguientes: cada ejecuci on del

programa se realiz o por 300 generaciones, y fueron realizadas 1000 ejecuciones para calcular los valores de la desviaci on est andar y de la media aritm etica de la funci on de error. Se usaron poblaciones de tama nos 100, 200, 300, 400 y 500 para comparar los resultados. Los resultados para la desviaci on est andar con el algoritmo gen etico simple usando el mapeo con la funci on h y el mapeo con la funci on g son mostrados en la Tabla 5.3 y los resultados para la media aritm etica del error son mostrados en la Tabla 5.4. Tabla 5.3: Media aritm etica del error de poblaci on, utilizando el algoritmo 100 h(x) 5.439 g(x) 2.730 para el mejor individuo obtenido para varios tama nos gen etico est andar. 200 300 400 500 4.418 3.747 3.396 3.179 2.004 1.623 1.459 1.319

Tabla 5.4: Desviaci on est andar para el valor para el algoritmo gen etico est andar. 100 200 h(x) 1.917 1.623 g(x) 1.362 1.016

del error para varios tama nos de poblaci on 300 1.388 0.858 400 1.307 0.809 500 1.192 0.494

56

Cap tulo 5: Resultados

Puede observarse de los resultados expresados en las tablas que el tama no de la poblaci on afecta de forma considerable el resultado del error obtenido. Adem as la funci on de mapeo que se utiliza tambi en afecta los resultados. Esto es f acil de observar en los resultados para una tama no de poblaci on de 500, tanto la media aritm etica del error, como la desviaci on est andar son menos de la mitad de los obtenidos con el mapeo de la norma.

5.3.2.

Algoritmo gen etico multimodal


Los par ametros para el algoritmo gen etico multimodal son los siguientes: el valor

para el par ametro del radio es jado a 1.0; en cada ejecuci on del programa se corrieron 300 generaciones; se usaron 1000 ejecuciones para calcular la desviaci on est andar y la media aritm etica del error. Se usaron poblaciones de tama nos 100, 200, 300, 400 y 500 para comparar los resultados. Los resultados para el c alculo de la desviaci on est andar usando el mapeo con la funci on h y la funci on g son mostrados en la Tabla 5.5 y los resultados para la media aritm etica del error son mostrados en la Tabla 5.6. Tabla 5.5: Media aritm etica del error de poblaci on, utilizando el algoritmo 100 h(x) 5.186 g(x) 3.408 para el mejor individuo obtenido para varios tama nos gen etico de conservaci on de especies. 200 300 400 500 3.758 3.155 2.811 2.645 2.450 1.932 1.671 1.465

Tabla 5.6: Desviaci on est andar para el valor del error para para el algoritmo gen etico de conservaci on de especies. 100 200 300 400 h(x) 1.712 1.387 1.211 1.095 g(x) 1.696 1.293 1.066 0.922

varios tama nos de poblaci on 500 0.992 0.853

Al utilizar el algoritmo gen etico de conservaci on de especies no se presentan mejoras considerables con respecto al algoritmo gen etico est andar, incluso el algoritmo gen etico de conservaci on de especies presenta un valor de la desviaci on est andar m as alto en el caso del mapeo con la funci on g(x). El algoritmo gen etico de conservaci on de especies fue dise nado para encontrar m as de un optimo de una funci on dada, y este presenta un par ametro adicional que debe ser inicializado: el radio. El valor que se asigne al radio tiene un efecto directo en el desempe no del mismo [Li J.-P.02].

5.3. B usqueda de puntos iniciales para el an alisis de sistemas din amicos.

57

5.3.3.

Optimizaci on de enjambre de part culas.


Los par ametros para el algoritmo de optimizaci on de enjambre de part culas fueron

los siguientes: el valor para el par ametro del radio es jado en 1.0; en cada ejecuci on se corrieron 300 iteraciones; se utilizar on 1000 corridas para el c alculo del valor de la desviaci on est andar y la media aritm etica del error. Se utilizar on enjambres con tama nos de 100, 200, 300, 400 y 500 part culas para comparar los resultados. Los resultados para la desviaci on est andar utilizando el algoritmo de optimizaci on de enjambre de part culas para la funci on h y la funci on g son mostrados en la Tabla 5.7 y los resultados para la media aritm etica del error son mostrados en la Tabla 5.8. Tabla 5.7: Media aritm etica del error para el mejor individuo obtenido para varios tama nos de enjambre, utilizando el algoritmo de optimizaci on de enjambre de part culas. 100 200 300 400 500 h 0.082 0.029 0.013 0.006 0.007 g 0.092 0.032 0.012 0.008 0.005

Tabla 5.8: Desviaci on est andar para el valor del error para varios tama nos de enjambre para el algoritmo de optimizaci on de enjambre de part culas. 100 200 300 400 500 h 0.211 0.094 0.058 0.038 0.039 g 0.246 0.113 0.051 0.040 0.028

En el uso del algoritmo de optimizaci on de enjambre de part culas se obtuvieron mejores resultados que con el algoritmo gen etico est andar y de conservaci on de especies, incluso para tama nos de poblaci on peque nos, llegando a un error de un orden de 103 y una desviaci on est andar de dos cent ecimas. Tambi en se observa que al utilizar la funci on de mapeo g se obtienen mejores resultados, aunque la mejora no es tan considerable como en el caso de los algoritmos gen eticos. Este algoritmo adem as est a dise nado para encontrar m as de un optimo de la funci on dada, pero requiere de dos par ametros adicionales, el radio y el n umero de part culas por especie. La asignaci on de un valor adecuado de estos par ametros no es trivial y muchas veces requiere de experimentaci on o m etodos externos para su c alculo, adem as de que estos afectan el desempe no del algoritmo [Li06]. Como se ha mostrado con los resultados obtenidos, el algoritmo de optimizaci on de enjambre de part culas brinda mejores resultados, pero debe tenerse en cuenta que necesita

58

Cap tulo 5: Resultados

de dos par ametros extra que deben ser inicializados. Cada uno de los algoritmos presenta diferentes caracter sticas. El algoritmo gen etico est andar solo requiere de inicializar el n umero de individuos en la poblaci on inicial, no es necesario tener informaci on adicional de la funci on a optimizar, puede obtenerse una mejora considerable utilizando una funci on de mapeo como la presentada en la Ecuaci on 5.10, y puede usarse en conjunto con un algoritmo num erico de gradiente, utilizando el optimo encontrado como punto inicial para el algoritmo num erico. Aunque el algoritmo gen etico est andar solo permite obtener un solo optimo, es posible realizar una nueva b usqueda adicional descartando la regi on donde ya ha sido encontrado un optimo. El algoritmo gen etico de conservaci on de especies es un algoritmo dise nado para encontrar m as de un optimo en una funci on determinada. Seg un los resultados, no presenta mejoras considerables en la precisi on. Al igual que en el caso del algoritmo gen etico est andar, los resultados pueden mejorarse utilizando una funci on de mapeo diferente y utilizando los optimos reportados por el algoritmo como puntos iniciales en algoritmos num ericos basados en gradiente. A diferencia del algoritmo gen etico est andar mediante el algoritmo gen etico de conservaci on de especies pueden encontrarse m as de un optimo en una sola corrida, pero es necesario determinar el valor adecuado del par ametro de radio. Si no se posee informaci on de la funci on que se est a optimizando como podr a ser una distancia aproximada entre dos optimos o su distribuci on, inicializar el radio puede ser una tarea complicada que requiera de un an alisis por separado o el uso de m etodos auxiliares [Li J.-P.02]. El algoritmo de optimizaci on de enjambre de part culas es el que presenta mejores resultados; al igual que el algoritmo gen etico de conservaci on de especies esta dise nado para encontrar m ultiples optimos. La desventaja del algoritmo de optimizaci on de enjambre de part culas es que presenta dos par ametros a inicializar, el radio y el n umero de part culas por especie. Al igual que en algoritmo gen etico de conservaci on de especies no hay un m etodo est andar para inicializar el par ametro del radio; una adecuada inicializaci on depende en gran medida del conocimiento que se tenga de la funci on a optimizar. El valor del par ametro de n umero de part culas por especie es de particular importancia, la eciencia del algoritmo para encontrar m as de un optimo depende de cuantas part culas sean expulsadas de una especie y reinicializadas de forma aleatoria en el espacio de b usqueda. Si son conservadas un gran n umero de part culas por especie es posible que no queden sucientes para explorar todo es espacio, si se conservan muy pocas, el algoritmo podr a tener problemas de conver-

5.4. Detecci on de regiones que contienen optimos

59

gencia. Al seleccionar el valor del n umero de part culas a conservar tambi en debe tomarse en cuenta el valor del radio. Un radio muy peque no implica una gran cantidad de especies, exhibiendo un efecto similar al de seleccionar un n umero muy grande de part culas a conservar. Un radio muy grande causa un efecto contrario, semejante al de tener muy pocas part culas por especie, mala convergencia. Debe encontrarse una buena relaci on entre los dos par ametros lo cual no siempre es f acil de lograr.

5.4.

Detecci on de regiones que contienen optimos


En esta secci on se muestran los resultados obtenidos mediante el algoritmo de

convex hull incremental; se muestran ejemplos con una de las funciones de prueba para algoritmos multimodales. Se muestra adem as el uso de este algoritmo en la b usqueda de puntos jos para an alisis de sistemas din amicos.

5.4.1.

M aximos de la funci on de Levy #5


El problema que se analiza es encontrar todos los m aximos de la funci on Levy #5

[Mishra06] descrita por la Ecuaci on 5.12

f (x) =
i=1

i cos[(i + 1)x1 + i]
i=1

i cos[(i + 1)x2 + i] (5.12)

+(x1 + 1.42513)2 + (x2 + 0.80032)2

en la regi on restringida por x1 [5, 5] y x2 [5, 5]. La Figura 5.2 muestra la gr aca de la funci on Levy #5. Para este experimento se decidi o utilizar una distribuci on inicial uniforme de puntos, debido a que como se mostr o en el Cap tulo 4, genera convex hulls regulares y estos encierran de manera completa la regiones de inter es. Despu es de aplicar el m etodo propuesto para una muestra inicial de 10, 000 puntos y de la aplicaci on de los ltros, todas las 200 regiones con un m aximo fueron encontradas. Los resultados son mostrados en la Figura 5.3 El resultado obtenido puede parecer simple, pero si tomamos en cuenta las observaciones de los resultados obtenidos en la secci on anterior, un algoritmo gen etico est andar tendr a que ser corrido un m nimo de 200 ocasiones para obtener todos los optimos; esto sin considerar que las regiones donde se encuentran los optimos no son regulares, seleccionar

60

Cap tulo 5: Resultados

200 100 0 100 5 0 5

Figura 5.2: Gr aca de la funci on levy

4 2 0 2 4 4 2 0 2 4

Figura 5.3: Regiones determinadas para la funci on levy. las regiones a descartar puede compararse con la inicializaci on del par ametro del radio para los algoritmos evolutivos dise nados para encontrar m as de un optimo. Para los algoritmos que necesitan de un par ametro de radio (conservaci on de especies, optimizaci on de enjambre de part culas, etc.), si no se tiene informaci on de la funci on de Levy, esta presenta regiones con optimos de diversos tama nos. Encontrar un valor adecuado para el radio puede ser un trabajo complicado. En lo que respecta al n umero de individuos en la poblaci on inicial, para el caso del algoritmo gen etico de conservaci on de especies no hay referencias bibliogr acas, este par ametro tendr a que ajustarse mediante experimentaci on. En el caso de enjambre de

5.4. Detecci on de regiones que contienen optimos

61

part culas, a un sabiendo que tenemos 200 optimos, y si tenemos un valor adecuado del radio, si el n umero de part culas por especie es jado a 20 necesitar amos 4, 000 part culas; adem as tenemos que agregar part culas libres para exploraci on. Tomando el doble de las part culas calculadas, la cantidad necesaria se acerca al n umero de puntos que se utiliz o en el muestreo inicial para el algoritmo de convex hull. Adem as debe tomarse en cuenta de que el algoritmo de convex hull calcula todas las regiones en una sola corrida, los algoritmos evolutivos regularmente se corren por al menos 100 generaciones, y se realizan de 10 a 20 corridas, debido a su naturaleza no determinista.

5.4.2.

Determinaci on de puntos jos en sistemas din amicos.


El algoritmo de convex hull fue utilizado para resolver el problema de encontrar

todas las soluciones de un sistema de ecuaciones no lineales dentro de una regi on determinada. El algoritmo propuesto ha sido probado con varios sistemas de ecuaciones, las cuales provienen de varias fuentes y autores [Seidel99, Kuznetsov98, H.-J. Krug85]. Se muestra un ejemplo donde se encuentran todos los puntos jos para un sistema din amico. Un punto jo de un sistema din amico puede ser encontrado resolviendo el sistema de ecuaciones diferenciales que modelan el sistema din amico, cuando todas sus derivadas son iguales a 0. Esto es, encontrando todas las soluciones de un sistema de ecuaciones no-lineales. El sistema din amico para nuestro ejemplo es el sistema el ectrico de potencia descrito en la Secci on 5.1. Solo las variables m , y V son consideradas, debido a la restricci on de la Ecuaci on 5.1, que restringe el valor de a 0. Todos los otros s mbolos son valores constantes los cuales se indican en la Tabla 5.1. Los rangos espec cos para las variables y el n umero de puntos que se utiliz o para cada una de ellas para la inicializaci on de la malla son mostradas en la Tabla 5.9. Tabla 5.9: Valores de los rangos de y V. variable m V b usqueda y n umero de puntos para las variables m , , rango [0, 0.35] [0.05, 15] [1.0, 1.4] n umero de puntos 36 16 41

Se utiliz o la funci on descrita en la Secci on 5.2 para transformar el problema de

62

Cap tulo 5: Resultados

b uscar soluciones en uno de encontrar m aximos. La Ecuaci on 5.10 mapea todos los ceros a uno y los convierte en m aximos. Todos los otros valores de f ser an mapeados a valores m as peque nos de 1. Usando esta transformaci on el problema es ahora encontrar todos los x X tales que g(x) = 1. Hemos transformado el problema de encontrar soluciones en uno de encontrar m aximos. La primera regi on encontrada por el algoritmo (ver la Figura 5.4) corresponde a una condici on inicial conocida: el punto jo (m , , V ) = (0.2858, 0.10662, 1.2295) se encuentra dentro del convex hull generado.
0.120 0.115 0.110 0.105 0.100 1.240 1.235 V 1.230 1.225 1.220 0.280 0.285 0.290 m 0.295 0.300

Figura 5.4: Primer convex hull generado.

Como se coment o en la secci on anterior, una de las ventajas del m etodo es que la primera regi on es obtenida en cuesti on de algunos segundos. Dado que la funci on es monot onica dentro del convex hull, cualquiera de los puntos que forman el convex hull, o puntos interiores a este pueden ser usados como puntos iniciales de un algoritmo num erico basado en gradiente. A pesar de ser necesario un mayor n umero de puntos para el algoritmo basado en convex hull, comparado con los algoritmos evolutivos, los convex hulls pueden ser examinados en cuanto sean generados por el algoritmo, para determinar con precisi on cual es el optimo que est a encerrado en este (como se explica en el Cap tulo 4, tenemos la certeza de que habr a un optimo encerrado en cada convex hull generado).

5.5. Trazo de diagramas de bifurcaci on completos.

63

5.5.

Trazo de diagramas de bifurcaci on completos.


Dado el conjunto de ecuaciones diferenciales que modela un sistema din amico con

un solo par ametro x = f (x, ), x Rn , R1

(5.13)

La forma est andar de generar un diagrama de bifurcaci on consiste en encontrar un punto jo estable, y despu es, usando un m etodo de continuaci on se determina el siguiente punto jo, basado en la condici on

f (x, ) = 0

(5.14)

la cual dene una curva unidimensional suave en Rn+1 . Nuestra aproximaci on a este problema es determinar todos los puntos x X para una regi on dada X Rn que satisfacen la Ecuaci on 5.14 para un valor dado del par ametro . Para encontrar todos los puntos x, usando el algoritmo de optimizaci on de enjambre de part culas, primero transformamos el problema de encontrar todas las soluciones para la Ecuaci on 5.14 en un problema de encontrar todos los m aximos usando la transformaci on dada por la Ecuaci on 5.10. Comenzando con un valor = 0 , el algoritmo h brido de optimizaci on de enjambre de part culas es aplicado un n umero dado de iteraciones para encontrar todos los m aximos de la funci on g con el valor jo 0 . Una vez que son encontrados todos los puntos jos x para una regi on dada y par ametro jo 0 , estos son almacenados, entonces el par ametro es cambiado a 1 = 0 + y un nuevo conjunto de puntos jos x es determinado; la nueva b usqueda est a basada en la informaci on acumulada en el enjambre anterior. Basados en lo dicho anteriormente, el diagrama de bifurcaci on es generado cambiando el par ametro y almacenando todas las soluciones encontradas para cada valor k del par ametro. La estabilidad de los puntos obtenidos es determinada por el an alisis de los valores propios de la matriz del jacobiano para el sistema algebraico de ecuaciones evaluado en el punto. Los elementos de la matriz jacobiana son determinados utilizando diferenciaci on num erica mediante el algoritmo de diferenciaci on de Richardson [Kincaid91]; los valores propios son calculados primero transformando la matriz del jacobiano en su forma Hessemberg superior y despu es usando el algoritmo QR para obtener los valores propios de la

64

Cap tulo 5: Resultados

matriz del Jacobiano. El algoritmo de QR est a descrito en la Secci on 2.2, una descripci on m as completa de los algoritmos num ericos auxiliares puede encontrarse en [Kincaid91].

5.5.1.

Algoritmos num ericos auxiliares.


Aunque los algoritmos de inteligencia articial, en particular los algoritmos evolu-

tivos, proporcionan una forma de realizar la b usqueda automatizada de optimos para una funci on objetivo, es posible que solo se obtengan buenas aproximaciones a estos, o bien puede presentarse el caso de falsos positivos. Otro caso se presenta cuando un optimo esta situado en una regi on del dominio donde la funci on objetivo presenta una derivada casi igual a cero en una gran extensi on; en particular cuando esta es mucho mayor al valor del radio. En estos casos se pueden utilizar algoritmos num ericos est andar como auxiliares para mejorar la precisi on de los resultados o discriminar entre falsos positivos cuando estos se encuentran en regiones donde la derivada es muy cercana a cero. Cabe resaltar que el algoritmo basado en convex hull no tiene el problema de falsos positivos, los optimos de la funci on objetivo pueden ser determinados de forma u nica, adem as de que las regiones obtenidas se extienden hasta que la condici on de descenso estricto sea violada. Esto hace que las regiones se puedan extender y cubrir regiones tan amplias como la funci on presente un descenso, lo cual facilita el uso de los algoritmos num ericos dentro de las regiones obtenidas.

5.5.2.

Sistemas con un par ametro.


Se presentan dos ejemplos: son examinadas las formas normales para sistemas

din amicos con s olo un par ametro que muestran bifurcaciones, los tipos de bifurcaci on mostrados son: saddle-node, transcr tica, pichfork supercr tica y pichtfork subcr tica. Para cada caso se presenta una comparaci on de los diagramas de bifurcaci on generados con el programa xppaut y el algoritmo de optimizaci on de enjambre de part culas para una red el ectrica que ilustra el surgimiento del fen omeno colapso de voltaje cuando se presenta una variaci on de la carga. Formas normales para sistemas con un par ametro. Un punto jo asociado a un sistema din amico, donde la matriz del jacobiano presenta todos los valores propios con parte real diferente de cero, es llamado un punto

5.5. Trazo de diagramas de bifurcaci on completos.

65

jo hiperb olico. Si examinamos el comportamiento de este punto jo bajo la variaci on del par ametro, la condici on de que los valores propios de la matriz del jacobiano tengan todos parte real diferente de cero solo puede ser violada en dos formas: la parte real de un valor propio se aproxima a cero, o dos valores propios alcanzan el eje imaginario. Cuando la codici on es violada, las bifurcaciones que presenta el sistema din amico puede ser una de las bifurcaciones que surgen en los sistemas representados por las Ecuaciones 5.15 a 5.18.

x = x2 x = ( x)x x = ( x2 )x x = ( + x2 )x

(5.15) (5.16) (5.17) (5.18)

Estas ecuaciones son llamadas formas normales o formas normales topol ogicas, y son empleadas para reducir un sistema no-lineal dado a su forma mas simple posible, preservando la din amica en una vecindad del punto jo donde la condici on es violada. En este contexto, un sistema din amico con un par ametro puede ser reescrito mediante un cambio de variable, como una de las formas normales cerca del punto jo hiperb olico, teniendo ambos el mismo diagrama de bifurcaci on. El cambio de variable es regularmente no trivial. Para las formas normales el algoritmo de optimizaci on de enjambre de part culas fue inicializado con un enjambre de 500 part culas, un m aximo de 10 part culas por especie, y un valor de radio r = 0.15. El espacio de b usqueda para todas las formas normales fue el intervalo [2, 2], el valor inicial = 2.0 se increment o en = 0.05 hasta = 2.0. Para cada k el algoritmo se corri o 100 iteraciones. Los diagramas de bifurcaci on que fueron encontrados para cada una de las formas normales son mostradas en la Figura 5.5; estos resultados coinciden con aquellos encontrados en la bibliograf a (ver [Seidel99, Kuznetsov98]). Diagrama de bifurcaci on para un sistema el ectrico de potencia. Para la comparaci on de los diagramas de bifurcaci on creados utilizando algoritmos de inteligencia articial y los programas est andar, se utiliz o la red el ectrica descrita en la Secci on 5.1. Todos los par ametros tienen valores jos durante el an alisis, excepto Q1 , la demanda de potencia reactiva de la carga. Los par ametros de la carga, la red y el generador

66

Cap tulo 5: Resultados

1.5 1 0.5 x 0 -0.5 -1 -1.5 x

2 1.5 1 0.5 0 -0.5 -1 -1.5 0 0.5 1 1.5 2 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

(a)
1.5 1 0.5 x 0 -0.5 -1 -1.5 x 1.5 1 0.5 0 -0.5 -1 -1.5

(b)

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

1.5

(c)

(d)

Figura 5.5: Diagramas de bifurcaci on generados con el algoritmo de optimizaci on de enjambre de part culas para las formas normales: a) bifurcaci on saddle node (Ecuaci on 5.15), b) bifurcaci on transcr tica (Ecuaci on 5.16), bifurcaci on pichfork supercr tica (Ecuaci on 5.17) y bifurcaci on pichfork subcr tica (Ecuaci on 5.18)

son dados en la Tabla 5.1. El diagrama de bifurcaci on del sistema, relacionado la magnitud del voltaje V al par ametro de bifurcaci on Q1 (carga de potencia reactiva), es obtenido mediante la aproximaci on propuesta. Para mostrar la validez del resultado, el mismo an alisis es realizado empleando el programa de continuaci on/bifurcaci on xppaut. Para la red el ectrica, el algoritmo de optimizaci on de enjambre de part culas fue inicializado con un enjambre de 500 part culas, 20 part culas por especie y un valor de radio r = 0.1. Los intervalos para las cuatro variables para la red el ectrica son mostrados en la Tabla 5.10, el valor inicial Q1 = 10.0 fue incrementado en Q1 = 0.01 hasta Q1 = 11.5; para cada Q1k el algoritmo de optimizaci on de enjambre de part culas fue corrido por 100 iteraciones. Los puntos jos que fueron encontrados para la red el ectrica con el algoritmo

5.5. Trazo de diagramas de bifurcaci on completos.

67

de optimizaci on de enjambre de part culas y el diagrama de bifurcaci on generado por el programa xppaut son mostrados en la Figura 5.6. Tabla 5.10: Valores para los rangos de b usqueda de las variables. variable m rango [0, 1] variable rango [1, 1] variable rango [0, 1] variable V rango [0, 2]

V 1.3
1.3

1.2

1.2

1.1

1.1

1
V

1.0

0.9

0.9

0.8

0.8

0.7

0.7

0.6 10 10.2 10.4 10.6 10.8 Q1 11 11.2 11.4

0.6 10.0

10.2

10.4

10.6 Q1

10.8

11.0

11.2

11.4

(a)

(b)

Figura 5.6: Diagramas de bifurcaci on obtenidos: a) obtenido con el paquete de software xppaut y b) algoritmo de optimizaci on de enjambre de part culas h brido. De la Figura 5.6 puede observarse que se logra obtener un diagrama id entico al generado por el paquete de software xppaut. Incluso se pudo determinar la regi on de estabilidad del sistema (marcada con una l nea mas gruesa en la Figura 5.6(a) y con puntos negros en la Figura 5.6(b)). Utilizando el algoritmo de optimizaci on de enjambre de part culas no es necesario tener un punto inicial estable, ni siquiera es necesario un punto inicial. El m etodo busca todos los puntos jos (no necesariamente estables) del sistema en la regi on de b usqueda.

5.5.3.

Sistemas con dos par ametros.


En diagrama de bifurcaci on realizado en la secci on anterior es realizado variando

un s olo par ametro. Para realizar un an alisis m as completo de un sistema y obtener mayor informaci on de su comportamiento, es necesario realizar diagramas de bifurcaci on variando m as de un par ametro. El an alisis con m as de un par ametro esta limitado a cambiar un solo par ametro a la vez; esta limitante es impuesta por los algoritmos num ericos existentes [Eusebius]. Si se requiere, por ejemplo, construir una supercie que represente el diagrama

68

Cap tulo 5: Resultados

de bifurcaci on al variar dos par ametros, es necesario realizar el diagrama de bifurcaci on variando un par ametro y dejando el otro jo, lo cual da como resultado un conjunto de diagramas de bifurcaci on. Estos diagramas de bifurcaci on despu es son unidos manualmente para reconstruir una supercie. Con el m etodo establecido en la secci on anterior no es necesario jar un par ametro, cualquier n umero de par ametros puede ser cambiado al mismo tiempo. Adem as de que el proceso de generar un diagrama de bifurcaci on con el m etodo propuesto es realizado sin supervisi on; solo deben ser establecidos los par ametros para el m etodo y este realiza todo los pasos, incluyendo la determinaci on de la estabilidad de cada uno de los puntos jos calculados. En esta secci on se genera un diagrama de bifurcaci on variando dos par ametros. El diagrama de bifurcaci on obtenido es comparado con resultados obtenidos mediante los m etodos est andar. Se analiza el sistema el ectrico de potencia descrito en la Secci on 5.1, con la variaci on de que este presenta un sistema de excitaci on r apido en el generador sin limitador de voltaje de campo. La red el ectrica es mostrada en la Figura 5.7.

Figura 5.7: Diagrama del sistema el ectrico de potencia. La din amica del sistema est a gobernada por las seis ecuaciones diferenciales ordinarias 5.19 a 5.24

L = {P P1d P0 P1 [(Q Q1d Q0 V


2 Q2 VL (Q3 Bc )VL )/Q1 P3 VL ]}/P2

(5.19) (5.20) (5.21)

m = b = [D + Pm (Eqp Iq + Edp Id + (Xdp Xqp )Id Iq )]/2H

5.5. Trazo de diagramas de bifurcaci on completos.

69

Tabla 5.11: Valores constantes para los par ametros en el sistema de ecuaciones diferenciales. par ametro valor par ametro valor par ametro valor par ametro valor Pm 0.4 Y1 4.9752 Y2 1.6584 Y 4.9752 1 -1.4711 2 -1.4711 -1.4711 eb 1.0 Em 1.0 Xd 1.79 Xq 1.71 Xdp 0.169 Xqp 0.23 Tdop 4.3 Tqop 0.85 P0 0.4 Q0 0.8 P1 0.24 Q1 -0.02 P2 1.7 Q2 -1.866 H 2.894 Wb 377.0 D 0.05 P3 0.2 Q3 1.6 Q1d 0.0 P1d 0.0 Bc 0.2 KA 200.0 TA 0.01 vref 1.1223 qp = E fd = E L = Eqp + (Xd Xdp )Id + Ef d Tdop Ef d + KA (Vref Vt ) TA 2 Q Q1d Q0 Q2 VL (Q3 Bc )VL Q1 (5.22) (5.23) (5.24)

En estas ecuaciones las variables de estado est an denidas como sigue: m es la fase de angulo del generador de voltaje, es la velocidad del rotor, L es el angulo de fase de la carga de voltaje y VL es la magnitud de la carga de voltaje. Las funciones P y Q que aparecen en estas ecuaciones, representan respectivamente, la potencia activa y reactiva subministrada a la carga por la red. Estas est an denidas en las Ecuaciones 5.25 y 5.26

2 Y1 cos 1 = Vt VL Y1 cos (L 1 ) VL 2 +Eb VL Y2 cos (L 2 ) VL Y2 cos 2

(5.25)

2 Q = Vt VL Y1 sin (L 1 ) VL Y1 sin 1 2 +Eb VL Y2 sin (L 2 ) VL Y2 sin 2

(5.26)

Las siguientes ecuaciones algebraicas son necesarias para la denici on del sistema de ecuaciones diferenciales de las Ecuaciones 5.19 a 5.24

a = Y1 VL cos (L m + 1 ) b = Y1 VL sin (L m + 1 ) Bp = sin Y Xdp Ap = Y Xqp sin

(5.27) (5.28) (5.29) (5.30)

70 Xqp Xq cos2 Ap Bp Wp (Y cos Eqp + bBp a cos ) 1 + Wp Y Bp cos (Y Eqp a) Bp (Y Edp b)) cos2 + Ap Bp cos (Y Edp b) + Bp (Y Eqp b) cos2 + Ap Bp Eqp + Xdp Id

Cap tulo 5: Resultados

Wp = Edp = Iq = Id = Vq =

(5.31) (5.32) (5.33) (5.34) (5.35) (5.36) (5.37) (5.38) (5.39)

Vd = Edp Xqp Iq Vt = Vi = Vq2 + Vd2 Vd Vq = m + arctan Vi

Las dem as variables que aparecen en las ecuaciones 5.19 a 5.39 son par ametros constantes, relacionados a la carga, a la red y al generador. Todos estos par ametros tienen valores jos durante el an alisis, excepto Pm y TA . Los valores para los par ametros est an dados en la tabla 5.11. El diagrama de bifurcaci on para el sistema, que relaciona la magnitud del voltaje V con los par ametros Pm y TA es obtenido mediante el m etodo propuesto. El diagrama de bifurcaci on obtenido es comparado con el diagrama realizado en un trabajo de tesis previo hacer del an alisis de sistemas de potencia. Los valores para el algoritmo de optimizaci on de enjambre de part culas son los siguientes: se utiliz o un enjambre de 600 part culas, un n umero de 25 part culas por especie y un radio r = 0.25. Los intervalos de b usqueda para las seis variables consideradas del sistema din amico son mostradas en la Tabla 5.12. El valor inicial Pm = 0.4 fue incrementado en Pm = 0.01 hasta un valor de Pm = 1.6; para cada Pmk el algoritmo de optimizaci on de enjambre de part culas fue corrido durante 100 ciclos. El valor inicial TA = 0.01 fue incrementado en TA = 0.0025 hasta un valor de TA = 0.25. Los diagramas de bifurcaci on generados con el paquete de software xppaut y el generado con el m etodo propuesto son mostrados en la Figura 5.8. Como se puede observar en la Figura 5.8 el diagrama de bifurcaci on obtenido por medio del algoritmo de optimizaci on de enjambre de part culas es el mismo que el generado por el paquete de software xppaut, incluso con mejor resoluci on. Cabe mencionar que el

5.5. Trazo de diagramas de bifurcaci on completos.

71

(a)

1.00 V pu 0.95 0.2 0.90 0.5 0.1 1.0 Pm pu 1.5 TA sec

(b)

Figura 5.8: Diagramas de bifurcaci on obtenidos: a) con el paquete de software xppaut y b) con el algoritmo de optimizaci on de part culas h brido

72

Cap tulo 5: Resultados

Tabla 5.12: Rangos de b usqueda para cada una de las seis variables de las Ecuaciones 5.19 a 5.24. variable rango variable rango m [0.5, 1.1] [0.3, 0.3] L [0, 0.3] VL [0.6, 1.4] Ef d [2, 2.6] Eqp [0.7, 1.3] diagrama generado con xppaut fue creado una l nea a la vez, y despu es cada l nea fue unida para formar el gr aco tridimensional. El diagrama generado con el m etodo propuesto fue construido de la misma manera, l nea por l nea, pero todo el proceso, incluyendo la construcci on de la gr aca nal fue totalmente automatizado. Otro punto importante a considerar es que el gr aco de la Figura 5.8(a) fue creado en un tiempo de varios meses de trabajo supervisado, el gr aco mostrado en la Figura 5.8(b), en comparaci on, fue generado en un tiempo total aproximado de dos d as, sin supervisi on. En el presente cap tulo se han presentado los resultados obtenidos al utilizar los algoritmos de inteligencia articial, adem as del m etodo propuesto basado en el algoritmo de convex hull incremental, en cada uno de los paso del an alisis de sistemas din amicos mediante el trazo del diagrama de bifurcaci on. Los algoritmos utilizados para la b usqueda de puntos jos, para su uso como puntos iniciales, ofrecen una herramienta de b usqueda automatizada eciente. Adem as se ha mostrado que en el caso del trazo de diagramas de bifurcaci on, estos muestran resultados semejantes a los de los algoritmos est andar con ventajas, como la no dependencia de un punto inicial estable. Para la construcci on de diagramas de bifurcaci on variando m as de un par ametro, se pueden obtener resultados sin la necesidad de supervisi on.

Cap tulo 6

Conclusiones y Trabajo Futuro


En este u ltimo cap tulo se resumen los resultados obtenidos, y se dan las conclusiones de los mismos. Tambi en son presentadas las l neas de investigaci on que se siguen actualmente y las que se pueden seguir a partir del trabajo realizado.

6.1.

Conclusiones
En la presente tesis se ha mostrado el uso de los algoritmos de inteligencia articial

como auxiliares en el proceso de an alisis de sistemas din amicos mediante el trazo de dia gramas de bifurcaci on. Esto se realiza siguiendo los pasos del an alisis de sistemas din amicos por medio del trazo del diagramas de bifurcaci on relacionados a uno o varios par ametros, y evaluando el uso de los algoritmos de inteligencia articial en cada uno de los pasos del an alisis. En la primera parte, la b usqueda de puntos jos estables, se ha mostrado el desempe no de tres tipos de algoritmos evolutivos; cada uno de ellos presenta caracter sticas propias en cuanto al n umero de par ametros a inicializar y el grado de precisi on de los puntos jos encontrados. Aunque la precisi on de estos algoritmos no supera a la de los algoritmos num ericos est andar, s proporcionan una herramienta de b usqueda automatizada. Esta sola caracter stica implica un ahorro de tiempo considerable para el investigador; a un sin tener mucha informaci on de la funci on que se analiza, es posible encontrar buenas aproximaciones, algunas veces en cuesti on de minutos. Aun si la b usqueda de puntos jos tardara d as, se realiza de forma completamente automatizada, sin necesitar la supervisi on del investigador. Si los puntos obtenidos no tienen una precisi on adecuada, pueden ser usados como 73

74

Cap tulo 6: Conclusiones y Trabajo Futuro

puntos iniciales para los algoritmos num ericos est andar. Otra caracter stica de los algoritmos evolutivos es que no dependen de las propiedades de la funci on a analizar como son la continuidad y la diferenciabilidad. Como se comenta en el Cap tulo 5 cada uno de los algoritmos evolutivos analizados presenta caracter sticas propias; aunque el algoritmo de optimizaci on de enjambre de part culas presenta mejores resultados en lo que respecta al valor del error, y es posible encontrar m as de un optimo, este requiere de m as par ametros a inicializar. Con la descripci on realizada de las caracter sticas de los algoritmos evolutivos es posible decidir cual es m as adecuado para el problema que se este analizando. As pues, se ha demostrado la utilidad de los algoritmos evolutivos en la b usqueda de puntos jos para el an alisis de sistemas din amicos. Tambi en se ha mostrado, dentro del ambito de los algoritmos evolutivos, no propiamente de su aplicaci on, sino del desarrollo de los mismo, que su desempe no es afectado por la funci on de mapeo que se utilice. Existe muy poca informaci on acerca de los efectos de la funci on de mapeo [Goldberg00] y en la presente tesis s olo se muestra la comparaci on de los resultados obtenidos con dos diferentes funciones de mapeo. En este trabajo de tesis tambi en se ha presentado un nuevo algoritmo para optimizaci on multimodal, el algoritmo de optimizaci on basado en convex hulls. Como se mostr o en el Cap tulo 3, los algoritmos evolutivos dise nados para problemas multimodales dependen de par ametros adicionales; uno de ellos, el radio, es de particular inter es. El valor que sea asignado a este par ametro no s olo afecta el tiempo de corrida del algoritmo, sino que tambi en puede afectar la correcta localizaci on de los optimos de una funci on. El problema de encontrar un valor adecuado para el radio, a un es un problema abierto de algoritmos evolutivos. El algoritmo presentado no tiene dependencia en par ametros como el radio. Como se ha mostrado en los Cap tulos 4 y 5, el algoritmo basado en convex hulls muestra una mejora considerable al utilizarlo con una distribuci on uniforme (i.e. una rejilla rectangular) y aunque la complejidad del algoritmo es de O(N 2N ), donde N es la dimensi on del problema. Si se toma N ja, el algoritmo a un se considera de complejidad polinomial, lo cual implica que es un algoritmo eciente computacionalmente. Adicionalmente al desarrollo del algoritmo basado en convex hulls, tambi en se ha propuesto una representaci on para facetas en un espacio n-dimensional, que simplica la implementaci on del algoritmo de convex hulls para el caso general. Esta representaci on tambi en reduce los recursos de c omputo utilizados por el algoritmo de convex hulls al reducir de forma considerable la

6.2. Trabajo futuro

75

estructura de datos de las facetas. Al momento no existe ninguna referencia de algoritmos semejantes al que se presenta en esta tesis, basado en convex hull incremental. En lo que respecta al u ltimo paso del an alisis de sistemas din amicos, el trazo de diagramas de bifurcaci on, se han mostrado resultados para diagramas de bifurcaci on que dependen de un par ametro, que son comparables cualitativamente con los obtenidos por programas est andar de uso com un, con la ventaja de que el m etodo propuesto no depende de un valor inicial. Adem as, el algoritmo propuesto para el trazo de diagramas de bifurcaci on, diere de los algoritmos num ericos est andar en que no se sigue el cambio de un solo punto inicial; son buscados todos los puntos jos de un sistema en una regi on dada, sin importar si son inestables, y se siguen los cambios que estos presentan al variar uno o m as par ametros del sistema. El m etodo puede detectar cuando un nuevo punto jo aparece (o desaparece) al variar un par ametro. Tambi en se presentan resultados para diagramas generados con la variaci on de dos par ametros. Es aqu donde el m etodo propuesto para el trazo de diagramas de bifurcaci on, basado en algoritmos evolutivos ha mostrado tener ventajas considerables. Mientras que para realizar un an alisis variando dos par ametros con los algoritmos num ericos est andar es necesario generar un conjunto de diagramas con un par ametro jo y variar el segundo; el m etodo propuesto permite variar dos o m as par ametros al mismo tiempo. En lo que respecta al tiempo de c alculo, el diagrama de bifurcaci on con dos par ametros realizado con los paquetes de software est andar fue realizado en meses de trabajo, mientras que con el m etodo propuesto esto se logra en dos d as, y de manera automatizada. Es necesario notar que los algoritmos evolutivos no dependen de la continuidad de las funciones que se analizan. Esta propiedad puede ser utilizada para analizar sistemas din amicos que se modelen con funciones discretas, adem as de sistemas din amicos h bridos que son representados con funciones discretas, continuas o con funciones de escal on.

6.2.

Trabajo futuro
Las l neas de investigaci on que pueden desprenderse de la presente tesis abarcan

diversos campos. Se ha visto que al utilizar una funci on de mapeo diferente en los algoritmos evolutivos se pueden mejorar los resultados que se obtienen de estos. Es necesario un an alisis m as completo para determinar los efectos de diferentes funciones de mapeo, y determinar las caracter sticas de las funciones que brinden una mejora.

76

Cap tulo 6: Conclusiones y Trabajo Futuro

Se pretende extender el m etodo a sistemas de entorno din amico, y compararlo con el m etodo propuesto para el trazo de diagramas de bifurcaci on basado en optimizaci on de enjambre de part culas. Al utilizar el m etodo de convex hulls se esperan obtener mejores resultados en el trazo de diagramas de bifurcaci on, ya que este m etodo garantiza la obtenci on de todos los optimos de una funci on, con una frecuencia de muestreo adecuada. En el trazo de diagramas de bifurcaci on, los algoritmos evolutivos para entornos din amicos, como el utilizado para el trazo de diagramas de bifurcaci on, est an en constante desarrollo, debe realizarse un an alisis de nuevas variantes del m etodo que permitan tener mejores resultados, tanto en tiempo, como en precisi on de los mismos. Adem as se deben plantear nuevas estrategias para el problema del c alculo del radio; cada subespecie puede variar su radio dependiendo de las propiedades de las subespecies vecinas. Si no hay subespecies cercanas el radio debe aumentarse para cubrir una regi on m as amplia. Si existen subespecies que se intersecten, pueden analizarse sus individuos dominantes para crear una sola subespecie a partir de estas, o decrementar su radio con el n de mejorar sus convergencia. Los experimentos realizados han sido enfocados principalmente al estudio de sistemas din amicos que modelan sistemas el ectricos, pero el m etodo fue implementado de manera general para cualquier tipo de sistema din amico. Deben realizarse estudios de sistemas que se presentan en otras areas de investigaci on, como son reacciones qu micas, sistemas econ omicos, sistemas biol ogicos, entre otros. El presente trabajo puede ser usado como base para el an alisis de sistemas que presenten caracter sticas que diculten su an alisis con los m etodos num ericos est andar, como pueden ser sistemas que presenten discontinuidades, o tengan regiones donde las funciones no sean diferenciables, as como, sistemas h bridos modelados con funciones tanto continuas como discretas.

Referencias
[Abed84] Abed, E. y Varaiya, P. Nonlinear oscillations in power sys-

tems. International Journal of Electric Power and Energy Systems, 6(1):3743, January 1984. [Abed92] Abed, E., Alexander, J., Wang, H., Hamdan, A., y Lee, H. Dynamic bifurcations in a power system model exhibiting voltage collapse. Tech. Research Report, Systems Research Center, February 1992. [Aggarwal00] Aggarwal, V. Solving transcendental equations using genetic algorithms, 2000. URL http://web.mit.edu/varun ag/www/techwrite.html [Ajjarapu92] Ajjarapu, V. y Lee, B. The application of bifurcation theory to study the nonlinear dynamical phenomena in an electrical power system. IEEE Trans. on Power Systems, 7(1):424432, February 1992. [Baker87] Baker, J. E. Reducing bias and ineciency in the selection algorithm. in Proceedings of the Second International Conference on Genetic Algorithms and their Application (Hillsdale), p ags. 1421, 1987. [Chiang94] Chiang, H., Connen, T., y Flueck, A. in electric power systems. 331B(6):10011036, 1994. 77 Bifurcation and chaos

Journal of the Franklin Institute,

78

Referencias

[Clerc02]

Clerc, M. y Kennedy, J. The particle swarm: explosion, stability, and convergence in a multidimensional complex space. IEEE Transactions on Evolutionary Computation, 6(1):5873, 2002.

[Coello99]

Coello, C. A. C. A comprehensive survey of evolutionary-based multiobjective optimization techniques. Knowledge and Information Systems, 1(3):129156, 1999. URL citeseer.ist.psu.edu/coello98comprehensive.html

[Crina Grosan06]

Crina Grosan, A. A. y Gelbukh, A. Evolutionary method for nonlinear systems of equations. Advances in Articial Intelligence, p ags. 283293, 2006.

[D.J.95]

D.J., H. Special issue on nonlinear phenomena in power systems. Proceedings of IEEE, 83(11), November 1995.

[Eusebius]

Eusebius, D. auto, software for continuation and bifurcation problems in ordinary dierential equations.

[Franco P. Preparata85] Franco P. Preparata, M. I. S. Computational Geometry an Introduction. Springer-Verlag, New York, 1985. [Goldberg00] Goldberg, D. E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, London, 2000. [Govaerts00] Govaerts, W. J. Numerical Methods for Bifurcations of Dynamic Equilibria. Society for Industrial and Applied Mathematics, Philadelphia, 2000. [H.-J. Krug85] H.-J. Krug, L. K. Ein oszillierendes modellsystem mit autokatalytischem teilschritt. Z. Phys. Chemie, 266:6573, 1985. [Ian Dobson88] Ian Dobson, J. S. T., Hsiao Dong Chiang. A model of voltage collapse in electric power systems. IEEE proceedings of 27th. Conference on Decision and Control, p ags. 21042109, December 1988. [K.86] K., W. Modeling of power system components at severe disturban paper 38-18, International conference on large high ces. CIGRE voltage electric systems, August 1986.

Referencias

79

[Kennedy95]

Kennedy, J. y Eberhart, R. C. Particle swarm optimization. Proceedings of IEEE International Conference on Neural Networks, p ags. 19421948, 1995.

[Kennedy01]

Kennedy, J., Eberhart, R. C., y Shi, Y. Swarm intelligence. Morgan Kaufmann, San Francisco, 2001.

[Kincaid91]

Kincaid, D. y Cheney, W. Numerical Analysis Mathematics of Scientic Computing. Books/Cole, Pacic Grove, California, 1991.

[Kuznetsov98]

Kuznetsov, Y. A. Elements of applied bifurcation theory. SpringerVerlag, New York, 1998.

[Kwanty86]

Kwanty, H. G., Pasrija, A. K., y Bahar, L. Y. Static bifurcations in electric power networks: Loss of steady-state stability and voltage collapse. IEEE Trans. on Circuits and Systems, CAS-33(10):981 991, October 1986.

[Levenberg44]

Levenberg, K. A method for the solution of certain problems in least squares. Quart. Appl. Math., 2:164168, 1944.

[Li J.-P.02]

Li J.-P., P. G., Balazs M. y P., C. A species conserving genetic algorithm for multimodal function optimization. Evolutionary Computation, p ags. 207234, 2002.

[Li06]

Li, X., Branke, J., y Blackwell, T.

Particle swarm with speEn GEC-

ciation and adaptation in a dynamic environment.

CO 06: Proceedings of the 8th annual conference on Genetic and evolutionary computation, p ags. 5158. ACM Press, New York, NY, USA, 2006. ISBN 1-59593-186-4. doi: http://doi.acm.org/10.1145/1143997.1144005. [Mahfoud95] Mahfoud, S. W. Niching methods for genetic algorithms. Tesis Doctoral, Urbana, IL, USA, 1995. URL citeseer.ist.psu.edu/mahfoud95niching.html [Marquardt63] Marquardt, D. An algorithm for least-squares estimation of nonlinear parameters. SIAM J. Appl. Math., 11:431441, 1963.

80

Referencias

[Miller96]

Miller, B. L. y Shaw, M. J. Genetic algorithms with dynamic niche sharing for multimodal function optimization. En International Conference on Evolutionary Computation, p ags. 786791. 1996. URL citeseer.ist.psu.edu/miller96genetic.html

[Mishra06]

Mishra, S. K. Performance of repulsive particle swarm method in global optimization of some important test functions: A fortran program. Munich Personal RePEc Archive, August 2006. URL http://ssrn.com/abstract=924339

[nizares95]

nizares, C. A. C. On bifurcations, voltage collapse and load modeling. IEEE Trans. on Power Systems, 10(1):512522, February 1995.

[ORourke98]

ORourke, J. Computational Geometry in C. Cambridge University Press, New York, 1998.

[Parrott06]

Parrott, D. y Li, X. Locating and tracking multiple dynamic optima by a particle swarm model using speciation. En IEEE Transactions on Evolutionary Computation, tomo 10, p ags. 440458. 2006.

[Petrowski97]

Petrowski, A. A new selection operator dedicated to speciation. En T. B ack, ed., Proceedings of the Seventh International Conference on Genetic Algorithms (ICGA97). Morgan Kaufmann, San Francisco, CA, 1997. URL citeseer.ist.psu.edu/petrowski97new.html

[Randy L. Haupt04]

Randy L. Haupt, S. E. H. Practical Genetic Algorithms. John Wiley & Sons, New Jersey, 2004.

[Sacks91]

Sacks, E. P. tion.

Automatic analysis of one-parameter planar ISSN 0004-3702. doi:

ordinary dierential equations by intelligent numeric simulaArtif. Intell., 48(1):2756, 1991. http://dx.doi.org/10.1016/0004-3702(91)90079-Y.

Referencias

81

[Seidel99]

Seidel, R. World of bifurcation. online collection and tutorials of nonlinear phenomena, 1999. URL http://www.bifurcation.de/

[Singh06]

Singh, G. y Deb, K. Comparison of multi-modal optimization algorithms based on evolutionary alorithms. Genetic And Evolutionary Computation Conference, p ags. 13051312, 2006.

También podría gustarte