• No se han encontrado resultados

Computación evolutiva para la búsqueda de ecuaciones óptimas para sintonización de controladores PID discretos

N/A
N/A
Protected

Academic year: 2020

Share "Computación evolutiva para la búsqueda de ecuaciones óptimas para sintonización de controladores PID discretos"

Copied!
101
0
0

Texto completo

(1)

(2) INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY C A M P U S MONTERREY E S C U E L A DE INGENIERÍA Y TECNOLOGÍAS DE INFORMACIÓN. TECNOLÓGICO DE MONTERREY. TESIS MAESTRÍA EN CIENCIAS C O N ESPECIALIDAD EN AUTOMATIZACIÓN. COMPUTACIÓN EVOLUTIVA PARA L A BÚSQUEDA DE ECUACIONES ÓPTIMAS PARA SINTONIZACIÓN DE CONTROLADORES PID DISCRETOS POR: PEDRO GARCÍA GARCÍA. MONTERREY, N. L.. DICIEMBRE DE 2011.

(3) INSTITUTO TECNOLÓGICO Y D E ESTUDIOS SUPERIORES D E M O N T E R R E Y CAMPUS MONTERREY E S C U E L A D E INGENIERÍA Y TECNOLOGÍAS D E INFORMACIÓN. TECNOLÓGICO DE MONTERREY. T E S I S. MAESTRÍA E N CIENCIAS C O N ESPECIALIDAD E N AUTOMATIZACIÓN. Computación Evolutiva para la búsqueda de ecuaciones óptimas para sintonización de controladores PID discretos. por. Pedro García García. Monterrey, N . L . , Diciembre de 2011.

(4)

(5) © P e d r o García García, 2011..

(6)

(7) Computación Evolutiva para la búsqueda de ecuaciones óptimas para sintonización de controladores P I D discretos por. Pedro García García Tesis. Presentada a l a Escuela de Ingeniería y Tecnologías de Información del Instituto Tecnológico y de Estudios Superiores de Monterrey, C a m p u s Monterrey como requisito parcial para obtener el grado académico de. Maestro en Ciencias con. Especialidad en Automatización Instituto Tecnológico y de Estudios Superiores de M o n t e r r e y. Campus Monterrey Monterrey, N . L . , Diciembre de 2011.

(8)

(9) Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey. Programa de Graduados en Ingeniería y Tecnologías de Información Escuela de Ingeniería y Tecnologías de Información Los miembros del comité de tesis recomendamos que la presente tesis del Ing. Pedro García García sea aceptada como requisito parcial para obtener el grado de M a e s t r o en Ciencias con Especialidad en Automatización.. Comité de Tesis. D r . Francisco Palomera Palacios Sinodal. D r . Rogelio Soto Rodríguez Sinodal. D r . Gerardo A n t o n i o Castañón Ávila Director de la Maestría en Ciencias con Especialidad en Automatización Diciembre de 2011.

(10)

(11) ix. Resumen E l trabajo realizado en esta investigación está enfocado en obtener una simulación de Programación Genética Coevolutiva como herramienta para l a búsqueda de ecuaciones que optimicen el desempeño de controladores P I D discretizados. E n el trabajo se cubren los siguientes aspectos: • E l análisis de la utilización de ecuaciones óptimas bajo el criterio I A E de sintonización de controladores P I D continuos para controladores P I D discretizados. • Simulación de Programación Genética para l a búsqueda y desarrollo de ecuaciones de sintonía de controladores P I D discretizados por diferencias hacia atrás bajo el criterio de optimización I A E . • Simulación de Programación Genética Coevolutiva como herramienta para la disminución de tiempos de procesamiento para l a búsqueda y desarrollo de ecuaciones de sintonía de controladores P I D discretizados por diferencias hacia atrás bajo el criterio de optimización I A E . Los resultados obtenidos nos permiten poder seguir realizando la búsqueda de nuevas ecuaciones bajo los parámetros de desempeño deseados, así como l a discretización del controlador que se deseé implementar o para poder generar respuestas que cumplan con las necesidades que el usuario proponga..

(12)

(13) xi. Dedicatoria. C o n todo m i cariño a m i mamá, por que gracias a ella soy l a persona y profesionista en el que me he convertido. A m i papá por todo el apoyo y por todos los consejos que me da para poder superarme día a día A mis dos grandes amigos y hermanos Carlos y Tonatiuh, que siempre están apoyandome en cada etapa de m i vida. A m i mamá Altagracia Reynoso Peralta †, quien siempre está cuidándome. C o n mucho cariño para m i sobrina Michelle.

(14)

(15) xiii. Agradecimientos U n agradecimiento especial a mis tías María del Socorro García Reynoso y María de Lourdes García Reynoso, quienes siempre están apoyándome y sobre todo por las muestras de cariño que tienen conmigo. C o n mucho cariño para m i papá Salvador García Zamora. A m i tío J u a n Francisco García Reynoso, por apoyarme en l a redacción y corrección de m i tesis. A t o d a m i familia por el apoyo y sus bendiciones que siempre me otorgan. A m i asesor el D r . M a n u e l Valenzuela Rendón por el tiempo, consejos e ideas, las cuales me ayudaron para poder desarrollar este trabajo de investigación. A mis sinodales D r . Rogelio Soto Rodríguez y D r . Francisco Palomera Palacios, por el tiempo otorgado para poder mejorar m i trabajo de investigación. A mis padrinos Rubén y A d r i a n a por todas las atenciones que tienen conmigo. Muchas gracias a M i g u e l Ángel Fernández, Pamela Díaz, Ramsés Espinoza, Lorena Ramírez, Melissa Meneses, Oscar Alonso, Indira Valdepeña, Rafael González, Ricardo Simental, C h r i s t i a n Enríquez, Raúl Hernández, Raúl Villarreal, Carlos Cedeño y Martín López, que siempre están apoyándome para superarme y por todo el cariño que siempre me muestran.. Pedro García García.

(16)

(17) Contenido 1. Introducción. 1. 2. Bases teóricas. 3. 2.1. Controlador P I D. 3. 2.2.. 5. Sintonización de controladores P I D. 2.3. Programación genética. 7. 2.3.1.. Algoritmos genéticos. 7. 2.3.2.. Mecánica de l a programación genética. 8. 3. Optimización de ecuaciones de R o v i r a para controladores P I D en tiempo discreto. 19. 3.1.. Diseño de controladores. 19. 3.2.. Resultados de optimización de las constantes de R o v i r a. 24. 3.2.1.. Ejemplo 1. 25. 3.2.2.. Ejemplo 2. 26. 3.2.3.. Ejemplo 3. 27. 3.3. Validación de las ecuaciones. 28. 4. Programación genética como herramienta para la búsqueda y desarrollo de ecuaciones de sintonización de controladores P I D en tiempo discreto 33 4.1. Diseño del algoritmo 34 4.2. Implementación y pruebas del algoritmo. 36. 4.2.1.. Implementación. 36. 4.2.2.. Pruebas. 38. 4.3. Resultados obtenidos. 41. 4.3.1.. Ejemplo 1. 43. 4.3.2.. Ejemplo 2. 44. 4.3.3.. Ejemplo 3. 45. 4.4. Validación de los resultados. 46. 5. Programación genética coevolutiva como herramienta para la búsqueda y desarrollo de ecuaciones de sintonización de controladores P I D xv.

(18) Contenido. xvi. en tiempo discreto 5.1. Implementaciones y comportamiento obtenido 5.1.1. P r i m e r a implementación 5.1.2. Segunda implementación 5.1.3. Tercera implementación 5.2. Resultados de l a implementación 5.2.1. Ejemplo 1 5.2.2. Ejemplo 2 5.2.3. Ejemplo 3 5.3. Validación de resultados. 51 52 52 54 58 60 61 63 64 65. 6. Conclusiones 6.1. Optimización de ecuaciones de R o v i r a para controladores P I D en tiempo discreto 6.2. Programación genética corno herramienta de búsqueda y desarrollo de ecuaciones de sintonización de controladores P I D en tiempo discreto . . 6.3. Programación genética coevolutiva como herramienta de búsqueda y desarrollo de ecuaciones de sintonización de controladores P I D en tiempo discreto 6.4. Ecuaciones generadas 6.5. Trabajo a futuro. 69. A . Código p a r a graficar y evaluar los controladores tipo P I D. 75. Fuentes consultadas. 78. 69 70. 71 72 72.

