109
Estrategias Evolutivas aplicadas a los Algoritmos de Enjambres para el control de sistemas complejos Mario Andr ´ es Mu ˜ noz Tesis presentada como requisito para optar al t´ ıtulo de Magister en Ingenier ´ ıa –  ´ Enfasis Electr ´ onica Facultad de Ingenier ´ ıa Escuela de Ingenier ´ ıa El ´ ectrica y Electr ´ onica Santiago de Cali 2008

Estrategias Evolutivas Aplicadas a Los Algorithmos de Enjambres Para El Control de Sistemas Complejo - Copia

  • Upload
    jnt16

  • View
    30

  • Download
    0

Embed Size (px)

Citation preview

  • Estrategias Evolutivas aplicadas a losAlgoritmos de Enjambres para el control

    de sistemas complejos

    Mario Andres Munoz

    Tesis presentada como requisito para optar al ttulo deMagister en Ingeniera Enfasis Electronica

    Facultad de IngenieraEscuela de Ingeniera Electrica y ElectronicaSantiago de Cali2008

  • Estrategias Evolutivas aplicadas a los Algoritmos de Enjambres para elcontrol de sistemas complejos

    Mario Andres Munoz

    Director(es):Eduardo Francisco Caicedo, Ph.D.Jesus Alfonso Lopez, Ph.D.

    Evaluador(es):Unknown

    Universidad del ValleEscuela de Ingeniera Electrica y ElectronicaSantiago de Cali Enero de 2008

    Documento preparado en LATEX Ghostscript.

  • Resumen

    En este documento se presenta el desarrollo e implementacion de una metodologa parala autoadaptacion de algoritmos de Inteligencia de Enjambres por medio de la aplicacionde los conceptos de Estrategias Evolutivas. La metodologa hace uso del promedio deldesempeno de cada uno de los individuos del enjambre para determinar si los parametrosde la estrategia son los adecuados para las circunstancias actuales del problema. Por mediode esta realimentacion, el sistema prueba de manera controlada varios puntos en el espaciode parametros con el fin de obtener mejores soluciones.

    Se realizaron pruebas en tres escenarios diferentes: La busqueda del mnimo en diezfunciones de uso comun en la prueba de metodos de optimizacion; la sintonizacion de uncontrolador PID para un sistema de dos masas con flexibilidad y amortiguamiento; y laimplementacion de un control indirecto adaptativo para la Plataforma de Experimentacionde Temperatura Multizona (MuTEP). Los resultados obtenidos permitieron demostrar quela autoadaptacion permite el control de los parametros al seleccionar de un grupo demutaciones aquella que en la iteracion presente el mejor desempeno y que ademas permitedisenar controladores con mejores resultados en los problemas examinados, al alcanzarsendices de desempeno menores.

    Palabras Claves: Inteligencia Artificial, Computacion Evolutiva, Inteligencia de Enjambres,Estrategias Evolutivas, Control de Parametros, Diseno de Controladores, Algoritmos deOptimizacion.

    I

  • Abstract

    This document presents the development and implementation of an selfadaptationmethodology for Swarm Intelligence algorithms by the use of the concepts of the EvolutionStrategies. The methodology proposed uses the cost average of each swarm agent todetermine if the parameters of the strategy are the adequate for the current problemcircumstances. By this feedback, the system tests in a controlled way, several points in theparameter space with the objective to obtain better solutions. As proofs, three sceneries werechosen: The minimum search in ten benchmark functions, the tuning of a PID controller for atwomass system with flexibility and damping, and the implementation of an indirect adaptivecontroller for the Multizone Temperature Experimentation Platform (MuTEP). The resultsobtained showed that the swarm selfadaptation allows the parameter control by selecting,from a group of mutations, the one that achieves the best performance in the iteration, andalso helps in the design of controllers with better performance in the proposed problems.

    Keywords: Artificial Intelligence, Evolutionary Computation, Swarm Intelligence, EvolutionStrategies, Parameter Control, Controller Design, Optimization Algorithms.

    III

  • A mi familia. Sin su apoyo, consejos y paciencia, no podra haber terminado otraetapa de mi vida.

    A mis amigas, que me brindaron sus odos durante los momentos difciles.Por los suenos y victorias que vendran...

  • Indice general

    Introduccion 1

    Definicion del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Contenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1. Computacion Evolutiva: Sociedades para solucionar problemas 5

    1.1. Computacion Evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.2. Las Estrategias Evolutivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.3. Inteligencia de enjambres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.3.1. Optimizacion por Enjambre de Partculas . . . . . . . . . . . . . . . . 12

    1.3.2. Optimizacion por Colonia de Hormigas . . . . . . . . . . . . . . . . . . 14

    1.3.3. Optimizacion por Enjambre de Bacterias . . . . . . . . . . . . . . . . . 17

    VII

  • INDICE GENERAL

    1.3.4. Busqueda por Difusion Estocastica . . . . . . . . . . . . . . . . . . . 20

    1.3.5. Colonias de Abejas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    1.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2. Evolucion de enjambres 25

    2.1. Implementacion de Enjambres Evolutivos . . . . . . . . . . . . . . . . . . . . 26

    2.1.1. Evolucion de Enjambre de Bacterias . . . . . . . . . . . . . . . . . . . 28

    2.1.2. Evolucion de Enjambre de Partculas . . . . . . . . . . . . . . . . . . 29

    2.2. Evaluacion de desempeno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3. Sintonizacion de un Control PID por medio de enjambres evolutivos 41

    3.1. Sistema de dos masas con flexibilidad y amortiguamiento . . . . . . . . . . . 42

    3.2. Sintonizacion de controladores PID . . . . . . . . . . . . . . . . . . . . . . . 45

    3.3. Procedimiento y Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    3.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4. Regulacion de Temperatura en la Plataforma de Experimentacion de TemperaturaMultizona 49

    4.1. Plataforma de Experimentacion de Temperatura Multizona . . . . . . . . . . . 50

    4.2. Control Indirecto Adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    4.3. Procedimiento y Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    4.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    5. Conclusiones y Trabajos Futuros 69

    5.1. Discusion final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    VIII

  • INDICE GENERAL

    5.2. Publicaciones resultantes de la investigacion . . . . . . . . . . . . . . . . . . 70

    5.2.1. Artculos en Revistas . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    5.2.2. Trabajos en Conferencias . . . . . . . . . . . . . . . . . . . . . . . . . 71

    5.3. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    A. Tablas de resultados 75

    IX

  • INDICE GENERAL

    X

  • Indice de figuras

    2.1. Resultados para la funcion SCB . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.2. Resultados para la funcion PFUNC . . . . . . . . . . . . . . . . . . . . . . . 34

    2.3. Resultados para la funcion Peaks . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.4. Resultados para la funcion DeJong F1 . . . . . . . . . . . . . . . . . . . . . . 35

    2.5. Resultados para la funcion Grienwank . . . . . . . . . . . . . . . . . . . . . . 35

    2.6. Resultados para la funcion Rastrigin . . . . . . . . . . . . . . . . . . . . . . . 35

    2.7. Resultados para la funcion Ackley . . . . . . . . . . . . . . . . . . . . . . . . 37

    2.8. Resultados para la funcion DeJong F2 . . . . . . . . . . . . . . . . . . . . . . 37

    2.9. Resultados para la funcion Schaffer F6 . . . . . . . . . . . . . . . . . . . . . 37

    2.10.Resultados para la funcion Schewefel . . . . . . . . . . . . . . . . . . . . . . 38

    3.1. Sistema de dos masas con flexibilidad y amortiguamiento . . . . . . . . . . . 42

    3.2. Resultados obtenidos con el PID sintonizado por EvBSFO . . . . . . . . . . . 47

    3.3. Resultados obtenidos con el PID sintonizado por EvPSO . . . . . . . . . . . . 47

    XI

  • INDICE DE FIGURAS

    4.1. Aquitectura de la planta en la Plataforma de Experimentacion de TemperaturaMultizona (MuTEP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    4.2. Arquitectura general de la Plataforma de Experimentacion de TemperaturaMultizona (MuTEP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    4.3. Esquema de un Controlador Indirecto Adaptativo . . . . . . . . . . . . . . . . 52

    4.4. Resultados obtenidos con el IAC1 con identificacion por BSFO con referenciaconstante de 35C y volumen infinito . . . . . . . . . . . . . . . . . . . . . . 55

    4.5. Resultados obtenidos con el IAC3 con identificacion por IWPSO con referenciaconstante de 45C y volumen aislado . . . . . . . . . . . . . . . . . . . . . . 55

    4.6. Resultados obtenidos con el IAC1 con identificacion por EvBSFO conreferencia constante de 35C y volumen aislado . . . . . . . . . . . . . . . . 56

    4.7. Resultados obtenidos con el IAC2 con identificacion por EvBSFO conreferencia constante de 40C y volumen infinito . . . . . . . . . . . . . . . . . 56

    4.8. Resultados obtenidos con el IAC3 con identificacion por EvBSFO conreferencia variable y volumen infinito . . . . . . . . . . . . . . . . . . . . . . . 56

    4.9. Resultados obtenidos con el IAC1 con identificacion por EvPSO con referenciaconstante de 40C y volumen infinito . . . . . . . . . . . . . . . . . . . . . . 58

    4.10.Resultados obtenidos con el IAC2 con identificacion por EvPSO con referenciaconstante de 45C y volumen aislado . . . . . . . . . . . . . . . . . . . . . . 58

    4.11.Resultados obtenidos con el IAC3 con identificacion por EvPSO con referenciavariable y volumen aislado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    4.12.Temperatura final promedio con referencia fija . . . . . . . . . . . . . . . . . . 59

    4.13.Error relativo con referencia fija . . . . . . . . . . . . . . . . . . . . . . . . . 59

    4.14.Dispersion de la superficie con referencia fija . . . . . . . . . . . . . . . . . . 60

    4.15.Error cuadrado medio con referencia fija . . . . . . . . . . . . . . . . . . . . . 60

    4.16.Error absoluto medio con referencia fija . . . . . . . . . . . . . . . . . . . . . 61

    4.17.Error cuadrado por el tiempo medio con referencia fija . . . . . . . . . . . . . 61

    4.18.Error absoluto por el tiempo medio con referencia fija . . . . . . . . . . . . . . 62

    XII

  • INDICE DE FIGURAS

    4.19.Suavidad de la accion de control con referencia fija . . . . . . . . . . . . . . . 62

    4.20.Accion de control promedio con referencia fija . . . . . . . . . . . . . . . . . . 63

    4.21.Temperatura final promedio con referencia variable . . . . . . . . . . . . . . . 64

    4.22.Error relativo con referencia variable . . . . . . . . . . . . . . . . . . . . . . . 64

    4.23.Dispersion de la superficie con referencia variable . . . . . . . . . . . . . . . 65

    4.24.Error cuadrado medio con referencia variable . . . . . . . . . . . . . . . . . . 65

    4.25.Error absoluto medio con referencia variable . . . . . . . . . . . . . . . . . . 66

    4.26.Error cuadrado por el tiempo medio con referencia variable . . . . . . . . . . . 66

    4.27.Error absoluto por el tiempo medio con referencia variable . . . . . . . . . . . 67

    4.28.Suavidad de la accion de control con referencia variable . . . . . . . . . . . . 67

    4.29.Accion de control promedio con referencia variable . . . . . . . . . . . . . . . 68

    XIII

  • INDICE DE FIGURAS

    XIV

  • Indice de tablas

    1.1. Algoritmo de la Estrategia Evolutiva (/+, ) . . . . . . . . . . . . . . . . . 11

    1.2. Optimizacion por Enjambre de Partculas . . . . . . . . . . . . . . . . . . . . 13

    1.3. Optimizacion por Colonia de Hormigas . . . . . . . . . . . . . . . . . . . . . 16

    1.4. Optimizacion por Enjambre de Bacterias . . . . . . . . . . . . . . . . . . . . 19

    1.5. Busqueda por Difusion Estocastica . . . . . . . . . . . . . . . . . . . . . . . 21

    1.6. Algoritmo de Colmena de Abejas Artificiales . . . . . . . . . . . . . . . . . . 23

    2.1. Algoritmo de Enjambres Evolutivo . . . . . . . . . . . . . . . . . . . . . . . . 28

    2.2. Optimizacion por Enjambre de Bacterias Evolutivo . . . . . . . . . . . . . . . 29

    2.3. Optimizacion por Enjambre de Partculas Evolutivo . . . . . . . . . . . . . . . 30

    2.4. Parametros de los algoritmos para la prueba con funciones . . . . . . . . . . . 31

    2.5. Parametros de las funciones de prueba . . . . . . . . . . . . . . . . . . . . . 31

    2.6. Ecuaciones de las funciones de prueba . . . . . . . . . . . . . . . . . . . . . 32

    2.7. Resultados del ttest para el Algoritmo EvBSFO . . . . . . . . . . . . . . . . 39

    XV

  • INDICE DE TABLAS

    2.8. Resultados del ttest para el Algoritmo EvPSO . . . . . . . . . . . . . . . . . 39

    3.1. Parametros del sistema de dos masas . . . . . . . . . . . . . . . . . . . . . . 44

    3.2. Parametros de los algoritmos para la sintonizacion del control PID . . . . . . . 46

    3.3. Parametros del Controlador PID obtenidos por Enjambres Evolutivos . . . . . . 46

    3.4. Tiempos de establecimiento obtenidos con el experimento de referencia variable 48

    4.1. Parametros de los algoritmos para el control adaptativo . . . . . . . . . . . . . 54

    4.2. Indices de desempeno para la comparacion de los controladores . . . . . . . . 57

    A.1. Desempeno del Controlador Indirecto Adaptativo con volumen de controlinfinito y referencia fija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    A.2. Desempeno del Controlador Indirecto Adaptativo con volumen de controlaislado y referencia fija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    A.3. Desempeno del Controlador Indirecto Adaptativo con volumen de controlinfinito y referencia variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    A.4. Desempeno del Controlador Indirecto Adaptativo con volumen de controlaislado y referencia variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    XVI

  • Introduccion

    Para obtener una solucion a un problema, la primera decision a tomar es la seleccion deun metodo. Esta decision puede basarse en algunos aspectos subjetivos como preferenciaspersonales debidas al conocimiento practico y teorico del disenador, o aspectos objetivoscomo la complejidad del metodo al ser aplicado al problema. Sin embargo la seleccion de laherramienta adecuada puede determinar en gran manera el exito o no del proceso de diseno.

    Las siguientes decisiones estan relacionadas con la adaptacion del metodo al problemapropuesto. Cuando se trabaja con sistemas inteligentes, esta es una parte crtica debido aque estos sistemas poseen formas genericas que pueden ser utiles a una gran variedad deproblemas, pero es necesario seleccionar adecuadamente arquitecturas y parametros parasu correcto desempeno. Por lo general la seleccion de parametros se realiza por medio deuna busqueda sistematica hasta encontrar un conjunto de valores que resulten adecuados,pero se desconoce si estos son los mejores disponibles. Para evitar este inconveniente, sehan establecido estrategias que modifican los parametros del sistema durante la soluciondel problema principal, ya sea por reglas determinsticas sin realimentacion o por metodosadaptativos o evolutivos (autoadaptativos) que poseen realimentacion.Este documento presenta el desarrollo y aplicacion de una metodologa para laautoadaptacion de algoritmos de Inteligencia de Enjambres por medio de la aplicacion delos conceptos de Estrategias Evolutivas. La autoadaptacion utiliza los resultados promediodel enjambre para determinar si los parametros del sistema de busqueda son los adecuados.De esta manera el sistema prueba de manera controlada varios puntos en el espacio deparametros con el objetivo de obtener mejores soluciones.

    1

  • INTRODUCCI ON

    Definicion del Problema

    En Ingeniera de Control se presentan diferentes tipos de problemas que involucranel analisis de sistemas, algunos de los cuales, poseen caractersticas que los hacensusceptibles de ser solucionados por metodos convencionales o clasicos, como por ejemplopor medio de la sintonizacion de un controlador PID, debido a que existe un completomodelo determinstico. Sin embargo, existen problemas cuyas caractersticas impiden quesean rapida y eficientemente solucionados por metodos clasicos o convencionales. Estosproblemas involucran sistemas con multiples entradas y salidas, caractersticas no lineales,alto acoplamiento y presencia de fuertes disturbios. Este tipo de problemas pueden sersolucionados eficientemente con metodos inspirados en la biologa, psicologa y otrasciencias, dando nacimiento al Control Inteligente, el cual se encarga de utilizar tecnicas deinteligencia artificial en la solucion de problemas de identificacion, optimizacion y control.

    Los algoritmos de inteligencia de enjambres, que hacen parte de la inteligencia artificial,constituyen un metodo para solucionar problemas complejos por medio de la interaccion enparalelo de multiples agentes computacionales que modelan el comportamiento de algunosseres vivos que conforman grupos o enjambres tanto en la busqueda de alimento comoen estados de migracion y defensa. Estos algoritmos representan un metodo adicionalpara el diseno de sistemas de control que presenten buenos resultados sin el estudiointensivo necesario en las tecnicas convencionales. Sin embargo, estos algoritmos presentanla desventaja de considerar una poblacion de agentes cuyas caractersticas intrnsecas estandeterminadas por un conjunto de parametros estaticos seleccionados de manera emprica osistematica. El trabajo de seleccion puede llegar a ser tedioso y generar valores que no seanlos mas adecuados.

    Determinar el conjunto de parametros que permitan obtener la mejor respuesta a undeterminado problema requiere la incursion de mecanismos que permitan decidir, durante laejecucion, cuales son los mas adecuados de acuerdo a las circunstancias. Este mecanismo,conocido como autoadaptacion permiten a una poblacion la busqueda de su estado optimo,dandole a los algoritmos la adaptabilidad necesaria, para encontrar soluciones que tiendan ala optima.

    Objetivos

    El proyecto de investigacion tiene como objetivo principal el desarrollar y aplicar un metodobasado en la autoadaptacion de parametros existente en los algoritmos de EstrategiasEvolutivas para el control de parametros de un algoritmo de enjambres, de tal manera que

    2

  • Contenidos

    pueda ser util para disenar controladores que tiendan a ser optimos aplicables a sistemascomplejos. Con base en este objetivo, se definieron los siguientes objetivos especficos:

    Realizar un estudio del estado del arte para conocer las tendencias actuales en lainvestigacion de la inteligencia de enjambres, estrategias evolutivas y su aplicacion asistemas de control.

    Determinar la estrategia de control mas adecuada para ser utilizada con la optimizacionpor inteligencia de enjambres.Seleccionar los algoritmos de enjambres que posean las caractersticas necesariaspara desarrollar una estrategia del tipo seleccionado.

    Determinar que parametros dentro de la poblacion del enjambre son susceptibles a serevolucionados.

    Evaluar si la poblacion del enjambre, al aplicar una estrategia evolutiva, tiende a seroptima.

    Validar el comportamiento del controlador sobre la plataforma de experimentacion detemperatura multizona (MuTEP).

    Contenidos

    El documento se ha dividido en los siguientes captulos:

    El captulo 1 presenta una revision de los conceptos y una taxonoma de laComputacion Evolutiva, haciendo enfasis en las tecnicas de Inteligencia de Enjambresy Estrategias Evolutivas, para las cuales se presentan algunas aplicaciones relevantes.

    El captulo 2 presenta la metodologa de autoadaptacion de los algoritmos deenjambres, su aplicacion a dos algoritmos de busqueda en espacios continuos(Optimizacion por Enjambres de Partculas y Optimizacion por Enjambre de Bacterias)y un analisis estadstico de desempeno con respecto a las versiones estaticas de losmismos algoritmos para establecer que tipo de mejoras induce la autoadaptacion.El captulo 3 presenta el problema de control optimo de tiempo mnimo para el sistemade dos masas con flexibilidad y amortiguamiento y la aplicacion de los algoritmos deenjambres evolutivos para la sintonizacion de un controlador que permita obtener unarespuesta optimizada.

    3

  • INTRODUCCI ON

    El captulo 4 presenta la construccion de un controlador indirecto adatativo para laPlataforma de Experimentacion de Temperatura Multizona (Multizone TemperatureExperimentation Platform MuTEP) haciendo uso de los algoritmos de enjambresevolutivos como esquema de identificacion.

    Finalmente el captulo 5 presentan las conclusiones y las publicaciones resultantes deesta investigacion, ademas de los trabajos futuros propuestos para la continuacion dela tematica.

    Agradecimientos

    Un trabajo de investigacion de maestra solo es posible con la colaboracion de variaspersonas que ofrecieron sus ideas, ayuda e inclusive crticas. Deseo agradecer en primerainstancia a los profesores Eduardo F. Caicedo, Ph.D. y Jesus A. Lopez, Ph.D. cuya confianza,asesora y amistad, ha propiciado la culminacion este trabajo con exito. Al ingeniero WilfredoAlfonso, cuyo trabajo en MuTEP, sus aportes en inteligencia de enjambres y sobretodosu amistad, permitieron el enriquecimiento de este trabajo. A los profesores Jose MiguelRamrez, Ph.D. y Jorge Finke, Ph.D. por su evaluacion de la propuesta de este proyecto,sus comentarios, correcciones y crticas, que espero hayan incrementado la calidad de estetrabajo. A los ingenieros Hernan Bentez, Alexander Campo y Javier Castillo, por despejaralgunas dudas respecto a algunos temas puntuales durante la investigacion. A la audienciadurante las ponencias en los congresos CERMA 2006, ACA 2007 e IFSA 2007, donde seprodujeron algunas discusiones que fueron utiles para aclarar algunos conceptos.

    Finalmente, a la Universidad del Valle, al Programa de Postgrado en Ingeniera Electricay Electronica, y al Instituto Colombiano para el Desarrollo de la Ciencia y la TecnologaCOLCIENCIAS, por la beca otorgada por medio del proyecto Plataforma de ProcesamientoDistribuido, con Acceso Remoto Multiusuario y Emulacion de Sistemas Dinamicos, para laInvestigacion y Educacion en Ingeniera, contrato No. 1106-11-17707. Sin su financiacioneste trabajo no podra haberse realizado.

    4

  • CAPITULO 1

    Computacion Evolutiva: Sociedades para solucionarproblemas

    El ser humano se ha dado a si mismo el nombre cientfico de homo sapiens como unavaloracion de la trascendencia de sus habilidades mentales tanto para su vida cotidianacomo en su propio sentido de identidad, y por lo tanto, la comprension de estas habilidadesha permitido el nacimiento de ramas cientficas que se encargan, por diferentes metodos,de analizar, entender y, en un caso particular, emular la inteligencia. A esta rama enparticular se le conoce como Inteligencia Artificial o IA, la cual se enfoca en lograr no solola comprension de las entidades inteligentes sino su construccion. La importancia de la IA noradica unicamente en un esfuerzo de dotar de capacidades mentales a objetos inanimadossino tambien aprender mas acerca de la humanidad misma.

    La IA es una disciplina relativamente nueva y sus orgenes se remontan formalmente a1956, cuando el termino fue acunado [Russell96], sin embargo, el estudio de la inteligenciapuede remontarse a la antiguedad, cuando los filosofos se esforzaban por comprender comose ve, aprende, recuerda y razona, e inclusive como deberan ser realizadas estas tareas.Existen en la actualidad dos escuelas de pensamiento dentro de la IA de como deberanconstruirse y razonar las entidades inteligentes: La Inteligencia Artificial Convencional (GoodOld Fashioned Artificial Intelligence GOFAI), la cual define que las soluciones debenser elegantes, claras y probablemente correctas, e involucra metodos formales y logicos;y la Inteligencia Computacional (Computational Intelligence CI), la cual considera que la

    5

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    inteligencia es muy compleja para ser solucionada de manera formal, por lo tanto involucrametodos iterativos donde se desarrolla el conocimiento [Wikipedia08d].

    Si bien las soluciones logicas propuestas por GOFAI no pueden ser descartadas en variasaplicaciones, es claro que en algunas circunstancias, el desarrollo del conocimiento es masutil que su programacion. Las tecnicas de CI tienen cada vez una mayor acogida y a cadainstante se obtienen nuevos descubrimientos en sus tres campos: Las Redes NeuronalesArtificiales (Artificial Neural Networks ANN), los Sistemas Difusos (Fuzzy Systems FS) yla Computacion Evolutiva (Evolutionary Computation EC) [Wikipedia08b].En este captulo, se presenta una revision a los conceptos de la EC, en particular la ramade Inteligencia de Enjambres (Swarm Intelligence SI). En la seccion 1.1 se presentan lascaractersticas principales de la EC y sus dos ramas: los Algoritmos Evolutivos (EvolutionaryAlgorithms EA) y la Inteligencia de Enjambres. En la seccion 1.2 se presentan los conceptosbasicos de las estrategias evolutivas (Evolution Strategies ES), un EA cuya principalcaracterstica es la auto adaptacion de sus parametros. En la seccion 1.3 se presentan losconceptos basicos de SI y sus principales tecnicas. Finalmente en la seccion 1.4 se presentanalgunas conclusiones sobre la teora basica.

    1.1. Computacion Evolutiva

    Una de las aplicaciones mas comunes de la CI es la busqueda de la solucion optima enproblemas de alta complejidad, tanto en espacios continuos como discretos. Un algoritmo deoptimizacion es un metodo numerico que encuentra un valor i Rn, donde Rn es un espaciondimensional de busqueda, que minimiza o maximiza una funcion J (), por medio de laseleccion sistematica de valores de la variable i posiblemente con algunas restricciones.La variable i puede ser un escalar o un vector de valores discretos o continuos llamadosfunciones factibles, mientras que J () es llamada funcion objetivo. Una solucion factible queminimiza o maximiza la funcion objetivo es llamada una solucion optima [Wikipedia08a]. Untipo de problemas de optimizacion son aquellos que requieren combinaciones de valores, aestos problemas se le denominan de optimizacion combinatoria.

    Las tecnicas utilizadas para resolver problemas complejos de optimizacion combinatoria hanevolucionado progresivamente de metodos constructivos a metodos de busqueda local yfinalmente a algoritmos basados en poblaciones [Hertz00]. Estos ultimos son muy popularesactualmente puesto que proveen buenas soluciones al utilizar un metodo constructivo parala obtencion de la poblacion inicial, y una tecnica de busqueda local para mejorar la solucionde la poblacion. Ademas los metodos basados en poblaciones tienen la ventaja adicional deser capaces de combinar buenas soluciones en orden de obtener unas mejores, ya que se

    6

  • 1.1 Computacion Evolutiva

    considera que las buenas soluciones comparten componentes con las soluciones optimas.A estos metodos se les conoce como algoritmos de computacion evolutiva (EvolutionaryComputation EC).Los algoritmos de EC comprenden un conjunto de tecnicas iterativas que manejan unapoblacion de individuos que son evolucionados (modificados) mediante una serie de reglasque han sido claramente especificadas. En cada iteracion, periodos de auto adaptacion, loscuales implican cambios en el individuo; son alternados con periodos de cooperacion, los queimplican el intercambio de informacion entre individuos.

    Debido a que varios algoritmos pueden ser descritos de esta manera, al considerar el disenode un nuevo algoritmo de EC para la solucion de un problema particular de optimizacion, sedebe tener en cuenta las siguientes caractersticas principales:

    La existencia de individuos que pueden representar soluciones de un problema. Estassoluciones pueden ser factibles o no, parciales o completas, individuales o grupales.

    Un proceso de evolucion que permite definir los cambios en la poblacion a cadageneracion o de manera continua.

    Una definicion de vecindad que permite conocer el modo en que los individuosintercambian informacion. Puede ser estructurada si solo un grupo de la poblacionpuede conocer la informacion de un miembro, o por el contrario, todos los individuospueden tener acceso a la informacion.

    Un mecanismo que permita identificar las fuentes de informacion de un individuo, yaque la vecindad puede proveer una gran cantidad de informacion, se puede determinarcual es mas conveniente utilizar.

    Una medida de la factibilidad de la solucion obtenida, lo cual permite determinar cuales buena, optima o inadecuada.

    Un mecanismo de intensificacion, el cual corresponde al uso de metodos que puedangenerar mejoras significativas durante la fase de autoadaptacion. Este mecanismorealiza mejoras sobre un individuo sin tener en cuenta la informacion suministrada porotros individuos, permitiendo la intensificacion de la busqueda sobre algunas regionesdel espacio.

    Un mecanismo de diversificacion, el cual permite evitar convergencia hacia puntosoptimos locales. Este procedimiento modifica cada individuo independientemente, peroal contrario del mecanismo de intensificacion, tiene resultados inesperados sobre unindividuo. Un tipo de mecanismo de diversificacion es el operador mutacion en los GA.

    7

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    As, la EC representan un amplio grupo de tecnicas, basicamente dividida en dos ramas cuyasdiferencias fundamentales se encuentran en la aplicacion de los conceptos anteriores: LosAlgoritmos Evolutivos (Evolutionary Algorithms EA) y la Inteligencia de Enjambres (SwarmIntelligence SI).

    Los Algoritmos Evolutivos: Corresponden a un grupo de tecnicas estocasticas queutilizan los conceptos de evolucion biologica [Wikipedia08c]. Los EA actuan sobre unapoblacion de soluciones potenciales aplicando los principios de diversidad de individuosy supervivencia del mas fuerte para producir mejores aproximaciones a una solucion.En cada generacion, es creado un nuevo grupo de aproximaciones por el procesode seleccion de individuos de acuerdo a su nivel de desempeno en el dominiodel problema, y se cruzan entre si utilizando operadores que imitan los conceptosgeneticos. Este proceso lleva a la evolucion de poblaciones de individuos que estanmejor adaptados a su ambiente. Sus principales tecnicas son los Algoritmos Geneticos(Genetic Algorithms GA), las Estrategias Evolutivas (Evolutionsstrategie ES), laProgramacion Evolutiva (Evolutionary Programming EP) y la Programacion Genetica(Genetic Programming GP). Existen otros algoritmos que pueden ser catalogadosdentro de esta rama, uno de ellos es la Optimizacion por Matrimonio de Abejas(Marriage in Honey Bees Optimization MBO) [Abbass01], en el cual se simula elproceso de apareamiento en una colonia de abejas.Inteligencia de Enjambres: Corresponden a un grupo de tecnicas que estanbasadas en el estudio del comportamiento colectivo en sistemas auto organizadosy descentralizados (distribuidos) [Wikipedia08e]. Estos sistemas estan conformadostpicamente por una poblacion de agentes computacionales simples capaces depercibir y modificar su ambiente de manera local. Esta capacidad hace posible lacomunicacion entre los individuos, que detectan los cambios en el ambiente generadopor el comportamiento de sus semejantes [White06]. Aunque normalmente no hay unaestructura centralizada de control que dictamina como los agentes deben comportarse,las interacciones locales entre los agentes usualmente llevan a la emergencia de uncomportamiento global. Otra caracterstica adicional es la inexistencia de un modeloexplcito del ambiente. Dentro de esta rama las tecnicas principales son la Optimizacionpor Enjambre de Partculas (Particle Swarm Optimization PSO) y la Optimizacionpor Colonia de Hormigas (Ant Colony Optimization ACO). Existen otros algoritmosque pueden ser catalogados dentro de esta rama como lo es la Optimizacion porEnjambre de Bacterias (Bacteria Swarm Foraging Optimization BSFO), la Busquedapor Difusion Estocastica (Stochastic Diffusion Search SDS) y la Colonia Artificial deAbejas (Artificial Bee Colony ABC).

    Al examinar las diferentes caractersticas de cada rama de la EC, podemos establecer unaserie de diferencias entre las tecnicas, siendo la mas notoria la naturaleza centralizada de los

    8

  • 1.2 Las Estrategias Evolutivas

    EA frente al comportamiento distribuido en SI. Otra diferencia se encuentra en la interaccioncon la funcion objetivo, donde en los EA corresponde al nivel de desempeno y en la SI porlo general corresponde al ambiente a ser explorado. A su vez, los agentes en EA no puedenmodificar su ambiente, mientras que en SI esta caracterstica es fundamental. Al comprendermejor cuales son los mecanismos asociados a EA y SI, podemos examinar con detenimientolas estrategias evolutivas y algunas tecnicas de SI.

    1.2. Las Estrategias Evolutivas

    Las Estrategias Evolutivas (Evolutionsstrategie ES), creadas en la Universidad Tecnicade Berln en 1965 por H. P. Schwefel en su tesis de Maestra, corresponden a una de lasprincipales variantes dentro de los EA. En un principio las ES no fueron pensadas paracalcular mnimos o maximos de funciones estaticas con valores reales con un numero fijode variables y sin ruido durante la evaluacion, sino como una serie de reglas para el disenoy analisis de experimentos consecutivos con ajuste de variables paso a paso manejando unsistema apropiado [Beyer02].

    La optimizacion por ES esta basada en la hipotesis que durante la evolucion biologica, lasleyes de la herencia han sido desarrolladas para una rapida adaptacion filogenetica. Las ESimitan, en contraste a un algoritmo genetico, los efectos de los procedimientos geneticossobre el fenotipo1. La presuncion para codificar las variables en la realizacion de una ESson fuerte causalidad (pequenos cambios en la causa producen pequenos cambios en elefecto). El clmax de la teora de ES es el descubrimiento de la ventana de evolucion: Losprocesos evolutivos toman lugar unicamente dentro de una muy pequena banda en el pasode mutacion. Este hecho induce la necesidad de una regla para el tamano de los pasos deauto adaptacion (su principal caracterstica) y mutacion [Rechenberg08].En general, el objetivo tpico de una ES es optimizar (algunos) objetivos dados, o una funciono funciones de calidad, F con respecto a un grupo de variables de decision o parametros decontrol y = (y1,y2, . . .) llamados parametros objetivo, tales que:

    F (y) = opt.,y Y (1.1)

    En principio, Y puede ser cualquier grupo de estructura de datos finitos pero nonecesariamente de un tamano fijo. Ejemplos de Y son espacios de busqueda realesN-dimensionales Rn, el espacio de busqueda discreto Zn, el espacio de busqueda binario

    1Manifestacion visible de las caractersticas geneticas del individuo en un determinado ambiente

    9

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    Bn, el espacio de busqueda de permutacion Pn, tambien mezclas de diferentes espacios ysubespacios debidos a restricciones.

    Las ES operan sobre poblaciones de P individuos a. Un individuo ak con ndice k comprendeno solamente el grupo de parametros especficos (o vector) yk y su valor de la funcion objetivoFk = F (yk) a veces referido como desempeno o fitness, sino tambien a los parametrosendogenos o evolucionables de la estrategia Sk. Por lo tanto, ak se define de acuerdo a laecuacion 1.2.

    ak = (yk,Sk,Fk) (1.2)

    Los parametros endogenos de la estrategia son una peculiaridad de las ES y sonmodificados durante el proceso evolutivo. Estos parametros son utilizados para controlarciertas propiedades estadsticas de los operadores geneticos, especialmente el operador demutacion.

    En un paso generacional de la ES, un grupo de individuos hijos ai son generados a partir delgrupo de individuos padres am, por medio de mecanismos de cruza o mutacion. Usualmenteel tamano de la poblacion individuos hijos Po es diferente al tamano de la poblacion padrePp. Los parametros especficos de la estrategia y al igual que (denominado numero demezcla y representa el numero de padres involucrados en la creacion de un hijo) son llamadosparametros exogenos de la estrategia, los cuales son mantenidos constantes durante el cicloevolutivo.

    La manera en que la poblacion hijo es generada se expresa por la notacion (/+, ).Existen casos para los cuales no existe recombinacion ( = 1), denotados usualmente como( + ) y (, ). Los signos de + y , refieren al caso de seleccion a utilizar. Si se utilizala seleccion +, se seleccionan los individuos mas aptos unicamente de la poblacion hijo.Si se utiliza la seleccion ,, se seleccionan los individuos mas aptos de la poblacion padre yde la poblacion hijo. Notese como la recombinacion es realizada antes de la seleccion, por locual, cualquier individuo puede transmitir sus caractersticas a la siguiente generacion, si susdescendientes son aptos. En general, un algoritmo de ES (/+, ) realiza las operacionesmostradas en la tabla 1.1.

    Las ES desde su concepcion han encontrado multiples aplicaciones en diversos camposcomo por ejemplo el diseno y optimizacion de controladores clasicos, difusos y neuronales[Cordon97, Salomon97, Jin99, Pohlheim99, Hoffmann00, Wong03, Kim06]; la solucion deproblemas de enrutamiento de vehculos [Baran03, Homberger05, Mester07]; el diseno defiltros [Franzen98, Herrero03]; entre otros.

    10

  • 1.3 Inteligencia de enjambres

    Inicializar el contador de generaciones g = 0Inicializar la poblacion paterna P(0)p =

    (a1,a2, . . . ,a

    )aleatoriamente

    REPITAPARA l = 1 HASTA HACERSeleccionar Familia E P(g)p de tamano aleatoriamenteSI 6= 1Recombinar los parametros endogenos slRecombinar los parametros objetivo ylMutar los parametros endogenosMutar los parametros objetivoCalcular el desempeno Flbl = (yl ,sl ,Fl)

    SINORealizar una copia del padre (bl = arand)

    FIN SIFIN PARA

    P(g)o = (b1,b2, . . . ,b )CASO seleccion

    ( + ): P(g+1)p son individuos seleccionados de P(g)o(, ): P(g+1)p son individuos seleccionados de P(g)p y P(g)o

    FIN CASOIncrementar el contador de generaciones

    HASTA cumplir la condicion de terminacion

    Tabla 1.1: Algoritmo de la Estrategia Evolutiva (/+, )

    1.3. Inteligencia de enjambres

    La seleccion natural tiende a eliminar a las especies con estrategias de busqueda de alimentopoco evolucionadas y favorece la propagacion de aquellas que han sido exitosas en estatarea, puesto que es mas probable que disfruten del exito reproductivo. Este principio evolutivoha llevado a los cientficos en el campo de la Teora de Foraging a formular una hipotesisacerca del modelo apropiado para la busqueda de alimento como un proceso de optimizacion:Un animal buscando alimento toma las medidas necesarias para maximizar la energaobtenida por unidad de tiempo dedicada a su busqueda, teniendo en cuenta restriccionespresentadas por su propia fisonoma y ambiente. El balance de estas limitaciones permiteobtener una poltica de busqueda de alimento optima, la cual tambien es valida para labusqueda social donde grupos de animales se comunican para buscar alimento [Liu02].Existen diversas ventajas de utilizar un mecanismo de comunicacion para realizar unabusqueda cooperativa como lo son [Passino02]:

    Un incremento en la probabilidad de que se encuentren nutrientes. Cuando un individuoencuentra alimento puede informar al grupo su ubicacion, dando origen a un centro deinformacion que ayuda a la supervivencia del colectivo.

    Hay un incremento en la capacidad de atacar a una presa mayor.

    Permite protegerse de los depredadores.

    11

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    Al pensar que un grupo de individuos o enjambre se comporta como una sola criatura vivientela cual exhibe una Inteligencia Colectiva producto del agrupamiento y la comunicacion,resultando en una estrategia mas exitosa para todos los individuos del grupo, se puedencrear modelos de enjambres para ser utilizados como estrategias de optimizacion los cualesse conocen como Inteligencia de Enjambres. Este termino fue por primera vez utilizado en[Beni88] para referirse a sistemas roboticos celulares en los cuales un grupo de agentes enun ambiente, interactuan de acuerdo a una serie de reglas simples.

    En esta seccion se describiran los conceptos basicos de estas tecnicas, donde las masrepresentativas son la Optimizacion por Enjambres de Partculas (PSO) y la Optimizacionpor Colonia de Hormigas (ACO). Otras tecnicas consideradas de inteligencia de enjambresson la Optimizacion por Enjambre de Bacterias (BSFO), la Busqueda por Difusion Estocastica(SDS) y la Colonia Artificial de Abejas (ABC).

    1.3.1. Optimizacion por Enjambre de Partculas

    La Optimizacion por Enjambre de Partculas (PSO), desarrollada por J. Kennedy y R.Eberhart [Kennedy95], es un metodo de optimizacion para funciones no lineales en espacioscontinuos y discretos [Kennedy97], basado en la simulacion de un modelo social simple deldesplazamiento de cardumenes y bandadas. En un sistema PSO, la busqueda se realizautilizando una poblacion de partculas que corresponden a los individuos, cada uno de loscuales representa una solucion candidata al problema. Las partculas cambian su estado alvolar a traves del espacio de busqueda hasta que se ha encontrado un estado relativamenteestable. Un sistema PSO combina un modelo unicamente social, el cual sugiere que losindividuos ignoran su propia experiencia y ajustan su conocimiento de acuerdo a las creenciasexitosas de los individuos en la vecindad; y un modelo unicamente cognitivo, el cual trataa los individuos como seres aislados. Una partcula cambia de posicion utilizando estos dosmodelos [Ozcan99].

    Dentro de PSO, la iesima partcula es tratada como un punto dentro de un espacioNdimensional representada por Xi = (xi1,xi2, . . . ,xiN). La mejor posicion encontrada por lapartcula anteriormente, o sea aquella donde se obtuvo el mejor valor en la funcion de costo,es representada como pi = (pi1, pi2, . . . , piN). La mejor posicion encontrada por el total de lapoblacion es representada por el smbolo g. La rata de cambio de posicion (velocidad) parauna partcula i es representada como vi = (vi1,vi2, . . . ,viN). Las partculas son manipuladasde acuerdo a las ecuaciones:

    vin (t +1) = w vin (t)+ c1 R1 (pin xin (t))+ c2 R2 (pgn xin (t)) (1.3)

    12

  • 1.3 Inteligencia de enjambres

    Inicializar la poblacion ubicandola aleatoriamenteMIENTRAS no se cumpla el criterio de terminacion

    PARA i = 1 HASTA n HACERCalcular el costo de la partcula JiSI Ji < pid

    pid = JiFIN SISI Ji < pgd

    pgd = JiFIN SICalcular la nueva velocidad de i con la ecuacion 1.3Calcular la nueva posicion de i con la ecuacion 1.4

    FIN PARAFIN MIENTRAS

    Tabla 1.2: Optimizacion por Enjambre de Partculas

    xin (t +1) = xin (t)+ vin (t +1) (1.4)

    donde c1 y c2 son dos constantes positivas, R1 y R2 son dos numeros aleatorios en el rangode [0 1], y w es el peso inercial. La ecuacion 1.3 es utilizada para calcular la nueva velocidadde la partcula de acuerdo a su velocidad anterior y las distancias de su posicion actuala su mejor posicion y la mejor posicion dentro del grupo. Luego la partcula se desplazahacia una nueva posicion de acuerdo a la ecuacion 1.4. El peso inercial w, incluido a partirde [Shi98], es utilizado para controlar el impacto de las velocidades previas en la velocidadactual, influenciando el cambio entre las habilidades de exploracion global (rango amplio)o local (rango corto) de las partculas. Un peso inercial mayor facilita la exploracion globalpara buscar nuevas areas mientras que un peso inercial menor tiende a facilitar exploracionlocal para sintonizar finamente el area de busqueda actual. Una correcta seleccion del pesoinercial puede proveer un balance entre las habilidades de busqueda local y global, por lotanto requiriendo menores iteraciones para encontrar el punto optimo. En general el algoritmorealiza las operaciones mostradas en la tabla 1.2.

    Conceptualmente el algoritmo de PSO es bastante simple. Sin embargo, existe interes enencontrar maneras de mejorar el desempeno del algoritmo por medio de varias tecnicas.La primera modificacion se presenta en [Eberhart95] donde se explora el uso de vecindad,al seleccionar en lugar de la mejor posicion global pg, la mejor posicion de las mpartculas mas cercanas pl . En [Clerc99], se hace uso de un factor de constriccion Kque ayuda a la convergencia del algoritmo PSO al evitar que las partculas detengansu movimiento. En [Lvbjerg01, Lvbjerg02], se combinan los conceptos de PSO conla reproduccion encontrada en Algoritmos Geneticos, subpoblaciones y autoorganizacioncritica (SelfOrganized Criticality - SOC), como metodos para agregar diversidad a lapoblacion. En [Zhang03], se incluye un operador de evolucion diferencial, el cual provee unamutacion de tipo gausiana sobre pi, dando origen a la variacion DEPSO. En [Monson04],se define el KSwarm, en el cual se utiliza un filtro Kalman para actualizar las posiciones

    13

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    de las partculas. En [Poli05], se explora la posibilidad de evolucionar la fuerza optimagenerando ecuaciones para controlar las partculas por medio de programacion genetica.En [Grosan05], se presenta la variacion con vecindades independientes (INPSO), donde seestablecen subenjambres independientes a diferencia de la definicion anterior de vecindad.En [Tillett05], se introducen conceptos de seleccion natural en la variacion DPSO, dondese hace uso de subenjambres independientes, los cuales son reproducidos o eliminadosdependiendo de su desempeno global. En [Liu05], se presentan las variaciones conturbulencia (TPSO) y con turbulencia adaptada difusamente (FATPSO), donde la turbulenciaevita la rapida convergencia al penalizar la reduccion drastica de la velocidad de las partculas.En [Leontitsis06], se incluye el concepto de repelencia del peor punto. En [Yisu07], sepresenta las variaciones con vector de distribucion (DVPSO), con habilidad de cruza (COPSO)y adaptable al entorno (LAPSO).Una modificacion de interes particular es el EPSO [Miranda02b, Miranda02a], el cual utilizauna distribucion gaussiana sobre los parametros de inercia (w), individual (c1) y social (c2),considerando cada partcula individualmente. Este algoritmo no considera como parametrolos lmites de la velocidad, por lo tanto, no realiza operaciones sobre este parametro.

    Otros campos de investigacion sobre el algoritmo PSO corresponden al analisis matematicoo estadstico para conocer mejor el comportamiento del sistema [Ozcan99, Clerc02,Bartz-Beielstein04]. Tambien se buscan nuevas aplicaciones del algoritmo donde se buscaobtener mejores resultados que con otros metodos de optimizacion. Algunos ejemplos sonel entrenamiento de redes neuronales reemplazando el algoritmo de entrenamiento porretropropagacion (backpropagation) en redes tipo perceptron multicapa (Multilayer Perceptron MLP) [Salerno97, El-Gallad01] y de Producto por Unidad (Product Unit Neural Network PUNN) [Ismail99]; la sintonizacion de controladores PID [Easter Selvan03], robustos conley H2/H [Krohling02], neuronales [v.E.Conradie02] y predictivos [Yuan06]; la optimizacionde funciones de pertenencia en un conjunto difuso [Esmin02]; la identificacion de modelosdinamicos [Voss02]; la identificacion de grupos o clustering para la clasificacion de imagenes[Omran05] y otros problemas de optimizacion como el control de la Potencia Reactiva y Voltaje[Yoshida01].

    1.3.2. Optimizacion por Colonia de Hormigas

    La Optimizacion por Colonia de Hormigas (ACO) es una familia de algoritmos derivadosdel trabajo realizado por M. Dorigo [Dorigo91a], basada en el comportamiento social delas hormigas, las cuales usan una forma de comunicacion basada en sustancias qumicasdenominadas feromonas. Estas sustancias, depositadas por la hormiga al avanzar por uncamino, ejercen una accion sobre la decision de las hormigas precedentes, las cualesescogen el camino que posea una mayor concentracion de sustancia, permitiendo que las

    14

  • 1.3 Inteligencia de enjambres

    hormigas encuentren la ubicacion de las fuentes de alimento as como su nido. Se hademostrado que los rastros de feromona permiten lentamente la optimizacion distribuida enla cual cada agente sencillo realiza una pequena contribucion en la busqueda de la mejorsolucion.

    En los algoritmos ACO cada agente construye una solucion o parte de esta, comenzandode un estado inicial y desplazandose a traves de una secuencia finita de estados vecinos,cuyo criterio de vecindad es dependiente del problema, haciendo uso de dos fuentes deinformacion: la visibilidad y los rastros de feromona . La probabilidad de que la kesimahormiga se desplace del nodo i al nodo j esta dado por la ecuacion 1.5.

    pki j (t) =

    [i j(t)] [i j]

    lJki [il(t)] [il ]

    , si j Jki0 si j / Jki

    (1.5)

    siendo los nodos Jki los estados validos. A su vez, los rastros son modificados para cambiarla representacion del problema, que utilizaran las otras hormigas para tomar sus decisionespor medio de la ecuacion 1.6.

    (t +1) = (t)+(1) (t, t +1) (1.6)

    donde es el coeficiente de evaporacion de la feromona, usado para evitar la rapidaconvergencia de las hormigas hacia una region del espacio de busqueda. Entonces laferomona se convierte en una memoria local compartida de largo termino que influencialas decisiones subsecuentes de las hormigas. Las hormigas pueden actuar concurrente eindependientemente, mostrando un comportamiento cooperativo que usa la estigmergia1como medio de comunicacion. Aunque cada una de las hormigas es capaz de encontraruna solucion, probablemente inadecuada, las mejores soluciones son encontradas comoel resultado de la cooperacion global entre todos los agentes de la colonia, como unacaracterstica inesperada de la interaccion cooperativa de los agentes.

    Otras caractersticas usualmente incluidas dentro de un sistema ACO son el balance entrelas caractersticas aleatorias y la severidad en la toma de decisiones (exploracion/explotaciondel conocimiento); y estrategias de conocimiento global denominadas daemon actions. Lascaractersticas de un algoritmo ACO pueden necesitar alguna clase de sincronizacion,usualmente obtenida por una programacion secuencial, donde el conocimiento global esfacilmente accesible en cualquier instante. En general, un algoritmo de optimizacion porcolonia de hormigas, realiza las operaciones mostradas en la tabla 1.3.

    1Forma de comunicacion indirecta por medio de la modificacion del ambiente

    15

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    PARA cada arco (i, j)Inicializar la feromona i j (0) = 0

    FIN PARAPARA k = 1 HASTA m HACER

    Ubicar la k-esima hormiga en un nodo aleatorioFIN PARAObtener una solucion inicial Smin con costo CminPARA t = 1 HASTA tmax HACER

    PARA k = 1 HASTA m HACERPARA j = 1 HASTA n1 HACER/*Construccion de la solucion Sk (t) Recorrido*/Aplicar la regla de construccion/modificacion en funcion de y

    FIN PARACalcular el costo Ck (t) de la solucion Sk (t)SI Ck (t) < Cmin

    Cmin = Ck (t) y Smin = Sk (t)FIN SI

    FIN PARAPARA cada arco (i, j)Actualizar los rastros de feromona de acuerdo a la regla de actualizacion

    FIN PARAFIN PARA

    Tabla 1.3: Optimizacion por Colonia de Hormigas

    Las caractersticas de este grupo de algoritmos hacen que sean utiles en problemasestocasticos distribuidos donde la presencia de fuentes exogenas produce dinamicas en larepresentacion del problema. Por ejemplo, muchos problemas relacionados con redes decomunicacion y transporte son intrnsecamente distribuidos y dinamicos, y a menudo esimposible obtener un modelo exacto de la variabilidad subyacente. Por el contrario, el usode la estigmergia como unico metodo de comunicacion entre las hormigas, los algoritmosACO pueden presentar dificultades en problemas donde cada estado tiene un gran tamanode vecindad, debido a sus caractersticas locales. De hecho, una hormiga que visita un estadocon un gran tamano de vecindad tiene un enorme numero de posibles movimientos entre loscuales elegir, siendo la probabilidad de seleccion de cada estado muy pequena, haciendopoco probable que varias hormigas visiten el mismo estado. Esta situacion hace que ladiferencia entre usar o no el rastro de feromona, en estos casos, sea muy pequena o ninguna.

    Los algoritmos ACO tienen una naturaleza discreta, lo cual los hace utiles para la solucion deproblemas de optimizacion combinatoria. De hecho, el primer algoritmo basico de hormigasdesarrollado, el Ant System (AS) [Dorigo91a, Dorigo91b, Colorni91, Colorni92], tuvo suprimera aplicacion en la solucion del problema del viajero (Traveling Salesman Problem TSP). En estos primeros trabajos ya se proponen variaciones al concepto de feromona,derivandose tres algoritmos del AS, el Ant Quantity, el Ant Density y el Ant Cycle. Otrosproblemas solucionados por medio del AS son la version asimetrica del TSP, el QuadraticAssigment Problem (QAP) y el Jobshop Scheduling Problem (JSP) [Dorigo96b]. Otrosalgoritmos ACO son el ANTQ [Gambardella95, Dorigo96a] basado en aprendizaje porrefuerzo; el Ant Colony System (ACS) [Dorigo97] el cual difiere del AS al proveer unaregla de transicion de estados que balancea la exploracion/explotacion del conocimiento, la

    16

  • 1.3 Inteligencia de enjambres

    actualizacion global es realizada sobre el mejor recorrido y la actualizacion local es realizadadurante la exploracion del espacio; el mnmax Ant System (MMAS) [Stutzle97] donde laferomona esta delimitada en un rango para evitar el estancamiento; el Rank Based AntSystem (ASrank) [Bullnheimer97] donde la actualizacion de la feromona es realizada porlas m mejores hormigas; el BestWorst Ant System (BWAS) [Cordon00] el cual considerala actualizacion positiva para la mejor hormiga y negativa para la peor, la reinicializacionde la busqueda cuando ocurre estancamiento y la inclusion de mutaciones a la matriz deferomona para inducir variabilidad. Otras variaciones en el concepto de la actualizacion dela feromona se pueden encontrar en [Meuleau00] donde se usa una regla derivada deldescenso estocastico del gradiente (Stochastic Gradient Descent SGD); en [Rubinstein01]se utiliza el concepto de entropa cruzada, el cual es retomado en [Heegaard04] de unamanera distribuida.

    Para su uso sobre espacios continuos se requiere un tratamiento diferente del problemadonde la vecindad no sea un impedimento. En [Bilchev95] se presenta una primeraaproximacion donde se define un nido del cual parten los agentes a explorar el espacio.En [Yan-jun03] se presenta el Adaptive Ant Colony Algorithm (AACA), un algoritmo que utilizaun arbol binario para mapear un espacio continuo, obteniendose una cadena binaria querepresenta la solucion de manera similar a un algoritmo genetico. En [Tsutsui04] se presentael sistema de agregacion de feromona (Aggregation Pheromone System APS) donde laferomona es una funcion de densidad continua.

    1.3.3. Optimizacion por Enjambre de Bacterias

    La Optimizacion por Enjambre de Bacterias representa una aproximacion diferente ala busqueda de valores optimos en funciones no lineales desarrollado por K. Passino[Passino00], basado en el comportamiento quimiotactico de la E. Coli. Si bien utilizar laquimiotaxis como modelo para optimizacion se propuso por primera vez en [Bremermann74]y se ha utilizando en trabajos como [Leiviska06], el trabajo de Passino incluyo algunasmodificaciones como la reproduccion y la dispersion de los agentes.

    La E. Coli es tal vez el microorganismo mas comprendido, ya que su comportamiento yestructura genetica estan bien estudiados. Esta consta de una capsula que incluye susorganos, y flagelos que utiliza para su locomocion; posee capacidad de reproducirse pordivision y tambien es capaz de intercambiar informacion genetica con sus congeneres.Ademas, es capaz de detectar alimento y evitar sustancias nocivas, efectuando un tipo debusqueda aleatoria, basado en dos estados de locomocion, el desplazamiento y el giro. Ladecision de permanecer en uno de estos dos estados se debe a la concentracion de nutrienteso sustancias nocivas en el medio. Este comportamiento se denomina quimiotaxis.

    17

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    En este algoritmo, descrito en detalle en [Liu02, Passino02], se busca obtener el mnimode una funcion J () , Rn, cuando se desconoce su gradiente. Suponiendo que es laposicion de la bacteria y J () representa la ubicacion de los nutrientes y sustancias nocivas,as J < 0 representa un incremento en la concentracion de nutrientes, J = 0 representaun medio neutro y J > 0 representa un incremento en la presencia de sustancias nocivas.Sea entonces:

    P( j,k, l) = i ( j,k, l)i = 1,2, . . .S (1.7)

    las posiciones de cada miembro en la poblacion S de bacterias al j-esimo paso quimiotactico,k-esimo paso reproductivo el l-esimo evento de eliminacion dispersion. Sea J(i, j,k, l) elcosto de la ubicacion de la i-esima bacteria i ( j,k, l) Rp. Sea Nc el tiempo de vida de unabacteria medido en pasos quimiotacticos. Para representar un giro, se genera una unidad delongitud en una direccion aleatoria ( j), por lo tanto se tiene que:

    i ( j +1,k, l) = i ( j,k, l)+C (i) ( j) (1.8)

    donde C(i) es el tamano del paso a tomar en la direccion especificada por el giro. Si eni ( j +1,k, l), el valor de J (i, j +1,k, l) es menor que el obtenido en i ( j,k, l), entonces unnuevo paso quimiotactico es tomado hasta un numero maximo Ns.

    Adicionalmente, las bacterias mantienen comunicacion haciendo uso de senales qumicasque afectan el comportamiento quimiotactico del enjambre, creando un ambientecooperativo. A estas senales, denominadas atrayentes repelentes, se las representa porJcci ( ,i ( j,k, l)), para la i-esima bacteria. Sea dat y wat la profundidad y el ancho delatrayente, hre y wre la altitud y el ancho del repelente. La profundidad y el ancho de losatrayentes es relativamente pequeno a la concentracion de nutrientes representados. Cadaefecto atrayente y repelente es adicionado en la funcion de costo total de la bacteria como lasuma de todos los efectos de una bacteria con todos los agentes de la poblacion. Entonces:

    Jcc ( ,P(i, j,k)) =Si=1

    Jcci ( ,i ( j,k, l)) (1.9)

    = hre Si=1

    ewre pm=1(m im)

    2dat

    Si=1

    ewat pm=1(m im)

    2

    De acuerdo a la distribucion de los agentes, se puede decir que entre mas lejos se encuentreentre si, el efecto de las senales sera menor y por lo tanto no intentaran agruparse. Lo

    18

  • 1.3 Inteligencia de enjambres

    Inicializar la poblacion aleatoriamenteDefinir para cada individuo un C (i)PARA l = 1 HASTA Ned HACER

    PARA k = 1 HASTA Nre HACERPARA j = 1 HASTA Nc HACERPARA i = 1 HASTA S HACERCalcular el J (i, j,k, l) incluyendo JccJlast = J ()Calcular ( j)Realizar el desplazamiento (ecuacion 1.7)Calcular el nuevo costo J (i, j +1,k, l)m = 0MIENTRAS m < Ns

    m = m+1SI J (i, j +1,k, l) < Jlast

    Jlast = J (i, j +1,k, l)Realizar el desplazamiento (ecuacion 1.7)Calcular el nuevo costo J (i, j +1,k, l)

    SINOm = Ns

    FIN SIFIN MIENTRASFIN PARA

    FIN PARACalcular la salud de cada bacteriaCopiar las Sr bacterias mas saludablesEliminar las bacterias inadecuadas

    FIN PARADispersar/Eliminar con una probabilidad ped

    FIN PARA

    Tabla 1.4: Optimizacion por Enjambre de Bacterias

    contrario ocurre cuando se encuentran muy cerca y por lo tanto, los agentes se atraenpara formar grupos cooperativos. Debido al movimiento de todas las bacterias, la funcionJcc ( , p( j,k, l)) es variante en el tiempo. Las bacterias, en efecto, no solo intentaran buscarzonas con buenos nutrientes, evitando sustancias nocivas, sino que ademas intentaranmoverse hacia otras bacterias, sin acercarse tanto entre si. Por lo tanto la funcion Jcc ( ,P)deforma dinamicamente la superficie de busqueda a medida que las bacterias se mueven.

    Despues de Nc pasos quimiotacticos se realiza un paso reproductivo, siendo Nre el numero depasos reproductivos. Durante la reproduccion, las bacterias mas saludables (las que poseenun menor costo acumulado en su vida) se dividen y se eliminan el mismo numero de bacteriasno saludables, as obteniendo una poblacion de tamano constante. Luego se realiza uneventos de dispersion eliminacion Ned , en el cual cada bacteria en la poblacion es sujeta a lareubicacion en una nueva posicion aleatoria con una probabilidad ped . En general el algoritmorealiza las operaciones mostradas en la tabla 1.4.

    Este algoritmo se ha aplicado con exito en la sintonizacion de controladores adaptativos[Passino02], la sintonizacion de controladores PID [Kim05] y la regulacion de temperatura ensuperficies [Alfonso07a]. Otros trabajos relacionados son el estudio de estabilidad realizadosen [Gazi03, Gazi04] y la hibridizacion con algoritmos geneticos [Kim07] para mejorar su

    19

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    desempeno. Otro algoritmo que utiliza el comportamiento quimiotactico de las bacterias sepresenta en [Muller02].

    1.3.4. Busqueda por Difusion Estocastica

    La busqueda por difusion estocastica es otro metodo de busqueda generico basado enpoblaciones creado por M. Bishop en 1989 [Bishop89a, Bishop89b], inspirado por elmetodo de transformacion Hinton [Hinton81, Rumelhart86, Bishop92], como una tecnica dereconocimiento de patrones capaz de resolver el problema de equivalencia de estimulo:la habilidad de reconocer un patron independiente de sus potenciales distorsiones otransformaciones en el espacio de busqueda. En SDS, los agentes realizan evaluacionesparciales de una hipotesis las cuales comparten a traves de una comunicacion directa uno auno.

    SDS esta basada en el denominado Juego del Restaurante [De Meyer03], donde un grupode personas asisten a una conferencia en una ciudad desconocida y cada noche debenencontrar un lugar para comer. Puesto que hay una gran variedad de restaurantes y cada unoofrece una variedad de platos, el grupo se encuentra ante la dificultad de encontrar el mejorrestaurante, o sea aquel donde el mayor numero de personas esten satisfechas comiendo.Puesto que una busqueda paralela exhaustiva tomara demasiado tiempo para obtenerinformacion valida, se instituye una poltica diferente. Cada individuo propone una hipotesiscorrespondiente al mejor restaurante en la ciudad. Cada noche los individuos prueban suhipotesis al comer en el sitio un plato al azar. A la manana siguiente cada individuo que noobtuvo una buena experiencia le pregunta a un colega al azar cual fue su experiencia. Si lainformacion recibida es satisfactoria el individuo selecciona al restaurante como su favorito.De otra manera, selecciona un restaurante al azar. Usando esta estrategia, se ha encontradoque rapidamente un numero significativo de individuos se congregan alrededor de la mejorsolucion. En terminos generales, el algoritmo se muestra en la tabla 1.5.

    Por medio de la iteracion de fases de prueba y difusion, los agentes estocasticamenteexploran todo el espacio de busqueda. Sin embargo, puesto que las pruebas se realizancon mayor frecuencia sobre buenas soluciones que en regiones con informacion irrelevante,un agente tendera a gastar una mayor cantidad de tiempo en regiones adecuadas y al mismotiempo recluta mas agentes, los cuales reclutan aun mas. Las soluciones candidatas de altacalidad pueden ser identificadas por la concentracion de agentes con la misma hipotesis.

    La ventaja principal que presenta SDS es su capacidad de salir de mnimos locales. Esto selogra mediante la salida probabilstica de la evaluacion parcial de hipotesis en combinacioncon la reubicacion de recursos (en este caso los agentes) por medio de mecanismos dereclutamiento estocastico. La evaluacion parcial de la hipotesis permite al agente formarse

    20

  • 1.3 Inteligencia de enjambres

    Inicializar la poblacion generando una hipotesisaleatoria

    REPITAEvaluar la evidencia de la hipotesis /*Etapa de prueba*/SI hipotesis comprobadaActivar el agente

    SINODesactivar el agente

    FIN SISI agente inactivo /*Etapa de difusion*/Seleccionar un agente al azarSI el agente seleccionado es activoRecibir hipotesis apropiada

    SINOGenerar una hipotesis aleatoria

    FIN SIFIN SI

    HASTA cumplir el criterio de terminacion

    Tabla 1.5: Busqueda por Difusion Estocastica

    rapidamente su opinion acerca de la calidad de la solucion puesta a prueba sin una busquedaexhaustiva (e.g. probando todos los platos disponibles en un restaurante).A diferencia de muchas tecnicas de busqueda inspiradas en la naturaleza, existe un trabajomatematico muy profundo acerca del comportamiento y las propiedades basicas de SDS, detal manera que es un algoritmo muy bien comprendido. Entre las caractersticas estudiadasestan la convergencia a la solucion global optima [Bishop92, Nasuto98], convergencia enel tiempo incrementado linealmente con el tamano del espacio de busqueda [Nasuto99b],dinamicas de asignacion de recursos [Bishop99] y robustez [Myatt04]. En el contexto declasificacion de patrones, el algoritmo es robusto a distorsion por ruido y a multiples instanciasdel objetivo [Nasuto99a].

    La tecnica ha sido utilizada en una variedad de problemas de la vida real. La Red Hbridade Difusion Estocastica (Hybrid Stochastic Diffusion Network HSDN), una combinacion deSDS con una red neuronal, fue usada para localizar caractersticas oculares en imagenesfaciales humanas [Bishop92] y para el seguimiento de labios en vdeos [Grech-Cini95]. En[Beattie98] SDS fue utilizado como metodo de autolocalizacion de una silla de ruedasautonomas, extendiendo el algoritmo original para proveer soluciones mas rapidas enespacios de busqueda mayores por medio de la Red Enfocada de Difusion Estocastica(Focused Stochastic Diffusion Network FSDN). Otros usos son la busqueda de texto[Bishop89a] y la seleccion de sitios para redes inalambricas [Whitaker02].

    21

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    1.3.5. Colonias de Abejas

    A diferencia de otras tecnicas de inteligencia de enjambres, donde se propuso unametaheurstica y una serie de algoritmos se acogieron a ella, los algoritmos basados enabejas no cuentan con el mismo nivel de agrupamiento. Prueba de ello es la variedad dealgoritmos que han surgido en los ultimos anos, desde la Colonia Artificial de Abejas (ArtificialBee Colony ABC) [Karaboga05], pasando por la Optimizacion por Colonia de Abejas(Bee Colony Optimization BCO) [Teodorovic05] y el Algoritmo Bees [Pham06a], hasta laOptimizacion por Busqueda de Nectar por Abejas (Bee Nectar Search Optimization BNSO)[Alfonso07b] y el Algoritmo de Colmena de Abejas Artificiales (Artificial Bee Hive Algorithm ABHA) [Munoz08]. Por ahora, el uso de estos algoritmos no es extensivo y la bibliografa eslimitada.

    Una primera metaheurstica propuesta dentro de los algoritmos de abejas corresponde aBCO. Sus autores proponen un marco de referencia, donde las abejas artificiales realizanmovimientos de construccion y seleccion de soluciones. En el proceso de decision, se asumeque cada abeja puede obtener informacion acerca de la calidad de las soluciones generadaspor la poblacion. De esta manera, las abejas intercambian informacion acerca de la calidad delas soluciones parciales creadas. Basandose en la calidad, cada abeja decide si abandonaro no su solucion parcial y convertirse en un seguidor no comprometido, si continuar con laexpansion de su solucion parcial sin reclutar a otras companeras, o si danza y recluta aotras companeras antes de regresar a su solucion parcial. Dependiendo de la cualidad de lassoluciones parciales generadas, cada abeja posee un nivel de lealtad hacia la solucion parcialdescubierta. El proceso iterativo, permite que las soluciones parciales se complementen hastaobtener una solucion completa factible.

    Como ejemplo de los algoritmos de abejas se presenta el algoritmo ABHA. Este algoritmopermite realizar busquedas sobre espacios continuos, basados en el modelo orientadoal individuo desarrollado en [deVries98], donde se definen una serie de reglas decomportamiento para cada agente que determinan las acciones a realizarse, incluyendoalgunas adaptaciones no consideradas en el modelo biologico para incrementar eldesempeno en la busqueda de mejores soluciones. En terminos generales, el algoritmo semuestra en la tabla 1.6.

    Pese a ser relativamente recientes, los algoritmos de abejas ya presentan alguna variedad deaplicaciones, principalmente propuestas por sus creadores. Algunas de estas son la soluciondel problema del viajante [Lucic03], el entrenamiento de redes neuronales [Pham06b], lasintonizacion de controladores difusos [Pham07b], la optimizacion de maquinas de soportevectorial [Pham07d], el diseno de celdas de manufactura [Pham07a], el diseno de unionespor soldadura [Pham07c] y la regulacion de temperatura sobre una superficie [Alfonso07a].

    22

  • 1.4 Conclusiones

    Inicialice la poblacionPARA i = 1 HASTA I HACER

    Calcule las probabilidadesSI es experimentada Y su informacion es validaIncremente la tendencia de abandonoDeje el nido

    FINSI no hay danzas disponiblesSI puede iniciar una busqueda aleatoriaUbique las abejas en posiciones aleatoriasDeje el nido

    FINSI abandono la fuenteOlvide la fuenteMantengase en el nido

    FINSI NOCalcule la duracion de la danzaSi sigue una danzaSeleccione una danza por ruletaAgregue ruido a la informacionDeje el nido

    SI NOIncremente la tendencia de abandono

    FINSI puede iniciar una busqueda aleatoriaUbique las abejas en posiciones aleatoriasDeje el nido

    FINFINCalcule el costo actualSI puede seguir buscandoSI la direccion es validaIncremente la posicion

    SINOCambie de direccionIncremente la posicion

    FINSINODetermine si la fuente es valida

    FINActualice el umbralActualice la memoria

    END

    Tabla 1.6: Algoritmo de Colmena de Abejas Artificiales

    1.4. Conclusiones

    La SI comprende una amplia variedad de tecnicas auto organizadas y distribuidas quecomparten caractersticas comunes como la existencia de una poblacion de agentescomputacionales simples capaces de percibir y modificar su ambiente de manera local, lo quehace posible la interaccion entre los individuos; la inexistencia de una estructura centralizadade control que dictamina como los agentes deben comportarse o de un modelo explcito delambiente. El comportamiento global, por tanto, es producto de las interacciones locales entre

    23

  • 1. COMPUTACI ON EVOLUTIVA: SOCIEDADES PARA SOLUCIONAR PROBLEMAS

    los agentes al contrario de un conocimiento global.

    Es notoria la diferencia entre la SI y la otra rama dentro de la EC, los EA, siendo las masimportantes la naturaleza centralizada de los EA frente al comportamiento distribuido en SI;la interaccion con la funcion objetivo, donde en los EA corresponde al nivel de desempeno yen la SI por lo general corresponde al ambiente a ser explorado; y la capacidad de modificarsu ambiente de los algoritmos de SI.

    Las aplicaciones de SI en la actualidad son muy diversas, desde las redes de comunicacion,los sistemas de control automatico, la solucion de problemas combinatorios, el enrutamientode vehculos, entre otros. En cada momento se encuentran nuevas aplicaciones y sedesarrollan variaciones que mejoran el desempeno de los algoritmos como la hibridizacioncon los EA. Al mismo tiempo se hace necesario el estudio profundo de las cualidadesde estabilidad y convergencia de estos metodos. Ademas, el estudio detallado de algunosbiologos permite encontrar nuevos modelos que pueden llevar a proponer nuevos algoritmosde SI. En este ultimo caso, el desarrollo de las tecnicas de SI implica el trabajo conjunto dedisciplinas tan diversas como las ciencias biologicas, sociales, computacionales, la ingeniera,la filosofa, entre otras; siendo un paradigma bastante rico para su exploracion por su mezclade naturaleza y computacion [Nunez de Castro07]. Existen aun muchas sociedades naturalesque pueden ser simuladas o emuladas en computadores y los frutos de estas exploracionesse convierten en nuevas soluciones tecnologicas a problemas clasicos o recientes, y sucompleto potencial aun esta por alcanzarse.

    Con el desarrollo de sistemas de computo de mayor poder, la aparicion de nuevos problemascomplejos y la colaboracion entre cientficos de diversas areas, el futuro de las tecnicas deinteligencia artificial es bastante prometedor.

    24

  • CAPITULO 2

    Evolucion de enjambres

    En el captulo anterior se examino la variedad de tecnicas que constituyen la SI y lascaractersticas generales que permiten agruparlas en esta familia. Sin embargo, existendiferencias que hacen diferente su aplicabilidad, en particular el espacio de busqueda en elcual se desempenan. Debido al enfoque requerido para este trabajo de desarrollar algoritmospara la sintonizacion de sistemas de control, se requiere de tecnicas que realicen busquedasen espacios continuos, ya que los parametros en un sistema de control son numeros reales.Por esta razon, para este trabajo se seleccionaron los algoritmos de Optimizacion porEnjambre de Bacterias y de Optimizacion por Enjambre de Partculas.

    En este captulo se presentan los algoritmos de Optimizacion por Enjambre Evolutivo deBacterias (Evolutive Bacteria Swarm Foraging Optimization EvBSFO) y Optimizacionpor Enjambre Evolutivo de Partculas (Evolutive Particle Swarm Optimization EvPSO),resultantes de modificar los algoritmos BSFO y PSO con una Estrategia Evolutiva (1, )encargada de sintonizar sus parametros. En la seccion 2.1 se describen los conceptos deevolucion de enjambres y los algoritmos EvBSFO y EvPSO. A continuacion, en la seccion 2.2se realiza un analisis de desempeno de los algoritmos evolutivos frente a otros algoritmos deSI. Finalmente en la seccion 2.3 se presentan algunas conclusiones del captulo.

    25

  • 2. EVOLUCI ON DE ENJAMBRES

    2.1. Implementacion de Enjambres Evolutivos

    Al escoger un algoritmo heurstico para solucionar un problema de optimizacion, la seleccionde los parametros del algoritmo corresponde a ubicar un punto dentro del espacio Ndimensional de parametros, cuyo valor en la funcion de desempeno del algoritmo G sea elmejor posible. Esta seleccion es una tarea compleja ya que se desconoce de una maneradeterminstica la relacion directa entre el desempeno del algoritmo, los valores de losparametros y la funcion objetivo J. De hecho, este problema puede ser tan o mas complejoque la solucion del problema de optimizacion en s, siendo necesario recurrir a formas massimples, donde algunas de las mas comunes son la prueba sistematica de parametros o porensayo y error, las cuales presentan, entre otras, las siguientes limitaciones [Eiben99]:

    Los parametros no son independientes y probar todas las posibles combinacionessistematicamente es practicamente imposible.

    El proceso de sintonizacion requiere tiempo, inclusive si los parametros sonoptimizados uno a uno, sin importar sus interacciones.

    Para un problema determinado los parametros seleccionados no son necesariamenteoptimos, inclusive si el esfuerzo por sintonizarlos fue significativo.

    Existen varios intentos de generar parametros que se comporten de manera adecuada deforma general, o sea que los valores recomendados pueden ser aplicados a una granvariedad de problemas de optimizacion. En la actualidad se reconoce que cada problemarequiere un grupo especfico de parametros para su correcto desempeno, por lo tanto, labatalla por encontrar parametros generales optimos se considera perdida a priori [Eiben99],puesto que no considera la naturaleza dinamica del proceso de busqueda. En general, seha aceptado la necesidad de que los parametros cambien en funcion del tiempo teniendoen cuenta el desempeno general del algoritmo, donde este mecanismo se conoce comocontrol de parametros, que considera la modificacion de los parametros del sistema durantela solucion del problema principal, ya sea por reglas determinsticas sin realimentaciono por metodos adaptativos o evolutivos (autoadaptativos) que poseen realimentacion. Laimplementacion de este ultimo tipo de metodo requiere conocer de manera directa la funcionde desempeno G o tener una funcion que pueda llevar a cabo la medicion del desempeno yrealizar una busqueda sobre esta funcion en el espacio de parametros, convirtiendose en unsegundo problema de optimizacion, afectado por los resultados del primer problema.

    Para implementar un enjambre autoadaptativo, se utilizara como base los conceptos decontrol de parametros existentes en ES, para lo cual se requiere realizar algunas definiciones.Como primer paso se establece que el sistema de enjambre corresponde a un conjunto de

    26

  • 2.1 Implementacion de Enjambres Evolutivos

    poblaciones cada una compuesta por individuos. Todos los individuos de una poblacioncodifican el mismo conjunto de parametros del algoritmo que se esta evolucionando, dondela diferencia entre los individuos de la poblacion corresponde a la posicion inicial la cual seescoge de manera aleatoria. Cada poblacion es sometida a la modificacion de sus parametrospor medio de operadores evolutivos como la cruza y la mutacion, para obtener poblacioneshijas, las cuales buscan una nueva solucion al problema principal de optimizacion, al modificarlos valores de por medio de las reglas definidas por enjambre. Para definir el desempeno delas poblaciones se define una funcion G para la lesima poblacion en el iesimo instantecomo el promedio del desempeno del kesimo individuo segun la ecuacion 2.1. Luego desolucionar tanto el primer como segundo problema de optimizacion, se seleccionan las poblaciones con mejor desempeno entre las poblaciones hijas que conformaran la proximageneracion.

    G(l, i) = k=1 J (l,k, i,)

    (2.1)

    Al igual que ES, es necesario modificar los parametros que dominan la mutacion de losindividuos. Para este proceso se hace uso de la regla de 1/5 [Rechenberg73], la cual proponeque si el desempeno general de la generacion actual ha sido mejor que el desempeno generalanterior, la poblacion se ha desplazado a una mejor posicion en el espacio de busqueda, por lotanto, se puede disminuir la fuerza de las mutaciones (la desviacion estandar de la distribucionnormal de la mutacion) por un factor de 0,82, de lo contrario, el algoritmo se ha desplazadoa una region menos favorable, por lo tanto, se incrementa la fuerza de las mutaciones por unfactor de 1,22.

    Estas reglas permiten generar diferentes arquitecturas, dependiendo de los valores de , , , y el uso de seleccion elitista o no elitista. Para simplificar la descripcion de un enjambreautoadaptativo (SelfAdaptive Swarm SAS), se propone la notacion ( /,+ )SASbasada en la notacion de ES. Con esta notacion se puede describir la arquitectura decualquier algoritmo SAS, incluyendo el presentado en [Miranda02a] el cual puede ser descritocomo (1 /, )SAS.Basado en esta notacion, se define un algoritmo ( 1, )SAS, cuya estructura generalse presenta en la tabla 2.1. Este algoritmo, basado en una (1, )ES, posee individuos, 1poblacion padre, poblaciones descendientes, con seleccion elitista y sin recombinacion, osea que las poblaciones descendientes se obtienen unicamente por mutacion. Para adaptarun algoritmo de enjambres a este marco de referencia se requiere definir los mecanismos decalculo de y los parametros a evolucionar.

    27

  • 2. EVOLUCI ON DE ENJAMBRES

    Seleccionar los parametros iniciales del algoritmoMutar los parametros para obtener conjuntos de parametrosInicializar de la poblacion padre aleatoriamenteCalcular un costo inicial de la poblacionPARA i = 1 HASTA epochs HAGA

    PARA l = 1 HASTA HAGACalcular con los parametros del conjunto lCalcular el costo J () de cada individuoCalcular el costo G(l) de cada poblacion

    FIN PARASeleccionar la poblacion con el menor valor GMutar los parametros para obtener conjuntos de parametrosSI Gant > G ENTONCESDecremente la fuerza de la mutacion en 0,82

    SI NOIncremente la fuerza de la mutacion en 1,22

    FIN SIGant = G

    FIN PARA

    Tabla 2.1: Algoritmo de Enjambres Evolutivo

    2.1.1. Evolucion de Enjambre de Bacterias

    El algoritmo BSFO posee una variedad de parametros que controlan el funcionamiento dealgunas caractersticas adicionales a la busqueda basada en quimiotaxis, como lo son lareproduccion, la eliminaciondispersion y el uso de atrayentesrepelentes. Si bien estascaractersticas estan disenadas para mejorar el desempeno del algoritmo, el uso de ciclosdel tipo FOR las hacen poco eficientes, en particular en lenguajes orientados a vectorescomo lo es MATLAB. Adicionalmente, para determinar la influencia de los parametros en elresultado, se realizaron pruebas preliminares, cuyos resultados mostraron que los parametrosde mayor influencia en el algoritmo corresponden al tamano del paso C, el numero depasos quimiotacticos, la profundidad y el ancho de los atrayentesrepelentes. Teniendo estasconsideraciones en cuenta, como paso inicial para el desarrollo del algoritmo evolutivo, seconsidera la supresion de las caractersticas de reproduccion y de eliminaciondispersion,dando lugar a un algoritmo basado unicamente en quimiotaxis y comunicacion entreindividuos.

    Entonces, para el algoritmo de bacterias en una iteracion i para el kesimo individuo conel grupo de parametros l se define un valor de segun la ecuacion 2.2 y una funcion decosto de acuerdo a la ecuacion 2.3, donde Jn corresponde al costo por nutrientes, mar esla magnitud de los atrayentesrepelentes igualadas para que en la posicion de la bacteria elcosto se deba unicamente a los nutrientes, wr es el ancho de los repelentes y wa el ancho delos atrayentes, con wr > wa debido a que su tamano es inversamente proporcional.

    k (i+1) = k (i)+Cl (i)k (i) (2.2)

    28

  • 2.1 Implementacion de Enjambres Evolutivos

    Seleccionar los parametros iniciales del algoritmoMutar los parametros para obtener conjuntos de parametrosInicializar de la poblacion padre aleatoriamentePARA i = 1 HASTA epochs HACER

    Calcular J (i)PARA l = 1 HASTA HACERCalcular Jcc de acuerdo a los valores de la poblacionSI Jlast + Jcc J + JccENTONCESGenerar una nueva direccion para la bacteria

    FIN SICalcular con los parametros del conjunto lCalcular el costo J () de cada individuoCalcular el costo G(l) de cada poblacion

    FIN PARASeleccione la poblacion con mejor desempenoActualice el mejor valor obtenidoSI i > 1SI Gant > G ENTONCESDecremente la fuerza de la mutacion en 0,82

    SI NOIncremente la fuerza de la mutacion en 1,22

    FIN SIFIN SIActualice Gant

    FIN PARA

    Tabla 2.2: Optimizacion por Enjambre de Bacterias Evolutivo

    J (k, i) = Jn (k)+mlar (i) (

    ewlr(i)pm=1(km)2 ewla(i)pm=1(km)2

    )(2.3)

    Para construir el algoritmo evolutivo, se hace uso de las ecuaciones 2.1, 2.2 y 2.3,y del algoritmo generico mostrado en la tabla 2.1 el cual se modifica para incluir losaspectos especficos de comportamiento del enjambre de bacterias. Los cambios se ubicanfundamentalmente en el calculo y evaluacion de costo de la nueva posicion, dando comoresultado el algoritmo evolutivo de bacterias mostrado en la tabla 2.2.

    2.1.2. Evolucion de Enjambre de Partculas

    El algoritmo PSO, a diferencia de BSFO, es mucho mas sencillo ya que en su definicionprimaria no se consideran ciclos, siendo el proceso de busqueda mas continuo. Ademas,la funcion de costo no se ve alterada por la comunicacion entre agentes. Debido a querepresenta una forma mas adecuada de realizar la exploracion, se utiliza el modelo conpeso inercial descrito en [Shi98]. Los parametros de este algoritmo son el peso inercial w,las constantes de los modelos individual c1 y social c2, y la velocidad maxima mv. Para estealgoritmo, definimos que = v, por tanto, la nueva posicion para la kesima partcula conel conjunto de parametros l esta dada por las ecuaciones 2.4 y 2.5.

    29

  • 2. EVOLUCI ON DE ENJAMBRES

    Seleccionar los parametros iniciales del algoritmoMutar los parametros para obtener conjuntos de parametrosInicializar de la poblacion padre aleatoriamenteCalcular un costo inicial de la poblacionPARA i = 1 HASTA epochs HAGA

    Calcular el costo de la partcula JkSI Jk (kn) < J (pd) ENTONCES

    pid = knFIN SISI Jk (kn) < J

    (pgd)ENTONCES

    pgd = knFIN SIPARA l = 1 HASTA HAGACalcular con los parametros del conjunto lCalcular el costo J () de cada individuoCalcular el costo G(l) de cada poblacion

    FIN PARASeleccionar la poblacion con el menor valor GMutar los parametros para obtener conjuntos de parametrosSI Gant > G ENTONCESDecremente la fuerza de la mutacion en 0,82

    SI NOIncremente la fuerza de la mutacion en 1,22

    FIN SIGant = G

    FIN PARA

    Tabla 2.3: Optimizacion por Enjambre de Partculas Evolutivo

    kn (i+1) = wl (i)kn (i)+R1c1l (i)(pknkn (i))+R2c2l (i)(pgnkn (i)) (2.4)

    kn (i+1) = kn (i)+kn (i+1) (2.5)

    Al igual que con BSFO, para construir el algoritmo evolutivo, se hace uso de las ecuaciones2.1, 2.4 y 2.5, y del algoritmo generico mostrado en la tabla 2.1 el cual se modifica para incluirlos aspectos especficos de comportamiento del enjambre de partculas. Los cambios seproducen en la actualizacion de la informacion individual y social del individuo representadospor pid y pgd , y el calculo de la nueva posicion, obteniendose el algoritmo evolutivo departculas mostrado en la tabla 2.3.

    2.2. Evaluacion de desempeno

    Para probar el desempeno de los algoritmos propuestos, se realiza un estudio por simulacionusando un grupo de diez funciones y siete algoritmos de inteligencia de enjambres para

    30

  • 2.2 Evaluacion de desempeno

    No. Nombre Parametros

    1 BSFO ped = 0,10 pre = 0,20 Ci = 0,05d Ns = 102 PSO mv = 0,01d c1 = c2 = 2,0003 IWPSO mv = 0,01d w = 0,600 c1 = c2 = 2,0004 T1PSO mv = 0,01d w = 0,600 c1 = c2 = 1,7005 T2PSO mv = 0,01d w = 0,729 c1 = c2 = 1,4946 CFPSO mv = 0,01d = 0,7298 c1 = 2,8000 c2 = 1,30007 ABHA prs = 0,5 pe = 0,8 = 0,2 = C = 0,1 SR = 0,958 EvBSFO = 50 = 5 Ci = 0,05d Ns = 109 EvPSO = 50 = 5 mv = 0,01d w = 0,600 c1 = c2 = 1,700

    Tabla 2.4: Parametros de los algoritmos para la prueba con funciones

    No. Nombre D Rango Jmin

    1 SCB 2 [2,2;1,1] 1,03162 PFUNC 2 [0,30]2 3,98673 Peaks 2 [3,3]2 6,55114 DeJong F1 30 [100,100]n 0,00005 Grienwank 30 [100,600]n 0,00006 Rastrigin 30 [5,12,5,12]n 0,00007 Ackley 30 [32,32]n 0,00008 DeJong F2 2 [100,100]2 0,00009 Schaffer F6 2 [100,100]2 0,0000

    10 Schewefel 30 [500,500]n 12569,5

    Tabla 2.5: Parametros de las funciones de prueba

    optimizacion continua: La Optimizacion por Enjambre de Partculas (PSO), la Optimizacionpor Enjambre de Partculas con Peso Inercial (the Inertia Weight Particle Swarm Optimization)[Shi98] con los parametros comunes (IWPSO) y con los dos grupos de parametros sugeridospor Trelea (T1PSO y T2PSO) [Trelea03], la Optimizacion por Enjambre de Partculas conFactor de Constriccion (Constriction Factor Particle Swarm Optimization CFPSO) [Clerc99],la Optimizacion por Enjambre de Bacterias (BSFO) y el Algoritmo de Colmena de AbejasArtificiales (Artificial Bee Hive Algorithm ABHA) [Munoz08]. Los parametros usados paracada algoritmo son mostrados en la tabla 2.4, donde d es la diagonal del espacio debusqueda. El experimento fue realizado durante 100 iteraciones de 1000 ciclos cada unocon una poblacion igual para todos los algoritmos de 50 agentes. Todas las funciones deprueba son no lineales y comunmente utilizadas en pruebas de algoritmos de optimizacion.Estas son las funciones SCB, PFUNC, MATLAB Peaks, DeJong F1, Grienwank, Rastrigin,Ackley, DeJong F2, Schaffer y Schewefel. El numero de dimensiones, rango de las variablesy valor mnimo de cada una de las funciones son mostrados en la tabla 2.5, las ecuacionesde cada funcion se muestran en la tabla 2.6.

    Estas funciones son seleccionadas debido a su correlacion con problemas del mundo real,donde hay fun