Sunteți pe pagina 1din 6

Algoritmo Gentico para la Identificacin de Procesos en el Espacio de Estados

M. Irzar(1), R. Galn(2), A. Jimnez(2) (1) Departamento de Automtica y Computacin Instituto Superior Politcnico Jos Antonio Echeverra, CUBA e-mail: mirtha@electrica.ispjae.edu.cu (2) Departamento de Automtica, Ingeniera Electrnica e Informtica Industrial Universidad Politcnica de Madrid e-mail: galan@disam.upm.es

RESUMEN: Este trabajo plantea la aplicacin de algoritmos genticos a la obtencin de las ecuaciones de estado y de salida que representan procesos no lineales SISO en los que aparecen trminos producto, describindose el mtodo y las ventajas de su utilizacin mediante simulaciones realizadas en MATLAB.

1. INTRODUCCIN.
Desde la publicacin por Holland de su libro Adaptacin en sistemas naturales y artificiales, en 1975, un grupo importante de investigadores se ha dedicado al desarrollo y aplicacin de los algoritmos genticos, que se encuentran entre los algoritmos evolutivos ms conocidos en las dos ltimas dcadas. Estos han sido tiles en la solucin de variados problemas que requieren la bsqueda en un espacio complejo y no lineal para lograr una solucin ptima, ya que su principal ventaja es que no necesitan el control directo del entorno, es decir, no necesitan conocer datos auxiliares sobre el problema que se trata de resolver, y tampoco necesitan recorrer todo el espacio de bsqueda. Como se conoce, los algoritmos genticos utilizan un conjunto de cadenas codificadas que representan los parmetros del sistema, las cuales se combinan mediante operadores genticos (seleccin, cruce y mutacin). Partiendo de una poblacin inicial, se crean generaciones sucesivas a travs de la evaluacin de una funcin objetivo. Las cadenas que maximizan la funcin objetivo en el momento de terminacin del algoritmo se toman como soluciones al problema de optimizacin.