(19) Índice de figuras 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8.. D i a g r a m a de bloques del algoritmo velocidad de un P I D D i a g r a m a de flujo de l a implementación de l a P G Representación de un Individuo para programación genética Cruce en programación genética Mutación en programación genética Permutación en programación genética Edición en programación genética Encapsulamiento en programación genética. 5 9 10 14 14 15 15 16. 3.1. 3.2.. L a z o de control empleado para la evaluación de las ecuaciones Respuesta del controlador P I D discrctizado con diferencias hacía delante vs P I D en tiempo continuo Respuesta del controlador P I D discretizado con diferencias hacía atrás vs P I D en tiempo continuo Respuesta del controlador P I D discretizado por método bilineal vs P I D en tiempo continuo Simulación de los controladores sintonizados con R o v i r a y A G Simulación de los controladores sintonizados con R o v i r a y A G Simulación de los controladores sintonizados con R o v i r a y A G. 19. 3.3. 3.4. 3.5. 3.6. 3.7. 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7.. 5.1. 5.2. 5.3.. 21 21 22 26 27 28. Representación de la ecuación 4.1 en P G Ejemplo de l a protección de una división con denominador 0 E j e m p l o de u n a planta con inestabilidad y que es castigada en su I A E . E j e m p l o de u n a planta con error en estado estable y que es castigada en su I A E Simulación de los controladores sintonizados con R o v i r a y ecuaciones de la P G Simulación de los controladores sintonizados con R o v i r a y ecuaciones de la P G Simulación de los controladores sintonizados con R o v i r a y ecuaciones de la P G. 35 36 39. Caso donde las ecuaciones generan una respuesta estable Caso donde las ecuaciones generan inestabilidad en el sistema Caso donde las ecuaciones generan un error en estado estable. 55 55 56. xvii. 39 43 44 45.

(20) xviii. 5.4. I A E generado 5.5. Simulación de la P G C 5.6. Simulación de la P G C 5.7. Simulación de la P G C. Índice de figuras. por las ecuaciones de R o v i r a para l a relación los controladores sintonizados con R o v i r a y ecuaciones de. 57 62. los controladores sintonizados con R o v i r a y ecuaciones de 63 los controladores sintonizados con R o v i r a y ecuaciones de 64.

(21) Índice de tablas 3.1.. Parámetros empleados en las primeras corridas del A G. 24. 3.2. Parámetros empleados en l a implementación del A G 3.3. Parámetros empleados en la implementación del A G 3.4. Parámetros empleados en l a implementación del A G. 25 26 27. 3.5. Parámetros empleados en la implementación del A G 3.6. I A E resultante de l a población de plantas empleadas para la evaluación de l a a p t i t u d 3.7. Comparación del I A E generado por 500 plantas 3.8. Desempeños I A E generados por las plantas de l a Región 1 3.9. Desempeños I A E generados por las plantas de l a Región 2 3.10. Desempeños I A E generados por las plantas de l a Región 3. . . . . . . .. 28. 4.1. Parámetros de l a implementación de l a programación genética. 41. 4.2. Parámetros calculados con R o v i r a y de las ecuaciones de P G. 43. 4.3. Parámetros calculados con Rovira y de las ecuaciones de P G 4.4. Parámetros calculados con R o v i r a y de las ecuaciones de P G 4.5. I A E resultante de la población de plantas empleadas para l a evaluación de l a a p t i t u d 4.6. Desempeño I A E generado por las plantas de l a Región 1. 44 45. 4.7. Desempeño I A E generado por las plantas de l a Región 4.8. Desempeño I A E generado por las plantas de l a Región 4.9. Desempeño I A E resultante de l a población de plantas la evaluación de la aptitud 4.10. Desempeño I A E generado por las plantas de l a Región 4.11. Desempeño I A E generado por las plantas de l a Región. 47 47. 2 3 empleadas para 1 con T = 1 con T = s. s. T/20. T/5.. 29 29 30 30 31. 46 47. 48 48 49. 5.1. Parámetros empleados en l a implementación del A G. 53. 5.2. Parámetros de l a implementación de l a programación genética 5.3. Parámetros empleados en l a implementación del A G 5.4. Parámetros de l a implementación de l a programación genética. 53 56 57. 5.5. Parámetros empleados en l a implementación del A G 5.6. Parámetros de l a implementación de la programación genética. 59 59. 5.7. Parámetros calculados con R o v i r a y de las ecuaciones de P G C 5.8. Parámetros calculados con Rovira y de las ecuaciones de P G C. 62 63. xix.

(22) XX. Índice de tablas. 5.9. Parámetros calculados con R o v i r a y de las ecuaciones de P G C 5.10. I A E resultante de la población de plantas empleadas para l a evaluación de l a a p t i t u d 5.11. Desempeño I A E generados por las plantas de l a Región 1 5.12. Desempeño I A E generados por las plantas de l a Región 2 5.13. Desempeño I A E generados por las plantas de l a Región 3 5.14. Desempeño I A E generados por las plantas de l a Región 1 5.15. Desempeño I A E generados por las plantas de l a Región 2 5.16. Desempeño I A E generados por las plantas de l a Región 3. 64 65 66 66 67 68 68 68. 6.1. Ecuaciones encontradas por medio de l a computación evolutiva 6.2. Ecuaciones encontradas por medio de l a computación evolutiva. 72 72.

(23) Capítulo 1 Introducción En la industria existen diversos controladores capaces de poder llevar un sistema a un estado deseado y muchos de estos controladores implementados son PID, los cuales debido a su simplicidad de implement ación así como la confiabilidad que han generado en sus usuarios, son una de las referencias al momento de querer controlar un proceso. Por dicha razón las teorías de sintonización de estos controladores han sido estudiadas por muchos años y siempre buscando poder generar respuestas óptimas al momento de controlar un sistema. Pero el controlador PID nació como un sistema de control en tiempo continuo y mucho del trabajo realizado para ellos está enfocado en cubrir dicha necesidad. Pero debido a que en la industria actualmente se tienen implementados gran parte de los controladores en sistemas discretos, no se puede esperar que los métodos de sintonización generen la misma respuesta que se tiene al momento de ser implementados en sistemas continuos. Pocos trabajos están enfocados en controladores PID discretos, uno de ellos es la tesis de Iván López Hurtado [López Hurtado 98] y las aportaciones que hicieron Murril y Smith [López 69]. Por dicho motivo no se cuentan con ecuaciones que generen el mismo desempeño o mejor que ecuaciones para controladores PID continuos, por dicha razón en este trabajo de tesis se propone la implement ación de métodos de computación evolutiva para poder realizar la búsqueda de ecuaciones que sean capaces de poder controlar procesos, en los cuales tienen implementados PID discretizados. Además, se busca que estas ecuaciones sean óptimas bajo el criterio de desempeño con el cual se desea trabajar. En cuanto a la discretización del controlador PID, se propusieron 3 métodos de mapeo [Ogata 87], cada uno de ellos se analizaron y se observó que el método por diferencias hacia atrás es con el cual se tienen más problemas al momento de su implementación, por lo cual se toma como referencia en la tesis para poder buscar ecuaciones que trabajen para dicha discretización. Pero se contempla que el algoritmo sea capaz de poder trabajar con cualquier discretización que el usuario quiera implementar. Programación genética [Koza 98] es una metodología la cual tiene como objetivo el poder resolver problemas computacionales donde múltiples entradas generan salidas específicas, por dicha razón se toma la decisión de implementar este algoritmo como 1.

