Anda di halaman 1dari 9
Fecha de recepcién: 10 de octubre del 2000 Estudio de los Algoritmos Genéticos para el desarrollo de sistemas de control Patricia Gomez Otero* Resumen En este articulo se describen las principales aplicaciones de los Algoritmos Genéticos: la optimizacién de funciones, identificacién de sistemas lineales y no lineales y el diserio de sistemas de control. Para evaluat las aplicaciones mencionadas se desarrollaron herramientas en Matlab y se compararon los resultados obtenidos con Algoritmos Genéticos con respecto 2 los obtenidos con otras herramienitas. Estos experimentos demostraron que, en general, el tiempo de ejecucidn de los Algoritmos Genéticos es més lento que el de otras herramientas, Ent ‘easoscomo a identificacién no lineal y el disemio de sistemasde controles unaherramienta muy {itil que produce los resultados deseadiosen corto tienipoy por medio de una ficil implementacidn. Palabras claves: Algoritmo genético, optimizacién, identificacién de sistemas, diserio de sistemas de control. Abstract This Document tries to describe the main applications of the Genetic Algorithms such as {function optintization, identification of lineal and non-lineal systems, and control system design. To evaluate these applications, toolsin Matlab were developed and the results obtained with Genetic Algorithms were compared with those obtained by using other kind oftools. This research has shown that the execution time of Genetic Algorithms. slower than that of other tools, but in the design of control systems, the Genetic Algorithms are a potoerful tool that produces the desired results in short time and through an easier implementation. Key words: Genetic algorithm, optimization, identification systems, control system design 1. Introduccién * Ingeniera Electricista egresada de la Uni- versidad del Norte de Barranquilla (Colombia), Master en Ingenieria Eléctrica de la Universidad de los Andles. Ingeniera del Departamento de Analisis yGestién de Equipos de «TranseleaS.A.»y docente catedrética del departamentode Ingenieria Eléctrica y Blectrénica de la Universidad del Norte. (e-mail: gontez@transelca.com.co) En el siglo XIX el naturalista briténico Charles Darwin introdujo lo que se co- noce como la «Teoria de la Evolucién»; en ella afirmaba que las especies natu- rales van evolucionando para adaptar- sealmedio que las rodea, con el criterio 130 Ingenieria & Desarrollo, Universidad del Norte. 8: 130-138, 2000 de que aquellos individuos que mejor se adapten al entorno tendran mayor probabilidad desobrevivirhastalaedad adulta y procrear, con lo cual garatizan que sus genes pasen de generacion en generacion. Tal comose puede apreciar, este pro- ceso tiene una fuerte componente es- tocdstica. Dicho de otro modo, si un individuo se adapta al entorno, lo mas que podemos afirmar es que tendra mayor probabilidad de conservar sus genesenla siguiente generacién que los otros individuos, lo cual no pasa de ser una probabilidad, noes un hecho segu- ro. Siempre cabe la posibilidad de quea pesar de estar muy dotado, por alguna raz6n no consiga procrear. Lo que sf podemosafirmaresquelaespecie,como conjunto, se iré adaptando al medio. Todo esto nos puede llevar a pensar que tal comolanaturalezaescapazdeir optimizando las caracteristicas de un individuo, perfeccionando sus genes para adaptarse mejor al entorno, de igual manera podemos crear una po- blacion digital que se optimice para adaptarse mejor a una funcién objetivo que planteemos. Esta es la raz6n de ser de los Algoritmos Genéticos, y para llevar a cabo esta adaptacién utiliza mecanismos similares a los utilizados por la naturaleza en la Teoria de la Evolucién: seleccién, cruce, mutacién. A continuacién se expondra la teo- rfa fundamental de los Algoritmos Genéticos y se buscaré un método por medio del cual se pueda aplicar esta importante teoria de optimizacidnenel desarrollo de sistemas de control. Se abordard primero el tema de los Algo- ritmos Genéticos como herramienta de optimizacién, posteriormentese expon- dré la utilidad que tienen en la identifi- cacion de sistemas lineales y no linea- les, y por tiltimo se determinara cémo pueden ser titiles en el control de siste- mas. 2. Conceptos basicos de los Algoritmos Genéticos Los Algoritmos Genéticos son métodos de busqueda basados en los mecanis- mos de seleccién natural (Teoria de la Evolucién de Darwin). El principio so- breel cualse desarrollanlos Algoritmos Genéticos es tomar, dentrodeuna pobla- cién deindividuos dada, losindividuos que, segtin unos pardmetros y condi- ciones preestablecidas, tengan una ma- yor «aptitud» para sobrevivir dentrode esa poblacién, y asf crear una nueva «generacién mejorada» de individuos. Los pasos que se deben seguir para laelaboracién de unalgoritmo genético son los siguientes: a. Definicién de la funcién objetivo. De acuerdo con el problema que se desea desarrollar, se debe definir la forma matematica de la funcién que debemos mejorar (ya sea maximizar o minimizar), la cual se denomina «funcidn objetivo», y es el mecanis- mo de evaluacién de las cadenas (generaciones). La funcién de ajuste se usa para normalizar la funcién Ingenieria & Desarrollo. Universidad del Norte. 8: 130-138, 2001 131 objetivo en un rango entre Oy 1, y este tiltimo valor esel utilizado para evaluar las cadenas de la poblacién. . Definicién del tamajio de la pobla- cién, Usualmente, la poblacién va- riaentre 20 y 300individuos. Sedebe escoger la poblacién de manera que sea manejable para el desarrollo y solucién del problema. El tamafiode la poblacién no variard durante el desarrollo del algoritmo genético, ya que se volveria inmanejable el proceso de biisqueda. . Definicién de la codificacion de las posibles soluciones. Se necesita de- sarrollar un mecanismo de codifica- cién para representar las variables del problema de optimizacion, y de- pende de la naturaleza de dichas variables. Para el proceso de codifi- cacién se debe utilizar el alfabeto mis pequiefio posible para represen- tar los parametros, por lo cual, gene- ralmente, se utilizan los ntimeros binarios como codificacién de las variables y posiblessoluciones;cuan- do se trabaja con funciones local- mente monotonas con respecto a al- gunas de sus variables, el cédigo Gray ha demostrado ser un mejor método de codificacién para explo- tar la monotonia de las variables. . Definicién del mecanismo de selec- cién, Con elmecanismo deseleccién se busca escoger él 0 los individuos mejoradaptados dela poblacién, los cuales «sobreviviran, mientras que los peor adaptados desapareceran. Su meta es dar mas oportunidades de seleccién a los miembros mas aptos dela poblacién. Existen varios mecanismos de seleccién, entre los cuales se cuentan: la «ruleta propor- cional» (se toman los individuos de la poblacién inicial y, segtin la eva- luaci6n dela funcién de ajuste, se les da mayor «peso» a losmejor adapta- dos); «seleccién estocdstica del res- tante» (se toman los valores arroja~ dos de la funcién de ajuste por cada uno de los individuos y se redon- dean los valores hasta obtener los individuos de la poblacién); «selec- cidn del gestor» (la seleccién se deja acriterio de la persona que est4 de- sarrollandoelalgoritmo genético), y «seleccién por comparacién 0 tor- neo» (se baraja la poblaciényse hace «competir» a los individuos, es de- cir, se sacan dos elementos cuales- quiera de la poblacion y se compa- ran; él mejor individuo pasa a ser candidato a padre, mientras que el otro sale). . Escogencia de los pardmetros de control. Existen dos pardmetros de control quese deben definirantesde iniciar el desarrollo del algoritmo genético: Tasa de cruce-y tasa de mutacién. Tasa de cruce. Indica el porcentaje de la poblaci6n que se va a cruzar. Los valores tipicos de la tasa de cruce varian entre 0.5 y 1'. } COELLO COELLO, Carlos. Introduccién a los Algoritmos Genéticos. Universidad de Tulane, Nue- va Orleans (E.U.), 1996. Ingenieria & Desarrollo. Universidad del Norte. 8: 130-138, 2001 * Tasa de mutacién, La mutaci6n se en- cargade modificar en formaaleatoria uno o més genes del cromosoma de un descendiente. De esta manera, la tasa de mutaci6n indica el porcenta- jede «bits» quese deben mutar (cam- biar de 0a 1 0 viceversa en el caso binario). Los valores tipicos de la tasa de mutacin varian entre 0.001 y 0.05. f. Definicién de la tasa de convergen- cia, Se debe definiren qué momento debemos detener la busqueda. Debe tenerse en cuenta que un algoritmo genético busca una solucion cercana al éptimo, por lo cual se debe definir el «sesgo» que tiene la poblacién, es decir, lamedida de homogeneidad o concordanciaen la poblacién; usual- mente el sesgo toma valores entre 50 y 100%. El procedimiento de desarrollo de los Algoritmos Genéticos se presenta enla figura 1. 3. Los Algoritmos Genéticos como Herramienta de Optimizacion Para evaluar los Algoritmos Genéticos en la optimizacién de funciones, se de- sarrollé un programa en Matlab, que se basa en una subrutina denominada «alggen.m», en el cual estd el algoritmo basicoconel quesetrabajay cuyaestruc- turase muestra en la figura 2. El progra- ma principal se denomina «optige- ne.m», y sirve como «interface» entre el usuario y el algoritmo genético, ya que en este programa se pide la informa- ciénbasica para queel algoritmo pueda encontrar el 6ptimo de la funcién. El usuario introduce la funcién quesevaa optimizar en un archivo aparte, el cual seré llamado porlasubrutina «alggen»; luego se hace el llamado del programa «optigene», en el cual. of usuario intro- duce los valores maximos y minimos que pueden tomar las variables que intervienen en la funcidn objetivo, y los valores de las tasas de cruce, mutacién y el tamafio de la poblacién. En caso de Generar Evaluar {Se alcanzaron Ncicess Poblacién funcién los criterios de individuos| Inicial objetivo optimizacion? + a Seleccién Inicio ‘Gonemr | Resultado Nuet eal Recombinacién| Poblacién 4 Mutacién Figura 1. Desarrollo del Algoritmo Genético Ingenierfa & Desarrollo. Universidad del Norte. 8: 130-138, 2001 133 Definicidn tamaio poblacisn y nimero deinteracciones Generaci6n 1’ pob. aleatoriamente Evaluacion variables en funcién objetivo. Determinacion de minimos y maximos SeleeciGn mejores individuos. Cruce y Imprima valores variables, valor funcion objetivo y desviacién Figura 2. Estructura de la subrutina alggen que el usuario no sepa qué valores to- mar para los tres tiltimos datos, el pro- grama asumiré los valores de 1, 0.05 y 30, respectivamente. Al correr el programa para diferen- tes funciones objetivo, elalgoritmo arro- ja valores muy cercanos al 6ptimo, y en algunos casos iguales. Esta caracter{sti- ca de los resultados obtenidos se debea la naturaleza del algoritmo genético, cuyo procedimiento de biisqueda no garantiza encontrar el dptimo exacto. Ademis, el usuario debe correr el pro- gtama varias veces, con el finde encon- trarel mejor resultado, debidoa la natu- raleza aleatoria del algoritmo. 4. Los Algoritmos Genéticos en la Identificacion de Sistemas de Control Aligual que en el caso de optimizacién defunciones, el programa de identifica- cién, denominado «idegen.m», se basa enel programa «alggen.m» desarrolla-~ do sobre Matlab. Como en el caso de la optimizacién de funciones, el usuario debe digitar en un programa apartela funcién de trans- ferencia que supone pertenece al siste- ma que va a identificar. Este archivo es Hamado desde la subrutina «alggen» para la evaluacién de los coeficientes 134 Ingenieria & Desarrollo. Universidad del Norte. 8: 130-138, 2001 identificados por el algoritmo. De igual manera, el usuario debe introducir los valores maximos y minimos de los co- eficientes, las tasas de cruce y mutacién yeltamafio dela poblacién. Como dato adicional, el usuario debe introducir la matriz que contiene las entradas y la salida del sistema, dada en la siguiente forma: Z=[y ul u2 ... um] donde yes la salida del sistema y w1, u2 um son las entradas. Como ejemplo se presenta un siste- ma lineal (figura 3) que se utiliz6 en la evaluacién del Algoritmo Genético como herramienta de identificacién de sistemas lineales. Los resultados obteni- dos.utilizando los Algoritmos Genéticos ycomparandoestos tiltimos conel ARX como herramienta de identificacién fue- ron los siguientes: Identificacion utilizando ARX Algoritmo Genético 1.2048 Sistema: Sistema: 2 204557 Error coeficientes | Error coeficientes 0.0439 De acuerdo con los resultados obte- nidos, se puede determinar que el mé- todo de identificacién con Algoritmos Genéticos arroja resultados importan- tes, conel inconveniente parael usuario deque tiene que hacer variasiteraciones para estar seguro de agotar todas las posibilidades y haber encontrado los valores mas cercanos al éptimo, ya que asf como puede encontrar la solucién en la primera iteracién, dependiendo de qué tan bien escogido ha sido el intervalo de itetacién, puede demorar varias corridas del programa. Para po- der saber qué tan cerca del 6ptimo se encuentra, el algoritmo arroja el error que existe entre la salida real del siste- ma y la del sistema identificado. Para evaluar los Algoritmos Genéti- cos en la identificacién de sistemas no lineales, se utilizé como proceso el heli- céptero a escala Humusorr adquirido por la Universidad de los Andes. Se emple6 el procedimiento de identifica- ciénsugerido porel fabricante pero con los Algoritmos Genéticos como herra- mienta de identificacién. Los resulta- dos obtenidos fueron los siguientes: Figura 3. Ejemplo en la identificacion de sistemas lineales Ingenieria & Desarrollo. Universidad del Norte. 8; 130-138, 2000 135 a b Error 0.9365 | 0.0466 | 0.0880 0.9746 | 0.0473 | 0.0878 1,0301 0.0162 0.0869 1.0522 | 0.0012 0.0868, 1,1051 0.0024. 0.0867 1.0939 0.0014 0.0866. 1,0928 0.0012 0.0866, 1.06 0.0093 0.0867, | i | 1.0923, 0.0011 0.0866, 1 Dados los resultados obtenidos, se puede observar que los menores valo- res de error correspondena un valor de a & (1.06,1.0928) N.m/MU? y un valor deb G (0.0011,0.0093) N.m/MU. Estos valores corresponden a los coeficientes del modelo discreto del helicéptero tra- bajado. De acuerdo con el manual que pro- porciona Humusorr, fabricante del mo- delo trabajado, los valores caracteristi- cos para los coeficientes identificados son de ay b 1.05 N.m/MU? y 0.00936 Nim/MU,respectivamente, locual con- firma que el resultado obtenido utili- zando Algotitmos Genéticos para las variables mencionadas es el correcto. 5. Los Algoritmos Genéticos en el Control de Sistemas no Lineales Para determinar las ventajas o desven- tajas de los Algoritmos Genéticos apli- cados al control de sistemas, se proce- dié a utilizar como proceso él sistema no lineal dado por el helicéptero a esca- laque poseela Universidad. Como pun- to de referencia se aplicé el control ép- timo a este sistema, para después reali- zar la comparacién entre este tipo de control y el dado por los Algoritmos Genéticos. Se determiné que la salida deseada era de 1 rad en elevacién y 0 rad en azimut. Las respuestas obtenidas se muestran en las figuras 4 y 5. Figura 4. Salidas obtenidas utilizando control dptimo 136 Ingenieria & Desarrollo. Universidad del Norte. 8: 130-138, 2000 Figura 5. Salidas obtenidas utilizando Algoritmos Genéticos Como se puede observar, la respuesta obtenida con los Algoritmos Genéticos (figura 5) es un poco més rapida que la obtenida con el control éptimo (figura 4), bajo las mismas condiciones, con lo cual podemos establecer una caracte- ristica importante de los Algoritmos Genéticos: una vez se tiene el programa base, que en este caso es «alggen.m», la utilizacién de los Algoritmos Genéticos es de facil implementacién en el disefio de sistemas de control de sistemas. Para el caso del helicéptero se montdé la matrizde realimentaciény elintegrador para obtener error cero, y se corrié el programa. En este caso, la evaluacién de las variables necesarias para montar la matriz de realimentacidn se realiz6 simulando en cada iteracién el modelo del helicéptero y tomando como datos para el programa las entradas y las salidas del helicéptero. Ingenieria & Desarrollo. U CONCLUSIONES Dadas las aplicaciones desarrolladas para evaluar las caracteristicas de los Algoritmos Genéticos, se puede esta- blecer que esta herramienta es muy titil en los campos de optimizacién eidenti- m de funciones y sistemas; sin embargo, donde podemosencontrar un campo de aplicacién muy amplio es en elcontrol de sistemas, especialmenteen los sistemas no lineales, donde los pro- cesos utilizados son, en algunos casos, engorrosos, matematicamente hablan- do y, por consiguiente, procesos largos y tediosos. Se ha comprobado que a pesar de que el tiempo de ejecucién de un Algoritmo Genético es relativamen- te lento, se pueden lograr mejores resul- tados aplicéndolos en la Identificacién de Sistemas y en Control de Proces iversidad del Norte: 8: 130-138, 2000 137 Otro punto quedebetenerseencuen- taesqueeneste trabajose haimplemen- tado un programa que trabaja con nui- meros reales, solventando el hecho de que los Algoritmos Genéticos como ta- les trabajan con ntimeros enteros, lo cual es una gan ventaja en el momento de implementar el algoritmo como he- rramienta de identificacién o para el control de procesos. Los Algoritmos Genéticos pueden ser utilizados en la identificacién de sistemas en los cuales hay presente rui- do, lo cual da incluso mejores resulta- dos que otros métodos de identifica~ cién. Se debe tenerencuentaquelos Algo- ritmos Genéticos son muy sensibles al intervalo que se escoja para la buisque- dade la solucién éptima. Mientras mas grande sea el intervalo, mas grande serd el error generado porel algoritmo. Por ser un proceso completamente estocastico, se deben realizar varias pruebas utilizando el algoritmo hasta encontrar el 6ptimo. Asicomose puede encontrar la solucién en la primera ite- raci6n, ésta también puede demorar en obtenerse varias iteraciones. Efectiva- mente, esto depende del intervalo esco- gido para encontrar el éptimo. Bibliografia ZALZALA, A.M.S. and FLEMING, PJ. «Ge- netic Algorithms : Principles and A pplica- tions in Engineering Systems». In: Neural Network World 5/96 803-820. GOLDBERG, David E. Genetic Algorithms in Search, Optimization and Machine Learning. Massachusetts : Addison-Wesley, 1989. CHIPPERFIELD, Andrewand FLEMING, Pe- ter. «Evolutionary Algorithms for Control Engineering». In: 13" Triennial World Con- gress. San Francisco( Estados Unidos), 1996, p. 181-186. FLEMING, Peter]. And FONSECA, Carlos M. «AnOverview of Evolutionary Algorithms in Multiobjective Optimization». In: Evo- lutionary Computation, Vol. 3, Number 1. Massachusetts, Institute of Technology, 1995, p. 1-16. DUQUE, Mauricio. «Identificacién de Siste- mas». Compendio de clases dictadas en la asignatura Control Discreto. Universidad de los Andes, 1998, p. 17-23. 138 Ingenieria & Desarrollo, Universidad del Norte. 8: 130-138, 2000

Anda mungkin juga menyukai