UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERIA ELECTRONICA, ELECTRICA, TELECOMUNICACIONES Y SISTEMAS PROGRAMA DE INGENIERÍA ELECTRÓNICA TITULO: SINTONIZACION DE CONTROLADORES PID UTILIZANDO ALGORITMOS EVOLUTIVOS AUTOR: MARÍA CLAUDIA PINTO FIGUEROA PAMPLONA COLOMBIA MAYO 2006 UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERIA ELECTRONICA, ELECTRICA, TELECOMUNICACIONES Y SISTEMAS PROGRAMA DE INGENIERÍA ELECTRÓNICA TRABAJO DE GRADO PARA OPTAR POR EL TITULO DE INGENIERO ELECTRÓNICO TÍTULO: SINTONIZACION DE CONTROLADORES PID UTILIZANDO ALGORITMOS EVOLUTIVOS AUTOR: MARÍA CLAUDIA PINTO FIGUEROA DIRECTOR: Ph.D. ELIEZER COLINA MORLES PAMPLONA COLOMBIA MAYO 2006 RESUMEN En el desarrollo de este trabajo se diseñó una herramienta computacional basada en algoritmos evolutivos para la sintonización de controladores PID. Inicialmente la herramienta fue empleada con técnicas fuera de línea, para varios sistemas estables e inestables a lazo abierto, con sistemas con distintos tiempos de respuesta y con sistemas no lineales; usando diferentes funciones objetivo. Luego se trabajó con sistemas en línea, manipulando pocos individuos con una función de aptitud que tiene en cuenta el sobreimpulso y el tiempo de asentamiento, con el fin de comparar su desempeño con otras técnicas de sintonización ya existentes. Por último se aplicaron algoritmos evolutivos en el diseño del controlador de un proceso de evaporación, tomando en cuenta la variable tasa de flujo de vapor, que depende de la tasa de transferencia de calor. ABSTRACT This work includes an evolutionary algorithm based computational tool design intended for PID tuning in a variety of control system configurations. The computational tool was tested on open loop stable and unstable control systems, control systems with different time response as well as with some clases of non linear control system. Different objective functions were considered in order to check the performance of the evolutionary algorithm. The work also includes computational simulations of the evolutionary algorithm for on line tuning of PID controllers and a performance trade off with respect to other tuning techniques is presented. Finally, the work contemplates the controller design problem for an evaporator system using the proposed evolutionary computational tool. CONTENIDO INTRODUCCION OBJETIVOS JUSTIFICACION PLANTEAMIENTO DEL PROBLEMA METODOLOGIA CAPÍTULO 1. COMPUTACION EVOLUTIVA 1.1. INTRODUCCIÓN 1.2. ORIGENES 1.3. ANTECEDENTES 1.4. BASES BIOLÓGICAS DE LA COMPUTACIÓN EVOLUTIVA. 1.5. COMPONENTES DE UN ALGORITMO EVOLUTIVO 1.6. MODELOS SOBRE EL ESQUEMA GENERAL 1.7. ALGORITMOS GENÉTICOS (AG) 1.7.1. CODIFICACIÓN DE LAS VARIABLES 1.7.2. OPERADORES 1.7.2.1. CRUCE 1.7.2.1.1. Cruces para permutación 1.7.2.1.1.1. Cruce por emparejamiento parcial (PMX) 1.7.2.1.1.2. Cruces por orden (OX) 1.7.2.1.1.2.1. Variantes al Cruce por orden 1.7.2.1.1.3. Cruce por ciclos (CX) 1.7.2.1.1.4. Cruce por recombinación de rutas (ERX) 1.7.2.2. MUTACIÓN 1.7.2.2.1. Mutaciones sobre genes 1.7.2.2.2. Mutaciones no estacionarías 1.7.2.2.3. Mutaciones no uniformes 1.7.2.3. VARIANTES EN OPERADORES BÁSICOS PARA NÚMEROS REALES 1.7.2.4. OTROS OPERADORES 1.7.2.4.1. Cromosomas de longitud variable 1.7.2.4.2. Operadores de nicho (ecológico) 1.7.2.4.3. Operadores especializados 1.7.3. FUNCIÓN DE ADAPTACIÓN 1.7.4. EL TEOREMA DEL ESQUEMA 1.7.5. EVALUACIÓN 1.7.6. MÉTODOS DE SELECCIÓN 1.7.7. MECANISMOS DE REEMPLAZO 1.7.8. CARACTERÍSTICAS DE LOS AGS 1.7.9. ¿COMO FUNCIONAN? 1.7.10. ¿POR QUÉ UTILIZAR ALGORITMOS GENÉTICOS EN LA OPTIMIZACIÓN 1.7.11. CONVERGENCIA DEL ALGORITMO 1.7.12. ¿CÓMO SABER SI ES POSIBLE USAR EL ALGORITMO GENÉTICO? 1.7.13. DECISIONES PARA IMPLEMENTAR UN ALGORITMO GENÉTICO 1.7.14. VENTAJAS DE LOS AGS 1.7.15. DESVENTAJAS O LIMITACIONES QUE TIENEN LOS AG CON RESPECTO A OTRAS TÉCNICAS DE BÚSQUEDA 1.7.16. CONSIDERACIONES AL USAR ALGORITMOS GENÉTICOS 1.7.17. DIFERENCIAS ENTRE LOS MÉTODOS TRADICIONALES Y LOS A.G. 1.8. PROGRAMAS EVOLUTIVOS (PES) 1.8.1. PES EN OPTIMIZACIÓN PARAMÉTRICA 1.8.2. PES EN OPTIMIZACIÓN COMBINATORIA 1.8.3. PROGRAMAS EVOLUTIVOS Y ALGORITMOS GENÉTICOS 1.9. ESTRATEGIAS EVOLUTIVAS (EES) 1.9.1. EES SIMPLES 1.9.2. EES MÚLTIPLES 1.9.3. ESTRATEGIAS EVOLUTIVAS Y ALGORITMOS GENÉTICOS 1.10. PROGRAMACIÓN EVOLUTIVA (EP) 1.10.1. ALGORITMO GENERAL 1.10.2. PROGRAMACIÓN EVOLUTIVA Y ALGORITMOS GENÉTICOS 1.10.3. PROGRAMACIÓN EVOLUTIVA Y LAS ESTRATEGIAS EVOLUTIVAS 1.11. PROGRAMACIÓN GENÉTICA (PG) 1.11.1. FUNCIONAMIENTO DE LOS OPERADORES GENÉTICOS 1.11.2. MUTACIÓN EN PG 1.11.3. ALGORITMO GENERAL 1.12. AMBIENTES DE PROGRAMACIÓN 1.13. PROGRAMAS AUTOCONFIGURABLES 1.14. ROBUSTEZ DE LOS MÉTODOS DE OPTIMIZACIÓN Y BÚSQUEDA TRADICIONALES CAPÍTULO 2. CONTROLADORES PID 2.1. INTRODUCCIÓN 2.2. ACCIONES BASICAS DE CONTROL 2.2.1. CLASIFICACIÓN DE LOS CONTROLADORES INDUSTRIALES 2.2.2. CONTROLADOR AUTOMÁTICO, ACTUADOR Y SENSOR (ELEMENTO DE MEDICIÓN) 2.2.3. CONTROLADORES AUTO-OPERADOS 2.2.4. ACCIÓN DE CONTROL DE DOS POSICIONES O ENCENDIDO Y APAGADO (ON/OFF) 2.2.5. ACCIÓN DE CONTROL PROPORCIONAL 2.2.6. ACCIÓN DE CONTROL INTEGRAL 2.2.7. ACCIÓN DE CONTROL PROPORCIONAL- INTEGRAL 2.2.8. ACCIÓN DE CONTROL PROPORCIONAL – DERIVATIVA 2.2.9. ACCIÓN DE CONTROL PROPORCIONAL- INTEGRAL- DERIVATIVA 2.3. EFECTOS DE LAS ACCIONES DE CONTROL INTEGRAL Y DERIVATIVO SOBRE EL DESEMPEÑO DE UN SISTEMA. 2.3.1. ACCIÓN DE CONTROL INTEGRAL 2.3.2. ACCIÓN DE CONTROL DERIVATIVA 2.4. SINTONIZACIÓN DE CONTROLADORES PID 2.4.1. CONTROL PID DE PLANTAS 2.4.2. REGLAS DE ZIEGLER – NICHOLS PARA SINTONIZAR CONTROLADORES PID 2.4.2.1. PRIMER MÉTODO. MÉTODO BASADO EN LA CURVA DE REACCIÓN 2.4.2.2. SEGUNDO MÉTODO. MÉTODO DE OSCILACIÓN 2.4.3. MÉTODO DE ASIGNACIÓN DE POLOS 2.4.3.1. TEOREMA 1 (TEOREMA DE SYLVESTER). 2.4.3.2. LEMA 1 (ASIGNACIÓN DE POLOS SISO). 2.4.3.3. LEMA 2. 2.5. MODIFICACIONES DE LOS ESQUEMAS DE CONTROL PID 2.5.1. CONTROL PI-D 2.5.2. CONTROL I-PD 2.6. INTEGRAL WINDUP CAPÍTULO 3. DISCRETIZACIÓN DE SISTEMAS Y LINEALIZACIÓN DE SISTEMAS NO LINEALES 3.1. LINEALIZACIÓN DE SISTEMAS NO LINEALES 3.2. DISCRETIZACIÓN DE SISTEMAS EN TIEMPO CONTINUO. 3.2.1. IMPLEMENTACIÓN DIGITAL DE CONTROLADORES ANALÓGICOS 3.2.1.1. IMPLEMENTACIÓN DIGITAL DEL CONTROLADOR PID 3.2.1.1.1. Integración trapezoidal 3.2.1.1.2. Integración rectangular hacia delante 3.2.1.1.3. Integración rectangular hacia atrás 3.2.2. ÍNDICES DE DESEMPEÑO 3.2.2.1. FORMULACIÓN DE LOS PROBLEMAS DE OPTIMIZACIÓN 3.2.2.2. PUNTOS CONCERNIENTES A LA EXISTENCIA DE LAS SOLUCIONES A LOS PROBLEMAS DE CONTROL ÓPTIMO. 3.2.2.3. NOTAS ACERCA DE LOS SISTEMAS DE CONTROL ÓPTIMO. CAPÍTULO 4. ESTADO DEL ARTE DE LOS ALGORITMOS EVOLUTIVOS Y SU USO PARA CONTROLADORES PID 4.1. APLICACIONES DE LA PROGRAMACIÓN GENÉTICA. 4.2. COMPUTACIÓN EVOLUTIVA Y CONTROLADORES PID 4.3. APLICACIÓN EN PROCESOS DE CONTROL 4.3.1. SINTONIZACIÓN DE CONTROLADORES 4.3.2. DISEÑO DE ESTRUCTURA DE CONTROL 4.3.3. APLICACIONES EN LÍNEA 4.4. CÓMO PUEDEN LOS AG SER DE BENEFICIO PARA EL CONTROL? 4.4.1. ESTABILIDAD CAPÍTULO 5. SINTONIZACIÓN DE CONTROLADORES PID UTILIZANDO ALGORITMOS EVOLUTIVOS 5.1. SISTEMA MECÁNICO: MASA –RESORTE 5.1.1. CONTROLABILIDAD DEL SISTEMA 5.1.2. OBSERVABILIDAD 5.1.3. DISCRETIZACIÓN DEL SISTEMA 5.1.4. CALCULO DEL CONTROLADOR 5.1.5. DISCRETIZACIÓN DEL CONTROLADOR 5.1.6. SINTONIZACIÓN DE CONTROLADORES PID UTILIZANDO ALGORITMOS EVOLUTIVOS EN LÍNEA 5.1.6.1. VALIDACIÓN DEL ALGORITMO EN LÍNEA 5.2. CIRCUITO LRC 5.3. SISTEMA DE LEVITACIÓN MAGNÉTICA 5.3.1. FUNCIÓN DE TRANSFERENCIA 5.3.2. CALCULO DEL CONTROLADOR 5.4. MODELO DEL EVAPORADOR 5.4.1. MODELO NO LINEAL 5.4.2. PROCESO DE BALANCE DE MASA LIQUIDA 5.4.3. PROCESO DE BALANCE DE MASA LIQUIDA DEL SOLUTO 5.4.4. PROCESO DE BALANCE DE MASA DE VAPOR 5.4.5. PROCESO DE BALANCE DE ENERGÍA LIQUIDA 5.4.6. ENVOLTURA DEL VAPOR CALIENTE 5.4.7. CONDENSADOR 5.4.8. MODELO MATEMÁTICO DEL EVAPORADOR 5.5. SINTONIZACIÓN DE CONTROLADORES ALGORITMOS EVOLUTIVOS FUERA DE LÍNEA 5.5.1. SISTEMA MECÁNICO: MASA –RESORTE 5.5.2. CIRCUITO LRC 5.5.3. SISTEMA DE LEVITACIÓN MAGNÉTICA 5.5.4. MODELO DEL EVAPORADOR 6. ANALISIS ECONOMICO Y ADMINISTRATIVO 7. ANALISIS DE LEGALIDA 8. INFLUENCIA AMBIENTAL CONCLUSIONES RECOMENDACIONES BIBLIOGRAFIA ANEXOS GLOSARIO DE TÉRMINOS TÉCNICOS PID UTILIZANDO INTRODUCCIÓN A pesar de que la tecnología ha ido avanzando a pasos gigantescos en el área industrial desde la invención del controlador PID, éstos continúan teniendo una gran acogida hasta nuestros días, siendo utilizados para el control de la mayoría de los procesos a lazo cerrado. En general, los procesos donde estos controladores son empleados tienden a desestabilizarse debido a perturbaciones no lineales, desgaste de equipos, y varios otros factores, lo cual hace que tengan que ser resintonizados o reajustados para las nuevas condiciones de operación o funcionamiento de los sistemas. Con este trabajo se busca realizar la entonación de controladores PID, ante cambios de los parámetros de los sistemas, de forma autónoma, sin la ayuda del operador. Para esto se propone utilizar algoritmos evolutivos, que constituyen una rama de la llamada Computación Blanda, con los cuales se emula la evolución natural de los seres vivos, utilizando la selección y reproducción, para encontrar la solución óptima a un problema específico, sin tener ningún conocimiento previo de este. Inicialmente se propone un conjunto de posibles soluciones, que luego son sometidas a procesos de transformación y después a una selección que escoge las mejores y descarta las peores, de acuerdo a una calificación o medida de aptitud dada por una función de aptitud, que se establece de acuerdo al objetivo del problema. Dentro de los algoritmos evolutivos se pueden destacar diferentes directrices, como la de los algoritmos genéticos, las cuales se aplican de acuerdo a la codificación que se hace de los individuos (posibles soluciones al problema). El desarrollo de este trabajo esta organizado como sigue: - En el primer capítulo se trata todo lo referente a los algoritmos evolutivos desde sus inicios, pasando por todas las técnicas que han sido desarrolladas a través del tiempo. También se orienta un poco sobre las consideraciones que se deben tener en cuenta a la hora de la implementación y se mencionan sus ventajas y sus desventajas. - En el segundo capítulo se hace referencia a toda la teoría relacionada con los controladores PID. Diferentes acciones de control y configuraciones de los controladores y sus efectos sobre los sistemas. - El tercer capítulo es un enfoque reducido sobre las diferentes técnicas de discretización de sistemas y además la linealización de sistemas no lineales. - El cuarto capítulo es una perspectiva sobre el estado del arte de los algoritmos evolutivos y sus usos para solucionar problemas relacionados con controladores PID - En el quinto capítulo se llevan a cabo varios experimentos para la sintonización de controladores con algoritmos evolutivos; primero en línea y luego fuera de línea, para luego ser aplicados a un proceso de evaporación. - El sexto capítulo se dan conclusiones específicas y recomendaciones sobre el uso de este método de acuerdo a las conclusiones obtenidas en los experimentos. OBJETIVOS OBJETIVO GENERAL: Desarrollar un nuevo algoritmo de sintonización de controladores PID utilizando algoritmos evolutivos. OBJETIVOS ESPECÍFICOS • Diseñar experimentos para respaldar el desarrollo de algoritmos evolutivos para la sintonización de controladores. • Diseñar un algoritmo evolutivo para la sintonización adaptativa de controladores PID e implementar el diseño utilizando herramientas de computación en Matlab. • Validar los desarrollos, a través de simulaciones computacionales, con un modelo matemático de un sistema de evaporación, mediante la verificación de condiciones de estabilidad del sistema en estudio. • Definir otras potenciales aplicaciones de implementación en el ámbito industrial. JUSTIFICACIÓN De acuerdo con las diversas asignaturas cursadas en el transcurso del programa propuesto para Ingeniería Electrónica, el control automático es una de las áreas de estudio de la carrera. El control como tal, dentro de su diversidad de temas, métodos y técnicas, incluye el diseño de controladores PID, los cuales son ampliamente utilizados a nivel industrial. Los controladores han generado muchos beneficios para la apropiada operación de procesos o sistemas; por lo cual son de gran interés, tanto en sus funcionalidades, como en el mejoramiento continuo del desempeño de procesos industriales. Para lograr estas mejoras se han usado diferentes métodos basados en una diversidad de técnicas para la entonación automática de los controladores. Teniendo en cuenta los objetivos del proyecto, sus logros aportarían soluciones a la industria, ya que permitirían mejorar la operación de plantas al tiempo que robustecerían las condiciones de seguridad operacional en procesos de alto riesgo donde el control resulta esencial. PLANTEAMIENTO DEL PROBLEMA En las instalaciones industriales más del 95% de los procesos son regulados por controladores PID, pero debido a la vida útil de los equipos, a cambios de dinámica de los procesos, a la presencia de comportamientos no lineales y a perturbaciones de naturaleza aleatoria, entre otros factores, con frecuencia se pierde la entonación de los controladores. Todo eso ocasiona una degradación en las condiciones de operación de los sistemas, ya que estos están diseñados para operar en un punto específico de equilibrio, trayendo como consecuencia pérdidas económicas o detrimento de las condiciones de seguridad en la operación del proceso. Por esto, se hace necesaria la asistencia de ingenieros de control para reestablecer el buen desempeño del sistema, entonando los controladores. Lo ideal sería que el controlador se acoplara automáticamente a los cambios de parámetros del sistema de forma eficiente, rápida y efectiva sin necesidad de recurrir a un operador para realizarlo, lo cual resultaría más costoso. METODOLOGÍA • Recolección de información: En este primer paso se llevó a cabo una consulta e investigación documental sobre el estado del arte de los controladores PID y los algoritmos evolutivos. Para esto fue necesario usar la INTERNET, fuentes bibliográficas (artículos, libros, folletos y revistas) y colaboración de profesores conocedores del área. La información recopilada permitió la escogencia de la estructura del controlador y de los parámetros de diseño del algoritmo evolutivo: codificación, población inicial, fusión objetivo, condición de terminación, operadores, entre otros elementos. • Diseño de experimentos: Se comenzó con el desarrollo de la técnica en línea, utilizando varios sistemas estables a lazo cerrado, a los cuales se les realizó cambios de las condiciones iniciales, usando como función de aptitud la diferencia del error cuadrático y empleando como operador genético el de mutación basada en descenso por gradiente. También se trabajó con sistemas inestables a lazo abierto y un tipo de sistemas no lineales, haciendo cambios en la función objetivo del algoritmo evolutivo y con mutación basada en ascenso por gradiente. Luego fue desarrollada la técnica fuera de línea. Para todas estas pruebas se utilizó la ayuda del sistema programado Simulink y las herramientas de programación de Matlab. Por último se aplicó este algoritmo a la variable de tasa de flujo, de un proceso de evaporación, para controlar las diferentes salidas de este sistema. Aquí se hizo necesaria la utilización de diferentes técnicas de discretización de sistemas lineales para la implementación del algoritmo. • Obtención de resultados: Una vez obtenidos los comportamientos de los diferentes sistemas considerados después de haber utilizado el algoritmo evolutivo diseñado, fueron establecidas conclusiones y recomendaciones relativas a los resultados y en correspondencia con los objetivos originalmente planteados para el trabajo. Así mismo se realizaron consideraciones sobre la plataforma tecnológica necesaria a nivel industrial para poder hacer la implantación física del método de entonación PID desarrollado. Capítulo 1 Computación Evolutiva 1.1. INTRODUCCIÓN En la naturaleza todos los seres vivos se enfrentan a problemas que deben resolver con éxito, como conseguir más luz del sol, o cazar una mosca. La Computación Evolutiva interpreta la naturaleza como una inmensa máquina de resolver problemas y trata de encontrar el origen de dicha potencialidad para utilizarla en programas [1, 5,13]. La computación evolutiva busca relacionar algunos conceptos expresados en la teoría de la evolución con un conjunto de técnicas usadas para resolver computacionalmente algunos problemas. La computación evolutiva CE abarca los modelos computacionales que usan como elemento clave algún mecanismo de la teoría de la evolución para su diseño e implementación [4]. El principal aporte de la CE a la metodología de la resolución de problemas ha sido el uso de mecanismos de selección de soluciones potenciales y de construcción de nuevas candidatas por recombinación de característica de otras ya existentes [4]. La Computación Evolutiva surge a finales de los años 60 cuando John Holland planteó la posibilidad de incorporar los mecanismos naturales de selección y supervivencia a la resolución de problemas de Inteligencia Artificial. [22] En la actualidad se tienen varias aplicaciones industriales exitosas inspiradas en enfoques evolutivos para diversas áreas [22]: o Diseño de circuitos o Planificación de tareas o Cálculo de Estrategias de Mercado o Cortado de patrones, etc. Las implementaciones concretas en el área de la CE han sido denominadas algoritmos evolutivos [4]. Los Algoritmos Evolutivos recogen un conjunto de modelos basados en la evolución de los seres vivos inspirados en la naturaleza, constituyendo así una técnica de resolución de problemas [22,5]. En un Algoritmo Evolutivo se define una estructura de datos que admite todas las posibles soluciones a un problema. Cada uno de los posibles conjuntos de datos admitidos por esa estructura será una solución al problema. Unas soluciones serán mejores, otras peores. Estas soluciones serán sometidas a ciertas transformaciones y luego a un proceso de selección que favorece a los mejores. Se espera que después de cierto número de generaciones el mejor individuo de la población esté cerca de la solución buscada. Solucionar el problema consistirá en encontrar la solución óptima, y por tanto, los Algoritmos Evolutivos son en realidad un método de búsqueda muy especial, en el que las soluciones al problema son capaces de reproducirse entre sí, combinando sus características y generando nuevas soluciones [5, 8,22]. En cada ciclo se seleccionan las soluciones que más se acercan al objetivo buscado, eliminando el resto de soluciones. Las soluciones seleccionadas se reproducirán entre sí, permitiendo de vez en cuando alguna mutación o modificación al azar durante la reproducción [5]. No siempre el espacio de búsqueda completo contiene soluciones válidas; en algunos casos, los valores de las variables se sitúan dentro de un rango, más allá del cual la solución es inválida. Se trata entonces de un problema de optimización con restricciones. En este caso, el problema consiste en maximizar F(xi) dentro del subespacio. 1.2. ORIGENES A principios del siglo XIX, las cuestiones relacionadas con las variaciones evolutivas se centraban en tres aspectos: cuál era la naturaleza del material genético transmitido a la descendencia, cómo pasaban fielmente las características de una generación a la siguiente, y cómo se producían variaciones en ellas que después se transmitían. El zoólogo francés Jean Baptiste de Lamarck pensaba que la vida animal y vegetal sufría nuevas influencia de acuerdo a los cambios climáticos y áreas geográficas que experimentaban, desencadenando nuevas necesidades y por tanto nuevas estrucuturas. A estas nuevas estructuras Lamarck las llamó características adquiridas que pueden ser heredadas a nuevas generaciones [19]. A finales del siglo XIX, científicos como Charles Darwin, el biólogo alemán Ernst Haeckel, el botánico holandés Hugo De Vries y el biólogo alemán August Weismann desarrollaron teorías sobre la herencia. La razón principal que suscitó este interés fue que la teoría de la selección natural de Darwin, publicada por primera vez en 1859. La selección natural fomenta la adaptación de los organismos cuando ello es necesario para la supervivencia, el éxito debió alcanzar a aquellas que conseguían desarrollar una habilidad o mecanismo especial para su autoconservación y replicación rápida [19]. Charles Darwin elaboró su teoría de la selección natural, que se convertiría en el fundamento de la teoría de la evolución, influenciado por las ideas del geólogo Adam Sedgwick y el naturalista John Henslow. La mayor parte de la selección natural se denomina selección estabilizadora, por cuanto elimina genes del conjunto genético que tienden a producir desviaciones de una forma que ya es óptima [20]. La selección natural elige los más aptos, los organismos más capacitados. Para Darwin aptitud significaba cualquier cualidad que ayudaba a un organismo a sobrevivir y reproducirse [18]. Gregor Johann Mendel (1822-1884) fue un monje austriaco, cuyos experimentos se convirtieron en el fundamento de la actual teoría de la herencia (transmisión a los descendientes de los caracteres de los ascendientes). Sus exhaustivos experimentos con plantas tuvieron como resultado el enunciado de dos principios que más tarde serían conocidos como leyes de la herencia. Sus observaciones le llevaron también a acuñar dos términos que siguen empleándose en la genética de nuestros días: dominante y recesivo [18, 21]. El redescubrimiento en 1900 de los escritos de Mendel del año 1866 sobre los patrones de la herencia en la planta del guisante, supuso una fuente importante de conceptos nuevos sobre la herencia. De su estudio sobre el cruzamiento de este tipo de plantas, Mendel llegó a tres generalizaciones. La primera fue la ley de la uniformidad en la primera generación filial: cuando se cruzan dos razas puras (homocigotas), diferentes en un carácter concreto, la descendencia presenta siempre el mismo fenotipo. La segunda fue la ley de la segregación: en la formación de células germinales, los dos factores (alelos) para cualquier característica están siempre separados entre sí y van a diferentes óvulos o espermatozoides. La tercera generalización, que con posterioridad se denominó la ley de la herencia independiente, afirmaba que los factores maternos y paternos para cualquier grupo de características se separaban de forma independiente de aquellos que pertenecían a otro grupo de características [20,21]. Los estudios de Mendel, retomados a finales del siglo, demostraron lo que Darwin insinuó vagamente en cierta época, que la herencia es particular, no combinada. Sean o no los descendientes formas intermedias entre sus dos padres, heredan y transmiten partículas hereditarias separadas, que hoy en día se denominan genes. Hugo Marie de Vries (1848-1935) fue un botánico holandés, quien redescubrió de modo independiente las leyes de la herencia desarrolladas por el monje austriaco Gregor Mendel, e incorporó el concepto de mutación a la teoría evolutiva (variaciones a gran escala que pueden producir nuevas especies en una sola generación), la mutación es el origen último de la variación genética. De Vries concedió a Mendel todo el mérito por el trabajo [18]. En 1903, Walter Sutton, en Estados Unidos, y Theodore Boveri, en Alemania, formularon por separado la teoría cromosómica de la herencia, en la que proponían que los cromosomas eran el soporte físico de los genes. Después de varios años de experimentación el científico estadounidense Thomas Hunt Morgan, junto con sus colaboradores, Alfred Henry Sturtevant, Calvin Blackman Bridges y Hermann Joseph Muller, demostraron la teoría formulada por Sutton y Boveri. Los cromosomas contienen la información genética del organismo. La mitad de los cromosomas proceden del padre, y la otra mitad de la madre. Las diferencias entre individuos reflejan la recombinación genética de estos juegos de cromosomas al pasar de una generación a otra [19]. Harriet B. Creighton y Barbara McClintock demostraron experimentalmente, en 1931, la correlación existente entre la recombinación genética y el intercambio de fragmentos cromosómicos (entrecruzamiento) que acontece durante la meiosis [19]. 1.3. ANTECEDENTES Los primeros ejemplos de lo que hoy se podría llamar algoritmos genéticos aparecieron a finales de los 50 y principios de los 60, programados en computadoras por biólogos evolutivos que buscaban explícitamente realizar modelos de aspectos de la evolución natural [28]. John Holland En los años 50 entró en contacto con los primeros ordenadores, donde pudo llevar a cabo algunas de sus ideas, aunque no se encontró con un ambiente intelectual fértil para propagarlas. Fue a principios de los 60, en la Universidad de Michigan en Ann Arbor, donde, dentro del grupo Logic of Computers, sus ideas comenzaron a desarrollarse y a dar frutos. Y fue, además, leyendo un libro escrito por un biólogo evolucionista, R. A. Fisher, titulado La teoría genética de la selección natural, como comenzó a descubrir los medios de llevar a cabo sus propósitos de comprensión de la naturaleza [2]. En esa universidad, Holland impartía un curso titulado Teoría de sistemas adaptativos. Dentro de este curso, y con una participación activa por parte de sus estudiantes, fue donde se crearon las ideas que más tarde se convertirían en los algoritmos genéticos [2]. Por tanto, cuando Holland se enfrentó a los algoritmos genéticos, los objetivos de su investigación fueron dos [2]: • Imitar los procesos adaptativos de los sistemas naturales, y • Diseñar sistemas artificiales (normalmente programas) que retengan los mecanismos importantes de los sistemas naturales. Ese mismo año, la importante tesis de Kenneth De Jong estableció el potencial de los AGs demostrando que podían desenvolverse bien en una gran variedad de funciones de prueba, incluyendo paisajes de búsqueda ruidosos, discontinuos y multimodales [28]. Unos 15 años más adelante, David Goldberg, actual delfín de los algoritmos genéticos, conoció a Holland, y se convirtió en su estudiante. Golberg era un ingeniero industrial que trabajó en diseño de pipelines, y fue uno de los primeros que trató de aplicar los algoritmos genéticos a problemas industriales [2]. En 1932, Cannon visualizó la evolución natural como un proceso de aprendizaje. Alan Turing reconoció, en 1950, que debe haber una conexión obvia entre el aprendizaje de máquina y la evolución y señaló que se podrían desarrollar programas para jugar ajedrez usando esta técnica. Campbell conjeturó en 1960 que en todos los procesos que llevan a la expansión del conocimiento, se involucra un proceso ciego de variación y supervivencia selectiva. Los primeros intentos de aplicar de manera formal la teoría de la evolución, a problemas prácticos de ingeniería, apareció en las áreas de control de procesos estadísticos, aprendizaje de máquina y optimización de funciones. Tal vez el primer intento serio de este tipo se dio en el trabajo que realizaron G.E.P. Box y sus colegas G.J. Friedman, W.W. Bledsoe y H.J. Bremermann en 1957, en el desarrollo de una técnica que denominaron Operación Evolutiva, la cual se aplicó a una planta de manufactura para manejarla, y que se implanto sobre la base de los votos de un comité de jefes técnicos. Bajo este esquema, la planta se veía como a una especie en evolución. La calidad del producto avanzaba a través de mutaciones aleatorias y la selección era determinada por el comité [3,8]. Por su parte, Friedberg intentó, en 1958, hacer que un programa en lenguaje de máquina se mejorara a sí mismo, seleccionando instrucciones que se asociaran más frecuentemente con un resultado exitoso. La comunidad de Inteligencia Artificial de la época prestó poca atención a su trabajo, y en algunas ocasiones lo atacó despiadadamente. Por ejemplo, Minsky lo criticó duramente, argumentando que una búsqueda puramente aleatoria era mucho mejor que el algoritmo de Friedberg (este argumento aún es esgrimido infundadamente por algunos miembros de la comunidad científica en contra de los algoritmos genéticos) [3]. El trabajo de Bremermann, en 1958, se enfocó más a la optimización, introduciendo el importante manejo de un valor de aptitud, y definiendo a un individuo como una cadena de símbolos binarios (unos y ceros). Bremermann advirtió, acertadamente, que la mutación jugaba un papel importante en la evolución, pues impedía el estancamiento en mínimos locales [3]. Barricelli ofreció, en 1954, una de las primeras simulaciones que usaba principios evolutivos, utilizando los mismos procedimientos generales que se usan hoy en día en la disciplina conocida como vida artificial. Sin embargo, en este trabajo, así como el que Reed realizó posteriormente en 1967, se concluyó que el cruce no parecía mejorar la velocidad de la adaptación selectiva, y el operador primordial era la mutación [3]. El siguiente desarrollo importante en el campo vino en 1966, cuando L.J. Fogel, A.J. Owens y M.J. Walsh introdujeron en América una técnica que llamaron programación evolutiva. En este método, las soluciones candidatas para los problemas se representaban como máquinas de estado finito sencillas; su algoritmo funcionaba mutando aleatoriamente una de estas máquinas simuladas y conservando la mejor de las dos. Fue Fogel el que introdujo la primera técnica evolutiva que realmente funcionó más o menos dentro de los lineamientos actuales de la computación evolutiva. Su programación evolutiva consistía en hacer evolucionar autómatas de estados finitos por medio de mutaciones. Fogel introdujo los importantes conceptos de población y selección, y aunque las revisiones iniciales de su trabajo fueron favorables, algunos investigadores, como Solomonoff, enfatizaron que el método de Fogel no debía verse en su estado actual (en 1966) como algo particularmente útil para resolver problemas, a excepción de los más simples posibles [3, 28]. Otra técnica evolutiva dirigida particularmente a la optimización de funciones continuas de alta complejidad se desarrolló en Alemania, en 1965, por Ingo Rechenberg y Schwefel. Esta técnica, llamada estrategia evolutiva, se utilizó inicialmente para resolver problemas ingenieriles que desafiaban a los métodos de optimización tradicionales, como el gradiente conjugado, y se basa en la modificación sistemática de un vector de números reales (representando las variables de decisión del problema) mediante operadores probabilísticos, usando ciertos criterios para decidir en qué dirección dirigir la búsqueda. La estrategia evolutiva utiliza como operador principal a la mutación, y en su versión más reciente usa el cruce como operador secundario [3]. Aunque el australiano Fraser propuso, desde fines de los 50, un procedimiento muy similar al que John Holland llamó planes evolutivos a fines de los 60, es al segundo al que se le suele atribuir la creación de la técnica que se conoce como algoritmo genético, a raíz de que Holland publicara el libro Adaptation in Natural and Artificial Systems en 1975. La principal diferencia del algoritmo genético con las técnicas antes mencionadas, es que utiliza el cruce como operador principal y a la mutación como operador secundario (e incluso opcional). El algoritmo genético, al igual que las redes neuronales, funciona como una caja negra que recibe ciertas entradas y produce (tras una cantidad de tiempo indeterminada) las salidas deseadas [3]. En 1994, Karl Sims publicó Evolving Virtual Creatures en la conferencia SIGGRAPH, en la que despertó el interés de expertos y del público en general. Sims reprodujo en su computadora un entorno natural en el que se simulaban diversos medios como el acuático y el terrestre, con consideración de parámetros físicos como gravedad, rozamiento y viscosidad. Asimismo, dotó a la computadora de un conjunto de bloques con los que construyó criaturas virtuales [11]. 1.4. BASES BIOLÓGICAS DE LA COMPUTACIÓN EVOLUTIVA. Desde el punto de vista biológico, la CE se basa en tres teorías: Evolución de Darwin, la de seleccionismo de Weismann y la de genética de Mendel [4]. Postulados de la selección natural que conforman las bases biológicas de la CE [4]: 1. No todos los individuos de una misma especie son iguales. Pueden ser heredadas pequeñas variaciones a sus descendientes. 2. Dichas variaciones podrían facilitar la supervivencia a sus portadores en determinados ambientes. 3. En las poblaciones en cada generación el número permanece aproximadamente constante, por el hecho de que no todos sobreviven. 4. Los individuos portadores de la mejor adaptación irán incrementando en relación de parte de la población al transmitir sus características a sus descendientes. 5. Al irse agregando características favorables, luego de cierto numero de generaciones se forma una nueva especie que difiere mucho del grupo original. La NeoDarwinista combina la teoría de Darwin con los aportes de la Genética, conocida también con el nombre de Teoría Sintética de la Evolución. Esta teoría postula un principio que es altamente relevante para la CE: La unidad sobre la que actúa la evolución no es el individuo, sino otra de orden superior, La población [4]. De entre las teorías formuladas para explicar cómo se heredan las características, una merece especial mención. Esta es la de Mendel, que proporcionó el fundamento sobre el cual se ha basado toda la investigación genética posterior [4]. Para explicar los resultados obtenidos en sus experimentos, Mendel formuló una serie de hipótesis para explicar resultados obtenidos. Las hipótesis formuladas por Mendel fueron las siguientes [4]: 1. En cada organismo existe un par de factores que regulan la aparición de una determinada característica (Hoy en día, a estos factores son denominamos genes). 2. El organismo obtiene tales factores de sus padres, un factor por cada padre. 3. Cada uno de estos factores se transmite como una unidad discreta inmodificable. 4. Primera ley de Mendel, o ley de la segregación. 5. Si un organismo posee dos factores diferentes para una característica dada, uno de ellos debe expresarse y excluir totalmente al otro. Hoy en día, los biólogos usan el término alelo para describir las formas alternativas de un gen que controla la aparición de una característica dada. Por su parte, la teoría de Weismann ha tenido implicaciones cruciales para la evolución: Demostró que los cambios en el cuerpo, debido al uso o el desuso de partes del mismo, no se reflejan en el plasma del germen, y por consiguiente, no pueden ser heredados. Con experimentos probó que el cuerpo del padre transmite meramente su germen plasmático, invalidando así la teoría Lamarkista [4]. 1.5. COMPONENTES DE UN ALGORITMO EVOLUTIVO Los componentes de un algoritmo evolutivo se `pueden observar en la figura 1.1 [5]: 1. Una representación genética de soluciones del problema. 2. una manera de crear una población inicial con estas estructuras. 3. una función de aptitud que juegue el papel de ambiente y que jerarquice las soluciones en términos de su efectividad en la resolución del problema. 4. un mecanismo de selección y un conjunto de operadores que motoricen la búsqueda modificando parcialmente las estructuras de solución. 5. valores para los parámetros que determinan la dinámica evolutiva. Figura 1.1. Estructura De Los Algoritmos Evolutivos Los Algoritmos Evolutivos han emergido como una clase de búsqueda aleatoria de varios puntos, concurrentemente, sobre un espacio de soluciones factibles; los AEs requieren de mucho poder de cómputo y espacio de memoria lo cual los hace interesantes para paralelizarlos. La paralelización del AE mejora considerablemente tanto el desempeño del algoritmo como la calidad de las soluciones reportadas debido a que se pueden manipular grandes espacios de búsqueda y además abarata los costes del hardware [7]. Los Algoritmos Evolutivos requieren que se les especifique la codificación de los individuos y una función de evaluación que mida la aptitud de cada individuo. La función de Aptitud es la guía que emplean estos algoritmos para explorar de forma eficiente su amplio espacio de búsqueda de posibles soluciones [7]. Los algoritmos evolutivos han sido amplia y exitosamente usados para diseños de aplicaciones fuera de línea. En el campo de la ingeniería de control de sistemas, estas aplicaciones incluyen diseño de controladores, identificación de modelos, análisis de estabilidad robusta, fiabilidad a de sistemas y diagnostico de fallas [9]. Los Algoritmos Evolutivos pueden considerarse una técnica de aprendizaje no supervisado, es decir, aprendizaje inductivo por observación y descubrimiento [22]: • Estos algoritmos generan ejemplos por si mismos. • La creación de nuevos ejemplos (puntos de búsqueda) por el algoritmo es una apuesta inductiva sobre la base del conocimiento existente. Los algoritmos evolutivos se distinguen también por no quedar atrapados fácilmente en mínimos locales, como la mayor parte de las técnicas de búsqueda clásicas, además de usar operadores probabilísticos más robustos que los operadores determinísticos, que las otras técnicas suelen usar. No obstante, siendo una heurística, tampoco pueden garantizar encontrar siempre la solución óptima, si bien la experiencia acumulada hasta la fecha parece demostrar que, cuando se utilizan apropiadamente, pueden proporcionar soluciones muy aceptables y, en la mayoría de los casos, superiores a las encontradas con otras técnicas de búsqueda y optimización [3]. La clara ventaja de los Algoritmos Evolutivos es su aplicabilidad universal a cualquier tipo de espacio de estructuras [22]. 1.6. MODELOS SOBRE EL ESQUEMA GENERAL Hasta hace poco era común hablar de Algoritmos Genéticos (AG) en general, en vez de identificar diferentes tipos de CE, ya que el resto de los algoritmos se pueden interpretar como variaciones o mejoras de los AG, más conocidos [25,14]. - Algoritmos Genéticos: trabajan con una población de cadenas binarias con el fin obtener la máxima generalidad y el máximo grado de paralelismo implícito [22]. - Programas Evolutivos: los individuos pueden ser cualquier estructura de datos [22]. - Programas Genéticos: los individuos son programas o autómatas (longitud variable), generalmente representados en forma de árbol [22]. - Estrategias Evolutivas: trabajan con números reales que codifican las posibles soluciones de problemas numéricos [22]. La agregación simulada (Simulated Annealing) se puede considerar una simplificación de los AG cuyo origen está en los procedimientos físicos de solidificación controlada [25]. 1.7. ALGORITMOS GENÉTICOS (AG) Los primeros hechos relacionados con los Algoritmos Genéticos (en adelante AGs) surgieron en 1932 cuando Cannon interpreta la evolución natural como un proceso de aprendizaje muy similar al proceso mediante el cual una persona aprende por ensayo y error. También en 1950 Turing reconoce una conexión entre la evolución y el aprendizaje de una máquina [24]. Los investigadores en computación observaron que esta clase de algoritmos podía utilizarse también para optimizar funciones. De hecho, aunque las primeras descripciones técnicas y definiciones de adaptación provienen de la biología, ya en este contexto, adaptación designa cualquier proceso por el cual una estructura va modificándose de forma progresiva para lograr el comportamiento óptimo en su entorno. Es decir, los procesos adaptativos son básicamente procesos de optimización, pero es difícil aglutinarlos y unificar su estudio porque las estructuras modificables son complejas y su comportamiento es incierto [24, 25]. Los algoritmos genéticos son métodos sistemáticos para la resolución de problemas de búsqueda y optimización que aplican a estos los mismos métodos de la evolución biológica: selección basada en la población, reproducción sexual y mutación. Los AG utilizan el cruce como operación principal y a la mutación como operador secundario e incluso opcional [2,3, 27]. Los mecanismos de selección del más apto y de reproducción sexual del algoritmo genético, son los encargados de preservar las características más adecuadas de cada individuo a fin de hacer converger a la población en soluciones óptimas [3]. Mediante la selección se determina que miembros de una población sobreviven para reproducirse, y mediante la reproducción se asegura la mezcla y recombinación de los genes de la descendencia [24]. Esta mezcla del material genético permite que las especies evolucionen mucho mas rápidamente de lo que lo harían si tuvieran sólo la copia de los genes de uno de sus progenitores [24]. En un algoritmo genético, tras parametrizar el problema en una serie de variables, (xi,...,xn) se codifican en un cromosoma. Todos los operadores utilizados por un algoritmo genético se aplicarán sobre estos cromosomas, o sobre poblaciones de ellos [2]. Aunque no se sabe aún de manera completa la información específica codificada en los cromosomas de un individuo, las siguientes propiedades generales son aceptadas por todos los especialistas en el tema [15]: a) La evolución es un proceso que opera fundamentalmente sobre los cromosomas. b) El proceso de selección natural es el responsable de que aquellos individuos que tienen mejor adaptación al entorno se reproduzcan más que los poco adaptados. c) En la reproducción es donde tiene lugar la evolución. d) La evolución biológica carece de memoria. En el algoritmo genético va implícito el método para resolver el problema; son solo parámetros de tal método los que están codificados, a diferencia de otros algoritmos evolutivos como la programación genética. Hay que tener en cuenta que un algoritmo genético es independiente del problema, lo cual lo hace un algoritmo robusto, por ser útil para cualquier problema, pero a la vez débil, pues no está especializado en ninguno [2]. Las soluciones codificadas en un cromosoma compiten para ver cuál constituye la mejor solución (aunque no necesariamente la mejor de todas las soluciones posibles). El ambiente, constituido por las otras camaradas soluciones, ejercerá una presión selectiva sobre la población, de forma que sólo los mejor adaptados sobrevivan o leguen su material genético a las siguientes generaciones, igual que en la evolución de las especies [2]. Los algoritmos genéticos han demostrado ser un método útil de búsqueda de soluciones satisfactorias (calidad/tiempo), en problemas cuyo espacio de solución es difícil de tratar por otros métodos por su amplio rango. Estas posibilidades brindan la oportunidad de ajustar los parámetros de tal manera que la convergencia a la solución sea mucho más eficiente en cuanto a la relación calidad/tiempo que los métodos exactos pueden ofrecer [6]. Para encontrar óptimos globales, los algoritmos de optimización hacen uso de dos técnicas: explorar áreas desconocidas en el espacio de búsqueda y explotar el conocimiento obtenidos de puntos previamente evaluados. Los algoritmos combinan ambas técnicas de una forma eficiente [17]. Los resultados de los AGs mejoran significativamente si se usa una representación y unos operadores genéticos naturales. 1.7.1. Codificación de las variables Los algoritmos genéticos requieren que el conjunto se codifique en un cromosoma. Cada cromosoma tiene varios genes, que corresponden a sendos parámetros del problema. Para poder trabajar con estos genes en el ordenador, es necesario codificarlos en una cadena, es decir, una ristra de símbolos (números o letras) que generalmente va a estar compuesta de 0s y 1s aunque hay otras codificaciones posibles usando alfabetos de diferente cardinalidad [2, 28]. La mayoría de las veces, una codificación correcta es la clave de una buena resolución del problema. Esto puede llevar a usar cromosomas bidimensionales, o tridimensionales, o con relaciones entre genes que no sean puramente lineales de vecindad. En algunos casos, cuando no se conoce de antemano el número de variables del problema, caben dos opciones: codificar también el número de variables, fijando un número máximo, o bien, lo cual es mucho más natural, crear un cromosoma que pueda variar de longitud. Para ello, claro está, se necesitan operadores genéticos que alteren la longitud. Normalmente, la codificación es estática, pero en casos de optimización numérica, el número de bits dedicados a codificar un parámetro puede variar, o incluso lo que representen los bits dedicados a codificar cada parámetro [2]. 1.7.2. Operadores Una vez que la selección ha elegido a los individuos aptos, éstos deben ser alterados aleatoriamente con la esperanza de mejorar su aptitud para la siguiente generación. Existen dos estrategias básicas para llevar esto a cabo. 1.7.2.1. Cruce Consiste en el intercambio de material genético entre dos cromosomas (a veces más, como el operador orgía propuesto por Eiben). El teorema de los esquemas confía en él para hallar la mejor solución a un problema, combinando soluciones parciales [2]. Implica elegir a dos individuos para que intercambien segmentos de su código, produciendo una “descendencia'' artificial cuyos individuos son combinaciones de sus padres como se muestra en la figura 1.2. Este proceso pretende simular el proceso análogo de la recombinación que se da en los cromosomas durante la reproducción sexual. Como norma general se aplica después de un proceso de selección de dos individuos [15, 28]. Padres (criadores) 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 Hijos (vástagos) Figura1.2. Aplicación del operador de cruce. Las 2 formas más comunes de reproducción sexual son: uso de un punto único de cruce y uso de 2 puntos de cruce [6,26, 28]. Cuando se usa un solo punto de cruce, éste se escoge de forma aleatoria sobre la longitud de la cadena que representa el cromosoma, y a partir de él se realiza el intercambio de material de los 2 individuos [2,6, 26]. Cuando se usan 2 puntos de cruce, se procede de manera similar, pero en este caso Se eligen dos puntos de ruptura al azar para intercambiar [6,26]. • cruce uniforme: se genera un patrón aleatorio de 1s y 0s, y se intercambian los bits de los dos cromosomas que coincidan donde hay un 1 en el patrón. O bien se genera un número aleatorio para cada bit, y si supera una determinada probabilidad se intercambia ese bit entre los dos cromosomas [2,6]. • cruce especializado: en algunos problemas, aplicar aleatoriamente el cruce da lugar a cromosomas que codifican soluciones inválidas; en este caso hay que aplicar el cruce de forma que genere siempre soluciones válidas [2]. • Cruce segmentado: existe una probabilidad de que un cromosoma sea punto de un cruce. Conforme se va formando la nueva cadena del descendiente, para cada gen, se verifica si ahí se va producir un cruce. Normalmente el cruce se maneja dentro de la implementación del algoritmo genético como un porcentaje que indica con qué frecuencia se efectuará. Esto significa que no todas las parejas de cromosomas se cruzarán, sino que habrá algunas que pasarán intactas a la siguiente generación. De hecho existe una técnica desarrollada hace algunos años en la que el individuo más apto a lo largo de las distintas generaciones no se cruza con nadie, y se mantiene intacto hasta que surge otro individuo mejor que él, que lo desplazará. Dicha técnica es llamada elitismo, y no debe sorprender el hecho de que haya sido desarrollada en Alemania [26]. 1.7.2.1.1. Cruces para permutación 1.7.2.1.1.1. Cruce por emparejamiento parcial (PMX) Toma una subsecuencia del cromosoma del padre y procura preservar el orden absoluto de los genes, es decir, orden y posición en el cromosoma, del resto del cromosoma lo más parecido posible de la madre. Aparece también en la bibliografía como PMX [23]. 1.7.2.1.1.2. Cruces por orden (OX) Cruce de mapeamiento parcial o Cruce por orden: toma una subsecuencia del cromosoma del padre y procura preservar el orden relativo de los genes del resto del cromosoma lo más parecido posible de la madre. Se puede encontrar en la bibliografía como OX [23]. Este cruce sólo considera el orden relativo de las soluciones, no su posición. Existen dos variantes de este cruce que toman en cuenta las posiciones (muy usados en planificación de tareas). 1.7.2.1.1.2.1. Variantes al Cruce por orden - Cruce por orden con posiciones prioritarias No se elige un tramo para intercambiarlo entre los progenitores, sino un conjunto de posiciones al azar. (El resto no cambia). - Cruce por orden con orden prioritario: Los individuos no intercambian genes, sino el orden relativo existente entre ellas. 1.7.2.1.1.3. Cruce por ciclos (CX) Se toma el primer gen del cromosoma del padre, poniéndolo en la primera posición del hijo, y el primer gen del cromosoma de la madre, poniéndolo dentro del cromosoma del hijo en la posición que ocupe en el cromosoma del padre. El gen que está en la posición que ocupa el gen del cromosoma del padre igual al primer gen del cromosoma de la madre se va a colocar en la posición que ocupe en el cromosoma del padre, y así hasta rellenar el cromosoma del hijo. Este método también es conocido en la bibliografía como CX. 1.7.2.1.1.4. Cruce por recombinación de rutas (ERX) La descendencia se construye combinando los cromosomas que interconectan los genes de los progenitores. 1.7.2.2. Mutación En la Evolución, una mutación es un suceso bastante poco común (sucede aproximadamente una de cada mil replicaciones), como ya se ha visto anteriormente. En la mayoría de los casos las mutaciones son letales, pero en promedio, contribuyen a la diversidad genética de la especie. En un algoritmo genético tendrán el mismo papel, y la misma frecuencia (es decir, muy baja) [2]. Realiza un cambio a uno de los genes de un cromosoma elegido aleatoriamente. Cuando se usa una representación binaria, el gen seleccionado se sustituye por su complemento (un cero cambia en uno y viceversa) como se puede observar en la figura 1.3. Este operador permite la introducción de nuevo material cromosómico en la población, tal y como sucede con sus equivalentes biológicos [26]. Individuo original 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 Individuo después de la mutación Figura 1.3. Aplicación del operador de mutación. Al igual que la cruce, la mutación se maneja como un porcentaje que indica con qué frecuencia se efectuará, aunque se distingue de la primera por ocurrir mucho más esporádicamente (el porcentaje de cruce normalmente es de más del 60%, mientras que el de mutación normalmente nunca supera el 5%) [26]. El operador de mutación que se acaba de describir representa la denominada mutación clásica. Este operador también puede tener algunas variantes al operador clásico [4]. 1.7.2.2.1. Mutaciones sobre genes: Cuando un gen puede tomar más de dos valores (llamados también alelos), la mutación se realiza cambiando el valor actual por otro más o menos parecido [4]. 1.7.2.2.2. Mutaciones no estacionarías: en algunas ocasiones es conveniente reducir la tasa de mutación (probabilidad de mutación) según el programa progresa. La forma de implementar tal reducción depende en gran medida del problema; una manera sencilla es multiplicando la probabilidad de mutación por un factor de reducción cada cierto número de generaciones [4]. 1.7.2.2.3. Mutaciones no uniformes: Se dan distintas probabilidades de mutación a cada gen (o a cada bit dentro de un gen), dependiendo de su significado. 1.7.2.3. Variantes en operadores básicos para números reales Aunque t5ambien se puede utilizar los mecanismos mencionados para codificar binarios, existen variantes relevantes si se trabaja con representación basada en números reales. Por ejemplo Cruce C1 escalar o vector de números reales C2 escalar o vector de números reales H1 = C1 + α (C1 − C2 ) (1-1) H 2 = C2 + α (C2 − C1 ) (1-2) Hu = C1 + C2 2 (1-3) También se pueden producir más de dos hijos asignando una terna operación posible a cada caso. Mutación C1 Cromosoma a ser mutado H1 = C1 + α∆f Gradiente ascendente H1 = C1 − α∆f Gradiente descendente Depende de si se quiere minimizar o maximizar la función objetivo. El gradiente pudiera ser analítico explicito derivable, se selecciona el individuo ∂f si f f es derivable. Si f no e ∂C a mutar y otro que difiera significativamente del C1 ∗ puede ser en cuanto a función de ajuste o de estructura. ∆f fC − fC1 ∗ = 1 ∆C1 C1 − C1 ∗ (1-4) Si C1 es un escalar, es directo el gradiente. Si C1 es un vector habrá un gradiente distinto para cada elemento del cromosoma, ya que para cada elemento varia el valor del denominador. 1.7.2.4. Otros operadores No se usan en todos los problemas, sino sólo en algunos, y en principio su variedad es infinita. Generalmente son operadores que exploran el espacio de soluciones de una forma más ordenada, y que actúan más en las últimas fases de la búsqueda, en la cual se pasa de soluciones "casi buenas" a "buenas" soluciones [2]. 1.7.2.4.1. Cromosomas de longitud variable Hay problemas en los que no se conoce de antemano el número de parámetros del mismo. En estos casos, se necesitan dos operadores más: añadir y eliminar. Estos operadores se utilizan para añadir un gen, o eliminar un gen del cromosoma. La forma más habitual de añadir un locus es duplicar uno ya existente, el cual sufre mutación y se añade al lado del anterior. En este caso, los operadores del algoritmo genético simple (selección, mutación, cruce) funcionarán de la forma habitual, salvo, claro está, que sólo se hará cruce en la zona del cromosoma de menor longitud [2]. Estos operadores permiten, además, crear un algoritmo genético de dos niveles: a nivel de cromosoma y a nivel de gen [2]. 1.7.2.4.2. Operadores de nicho (ecológico) Otros operadores importantes son los operadores de nicho. Estos operadores están encaminados a mantener la diversidad genética de la población, de forma que cromosomas similares sustituyan sólo a cromosomas similares, y son especialmente útiles en problemas con muchas soluciones; un algoritmo genético con estos operadores es capaz de hallar todos los máximos, dedicándose cada especie a un máximo. Más que operadores genéticos, son formas de enfocar la selección y la evaluación de la población [2]. 1.7.2.4.3. Operadores especializados En una serie de problemas hay que restringir las nuevas soluciones generadas por los operadores genéticos, pues no todas las soluciones generadas van a ser válidas, sobre todo en los problemas con restricciones. Por ello, se aplican operadores que mantengan la estructura del problema. Otros operadores son simplemente generadores de diversidad, pero la generan de una forma determinada [2]: • Zap: en vez de cambiar un solo bit de un cromosoma, cambia un gen completo de un cromosoma [2]. • Creep: este operador aumenta o disminuye en 1 el valor de un gen; sirve para cambiar suavemente y de forma controlada los valores de los genes [2]. • Transposición: similar al cruce y a la recombinación genética, pero dentro de un solo cromosoma; dos genes intercambian sus valores, sin afectar al resto del cromosoma. Similar a este es el operador de eliminación-reinserción: en el que un gen cambia de posición con respecto a los demás [2]. • Agrega Alternativa: generaliza una restricción sobre un atributo, cambiando un 0 por un 1 en la sub cadena que corresponde al atributo [17]. • Elimina Condición: lleva a cabo una generalización más drástica, remplazando todos los bits de una sub cadena por 1s, esto es, elimina por completo la restricción en un atributo dado [17]. • Duplicación: Copia exactamente la información de un individuo a otro [4]. • Translocación: Se intercambian trozos del código genético de un individuo [4]. • Inversión: Este operador modifica la información genética de un individuo tomando dos componentes (genes) del mismo e intercambiando los valores de éstos; es decir, al primero se le asigna la información del segundo y al segundo la información del primero [4]. • Dominación: Determina algunos componentes (genes) que son preponderantes en el individuo para su valor de aptitud y da preferencia a esos componentes en otros operadores genéticos [4]. • Segregación: Es lo contrario a la dominación. En este caso, los componentes segregados no influyen de manera determinante en el grado de adaptabilidad del individuo [4]. 1.7.3. Función de adaptación La función de adaptación (fitness) define el criterio para ordenar las hipótesis potenciales y para seleccionarlas probabilísticamente, para su inclusión en la siguiente generación de la población. Si la tarea consiste en aprender reglas de clasificación, entonces la función de adaptación contiene un componente para evaluar la precisión de las hipótesis sobre un conjunto de entrenamiento dado [17]. Es la base para determinar qué soluciones tienen mayor o menor probabilidad de sobrevivir. Se tiene que tener un balance entre una función que haga diferencias muy grandes (y por lo tanto una convergencia prematura) y diferencias muy pequeñas (y por lo tanto un estancamiento). La función de aptitud no es más que la función objetivo de nuestro problema de optimización. El algoritmo genético únicamente maximiza, pero la minimización puede realizarse fácilmente utilizando el recíproco de la función maximizante (debe cuidarse, por supuesto, que el recíproco de la función no genere una división por cero). Una característica que debe tener esta función es que debe ser capaz de "castigar" a las malas soluciones, y de "premiar" a las buenas, de forma que sean estas últimas las que se propaguen con mayor rapidez [26]. 1.7.4. El teorema del esquema Proporciona el fundamento teórico de porqué los AG pueden resolver diversos problemas. En su análisis se considera el proceso de selección y los operadores de cruce y mutación. Un esquema se construye utilizando un nuevo símbolo (*) para representar un comodín (no importa) que puede aparear ambos valores (0 o 1). El esquema 11*00* representa las cadenas: 111001, 111000, 110001, 110000. El orden de un esquema es el número de elementos que no son “`*'' dentro del esquema. La longitud que define a un esquema es la distancia entre la primera posición fija y la última posición fija. El teorema dice que: Los esquemas pequeños de bajo orden arriba del promedio reciben un incremento exponencial de representantes en las siguientes generaciones de un algoritmo genético [Holland 92] El teorema del esquema caracteriza la evolución de una población en un algoritmo genético en términos del número de elementos representando cada esquema. Sea m(s, t) el numero de elementos del esquema s al tiempo t. El teorema del esquema describe el valor esperado de m(s, t + 1) en términos de m(s, t) y otras propiedades del esquema, la población, y los parámetros del algoritmo genético [17]. Un algoritmo genético tiene también una serie de parámetros que se tienen que fijar para cada ejecución, como los siguientes [2]: • Tamaño de la población: debe de ser suficiente para garantizar la diversidad de las soluciones, y, además, tiene que crecer más o menos con el número de bits del cromosoma. Por supuesto, depende también del ordenador en el que se esté ejecutando. El número de soluciones en una población es altamente relevante para la velocidad de optimización. • Condición de terminación: lo más habitual es que la condición de terminación sea la convergencia del algoritmo genético o un número prefijado de generaciones. 1.7.5. Evaluación Durante la evaluación, se decodifica el gen, convirtiéndose en una serie de parámetros de un problema, se halla la solución del problema a partir de esos parámetros, y se le da una puntuación a esa solución en función de lo cerca que esté de la mejor solución. A esta puntuación se le llama fitness [2]. El fitness determina siempre los cromosomas que se van a reproducir, y aquellos que se van a eliminar, pero hay varias formas de considerarlo para seleccionar la población de la siguiente generación [2]. Una vez evaluado el fitness, se tiene que crear la nueva población teniendo en cuenta que los buenos rasgos de los mejores se transmitan a esta. Para ello, hay que seleccionar a una serie de individuos encargados de tan ardua tarea. 1.7.6. Métodos de selección El mecanismo de selección permite orientar la búsqueda a aquellos puntos más promisorios con la mayor adaptación observada hasta el momento. La selección no produce puntos nuevos en el espacio de búsqueda, sino que determina que individuos dejaran descendencia y en que cantidad en la próxima generación [12]. Un algoritmo genético puede utilizar muchas técnicas diferentes para seleccionar a los individuos que deben copiarse hacia la siguiente generación, pero abajo se listan algunos de los más comunes. Algunos de estos métodos son mutuamente exclusivos, pero otros pueden utilizarse en combinación, algo que se hace a menudo [28]: • Selección elitista: se garantiza la selección de los miembros más aptos de cada generación [28]. • Selección proporcional a la aptitud: los individuos más aptos tienen más probabilidad de ser seleccionados, pero no la certeza [28]. • Selección por rueda de ruleta o universal (R): Conceptualmente, esto puede representarse como un juego de ruleta, cada individuo obtiene una sección de la ruleta, pero los más aptos obtienen secciones mayores que las de los menos aptos. Luego la ruleta se hace girar, y en cada vez se elige al individuo que “`posea'' la sección en la que se pare la ruleta [2, 15, 26,28]. • Selección escalada: al incrementarse la aptitud media de la población, la fuerza de la presión selectiva también aumenta y la función de aptitud se hace más discriminadora. Este método puede ser útil para seleccionar más tarde, cuando todos los individuos tengan una aptitud relativamente alta y sólo les distingan pequeñas diferencias en la aptitud [28]. • Selección por torneo (T): se eligen subgrupos de individuos de la población, y los miembros de cada subgrupo compiten entre ellos. Sólo se elige a un individuo de cada subgrupo para la reproducción [2, 26,28]. • Selección por rango: a cada individuo de la población se le asigna un rango numérico basado en su aptitud, y la selección se basa en este ranking, en lugar de las diferencias absolutas en aptitud. La ventaja de este método es que puede evitar que individuos muy aptos ganen dominancia al principio a expensas de los menos aptos, lo que reduciría la diversidad genética de la población y podría obstaculizar la búsqueda de una solución aceptable [2,28]. • Selección generacional: la descendencia de los individuos seleccionados en cada generación se convierte en toda la siguiente generación. No se conservan individuos entre las generaciones [28]. • Selección por estado estacionario: la descendencia de los individuos seleccionados en cada generación vuelven al acervo genético preexistente, reemplazando a algunos de los miembros menos aptos de la siguiente generación. Se conservan algunos individuos entre generaciones [28]. • Selección jerárquica: los individuos atraviesan múltiples rondas de selección en cada generación. Las evaluaciones de los primeros niveles son más rápidas y menos discriminatorias, mientras que los que sobreviven hasta niveles más altos son evaluados más rigurosamente. La ventaja de este método es que reduce el tiempo total de cálculo al utilizar una evaluación más rápida y menos selectiva para eliminar a la mayoría de los individuos que se muestran poco o nada prometedores, y sometiendo a una evaluación de aptitud más rigurosa y computacionalmente más costosa sólo a los que sobreviven a esta prueba inicial [28]. • Selección por escaños: se divide el rango del número aleatorio en un número predeterminado de escaños. Los escaños se reparten de acuerdo con la ley d'Hont, tomando como «puntuación» para repartir los escaños el grado de adaptación. Se observa que es más probable escoger un elemento de baja probabilidad por este método que en el de selección por sorteo. • Selección por restos estocásticos: igual que el método de selección de escaños, sólo que los escaños no asignados directamente, es decir, aquellos en que se aplica directamente la ley d'Hont, se asignan de forma aleatoria. La probabilidad de escoger un elemento de muy baja probabilidad es más alta que en el de selección por escaños. • Selección estocástica universal SUS: es análogo a la ruleta con M puntos igualmente espaciados entre si, de modo que con un solo lanzamiento se obtienen M ganadores. El método SUS no tiene sesgo y su dispersión es la mínima posible [12]. • Selección por sorteo :Se asume que cada individuo de la población tiene una cierta puntuación, normalmente relacionada a su valor de aptitud, con la cual se calcula la probabilidad pi que tiene cada individuo i’ para formar parte de la muestra [4]: p i= fi (1-5) n ∑ fj j =0 Donde: n : tamaño de la población f: función de aptitud 1.7.7. Mecanismos de Reemplazo Los mecanismos de reemplazo permiten mantener la población constante. Entre los mecanismos de reemplazo, los de mayor uso y aceptación son [4]: Reemplazo directo Los progenitores son reemplazados directamente por sus descendientes. Obviamente, este criterio solo puede usarse si s < n [4]. Reemplazo por similitud Cada descendiente reemplaza aquel miembro de la población que más se le asemeja. Al igual que en el caso directo, debe cumplirse que s < n [4]. Reemplazo por inserción (,) Este criterio puede usarse con variación según la relación entre s y n [4]: Si s n; Se escogen s individuos de la población, los cuales serán sustituidos por los s descendientes. Esta escogencia se hace a través de algún criterio de muestreo, normalmente se toman los peores. Si S > n: Se toma una muestra (con algún criterio) de tamaño n de los s descendientes. Bajo este esquema, cada individuo vive sólo por una generación. Reemplazo por inclusión (+} Se unen los n miembros de la población con los s descendientes, conformando una población auxiliar de tamaño s + n. Luego, de esta población auxiliar, se toma una muestra de tamaño n según algún criterio de selección [4]. 1.7.8. Características de los AGs Los AGs poseen características que determinan su funcionamiento y su aplicabilidad en determinados problemas. Estas son [4]: Búsqueda Ciega. No disponen de ningún conocimiento específico del problema. Codificación de Parámetros. Se trabaja con la codificación de un conjunto de parámetros (o un subconjunto de ellos) y no con los parámetros en sí. Búsqueda Basada en Población. Se busca desde una población de puntos y no desde uno solo. Función Objetivo como Elemento a Optimizar. Se usa una función objetivo o función de evaluación para definir lo que se desea optimizar, sin requerir más información derivada o auxiliar. Operadores Aleatorios. Se hace uso de operadores estocásticos para las transformaciones, en vez de reglas de transición determinísticas 1.7.9. ¿Como funcionan? El funcionamiento de un algoritmo genético clásico comienza generando una población inicial aleatoria de candidatos a ser el óptimo y usa la información contenida en ella con el fin de producir iterativamente nuevas y “mejores” poblaciones. Esa “calidad” se entiende en términos de la medida que de su idoneidad proporciona la función de ajuste [24]. Para ello, en primer lugar (y una vez codificados los miembros de la población Inicial), se evalúa su idoneidad y se seleccionan los mejores cromosomas. Algunos de estos individuos seleccionados sufren ciertas alteraciones por la acción de diferentes operadores genéticos encargados de introducir nuevos elementos en la población. En los algoritmos genéticos clásicos, dos son los operadores genéticos a destacar: el cruce y la mutación [24]. Los descendientes obtenidos a través de la selección y la recombinación, constituyen lo que se conoce como una generación. El proceso se repite durante generaciones hasta que se alcanza una cierta condición de parada. Es decir, el algoritmo finaliza cuando se ha ejecutado un número determinado de iteraciones prefijado de antemano, cuando se ha encontrado el óptimo [24]. 1.7.10. ¿Por qué utilizar algoritmos genéticos en la optimización? La razón del creciente interés por los algoritmos genéticos es que estos son un método global y robusto de búsqueda de las soluciones de problemas. La principal ventaja de estas características es el equilibrio alcanzado entre la eficiencia y eficacia para resolver diferentes y muy complejos problemas de grandes dimensiones [24]. 1.7.11. Convergencia del Algoritmo Dado que el algoritmo genético opera con una población en cada iteración, se espera que el método converja de modo que al final del proceso la población sea muy similar, y en el infinito se reduzca a un sólo individuo [6]. Se ha desarrollado toda una teoría para estudiar la convergencia de estos algoritmos en el caso de cadenas binarios. Esta teoría se basa principalmente en considerar que una cadena es un representante de una clase de equivalencia o esquema, reinterpretando la búsqueda en lugar de entre cadenas, entre esquemas [6]. 1.7.12. ¿Cómo saber si es posible usar el Algoritmo Genético? No todos los problemas pudieran ser apropiados para la técnica, y se recomienda en general tomar en cuenta las siguientes características del mismo antes de intentar usarla [26]: · Su espacio de búsqueda (sus posibles soluciones) debe estar delimitado dentro de un cierto rango. · Debe poderse definir una función de aptitud que indique qué tan buena o mala es una cierta respuesta. Las soluciones deben codificarse de una forma que resulte relativamente fácil de implementar en el computador. 1.7.13. Decisiones para implementar un algoritmo genético Las decisiones que hay que tomar para implementar un algoritmo genético son: • Criterio de codificación. Como se va a almacenar la información en el cromosoma. • Criterio de tratamiento de individuos no factibles. Como se van a tratar a los individuos que no cumplan las restricciones • Criterio de inicialización. Cómo se va a construir la población inicial del algoritmo genético. • Criterio de parada. Determina cuándo el algoritmo ha llegado a una solución aceptable. • Función de adaptación. • Operadores genéticos. • Criterios de reemplazo. • Parámetros de funcionamiento. Determinados parámetros que, sin poder ser englobados en ninguno de los anteriores, son fundamentales para el funcionamiento de un algoritmo genético. Es el caso, por ejemplo, del tamaño de la población, la probabilidad de la aplicación de los operadores genéticos. 1.7.14. Ventajas de los AGs • los algoritmos genéticos son intrínsecamente paralelos, pueden explorar el espacio de soluciones en múltiples direcciones a la vez [28,29]. • funcionan particularmente bien resolviendo problemas cuyo espacio de soluciones potenciales es realmente grande (demasiado vasto para hacer una búsqueda exhaustiva en un tiempo razonable) [28]. • se desenvuelven bien en problemas con un paisaje adaptativo complejo, aquéllos en los que la función de aptitud es discontinua, ruidosa, cambia con el tiempo, o tiene muchos óptimos locales [28]. • Otra área en el que destacan los algoritmos genéticos es su habilidad para manipular muchos parámetros simultáneamente [28,29]. • Usan operadores probabilísticos, en vez de los típicos operadores determinísticos de las otras técnicas [26]. • los AGs no saben nada de los problemas que deben resolver [28]. 1.7.15. Desventajas o limitaciones que tienen los AG con respecto a otras técnicas de búsqueda Aunque los algoritmos genéticos han demostrado su eficiencia y potencia como estrategia de resolución de problemas, no son la panacea. Los AGs tienen ciertas limitaciones; sin embargo, se ha demostrado que todas ellas pueden superarse y que ninguna de ellas afecta a la validez de la evolución biológica [28]. • Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta medida de los parámetros que se utilicen (tamaño de la población, número de generaciones, etc.) [26]. • Pueden converger prematuramente debido a una serie de problemas de diversa índole [26]. • El lenguaje utilizado para especificar soluciones candidatas debe ser robusto; es decir, debe ser capaz de tolerar cambios aleatorios que no produzcan constantemente errores fatales o resultados sin sentido [28]. • Si se elige mal una función de aptitud o se define de manera inexacta, puede que el algoritmo genético sea incapaz de encontrar una solución al problema, o puede acabar resolviendo el problema equivocado [28]. • Si el tamaño de la población es demasiado pequeño, puede que el algoritmo genético no explore suficientemente el espacio de soluciones para encontrar buenas soluciones consistentemente. Si el ritmo de cambio genético es demasiado alto o el sistema de selección se escoge inadecuadamente, puede alterarse el desarrollo de esquemas beneficiosos y la población puede entrar en catástrofe de errores, al cambiar demasiado rápido para que la selección llegue a producir convergencia [28]. • Una dificultad práctica al usar algoritmos genéticos es conocida como crowding. En este fenómeno, un individuo que es mas apto que otros miembros de la población, comienza a reproducirse rápidamente de tal forma que copias de este individuo, o bien de individuos muy parecidos, ocupan una fracción importante de la población reduciendo la diversidad de la población, haciendo la búsqueda más lenta. Eso se puede solucionar escogiendo un apropiado método de selección [17]. • Se aconseja no utilizar algoritmos genéticos en problemas resolubles de manera analítica. Ya que los métodos analíticos tradicionales consumen mucho menos tiempo y potencia computacional que los [28]. 1.7.16. Consideraciones al usar algoritmos genéticos Tomar cualquier método de optimización para trabajar de una manera óptima requiere alguna experimentación con sus parámetros de configuración y selecciones inadecuadas de éstos conducirán a un bajo rendimiento en la búsqueda. Cuando no se conoce mucho acerca de la superficie de respuesta y calcular el gradiente es computacionalmente intensivo o numéricamente inestable muchas personas prefieren usar métodos de optimización como AG, SA y Simplex los cuales no requieren información del gradiente [16]. Para las aplicaciones donde el cálculo del vector gradiente es numéricamente preciso y rápido, no se recomienda usar los AG, ya que éstos alcanzarán la región óptima mucho más lento que los métodos hill-climbing. Otro tipo de aplicaciones no recomendadas para los AG son aquellas que requieren encontrar el óptimo global exacto, dada la característica de los AG de ser buenos encontrando la región óptima global pero enfrentando problemas algunas veces para localizar el óptimo exacto [16]. 1.7.17. Diferencias entre los Métodos Tradicionales y los A.G. Se puede decir que los Algoritmos Genéticos difieren de los principales métodos tradicionales de optimización en cuatro puntos fundamentales de los cuales no han sido mencionados [15]: 1. Los A.G. no utilizan derivadas ni otras propiedades de la función objetivo, sino únicamente la propia función objetivo. 2. Los A.G. se rigen mediante reglas de transición probabilísticas, no determinísticas. 1.8. PROGRAMAS EVOLUTIVOS (PEs) Los programas evolutivos fueron presentados en 1994 por Michalewicz. los PEs son métodos que incorporan directamente conocimiento específico a los AGs, puesto que permiten la utilización de estructuras de datos naturales. Además, de perder un poco de generalización, con la incorporación de conocimiento específico, también se pierde el paralelismo implícito (basado en alfabetos de símbolos mínimos). Sin embargo, esta pérdida se compensa con el procesamiento de información más útil [14]. Los PEs no son restrictivos en cuanto a la representación del problema. Mientras en los AGs se hace necesaria una codificación de las soluciones del problema; en los PEs, tal representación se hace de forma directa. Si se diseñan adecuadamente, los PEs pueden competir en eficiencia y calidad de las soluciones con métodos específicos (más costosos de implementar) [23]. Los PEs surgieron al resolver problemas de optimización paramétrica en los que se requería alta precisión [23]. Se distinguen dos grandes grupos de PEs según la naturaleza de los objetos tratados [23]: PEs, especializados en optimización paramétrica PEs, especializados en optimización combinatoria 1.8.1. PEs en optimización paramétrica Por precisión y eficiencia no es conveniente utilizar AGs en problemas de optimización paramétrica. De esta manera, se requería un esquema que permitiese representar a los individuos como arreglos de números reales donde cada uno de esos números seria un gen [4]. 1.8.2. PEs en optimización combinatoria Existen algunos problemas que se caracterizan por la existencia de soluciones que se componen secuencialmente, es decir, dando un conjunto de elementos se pueden obtener diferentes arreglos ordenados de estos , permitiendo una basta cantidad de posibilidades; los cuales se denominan problemas de optimización combinatoria [4]. 1.8.3. Programas Evolutivos y Algoritmos Genéticos Desde el punto de vista práctico, se tratarán a los PEs como una variación de los AGs, compartiendo exactamente su estructura básica, con las siguientes distinciones [14]: a. La representación es más natural. Por lo cual, está más cercana al dominio del problema. b. Los operadores genéticos son específicos al contexto del problema. 1.9. ESTRATEGIAS EVOLUTIVAS (EEs) Las Estrategias Evolutivas, desarrolladas en 1964 por Rechenberg, surgieron inicialmente para resolver problemas de optimización paramétrica; con el paso del tiempo fueron incorporando procedimientos propios de la computación evolutiva, con lo que han llegado a convertirse en una disciplina más. Su principal característica es que utilizan una representación de vectores reales, una selección determinística y operadores genéticos específicos de cruce y mutación. [8, 14,25]. Las EEs pueden dividirse en dos tipos: Estrategias Evolutivas Simples y Estrategias Evolutivas Múltiples. 1.9.1. EEs Simples En este caso, se hace evolucionar un solo individuo usando únicamente a la mutación como operador genético. Son relativamente sencillas, y se denominan también EEs de dos miembros. Debido a que evoluciona un solo individuo a la vez, no son consideradas estrictamente como métodos evolutivos [14]. 1.9.2. EEs Múltiples Surgen como respuesta a las debilidades de las EEs simples, las cuales tienden a converger hacia subóptimos. En las EEs múltiples existen múltiples individuos (población), y se producen en cada generación varios nuevos individuos, usando tanto mutación como cruce (también puede usarse cualquier otro operador [14]. 1.9.3. Estrategias Evolutivas y Algoritmos Genéticos Los puntos de inicio de los AGs y de las EEs son diferentes, puesto que parten de enfoques distintos. Se puede decir que las EEs son un tipo especial de AGs o viceversa. A continuación se presentan las diferencias más significativas entre ambos métodos [14]: a. Las EEs son más fuertes por lo que los AGs son mucho más generales b. El operador fundamental en las EEs es la mutación, mientras que en los AGs es el cruce. c. Los AGs realizan búsqueda global, mientras que en las EEs se presenta exactamente lo contrario. 1.10. Programación evolutiva (EP) La Programación Evolutiva originalmente fue concebida por Lawrence J. Fogel en 1960, es una estrategia de optimización estocástica similar a los Algoritmos Genéticos. El libro "Artificial Intelligence Through Simulated Evolution" publicado en 1966 por Fogel, Owens y Walsh es la publicación clave para las aplicaciones de la EP [14]. Una maquina de estados finitos es un transductor que puede ser estimulado por un alfabeto finito de símbolos de entrada que puede responder a un alfabeto finitos de símbolo de salida, y que posee algún numero finito de estados internos diferentes. La figura 1.4 muestra una maquina de estados finitos, donde os números representan los símbolos de entrada, las letras griegas símbolos de salida, y los caracteres en mayúscula representan los estados [4]. 0/ 0/ B 0/ 1/ 1/ C A 1/ Figura 1.4. Maquina de estados finitos de tres estados (A,B,C), dos Símbolos de entrada (0,1) y tres símbolos de salida En la programación evolutiva, un conjunto de maquinas de estado finitos (son los individuos) se expone a un ambiente; esto es, a una secuencia de símbolos observados en un momento dado. Para cada máquina de Estados Finitos, por cada símbolo de entrada que se le presenta se determina el símbolo de salida que da y se compara con el del ambiente (también puede compararse su próximo estado con el que corresponde en el ambiente). Así, la predicción de cada máquina de Estados Finitos es media respecto al ambiente, como una función error (error absoluto, error cuadrático, etc.). Después que se hace la última predicción, un error promedio para cada máquina es calculado para indicar la aptitud de ella. Las máquinas que presenten el mejor resultado (mínimo error) se retienen para ser padres en la próxima generación [4]. Funciones de optimización combinatoria y de valores reales en las cuales, la superficie de optimización es abrupta, presentando muchas soluciones óptimas locales, son bien tratadas a través de la EP [14]. Para la EP, existe una suposición muy importante que consiste en que la función de fitness puede caracterizarse en término de las variables, y además existe una solución óptima (o múltiples óptimos) en función de dichas variables [14]. El método de EP básico involucra tres pasos (repetidos hasta que se excede el umbral de iteraciones o hasta que se encuentre una solución adecuada) [14]: 1. Selección de forma aleatoria de una población inicial de posibles soluciones. 2. Cada solución se replica en una nueva población. 3. A cada solución hija se le calcula y asigna un valor de adaptación. Debe resaltarse que la EP típicamente no utiliza el cruzamiento como operador genético. 1.10.1. Algoritmo General 1. Definir la secuencia de símbolos y función objetivo como una matriz de pago. 2. Inicializar la población de Máquinas de Estado Finito (MEF). 3. Introducir símbolo de entrada a la población de MEF y observar su salida. 4. Evaluar comparando su salida con la próxima entrada para ver si predijo bien. 5. Crear nuevos hijos usando mutación 5.1. Cambiar símbolos 5.2 Cambiar estado de transición 5.3 Añadir o eliminar estado 5.4 Cambiar estado inicial 6. Seleccionar los mejores padres 1.10.2. Programación Evolutiva y Algoritmos Genéticos Existen dos aspectos importantes en los cuales la EP difiere de los AG. Primero, no existe restricción en la representación. En la EP, la representación depende del problema [14]. Segundo, la operación mutación simplemente cambia aspectos de la solución de acuerdo a una distribución estadística, la cual reconoce que menores variaciones en el comportamiento de los descendientes son altamente probables, y que variaciones sustanciales son altamente improbables [14]. 1.10.3. Programación Evolutiva y las Estrategias Evolutivas A pesar de haber sido desarrolladas de forma independiente a lo largo de 30 años, estas dos técnicas presentan bastantes similitudes. Ambas técnicas típicamente operan sobre los valores reales. Se aplican mutaciones gaussianas multivariadas de media cero a cada padre de una población [14]. Las principales diferencias entre EEs y EP son [14]: 1. Selección: la EP típicamente utiliza una selección estocástica a través de un torneo. En contraste, las EEs utiliza una abstracción de la evolución a nivel del comportamiento del individuo. 2. Recombinación: La EP es una abstracción de la evolución al nivel de poblaciones reproductivas (es decir, especies), por ende no se usan mecanismos de recombinación debido a que esta no ocurre entre especies. En contraste, las EEs es una abstracción de la evolución a nivel del comportamiento individual. 1.11. PROGRAMACIÓN GENÉTICA (PG) La PG es un método independiente del dominio que generalmente reproduce poblaciones de programas de computación, con el fin de resolver problemas. La PG es una extensión de los AGs, en la cual la población genética está contenida por programas de computación [14]. La PG combina la expresiva representación simbólica de alto nivel usada en los programas de computación, con la eficiencia de la búsqueda alrededor del óptimo que realizan los AGs. Un programa de computación que resuelve (o aproximadamente resuelve) un problema dado, frecuentemente emerge de este proceso. Esto significa, que no se está en la búsqueda de soluciones a los problemas planteados, sino en encontrar el mejor procedimiento para resolverlos. [14]. Los elementos básicos de la PG fueron introducidos por Koza a partir de 1987 en diferentes trabajos de investigación realizados por él y un grupo de colaboradores. La primera corrida usando PG se hizo en ese mismo año y sus bases teóricas fueron descritas en detalle en 1988 [14]. La PG establece los siguientes aspectos que son muy importantes [14]: Una amplia variedad de problemas aparentemente diferentes provenientes de distintos campos pueden ser combinados, con el fin de descubrir un programa de computación que produzca algunas salidas deseadas cuando se presentan ciertos valores particulares en las entradas. La PG provee una forma de hacer programación inductiva. La PG determina automáticamente el tamaño del programa (es decir, el número total de pasos) y de la misma manera determina la secuencia exacta de funciones primitivas y terminales que son ejecutadas por el programa. Específicamente, la PG demuestra que es posible [14]: Crear de forma automática programas que poseen una única rama principal, Crear de forma automática programas con múltiples ramas, Crear de forma automática programas cuyas ramas se construyen de acuerdo a la estructura sintáctica restrictiva, Crear de forma automática programas formados de un programa principal y una o más subrutinas que pueden referenciarse jerárquicamente unos con otros. En la PG, la representación de los individuos se hace a través de unas estructuras de datos jerárquicamente enlazadas que reciben el nombre de árboles de análisis como se muestra en la figura 2.6 [4]. Las funciones pueden ser operaciones aritméticas, funciones matemáticas, funciones lógicas, o funciones específicas del dominio [4]. En la práctica, tanto las funciones como los símbolos pueden implementarse de manera sencilla usando “expresiones-S” de LISP. Por ejemplo, la siguiente expresión [4]: (+ 1 2 (IF (> TIME 10) 3 4)) Contiene los átomos: 1, 2, 10, 3, 4, TIME; y las funciones:+, IF, >. El respectivo arrebol se observa en la figura 1.5. + I 2 1 F 3 > TIME 4 10 Figura 1.5. Ejemplo de un árbol de análisis 1.11.1. Funcionamiento de los operadores genéticos Tomando como los árboles padres de la figura 1.6. Si se toma la raíz del árbol como punto de cruce, el hijo 1 contendrá las ramas izquierdas de los padres; mientras que el hijo 2 las derechas como se observa en la figura 1.7. (a): (+ (+ 0.234 Z) (- X 0.789) (b): (*(* Z Y) (+Y 0.314 Z))) + * + 0.23 - Z X (a) + * 0.78 Z Y Y * (b) 0.31 4 Figura 1.6. Árboles padres para el operador de cruce Z + * Z + - * 0.23 Y - Y Z 0.78 X * (a) (b) Z 0.31 Figura 1.7. Árboles hijos obtenidos por el cruce (a): (*(* Z Y) (+ 0.234 Z)) (b): (+ (+ Y (* 0.314 Z)) (- X 0.789)) 1.11.2.1. Mutación en PG El operador de mutación tiene una implementación mas intuitiva, ya que permite cambiar símbolos terminales por funciones (crear nuevas ramas), o modificar funciones (cambiar ramas ya existentes, ya sea por otras ramas o por símbolos terminales). En el árbol de la figura 1.8 se le cambia el símbolo Terminal 1 por una nueva rama [4]. + 1 I 2 + F 3 > 4 TIME 4 10 Figura 1.8. Árbol obtenido por mutación de un árbol padre Los problemas resueltos en la PG involucran regresión simbólica (sistemas de identificación, descubrimiento empírico, modelado, minería de datos (data mining), proyecciones), clasificación, control, optimización, resolución de ecuaciones, juegos, inducción, problemas que exhiben comportamiento emergente, problemas que involucran coevolución, programación de autómatas celulares, construcción aleatoria, compresión de imágenes, integración simbólica y diferenciación, problemas inversos, árboles de decisión de inducción y muchas otras. Los problemas en PG incluyen muchos problemas actuales presentes en área como inteligencia artificial, redes neuronales y máquinas de aprendizaje [14]. Con todo esto se puede concluir que esta técnica posee un atributo muy importante como la aplicabilidad, ya que produce soluciones satisfactorias a una amplia variedad de problemas provenientes de diferentes campos [14]. 1.11.3. Algoritmo General Los pasos de este algoritmo consisten en crear una población inicial y entonces de forma iterativa ejecutar el ciclo generacional principal. La adaptación (fitness) de cada individuo en la población se determina y las operaciones genéticas se llevan a cabo en dicho ciclo principal. A diferencia de los otros métodos de CE en este se debe escoger una operación de alteración de arquitectura del repertorio de este tipo de funciones disponibles y crear un nuevo programa hijo para la nueva población. En este método, los cambios aleatorios pueden generarse cambiado el operador o alterando el valor de un cierto nodo del árbol, o sustituyendo un subárbol por otro [25]. 1.12. Ambientes de Programación En la actualidad existe un gran número de ambientes de programación disponibles en el mercado para experimentar con los algoritmos, pueden distinguirse 3 clases de ambientes de programación [26]: 1) Sistemas Orientados a las aplicaciones: Son esencialmente "cajas negras" para el usuario, pues ocultan todos los detalles de implementación. Ejemplos de este tipo de sistemas son: Evolver (Axcelis, Inc.) y XpertRule GenAsys (Attar Software). 2) Sistemas Orientados a los algoritmos: Soportan algoritmos genéticos específicos, y suelen subdividirse en: · Sistemas de uso específico · Bibliotecas En estos sistemas se proporciona el código fuente para que el usuario (normalmente un programador) pueda incluir el algoritmo genético en sus propias aplicaciones. 3) Cajas de Herramientas: Proporcionan muchas herramientas de programación, algoritmos y operadores genéticos que pueden aplicarse en una enorme gama de problemas. Normalmente se subdividen en: · Sistemas Educativos. · Sistemas de Propósito General. 1.13. Programas autoconfigurables Es interesante agrupar todos los aspectos y opciones en cuatro categorías, según la siguiente. • Tipo gen Los aspectos de tipo gen serán aquellos que, como los genes, son diferentes dentro de un mismo individuo. • Tipo individuo Los aspectos de tipo individuo son aquellos que se mantienen iguales en un mismo individuo, pero difieren de unos agentes a otros. • Tipo isla Los aspectos de tipo isla son aquellos que son iguales para un subconjunto de individuos; de más de uno, pero sin llegar al total. • Tipo población Los aspectos de tipo población son los que deben ser iguales para toda la población. 1.14. Robustez de los Métodos de Optimización y Búsqueda Tradicionales Existen en la literatura tres tipos principales de métodos de búsqueda a saber: basados en el cálculo, enumerativos y aleatorios [15]. Los métodos basados en el cálculo se subdividen a su vez en directos e indirectos. Los métodos indirectos realizan la búsqueda de extremos locales mediante la resolución de sistemas de ecuaciones no lineales resultantes de igualar a cero el gradiente de la función a optimizar. Por otro lado, los métodos directos buscan óptimos locales moviéndose sobre la función en dirección del gradiente local. Pero estos métodos basados en el cálculo tienen cierta carencia de robustez, debida principalmente a dos causas. En primer lugar la búsqueda se realiza localmente, es decir se busca mejorar dentro de un entorno del estado actual, lo que en muchos casos deriva en un óptimo local. En segundo lugar, es necesario que las funciones a optimizar sean derivables [15]. Los métodos enumerativos, como su propio nombre indica, realizan una búsqueda punto a punto. Es evidente que cuando el espacio de búsqueda es de un tamaño importante estos métodos carecen de eficiencia [15]. Finalmente, los algoritmos de búsqueda aleatorios poseen igualmente una falta de eficiencia. De todas formas no se debe confundir los métodos puramente aleatorios con aquellos que utilizan la aleatoriedad como una técnica en una búsqueda guiada mediante la explotación de buenas características de algún punto ya encontrado. De alguna manera, este tipo de técnica es utilizada por los algoritmos genéticos [15]. Capítulo 2 Controladores PID 2.1. Introducción Hoy en día, a pesar de la abundancia de sofisticadas herramientas y métodos avanzados de control, el controlador PID es aún el más ampliamente utilizado en la industria moderna, controlando más del 95% de los procesos industriales en lazo cerrado. Históricamente, ya las primeras estructuras de control usaban las ideas del control PID. Sin embargo, no fue hasta el trabajo de Minorsky de 1922, sobre conducción de barcos, que el control PID cobró verdadera importancia teórica. Los controladores automáticos comparan el valor real de la salida de una planta con la entrada de referencia (el valor deseado), determina la desviación y produce una señal de control que reducirá la desviación a cero o a un valor pequeño. La manera en la cual el controlador produce una señal de control se denomina acción de control. 2.2. ACCIONES BASICAS DE CONTROL Para analizar las acciones básicas de control que utilizan los controladores analógicos industriales primero se hará una clasificación de los controladores analógicos industriales [32]. 2.2.1. Clasificación de los controladores industriales: los controladores industriales se clasifican, de acuerdo con sus acciones de control como [32]: 1. de dos posiciones o encendido y apagado (on/off) 2. proporcionales 3. integrales 4. proporcionales- integrales 5. proporcionales- derivativos 6. proporcionales- integrales-derivativos Casi todos los controladores industriales emplean como fuente de energía la electricidad o fluido despresurizado, tal como el aceite o el aire. Los controladores también pueden clasificarse, de acuerdo con el tipo de energía que utilizan en su operación, como neumáticos, hidráulicos o electrónicos. El tipo de controlador que se use debe decidirse con base en la naturaleza de la planta y las condiciones operacionales, incluyendo consideraciones tales como seguridad, costo, disponibilidad, precisión, peso y tamaño [32]. 2.2.2. Controlador automático, actuador y sensor (elemento de medición): el diagrama en bloques de la figura 2.1 es un sistema de control industrial que consiste en un controlador automático, un actuador, una planta y sensor (elemento de medición). El controlador detecta la señal de error y la amplifica a un nivel lo suficientemente alto. La salida de un controlador automático se alimenta a un actuador, tal como un motor o una válvula neumática, un motor hidráulico, o un motor eléctrico. El actuador es un dispositivo de potencia que produce la entrada para la planta de acuerdo con la señal de control, a fin de que la señal de salida se aproxime a la señal de entrada de referencia. El sensor, o elemento de medición, es un dispositivo que convierte la variable de salida en otra variable manejable, tal como un desplazamiento, una presión, o un voltaje que pueda usarse para comparar la salida con la señal de entrada de referencia [32]. Controlador automático Detector de errores Entrada De referencia Salida + amplificador - Punto De ajuste Actuador Planta Señal De error Sensor Figura 2.1. Diagrama en bloques de un sistema de control industrial, formado por un controlador automático, un actuador, una planta y un sensor. (Elemento de medición) 2.2.3. Controladores auto-operados: en la mayor parte de los controladores automáticos industriales, se usan unidades separadas para el elemento de medición y el actuador. Sin embargo, en algunos muy sencillos, como los controladores auto-operados, estos elementos se integran en una unidad. Los controladores auto-operados utilizan la potencia desarrollada por el elemento de medición, son muy sencillos y poco costosos [32]. 2.2.4. Acción de control de dos posiciones o encendido y apagado (on/off): en un sistema de control de dos posiciones, el elemento de actuación sólo tiene dos posiciones fijas que, en muchos casos, son simplemente encendido y apagado. El control de dos posiciones o de encendido y apagado es relativamente simple y barato, razón por la cual su uso se ha extendido en sistemas de control tanto industriales como domestico [32]. Si se supone que la señal de salida del controlador es u(t) y que la señal se error es e(t). En el control de dos posiciones, la señal u(t) permanece en un valor ya sea máximo o mínimo, dependiendo de si la señal de error es positiva o negativa. De este modo, u(t)= U1 para e(t)>0 (2-1) u(t)= U2 para e(t)<0 (2-2) En donde U1 y U2 son constantes. Por lo general, el valor mínimo de U2 es cero o –U1. Las figuras 2.2(a) y 2.2(b) muestran los diagramas de bloques para dos controladores de dos posiciones. El rango en que debe moverse la señal de error antes de que ocurra la conmutación se denomina brecha diferencial. En la figura 2.2(b) puede observar una brecha diferencial. Tal brecha provoca que la salida del controlador u(t) conserve su valor presente hasta que la señal de error se halla desplazado ligeramente mas allá de cero. En algunos casos, la brecha diferencial es el resultado de una fricción no intencionada y de un movimiento perdido; sin embargo, con frecuencia se provoca de manera intencional para evitar una operación demasiado frecuente del mecanismo de encendido y apagado [32]. e + u U1 U2 - Figura 2.2(a). Diagrama de bloques de un controlador de encendido y apagado Brecha e + - u U1 U2 Figura 2.2 (b). Diagrama de bloques de un controlador de Encendido y apagado con una brecha diferencial 2.2.5. Acción de control proporcional: El control proporcional se conoce como control continuo, ya que proporciona una respuesta instantánea del controlador a los cambios que existan en el error. Para un controlador con acción proporcional, la relación entre la salida del controlador u(t) y la señal de error e(t) es : U(t)= Kpe(t) (2-3) O bien, en cantidades transformadas por el método de laplace U ( s) = Kp E ( s) (2-4) En donde Kp se considera la ganancia proporcional. El Controlador proporcional es, en esencia, un amplificador con una ganancia ajustable. El la figura 2.3 se presenta un diagrama en bloques de este controlador. E(s) + )) U(s) )) Kp - Figura 2.3. Diagrama en bloques de un controlador Proporcional. 2.2.6. Acción de control integral: en un controlador con acción de control integral, el valor de las salida del controlador u(t) se cambia a una razón proporcional a la señal de error e(t): du (t ) = K i e(t ) dt (2-5) O bien t u (t ) = k i ∫ e(t )dt (2-6) 0 En donde Ki es una constante ajustable. La función de transferencia del controlador integral es: U ( s ) ki = E (s) s (2-7) Si se duplica el valor de e(t), el valor de u(t) varia dos veces mas rápido. Para un error de cero, el valor de u(t) permanece estacionario. En ocasiones, la acción de control integral se denomina control de reajuste (reset). En la figura 2.4 se muestra un diagrama en bloques de este controlador [32]. E(s) )) + - Ki s U(s) ) Figura 2.4. Diagrama en bloques de un controlador integral La función principal de la acción integral es asegurar que la salida de los procesos acceda con el punto de trabajo en estado estable. El propósito de la acción integral de control es eliminar el error en estado estacionario u “Offset”. Lo hace por medio de la integración o acumulación del error en el tiempo [32]. 2.2.7. Acción de control proporcional- integral: la acción de un controlador proporcional- integral (PI) se define mediante u (t ) = k p e(t ) + kp Ti t ∫ e(t )dt (2-8) 0 O la función de transferencia del controlador es U ( s) 1 = k p 1 + E ( s) Ti s (2-9) En donde Kp es la ganancia proporcional y Ti se denomina tiempo integral. Tanto como Kp como Ti son ajustables. El tiempo integral ajusta la acción integral, mientras que un cambio en el valor de Kp afecta las partes integral y proporcional de la acción de control. El inverso del tiempo integral Ti se denomina velocidad de reajuste. La velocidad de reajuste es la cantidad de veces por minuto que se duplica la parte proporcional de la acción de control. La velocidad de reajuste se mide en términos de las repeticiones por minuto. La figura 2.5 muestra un diagrama en bloques de un controlador proporcional más integral [32]. E(s) )) + K p (1 + Ti s ) U(s) ) Ti s - Figura 2.5. Diagrama en bloques de un controlador proporcionalIntegral Si la señal de error e(t) es una función escalón unitario, como se aprecia en la figura 2.6 , la salida del controlador u(t) se convierte en lo que se muestra en la figura 2.7. Escalón E(t) )))) 1 0 t Figura 2.6. Entrada escalón unitario Acción de Control PD u(t) ) (Solo proporcional) K 0 t Figura 2.7. Salida del controlador a un escalón unitario Muchos controladores industriales tienen solo acción PI. Se puede demostrar que un control PI es adecuado para todos los procesos donde la dinámica es esencialmente de primer orden [32]. 2.2.8. Acción de control proporcional – derivativa: la acción de un controlador proporcional- derivativa (PD) se define mediante u (t ) = k p e(t ) + k p Td de(t ) dt (2-10) Y la función de transferencia es U ( s) = k p (1 + Td s ) E (s) (2-11) Donde kp es la ganancia proporcional y Td es una constante denominada tiempo derivativo. Tanto como Kp como Td son ajustables. La acción de control derivativa, es en ocasiones denominada control de velocidad, ocurre donde la magnitud de la salida del controlador es proporcional a la velocidad de cambio de la señal de error. El tiempo derivativo Td es el intervalo de tiempo durante el cual la acción de la velocidad hace avanzar el efecto de la acción de control proporcional. La figura 2.8 muestra un diagrama de bloques de un controlador proporcional- derivativo. Si la señal de error e(t) es una función rampa unitaria como se aprecia en la figura 2.9, la salida del controlador u(t) se convierte en la que se muestra la figura 2.10 [32]. E(s) + U(s) K p (1 + Td s ) )) ))) - Figura 2.8. Diagrama en bloques de un controlador proporcionalDerivativo. Rampa E(t) ) 0 Figura 2.9. Entrada rampa unitaria t Acción de Control PD u(t) (Solo proporcional) 0 t Figura 2.10. Salida del controlador a una entrada rampa. La acción de control derivativa tiene un carácter de previsión. Sin embargo, es obvio que una acción de control derivativa nunca prevé una acción que nunca ha ocurrido [32]. Auque la acción de control derivativa tiene la ventaja de ser de previsión, tiene las desventajas de que amplifica las señales de ruido y puede provocar un efecto de saturación en el actuador. La acción de control derivativa no se usa nunca sola, debido a que solo es eficaz durante periodos transitorios. El propósito de la acción derivativa es mejorar la estabilidad a lazo cerrado [32]. Cuando una acción de control derivativa se agrega a un controlador proporcional, permite obtener un controlador de alta sensibilidad, es decir, que responde a la velocidad del cambio del error y produce una corrección significativa antes de que la magnitud del error se vuelva demasiado grande. Aunque el control derivativo no afecta en forma directa al error de estado estacionario, añade amortiguamiento al sistema y, por tanto, permite un valor mas grande que la ganancia K, lo cual provoca una mejora en la precisión en estado estable [32]. 2.2.9. Acción de control proporcional- integral- derivativa: es la combinación de la acción proporcional, integral y derivativa (PID). Esta acción combinada tiene las ventajas de cada una de las tres acciones de control individuales. La ecuación del controlador con esta acción combinada se obtiene mediante [32]: u (t ) = k p e(t ) + kp Ti t ∫ e(t )dt + k p Td 0 de(t ) dt (2-12) O la función de transferencia es U ( s) 1 = k p 1 + + Td s E ( s) Td s (2-13) En donde Kp es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo derivativo. El diagrama en bloques de un controlador proporcionalintegral- derivativo se muestra en la figura 2.11. E(s) )) + ( K p 1 + Ti s + TiTd s 2 ) U(s) )) Ti s - Figura 2.11. Diagrama de bloques de un controlador proporcional- integral Derivativo. La estructura de un controlador PID es simple, aunque su simpleza es también su debilidad, dado que limita el rango de plantas donde pueden controlar en forma satisfactoria (existe un grupo de plantas inestables que no pueden estabilizadas con ningún miembro de la familia PID. Con un control proporcional, es necesario que exista error para tener una acción de control distinta de cero. Con acción integral, un error pequeño positivo siempre dará una acción de control creciente, y si fuera negativo la señal de control será decreciente. Este razonamiento sencillo muestra que el error en régimen permanente será siempre cero. Los controladores tienen varias funciones importantes: ellos proveen realimentación, ellos tiene la habilidad para eliminar el estado estable de compensación por la acción integral, ellos pueden anticipar el futuro a través de la acción derivativa y ellos pueden contrastar con un actuador de saturación. Los controladores PID son también suficientes para muchos problemas de control, particularmente donde hay dinámicas de procesos favorables y modestos requerimientos de desempeño. El controlador PID es el algoritmo de control más común. Este es implementado de muchas formas diferentes. El algoritmo PID puede ser aproximado de muchos ángulos diferentes. Este también puede ser considerado como un dispositivo que puede operar con pocas reglas de manejo, pero este también puede aproximarse analíticamente. 2.3. Efectos de las acciones de control integral y derivativo sobre el desempeño de un sistema. 2.3.1. Acción de control integral: en el control proporcional de una planta, cuya función de transferencia no posee un integrador 1/s, hay un error en estado estable, o desplazamiento (offset), en la respuesta para una entrada escalón. Tal offset se elimina si se incluye la acción de control integral en el controlador [32]. En el control integral de una planta, la señal de control, que es la señal de salida a partir del controlador, es, en todo momento el área bajo la curva de la señal de error hasta tal momento. La señal de control u(t) tiene un valor diferente de cero cuando la señal de error e(t) es cero, como se aprecia en la figura 2.12. Esto es posible en el caso del controlador proporcional, dado que una señal de control diferente de cero requiere de una señal de error diferente de cero. (Una señal de error diferente de cero en estado estable significa que hay una equivalencia). La figura 2.13 muestra la curva e(t) contra t y la curva u(t) correspondiente contra t cuando el controlador es de tipo proporcional [32]. E(t) )) u(t) 0 0 t t Figura 2.12. Graficas de las curvas e(t) y u(t) que muestran una señal de control Diferente de cero cuando la señal de error es cero (control integral) E(t) U(t) 0 t 0 t Figura 2.13. Graficas de las curvas e(t) y u(t) que muestran una señal de control De cero cuando la señal de error es cero (control proporcional). La acción de control integral, aunque elimina el offset o el error en estado estable, puede conducir a una respuesta oscilatoria de amplitud decreciente lenta o incluso, de amplitud creciente, y ambos casos, por lo general, se consideran inconvenientes [32]. 2.3.2. Acción de control derivativa: cuando una acción de control derivativa se agrega a un controlador proporcional, aporta un medio de obtener un controlador con alta sensibilidad. Una ventaja de usar una acción de control derivativa es que responde a la velocidad del cambio del error y produce una corrección significativa antes de que la magnitud del error se vuelva demasiado grande. El control derivativo prevé el error, inicia una acción correctiva oportuna y tiende a aumentar la estabilidad del sistema [32]. Aunque el control derivativo no afecta en forma directa el error en estado estable, añade amortiguamiento al sistema y, por tanto, permite el uso de un valor más grande que la ganancia, lo cual provoca una mejora en la precisión de estado estable [32]. Debido a que el control derivativo opera sobre la velocidad de cambio de error, y no sobre el mismo, este modo nunca se usa solo. Siempre se emplea junta con una acción de control proporcional o proporcional- integral. 2.4. Sintonización de controladores PID Debido a que casi todos los controladores PID se ajustan en el sitio, en la literatura se han propuesto muchos tipos diferentes de sintonización delicada y fina de los controladores PID en el sitio. Asimismo, se han desarrollado métodos automáticos de sintonización y algunos de los controladores PID poseen capacidad de sintonización en línea. 2.4.1. Control PID de plantas: la figura 2.14 muestra el control PID de una planta. Si se puede obtener un modelo matemático de la planta, es posible aplicar diversas técnicas de diseño con el fin de determinar los parámetros del controlador que cumpla las especificaciones en estado transitorio y en estado estable del sistema en lazo cerrado. Sin embargo, si la planta es tan complicada que no es fácil obtener su modelo matemático, tampoco es posible un enfoque analítico para el diseño de un controlador PID. En este caso se debe recurrir a los enfoques experimentales para la sintonización de los controladores PID [32]. + - 1 k p 1 + + Td s Ti s Planta Figura 2.14. Control PID de una planta. El proceso de seleccionar los parámetros del controlador que cumplan con las especificaciones de desempeño se conoce como sintonización del controlador. Ziegler y Nichols sugirieron mas reglas para sintonizar los controladores PID. (Lo cual significa establecer valores Kp, Ti Y Td) con base en las respuestas escalón experimentales o basadas en el valor de Kp que se produce en la estabilidad marginal cuando solo se usa la acción de control proporcional [32]. 2.4.2. Reglas de Ziegler – Nichols para sintonizar controladores PID: Ziegler y Nichols propusieron unas reglas para determinar los valores de la ganancia proporcional Kp, del tiempo integral y Ti del tiempo derivativo Td, con base en las características de respuesta transitoria de una planta específica. Tal determinación de los parámetros de los controladores PID o de la sintonización de los controladores PID la realizan los ingenieros en el sitio mediante experimentos sobre la planta [32]. Existen dos métodos denominados reglas de sintonización de Ziegler- Nichols. En ambos se pretende obtener un 25% de sobrepaso máximo en la respuesta escalón. 2.4.2.1. Primer método. Método basado en la curva de reacción: en el primer método, la respuesta de la planta a una entrada escalón unitario se obtiene de manera experimental, como se observa en la figura 2.15. Si la planta no contiene integradores ni polos dominantes complejos conjugados, la curva de respuesta escalón unitario puede tener forma de S, como se observa en la figura 2.16. (Si la respuesta no exhibe una curva con forma de S, este método no es pertinente). Tales curvas de respuesta escalón se generan experimentalmente o a partir de una simulación dinámica de la planta [32, 33]. 1 planta aA u(t) e(t) Figura 2.15. Respuesta escalón unitario de una planta. C(t) K Línea tangente el Punto de inflexión 0 t L T Figura 2.16. Curva de respuesta con forma de S La curva con forma de S se caracteriza por dos parámetros: el tiempo de retardo L y la constante de tiempo T. el tiempo de retardo y la constante de tiempo se determinan dibujando una recta tangente en el punto de inflexión de la curva con forma de S y determinando las intersecciones de esta tangente con el eje del tiempo y la línea c(t)= K, como se aprecia en la figura 2.16. Ziegler y Nichols sugirieron establecer los valores de Kp, Ti y Td de acuerdo con la formula que aparece en la tabla 1. Tipo de controlador Kp Ti Td P 0 T L PI PID 0.9 T L L 0.3 0 1. 2 T L 2L 0.5 L Tabla 1. Regla de sintonización Ziegler- Nichols basada en la respuesta escalón de la planta (primer método) 2.4.2.2. Segundo método. Método de oscilación: en el segundo método, primero se establece Ti = y Td = 0. Usando solo acción de control proporcional como se muestra en la figura 2.17, se incrementa Kp de cero a un valor crítico Kcr en donde la salida exhiba primero oscilaciones sostenidas. Si la salida no presenta oscilaciones sostenidas para cualquier valor que pueda tomar Kp, no se aplica este método. Por tanto, la ganancia crítica Kcr y el periodo Pcr correspondiente se determinan experimentalmente como se observa en la figura 2.18. Ziegler y Nichols sugirieron que se establecieran los valores de los parámetros Kp, Ti y Td de acuerdo con la formula que aparece en la tabla 2. R(t) U(t) K +- Planta C(t) Figura 2.17. Sistema en lazo cerrado con controlador Proporcional. c(t) Pc 0 t Figura 2.18. Oscilación sostenida con un Periodo Pcr Tipo de Kp Ti Td controlador 0 P 0.5 K cr PI 0.45 K cr 1 Pcr 1. 2 0 PIDS 0.6 K cr 0.5 Pcr 0.125 Pcr Tabla 2. Regla de sintonización Ziegler- Nichols basada en la ganancia critica Kcr y en el periodo critico Pcr (segundo método) Sin embargo, si la planta tiene un integrador, en algunos casos estas reglas no son pertinentes. 2.4.3. Método de asignación de polos La asignación de polos es un método de diseño de controladores cuando se quiere que el desempeño del sistema a lazo cerrado cumpla con determinadas especificaciones de diseño [31]. Considere el lazo nominal de la Figura 2.19 con las siguientes funciones transferencias: c( s ) = p( s ) L( s ) G0 (s) = B0 ( s) A0 ( s) (2-14) U(s) ) R(s) ) PID Y(s) G(s) Figura 2.19. Diagrama en bloques estructura de controlador PID Con P(s), L(s), B0(s) y A0(s) polinomios de grados np, nl , n - 1 y n respectivamente (se asume que el modelo nominal de la planta es estrictamente propio).Considere que el polinomio a lazo cerrado deseado está dado por Alc [31]. Ejemplo: Sea el modelo nominal de una planta dada y un controlador de la forma: G0 (s ) = 1 s + 3s + 2 c( s ) = (2-15) 2 P( s) L(s ) Se puede ver que Alc = A0(s)L(s) + B0(s)P(s) = (s2 + 3s + 2)(l1s + l0) + (p1s + p0). Si se igualan los coeficientes se obtiene el siguiente sistema de ecuaciones: 1 3 2 0 0 1 3 2 0 0 2 0 0 0 0 1 l0 1 l 3 1 = p0 3 p1 1 (2-16) Se puede verificar que la matriz anterior es no-singular, por lo que el sistema tendrá solución única: l1 = 1, l0 = 0, p1 = 1 y p0 = 1. Así el polinomio característico es alcanzado para un controlador dado por la siguiente función transferencia [31]: C (s) = s +1 s (2-17) En el ejemplo anterior se vio como la asignación de polos a lazo cerrado depende de la no-singularidad de una matriz particular. Como la idea es generalizar el resultado anterior, primero se necesitan algunos resultados matemáticos [31]. 2.4.3.1. Teorema 1 (Teorema de Sylvester). Considere los polinomios A(s) = ansn+ = an-1sn-1 + . . . + = a1s + a0, (2-18) B(s) = bnsn + bn-1sn-1 + . . . + = b1s + b0, (2-19) Junto con la matriz (2-20) Se dice que A(s) y B(s) son coprimos, es decir que no tienen factores en común o raíces, si y solo si det(Me) 0 [31]. Con este resultado se puede ahora generalizar lo visto en el Ejemplo, para mostrar que la asignación de polos es generalmente posible, cuando se cumplen algunos requerimientos mínimos [31]. 2.4.3.2. Lema 1 (Asignación de Polos SISO). Considere un lazo de realimentación de un grado de libertad con un controlador C(s) y un modelo nominal G0(s) dado por (2-14). Suponiendo que A0(s) y B0(s) son coprimos y que sus grados son n y n -1, respectivamente. Sea Alc un polinomio arbitrario de grado nc = 2n -1. Entonces existen polinomios P(s) y L(s), con grados np = nl = n -1 tal que [31]: A0(s)L(s) + B0(s)P(s) = Alc(s) (2-21) Nota 1. El lema anterior establece bajo qué condiciones existe solución para el problema de asignación de polos, asumiendo un controlador bipropio, Cuando se requiere un controlador estrictamente propio, el grado de P(s) y L(s) debería ser np = n -1 y nl = n, respectivamente. De esta forma, para poder estar en condiciones de elegir un polinomio a lazo cerrado Alc(s) arbitrario, su grado debería ser igual a 2n [31]. Nota 2. No están permitidas las cancelaciones del estilo polo-cero inestables. Cualquier cancelación entre el controlador y la planta aparecerá como factor en A0(s) L(s) y también en B0(s) P(s). Para que la condición del lema 1 pueda ser satisfecha, el mismo factor deberá aparecer en Alc(s), pero el polinomio característico a lazo cerrado se debe elegir estable, por lo que ese factor común deberá ser estable. Sólo de esta forma, el lazo cerrado nominal es garantía de ser internamente estable, es decir, las cuatro funciones de sensibilidad serán estables [31]. Considerando un lazo de control de un grado de libertad con controladores PI de la siguiente forma [31]: C PI ( s ) = k p + ki s (2-22) Y la forma del controlador PID C PID ( s) = k p + ki k s + d s τ Ds + 1 (2-23) Para referencias futuras se nota la siguiente representación alternativa de un controlador PID: 2.4.3.3. Lema 2. Cualquier controlador de la forma: es idéntico al controlador PID de (3-23) con los siguientes valores de los parámetros [31]: n2 s 2 + n1s + n0 C (s ) = d 2 s 2 + d1s (2-24) kp = n1d1 + n0d 2 d12 (2-25) ki = n0 d1 (2-26) n2d12 − n1d1d 2 + n0 d 22 kd = d13 τD = d2 d1 (2-27) (2-28) Demostración. Desarrollando en fracciones simples (2-23) y comparándola con (2-24) se obtienen dichos coeficientes. Si se asume que la planta puede ser (por lo menos, aproximadamente) modelada por un modelo de segundo orden, entonces se puede utilizar asignación de polos para sintonizar un controlador PID [31]. 2.5. Modificaciones de los esquemas de control PID Considerando el sistema de control PID básico de la figura 2.20, en el cual el sistema esta sujeto a perturbaciones y ruido. La figura 2.21 es un diagrama de bloques modificado del mismo sistema. En un sistema de control PID básico, como el de la figura 2.21, si la entrada de referencia es una función escalón, debido a la presencia del término derivativo en la acción de control, la variable manipulada u(t) contendrá una función impulso. En un controlador PID real, en lugar del término derivativo puro Tds se emplea Td 1 + γTd s donde el valor de (2-29) está en algún punto alrededor de 0.1. Por tanto, cuando la entrada de referencia es una función escalón, la variable manipulada u(t) no contendrá una función impulso, sino que implicará una función de pulso aguda. Tal fenómeno se denomina reacción del punto de ajuste. Perturbación D(s) Salida (s) Entrada de Referencia R(s) + - Controlador PID + + Planta Gp(s) Ruido N(s) Señal observada B(s) + + Figura 2.20. Sistema de un controlador PID D(s) 1 R(s) E(s) + - + 1 Ti s + + Kp + U(s) + Y(s) Gp(s) B(s) Td + + Figura23.21. Diagrama en bloques equivalente. 2.5.1. Control PI-D para evitar el fenómeno de reacción del punto de ajuste, se pretende operar la acción derivativa solo en la trayectoria de realimentación, a fin de que la diferenciación ocurra únicamente la señal de realimentación y no en la señal de referencia. El esquema de control ordenado de esta forma se denomina PI-D. La figura 2.22 muestra un sistema con un control PI-D. D(s) 1 R(s) E(s) + - 1 Ti s + + - Kp U(s) + + Y(s) Gp(s) B(s) Td B(s) + N(s) + Figura 2.22. Sistema de un controlador PI-D. 2.5.2. Control I-PD: se considera nuevamente el caso en que la entrada de referencia es una función escalón. Tanto el control PID como el control PI-D implican una función escalón en la señal manipulada. En muchas ocasiones, tal cambio escalón en la señal manipulada no es conveniente. Por tanto, puede convenir mover la acción proporcional y la acción derivativa a la trayectoria de realimentación a fin de que estas acciones solo afecten la señal de realimentación. La figura 2.23 muestra el esquema de control, que se denomina control I-PD. D(s) R(s) + U(s) 1 Ti s - + Kp - + + Y(s) Gp(s) B(s) 1 Tds B(s) + N(s) + Figura 2.23. Sistema con un controlador I-PD. 2.6. Integral windup Ocurre cuando un regulador con acción integral es conectado a un proceso con un actuador de saturación. Aunque muchos aspectos de un sistema de control pueden ser comprendidos basados en la teoría lineal, se deben considerar algunos efectos no lineales. Todos los actuadores tienen limitaciones: un motor tiene limitación de velocidad, una válvula no puede estar mas que completamente abierta o completamente cerrada, etc. Cuando un sistema de control opera por encima del rango de las condiciones de operación, esto puede ocurrir que la variable de control alcance los límites del actuador. Cuando esto sucede el lazo de realimentación es efectivamente abierto porque el actuador quedará como esta limitación independientemente de la salida del proceso. Si es usada la acción integral, el error continuará para ser integrado. Esto significa que el término integral puede volverse muy grande o, coloquialmente, (el error “winds up”, en idioma ingles). Entonces esto requiere que cambie la señal de error por un largo período antes de que se normalice. Las consecuencias es que cualquier controlador con acción integral puede dar una gran transición cuando se satura el actuador. El fenómeno windup es ilustrado en la figura 2.24. La cual muestra el control de un proceso con un controlador PI. La transición del punto inicial de trabajo es tan grande que el actuador se satura en el límite alto. El integrador aumenta inicialmente porque el error es positivo, y alcanza su valor más grande al timepo de t=10 cuando el error pasa por el cero. La salida queda saturada en este punto debido al grande valor de la integral, y esto no permite el límite de saturación hasta que el error haya sido negativo para un largo tiempo para permitir que la parte integral descienda a un pequeño nivel. El efecto neto es un gran exceso, el cual es claramente notable en la figura 2.24. La integral windup puede ocurrir en conexión con un gran cambio del punto de trabajo o puede ser causado por grandes perturbaciones o malfuncionamiento de equipos. 1 0 0 4 0 4 0.1 0 -0.1 1 0. 0 0 Figura 2.24. Ilustración de integral windup. 4 Capítulo 3 Discretización de sistemas y linealización de sistemas no lineales 3.1. Linealización de sistemas no lineales El proceso de linealizar sistemas no lineales es importante, porque linealizar ecuaciones no lineales permite aplicar numerosos métodos de análisis lineal que proporcionen información acerca del comportamiento de los sistemas no lineales [32]. La mayoría de los componentes y actuadotes que se encuentran en sistemas físicos tienen características no lineales. En la práctica estas no linealidades pueden ser moderadas o pueden aparecer en ciertas regiones de operación. Al modelar estos dispositivos como sistemas lineales se pueden obtener resultados analíticos muy exactos sobre un intervalo amplio de condiciones de operación. Sin embargo, existe un sinnúmero de dispositivos físicos que poseen características fuertemente no lineales. Para estos dispositivos, un modelo no linealizado solo es valido en un intervalo de condiciones muy limitado, y a menudo sólo en el punto de operación en el que se realizó la linealización. Cuando un sistema no lineal es linealizado en un punto de operación, el modelo no lineal puede contener elementos variantes con el tiempo [33]. Como los sistemas no lineales son normalmente difíciles de analizar y diseñar, es deseable realizar una linealización cuando la situación lo justifique [33]. La capacidad de representar un sistema no lineal y/o variante con el tiempo mediante ecuaciones de estado es una ventaja que distingue al enfoque de variables de estado sobre el método de la función de transferencia, ya que este ultimo solo esta definido estrictamente para sistemas lineales invariantes con el tiempo. Como ejemplo, considere las siguientes ecuaciones no lineales [33]: dx1 (t ) = x1 (t ) + x22 (t ) dt (3-1) dx2 (t ) = x1 (t ) + r (t ) dt (3-2) Con la expansión en series de Taylor de las ecuaciones de estado no lineales alrededor de un punto o trayectoria de operación nominal se puede llegar a un proceso de linealización. Todos los términos de la serie de Taylor de orden superior a uno se descartan, y resulta la aproximación lineal de las ecuaciones de estado no lineales en el punto nominal [33]. Un sistema no lineal se representa mediante las ecuaciones de estado de forma matricial: dx(t ) = f [x (t ), r (t )] dt (3-3) Donde x(t ) representa el vector de estado de n × 1 , r (t ) es el vector de entrada de p × 1 y f [x(t ), r (t )] denota un vector función de n × 1 . En general, f es una función del vector de estado y del vector de entrada [33]. La trayectoria de operación nominal se denota pro x0(t), la cual corresponde a la entrada nominal r0(t) y algunos estados iniciales fijos. Al expandir la ecuación de estado no lineal de la ecuación 3-3 en una serie de Taylor alrededor de x(t) = x0(t) y descartando los términos de orden superior se obtiene [33]: ∂f i ( x, r ) ∂x j j =1 En donde i = 1,2,…, n ∂f i ( x, r ) ∂rj j =1 p n x&i (t ) = fi ( x0 , r0 ) + ∑ ( x j − x0 j ) + ∑ x 0 , r0 (rj − r0 j ) x 0 , r0 (3-4) Sea: ∆xi = xi − xoi (3-5) y ∆rj = r j − r0 j (3-6) Entonces ∆x&i = x&i − x&0i (3-7) Ya que x&0i = f i ( x0 , r0 ) (3-8) La ecuación (3-2) se escribe como: ∂f i ( x, r ) ∂x j j =1 ∂f i ( x, r ) ∂rj j =1 p n ∆x&i = ∑ ∆x& j + ∑ x 0 , r0 ∆r j (3-9) x 0 , r0 La ecuación (3-7) se pude escribir en la forma matricial: ∆x& = A * ∆x + B * ∆r (3-10) En donde: ∂f1 ∂x 1 ∂f 2 A* = ∂x 1 . ∂f n ∂x1 ∂f1 ∂x2 ∂f 2 ∂x2 . ∂f n ∂x2 ∂f1 ∂xn ∂f 2 ... ∂xn ... . ∂f n ... ∂xn ... (3-11) ∂f1 ∂r 1 ∂f 2 B* = ∂r 1 . ∂f n ∂r1 ∂f1 ∂r2 ∂f 2 ∂r2 . ∂f n ∂r2 ∂f1 ∂rn ∂f 2 ... ∂rn ... . ∂f n ... ∂rn ... (3-12) 3.2. Discretización de sistemas en tiempo continuo. En este capitulo se estudian algunos de los procedimientos para obtener sistemas en tiempo discreto que se comporten aproximadamente igual que un sistema en tiempo continuo. Esta operación suele denominarse discretización [34]. Existen tres técnicas fundamentales, cada una de ellas con distintos métodos o variantes. (I) transformaciones s = f (Z ) Consiste en sustituir en G (s) la variable s por una función racional en Z . Son sencillas y flexibles de aplicar, en casi cualquier situación. Pueden justificarse de distintas maneras [34]: a) como una aproximación a ala derivación b) como una aproximación a la integración c) como una aproximación racional de Z = eTs s I.1 puede verse como una derivación adelantada, no causal (forward rule) o como una integración rectangular retrasada i.2 puede verse como una derivación (back rule) o como una integración rectangular I.3 puede verse como una integración trapezoidal. Es la transformación bilineal con c = 2 / Ts . Se conoce también como la regla de Tustin. I.4 es la transformación bilineal con prewarping Propiedades y comentarios • todas conservan la ganancia estática, ya que f (1) = 0 • los polos y ceros en s se transforman mediante aproximaciones racionales de Z = eTs s . Si G (s) está en forma ceros-polos resulta cómodo transformarlos individualmente; pero debe ajustarse además una ganancia. • Estudiando la transformación de los polos se demuestra que todas, salvo I.1 conserva la estabilidad: si G (s) es estable, también lo será G (Z ) 3.2.1. Implementación digital de controladores analógicos Existen situaciones bajo las cuales el controlador analógico ya está diseñado, pero la disponibilidad y las ventajas del control digital sugieren que el controlador sea implementado por elementos digitales [33]. 3.2.1.1. Implementación digital del controlador PID El controlador digital en el dominio del tiempo continuo se describe como: Gc (s ) = K p + K D s + Ki s (3-13) El componente proporcional K p se implementa en forma digital mediante una ganancia constante K p . La constante K p no puede realizarse con resolución infinita [33]. La derivada con respecto al tiempo de una función f (t ) en t = kT se puede aproximar mediante la regla de la diferencia hacia atrás, empleando los valores de f (t ) medidos en t = kT y (k − 1)T ; esto es: df (t ) 1 = ( f (kT ) − f [(k − 1)T ]) dt t = kT T (3-14) Para encontrar la función de transferencia Z de la operación derivada descrita anteriormente, se toma la transformada Z en ambos lados de la ecuación 3-14. Se tiene: df (t ) 1 Z −1 = 1 − Z −1 F ( Z ) = Ζ F (Z ) TZ dt t = kT T ( ) (3-15) Por lo que la función de transferencia Z del diferenciador digital es: Gc ( z ) = K D Z −1 TZ (3-16) Donde K D es la constante proporcional de la derivada del controlador. Al sustituir Z por eTs en la ecuación 3-16, se puede mostrar que el periodo de muestreo T se aproxima a cero, GD (z ) se aproxima a K D s , que es la función de transferencia de la derivada del controlador analógico. La selección del periodo de muestreo es muy importante, el valor de T debe ser lo suficientemente pequeño, para la aproximación digital sea exacta [33]. Hay un número de reglas de integración numérica que pueden emplearse para aproximar de forma digital al controlador integral K I / s . Los tres métodos básicos de integración numérica del área de una función son: integración trapezoidal, integración rectangular hacia delante e integración rectangular hacia atrás [33]. 3.2.1.1.1. Integración trapezoidal La regla de integración trapezoidal aproxima el área bajo la función f (t ) mediante una serie de trapezoides, como se muestra en la figura 3.1. Sea el integral de f (t ) evaluado en t = kT designado como u (kT ) . Entonces: u (kT ) = u[(k − 1)T ] + T { f (kT ) + f [(k − 1)T ]} 2 (3-17) Figura 3.1. Regla de integración trapezoidal Donde el área bajo f (t ) para (k − 1)T ≤ t < kT se aproxima mediante el área del trapezoide en el intervalo. Tomando la transformada Z en ambos miembros de la ecuación 3-17, se tiene la función de transferencia del integrador digital como [33]: Gi ( z ) = K i U ( z ) K iT ( Z + 1) = f ( z) 2(Z − 1) (3-18) Donde K i es la constante proporcional. (K Gc( z ) = p + TK i / 2 + K D / T )Z 2 + (TK I / 2 − K p − 2 K D / T )Z + K D / T Z ( Z − 1) (3-19) 3.2.1.1.2. Integración rectangular hacia delante Para la integración rectángula hacia delante, se aproxima el área bajo f (t ) mediante rectángulos como se muestra en la figura 3.2. La integral de f (t ) en t = kT se aproxima por: u (kT ) = u[(k − 1)T ] + Tf (kT ) (3-20) Figura 3.2. Regla de integración rectangular hacia delante. Al tomar la transformada Z en ambos miembros de la ecuación 3-20, la función de transferencia del integrador digital empleando la regla rectangular hacia delante es [33]: Gi ( z ) = K i Gc( z ) = U ( z) K TZ = i f ( z ) (Z − 1) (3-21) (K P + K D / T + TK I )Z 2 − (K p + 2 K D / T )Z + K D / T Z ( Z − 1) (3-22) 3.2.1.1.3. Integración rectangular hacia atrás Para integración rectangular hacia atrás, la regla de aproximación digital se ilustra en la figura 3.3. La integral de f (t ) en t = kT se aproxima mediante [33]: u (kT ) = u[(k − 1)T ] + Tf [(k − 1)T ] (3-23) Figura 3.3. Regla de integración rectangular hacia atrás La función de transferencia z del integrador digital empleando la regla de integración rectangular hacia atrás es: Gi ( z ) = K i Gc( z ) = U ( z) K iT = f ( z ) (Z − 1) (K p (3-24) + K D / T )Z 2 + (TK I − K p − 2 K D / T )Z + K D / T (3-25) Z (Z − 1) Cuando K I = 0 , la función de transferencia del controlador PID digital es: Gc( z ) = (K p + K D / T )Z − K D / T Z (3-26) 3.2.2. Índices de desempeño Un sistema de control optimo, cuyo diseño optima (minimiza o maximiza), el valor de la función seleccionada como el índice de desempeño, que difiere del ideal pero es mas alcanzable en presencia de restricciones físicas [35]. Al diseñar un sistema de control optimo se necesita encontrar una regla para determinar la decisión de control presente, sujeta aciertas restricciones, para minimizar alguna medida de desviación de un comportamiento ideal. Dicha medida es provista, generalmente, por el índice de desempeño seleccionado que es una función cuyo valor se considera una indicación de qué tanto se parece el desempeño del sistema real al desempeño deseado. En la mayoría de los casos, el comportamiento del sistema se hace óptimo al escoger el vector de control U (K ) de tal forma que el índice de desempeño se minimice (o maximice, dependiendo de la naturaleza del índice de desempeño seleccionado). La selección de un índice de desempeño apropiado es importante porque, en alto grado, determina la naturaleza del sistema de control óptimo resultante. Esto es, que el sistema resultante sea lineal, no lineal, estacionario, o variante en el tiempo, dependerá de la forma del índice de desempeño. Los requisitos de diseño por lo regular no sólo incluyen especificaciones de desempeño, sino también, para asegurará que sea físicamente realizable, restringen la forma del control a utilizar [35]. El proceso de optimización no solo debe proveer leyes de control óptimo y configuraciones de los parámetros, sino también debe predecir la degradación en el desempeño debido a cualquier desvío del valor mínimo (o máximo) de la función del índice de desempeño que resulta cuando se aplican leyes de control no optimas [35]. El escoger el índice de desempeño mas apropiado para un problema dado es muy difícil, especialmente en sistemas complejos. El uso de la teoría de optimación en el diseño de sistemas ha sido problemático debido al conflicto entre factibilidad analítica y la utilidad práctica al seleccionar el índice de desempeño. Es preferible que el criterio para un control óptimo se origine desde un punto de vista práctico y no matemático. En general, sin embargo, la selección de un índice de desempeño implica un compromiso entre una evaluación útil del desempeño del sistema y un problema matemático [35]. 3.2.2.1. Formulación de los problemas de optimización El problema de optimización de un sistema de control se puede formular si se tiene la siguiente información [35]: 1. ecuaciones del sistema 2. clase de vectores de control permitidos 3. restricciones en el problema 4. índice de desempeño 5. parámetros del sistema La solución de un problema de control óptimo consiste en determinar el vector de control óptimo U (K ) dentro de la clase de vectores de control permitidos. Este vector U (K ) depende de [35]: 1. la naturaleza del índice de desempeño 2. la naturaleza de las restricciones 3. el estado inicial o salida inicial 4. el estado deseado o salida deseada Excepto en algunos casos, el problema de control óptimo puede ser muy complicado para obtener una solución analítica por lo que se tiene que obtener una solución por computador [35]. 3.2.2.2. Puntos concernientes a la existencia de las soluciones a los problemas de control óptimo. Se ha establecido que el problema de control óptimo, dada una condición inicial X (0) , consiste en encontrar un vector de control permitido U (K ) que transfiera al estado a la región deseada del espacio de estados y para el cual el índice de desempeño se minimiza [35]. Es importante señalar que a veces una combinación particular de planta, estado deseado, índice de desempeño y restricciones, hacen que un control óptimo sea imposible. Esto es cuestión de requerir un desempeño más allá de las capacidades físicas del sistema [35]. Las cuestiones que tienen que ver con la existencia de un vector de control óptimo son importantes, ya que sirven para informar al diseñador si un control óptimo es posible o no para un sistema determinado y dado un conjunto de restricciones. Dos de las ecuaciones más importantes son aquellas acerca de la controlabilidad y observabilidad. 3.2.2.3. Notas acerca de los sistemas de control óptimo. El sistema cuyo desempeño minimiza (o maximiza) el índice de desempeño seleccionado es, por definición, óptimo. Es evidente que le índice de desempeño, en realidad, determina la configuración del sistema. Es muy importante apuntar que un sistema de control que es óptimo bajo un índice de desempeño es, en general, no óptimo bajo otro índice de desempeño [35]. Además que la realización en hardware de una ley de control óptimo en particular puede ser algo difícil y costosa. Así, puede ser inútil demasiados recursos para implantar un controlador óptimo que es el mejor en solamente algún sentido individual limitado. A menudo, un sistema de control se diseña para realizar una sola tarea específica completamente de antemano. En vez de esto, se diseña para realizar una tarea seleccionada en forma aleatoria a partir de un repertorio de tareas posibles. Entonces, en los sistemas prácticos, puede ser mejor buscar una ley de control óptimo aproximada que no este atada rígidamente a un solo índice de desempeño [35]. Capítulo 4 Estado del arte de los algoritmos evolutivos y su uso para controladores PID 4.1. Aplicaciones de la programación genética. 1. Las Aplicaciones de la ciencia de los algoritmos en el descubrimiento de conocimiento son una promesa y área pertinente de investigación. Está ofreciendo nuevas posibilidades y beneficios en las aplicaciones del mundo real, ayudando a entender mecanismos buenos de nuestros propios métodos de adquisición de conocimiento. La programación genética como algoritmo de aprendizaje posee ciertas ventajas que lo hacen provechoso para prever y profundizar los datos financieros. Especialmente la serie de tiempo de soporte tiene un número grande de propiedades específicas que juntos hacen un albor de predicción excepcional. Una aplicación en especial es los resultados de usar la programación genética para prever el retorno de Mercado de Calcetín egipcio. Los resultados de los experimentos demuestran la capacidad de programación genética para predecir los resultados exactos, comparable a los algoritmos de aprendizaje de máquina tradicionales es decir, las redes neuronales. [30] El prever datos financieros es una de las actividades fundamentales en el uso de programación genética (GP) ya que esta área es muy poco explorada. Es un acercamiento prometedor debido a su efectividad investigando los espacios muy grandes y la habilidad de realizar la búsqueda global para el mejor modelo de la previsión. La programación genética puede aplicarse a prever la Bolsa de Valores egipcia (ESE) que es uno de los más viejos en el mundo y comprende de dos intercambios, respectivamente la Alejandría y El Cairo bolsa de valores. Se evalúa la conducta del ESE acción retorno usando el CASE30 índice diario que mide el retorno en la inversión del cambio en el valor de las acciones. El índice rastrea la actuación de las 30 acciones más activas y medidas el retorno en la inversión del cambio en el valor de las acciones. ESE provee la serie de retorno de tiempo que tiene un gran número de propiedades específicas que juntos hacen una tarea de predicción inusual. El proceso se comporta como un proceso inesperado y cambia el sistema en el sentido que el proceso fundamental es tiempo variable y volatilidad en el cambio de serie de tiempo como el proveer movimientos en el mercado. Estas razones causan los grandes problemas para los más tradicionales y populares algoritmos estadísticos para las predicciones de serie de tiempo como el ARCO y GARCH y los cuales requieren una serie de tiempo estacionaria con entradas normales e independientes del residuo. Los predictores de la programación genética como un método adaptable alternativo para prever el ESE proveen el retorno desde el funcionamiento una búsqueda en que los operadores genéticos pueden modificar muchas combinaciones diferentes de variables - usando las varias funciones diferentes disponibles en la serie de la función. Si las variables originales no tienen mucha fuerza predictiva por si mismas, el sistema puede crear eficientemente “la derivada de las variables” con gran potencia de predicción, por establecimiento de la serie de la función de las variables originales. Finalmente, ofrece una gama amplia de posibilidades de variaciones y modificaciones del algoritmo que puede llevar a mejorar la actuación global de la aplicación. La técnica de GP se usa para el descubrimiento automático y la evaluación de prever la actuación del modelo y su previsibilidad para el mercado accionario egipcio dada la enorme cantidad de ruido en mercados financieros representados. Sobre todo, los datos de retorno de mercado accionarios egipcios tienen un número grande de propiedades específicas que juntos hacen al modelo de la previsión generalizado inusual [30]. Koza presenta el primer estudio usando la GP para la predicción de los siguientes valores de la ecuación logística. Los resultados de esta predicción a corto plazo eran los posibleblemente buenos. Oakley y Mulloy et al., estudiaron el uso de la GP en la predicción de serie de tiempo caótica. Mahfoud y Mani presentaron un nuevo algoritmo genético basado en el sistema y la aplicación a la tarea de predecir la actuación futura de acciones individuales; Neely et al. Aplico el GP a intercambio exterior pronosticando y reportando algunos cambios. Li y Tsang presentaron un GP basado en un sistema que toma unas reglas técnicas muy conocidas y las adapta para proveer los problemas de la predicción. Rafat presento el uso de GP en la inducción de regla técnica de comercio para el mercado accionario egipcio [30]. 2. Los algoritmos evolutivos han tenido gran utilidad en diferentes áreas de la ciencia en proyectos como la clasificación del olor de la mezcla usando una red neuronal fuzzy y su optimización a través del algoritmo genético. Se usan las redes neuronal fuzzy ampliamente ya que estas se pueden adaptar directamente a la medida del error, este modelo neuronal crea un dilema del hecho de que ambas las redes largas y pequeñas tienen un número de desventajas. Si el tamaño de la red es demasiado pequeño, la rata del error tiende a aumentar debido a que la red no podría aproximarse lo suficiente a la relación funcional entre la entrada y el rendimiento designado. Mientras, si el tamaño es demasiado grande, la red no podría generalizar los datos de la entrada antes de que sean ilustrados. El óptimo desarrollo de una red neuronal fuzzy es entonces aplicado como el clasificador del modelo en el sistema de reconocimiento de olor artificial. La actuación de su habilidad del reconocimiento se explora y compara con la propagación inversa del sistema neuronal convencional y la neurona fuzzy imperfecta. Se muestra claramente que el promedio de la rata de reconocimiento del sistema neuronal fuzzy GAperfeccionado tiene la capacidad de reconocimiento más alta comparada con el de otro sistema neuronal [30]. El sistema de discriminación de olor Artificial ha sido desarrollado usando una partícula de resonadores de cuarzo como sensor, y analizando los datos de la medida a través de varias redes neuronales como un modelo de reconocimiento [30]. Los resultados experimentales muestran que la proporción del reconocimiento del sistema altamente desarrollado si se usa para discriminar solo el basado en olor, sin embargo, su reconocimiento disminuyó considerablemente cuando un olor de la mezcla tiene que ser determinado. Investigadores han propuesto un acceso para incorporar un elemento de la lógica fuzzy en la red neuronal para mejorar su desempeño, sobre todo para acelerar la velocidad de convergencia y la proporción del reconocimiento más alta. La ventaja de usar el sistema fuzzy-neuronal es que puede adaptarse distribuidamente con la fuzzy causado directamente por la medida de error, y las topologías de la red resultantes también pueden realizar el principio de la inferencia fuzzy a través del análisis los valores de los pesos de conexión. Las redes neuronales fuzzy son muy conocidas y ampliamente usadas y se han hecho algunos trabajos para obtener la estructura de la red apropiada y los pesos iniciales para reducir su tiempo de entrenamiento. Sin embargo, este tipo de sistema neuronal tiene un inconveniente debido a sus conexiones neuronales grandes. La optimización de la arquitectura de la red es entonces hecho usando el método de optimización discreto. En este acercamiento, cada estructura de la red se le asigna un valor de la evaluación (por ejemplo, una estimación del error de la generalización), formulando así una tarea de optimización discreta. Una variedad de métodos puede aplicarse a esta clase de los problemas, sin embargo, los algoritmos genéticos, han ganado una metodología fuerte como la aproximación evolutiva por ambos, quitando las conexiones débiles entre las neuronas o quitando las neuronas que realizan las activaciones débiles [30]. 3. Las mejoras En el Algoritmo Genético Híbrido para la convergencia rápida En el proceso de aclarar la solución multi-objetivo de Pareto, la búsqueda de la habilidad en el área total y las características de la convergencia puede reforzarse por auto-sintonización de probabilidad del error en la evolución de las descendencias. Comparando con el algoritmo genético híbrido típico, la convergencia de optimización más eficaz puede obtenerse usando el algoritmo genético híbrido mejorado en la solución para el problema de optimización. Simulación numérica basada en algunos ejemplos típicos demuestra la efectividad del método propuesto [30]. En la aplicación de la ingeniería práctica, las preguntas de optimización de multi-objetivo aparecen a menudo. Las funciones objetivas diferentes no pueden compararse e incluso el conflicto mutuo. En el proceso de optimización, necesita considerar la optimización de simultaneidad con muchas funciones objetivas. El algoritmo genético es un tipo de aritmética de optimización total que se desarrolló en los años recientes. Se usa ampliamente en todos los tipos de preguntas de optimización complicadas debido a su paralelo oculto, aleatoriamente y altamente robusto. En la actualidad, los métodos de algoritmo genético con la optimización de multi-objetivo de aplicación están divididos en tres principales tipos: el multi-objetivo converge solo objetivo, el no método de Pareto y el método de Pareto. El método tradicional que convierte solo el objetivo del multi-objetivo es un simple diseño del método aritmético, con una alta eficiencia computacional, pero sólo puede resolver una solución de disponibilidad. El no método de Pareto puede resolver muchas soluciones de disponibilidad, pero estas soluciones normalmente enfocan en el puerto de la interfase de disponibilidad. El método de optimización basado en el método de Pareto es que muchos valores objetivos tomados directamente para función adaptable. Comparando la relación de dominio de valor objetivo, la lista efectiva se fundamentará. El tipo de método se puede resolver computado, pero el método es complicado en la aritmética, baja eficiencia en las dimensiones de las descendencias más grandes [30]. 4. extracción de las reglas fuzzy IF-THEN el Extracto de las Reglas para diagnostico medico usando algoritmos genéticos El procedimiento sugerido mira a la cara la solución óptima que crece de la primera parte de las reglas IF-THEN variantes que usan el cruce genético, mutación y funcionamientos de la selección. La eficiencia del algoritmo genético es ilustrada por un ejemplo de diagnóstico de enfermedad del corazón de disemia. En muchas áreas de medicina hay grandes colecciones de los datos experimentales y es necesario que se transfieran estos datos en la forma conveniente para la toma de la decisión. Varios métodos muy conocidos normalmente se usan para el proceso de los datos usan las estadísticas matemáticas, la regresión analítica, etc. Pero la toma de decisión en la medicina no es típicamente estadística o matemática. Así que es importante presentar los resultados de datos que se procesan de la forma más fácilmente entendible para la toma de decisiones sin fundamento matemático especial. La regla fuzzy IF-THEN permite hacer fácilmente entendible y bien el resultado del análisis de los datos interpretados. Durante el desarrollo de los sistemas especializados fuzzy se supone que la base de conocimiento inicial se genera por un experto del área de medicina. Esto por qué la calidad de éstos los sistemas dependen de la habilidad de un medico experto [30]. 5. Un Algoritmo Evolutivo multicapas Para Diseñar las Redes Neuronales Artificiales Una representación genérica basada en la memoria neuronal multicapas en el aprendizaje genético fue descrita para desarrollar una población de redes neuronales. El plan cuenta con la información incluida en las neuronas en más de un asociado. El objetivo es aprender ambos la topología de la red neuronal óptima y los pesos óptimos según las múltiples capas del algoritmo genético. Además usa un algoritmo de macroaprendizaje para entrenar el lenguaje, la idea también es incluir un algoritmo de microaprendizaje sin supervisión. La meta es adaptar parámetros de la estrategia potenciales del macroalgoritmo genético para aumentar la actuación de la generalización considerablemente [30]. Una red neuronal es una adaptación y un sistema no lineal inspirado para el estudio del cerebro para resolver problemas matemáticamente o computationalmente. La red neuronal, como el algoritmo Genético, representa otro modelo de aprendizaje con un toque diferente. De hecho, una red neuronal multicapas (MLP) es un gráfico orientado de células. Cada célula computa una actividad de las actividades de los vecinos conectadas a sus entradas. Cada célula propaga su actividad a los vecinos conectados a su rendimiento. El hecho computational por una célula es aplicado a la función de transferencia fi de la forma y i = f i ∑ wij x j − θ i . Donde, yi es el rendimiento del nodo i, xj los jth entradas al nodo, wij es el peso de conexión entre i et j de los nodos es el umbral del nodo. Normalmente, fi es no lineal, sigmoideo, o función gaussiana. Los pesos representan información contenida en la red neuronal [30]. Como mecanismo de entrenamiento, un algoritmo reiterativo de pendiente en descenso se diseño para minimizar la diferencia paso a paso entre el vector del rendimiento real de la red y el vector del rendimiento deseado, como repropagación (BP) en sus versiones, como QuickProp y RPROP, se usa ampliamente como mecanismo entrenador. Aunque este método se usa el exitosamente en muchos campos, sobre todo para el reconocimiento del modelo, debido a su habilidad de aprendizaje, encuentra ciertas dificultades en la práctica, como: la convergencia tiende a ser sumamente lenta, la convergencia al mínimo global no es ninguna garantía, mientras se esta aprendiendo las constantes deben suponerse el heurísticamente. • Los algoritmos incrementales: como la Correlación de la Cascada, Ornamentando y el Perceptron de la Cascada, y otros, son basados en la agregación de capas ocultas a la red neuronal de tamaño mínimo hasta que alcance la precisión requerida. • Los algoritmos de decrementales: el método de recorte es basado en tomar una red grande y capas ocultas de las neuronas y entonces eliminar una a una las capas ocultas de la neurona, para obtener la red más pequeña. Otros acercamientos pusieron algunos de los pesos para poner a cero. Diseñar la arquitectura y los parámetros correctos para el algoritmo de aprendizaje es una tarea tediosa por modelar una Red Neuronal Artificial óptima (ANN) con la actuación de la mejor generalización. A menudo, va surgiendo la necesidad de los sistemas inteligentes híbridos dominantes ANNs que limitan y se vuelve un camino óptimo para conseguir el sistema neuronal [30]. En recientes investigaciones, la evolución se ha introducido en ANNs en términos generales en niveles: los pesos de conexión, las arquitecturas, y el principio de aprendizaje. Entonces, el privilegio de hacer un algoritmo genético hibrido y la red neuronal parecida incrementa la actuación del funcionamiento de la red. La complejidad del acercamiento es construir un algoritmo Neurogenético que involucra principios de la evolución y activaciones del cerebro. Actualmente, esto es un producto de una causa adaptable basada en el aprendizaje genético sin supervisión para perfeccionar la topología y pesos de la red neuronal multicapas. Por consiguiente, el modelo del razonamiento adjunta dos innovaciones de la evolución básica: la auto-organización y la auto-adaptación de parámetros de la estrategia. La auto-organización apunta la arquitectura de memoria óptima trazada por el aprendizaje genético, y la auto-adaptación apunta los parámetros de estrategia de aprendizaje óptimos necesitados para proporcionar la interconexión mínima y sus pesos óptimos. La memoria del modelo representa una población de redes neuronales abstractas. Esta memoria se estructura teóricamente como una topología de red y 2 cortes. 4.2. Computación evolutiva y controladores PID 1. Experimento de programación evolutiva basado en le control de alta precisión Los esquemas convencionales de control lineal a menudo no proporcionan posicionamiento preciso del control de un objeto bajo la influencia de fricción, zona muerta, saturación, etc. Se propone un esquema de control de alta precisión para posicionar un sistema punto a punto, llamada la tabla X-Y, incluso bajo las influencias por encima de las conocidas. El esquema propuesto está compuesto de un precompensador fuzzy y un controlador PD. El precompensador fuzzy es empleado para mejorar la actuación del controlador PD. Sus métodos fuzzy se obtienen de la programación evolutiva experimental (EEP), no de un experto. La efectividad del esquema es demostrada por los experimentos en la tabla X-Y, con un error del posicionamiento de menos de 1 m y estableciendo tiempo de menos de 0.15 s dónde la velocidad máxima y la aceleración es 0,25 m/s y 1.7 m/s ', respectivamente [30]. La tabla X-Y se usa ampliamente en el mecanizando de procesos que involucran tornos, fresado de las máquinas, y SMD (montaje de la superficie del dispositivo) montadores en el campo industrial. Desde entonces la tabla X-Y puede considerarse como un sistema lineal en un sentido global, la tabla X-Y puede controlarse bastante bien por los esquemas de control lineal convencional como el controlador PID (Proporcional-integro - Derivativo). Sin embargo, considerando situaciones dónde se necesita el control de alta presión, los esquemas del control convencionales no pueden son convenientes debido a la no linealidad no uniforme, incluso la fricción, la repercusión negativa, la histéresis, la saturación del actuador. etc., en el sistema mecánico. La saturación del actuador afecta la actuación transitoria principalmente, y las secciones pueden causar un error del sostenimiento del estado o un ciclo del límite cerca de la posición del objeto en el control lineal convencional del sistema del posicionamiento. Hoy, cuando se usan las máquinas para los funcionamientos precisos en el campo industrial, firmemente y es requerido el control preciso de la tabla X-Y. Es más, el control de precisión y las especificaciones de dominio de la tabla X-Y varían dependiendo de su aplicación [30]. En general, hay dos enfoques para lograr el control de alta precisión de la tabla X-Y. Primero, nosotros podemos diseñar y podemos hacer una tabla X-Y más precisa que no tiene la no linealidad anteriormente expresada. Por ejemplo, nosotros podemos reemplazar los rumbos de la pelota usados en la tabla X-Y con los rumbos aéreos quitar las condiciones de fricción. Este acercamiento, sin embargo, puede llevar a un costo alto para el Sistema global. El otro acercamiento es diseñar una ley de control más compleja que puede lograr los objetivos de control de alta precisión. Recientemente, las mejoras rápidas en el microprocesador le han hecho posible para comprenderla ley del control complejo. Así si se puede desarrollar un algoritmo de control apropiado, el segundo método será una aproximación más conveniente para el control de posición de alta precisión sin aumentar el costo [30]. Se han propuesto recientemente varias técnicas de control de posición para el control de alta precisión. Yang y Tomizuka proponen el uso de un controlador de anchura de pulso adaptable para el posicionamiento preciso, basado en el método de control de la anchura del pulso, en el cual se aplica un pulso según el error actual. En este esquema, el controlador aplica un pulso y espera hasta que pare el sistema, y entonces calcula la anchura del pulso para la próxima entrada de control. Así, podría necesitarse demasiado tiempo hasta que el sistema llegue al punto de la meta. Tung propuso un esquema de compensación de fricción basado en un control repetitivo que de los sistemas típicamente aplicados sujetado a las referencias periódicas y/o entradas de perturbación. Kim propuso un método de diseño a un compensador de fricción basado en un algoritmo evolutivo. Los dos esquemas de control anteriores, sin embargo, se tratan de sólo control de baja velocidad. El esquema adaptable fue también por algunos investigadores que tenían el periodo de transito relativamente largo. Así estos esquemas no podrían ser convenientes para sistemas que deben establecerse rápidamente [30]. Por otro lado, los métodos de control basados en fuzzy son útiles cuando las formulaciones matemáticas precisas no son factibles. Sin embargo, los controladores lógicos fuzzy a menudo dan un resultado de rendimiento superior a los métodos del control convencionales. Kim] propuso una estructura de control de “dos capas” que consiste en un precompensador fuzzy y un controlador PD para los sistemas con zona muerta. 2. control robusto por Algoritmos Genéticos y el criterio integro de Minimización Los controladores PID han encontrado las aplicaciones industriales extensas durante varias décadas. Recientemente H2/H mixto los problemas de control óptimos han recibido mucha atención desde punto de vista de plan teórico. H2/H mixto los acercamientos de plan de control son útiles para la actuación robusta para los sistemas bajo la perturbación del parámetro y la perturbación incierta. Un procedimiento del plan propone poner a punto los parámetros de controladores PID para lograr H2/H mixto de una forma óptima. Desde el criterio que debe perfeccionarse de tipo íntegro, y las características se imponen por el control robusto, el problema a ser resuelto es un favorable problema de minimización de no linealidad que pueden existir. Los algoritmos genéticos son técnicas de búsqueda paralelas, globales que emulan a los operadores genéticos naturales. Porque un algoritmo genético evalúa muchos puntos simultáneamente en el parámetro especie, más probablemente es converger a la solución global [30] La complejidad creciente de los sistemas del control moderno ha dado énfasis a la idea de aplicar nuevos acercamientos para resolver los problemas de ingeniería de control diferentes. El control PID es el tipo de control mas ampliamente usado en la industria y el ingeniero del plan debe poner a punto los parámetros del PID permitidos a las necesidades específicas. Deben conocerse tres factores de la sintonización del controlador PID: la planta, el tipo de control y el criterio de la actuación de la realimentación de control. Dentro del armazón del la teoría clásica, uno de los factores muy importante de sintonización de los controladores PID, el criterio de la actuación, puede ser dividido en dos grupos principales: el tiempo crítico de dominio y criterio de dominio de frecuencia. Respecto a esto, el diseñador reúne simultáneamente de la forma mas breve menos difícil satisfacer el limite de diseño. Empezando desde éstos, en el control PID los siguientes métodos de sintonización se usan típicamente: Ziegler y Nichols (1942), Chien, Hrones y Reswick (1952), Clarke (1984), Kaya y Scheib (1988), Aström y Hägglund (1984, 1988), [1], [3], [4], [5], [6], [7]. Lo anterior arriba expresado se caracteriza por una desventaja obvia: el diseñador debe intentar satisfacer más o menos los límites del diseño. La habilidad de obtener un cierto régimen estacionario y transeúnte para el sistema retroalimentado impone una opción particular de la estructura y parámetros del control, en concordancia con el logro de la actuación. Los índices de la actuación se especifican por el diseño. Porque en la mayoría de los casos el logro de une ejecución de buena calidad lleva a un índice a las soluciones contradictorias y el ensayo “en acoplamiento” la respuesta del sistema dentro de los límites de los tipos como: un: cero error del mantener el estado, bueno y tiempo propasado, tiempo del levantamiento, respuesta de tiempo de sistema, ganancia y margen de la fase etc. la única manera parece estar por fuera del ensayo y métodos de síntesis de error. El error del sistema es el signo que probablemente mas influye en las actuaciones mencionadas. Como la duración de error también debe jugar un papel, se encuentra que el más significante de éstos es el criterio de la actuación que tiene la forma íntegra. H2/H mixto. Los acercamientos de diseño de control son útiles para la actuación robusta para los sistemas bajo la perturbación del parámetro y la perturbación incierta. Sin embargo, la entrada de retroalimentación convencional de control optimo de H2/H mixto. Son muy complicados y difíciles de implementar para las aplicaciones de prácticas industriales. Los algoritmos genéticos son la optimización y algoritmos de aprendizaje de máquina inicialmente inspirados en los procesos de selección natural y las genéticas evolutivas. El algoritmo propuesto ponteará el hueco entre el control teórico mixto óptimo H2/H óptimo y el control clásico industrial PID. El diseño de control H2/H propuesto consiste en encontrar un controlador PID internamente estabilizado que minimiza un H2 el índice de la actuación íntegra sujeto a una desigualdad reprimida en la norma de H. de la función de traslado de retroalimentación. Eso significa que resolviendo los dos problemas: la exigencia de robustez de estabilidad y la exigencia de atenuación de perturbación externa. El problema puede interpretarse como un problema de actuación óptima sujeto a una exigencia de estabilidad robusta (o la exigencia de atenuación de perturbación externa). El procedimiento de diseño se propuso para fuera de la línea PID que sintoniza para lograr el H2/H mixto. La actuación óptima sigue los pasos [30]: 1. el primer paso basó en el criterio de Routh-Hurwitz, el dominio de estabilidad de tres parámetros de PID, espacio que garantiza la estabilidad de la retroalimentación especifica. 2. el segundo paso, el subconjunto del dominio de estabilidad en los parámetros de espacio PID que corresponde para estar en 1 se especifica para que la exigencia de H. anteriormente expresado. 3. en el tercer paso los problemas de diseño se vuelven, en el dominio del subconjunto de H. la exigencia de dominio mencionado en paso 2, cómo obtener un punto que minimiza el H2 que rastrea la actuación. Esto es generalmente considerado favorable en el problema de minimización de la no linealidad que puede existir. Los algoritmos genéticos son técnicas de la búsqueda paralelas, globales que emulan a los operadores genéticos naturales. Porque un GA evalúa muchos puntos simultáneamente en el parámetro espacie, más probablemente es converger a la solución global. No necesita asumir que el espacio de la búsqueda es diferenciable o continuo, y también conserva la iteración de varios tiempos en cada dato recibido. La optimización global puede lograrse por varios operadores genéticos, ej., reproducción, mutación, y cruce. El AGs es más conveniente la iteración del diseño de control PID H2/H por las razones siguientes: el espacio de la búsqueda es grande; la superficie de la actuación no requiere una asunción del diferenciador con respecto a los cambios en los parámetros de PID (por consiguiente, los algoritmos escrutadores que dependen de la existencia de los derivado son ineficaces); las condiciones de las destrucciones probables probablemente serán destruidas bajo un operador genético, por eso la ventaja a menudo la convergencia es más rápida [30]. 4.3. Aplicación en procesos de control 4.3.1. Sintonización de controladores Anteriormente los AEs eran utilizados como una alternativa para sintonizar controladores proporciona-integral derivativo (PID). Oliveira uso un AG estándar para determinar las estimaciones iniciales para los valores de los parámetros de los PID. Ellos aplicaron su metodología para una variedad de clases de sistemas lineales invariantes en el tiempo (LTI), abarcando fase mínima, fase no mínima y sistemas inestables. En una investigación independiente, Porter y Jones propusieron un AE base como una simple técnica, genérica, método digital de sintonización de controladores PID. Wang y Kwok cubrieron un AE usando inversión y preselección ‘micro-operadores’ para sintonización de controladores PID. Más recientemente, Vlachos aplico un AE para la sintonización de controladores descentralizados proporcional – integral (PI) para procesos multivariables. Onnen aplico un AEs para la determinación de una secuencia optima de control basado en el modelo de control predictivo (MBPC). Particular atención fue prestada a MBPC para sistemas no lineales con entradas forzadas. Código genético especializado y operadores fueron desarrollados con el objetivo de prevenir soluciones absurdas de generación. El esquema resultante se aplico a un fermentador retroalimentado simulado, con reporte de resultados favorables (comparado con el tradicional método arma limite) para grandes horizontes de control. El principal problema de la optimización basada en sintonización de controladores es la selección de la función objetivo apropiada. 4.3.2. Diseño de estructura de control Muchas aplicaciones de EA simplemente optimizaron los parámetros de las estructuras existentes. En orden para recolección el pleno potencial de los AE, algunos investigadores han experimentado con la manipulación de estructuras del control. Los PG se han utilizado para la síntesis automática de los valores de parámetros y la topología de controladores. El sistema ha reproducido las patentes existentes según informes recibidos (para controladores PI y PID) y redescubrió el viejo (un controlador que hace uso de la segunda derivada del error entre la señal de referencia y la señal de salida). 4.3.3. Aplicaciones en línea Las aplicaciones en línea presentan un particular desafío para los AE. Las aplicaciones exitosas en este campo han sido algo limitadas para la fecha. Es importante que una señal de control apropiada se provea a cada instante de muestreo. Las acciones del mejor individuo actual del AE pueden infligir consecuencias severas en el proceso. Esto en inaceptable en la mayoría de las aplicaciones, sobre todo en el caso de una seguridad o misión critica del sistema. Dado que esto no sea posible para aplicar los valores representados por cualquier individuo en una población para el sistema, está claro que la evaluación de la completa, evolución, la población no puede desempeñarse en el proceso real. La población puede ser evaluada usando un modelo del proceso, asumiendo que existe un modelo semejante, o el desempeño puede ser inferido de la respuesta del sistema para una señal de entrada actual. La inferencia también puede usarse como un mecanismo para reducir los requisitos del proceso haciendo un número grande de evaluaciones y entonces computando las estimaciones para el resto de la población basada en estos resultados. En aplicaciones en tiempo real hay un límite importante de tiempo para el cual una optimización puede ser ejecutada entre puntos de decisión. Dado el poder de la informática actual, es improbable que un EA ejecutara a la convergencia dentro del límite de tiempo de muestreo de una aplicación del control típica. Ahora, solo un cierto número de generaciones puede ser evolucionado. Para sistemas con grandes tiempos de muestreo, un aceptable nivel de convergencia puede ser bien realizado. En el caso de un controlador, una aceptable señal de control debe proporcionarse a cada punto de control. Si el AE es evolucionado para solo unas pocas generaciones entonces el desempeño de la población puede aun ser pobre. Una complicación adicional es que el sistema, visto de la perspectiva de la optimización, está cambiando con el tiempo. Así, la señal de control evolucionada en un instante puede volverse totalmente inapropiado en la siguiente. Los AEs pueden oponerse con vistas de tiempo variable, pero una reciente tendencia de los AEs puede ser requerida. En esta instancia, la población inicial puede ser difundida con previas soluciones buenas. Note que esto no garantiza la convergencia rápida e incluso puede llevar a la convergencia prematura. Hay tres amplias aproximaciones para el uso de AEs para control en línea: • Utilizar un modelo del proceso • Utilizar el proceso directamente • Permitir sintonización restringida de un controlador existente. 4.4. Cómo pueden los AG ser de beneficio para el control? 4.4.1. Estabilidad Muchos exponentes de algoritmos evolutivos citan a la naturaleza genérica del género como la ventaja del control. Los AG pueden aplicarse a un ancho rango de problemas sin modificación significante. Sin embargo, el AG a veces se percibe como una herramienta que proporcionará los resultados mediocres en un problema de dominio cuando se compara con los métodos de dominio específico. También debe notarse que los parámetros del AG (el tamaño de la población, la probabilidad de la mutación, y etc.) requieran sintonización para los beneficios extendidos de los algoritmos a ser realizado. Las aproximaciones evolutivas han demostrado particularmente exitoso en problemas que son difíciles formalizar matemáticamente, y qué por consiguiente no conduce al análisis. Esto incluye sistemas que son altamente no lineales, que son estocásticos, y son comprendidos pobremente (el control del cual representa una magia negra). Problemas que involucran las clases mencionadas de proceso tienden a ser difíciles de resolver satisfactoriamente usando los métodos convencionales. La falta de confianza AG en el dominio heurístico específico lo hace un contendedor fuerte para la aplicación en esta área. Muy pequeño información a priori se requiere, pero esto puede incorporarse si así se desea. Un singular problema de ingeniería de control puede contener una mezcla de formato d variables de decisión. Esto puede proveer un problema significativo para técnicas de optimización convencionales que requieren variables de un solo tipo matemático o unidad científica. Desde que los AGs operan sobre .una codificación del conjunto de parámetro, diversos tipos de variables pueden representarse (y manipulaos subsecuentemente) dentro de una sola solución. El AG es una búsqueda robusta y un método de optimización. Es capaz de hacer frente a paisajes con funciones de costo perjudiciales, exhibiendo así propiedades como multimodalidad, discontinuidad, tiempo de variación, aleatoriedad, y ruido. Cada uno de estas propiedades puede causar dificultades severas al tradicional método de búsqueda tradicional, además de la falta de amenidad a una solución analítica. Además, una búsqueda de AG se dirige y, luego, representa la mas grande eficacia potencialmente que una búsqueda totalmente al azar o búsqueda enumerativa Un camino particularmente prometedor de aplicación de los AG es el problema multiobjetivo. Muchas aplicaciones del mundo real encajaron en esta categoría, incluso más problemas de diseño de ingeniería. El potencial del AG sólo está empezando a ser efectuado en esta arena. Los AGs también son capaces de soportar múltiplos, contrastando, soluciones a un problema simultáneamente. Esto le proporciona un grado mayor de opción y flexibilidad al diseñador. Para problemas que son bien comprendidos, que son aproximadamente lineales, y para los cuales se confía que existen soluciones, el AG es improbable para producir resultados competitivos. Si un problema puede resolverse analíticamente con un nivel aceptable de asunciones entonces esa aproximación es probablemente mejor. Si así una solución no puede ser encontrada, y otras técnicas de problemas específicas están en fase de inicio, entonces el uso de AG podría demostrar ser muy aprovechable y que vale la pena. Las aplicaciones misión-críticas y seguridad-críticas no aparecen, inicialmente, ser favorable para el uso de AG. Hay un elemento de cambio en un algoritmo genético. No garantiza proporcionar que los resultados serán de suficiente calidad para el uso en línea. Cuando se evalúan AG en los problemas de referencia, ellos normalmente se prueban mucho (típicamente veinte a treinta) tiempo debido a la naturaleza estocástica del algoritmo. Hay también la pregunta cómo se evaluarán los individuos si ningún modelo del proceso está disponible (como puede ser bien el caso). Alguna teoría de apoyo existe para los algoritmos genéticos, pero es improbable demostrar suficiente para ganar la aprobación de agencias de las normas. Mucho cuidado habría, claramente, se necesite para el sistema crítico. Los AG son muy intensivos computacionalmente, a menudo requieren implementaciones masivamente paralelas para producir los resultados dentro de un marco de tiempo aceptable. Por lo tanto, la aplicación en línea para control en tiempo real es grandemente imposible en la actualidad Capítulo 5 Sintonización de controladores PID utilizando algoritmos evolutivos 5.1. Sistema mecánico: masa –resorte El sistema que aparece en la figura 5.1es lineal. La fuerza externa u (t ) es la entrada para el sistema, mientras que el desplazamiento y (t ) de la masa es la salida. El desplazamiento y (t ) se mide a partir de la posición de equilibrio en ausencia de una fuerza externa. A partir del diagrama, la ecuación 5-1 describe el sistema Figura 5.1. Sistema masa resorte m&y& + by& + ky = u x& = Ax + Bu (5-1) El sistema es de segundo orden por lo que tiene dos integradores. Definiendo las variables de estado como x1 (t ) y x2 (t ) x1 = y x2 = y& = x&1 (5-2) De la ecuación 5-1 m&y& = −by& − ky + u b k 1 &y& = − y& − y + u (1) m m m (5-3) La ecuación de salida es x1 y = (1 0) x2 (5-4) Despejando las derivadas de mayor orden x&1 = x2 x&2 = − (5-5) b k 1 x2 − x1 + u m m m (5-6) Las ecuaciones 5-5 y 5-6 en forma matricial quedan: x&1 0 k = − & x 2 m 1 x 0 b 1 + 1 u − x2 m m (5-7) Para obtener la función de transferencia se utilizo la siguiente ecuación G ( s ) = C ( SI − A)−1 B + D (5-8) De la ecuación (5-7) se obtiene: 0 A= k − m 1 b − m (5-9) 0 B = 1 m (5-10) C = [1 0] (5-11) D=0 (5-12) Para calcular la matriz SI − A s 0 0 k − SI − A = − 0 s m 1 s b = k − m m −1 b s+ m (5-13) Calculando la inversa de la matriz b 1 s + m k s adjA m −1 (SI − A) = = b k A s2 + s + m m (5-14) Sustituyendo en 5-8 b s+ 1 0 1 m 1 G ( s ) = (1 0) k b k s m s 2 + s + m m m (5-15) Al realizar las operaciones G( s) = b 1 01 s + 1 b k m s2 + s + m m m G( s) = − 1 1 m s2 + b s + k m m (5-16) (5-17) Se obtiene la función de transferencia G( s) = −1 ms + bs + k (5-18) 2 5.1.1. Controlabilidad del sistema La controlabilidad juega un papel muy importante en el diseño de sistemas de control en el espacio de estados, ya que sus condiciones determinan la existencia de una solución completa. Si el rango de la matriz s = [B controlable. AB] es igual a 2, entonces el sistema será (5-19) 0 AB = k − m 1 0 b 1 − m m (5-20) 0 Det s = 1 m 1 m =− 1 b m2 − 2 m (5-21) Los vectores de la matriz son linealmente independientes entonces, el determinante es diferente de cero por la tanto el sistema es controlable 5.1.2. Observabilidad El sistema es observable si todas las transiciones del estado afectan eventualmente a todos los elementos del vector de salida. C Si rango de la matriz v = es igual a 2, entonces el sistema será CA observable. C = (1 0 ) 0 CA = (1 0) k − m (5-23) 1 b = (0 1) − m (5-24) 1 0 = 1 Det v = 0 1 (5-25) El sistema es observable 5.1.3. Discretización del sistema Asignándole valores numéricos a las variables de la función de transferencia del sistema Tomando m =2 b =4 k =5 Reemplazando en la ecuación G( s) = (5-18) Y ( s) 0.5 = s + 2 s + 2.5 U (s) (5-26) 2 Tomando condiciones iniciales cero Despejando con respecto a la entrada y la salida del sistema 0.5U (s ) = s 2Y (s ) + 2 sY (s ) + 2.5Y ( s ) (5-27) Aplicando transformada de laplace 0.5U (s ) = Y&&( s ) + 2Y& ( s ) + 2.5Y ( s ) (5-28) Aplicando el método de discretización aproximada y ( kT ) − y (( k − 1)T ) y (kT ) − 2 y (( k − 1)T ) + y ((k − 2)T ) 0.5U (kT ) = + 2 2 + 2.5 y ( kT ) T T (5-29) Realizando las operaciones 0.5T 2U (kT) = y(kT) − 2 y((k −1)T ) + y((k − 2)T ) + 2T[ y(kT) − y((k −1)T )] + 2.5T 2 y(kT) (5-30) [ ] 0.5T 2U (kT ) = y (kT ) 1 + 2T + 2.5T 2 − y ((k − 1)T )[2 + 2T ] + y ((k − 2)T ) (5-31) Tomando T = 0.1 y reemplazando en (5-31) [ ] 0.5(0.1) = y (k ) 1 + 2(0.1) + 2.5(0.1) − y (k − 1)[2 + 2(0.1)] + y (k − 2) 2 2 0.005U (k ) = 1.225 y (k ) − 2.2Y (k − 1) + y (k − 2) (5-32) (5-33) Despejando y (k ) 1.225 y (k ) = 0.005U (k ) + 2.2 y (k − 1) − y (k − 2) (5-34) y (k ) = 0.00408U (k ) + 1.796 y (k − 1) − 0.816 y (k − 2) (5-35) Al expresar en función de Z y (Z ) = 0.00408U ( Z ) + 1.796 yZ −1Y ( Z ) − 0.816Z −2Y ( Z ) ( ) (5-36) Y ( Z ) 1 − 1.79 Z −1 + 0.816 Z −2 = 0.00408U ( Z ) (5-37) Y (Z ) 0.00408 = U ( Z ) 1 − 1.79 Z −1 + 0.816Z − 2 (5-38) Y (Z ) 0.00408Z 2 = U ( Z ) Z 2 − 1.79 Z + 0.816 (5-39) 5.1.4. Calculo del controlador Hallando la función de transferencia del diagrama en bloques Figura 5.2. Diagrama en bloque del sistema (controlador –planta) Gs = CP 1 + CP (5-40) El controlador se describe matemáticamente por K e( s ) TD e( s ) U (s ) = K P e(s ) + I + TI s αs + 1 (5-41) KI + Kd s s (5-42) C ( s) = K P + KDs2 + KP s + KI C (s ) = s (5-43) Sustituyendo la ecuación 5-26 y 5-43 en la ecuación 5-40 K P s + K D s 2 + K I 0. 5 2 s s + 2 s + 2. 5 Gs = K s 2 + K P s + K I 0.5 2 1 + D s s + 2s + 2.5 ( ) 0.5 K D s 2 + K P s + K I 2 2 2 . 5 s s s + + Gs = 3 s + 2 s 2 + 2.5s + 0.5 K D s 2 + 0.5 K P s + 0.5K I s s 2 + 2 s + 2.5 ( ) ( ) (5-44) 0.5K D s 2 + 0.5 K P s + 0.5K I Gs = 3 s + (2 + K D )s 2 + (2.5 + 0.5K P )s + 0.5K I (5-45) (5-46) Usando el método de asignación de polos Se quiere que el desempeño del sistema cumpla con ciertas especificaciones entonces se usa el método de asignación de polos y se quiere que los polos del sistema estén en el semiplano izquierdo del plano s para que el sistema sea estable. s 2 + 2ξwn s + wn 2 (5-47) Donde ξ es el amortiguamiento wn Frecuencia natural no amortiguada. Para esto −1 = ξwn (5-48) ξ = 0.5 (5-49) Despejando wn wn = wd = (s 2 1 =2 0.5 (5-50) ( 1 − ξ )w 2 n = 0.866 (5-51) ) + 2s + 4 (s + 1) = s 3 + 2 s 2 + 4 s + s 2 + 2 s + 4 s 3 + 3s 2 + 6 s + 4 (5-52) (5-53) Igualando las ecuaciones 2 + KD = 3 (5-54) despejando KD = 1 2.5 + 0.5K P = 6 (5-55) KP = 7 0.5 K I = 4 (5-56) KI = 8 5.1.5. Discretización del controlador Para la discretización del controlador se usa el método de integración trapezoidal por obtener una mejor muestra de la señal en tiempo continuo. (K Gc( z ) = p + TK i / 2 + K D / T )Z 2 + (TK I / 2 − K p − 2 K D / T )Z + K D / T Z ( Z − 1) (5-57) Sustituyendo los valores Gc( z ) = (7 + ((0.1)(0.8)) / 2 + 1 / 0.1)Z 2 + (((0.1)(8)) / 2 − 7 − ((2)(1) / 0.1))Z + 1 / 0.1 (5-58) Z ( Z − 1) Al realizar lo cálculos Gc( z ) = (Z 2 17.4 Z 2 − 26.6 Z + 10 U ( Z ) = Z ( Z − 1) e( Z ) ) ( (5-59) ) − Z U (Z ) = 17.4 Z 2 − 26.6Z + 10 e( Z ) (5-60) Despejando U (Z ) (1 − Z )U (Z ) = (17.4 − 26.6Z −1 −1 ) + 10Z −2 e(Z ) U ( Z ) − Z −1U (Z ) = 17.4e( Z ) − 26.6Z −1 + 10Z −2e(Z ) (5-61) (5-62) Expresando en función de K U ( K ) − U ( K − 1) = 17.4e( K ) − 26.6e( K − 1) + 10e( K − 2) (5-63) U ( K ) = 17.4e( K ) − 26.6e( K − 1) + 10e( K − 2) + U ( K − 1) (5-64) 5.1.6. Sintonización de controladores PID utilizando algoritmos evolutivos en línea La sintonización del controlador PID consiste en darle los valores adecuado a los parámetros del controlador K D , K I y K P de forma que puedan estabilizar el sistema de una forma rápida sin alterar el comportamiento del mismo. Los datos de la planta y el controlador ya fueron discretizados anteriormente para poder ser evaluados por el algoritmo. Como los parámetros que se tiene del sistema son números reales, lo mas apropiado para el diseño del fue el uso de estrategias evolutivas. En este caso se mira el comportamiento en línea del sistema donde se van cambiando en cada generación los nuevos individuos (constantes) para el mejor funcionamiento del sistema. El algoritmo se desarrollo en Matlab por la accesibilidad que de este se tiene en la universidad y por cumplir con todos los requisitos necesario para su ejecución. El programa principal inicia con los valores teóricos de las constantes que luego son evaluadas por el controlador y la planta. Ya teniendo el error pasan al algoritmo donde las constantes son recalculadas por el gradiente de este. Para una mejor comprensión se presenta el diagrama de flujo de la figura 5.3 Figura 5.3. Diagrama de flujo del algoritmo en línea y1, y 2, ek , ek1, ek 2, u1, t , alfa, tol , sp , a, b, k Son los valores de entrada del algoritmo kd1, kp1, ki1 Son las constantes del controlador para el sistema masa- resorte m Es un vector para crear las segundas constantes del sistema h Es la variable que contabiliza el tiempo 5.1.6.1. Validación del algoritmo en línea Para validar el algoritmo se incluirá las cuantificaciones del sistema masaresorte ya descrito. Primero se simulara con todos los valores iguales a cero por lo que el sistema se estabiliza en cero como se puede ver en la figura 5.4. 5.4. Salida del sistema con condiciones iniciales cero Ahora las condiciones iniciales permanecen excepto el set point que se cambia a 1, por lo que se espera que el sistema estabilice en este valor como se observa en la figura 5.5. Figura 5.5. Sistema con condiciones iniciales cero y set point 1 Ya dándole valores a todas las condiciones iniciales del sistema. La salida se puede observar en la figura 5.6. Figura 5.6. Sistema con valores diferentes de cero y set point 1 Figura 5.7. Sistema con set point negativo Ya teniendo el sistema estabilizando, se procede a incluir algunas variaciones en la planta para observar como se comporta el sistema. Figura 5.8. Sistema con variaciones en la planta, set point 3 Figura 5.9. Sistema con variaciones en la planta, set point 6 Cambiado el set point del sistema con el algoritmo en ejecución. Figura 5.10. Sistema con cambio de set point Cambiando el gradiente de descendente a ascendente. Figura 5.11. Sistema con gradiente ascendente 5.2. Circuito LRC Figura 5.12. Circuito LRC El circuito de la figura 5.12 esta formado por una inductancia L (henry), una resistencia R (ohm), y una capacitancia C (farad). Aplicando la ley de voltaje de Kirchhoff al sistema, se obtiene las ecuaciones: L di 1 + Ri + ∫ idt = ei dt C 1 idt = e0 C∫ (5-65) (5-66) Las ecuaciones 5-65 y 5-66 dan un modelo matemático del circuito Hallando la función de transferencia e0 ( s) 1 = 2 ei (s) LCs + RCs + 1 (5-67) Dándole valores numéricos a la función de transferencia R= 4 G( s) = C =2 1 2s + 8s + 1 2 L =1 (5-68) Discretizando la función de transferencia 5-68 se obtiene y( Z ) 0.01Z 2 = U ( Z ) 2.81Z 2 − 4.8Z + 2 (5-69) Y la ecuación de la planta discretizada para el algoritmo es y (k ) = 0.00355UU (k ) + 1.7081 y (k − 1) − 0.7117 y (k − 2) (5-70) Al aplicar el método de asignación de polos las constantes obtenidas son: K P = 11 KI = 9 K D = −4 Entonces el controlador en forma discreta resulta G(Z ) = − 28.55Z 2 + 69.45Z − 40 Z2 − Z (5-71) Y el controlador en forma discreta para el algoritmo es U (k ) = −28.55e(k ) + 69.45e(k − 1) − 40e(k − 2) + U (k − 1) (5-72) La salida del algoritmo para el circuito se puede observar en la figura 5.13 Figura 5.13. Salida del circuito LRC para el algoritmo 5.3. Sistema de levitación magnética El sistema de suspensión magnética que permite mantener levitada una pequeña esfera metálica de masa m . El objetivo del controlador será regular el valor de la corriente del circuito del electroimán de tal forma que la esfera se mantenga suspendida a una distancia constante x = X del electro magneto. La tensión o voltaje aplicado al circuito v(t ) y actúa como una variable de control. Figura 5.14. Sistema de levitación magnética Las ecuaciones que describen el sistema son: Li′ = − Ri + v(t ) (5-73) Ci 2 m&x& = mg − fm = mg − x (5-74) Despejando las ecuaciones del sistema en forma matricial y despejando 0 x&1 x& = g 2 X x&3 0 1 0 0 0 mXg − 2C C mX R − L x1 0 x + 0 2 1 x3 L x c = [0 1 0] x2 x3 (5-75) (5-76) Al analizar la controlabilidad el determinante de S es S= − 4Cg mXL3 (5-77) Lo que define que el sistema es controlable Para la observabilidad el determinante de V es V = mgX C 2 mX L − 2CRg (5-78) Por consiguiente el sistema también es observable 5.3.1. Función de transferencia Partiendo de la ecuación 5-8 G ( s ) = C ( SI − A)−1 B + D Entonces G( s) = 1 R g Rg s + s2 − s − L X LX 3 mgX C mXL − 2Cs (5-79) Dándole valores numéricos a la función de transferencia anterior g = 90 C = 40 m = 30 X =5 L = 25 R = 50 Y sustituyendo en 5-79 se obtiene G( s) = − 0.691918s s + 2s 2 − 18s − 81.81 (5-80) 3 Discretizando la planta G( Z ) = ( ) − 0.003919 Z 3 − Z 2 0.93819 Z 3 − 3.22 Z 2 + 3.2 Z − 1 (5-81) y(k) = −0.004177 U(k) + 0.004177 U(k −1) + 3.4321y(k −1) − 3.4108y(k − 2) +1.0658y(k − 3) (5-82) 5.3.2. Calculo del controlador Las constantes obtenidas por el método de asignación de polos K D = −10.2062 K I = −300.598 K P = −109.7167 Usando el método de rectangular atrasada el controlador en forma discreta seria G(Z ) = − 211.77 Z 2 + 283.78Z − 102.06 Z2 − Z (5-83) U (k ) = −211.778e(k ) + 283.786e(k − 1) − 102.062e(k − 2) + U (k − 1) (5-84) Por tanto la salida del sistema de levitación ante la simulación en el algoritmo se puede observar en la figura 5.15. Figura 5.15. Salida del algoritmo para el sistema de levitación 5.4. MODELO DEL EVAPORADOR El tanque esta sellado herméticamente para que no se pierda ninguna sustancia ya que puede ser corrosiva o tóxica y lo ideal del sistema es purificar la sustancia sin perder nada. Figura 5.16. Sistema del evaporador El sistema tiene dos tubos de entrada. El primero es por donde llega la sustancia a purificar y el segundo es el vapor (agua pura destilada caliente, no tiene ningún compuesto adicional). Ambas entradas se mezcla en el tanque y salen por la parte de arriba del tanque donde la presión que se mide es critica. Luego van a un separador donde la sustancia más densa (a purificar) se acumula en la parte de abajo el vapor con algunas moléculas de la sustancia con que mezclo anteriormente. El vapor pasa a un condensador donde es refrigerado ya que no se puede dejar que salga así al ambiente porque puede oxidar los elementos que estén por ahí. En el separador ahí un sensor de calidad que indica si la sustancia (producto) ya es optimo o tendría que repetirse el proceso. Si el proceso es óptimo sale por la válvula. Hay dos partes importantes para la descripción del modelo matemático: • La primera parte deriva un modelo mecánico no lineal con asunciones mayores expresadas, las variables definidas y parámetros dados. • la segunda parte deriva una descripción del espacio de estado lineal en la forma normalizada evaluando los apropiados elementos jacobianos. 5.4.1. Modelo no lineal Los nombres de las variables, descripciones, los valores del estado estable estándar, y las unidades manejadas se muestran en la tabla 5-1. El solvente es el agua y el soluto es el no volátil. Variable Descripción Valor Unidad F1 Flujo de alimentación 10.0 Kg/min F2 Flujo del producto 2.0 Kg/min F3 Flujo de recirculación 510.0 Kg/min F4 Flujo de vapor 8.0 Kg/min F5 Flujo de condensación 8.0 Kg/min X1 Composición de alimentación 5.0 Porcentaje X2 Composición del producto 25.0 Porcentaje T1 Temperatura de alimentación 40.0 Grados ºC T2 Temperatura del producto 84.6 Grados ºC T3 Temperatura de vapor 80.6 Kg/min L2 Nivel del separador 1. Metros P2 Presión de operación 50.5 kPa F100 Flujo de vapor 5.3 Kg/min T100 Temperatura de vapor 119.9 Kg/min P100 Presión de vapor 194.7 kPa Q100 Ciclo de calentamiento 539.0 kW F200 Flujo de agua de enfriamiento 208.0 Kg/min T200 Temperatura de agua de 25.0 Grados ºC 46.1 Grados ºC enfriamiento T201 Temperatura de la salida del agua de enfriamiento Q200 Ciclo de condensación 307.9 kW Tabla 5-1. Variables del evaporador 5.4.2. Proceso de balance de masa líquida Un balance de masa sobre el líquido total del proceso (solvente y soluto) in el sistema produce: ρAdL 2 / dt = F1 − F 4 − F 2 (5-85) Donde: ρ es la densidad del líquido A es el área de cruce seccional del separador El producto ρA es asumido paras ser constante como 20 Kg/m 5.4.3. Proceso de balance de masa líquida del soluto Un balance de masa sobre el soluto en el proceso de la fase líquida produce: MdX 2 / dt = F 1X 1 − F 2 X 2 (5-86) Donde M es la cantidad de líquido en el evaporador y es asumido para ser constante como 20 Kg 5.4.4. Proceso de balance de masa de vapor Un balance de masa sobre el vapor del proceso en el evaporador expresara la masa total del vapor de agua en términos de la presión que existe en el sistema: CdP 2 / dt = F 4 − F 5 (5-87) Donde C es una constante que convierte la masa de vapor en una presión equivalente y se asume que tiene un valor de 4 Kg/ kPa. Esta constante puede ser derivada de la ley de gas ideal. 5.4.5. Proceso de balance de energía líquida El líquido del proceso se asume para existir en este punto de ebullición y ser mezclado perfectamente (asistido por la tasa alta de circulación). La temperatura del líquido es: T 2 = 0.5616 P 2 + 0.3126 X 2 + 48.43 (5-88) La cual es un linealización de la línea líquida saturada para el agua sobre el valor estándar del estado estable e incluye un término para aproximar la elevación del punto de ebullición debido a la presencia del soluto. La temperatura del vapor es: T 3 = 0.507 P 2 + 55.0 (5-89) La cual es un linealización de la línea líquida saturada para el agua sobre el valor estándar del estado estable. La dinámica del balance de energía es asumida para ser muy rápida así que: F 4 = (Q100 − F1C p (T 2 − T 1)) / λ (5-90) Donde C p es la capacidad de calor del licor y la constante se asume como un valor de 0.07kW/K (Kg/min) y λ es el calor latente de vaporización del licor y es asumida para tener un valor constante de 38.5kW / (Kg/min). El sensible cambio de calor entre T 2 y T 3 para F 4 es considerado pequeño comparado con el calor latente. Esto asume que no hay ninguna pérdida de calor al ambiente o ganancias de calor de la entrada de energía de la bomba. 5.4.6. Envoltura del vapor caliente La presión de vapor P100 es una variable manipulada qué determina la temperatura de vapor bajo la suposición de condiciones saturadas. Una ecuación que relaciona la temperatura de vapor para la presión del vapor puede ser obtenida aproximando la relación temperatura de vapor saturada presión por linealización loca sobre el valor en estado estable: T 100 = 0.1538 P100 + 90.0 (5-91) La tasa de transferencia de calor para el proceso de ebullición del líquido es dado por: Q100 = UA1(T 100 − T 2) (5-92) Donde UA1 es el coeficiente de tiempo de transferencia de calor completo el área de transferencia de calor y es una función del flujo total a través de los tubos en el evaporador: UA1 = 0.16( F1 + F 3) (5-93) La rata de vapor es calculado de: F100 = Q100 / λs (5-94) Donde λs es el calor latente de vapor en la condición de saturación, asumido como un valor constante de 36.6 kW/(Kg/min). La dinámica dentro de la envoltura del vapor ha sido asumida para ser muy rápida. 5.4.7. Condensador El flujo de agua de enfriamiento F 200 es una variable manipulada y la entrada de temperatura T 200 es una variable de perturbación. Un balance de energía de agua de enfriamiento produce: Q 200 = F 200C p (T 201 − T 200) (5-95) Donde C p es la capacidad de calor del agua de enfriamiento asumida como una constante de 0.07kW/(Kg/min) La ecuación de la tasa de transferencia de calor es aproximada por: Q 200 = UA2(T 3 − 0.5(T 200 + T 201)) (5-96) Donde UA2 es un coeficiente de tiempo de transferencia de calor completo el área de transferencia de calor, la cual es asumida con un valor constante de 6.84kW/K. Estas dos ecuaciones pueden ser combinadas para eliminar T 201 para dar explícitamente: Q 200 = UA2(T 3 − T 200) 1 + UA2 /(2C p F 200) (5-97) Sigue que: T 201 = T 200 + Q 200 /( F 200C p ) (5-98) El flujo de condensación es: F 5 = Q 200 / λ (5-99) Donde λ es el calor latente de vaporización de agua asumido como una constante de 38.5kW/K(K/min) La dinámica dentro del condensador ha sido asumida para ser muy rápida. 5.4.8. Modelo matemático del evaporador La ecuación en espacio de estados es X& = Ax + By + Dd (5-100) Y la salida esta dada por y = cx (5-101) Calculando la ecuación en espacio de estados del sistemas ( SI − A) x = Bu + Dd (5-102) Despejando x x = (SI − A) [Bu + Dd ] −1 (5-103) Despejando y y = C (SI − A) [Bu + Dd ] −1 (5-104) y = C (SI − A) Bu + C (SI − A) Dd −1 −1 (5-105) Al linealizar el sistema se obtiene las matrices 0.10445 0.37935 0 A = 0 − 0. 1 0 0 0.10340 × 10 −1 − 0.54738 × 10−1 (5-106) 0.37266 0 − 0. 1 B = − .01 0 0 0 0.36914 × 10−1 0.75272 × 10− 2 (5-107) 1 0 0 C = 0 1 0 0 0 1 (5-108) − 0.36676 0.38605 D= 0 0.1 0.36302 0.32268 × 10− 2 − 0.3636 × 10 −1 0 0.1 0 0 0.35972 × 10− 2 0 (5-109) −1 0.17785 × 10 0 Iniciando los calculo de las ecuaciones por la matriz SI − A 0.10445 0.37935 s 0 0 0 − 0. 1 SI − A = 0 s 0 − 0 0 0 0 s 0 − 0.10340 × 10−1 − 0.54738 × 10−1 (5-110) Realizando la operación, reemplazando la matriz 5-86 − 0.10445 s SI − A = 0 s + 0.1 0 0.10340 × 10−1 0 −1 s + 0.54738 × 10 0.37935 (5-111) Calculando la inversa de la matriz (SI − A)−1 = Adj (SAI − A) SI − A (5-112) Se inicia calculando el determinante de la matriz s + 0.1 SI − A = s −1 0.10340 × 10 ( )( 0 = s (s + 0.1) s + 0.54738 × 10−1 (5-13) −1 s + 0.54738 × 10 ( ) ) SI − A = s 2 + 0.1s s + 0.54738 × 10 −1 = s 3 + 0.154738s 2 + 0.0054738s Para calcular la adjunta se procede a conseguir los cofactores (5-114) A11 = s + 0.1 0.10340 × 10 −1 ( 0 = (s + 0.1) s + 0.54738 × 10 −1 s + 0.54738 × 10−1 A11 = s 2 + 0.154738s + 0.0054738 ) (5-115) (5-116) A12 = 0 0 =0 0 s + 0.54738 × 10 −1 (5-117) A13 = s + 0.1 0 =0 0 s + 0.10340 × 10−1 (5-118) A21 = − − 0.10445 0.10340 × 10 − 0.37935 −1 s + 0.54738 × 10 −1 ( ( ) (− 0.10445) s + 0.54738 × 10 −1 − (5-119) = − −1 (− 0.37935) 0.10340 × 10 ) A21= −[− 0.10445s − 0.0057173841 − (− 0.003922749 )] = 0.10445s + 0.0017949051 (5-120) A22 = − 0.37935 s = s 2 + 0.54738 × 10−1 s −1 0 s + 0.054738 × 10 A23 = − A31 = (5-122) − 0.10445 − 0.37935 = −[(s + 0.1)(− 0.37935)] = 0.37935s + 0.037935(5-123) s + 0.1 0 A32 = − A33 = − 0.10445 s = −0.10340 × 10−1 s 0 0.10340 × 10−14 (5-121) s − 0.37935 =0 0 0 s − 0.10445 = s (s + 0.1) = s 2 + 0.1s 0 s + 0.1 (5-124) (5-125) Reemplazando los cofactores de 5-96 a 5-104 Matriz de cofactores s 2 + 0.154738s + 0.0054738 0 0 2 −1 −1 Mc = 0.10445s + 0.0017949051 s + 0.54738 × 10 s − 0.10340 × 10 s (5-126) − 0.37935s − 0.037935 0 s 2 + 0.1s Transponiendo la matriz s 2 + 0.154738 s 0.0054738 Adj ( SI − A) = 0 0 0.10445 s + 0 .0017949051 −1 s + 0.54738 × 10 s − 0 .10340 × 10 −1 s 2 0.37935 s + 0 .037935 (5-127) 0 s 2 + 0.1s Ya teniendo la inversa de SI − A se multiplica por la matriz C C ( SI − A) −1 = s 2 + 0.154738s0.0054738 0.10445s + 0.0017949051 0.37935s + 0.037935 0 s 2 + 0.54738 × 10−1 s 0 2 −1 0 0 . 10340 10 s s 0 . 1 s − × + s3 + 0.154738s 2 + 0.0054738s (5-128) Luego se multiplica por B C ( SI − A) −1 B = − 0.1s 2 − 0.0259 s − 0.0072 0.3726 s 2 + 0.0716 + 0.0034 − 0.0028s − 0.00028 2 − − 0 . 1 s 0 . 0054 s 0 0 0.001034 s 0.36914 × 10−1 s 2 + 0.0036s − 0.752 × 10− 2 s 2 − 0.00075 (5-129) s 3 + 0.154738s 2 + 0.0054738s Inicialmente sin tener en cuenta las perturbaciones del sistema p 2 ( s ) 0.36914 × 10 −1 s 2 + 0.0036914 s = p100 ( s ) s 3 + 0.154738s 2 + 0.0054738s (5-130) Simplificando p2 (s ) s (0.36914 × 10−1 s + 0.0036914) = p100 (s ) s ( s 2 + 0.154738s + 0.0054738) (5-131) Y en forma discreta es y( Z ) 0.00365Z 2 − 0.006914Z = U ( Z ) 1.015528Z 2 − 2.01547 Z − 1 (5-132) y (k ) = 0.0035U (k ) − 0.0068U (k − 1) + 1.984 y (k − 1) − 0.984 y (k − 2) (5-133) Al calcular los polos del sistema s 2 + 0.154738s + 0.0054738 s1 = −0.1 s2 = −0.0054738 (5-134) El sistema es sobre amortiguado. Tiene un polo en y otro en -0.054738, por tanto los tiempos de respuesta son 10 seg. Y 18.25 seg. respectivamente, entonces se toma 18.25seg por corresponder al polo mas cercano al origen (dominante). Por lo tanto TI no puede ser menor que 18.25seg. Teniendo las condiciones de funcionamiento del sistema se pueden obtener las constantes del mismo K P = 1.4828 K I = 0.008125 K D = 0.674 El controlador en forma discreta seria G(Z ) = 8.2268Z 2 − 14.962Z + 6.74 Z2 − Z U ( K ) = 8.2268e(k ) − 14.962e(k − 1) + 6.74e(k − 2) + U (k − 1) Llevando las constantes del sistema al algoritmo en línea. Figura 5.17. Evaporador con algoritmo en línea (5-135) (5-136) Ahora teniendo en cuenta las perturbaciones C ( SI − A) −1 D = − 0.366s 2 − 0.056s − 0.002 0.386s 2 + 0.0714s + 0.002 0.0104s + 0.00017 − 0.36 × 10 −1 s 2 − 0.0056 s − 0.00019 0.0011s + 0.00013 2 2 s s s s 0 0 . 1 0 . 0054 0 . 1 0 . 0054 0 0 + + 2 2 2 2 2 1 2 − − − 0.36302s + 0.03630s 0.322 × 10 s − 0.00071s 0.359 × 10 s + 0.000359 s 0.17 × 10 s + 0.0017 s − 0.00103s s 3 + 0.154738s 2 + 0.0054738s Tomando la perturbación p2 ( s ) 0.36302s 2 + 0.036302s = F 3( s ) s 3 + 0.154738s 2 + 0.0054378s (5-137) Discretizando la función p2 ( Z ) 0.03593Z 2 − 0.0036302 Z = F 3(Z ) 1.01552Z 2 − 2.0154 Z + 1 (5-138) p( Z ) = 0.0353F 3(k ) − 0.03574 F ·(k − 1) + 1.9846 p2 (k − 1) − 0.9847 p (k − 2) (5-139) La perturbación tomada es el flujo de recirculación F 3 . Esta es sumada a la señal de entrada y al igual que el modelo anterior evaluado en el algoritmo. Como se puede ver en la figura 5.18 el sistema inicial mente tiene un sobre impulso que luego de un tiempo se va estabilizando. Figura 5.18. Salida del sistema con perturbación 5.5. Sintonización de controladores PID utilizando algoritmos evolutivos fuera de línea Para el trabajo del algoritmo fuera de línea se hace con pocos individuos y se comienza con una población aleatoria, donde la función objetivo también es minimizar el error y el criterio de para es el tiempo. Ahora el mejor individuo no es cambiado en cada generación, sino que los datos van siendo almacenados y luego de terminadas las iteraciones a los dos mejores individuos se le aplican los operadores de mutación y cruce para obtener el nuevo para ser reemplazado por el peor. En este caso también se prueba con los sistemas ya descritos. 5.5.1. Sistema mecánico: masa –resorte Las constantes teóricas del sistema son KD = 1 KI = 8 KP = 7 Inmediatamente de ser evaluada por el algoritmo seleccionados y reemplazados son K D1 = 1.0889 K I 1 = 8.1584 K P1 = 7.1231 5.5.2. Circuito LRC Los parámetros iniciales del controlador son K P = 11 KI = 9 K D = −4 los mejores individuos Y cambian a la salida del algoritmo por K P1 = 11.0406 K I 1 = 9.0397 K D1 = −3.9722 5.5.3. Sistema de levitación magnética Inicialmente las constantes están dadas por K D = −10.2062 K I = −300.598 K P = −109.7167 A la evaluación del algoritmo pasan a ser K D1 = −10.2031 K I 1 = −300.5090 K P1 = −109.4673 5.5.4. MODELO DEL EVAPORADOR Teóricamente las constantes del evaporador son K P = 1.4828 K I = 0.008125 K D = 0.674 Y a la salida del algoritmo son K P1 = 1.5878 K I 1 = 0.0487 K D1 = 0.8084 6. ANÁLISIS ECONÓMICO Y ADMINISTRATIVO En el desarrollo de este trabajo no se realizo implementación, por lo cual los gasto son netamente de la investigación realizada. • Documentación en Internet $ 100.000 • Fotocopias $ 100.000 • Impresiones $ 100.000 • Honorarios profesionales (Director) $ 200.000 TOTAL $ 500.000 Los recursos utilizados para cubrir los gastos de la elaboración de este trabajo fueron de recursos propios. El impacto Económico: este desarrollo construye un soporte para el posterior desarrollo de una herramienta computacional de aplicación industrial que pueda ser registrada, por lo que se pudiera tener ingresos económicos por la comercialización de la misma. A la hora de ser implementada en plantas industriales generaría menos perdidas en la elaboración de los productos, ya que los equipos seguirían funcionando normalmente al ser resintonizandos los puntos de operación cuando ocurra algún comportamiento no debido ocurra. 7. ANÁLISIS DE LEGALIDAD Para la implementación de la herramienta computacional para la sintonización de controladores PID se utilizó el software de Matlab. La Universidad de Pamplona posee las licencias requeridas para ser usado por estudiantes, investigadores y profesores vinculados a esta. En el caso de implantación no se hace indispensable este software, cualquier lenguaje de programación que posea las herramientas necesarias puede ser utilizado. 8. INFLUENCIA AMBIENTAL El funcionamiento inadecuado de las plantas industriales debido al desgaste, vencimiento del tiempo útil de uso, factores externos de algunos equipos, etc., podría generar gases y sustancias nocivas para la salud del personal a cargo y además contaminantes para el ambiente. Este algoritmo traería beneficios no solo en la operación apropiada de procesos o sistemas, sino que también reduce la emisión de residuos tóxicos a la atmósfera, y el consumo de energía en la planta. CONCLUSIONES • El uso de algoritmos evolutivos para la sintonización de controladores PID constituye un novedoso enfoque de resolución de problemas, con excelentes potencialidades en el campo de las aplicaciones industriales. • El desarrollo de este trabajo permitió el diseño de un algoritmo evolutivo que logra la reentonación de controladores del tipo PID cuando ocurre falla de algún componente del sistema. • Los resultados alcanzados en el trabajo pueden ser visualizados como el punto de partida para el desarrollo de investigaciones de punta en el área de la sintonización de controladores industriales. • El enfoque de desarrollo y el algoritmo propuesto no representa riesgos para la operación segura de la planta ni para sus operarios. • La implantación física del algoritmo de sintonización propuesto no conlleva a gastos elevados en comparación con otros esquemas de sintonización corrientemente utilizados en la práctica. • Vale la pena recalcar, que una de las ventajas novedosas del enfoque de sintonización propuesto está en permitir la continuación de la operación de la planta, aún ante la presencia de perturbaciones o fallas en la misma. • Es notable la reducción del tiempo para acometer la sintonización de un controlador PID, en comparación con el tiempo utilizado empleando otros enfoques. • El algoritmo puede ser utilizado exitosamente para sistemas dinámicos de segundo y tercer orden, de los cuales se dispone de modelos matemáticos representativos de sus comportamientos. • El algoritmo de sintonización propuesto fue validado utilizando señales de perturbación sobre los procesos considerados. • Para propósitos ilustrativos, el algoritmo propuesto fue implantado en la sintonización de controladores PID en una planta de evaporación, utilizando un modelo matemático representativo de la misma. • El trabajo ejecutado puede servir de base para el desarrollo de otros proyectos de grado, tanto a nivel de pregrado como de postgrado. • Todos los objetivos propuestos al inicio de este proyecto fueron satisfactoriamente acometidos. RECOMENDACIONES • Para el caso del algoritmo en línea, se puede utilizar para cualquier proceso. Es mas optimo y robusto (al variar la incertidumbre el controlador no pierda su correcto funcionamiento) pero mas bajo un punto de operación (no aleatorio sobre métodos convencionales). • En el caso en línea se recomienda utilizar un computador con procesador más rápido que el tiempo de respuesta del sistema. • Con una posible implementación para sistemas d otra naturaleza tener en cuenta la población, función de aptitud, tipo de operadores, y los parámetros de población, generación probabilidad de cruce y probabilidad de mutación • En lo posible para realizar estudios sobre el concepto de robustez para incluirlo dentro del algoritmo. • Estudiar la posibilidad de ser implantado en algún proceso industrial para ir obteniendo mejoras de este. BIBLIOGRAFIA [1] www.habitat.aq.upm.es .boletin/n21/amher1.html . Abril de 2004 [2] www.Informáticaevolutiva.com Algoritmosgenéticos.html, Juan Julián Merelo Guervós, jmerelogeneura.ugr.es. Agosto de 2003 [3] www.inteligenciaartificialc.com .La Computación Evolutiva en el Contexto de la Inteligencia Artificial.htm, Carlos A. Coello Coello, Copyright 1997 LANIA, A.C. [4] Computación Evolutiva. Francisco Hidrovo Torres- José L. Aguilar Castro. Universidad de Los Andes. Merida, Venezuela [5] \GAIA Computación Evolutiva.htm. Marzo 2005 [6] [email protected], [email protected] .AG_Bivariado.pdf Septiembre de 2003 [7] González Heli, Larrazábal Germán, Loyo Jacqueline, [email protected]. Algoritmo Evolutivo Paralelo para Problemas de Asignación Cuadrática - QAP ilustrados_com.htm. Publicado sábado 31 de enero de 2004 [8] computación evolutiva.pdf, Andrés Romero Rodríguez, Mario Linares Vásquez, XIV CNEIS, Marzo 16 - 2005 [9] EVOLUTIONARY ALGORITHMS.J. Madar and J. Abonyi (2005). EAfull.pdf [10] IFAC PROFESSIONAL BRIEF. Genetic algorithms in control systems engineering. P. J. Fleming http://www.shef.ac.uk/~acse/people/p.j.fleming/, R. C. Purshouse www.shef.ac.uk/~acse/research/students/r.c.purshouse/. Department of Automatic Control and Systems Engineering. University of Sheffield, UK. PB_Fleming_Purshouse.pdf. 2005 [11] estructuras-FIN.pdf, ING. PHD. GUILLERMO FRANCO, Noticreto Nº 72. Algoritmos evolutivos en ingeniería. Agosto- Septiembre- Octubre de 2004 [12] Pablo Estévez valencia. Chile, agosto 1997. [email protected]. optimizacion.pdf [13] Computación Evolutiva eXactas_org La Universidad Evolutiva_ Comunidad Estudiantil de formación interdisciplinaria.htm abril de 2002 por los estudiantes de la F.C.E.I.A. (U.N.R.). [14] Computación Evolutiva3.htm http://www.aic.nrl.navy.mil/galist/, 2001 [15] [Alba/Cotta] Alba, E. Cotta, C. Tutorial de Algoritmos Evolutivos. http://polaris.lcc.uma.es/~ccottap/semEC/. algoritmosGeneticos.pdf. 2001 [16] [email protected], [email protected], GMSP_paper.pdf. Junio de 2002 [17] Dr. Alejandro Guerra Hernández. [email protected], www.uv.mx/aguerra. México Abril 1, 2004 [18] ttp://es.wikipedia.org/wiki/Teor%C3%ADa_de_la_Evoluci%C3%B3n1. 6:43 25 ago, 2005. El contenido está disponible bajo los términos de la GNU Free Documentation License [19] Universidad Nacional del Nordeste .Fac. De Agroindustrias, Sáenz Peña, Chaco. Fac. Ciencias Agrarias, Corrientes República Argentina. ©19982004.http://www.biologia.edu.ar. http://fai.unne.edu.ar/biologia/evolucion/evo1.htm [20] Publicación enviada por Aberto García. Código ISPN de la Publicación: EpyyupVuyulSAOLqUy. Publicado Friday 17 de October de 2003 http://www.ilustrados.com/publicaciones/EpyyupVuyulSAOLqUy.php [21] 1997 Lucas Morea / Sinexi S.A http://www.monografias.com/trabajos/reproduccion/reproduccion.shtml [22] introducción a la computación evolutiva cap1.pdf [23] algoritmos evolutivos cap7.pdf [24] María Teresa Iglesias Otero. Universidad de la Coruña. [email protected] pg02-03-iglesias .pdf. 2002,2003 [25] REDcientifica - Computación Evolutiva - Manuel de la Herrán Gascón.htm. 18 de Enero de 2002 [26] computación evolutiva Carlos a Coello, abril de 2005 [27] Algoritmos Genéticos. eXactas_org. La Universidad Evolutiva_ Comunidad Estudiantil de formación interdisciplinaria.htm abril de 2002 por los estudiantes de la F.C.E.I.A. (U.N.R.). [28] Algoritmos genéticos y computación evolutiva.htm, Adam Marczyk, traducción Gabriel Rodríguez Alberich., octubre de 2004 [29] Características de los algoritmos genéticos.htm. David Santo Orcero Palabras claves. Octubre de 2003 [30] BENYAMIN KUSUMOPUTRO. Computational Intelligence Research Laboratory Faculty of Computer Science, University of Indonesia Depok Campus, INDONESIA. [email protected]. 19 de Noviembre de 2003 [31] Control Automatico 1. http://iaci.unq.edu.ar/caut1. Automatización y Control Industrial. Universidad Nacional de Quilmas. Virginia Mazon. Marzo 2002 [32] Ingeniería De Control Moderna. Katsuhiko Ogata. Tercera edición Pearson educación. [33] Sistemas de control automático séptima edición benjamín kuo Prentice Hall 1996 Enrique Jacob México [34] Universidad Simón Bolívar. Departamento de Procesos y Sistemas. Sección de sistemas de control. Introducción al control de procesos. Prof. Jenny Montbrun Di Filippo. Prof. Yamilet Sánchez Montero [35] Sistemas De Control En Tiempo Discreto. Katsuhiko Ogata. Segunda edición Pearson educación. México 1996 ANEXO Los anexos de este trabajo se presentan en formato electrónico al respaldo del informe o en una carpeta llamada ‘ANEXOS’ en el C.D de entrega final. GLOSARIO DE TÉRMINOS TÉCNICOS Alelo: Un alelo es un valor para un gen. Utilizando la definición de gen que hace referencia a una porción de cadena genética determinada, los alelos de ese gen serían todos los posibles valores que puede tomar ese segmento de cadena genética. [5] Azar, Aleatorio: sin causa, y por tanto, teóricamente impredecible, excepto en forma de probabilidad [5] Caos: es la situación de desorden en que, según ciertas teorías o creencias, se encontraba el universo antes de adquirir su ordenación actual.[5] Cromosoma: Un cromosoma está formado por un conjunto de genes. En computación evolutiva es raro dividir la información genética en cromosomas y éstos, a su vez, en genes. Lo habitual es que cada individuo esté formado por un único cromosoma. Al existir ambos términos (cromosoma e individuo) disponibles, la comunidad científica que aplica computación evolutiva los ha utilizado para distinguir distintos matices de un mismo concepto. Así, cuando se habla de cromosoma, se suele hacer referencia a la cadena de bits o de símbolos que forman la entidad (genotipo). En cambio, cuando se usa el término individuo, se hace referencia a la interpretación de estos símbolos, a su significado como solución al problema. [5] Diagrama en bloques: permite mostrar las conexiones y cada bloque que representa. Epístasis: El fenómeno de la epístasis consiste en la existencia de fuertes vinculaciones (también llamadas "interacciones") entre los genes, de forma que el efecto de unos genes inhibe o potencia otros, o incluso el resultado es tan complejo que no tiene sentido considerar los efectos de los genes de forma individual sino conjuntamente. "El problema de la epístasis" o "el problema de la ausencia de bloques constructores" consiste en la existencia de estas interacciones entre los genes. Los problemas con poca epístasis son triviales, y se pueden solucionar con un simple método de escalada. Los problemas con mucha epístasis son difíciles de resolver, incluso para los Algoritmos Genéticos. Un problema donde todos los genes tuvieran fuerte vinculación entre sí, es decir, cuyos efectos dependan del valor de todos los demás genes, no sería un problema irresoluble, pero sí el peor que nos podríamos encontrar, no sólo para las técnicas evolutivas, sino para cualquier otro método. Sería algo así como buscar un objeto con los ojos cerrados, y la mejor forma de tratarlo sería, lógicamente, una búsqueda secuencial. Error: es la diferencia entre la señal de referencia y la señal de salida real. Estado: cantidad mínima necesaria que permite conocer la evolución de una variable de estado. Función fitness: Se trata de una función evaluadora de la calidad de un individuo como solución a nuestro problema. Permite la ordenación de los individuos de la población en cuanto a bondad de los mismos. [15] Individuo o cromosoma: Un individuo determina una potencial solución del problema que se pretende resolver mediante el algoritmo genético.[15] Paradigma: Ejemplo, método, técnica, estrategia. [5] Perturbación: es una señal que tiende a afectar la salida del sistema, desviándola del valor deseado. Planta: es el elemento físico que se desea controlar. Planta puede ser: un motor, un horno, un sistema de disparo, un sistema de navegación, un tanque de combustible, etc. Población: Conjunto de individuos con los que se trabaja en el algoritmo genético. En un algoritmo genético los individuos que constituyen la población van cambiando pero generalmente el tamaño de la misma permanece constante. [15] Proceso: operación que conduce a un resultado determinado. Sensor: es un dispositivo que convierte el valor de una magnitud física (presión, flujo, temperatura, etc.) en una señal eléctrica codificada ya sea en forma analógica o digital. También es llamado transductor. Los sensores, o transductores, analógicos envían, por lo regular, señales normalizadas de 0 a 5 voltios, 0 a 10 voltios o 4 a 20 mA. Señal de salida: es la variable que se desea controlar (posición, velocidad, presión, temperatura, etc.). También se denomina variable controlada. Señal de referencia: es el valor que se desea que alcance la señal de salida. Señal de control: es la señal que produce el controlador para modificar la variable controlada de tal forma que se disminuya, o elimine, el error. Señal analógica: es una señal continua en el tiempo. Señal digital: es una señal que solo toma valores de 1 y 0. Sistema: consiste en un conjunto de elementos que actúan coordinadamente para realizar un objetivo determinado. Sistema de control en lazo cerrado: es aquel en el cual continuamente se está monitoreando la señal de salida para compararla con la señal de referencia y calcular la señal de error, la cual a su vez es aplicada al controlador para generar la señal de control y tratar de llevar la señal de salida al valor deseado. También es llamado control realimentado. Sistema de control en lazo abierto: en estos sistemas de control la señal de salida no es monitoreada para generar una señal de control.