(24) 2. Capítulo 1.. Introducción. una herramienta para la búsqueda de ecuaciones, además de que el algoritmo tiene la capacidad de ser implementado con la coevolución lo cual es una gran herramienta cuando se busca disminuir tiempos de procesamiento, ya que acota el espacio de búsqueda. En el trabajo se muestra la implementación de cada uno de los algoritmos para la búsqueda de las ecuaciones, así como el comportamiento que presenta cada uno de ellos bajo ciertos criterios, esto se hace con la finalidad de mostrar al lector como se comportan estos algoritmos cuando trabajan en problemas donde se tienen 3 ecuaciones trabajando para llegar una solución en específico, la cual es la sintonización de controladores PID para tiempo discreto. Cada una de las ecuaciones encontradas fueron evaluadas para poder garantizar su implementación para cualquier caso que se pueda presentar en el rango que tienen de trabajo, además se muestran los resultados obtenidos con cada una de ellas, para así demostrar que mejora pueden esperar en comparación a las ecuaciones de Rovira, las cuales fueron diseñadas para controladores en tiempo continuo. El trabajo está organizado en cuatro capítulos y conclusiones. En el capítulo 2 se detallas las conceptos teóricos con los que se trabajan en la tesis, esto con la finalidad de poder darle una idea general al lector sobre el tema que se esta abordando. En el capítulo 3 se realizan las primeras pruebas sobre el controlador discretizado y a partir de ello se propone la búsqueda de constantes que mejoren el desempeño de las ecuaciones de Rovira, las cuales se tienen como referencia para la investigación, para ello se implementa un algoritmo genético el cual es una herramienta de la inteligencia artificial la cual nos permite poder realizar una búsqueda óptima de las nuevas constantes. En el capítulo 4 se cubre la implementación de la programación genética para la búsqueda de ecuaciones de sintonización de controladores PID para tiempo discreto, para ello se realizan varias pruebas con el algoritmo para poder comprender mejor como trabaja y a partir de ello poder proponer una implementación de esta herramienta computacional, para así poder tener un marco de referencia para poder seguir implementando dicho algoritmo cuando se deseé tener otras ecuaciones que cubran otros casos en específico. En el capítulo 5 se implementa la programación genética coevolutiva, la cual es una vertiente de la programación genética, esta implementación se realiza con la finalidad de poder disminuir tiempos de procesamiento al momento de estar realizando la búsqueda de ecuaciones. Finalmente en las conclusiones se presenta una perspectiva global de la investigación y el rumbo que puede tomar ella en caso de que exista un trabajo futuro..

(25) Capítulo 2 Bases teóricas Para poder comprender mejor el trabajo de esta investigación, en este capítulo se abordan los conceptos teóricos que se emplearon para el desarrollo del mismo. El capítulo se divide en dos secciones: a) Funcionamiento de un controlador Proporcional Integral Derivativo (PID) para sistemas en tiempo discreto, así corno la sintonización del mismo; b) Metodología y conceptos básicos en que se basa la técnica de optimización de programación genética co-evolutiva (PGC).. 2.1. Controlador PID. El controlador PID es por mucho el algoritmo de control más empleado en la industria. Gran parte de los sistemas de lazo cerrado son controlados por este tipo de algoritmos o por sus variantes, como puede ser un controlador PI o PD. Los controladores PID son implementados en diferentes formas, estas pueden ser como sistemas independientes del controlador o como parte del paquete D D C . La estructura del PID está compuesta por tres acciones de control: 1) Acción proporcional: esta acción de control actúa como un compensador proporcional sobre la señal de error. La ecuación del controlador en el dominio del tiempo es: 1. (2.1) 2) Acción integral: la función principa] de la acción integral es que la salida del proceso coincida con el estado estable. La ecuación del controlador en el dominio del tiempo es: (2.2) mientras e sea diferente de 0. 3) Acción derivativa: el propósito de la acción derivativa es poder controlar la estabilidad del proceso en lazo cerrado. La estructura básica del controlador PD es: 0. ^irect Digital Control 3.

(26) 4. Capítulo 2. Bases teóricas. (2.3) La expresión matemática del algoritmo PID en el dominio del tiempo es: (2.4) La cual puede ser representada por la función de transferencia: (2.5) Como se puede observar la estructura del controlador está representada en el do­ minio del tiempo, pero actualmente la industria se apoya de controladores digitales, por lo que es necesario discretizar la estructura del controlador PID representada en la ecuación 2.5. Para poder pasar el controlador a tiempo discreto es necesario hacer un cambio en su estructura, por lo que se requiere de un retenedor en el lazo de control. La discretización de la ecuación 2.5 se realizó por 3 diferentes métodos de mapeo, se tiene por integración de diferencias hacia delante, integración de diferencias hacia atrás [Franklin 98] y transformación bilineal [Ogata 87]. Por integración de diferencias hacia delante se tiene: (2.6) haciendo la substitución obtenemos: (2.7) Por integración de diferencias hacia atrás se tiene: (2.8) haciendo la substitución obtenemos: (2.9) Por la transformación bilineal se tiene: (2.10) haciendo la substitución obtenernos: (2.H).