Para obtener mejoras en la ejecucin y adaptacin de estos algoritmos a diferentes situaciones prcticas se han desarrollado mltiples variantes de operadores. Muchos problemas de control requieren la identificacin del sistema, o sea, la determinacin de un modelo adecuado dado un conjunto de datos de entrada/salida, el cual puede ser usado para hacer ms efectiva la prediccin y el control. Aunque existe una gran variedad de tcnicas desarrolladas para esta aplicacin, ninguna de ellas ha demostrado ser lo suficientemente efectiva dentro del dominio de casos que se presentan. Muchos de los mtodos tradicionalmente usados en la estimacin de parmetros suponen la existencia de un ptimo nico (o suponen que la solucin inicial se encuentra cerca de la solucin real), y algunos de ellos no modelan el ruido o requieren un conjunto de datos grande del sistema, los cuales no siempre estn disponibles. En este trabajo se plantea la aplicacin de algoritmos genticos a la identificacin de sistemas SISO (una entrada, una salida) no lineales, considerndose como alinealidades posibles la existencia de trminos producto en la ecuacin de estado, caracterstica presente en muchos procesos qumicos, demostrndose las ventajas de su uso a travs de simulaciones.

Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. No.10 (2000), pp. 94-99. (ISSN: 1137-3601). (c) AEPIA (http://aepia.dsic.upv.es/).

2. IDENTIFICACIN DE SISTEMAS EN EL ESPACIO DE ESTADOS.


En la identificacin de sistemas constituyen aspectos importantes la determinacin de la estructura del modelo y su validacin. La identificacin de sistemas fuera de lnea es un mtodo batch que procesa los datos almacenados simultneamente [4]. En la misma se supone conocida la estructura del modelo y se estiman los parmetros del mismo utilizando algn mtodo numrico. El problema de la estimacin de parmetros es un problema generalmente multimodal, o sea, tiene mltiples ptimos o soluciones. Se han desarrollado trabajos previos relacionados con la identificacin, que establecen los siguientes pasos para la estimacin de parmetros de un modelo mediante un algoritmo gentico [1]: 1. Elegir y construir el modelo del sistema a identificar. 2. Seleccionar la funcin o ndice que indicar la fuerza de cada posible solucin. 3. Elegir una regla para codificar, en un cromosoma, los parmetros a estimar. 4. Determinar los operadores genticos que se utilizarn, y si es necesario desarrollar aquellos que se necesiten. 5. Determinar los valores para los parmetros que controlan el AG. 6. Hacer los experimentos necesarios. Con la disponibilidad de las computadoras digitales, resulta conveniente formular las ecuaciones que representan los sistemas de control en el dominio del tiempo, pues dichas tcnicas pueden ser utilizadas para sistemas no lineales, variantes en el tiempo y multivariables [6], constituyendo una base esencial para la teora del control moderna y la optimizacin de sistemas. Las variables de estado describen la respuesta futura de un sistema, dado el estado presente, las entradas de excitacin y las ecuaciones que describen la dinmica. Estas no son un conjunto nico, pudiendo seleccionarse conjuntos alternativos de variables de estado. Evaluacin en tiempo discreto de la respuesta del sistema. La respuesta de un sistema representado por una ecuacin diferencial del vector de estados puede ser obtenida utilizando una aproximacin en tiempo

discreto, mtodo til para evaluar la respuesta en el tiempo de sistemas no lineales. La ecuacin diferencial del vector de estado bsica puede ser escrita como: x = f (x, u, t) donde f es una funcin, no necesariamente lineal, del vector de estado y del vector de entrada u. Usando la ecuacin de la aproximacin de la derivada y resolviendo para x (k+1) cuando t=kT, se obtiene: x(k+1) = x (k) + T[ f (x (k), u (k), k) ] Entonces las ecuaciones diferenciales de primer orden para un sistema con posibles trminos no lineales producto y la ecuacin de salida, pueden ser escritas en forma general como se muestra en la Fig. 1. Para demostrar el funcionamiento del algoritmo gentico se utilizar un sistema con las ecuaciones de estado y de salida expresadas en notacin matricial, segn se muestra en la Fig. 2, donde las matrices

M 1, 2

m11m12 m13 = m21m22 m23 m31m32 m33

representan los coeficientes de los trminos no lineales presentes en la ecuacin de estado. A continuacin se explicar la forma de realizacin de los diferentes pasos. Funcin de evaluacin. El ndice del grado de validez de un modelo est dado por el error cuadrtico entre las salidas reales y las salidas propuestas por el mismo; este error es calculado mediante la ecuacin:

e = ( yi y m ) 2
i =0

donde m es el nmero de datos utilizados. El mejor modelo es el que tenga el menor error, por tanto el AG deber minimizar esta ecuacin. Mtodo de codificacin. Para el AG cada cromosoma representa una solucin al problema planteado y, por tanto, un posible conjunto de coeficientes para las ecuaciones de estado y salida elegidas.

x1 (k ) x (k ) 2 . . . xn ( k ) xi (k + 1) = xi (k ) + T {[x1 (k ) x2 (k )...xn (k )u1 (k )u2 (k )...um (k )1]* M i * u1 (k ) } u2 (k ) . . . um (k ) 1 x1 (k ) x (k ) 2 . y (k ) = [c1c2 ...cn ] . . xn ( k )


Fig. 1. Ecuaciones de estado y de salida de un sistema con trminos no lineales producto en tiempo discreto.

x1 (k ) x1 (k + 1) = x1 (k ) + T {[a11 x1 (k ) + a12 x2 (k ) + b1u (k )] + [x1 (k ) x2 (k )u (k )]* M 1 * x2 (k )} u (k ) x1 (k ) x2 (k + 1) = x2 (k ) + T {[a21 x1 (k ) + a22 x2 (k ) + b2u (k )] + [x1 (k ) x2 (k )u (k )]* M 2 * x2 (k )} u (k ) x1 (k ) y (k ) = [c1c2 ] x2 (k )
Fig. 2. Ecuaciones de estado y de salida del sistema ejemplo. corresponden a criterios prcticos. En los casos donde se conozca que los parmetros estn fuera de este intervalo, se puede modificar el software con cambios mnimos.

Cada coeficiente se codifica como un valor real comprendido entre 10 y +10, cuyos valores iniciales se generan aleatoriamente, y cuyo conjunto constituye la poblacin inicial para el algoritmo. Los intervalos seleccionados para los parmetros

Cada individuo contiene una posible solucin (juego de coeficientes) para los parmetros del modelo propuesto y cada coeficiente se encadena con los otros, formando un cromosoma de 26 bits de longitud. Esta codificacin se muestra en la Fig. 3.

a11 a12 a 21 a 22 b1b2 m111 m112 m113 m121 m122 m123 m131 m132 m133 m211 m212 m213 m2 21 m2 22 m2 23 m2 31 m2 32 m2 33 c1 c 2
Fig. 3. Esquema de codificacin. Operadores Genticos. El AG utilizado para la identificacin incluye los tres operadores bsicos: reproduccin, cruce y mutacin. En la reproduccin mediante torneo estocstico se realizan torneos entre individuos vecinos y para poder lograr la minimizacin, se elige como ganador a aquel que tiene la menor fuerza. Al mejor individuo se le asignan dos copias en la generacin siguiente y al peor, ninguna El cruce consiste en hallar el valor promedio de dos individuos cuyas aleatoriamente en la poblacin, de acuerdo a la probabilidad establecida. La mutacin consiste en alterar los valores de los coeficientes generados por un individuo en una cantidad dada. El algoritmo para la mutacin es el siguiente: Para todos los individuos de la poblacin, Para cada parmetro del cromosoma, Generar valor aleatorio entre 0 y 1 (valeat1) Si valeat1<= Probab. de mutac. Generar valor aleatorio entre 0 y 1 (valeat2) Si valeat2<=0.5 Parm.=(0.5)*Parm Si valeat2>0.5 Parm.=(-0.5)*Parm Fin A continuacin se resume el algoritmo gentico desarrollado: - Entrar parmetros del algoritmo, error mximo del modelo e intervalo de muestreo. - cont=0; Para el nmero de generaciones, Evaluar cada individuo de la poblacin de acuerdo a la funcin de fuerza y determinar el mejor Generar aleatoriamente las posiciones para el torneo y efectuarlo Generar aleatoriamente las posiciones para el cruce y efectuarlo segn probabilidad

Realizar la mutacin segn probabilidad Introducir mejor individuo en la poblacin(elitismo) Calcular error Si se mantiene el mismo error Incrementar cont Si el contador llega a 10, o si el error es menor que el mximo: Terminar ciclo Mostrar grficos de salida y matrices obtenidas para el mejor individuo Fin Como se observa, la ejecucin del algoritmo puede terminar porque se haya alcanzado un valor mnimo de error, porque se mantenga dicho valor constante durante 10 generaciones de forma consecutiva o porque se llegue al nmero de generaciones establecidas previamente.

3. RESULTADOS.
Los experimentos que se describen tienen como objetivo validar el software siguiendo dos criterios fundamentales: Es capaz de optimizar una funcin usando los operadores del algoritmo gentico, incrementando la idoneidad de la poblacin a travs de las generaciones. Es capaz de identificar correctamente un proceso, mostrando la utilidad de los algoritmos genticos en este campo. Para probarlo, se reflejan los ejemplos ms significativos. En cada caso se muestra un grfico con el valor del error a travs de las generaciones y, para validar la identificacin, uno con la salida real y la salida del modelo estimado. Los dos primeros experimentos tienen como objetivo analizar el desempeo del algoritmo gentico con la variacin de la seal de entrada. En ambos experimentos el nmero de generaciones, el tamao de la poblacin, la probabilidad de cruce y la de mutacin se mantuvieron constantes, y los datos que se utilizaron corresponden a un sistema descrito por las siguientes ecuaciones:

x1 = x1 u + x2u
1

x2 = x2 + u
1

y = x1 + x2
Experimento 1. Este experimento se realiz con una poblacin de 300, una probabilidad de cruce de 0.8 y una

probabilidad de mutacin de 0.03, aplicndose una seal de entrada aleatoria. (Ver Fig. 4). El error en la estimacin de los coeficientes de las ecuaciones de estado y salida del proceso fue decreciendo, estabilizndose finalmente en un valor de 5.49. Experimento 2. Este experimento se realiz con los mismos parmetros del algoritmo que en el caso anterior, pero en este caso se us una seal de entrada sinusoidal. El error final en este experimento fue 0.02 (Fig. 5). El segundo bloque de experimentos tuvo por objetivo analizar el comportamiento del algoritmo gentico con diferentes sistemas. En los mismos se mantuvo constante el nmero de generaciones (100), el tamao de la poblacin (300), la probabilidad de cruce (0.8) y la probabilidad de mutacin (0.03). Los experimentos se llevaron a cabo partiendo de sistemas con diferentes tipos de trminos no lineales, los que se especifican en cada caso. Experimento 3. En este experimento (Ver Fig. 6) los datos que se utilizan corresponden a un sistema descrito por las siguientes ecuaciones:

aumentar o disminuir dichos datos de acuerdo a las disponibilidades del sistema.

4. CONCLUSIONES.
El software utilizado para llevar a cabo los experimentos fue desarrollado en MATLAB. Los resultados obtenidos demuestran que los algoritmos genticos son aplicables a la estimacin de parmetros trabajando en el espacio de estados para sistemas lineales y algunos tipos de sistemas no lineales, constituyendo una herramienta simple, pero pueden existir otras alinealidades tales como funciones seno, coseno y races cuadradas, que tambin deben ser consideradas en el algoritmo, lo que sugiere la necesidad de continuar explorando nuevas alternativas para su aplicacin a sistemas no lineales con diferentes caractersticas.

5. REFERENCIAS.
[1] Romero, J.L y Valenzuela,M.(1992). Aportaciones de los AGs a la Identificacin paramtrica de sistemas. Memorias de Informtica'92. [2] Marn, F., Garca, F., y Sandoval, F.(1992). Algoritmos genticos: una estrategia para la bsqueda y optimizacin. Informtica y Automtica, vol 26-3. [3] Goldberg, D.E.(1985).Genetic Algorithms in search, optimization, and machine learning. M.A. Addison- Wesley. [4] Sderstrom, T. y Stoica, P.(1989). System Identification. Prentice Hall International. [5] Man, K. F., Tang, K.S., y Kwong, S. (1996). Genetic Algorithms: Concepts and Applications. IEEE Transactions Industrial Electronics, vol. 43, No. 5. [6] Dorf, R.C. y Bishop, R. H. (1998). Modern Control Systems. Addison Wesley Longman, Inc.

x1 = x1 u x1 x2 + x2u
1

x2 = x2 + u + x1
1

y = x1 + x2

Experimento 4. En este experimento (Fig. 7) los datos corresponden a un sistema descrito por las ecuaciones:

x1 = x1 u x1 x2
1

x2 = x2 + u x1
1

y = x1 + x2
Como se observa en ambos casos, el algoritmo responde de forma muy similar al sistema real ante una seal de entrada aleatoria. Debe destacarse que en el algoritmo gentico se parte de un conjunto de datos de entrada y salida simulados para la ejecucin de los diferentes experimentos, lo que en la prctica correspondera al estmulo de la planta y la adquisicin de valores representativos en diferentes puntos de funcionamiento, existiendo la posibilidad de

Fig . 4 Resultados del experimento 1.

Fig. 5 Resultados del experimento 2.

Fig. 6 Resultados del experimento 3.

Fig. 7 Resultados del experimento 4.

S-ar putea să vă placă și