(27) 2.2. Sintonización. 5. de controladores PID. Figura 2.1: Diagrama de bloques del algoritmo velocidad de un PID. El algoritmo que se utiliza en esta investigación es el algoritmo velocidad o algoritmo de incrementos [Ástróm 95], ya que al momento en que se realizó el cambio de controladores en la industria, mucho de los distribuidores de controladores mantuvieron esta estructura para poder tener la compatibilidad con el equipo anterior, además de la robustez que se tiene en comparación con otro tipo de algoritmos. El diagrama de bloques del algoritmo velocidad para el controlador PID se puede observar en la Figura 2.1.. 2.2. Sintonización de controladores PID. Ya que se tiene considerada cuál es la estructura a implementar para el controlador PID. el siguiente paso a seguir es seleccionar el procedimiento para poder obtener los parámetros para el controlador PID: proporcional (K ), integral (í¿) y derivativa (td). Para poder encontrar estos parámetros existen muchos métodos como son el de Ziegler-Nichols, especificación a partir de parámetros propuestos, localización de polos, métodos recursivos y minimización del error de integración [Ástróm 95]. Para el trabajo de investigación se implementa la metodología de sintonización por minimización del error de integración, ya que por este procedimiento las variables del proceso no se tienen que poner a oscilar, simplemente se utilizan los parámetros del proceso (ganancia estática, polos y tiempo muerto). La desventaja que se tiene con esta implementación es que sólo se enfoca a procesos cuya función de transferencia es de primer orden. c. (2.12) Como el propósito de la investigación es poder encontrar ecuaciones que optimicen la sintonización de controladores PID, es necesario tener un punto de comparación, el cual se emplea como la función objetivo para la Programación Genética Coevolutiva; por lo cual se propone implementar las fórmulas desarrolladas por Rovira [O'Dwyer 09], las cuales son ocupadas para sintonizar controladores PID ante cambios de referencia,.

(28) Capítulo 2. Bases teóricas. 6. 2. con lo que se logra minimizar el criterio del error de integración I A E . Las ecuaciones propuestas son:. (2.13). (2.14). (2.15) donde:. ai = 1.086 a = 0.740 2. a = 0.348 3. h = -0.869 b = -0.130 2. b = 0.914 3. (2.16). • Estas ecuaciones sólo pueden ser aplicadas para los procesos que cumplan con la característica:. (2.17) Estas ecuaciones están diseñadas para controladores que trabajan en tiempo continuo, por lo que se tiene que discretizar para poder ser aplicadas, por lo que se tienen que hacer ciertos cambios para ello, Moore [Deshpande 81] propone modificar el tiempo muerto a. (2.18) donde 9 es el nuevo tiempo muerto del sistema, 6 es el tiempo muerto del sistema en continuo y T es el tiempo de maestreo. 0C. Con estos cambios realizados ya es posible poder trabajar con las ecuaciones de sintonía de Rovira en tiempo discreto y así de esta forma poder comparar el desempeño de las nuevas fórmulas en tiempo discreto.. 2. Integrate Absolute Error.

(29) 2.3. Programación. 2.3. genética. 7. Programación genética. Programación genética (PG) es una de las ramas de la Inteligencia Artificial (IA). El concepto de IA se desarrolló en 1950, cuando Arthur Samuel, uno de los pioneros en el desarrollo de lenguaje no numérico, se planteó la pregunta "¿Como las computadoras pueden aprender a resolver problemas sin la necesidad de una programación explícita?" [Koza 98]. A partir de esta pregunta mucha investigación se ha desarrollado con la finalidad de poder alcanzar este objetivo. A partir de ello diferentes tipos de soluciones han surgido para poder resolver las diferentes vertientes que tienen los problemas computacionales que se presentan. En esta investigación se propone la implemcntación de PG debido a las características con las que cuenta, lo cual nos facilitará en la búsqueda de ecuaciones óptimas para los controladores PID. Para poder comprender cómo funciona la PG es necesario tener en cuenta cómo trabaja un algoritmo genético, esto es debido a que es una extensión de dicho algoritmo.. 2.3.1. Algoritmos genéticos. El algoritmo genético ( A G ) , fue desarrollado por John Holland en los 60s [Holland 75], en la universidad de Michigan. Es un algoritmo que se concibió como un método para resolver problemas donde su solución puede ser representada por una tira de caracteres generalmente binarios. Al momento de estar estudiándolo observaron que es una metodología robusta de optimización, la cual supera por mucho otras metodologías de optimización. De acuerdo a [Goldberg 89], el AG es un método estocástico de búsqueda, el cual tiene su fundamento en el proceso evolutivo propuesto por Darwin y en el proceso genético. La mecánica del A G se basa a partir del proceso evolutivo, para ello es necesario simular ciertas condiciones para que el proceso pueda llevarse a cabo, estas condiciones son las siguientes: • Un individuo tiene la capacidad de reproducirse (cruce). • Se presentan variaciones en la reproducción (mutación). • Algunos individuos tiene la habilidad de sobrevivir al ambiente (selección) Para poder representar los individuos, el AG se apoya de la mecánica genética. Por eso los individuos, los cuales son representaciones de posibles soluciones, son codificados en una cadena de bits binarios (0 y 1), así como el material genético codifica proteínas. Con esta representación es posible realizar las operaciones de cruce y mutación. En cuanto a la mecánica de selección es necesario evaluar cada individuo para poder obtener su aptitud y a partir de ello darle una mejor ponderación a los individuos con mejor desempeño, para así seleccionar cuáles individuos sobrevivirán y podrán reproducirse para dar paso a una nueva generación de individuos. Estos pasos se realizan hasta que se cumple un criterio de terminación [Goldberg 89]..

(30) Capítulo 2. Bases teóricas. 8. 2.3.2. Mecánica de la programación genética. Algunos de los problemas de optimización que se presentan tienen la característica de que no pueden ser resueltos mediante un A G , por lo cual la P G se convirtió en una metodología la cual nos permite poder representar problemas donde la respuesta no es un número, sino una función. Koza hace uso de esta metodología para poder evolucionar programas computacionales, así como ecuaciones. La PG tiene como objetivo el poder resolver problemas computacionales donde múltiples entradas generan salidas específicas, por dicha razón la posibilidad de encontrar ecuaciones con esta metodología es posible, pero para poder implementar la PG es necesario cumplir los pasos que propone Koza [Koza 98], los cuales son los siguientes: 1. Generar aleatoriamente la población inicial de programas a partir de composiciones de funciones y nodos terminales. 2. Realizar iterativamente los siguientes pasos hasta satisfacer el criterio de terminación: a) Ejecutar cada programa de la población y asignarle un valor de aptitud de acuerdo a su desempeño para resolver el problema. b) Crear una nueva población de programas aplicando las dos operaciones primarias. 1) Copiado de programas existentes en la nueva población. 2) Creación de nuevos programas por recombinación genética de partes escogidas aleatoriamente de dos programas existentes. Estas operaciones primarias son aplicadas a programas elegidos de la población a través de una probabilidad que es asignada por la aptitud. 3. El mejor programa que aparece en la totalidad de generaciones es designado corno el resultado de P G . Para poder comprender mejor cómo trabaja la PG, en la figura 2.2 se puede observar el diagrama de flujo del algoritmo. En el diagrama la constante i representa al individuo en un tamaño de población M. La variable GEN nos indica en cuál generación se encuentra el algoritmo. Para comprender mejor cada uno de los bloques del diagrama de flujo, se explicará a continuación las operaciones básicas y la estructura que se empleará para manejar a los individuos. Estructura y operaciones Para el desarrollo de la investigación se implemento la estructura S que propone Koza, pero debido a que el trabajo se realizó en el lenguaje de M A T L A B (ya que cuenta con la paquetería de control, la cual es necesaria para poder evaluar la aptitud de los individuos) se hizo un cambio a la forma de expresar los individuos, para ello nos apoyamos en la estructura que propone Ferreira [Ferreira 06], pero prácticamente se.

(31) 2.3. Programación. genética. Figura 2.2: Diagrama de flujo de la implement ación de la PG.. 9.

(32) Capítulo 2. Bases teóricas. 10. mantiene el concepto que propone Koza para poder manejar a los individuos así como la terminología que él maneja. La estructura de un individuo es representada como se muestra en la Figura 2.3, como se puede observar el árbol está compuesto por operadores y operandos, los cuales son nombrados por Koza como funciones y nodos terminales respectivamente.. Figura 2.3: Representación de un Individuo para programación genética.. Funciones:. F. =. { / l ) /2) •••j. ÍNfunc}. Las funciones pueden incluir: • Operaciones aritméticas (+,-,*,etc.) • Funciones matemáticas (sin, eos, exp, log, etc.) • Operaciones booleanas (AND, OR, NOT) • Operandos condicionales (If-Then-Else) • Funciones que causan iteraciones (Do-Until) • Funciones que causan recursividad • Otro tipo de operaciones de acuerdo a la necesidad del problema.

(33) 2.3. Programación. genética. 11. Nodo terminal:. (2.19) Los nodos terminales típicamente son variables (x, y, z, etc.), de acuerdo a las necesidades del problema pueden ser la entrada de sensores, variables de estado de un sistema, etc.; constantes (1, 0, etc.); constantes booleanas; y en algunos casos pueden llegar a ser argumentos no explícitos. En algunos casos debido a las funciones y nodos con los que se puede contar, es necesario proteger las funciones y garantizar que pueden aceptar cualquier función o nodo al momento de realizar alguna operación de cruce, mutación o permutación. Para ello la P G debe cumplir con las siguientes propiedades: 1. Cierre Esta propiedad se refiere a que cualquier conjunto de funciones debe ser capaz de aceptar cualquier valor T ó tipo de dato que pueda arrojar función F. Para ello se tiene que proteger las funciones con la finalidad de que puedan aceptar cualquier valor que se pueda presentar, esto para evitar errores en los individuos y por dicha razón esto derive en la pérdida del individuo al momento de evaluar su aptitud. Un ejemplo de esto es cuando se presenta una división con denominador 0, lo cual nos indefine la ecuación. Para ello se protege la división y cuando se presenta este caso nos da como resultado 0, lo que elimina esta división de la ecuación y se puede seguir calculando el resto de la ecuación.. (2.20) 2. Suficiencia Esta propiedad es muy importante para el buen funcionamiento del algoritmo, su objetivo es garantizar que las funciones y los nodos terminales sean capaces de poder representar la solución al problema que se esté atacando, para ello es necesario que el programador tenga conocimiento de la naturaleza del problema, ya que de no ser así, el algoritmo puede carecer de los elementos necesarios para poder alcanzar la solución. Población inicial La población inicial de programación genética consiste de individuos, los cuales son representados con la estructura ya antes mencionada y son creados de forma aleatoria. Pero se tiene que considerar que al generar individuos de forma aleatoria tenemos que garantizar que dichos individuos no sólo estarán conformados por un nodo terminal, ya que de ser así se tendrán individuos que no serán útiles para la búsqueda, por dicha.

(34) 12. Capítulo 2. Bases teóricas. razón la raíz de los árboles sólo se escogerá una función F de forma aleatoria. A partir de aquí se irán seleccionando de la misma forma tanto funciones como nodos terminales, esto hasta que se tenga solamente nodos terminales o que el individuo alcance su longitud máxima, así que en este momento sólo se podrán insertar nodos terminales para detener el crecimiento y poder respetar así dicha longitud. La implementación del crecimiento de los individuos se puede llevar a cabo por tres métodos diferentes, esto con la finalidad de tener individuos con diferentes longitudes y características, para así garantizar diversidad genética en la población. Estos métodos son los siguientes: • Método Completo(full) Por este método se generan árboles que tienen una longitud máxima ya estable­ cida, por lo que no se pueden introducir nodos terminales antes de alcanzar su longitud, por lo cual queda restringida la selección de nodos terminales para el punto máximo de profundidad del árbol. • Método de Crecimiento(<7r0«;) Este método es capaz de generar individuos de diferentes longitudes, pero están delimitados por una longitud máxima. Por lo cual al momento de que el individuo alcanza su máxima profundidad, sólo se pueden seleccionar nodos terminales T, mientras no alcance dicha longitud la selección de los nodos se realiza de forma aleatoria entre nodos T y F, por lo que en algunos casos los individuos sólo llegan a tener cierta longitud. • Método mitad/mitad(ramped. half-and-half). Este método es la combinación del método completo y del método de crecimiento, donde se establece una profundidad máxima y a partir de eso la longitud de los individuos a generar se tiene que dividir de una longitud mínima de 2 hasta al límite establecido, es decir que si la profundidad máxima deseada es de 5 entonces el 2 5 % de la población tendrá una longitud máxima de 2, otra de 3, así hasta llegar a la longitud máxima de 5. Ya que se tienen los porcentajes de longitud máxima de cada individuo, el siguiente paso es crear 50 % de los individuos bajo el método completo y el otro 50 % por el método de crecimiento. Aptitud La aptitud de un individuo es la capacidad que tiene de poder poder adaptarse y sobrevivir hasta la edad de reproducción y finalmente poder reproducirse así dejando ciertas características genéticas a las siguientes generaciones. En la naturaleza esta ap­ titud se observa cuando un individuo es capaz de poder adaptarse a su medio ambiente y tiene ciertas cualidades que lo hacen más atractivo para la reproducción, en nuestro caso la aptitud de un individuo tiene que ser medible. Esta medición puede ser explíci­ ta o implícita, de acuerdo a la naturaleza del problema que se este resolviendo. Estas mediciones pueden ser estandarizada, ajustada y normalizada..

(35) 2.3. Programación. genética. 13. Operaciones • Operaciones Primarias Existen dos operaciones primarias, las cuales son usadas para modificar la estruc­ tura de los individuos. • Reproducción La reproducción es el motor primario de la P G ya que gracias a ella los individuos con mejor aptitud son los que tienen la capacidad de sobrevivir. La reproducción es asexual, por lo cual sólo se tiene un padre y este sólo produce un hijo. La reproducción se produce en dos pasos. Primero, se escoge un individuo por medio de un método de selección de acuerdo a su aptitud; segundo, el individuo seleccionado es copiado sin alteraciones en la nueva generación. Uno de los métodos de selección de individuos de acuerdo a su aptitud es el de Selección por Torneo. Este método de forma aleatoria toma un grupo de individuos y el individuo con mejor aptitud es seleccionado para poder realizar la operación de reproducción. • Cruce El cruce es una operación que se implementa para poder crear variación genética en la población al momento de cruzar dos padres para así producir dos nuevos individuos completamente distintos. La operación comienza con la selección de los padres, usando una distribución uniforme de probabilidad. Ya que se cuenta con los padres para realizar el cruce, el siguiente paso a seguir es seleccionar un nodo en cada uno de ellos y a partir de este nodo se toman los árboles correspondientes a cada padre y se cruzan para así poder formar los nuevos individuos. En la figura 2.4 se puede observar como se realiza la operación de cruce en la PG.. • Operaciones Secundarias Además de las operaciones primarias, se cuenta con operaciones opcionales, las cuales nos permiten tener una mayor variedad genética en la población. Koza [Koza 98] propone cinco operaciones secundarias, estas operaciones son: • Mutación La mutación introduce de forma aleatoria cambios en la estructura de la población. Esta operación en los A G es capaz de ayudar a la población a evitar una convergencia prematura debido a que inyecta diversidad en la población, pero estos cambios en la programación genética puede ayudar en ocasiones o puede llegar a ser destructiva, ya que debido a la no-linealidad de algunos problemas, esto puede ocasionar que la población se aleje de la posible solución..

(36) 14. Capítulo 2. Bases teóricas. Padre 1. Padre 2. Figura 2.4: Cruce en programación genética. Esta operación es asexual, lo cual sólo se realiza con un solo individuo. El primer paso es seleccionar el nodo de un individuo de forma aleatoria, este puede ser un nodo terminal o una función, y a partir de ello el subárbol seleccionado se ve eliminado y es ingresado un nuevo subárbol que es ge­ nerado de forma aleatoria o en algunos casos es remplazado por un nodo terminal. En la figura 2.5 se puede observar un ejemplo de cómo se realiza la operación de mutación en la PG. Individuo. Individuo Mutado. Figura 2.5: Mutación en programación genética..

(37) 2.3.. Programación. •. 15. genética. Permutación La permutación es una operación asexual y la selección del individuo se rea­ liza de la misma forma que la mutación. La permutación se realiza a partir de la selección de una función de forma aleatoria, una vez seleccionada la función los subárboles o nodos terminales son invertidos, pero en algunas funciones no son capaces de poder permutar, por lo que el individuo resul­ tante es idéntico al original. En la figura 2.6 se puede observar un ejemplo de la operación de permutación. Individuo. Individuo Permutado. Figura 2.6: Permutación en programación genética. • Edición La operación de edición sólo pertenece a la programación genética, ya que un individuo de un A G no se puede sustituir por su evaluación. Esta operación tiene como finalidad poder sintetizar matemáticamente algunas ecuaciones, para ello es necesario evaluar los individuos y algunas de las funciones del árbol son sustituidas por el resultado de su evaluación. El programador es el encargado de indicarle al programa cuales son las funciones de edición que tiene que aplicar. Un ejemplo de esto se puede observar en la figura 2.7.. Figura 2.7: Edición en programación genética. •. Encapsulamiento La operación de encapsulamiento se refiere a que el algoritmo es capaz de identificar automáticamente a potenciales subárboles, los cuales los alma­ cena en memoria y posteriormente es capaz de mandarlos a llamar para insertarlos en otros individuos como nodos terminales. Este encapsulamien­ to se da debido a la naturaleza del problema, ya que es posible la división.

(38) 16. Capítulo 2. Bases teóricas. del mismo en subproblemas, por lo que es importante que el algoritmo sea capaz de poder identificar estos casos a partir de un autoaprendizaje. El procedimiento del encapsulamiento se da cuando el algoritmo localiza un subárbol el cual tiene un efecto positivo sobre la solución del problema, así que una vez que localiza este subárbol el algoritmo, lo sustituye por un nodo que es creado con la misma estructura que el subárbol, pero ahora sólo aparece como una variable. Para poder dejar más claro esto se puede observar en la figura 2.8 como se realiza la operación.. Figura 2.8: Encapsulamiento en programación genética. • Diezmar En algunos problemas debido a su alta dificultad, la distribución del valor de su aptitud de la primera generación pueda estar sesgada, por lo que gran parte de los individuos tienen una baja aptitud. Este sesgo en la aptitud se presenta debido a que los individuos pueden ser altamente penado debido a que toma mucho tiempo en resolver el problema o tienen una solución indefinida. Este problema puede ocasionar que se pierda mucho tiempo de procesamiento y que pocos individuos con buena aptitud se estén presen­ tando en las futuras generaciones. Esta operación se rige por dos parámetros, el primer parámetro es el porcen­ taje de la población que se eliminará y el segundo parámetro es la condición, la cual le indica a la operación por cuantas generaciones se va a presentar. Así que esta operación es capaz de eliminar tantos individuos se le indique, como tiempo de vida de la misma..

(39) 2.3. Programación. genética. 17. Criterios de terminación La naturaleza del paradigma de la programación genética de acuerdo a [Koza 98], es que el algoritmo es un proceso que no tiene fin. Pero se desarrollaron criterios de terminación para poder ayudar al algoritmo a finalizar. Los criterios de terminación que se proponen son los siguiente: • Número máximo de generaciones: Se establece un número máximo de generaciones y cuando este es alcanzado el algoritmo se da por terminado. • Calidad de la respuesta alcanzada: Si la mejor respuesta obtenida es capaz de satisfacer el objetivo del algoritmo, este se puede dar por finalizado. • Convergencia de la población: La convergencia de una población se da cuando en un algoritmo el desempeño de la población es muy parecido y la operación de mutación es la única herramienta que puede modificar el desempeño de un individuo. Coevolución El proceso de evolución en ocasiones es descrito por una población de individuos donde buscan adaptarse a un medio ambiente, pero esto es sólo una aproximación, ya que en el medio donde están adaptándose pasa por constantes cambios. Este concepto se puede observar en la coexistencia de las especies en un mismo entorno, donde buscan poder sobrevivir simultáneamente. En biología el termino co-evolución es usado para reflejar el. hecho de que todas las especies están simultáneamente co-evolucionando en un mismo entorno. Hillis [Hillis 91] fue uno de los primeros en abordar la co-evolución y a partir de ello investigadores como John Miller o John Mayrnard Srnith, han tratado de proponer problemas donde han puesto en práctica la co-evolución. Pero básicamente lo que busca la co-evolución, es poder generar un medio ambiente o función objetivo, que pueda estar co-evolucionando con la población de individuos que buscan poder resolver la problemática que se esté atacando, y de esta forma poder llevar al algoritmo a resolver el peor de los casos que se puedan presentar..

(40)

(41) Capítulo 3 Optimización de ecuaciones de Rovira para controladores PID en tiempo discreto Para la implement ación de las ecuaciones de Rovira se tiene que realizar una discretización del controlador PID, como se comentó en otros capítulos se tiene 3 métodos para poder realizar dicha discretización, por lo que se considera primero realizar una pruebas donde se observe cómo se comportan las ecuaciones para cada una de las discretizaciones y a partir de ello realizar una búsqueda de parámetros que optimicen las ecuaciones de Rovira para el peor comportamiento que se tenga de acuerdo a la discretización.. 3.1. Diseño de controladores. Para poder trabajar con las ecuaciones de Rovira, se toma la decisión de trabajar con plantas de primer orden con la característica de la ecuación 2.12, ya que dichas ecuaciones solo fueron diseñadas para trabajar con plantas de primer orden. El lazo de control implementado se puede observar en la figura 3.1.. Figura 3.1: Lazo de control empleado para la evaluación de las ecuaciones. 19.

(42) Capítulo 3. Optimización 20. de ecuaciones de Rovira para controladores PID en tiempo discreto. Para la discretización del controlador se realizarán pruebas para observar el com­ portamiento que se tienen con cada una de las discretizaciones, para ello se implementa cada una de ellas con una planta que se propuso al azar y se observa cuál es el compor­ tamiento que genera cada una de ellas contra el controlador en tiempo continuo. Esto se hace con la finalidad de escoger para qué caso trabaja peor la ecuación de Rovira y a partir de elio buscar los parámetros que generen una mejor sintonización para dicho caso. La planta que se implemento para poder evaluar cada una de las discretizaciones fue la siguiente:. con un tiempo de muestreo de 1 seg. Para dicha planta se tiene el siguiente controlador PID en tiempo continuo: K. p. =. 0.4816. n. =. 14.5349. r. =. 1.5061. d. El primer caso con el que se trabajó, fue con las discretización con diferencias hacía delante y la ecuación matemática resultante del controlador en tiempo discreto, es la siguiente:. y la respuesta que se obtuvo con esta implementación se puede observar en la figura 3.2. En el segundo caso, se implemento la discretización con diferencias hacía atrás y la expresión matemática resultante con dicha discretización, es la siguiente:. la respuesta que se obtuvo con esta implementación se puede observar en la figura 3.3. Para el último caso que se implemento, fue la discretización bilineal, con la cual se obtuvo la siguiente expresión matemática:. la respuesta que se obtuvo con la discretización bilineal üei controlador r i D , se puede observar en la figura 3.4..

(43) 3.1. Diseño de controladores. F i g u r a 3.2: R e s p u e s t a del controlador P I D discretizado con diferencias hacía delante vs P I D en tiempo continuo.. F i g u r a 3.3: R e s p u e s t a del controlador P I D discretizado con diferencias hacía atrás vs P I D en tiempo continuo.. 21.

(44) Capítulo 3. Optimización 22. de ecuaciones de B,ovira para controladores PID en tiempo discreto. Figura 3.4: Respuesta del controlador PID discretizado por método bilineal vs PID en tiempo continuo. Con estas pruebas realizadas, se tomó la decisión de buscar los parámetros que optimicen los valores de las ecuaciones de Rovira, para poder obtener un buen desempeño al momento de tener una implementación del controlador PID por discretización hacía atrás. A partir de la selección de la discretización del controlador, pasamos a realizar las siguientes consideraciones para la implementación del algoritmo genético, para así poder realizar la búsqueda de las constantes que optimicen el desempeño de las ecuaciones de Rovira para el controlador en tiempo discreto. El criterio de evaluación empleado para la optimización de las ecuaciones de los controladores PID ante cambios de referencia, está enfocado en minimizar el criterio integral IAE, en la ecuación 3.1 se puede observar como se realiza el calculo del criterio para la implementación en tiempo discreto.. (3.1) Ya que se tiene la estructura del controlador así como la forma de realizar la evaluación del desempeño de las ecuaciones, ahora nos enfocaremos en analizar si las ecuaciones de Rovira son las óptimas, para ello se propone verificar si es posible tener otros valores para las constantes ai, a , a , 61, b y 63 y con estos cambios se pue2. 3. 2.

(45) 3.1. Diseño de controladores. 23. da obtener un mejor desempeño, lo cual nos podría indicar que aún es posible poder obtener otras ecuaciones que nos optimicen el desempeño de los controladores. Para esto se propone emplear un algoritmo genético, ya que sólo se realizará la búsqueda de constantes y no se realizará cambios a la estructura de las ecuaciones. Los individuos del A G se delimitarán a un espacio de búsqueda que tiene un rango de —8 < e < 8, estos límites se propone ya que como se puede observar en las constantes de las ecuaciones de Rovira, sus valores sólo varían entre —0.869 < c < 1.086 así que se espera que los valores óptimos estén variando en un rango muy cercano a dichos valores, por lo que tener una búsqueda mayor sólo podría consumir tiempo de procesamiento y no se tendrían resultados satisfactorios. El A G se implemento en la herramienta de MATLAB 7.8.0.347 (R2009a). Ya que cuenta con una herramienta de control, la cual nos facilitará la evaluación del sistema de control. Los individuos se manejarán como vectores en los cuales se almacenarán los cromosomas (1 y 0). Debido a la facilidad que tiene el lenguaje de MATLAB en la manipulación de vectores y matrices, se podrá realizar de forma sencilla las operaciones básicas de cruce, reproducción y mutación de los individuos. Para cada constante se creó una población, por lo cual se tienen seis poblaciones que se encuentran asignadas para cada una de las variables de las ecuaciones de Rovira. En cada una de las poblaciones, sus individuos sólo interactúan entre ellos, para realizar las operaciones de cruce y reproducción. Pero a pesar que los individuos sólo interactúan con otros individuos de su misma población, éstos se encuentran ligados al individuo que ocupa su misma posición en la población vecina, ya que de no ser así al momento de estar seleccionándolos para su evaluación, la selección se podría ser aleatoria y se tendría más entropía en la búsqueda de los valores óptimos. En cuanto a la evaluación de los individuos, es necesario sustituir sus valores en las variables de las ecuaciones de Rovira y posteriormente generar la estructura del controlador PID, para así poder aplicarlo en el lazo de control que ya se definió. Ya que se tiene el lazo de control, se le aplica una prueba escalón y la respuesta que entrega se le calcula su IAE. Para obtener el desempeño deseado, es necesario tener más de una planta para evaluar, ya que necesitamos garantizar que las ecuaciones son capaces de generar controladores que puedan tener un buen desempeño para cualquier planta de primer orden que cumpla con las restricciones de Rovira (2.17). Por dicho motivo se propone tomar una muestra de este conjunto de plantas, para este caso el espacio de muestra va a constar de 27 plantas. Las plantas que fueron seleccionadas, se formaron a partir de la variación de la ganancia (K ) y la constante de tiempo (r) en el intervalo [0.001,10], eligiendo tres valores del conjunto 0.001,0.1,10. Para el tiempo muerto (6) se varió entre r / 1 0 y r. De la combinación de este conjunto de valores se obtuvieron las 27 plantas y el tiempo de muestreo seleccionado es de r/10. p. Ya definido el grupo de plantas a evaluar, así como la estructura de la población del A G . Se empezaron a definir los parámetros de ajuste del algoritmo, para ello se tomó como referencia, los ejemplos que presenta Goldberg [Goldberg 89]. En la tabla 3.1 se pueden observar los parámetros empleados para la búsqueda de los valores óptimos de las constantes de las ecuaciones (2.13 - 2.15)..

(46) Capítulo 3. Optimización 24. de ecuaciones de Rovira para controladores PID en tiempo discreto. Tabla 3.1: Parámetros empleados en las primeras corridas del AG.. En las primeras corridas del algoritmo se obtuvieron los siguientes valores:. a!. =. 1.021686203086746. b. x. =. -0.800771418955139. o. 2. =. 0.729435576460214. b. 2. =. -0.007125015984395. a. 3. =. 0.420645618017914. h. =. 0.966837364560537. Estos valores presentaron una mejora en el desempeño de los controladores en un 5%, pero las corridas eran muy tardadas, ya que las poblaciones se crearon de forma aleatoria. Observando los resultados obtenidos se tomó la decisión de insertar en la población inicial un individuo con los valores de las variables de Rovira, esta última población mostró mejores resultados, además de que el tiempo de búsqueda disminuyó favorablemente. A continuación se muestra los resultados obtenidos con las últimas corridas que se hicieron del algoritmo, así como el mejor individuo encontrado.. 3.2. Resultados de optimización de las constantes de Rovira. En las últimas corridas los valores de control del algoritmo genético se pueden observar en la tabla 3.2, estos valores se obtuvieron después de varias experimentaciones y como se comentó en la población inicial de las últimas corridas se ingresó un individuo que contiene el valor de las constantes de las ecuaciones de Rovira. Estas corridas arrojaron valores los cuales tuvieron una gran mejora en el desempeño de los controladores, el mejor individuo encontrado fue:.

(47) 3.2. Resultados de optimización. de las constantes de Rovira. 25. Tabla 3.2: Parámetros empleados en la implementación del AG.. ai a. 2. =. 0.930701008570034. =. -0.652980271485512. = 0.972278584675490. b. 2. = -0.106365558071014. a. 3. =. 0.421426960492867. =. 0.805306380865218. b. 3. (3.2) compararando estas constantes obtenidas contra las constantes 2.16 de la ecuaciones 2.13, 2.14 y 2.15, se puede observar que no se encuentran muy alejadas de las originales. Con estos valores se obtuvo una disminución en el desempeño de los controladores para el espacio de plantas que cumplen con la restricción 2.17. En los siguientes ejemplos podemos comparar el desempeño de las ecuaciones de Rovira, contra las ecuaciones con constantes optimizadas. Para los siguientes ejemplos, se tomaron algunas plantas que cumplen con las condiciones antes mencionadas y las simulaciones se realizaron con el apoyo de la paquetería de control del software M A T L A B .. 3.2.1. Ejemplo 1. Para este ejemplo se busca sintonizar un controlador para la planta. El tiempo de muestreo para el proceso es de T = 0.065 seg. La sintonización del controlador PID se realizó a partir de la implementación de las ecuaciones de Rovira y.

(48) Capítulo 3. Optimización 26. de ecuaciones de Rovira para controladores PID en tiempo discreto. las ecuaciones optimizadas por A G , los parámetros del controlador se pueden observar en la tabla 3.3, así como el IAE generado por su respuesta. Al proceso se le aplicó una señal de entrada escalón, esto con la finalidad de obtener una respuesta ante un cambio de referencia y así poder observar su comportamiento. En la figura 3.5 se puede observar la comparación de la respuesta generada.. Tabla 3.3: Parámetros empleados en la implementación del AG.. <. i. Figura 3.5: Simulación de los control adores sintonizados con Rovira y AG. Se puede observar que la respuesta generada por el controlador sintonizado con la ecuación del A G , tiene un mejor desempeño y se tiene un menor sobre impulso, así como un tiempo de estabilización menor.. 3.2.2. Ejemplo 2. Para este ejemplo se busca sintonizar un controlador para la planta. El tiempo de muestreo para el proceso es de T — 0.2728 seg. La sintonización del controlador PID se realizó a partir de la implementación de las ecuaciones de Rovira y.

(49) 3.2. Resultados. de optimización. de las constantes de Rovira. 27. las ecuaciones optimizadas por A G , los parámetros del controlador se pueden observar en la tabla 3.4, así como el IAE generado por su respuesta. Al proceso se le aplicó una señal de entrada escalón, esto con la finalidad de obtener una respuesta ante un cambio de referencia y así poder observar su comportamiento. En la figura 3.6 se puede observar la comparación de la respuesta generada.. Tabla 3.4: Parámetros empleados en la implementación del A G .. Figura 3.6: Simulación de los controladores sintonizados con Rovira y A G . De la misma forma se logró un mejor desempeño y la respuesta tiene un mejor comportamiento para poder estabilizar la planta.. 3.2.3. Ejemplo 3. Para este ejemplo se busca sintonizar un controlador para la planta. El tiempo de muestreo para el proceso es de T — 0.6891 seg. La sintonización del controlador PID se realizó a partir de la implementación de las ecuaciones de Rovira y.

(50) Capítulo 3. Optimización 28. de ecuaciones de Revira para controladores PID en tiempo discreto. las ecuaciones optimizadas por A G , los parámetros del controlador se pueden observar en la tabla 3.5, así como el IAE generado por su respuesta. Al proceso se le aplicó una señal de entrada escalón, esto con la finalidad de obtener una respuesta ante un cambio de referencia y así poder observar su comportamiento. En la figura 3.7 se puede observarla comparación de la respuesta generada.. Tabla 3.5: Parámetros empleados en la implementación del AG.. Figura 3.7: Simulación de los controladores sintonizados con Rovira y AG. Como se observa, el desempeño de las ecuaciones optimizadas por el algoritmo presentan un menor sobretiro, así como una menor oscilación. Esto es importante ya que en muchos casos en la industria esto puede llegar a ser problemático, debrdo a que algunas plantas son incapaz de soportar estas oscilaciones y por dicha razón no es conveniente su implementación.. 3.3. Validación de las ecuaciones. Los ejemplos mostrados sólo son una referencia de cómo puede ser el comportamiento del sistema al momento de implementar los controladores PID sintonizados por las ecuaciones. Pero para poder tener un mejor panorama del desempeño de los contro-.

(51) 3.3. Validación de las ecuaciones. 29. ladores para cualquier planta a continuación se muestran las pruebas que se realizaron para diferentes conjuntos de plantas. Al momento de estar realizando la evaluación de los individuos, se realizó la primera validación de las ecuaciones. Esta validación se realizó contra 27 plantas que se mantuvieron fijas. Esta población representan una muestra de plantas que tienen valores de Kp y r en un rango de 0.001 a 10 y 0 entre r / 1 0 y r. La evaluación del IAE para este conjunto de plantas se pueden observar en la tabla 3.6.. Tabla 3.6: IAE resultante de la población de plantas empleadas para la evaluación de la aptitud Como se puede observar en la tabla 3.6, las ecuaciones optimizadas por el AG presentan un mejor desempeño en las plantas que se implementaron, pero con esta validación no se puede concluir que tienen un mejor desempeño para todos los casos, por lo que se realizaron más pruebas para grupos más grandes de plantas, esto con la finalidad de poder garantizar que tienen un mejor desempeño que las ecuaciones de Rovira. El primero conjunto a validar es un grupo de 500 plantas con parámetros que varían en los siguientes rangos:. k. p. e. [0.001,10]. r. G [0.001,10]. 6. 6. [0.1r,r]. (3.3). Estas plantas se generan de forma aleatoria, cuidando que cumplan con la restricción. En la tabla 3.7 se puede observar que las ecuaciones optimizadas del AG tienen mejor desempeño en su IAE.. Tabla 3.7: Comparación del IAE generado por 500 plantas Con esta evaluación realizada se pudieron cubrir una muestra mucho mayor, y al estar analizando cada individuo, las ecuaciones mostraron un mejor desempeño que las ecuaciones de Rovira, lo cual nos indica que las ecuaciones pueden cubrir cualquier caso. Pero para garantizar que las ecuaciones van a funcionar en todos los posibles casos, se realiza 3 pruebas más. Para estas siguientes pruebas, se consideró la relación ^, por lo cual las pruebas se realizan modificando el valor del tiempo de estabilización 9, así como el de la ganancia K en las siguientes regiones: p.

(52) Capítulo 3. Optimización 30. - Región 1: K E P. - Región 2: K. p. - Región 3: K. v. de ecuaciones de Rovira para controladores PID en tiempo discreto. [0.001,10] y r G [0.001,10] G [10,100] y r € [10,100] G [100,1000] y r G [100,1000]. Ya establecidas las regiones se consideró dejar fija la relación ^, por lo cual se genero el conjunto [0.1,0.2,0.3,0.4,0.5,0.7,0.8,0.9,1.0]. Para cada valor del conjunto se crearon 100 plantas de forma aleatorio, cuidando cubrir los valores establecidos para cada una de las regiones. A partir de las consideraciones anteriores, cada una de las regiones fueron evaluadas contra 1000 plantas . Los resultados de las pruebas para las tres diferentes regiones se pueden observar en las tablas 3.8, 3.9 y 3.10.. Tabla 3.8: Desempeños IAE generados por las plantas de la Región 1.. Tabla 3.9: Desempeños IAE generados por las plantas de la Región 2. Como se puede ver en las tablas anteriores, las ecuaciones optimizadas con el AG presentan un mejor desempeño para cada uno de los casos, por lo cual le ganan en.

(53) 3.3. Validación de las ecuaciones. 31. Tabla 3.10: Desempeños IAE generados por las plantas de la Región 3. conjunto a las ecuaciones de Rovira. Y al realizar un análisis más a fondo podemos observar que el desempeño de las plantas no dependen de los valores que puedan tener los parámetros del sistema, el desempeño sólo se ve afectado por la relación | . En la cuarta columna de las tablas se puede ver reflejado el porcentaje de la mejora que se logró obtener con la optimización de los parámetros de la ecuación, a continuación se presenta la ecuación para el cálculo de la mejora obtenida. Mejora( %) = 100 • (1 - AG/Rovira). (3.4). Con estos resultados observamos que las ecuaciones de sintonización para controladores PID en tiempo continuo, no son muy eficientes cuando son implementadas para tiempo discreto, por dicha razón se propone la búsqueda de ecuaciones que nos puedan entregar controladores que sean óptimos para PID discretizados..

(54)

(55) Capítulo 4 Programación genética como herramienta para la búsqueda y desarrollo de ecuaciones de sintonización de controladores PID en tiempo discreto Como se comentó en la introducción, el objetivo de esta investigación es proponer una implementación de la computación evolutiva que nos facilite la búsqueda de ecuaciones de sintonización para controladores PID en tiempo discreto. Para empezar a realizar pruebas del algoritmo que se tiene considerado implementar como la herramienta de búsqueda de ecuaciones, es necesario seleccionar una primera implementación de la discretización así como un criterio de desempeño, por lo que se tomó la decisión de atacar de primera instancia la discretización por diferencias hacía atrás y el criterio de evaluación del desempeño es el IAE, para así tener como comparación las ecuaciones de Rovira, el desempeño es evaluado ante cambios de referencia, en cuanto al tiempo de muestreo se propone que sea 10 veces más chico que el tiempo de estabilización de las plantas, con lo que tenemos T = Ya que se tiene considerado cual es la implementación del controlador PID, así como los criterios de evaluación de su desempeño, ahora nos enfocaremos en realizar la búsqueda de nuevas ecuaciones con esta implementación. En este capítulo se hace revisión de la metodología empleada para realizar la búsqueda de posibles ecuaciones que nos entreguen un mejor desempeño. Para ello se divide este capítulo en cuatro sección: 1. Diseño del algoritmo; en esta sección se detalla como es la estructura del programa realizado; así como la representación de los individuos que conformaron la población de plantas; así como la población de ecuaciones. 2. Implementación y pruebas del algoritmo; en esta sección se explica cómo se realizó la implementación del algoritmo y cómo se estuvieron realizando pruebas.

(56) Capítulo 4. Programación genética como herramienta para la búsqueda y desarrollo 34 de ecuaciones de sintonización de controladores PID en tiempo discreto. para poder observar y comprender el comportamiento que presentaba el algoritmo, al momento de evolucionar la población de las ecuaciones. 3. Resultados obtenidos; se presentan los resultados que se obtuvieron tras varias exp eriment aciones. 4. Validación de los resultados; en esta sección se realiza la validación de los resultados, para así poder garantizar que los resultados obtenidos son viables en cualquier caso que se pudiera encontrar en la industria.. 4.1. Diseño del algoritmo. Antes de comenzar a realizar la búsqueda de ecuaciones, es necesario definir el diseño y estructura del algoritmo, esto para poder facilitar su programación en MATLAB. Uno de los primeros puntos a analizar es la estructura de los individuos que representarán las ecuaciones en forma de árboles. Como se comentó con anterioridad, la estructura que se emplea es una mezcla de la estructura propuesta por Koza y Ferreira. Ferreira propone manipular los árboles como genotipos, lo cual te permite tener una estructura más sencilla de manipular para realizar las operaciones básicas de la programación genética, como las propone Koza, además de que los individuos se pueden visualizar fácilmente. Otra ventaja de realizar esta implementación es que en el lenguaje de M A T L A B tiene un objeto llamado "cell", el cual nos permite almacenar sym y functionJiandle, los cuales representan los nodos terminales y funciones respectivamente. Para poder dejar mucho más claro lo anterior se presenta el siguiente ejemplo: (4.1) La figura 4.1 es una representación de la ecuación 4.1 en forma de árbol, la ecuación representada como un individuo de programación genética de acuerdo a lo propuesto por Ferreira, queda expresada de la siguiente forma:. {+,. %,/\,*,z,y,sqrt,y,x,z}. Ya definida la estructura a implementar, es necesario definir las funciones que se emplearán para conformar las nuevas ecuaciones. Para este caso se propone emplear las siguientes ecuaciones: • Suma • Resta • Multiplicación • División.

(57) 4.1.. Diseño del algoritmo. 35. Figura 4.1: Representación de la ecuación 4.1 en PG. • Exponencial • Raíz Cuadrada En cuanto a los nodos terminales estos están compuestos por los valores de las plantas (ganancia K , constante de tiempo r y el tiempo muerto 8), además se propone 6 constantes efímeras, las cuales se crean de forma aleatoria cuando empieza el algoritmo, esto es con la finalidad de que dichas constantes se puedan ingresar en siguientes generaciones al momento de que un individuo presente mutación. Ya definidas las funciones y los nodos terminales, es necesario revisar que funciones requieren ser protegidas para poder recibir cualquier posible resultado que sea arrojado. En este caso las dos operaciones que se protegen para evitar cualquier problema, es la división y la raíz cuadrada. La división al momento de tener un denominador 0 automáticamente hace 0 el subárbol, esto para no perder todo el individuo, en la figura 4.2 se puede observar como se realiza la protección de la división. En cuanto a la raíz cuadrada se protege con valor absoluto para evitar tener números complejos y de la misma forma no se pierde un individuo que puede tener oportunidad de ser una posible ecuación. Ahora que se tiene definido los elementos que conformarán los individuos, es necesario definir cual es la metodología que se utilizará para poder crear la población inicial que conformará el algoritmo. Para la creación de la población inicial se propone usar el método de mitad/mitad, esto con la finalidad de poder tener más diversidad en los individuos y así poder tener la posibilidad de cubrir diferentes posibles ecuaciones. Una vez definido los individuos y la población, es necesario identificar la forma de p.

Figure

Figura 2.1: Diagrama de bloques del algoritmo velocidad de un PID.
Figura 2.2: Diagrama de flujo de la implement ación de la PG.
Figura 2.4: Cruce en programación genética.
Figura 2.6: Permutación en programación genética.
+7

Referencias

Documento similar

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo

Este mismo régimen de deberes tiene sentido cuando la actuación de reforma o renovación significa un cambio radical de la morfología urbana, normalmente acompa- ñado por un cambio

Este curso se ha diseñado especialmente para guiar a los tutores clínicos de Medicina Intensiva en proporcionar un feedback, estructurado y.. efectivo, a los residentes durante