PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ ESCUELA DE POSGRADO Diseño de un GPC con Restricciones Basado en un Modelo ANFIS para el Control del Proceso de Neutralización del pH en los Efluentes Residuales de una Planta Concentradora de Minerales Polimetálicos TESIS PARA OPTAR EL GRADO ACADÉMICO DE MAGISTER EN INGENIERÍA DE CONTROL Y AUTOMATIZACIÓN AUTOR Ing. CARDOZO GÁLVEZ, Erick Octavio ASESOR D.Sc RIVAS PEREZ, Raúl MAYO, 2018 RESUMEN Actualmente, la necesidad de proteger los recursos hídricos debido a la explotación indiscriminada y altos índices de contaminación ha obligado a la comunidad científica a buscar soluciones que posibiliten mitigar estas prácticas. El agua potable constituye un recurso vital que se encuentra en crisis. Para su protección se han creado organizaciones que fiscalizan su uso en las industrias, agricultura y minería. Se busca alternativas de solución de este problema para evitar pérdidas de vidas humanas y económicas, y/o conflictos sociales. En esta tesis se investiga la problemática relacionada con el control efectivo del proceso de neutralización del pH en los efluentes residuales de una planta concentradora de minerales polimetálicos, lo cual posibilita reutilizar el agua, evitando la contaminación de los lagos y/o lagunas cercanas con las aguas resultantes del proceso minero. Se desarrolla el diseño de un controlador predictivo generalizado (GPC) basado en un modelo con arquitectura adaptativa de inferencia neuro-difusa (ANFIS - Adaptive Neuro Fuzzy Inference System), es decir un controlador GPC-ANFIS. Considerando la alta no linealidad que presenta el comportamiento dinámico de la planta objeto de estudio, la arquitectura ANFIS posibilita obtener una cierta cantidad de modelos lineales en todo el rango de operación de dicha planta, es decir se divide el comportamiento dinámico de la planta en determinados modelos lineales, y cada uno de estos modelos forma parte de la estructura del controlador GPC-ANFIS. El controlador que se diseña presenta restricciones en el incremento de la señal de control, para lo cual se utiliza un algoritmo de programación cuadrática sujeta a restricciones, lo que posibilita el funcionamiento de la planta dentro de los límites de variación del pH requeridos (entre 7 – 8). Finalmente, se realiza un análisis de robustez del controlador diseñado, así como una propuesta de su implementación práctica. ii ÍNDICE INTRODUCCIÓN ............................................................................................................ 1 CAPITULO 1. ESTADO DEL ARTE DE LOS SISTEMAS DE CONTROL DEL pH EN LOS EFLUENTES RESIDUALES DE LAS PLANTAS CONCENTRADORAS DE MINERALES POLIMETÁLICOS ............................................................................ 5 1.1. Introducción ........................................................................................................... 5 1.2. Problemática actual de la industria minera ............................................................ 5 1.3. Problemática de la minería con los recursos hídricos ............................................ 8 1.4. Estado del arte de los sistemas de control del proceso de neutralización del pH en los efluentes residuales de las plantas concentradoras de minerales ................... 9 1.4.1. Estado del arte de los sistemas de control de los procesos mineros ........................ 10 1.4.2. Estado del arte de los sistemas de control avanzado ................................................. 12 1.4.3. ABB ............................................................................................................................... 14 1.4.4. Andritz ........................................................................................................................... 15 1.4.5. Honeywell ..................................................................................................................... 16 1.4.6. Estado del arte de los sistemas de control del pH en los efluentes residuales de las plantas concentradoras de minerales .......................................................................... 18 1.5. Objetivos de la tesis ............................................................................................. 21 1.5.1. Objetivo general ............................................................................................................ 21 1.5.2. Objetivos específicos .................................................................................................... 21 CAPITULO 2. IDENTIFICACIÓN DEL COMPORTAMIENTO DINÁMICO DEL PROCESO DE NEUTRALIZACIÓN DEL PH EN LOS EFLUENTES RESIDUALES ………………………………………………………………………………………… 22 2.1. Introducción ......................................................................................................... 22 2.2. Descripción del proceso productivo de las plantas concentradoras de minerales polimetálicos ...................................................................................................... 22 2.2.1. Etapas de la concentración de minerales .................................................................... 22 2.3. Caracterización del proceso de neutralización del pH de los efluentes residuales 33 iii 2.3.1. Comportamiento dinámico del pH.............................................................................. 35 2.3.2. Generación de las señales de entrada a la planta de neutralización ................... 36 2.4. Obtención del modelo ANFIS del proceso de neutralización del ph de los efluentes residuales mediante identificación de sistemas. ................................. 39 2.4.1. Arquitectura ANFIS ..................................................................................................... 39 2.4.2. Aprendizaje de la red .................................................................................................... 42 2.4.3. Agrupamiento sustractivo ............................................................................................ 46 2.4.4. Identificación del sistema ............................................................................................. 50 2.4.5. Síntesis del procedimiento híbrido ANFIS ................................................................ 59 2.4.6. Resultados obtenidos .................................................................................................... 61 2.5. Validación del modelo ......................................................................................... 66 2.6. Conclusiones ........................................................................................................ 69 CAPÍTULO 3: DISEÑO DE UN GPC-ANFIS CON RESTRICCIONES PARA EL CONTROL DEL PROCESO DE NEUTRALIZACIÓN DE PH DE LOS EFLUENTES RESIDUALES ................................................................................................................ 70 3.1. Introducción ......................................................................................................... 70 3.2. Fundamentación de la estrategia de control a utilizar. ......................................... 70 3.2.1. GPC, conceptos básicos ............................................................................................... 70 3.2.2. Elección del modelo ..................................................................................................... 72 3.2.3. Predictor GPC ............................................................................................................... 73 3.2.4. Obtención de la ley de control ..................................................................................... 79 3.2.5. Control GPC con modelo de perturbación. ................................................................ 82 3.2.6. GPC con modelo de perturbación ............................................................................... 83 3.3. Optimización ........................................................................................................ 95 3.3.1. Optimización - Comando Quadprog de Matlab. ....................................................... 95 3.3.2. Introducción a la optimización .................................................................................. 102 3.3.3. Optimización: Programación lineal .......................................................................... 109 iv 3.3.4. Métodos del punto interior ......................................................................................... 114 3.3.5. Optimización – Programación cuadrática ................................................................ 123 3.4. Resultados obtenidos con el controlador GPC-ANFIS diseñado ...................... 129 3.4.1. Respuesta del sistema de control frente a un setpoint de 7.00 sin perturbación 129 3.4.2. Respuesta temporal del sistema de control frente un setpoint de 7.00 con perturbación ................................................................................................................. 130 3.4.3. Respuesta del sistema de control frente a variaciones en el setpoint y con perturbación ................................................................................................................. 131 3.5. Conclusiones ...................................................................................................... 132 CAPÍTULO 4: ANÁLISIS DE ROBUSTEZ Y PROPUESTA DE IMPLEMENTACIÓN DEL CONTROLADOR DISEÑADO .......................................................................... 133 4.1. Introducción ....................................................................................................... 133 4.2. Análisis de robustez del controlador GPC-ANFIS diseñado. ............................ 133 4.3. Resultados comparativos del sistema de control del proceso de neutralización del pH con controladores GPC-ANFIS vs PID ..................................................... 136 4.3.1. Desarrollo de un diagrama en Simulink de la planta objeto de estudio y respuesta a una señal de entrada escalón ...................................................................................... 136 4.3.2. Respuesta temporal de la planta objeto de estudio con controlador PID .............. 137 4.4. Propuesta de implementación práctica del controlador diseñado ...................... 139 4.5. Conclusiones. ..................................................................................................... 141 CONCLUSIONES GENERALES ............................................................................... 143 RECOMENDACIONES .............................................................................................. 145 REFERENCIAS BIBLIOGRÁFICAS ......................................................................... 146 ANEXOS ...................................................................................................................... 157 8.1. Programa para la identificación del sistema con modelo ANFIS ...................... 157 8.2. Programa que desarrolla la implementación del controlador GPC – ANFIS .... 168 v ÍNDICE DE FIGURAS Figura 1.1. Principales causas de los conflictos mineros en el Perú ................................ 7 Figura 1.2. Evolución de la automatización en el procesamiento de minerales. ............ 10 Figura 1.3. Estrategia de control del proceso de flotación basada en información visual. .. 12 Figura 1.4. Algoritmo de control de ABB ...................................................................... 15 Figura 1.5. Estructura del modelo usado por BrainWave............................................... 16 Figura 1.6. Diagrama de bloques Smart Grind. Honeywell, controlador predictivo multivariable. .................................................................................................................. 17 Figura 1.7. Proceso de neutralización del pH. ................................................................ 18 Figura 2.1. Chancadora tipo mandíbula.......................................................................... 23 Figura 2.2. Diagrama esquemático de un circuito de chancado. .................................... 24 Figura 2.3. Diagrama de corte de un molino de bolas. ................................................... 25 Figura 2.4. Diagrama de un circuito de molienda .......................................................... 27 Figura 2.5. Diagrama molienda – hidrociclón. ............................................................... 28 Figura 2.6. Circuito de flotación. .................................................................................... 29 Figura 2.7. Espesador tipo puente. ................................................................................. 30 Figura 2.8. Filtro de discos al vacío. .............................................................................. 30 Figura 2.9. Filtro de placas verticales. ............................................................................ 30 Figura 2.10. Circuito de una planta concentradora de minerales ................................... 31 Figura 2.11. Etapas del proceso de tratamiento de aguas residuales. ............................. 33 Figura 2.12. P&ID del proceso de neutralización de pH. ............................................... 34 Figura 2.13. Respuesta del pH ante un cambio tipo escalón en la entrada (solución ácida) .............................................................................................................................. 36 Figura 2.14. Señal generada para el flujo de la solución ácida (variable manipulada) .. 37 Figura 2.15. Señal generada para el flujo de la solución base (a ser considerada como perturbación). .................................................................................................................. 37 vi Figura 2.16. Respuesta del sistema (pH) frente a cambios de los flujos de entrada. ..... 38 Figura 2.17. Arquitectura ANFIS ................................................................................... 39 Figura 2.18. Función triangular ...................................................................................... 42 Figura 2.19. Partición tipo rejilla. ................................................................................... 48 Figura 2.20. Partición por dispersión.............................................................................. 48 Figura 2.21. Arquitectura empleada para la identificación de la planta objeto de estudio. . 51 Figura 2.22. Funciones de pertenencia de la entrada x1(k), ácido acético ..................... 62 Figura 2.23. Funciones de pertenencia de la entrada x1(k-1), ácido acético. ................. 63 Figura 2.24. Funciones de pertenencia de la entrada x2(k), hidróxido de sodio. ........... 63 Figura 2.25. Funciones de pertenencia de la entrada x2(k-1), hidróxido de sodio. ........ 64 Figura 2.26. Funciones de pertenencia de la salida y1(k), pH........................................ 64 Figura 2.27. Funciones de pertenencia de la salida y1(k-1), pH. ................................... 65 Figura 2.28. Resultados de la identificación del sistema ................................................ 65 Figura 2.29. Señal de error durante la identificación del sistema con modelo ANFIS. . 66 Figura 2.30. Parte de la señal generada para entrada de flujo de la solución ácida F1 (ácido acético) para la validación del modelo. .............................................................. 67 Figura 2.31. Parte de la señal generada para entrada de flujo de la solución base F2 (hidróxido de sodio) para la validación del modelo, a usarse como perturbación. ....... 67 Figura 2.32. Comparación de las señales de la salida de la red ANFIS vs. la salida de la Planta. ............................................................................................................................. 68 Figura 2.33. Error absoluto entre las señales de la salida de la red ANFIS vs. la salida de la Planta. ......................................................................................................................... 68 Figura 3.1. Señal de predicción calculada por el GPC. .................................................. 71 Figura 3.2. Señal de control calculada por el GPC. ........................................................ 72 Figura 3.3. Diagrama de bloques de un sistema de control convencional con perturbación .................................................................................................................... 82 Figura 3.4. Control feedforward ..................................................................................... 83 vii Figura 3.5. GPC con modelo de perturbación ................................................................ 84 Figura 3.6. Función fx = x − x ∗ 2 ............................................................................... 103 Figura 3.7. Función fx = −2cos( x − x ∗) .................................................................... 103 Figura 3.8. Función fx = 0.015x − x ∗ 2 ..................................................................... 104 Figura 3.9. Función convexa ........................................................................................ 104 Figura 3.10. Condición de convexidad de primer orden. ............................................. 105 Figura 3.11. Función x, y = x2y, y > 0 ........................................................................ 105 Figura 3.12. Distintos puntos mínimos, máximos en funciones. .................................. 106 Figura 3.13. Representación gráfica del método de Newton. ....................................... 107 Figura 3.14. Conjuntos convexos ................................................................................. 111 Figura 3.15. Efecto no deseado cuando alguna variable de holgura se bloquea durante el camino al óptimo durante el método del camino interior. ............................................ 116 Figura 3.16. Camino central hacia el óptimo – método de punto interior. ................... 117 Figura 3.17. Evolución de μ en el problema de la barrera logarítmica para hallar el óptimo. .......................................................................................................................... 118 Figura 3.18. Trayectoria del camino central y los pasos predictor y correcto de Mehrotra. ...................................................................................................................... 120 Figura 3.19. Proceso del sistema de control con GPC.................................................. 126 Figura 3.20. Diagrama de bloques del sistema de control con GPC y modelo ANFIS de la planta objeto de estudio. ........................................................................................... 129 Figura 3.21. Respuesta temporal del sistema de control, sin perturbación. ................. 130 Figura 3.22. Respuesta temporal del sistema de control, con perturbación. ................ 131 Figura 3.23. Respuesta temporal del sistema de control con perturbación y variaciones en el Setpoint. ............................................................................................................... 131 Figura 4.1: Arquitectura del modelo ANFIS sin considerar perturbación. .................. 134 Figura 4.2. Respuesta temporal del sistema de control con GPC-ANFIS sin modelo de perturbación. ................................................................................................................. 135 viii Figura 4.3. Diagrama en Simulink de la planta de neutralización de pH. .................... 136 Figura 4.4. Respuesta temporal de la planta objeto de estudio frente a un escalón. .... 137 Figura 4.5. Diagrama en Simulink del sistema de control de la planta de neutralización de pH con controlador PID ........................................................................................... 137 Figura 4.6. Respuesta temporal del sistema de control de la planta objeto de estudio con controlador PID ............................................................................................................ 138 Figura 4.7. Diagrama de instrumentación del sistema de control del proceso de neutralización del pH de la planta objeto de estudio .................................................... 139 Figura 4.8. Arquitectura del sistema de control del proceso de neutralización del pH de la planta objeto de estudio que se propuesto. ............................................................... 141 ix ÍNDICE DE TABLAS Tabla 1.1. Demanda del agua en un proceso convencional. ............................................ 8 Tabla 2.1. Tamaños estándares del mineral durante las etapas de trituración ............... 23 Tabla 2.2. Condiciones de operación de la planta objeto de estudio ............................. 35 Tabla 2.3. Pasos del algoritmo híbrido de aprendizaje de la red ANFIS....................... 43 Tabla 2.4. Indicadores de proximidad entre los valores reales y valores estimados ANFIS durante la validación del sistema. ...................................................................... 66 Tabla 2.5. Índices de aproximación de comparación entre la señal de salida ANFIS y la señal de salida de la planta. ............................................................................................ 69 Tabla 3.1: Resumen del GPC con restricción en la acción de control. ......................... 91 Tabla 4.1. ITAE del sistema de control con GPC-ANFIS con y sin modelo de perturbación. ................................................................................................................. 135 Tabla 4.2. Resultados comparativos del ITAE con controlador GPC-ANFIS vs. PID. ... 138 Tabla 4.3. Instrumentos y equipos propuestos para el sistema de control diseñado del proceso de neutralización del pH de la planta objeto de estudio. ................................. 139 Tabla 4.4. Módulos requeridos en el PAC Rockwell Automation. ............................. 140 x INTRODUCCIÓN En la actualidad, la actividad minera para el procesamiento de minerales, utiliza de forma continua una gran cantidad de recursos energéticos, naturales y humanos [41]. Un control deficiente de estos recursos conlleva a: gastos excesivos de la energía eléctrica, impactos ambientales (contaminación del aire y del agua), y/o aumento del personal operativo, lo cual afecta directamente los costos de producción de la empresa y a su vez la competitividad de la misma [6,41]. Por consiguiente, resulta necesario desarrollar alternativas de solución que posibiliten lograr el uso óptimo y eficiente de todos los recursos involucrados en este proceso, y de ésta forma mantener a las empresas dentro de un mercado competitivo [41]. En la actividad minera, específicamente en las plantas concentradoras de minerales, todos los procesos involucrados (chancado, molienda, flotación, etc.) hacen uso de grandes volúmenes de agua para poder alcanzar sus objetivos y productividad [59]. Se estima que esta clase de industria consume aproximadamente 1.2 𝑚3 de agua por tonelada de mineral tratado [35]. En este contexto, las empresas mineras tienen la obligación de realizar un consumo racional y un tratamiento efectivo del agua (neutralización del pH), debido al impacto económico, ambiental y social que originan las aguas contaminadas [35]. Un uso excesivo del agua, aumenta los costos de operación de las empresas y un mal tratamiento del agua causa contaminación ambiental y conflictos sociales con las comunidades mineras [6, 35]. Para mitigar estos problemas, las plantas concentradoras de minerales tienen que reusar el agua resultante de sus procesos productivos, para lo cual deben disponer de plantas de tratamiento de aguas residuales, las cuales posibilitan descontaminar el agua hasta alcanzar los límites establecidos en los estándares ambientales para su reutilización en la propia industria o en su defecto en otras actividades productivas, entre las que se encuentran el regadío, la aspersión en zonas con alto contenido de polvo, etc. [35]. En el caso del reúso del agua en el regadío, los límites permisibles de la calidad del agua se encuentran regulados por un ente estatal, que fiscaliza la calidad del agua resultante, por su impacto directo en las vidas humanas de las poblaciones vecinas [6,35]. Para el tratamiento de las aguas residuales, es necesario alcanzar un pH determinado, generalmente neutro (pH=7), haciendo uso de diversas técnicas, así como de reactivos 1 químicos, ello implica controlar el pH y mantenerlo entre valores entre 7 y 8 [41]. Este procedimiento se denomina proceso de neutralización del pH [41,45]. El proceso de neutralización del pH del agua consiste en mantener dicha variable en un valor cercano a 7 [41]. Desafortunadamente, el control efectivo del pH en las plantas de neutralización es muy difícil de lograr mediante controladores convencionales (PID), debido a que esta clase de controladores no son suficientes para el control efectivo de procesos productivos con comportamientos dinámicos complejos (altamente no lineal, cambios frecuentes en los regímenes de operación, parámetros dinámicos variantes en el tiempo, retardo de tiempo, etc.), ver por ejemplo [45]. Un control deficiente del pH conlleva a un considerable incremento del consumo de agua, a una mayor utilización de los insumos químicos, así como a la obtención de impactos ambientales negativos que originan problemas sociales y multas económicas significativas por parte del estado [6, 41]. Para contrarrestar estos inconvenientes, se requiere del diseño e implementación de sistemas de control avanzado del proceso de neutralización del pH de los efluentes de la industria [41,46,47]. Los controladores avanzados posibilitan considerar la complejidad dinámica del proceso de neutralización del pH [41,44,45,46,47,58]. Los controladores avanzados, por ejemplo los controladores predictivos basados en modelos, han sido implementados con éxito en el control de plantas con alto grado de complejidad, y han demostrado eficiencia, reduciendo y optimizando el consumo de materia prima y de recursos energéticos, ver por ejemplo [40,53,54,55,56,57]. Pero en contra parte, esta clase de controladores presenta ciertas desventajas, entre las que se encuentran: mayor complejidad algorítmica, elevada potencia de procesamiento de información, y un conocimiento certero del proceso por parte de los operadores para poder introducir cambios en los regímenes de operación de las plantas de tratamiento del agua [74, 95, 101]. Pese a ello, debido al actual desarrollo tecnológico, la implementación de dichos controladores cada vez es más factible e intuitiva en su uso [79, 93, 96, 99]. Los controladores avanzados requieren de un modelado adecuado del proceso a controlar para el control y predicción óptimos de ciertas variables [102]. Para lo cual se recurre a la aplicación de los métodos de identificación de sistemas [52], los cuales son muy efectivos en la obtención de modelos matemáticos adecuados de plantas con comportamientos dinámicos complejos y/o inciertos, ver por ejemplo [38, 39, 69, 73, 2 86, 88, 89, 94, 97, 98, 105]. Este trabajo parte de la hipótesis de que es posible realizar un control efectivo del proceso de neutralización del pH en los efluentes residuales de las plantas concentradoras de minerales polimetálicos mediante el diseño de controladores predictivos generalizados (GPC) con restricciones, basados en modelos identificados por el método ANFIS (sistema de inferencia difusa fundamentado en redes neuronales adaptativas) - GPC-ANFIS. El presente trabajo tiene como objetivo general: Diseñar un GPC con restricciones, basado en un modelo ANFIS (GPC-ANFIS) para el control efectivo del proceso de neutralización del pH en los efluentes residuales de una planta concentradora de minerales de polimetálicos. Los objetivos específicos planteados son:  Desarrollar un estudio sobre el estado de arte de los sistemas de control de los efluentes residuales de las plantas concentradoras de minerales polimetálicos.  Obtener un modelo ANFIS que describa adecuadamente el comportamiento dinámico del pH en el proceso de neutralización de los efluentes residuales de una planta concentradora de minerales polimetálicos  Diseñar un controlador predictivo generalizado (GPC) con restricciones basado en un modelo ANFIS (GPC-ANFIS) del proceso de neutralización del pH en los efluentes residuales de una planta concentradora de minerales polimetálicos.  Analizar la robustez del sistema de control diseñado.  Realizar una propuesta de implementación práctica del controlador GPC-ANFIS diseñado. A fin de alcanzar los objetivos planteados, el presente trabajo presenta la siguiente estructura: En el capítulo 1, se analiza la problemática relacionada con el uso eficiente del recurso agua en la industria minera. Además se realiza un estudio sobre el estado del arte de los sistemas de control del proceso de neutralización del pH en los efluentes residuales de las plantas concentradoras de minerales polimetálicos. 3 En el capítulo 2, se desarrolla el modelado de la planta objeto de estudio basado en el concepto de redes ANFIS, en la cual se muestra el proceso de generación de señales para la identificación de la planta y posterior validación. Se muestran los índices de comportamiento del proceso de identificación, los cuales se aplican en el diseño del controlador. En el capítulo 3, se desarrolla un análisis teórico del diseño de controladores GPC con y sin restricciones, enfatizando en los algoritmos de optimización, principalmente en la programación cuadrática sujeta a restricciones. Posteriormente se realiza el diseño del controlador GPC basado en los modelos ANFIS (GPC-ANFIS) del proceso objeto de estudio. En el capítulo 4, se desarrolla un análisis comparativo de robustez entre el controlador GPC-ANFIS diseñado y un controlador PID convencional. Finalmente se realiza una propuesta de implementación práctica del controlador diseñado. 4 CAPITULO 1. ESTADO DEL ARTE DE LOS SISTEMAS DE CONTROL DEL pH EN LOS EFLUENTES RESIDUALES DE LAS PLANTAS CONCENTRADORAS DE MINERALES POLIMETÁLICOS 1.1. Introducción En este capítulo se estudia la problemática que hoy en día presentan las plantas concentradoras de minerales polimetálicos tanto desde el punto de vista dinámico, como social debido a los impactos naturales y sociales que esta actividad origina, presentándose las principales causas que conducen a estos conflictos. Además se presentan ejemplos tangibles de los problemas reales que hoy en día enfrenta la minería en el norte del Perú. Se realiza un análisis del estado del arte de los sistemas y estrategias de control de las plantas de tratamiento de las aguas residuales resultantes de las operaciones mineras (planta concentradora polimetálica). 1.2. Problemática actual de la industria minera La contaminación de los recursos hidráulicos por la presencia de metales y de diferentes sustancias químicas provenientes la actividad minera representa un tema de interés internacional [41]. Cuando los ríos, cuencas, lagunas, embalses, manantiales, humedales, etc. reciben descargas de efluentes de origen minero se inicia el problema de contaminación o de degradación de la calidad del agua, la cual se convierte en menos beneficiosa y modifica su condición de elemento favorable para la salud humana, convirtiéndose en un componente de amenaza para la misma [6,41]. La contaminación de las aguas superficiales por los efectos de la actividad minera tiene su principal origen en las descargas directas de residuos industriales mineros sin previo tratamiento [41]. Afectar la calidad del agua implica lacerar la vida humana y animal que de ella dependen, por lo que se encuentra prohibido derramar residuos de la minería que intoxiquen las aguas, originando daños y/o poniendo en peligro a los seres humanos, así como a la flora y fauna [41]. Los procesos productivos mineros informales y artesanales no disponen de plantas de tratamientos y de control de los efluentes residuales lo que origina la degradación y contaminación de las aguas superficiales y subterráneas [41]. 5 En el Perú, la minería no se encuentra exenta de los problemas de uso indiscriminado y contaminación del agua debido al impacto que tiene en la economía nacional, lo cual ha originado diversos conflictos, como por ejemplo con las poblaciones locales [6]. El origen de ésta problemática reside básicamente por el control, uso y acceso a los recursos naturales [9,35]. La Defensoría del Pueblo, indica que los problemas sociales vienen aconteciendo desde el año 2004 [6]. Existen reportes del año 2017 donde se informa de 167 conflictos sociales registrados, siendo la delimitación territorial (55 casos) y los problemas socio- ambientales los más numerosos [6]. De los problemas socio-ambientales, la minería registra 77 casos [6,35]. Siendo ésta la causa por la que se relacionan los problemas socio-ambientales con la industria minera [6]. La Defensoría del Pueblo, define a un problema socio-ambiental como aquel cuyo núcleo gira en torno al control, uso o acceso al medio ambiente y sus recursos, influenciados por beneficios políticos, económicos, sociales y culturales [6]. Siendo el principal conflicto, la oposición a los proyectos mineros [6]. Se señala, que la oposición a los proyectos mineros no es la única problemática encontrada, pues se han reportado conflictos por incumplimientos de las empresas mineras a las regalías pactadas con las comunidades o por falta de compromiso de las empresas mineras al contrato de personal de las comunidades [6]. Para ejemplificar esta, problemática se analizan algunos ejemplos. Según la Defensoría del Pueblo, Cajamarca, se mantuvo como una de las zonas con más conflictos durante los años 2011 y 2012, por las diferencias entre la comunidad local y la empresa minera Yanacocha [6]. La población se negó a le expansión minera (Proyecto Conga) por las percepciones que tienen frente a la escaza contribución de tantos años de la minería con el desarrollo local, y el manejo no adecuado del impacto ambiental que se podría producir en la zona (uso irracional y contaminación del agua) [6]. A esta situación se suman los intereses políticos y personales que impidieron las negociaciones para la obtención de los permisos de ejecución del proyecto [6]. Un candidato presidencial durante su campaña indicó que el proyecto Conga no se aprobaría por los problemas ambientales y perjuicios sociales que ocasionaría, finalmente este candidato llegó a la presidencia y, por consiguiente, la población ejerció presión recurriendo a la violencia para impedir la elaboración del proyecto, basándose 6 en las promesas electorales realizadas [6]. En Espinar, región Cuzco, la crisis ocasionada paralizó a toda la región, fundamentada por la presencia de arsénico y mercurio en las aguas aledañas y por el descontento de la población por los escasos beneficios que recibió en 30 años de presencia minera en la zona [6]. Una de las principales demandas que la población impuso fue el incremento del 3% al 30% del aporte económico por convenio marco [6]. Las poblaciones solicitaban este pedido por la expansión de la operación Tintaya que produciría 160mil toneladas de cobre durante los primeros cinco años [6]. Pero al final, se supo que la contaminación del agua tenía relación directa con las condiciones geográficas de la zona, con lo cual este recurso no estaba apto ni para la agricultura ni para la ganadería y sí para el desarrollo minero [6]. Estos dos casos demuestran que los principales conflictos que tienen las empresas mineras están basadas en: 1) un mal manejo de la información tanto por parte de la empresa como de la comunidad; 2) en los problemas sociales, por la falta de desarrollo de las comunidades mineras; 3) en los problemas económicos por incumplimientos a los pactos realizados entre comunidad y las empresas mineras; 4) finalmente por los perjuicios ambientales que ocasionan las operaciones mineras [6]. En la figura 1.1, se sintetiza gráficamente las principales causas de los problemas que afronta la minería en el Perú [6]. Figura 0.1. Principales causas de los conflictos mineros en el Perú Fuente: Conflictos mineros: Explorando los problemas de comunicación en etapas clave del ciclo productivo. Autor: Sandra Carrillo Hoyos [6]. 7 1.3. Problemática de la minería con los recursos hídricos Las empresas mineras utilizan el agua principalmente para el procesamiento de los minerales, supresión del polvo, transporte de lodos y para satisfacer las necesidades domésticas de los propios empleados [6,35]. En la mayoría de las operaciones mineras, el agua se obtiene de los subsuelos, lagos, lagunas y ríos [35,41]. Además, las plantas mineras se encuentran en zonas donde el agua es escasa, motivo por el cual las autoridades de las comunidades mineras se oponen a estas operaciones [6]. A ello se suma la posible contaminación de las áreas con las aguas resultantes del procesamiento de los minerales [6,35]. Entre los principales problemas que tiene la minería con el uso del agua, se encuentran: el uso indiscriminado del recurso hídrico, la descarga de los efluentes sin tratamiento en ríos y lagunas lo que origina impactos ambientales negativos y la herencia de pasivos ambientales, lo cual ha ido provocando grandes conflictos sociales entre las empresas mineras y las comunidades en el transcurso de los años [35,41]. Por consiguiente, es importante para cualquier inversor minero, tomar conciencia del impacto negativo de sus operaciones sobre los recursos hídricos, y que realizando una buena gestión y tratamiento de este recurso, es posible retornar positivamente a la misma actividad comercial, manteniendo de esta forma a su empresa en un ambiente competitivo [35]. En la tabla 1.1 se muestra la relación agua/mineral en las operaciones mineras [35]. Tabla 0.1. Demanda del agua en un proceso convencional. Fuente: Avances de la minería peruana en el uso del agua. Autor: Jorge Tovar Pacheco. Frente a estos problemas, si bien, actualmente la mayoría de las empresas mineras cuentan con plantas de tratamiento para la recirculación y reutilización del agua, los procesos mineros no se gestionan de forma óptima, debido a que una deficiente operación en estos procesos origina un mayor consumo del recurso hídrico, desestabilizando las plantas de tratamiento de agua residuales (PTAR), y a su vez 8 impactando en la utilización de los relaves, ocasionando la contaminación de las aguas superficiales y subterráneas que se encuentran cercanas a las plantas concentradoras [35,41]. Se conoce que la mayoría de las aguas afectadas por las operaciones mineras presentan valores de pH menores que 7, debido al alto contenido de sulfatos disueltos en el agua y en los sedimentos resultantes de los procesos mineros [35]. Para contrarrestar estos problemas, es necesario realizar el procesamiento del agua antes de su descarga o reutilización, este proceso se denomina - neutralización del agua [35,41]. El proceso de neutralización del pH consiste en mantener el pH de los efluentes mineros dentro de un rango adecuado, generalmente entre 7 y 8 [41]. Esto se consigue añadiendo componentes ácidos (tales como ácido nítrico (HNO3), ácido fosfórico (H3PO4) o ácido sulfúrico (H2SO4) entre otros) o alcalinos (tales como hidróxido sódico o soda cáustica (NaOH), calcita o caliza (CaCO3) o cal (CaO, Ca(OH) 2) entre otros) a los efluentes mineros para poder mantener esta referencia [30]. Lamentablemente, el control del proceso de neutralización del pH de los efluentes mineros constituye una ardua tarea, debido al complejo comportamiento dinámico que presenta esta variable (altamente no lineal) [30,44,45,46,47]. El pH mide la concentración de los iones hidrógeno [H+], pH = -log[H+] [30]. Por todo lo expresado en referencia a la interacción de las soluciones ácidas con las soluciones alcalinas, así como a la alta complejidad dinámica del pH (elevada no linealidad y difíciles condiciones de operación, se requiere del desarrollo de estrategias de control avanzado, debido a que estas estrategias garantizan un control óptimo de los procesos con comportamientos dinámicos complejos, ver por ejemplo [5,9]. 1.4. Estado del arte de los sistemas de control del proceso de neutra- lización del pH en los efluentes residuales de las plantas concentra- doras de minerales El control de procesos representa una etapa esencial durante la operación de cualquier planta industrial [25, 26, 36, 37]. En el caso de la neutralización del pH de los efluentes residuales mineros se debe 9 garantizar valores estándares del pH (valores entre 7 y 8) [35]. El objetivo consiste en ejercer un control continuo y estable sobre el pH (los valores del pH varían entre 7.0 – 8.5), por esta razón, esta etapa se considera fundamental para una buena recuperación y reutilización del agua [35]. Este objetivo se debe cumplir haciendo un uso racional de la energía eléctrica, así como de los recursos involucrados, como por ejemplo diversos reactivos químicos [35,41]. El uso racional de todos estos recursos implica un incremento de la vida útil de los equipos utilizados, una disminución de los costos de operación y una reducción de los impactos ambientales [41]. Durante las últimas décadas, para el cumplimiento de este objetivo, se han diseñado e implementando diversas estrategias de control. 1.4.1. Estado del arte de los sistemas de control de los procesos mineros La industria minera, puntualmente, el procesamiento de minerales ha ido a un paso muy lento para adoptar nuevas tecnologías de control, en contraste con otras industrias como son la industria petroquímica o del papel [41]. En las últimas décadas ha ido aumentado el interés e intensificándose el uso de estrategias de control convencional en los procesos mineros [41]. En la figura 1.2 se muestran los desarrollos más importantes desde 1960 y los efectos que estos han tenido [41]. Figura 0.2. Evolución de la automatización en el procesamiento de minerales. Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R. [41] 10 En la década de los 60’s algunos elementos de medición (sensores) fueron considerados en la concentración de sólidos y nivel de pulpa, también se consideraron algunos lazos de control que apuntaban a la estabilización de la operación del proceso [41]. En la década de los 70’s nuevos dispositivos de medición fueron fabricados especialmente para procesos puntales, lo que trajo consigo el desarrollo de modelos matemáticos [41]. Disponer de la posibilidad de modelar el comportamiento dinámico de los procesos, e incrementar la capacidad computacional provocó nuevos intereses en el desarrollo de estrategias de control con el objeto de controlar simultáneamente varios parámetros y diseñar nuevos y efectivos controladores en general [41]. En la década de los 80’s casi todas las plantas medianas y grandes de procesamiento de minerales implementaron alguna estrategia de control automático en sus procesos, incluyendo varios lazos de control para la estabilización [9,41]. La tecnología fue una mescla de controladores analógicos y digitales. Durante esta década, las plantas adoptaron nuevos sensores para la medición de sus principales variables de procesos, y la aplicación de sistemas de control distribuido (DCS) [41]. En la década de los 90’s, el uso de estrategias de control avanzado basados en sistemas expertos fueron aplicadas en los procesos de molienda [41]. También se implementaron sistemas de gestión de datos para recolectar y almacenar información de todo los procesos de las distintas unidades que conformaban las plantas y todo ello se almacenaba en una única base de datos [41]. La posibilidad de disponer de datos de los procesos y de sistemas de control más amigables posibilitó una mejora sustancial en la economía de las empresas mineras, debido a que podían controlar las plantas y sobre todo anticiparse a los problemas que podrían presentarse en los procesos [41]. Y esto llevo a su vez, al desarrollo de algoritmos y técnicas de análisis de datos para la supervisión y control de procesos multivariables [41]. El uso de sensores basados en visión (video) para la medición del tamaño de las partículas y el tratamiento digital de imágenes se extendió en casi todas las instalaciones mineras [41]. Por ejemplo, en la figura 1.3 se muestra el uso de sensores de visión en la etapa de flotación [41]. 11 Figura 0.3. Estrategia de control del proceso de flotación basada en información visual. Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R. [41] Finalmente, a partir del año 2000, la industria minera ha sido testigo de un aumento de las actividades de medición basadas en imágenes (tratamiento digital de imágenes), aplicaciones de inteligencia artificial (soft computing) y el uso de control no lineal multivariable en todos sus procesos [41]. Los desarrollos futuros, incluirán probablemente una operación integrada de las plantas (todos los procesos haciendo sinergia entre sí), con el propósito de aumentar el beneficio a nivel global [41]. La coordinación de todas estas unidades, también tendrá un impacto en la operación de las plantas, es decir, determinará la forma de operación de las mismas [41]. 1.4.2. Estado del arte de los sistemas de control avanzado En los últimos 40 años, las técnicas de control avanzado han sido usadas satisfactoriamente en los procesos industriales, ver por ejemplo [47,49,50,59]. Estos controladores (SISO o MIMO) estabilizan las variables críticas considerando las complejidades dinámicas, tales como tiempos muertos, no linealidades e interacciones [7,12,17,18]. La robustez de los controladores (que es la capacidad de estabilizar las operaciones bajo distintas condiciones de operación) [67,70,71,72,85] ha contribuido a su total aceptación dentro de las operaciones mineras, ya que se convencieron que pueden mejorar la cantidad y la calidad de la producción con un menor costo [41]. Los factores de economía y robustez han contribuido tremendamente al éxito de los 12 controladores avanzados especialmente en la industria petroquímica [41,49]. La clave del éxito para estos controladores avanzados es la capacidad de manejar cambios inusuales en el proceso y reconocer lo que estos cambios pueden ocasionar en la operación [50]. Para una aceptación total de los controladores avanzados en el procesamiento de minerales, estos deben tener una estructura sencilla que posibilite acomodarse a los puntos cambiantes de operación, y mantener estable los parámetros de operación, así como lograr alcanzar comportamientos óptimos en el uso de los recursos involucrados [41]. En referencia al software usado en los sistemas de control avanzado, se destaca que tiene sus raíces en un conjunto de algoritmos heurísticos basados en modelos propuestos e implementados en las industrias a finales de la década de los 70´s [49]. Posteriormente, ha habido muchos desarrollos importantes en la formulación de los controladores avanzados que permitieron un diseño multivariable robusto para el manejo de restricciones en las entradas y en las salidas, tiempos muertos, además de incorporar la optimización [50]. De esta manera, el control avanzado se ha convertido en una herramienta potente de control, ideal para procesos con dinámicas complejas [58, 108, 109]. La metodología utilizada en los algoritmos de control avanzado es la siguiente [49]: Obtener un modelo de la planta (generalmente, mediante identificación en línea o fuera de línea), el cual se ejecuta en paralelo con la planta real y se encuentra sometido a las mismas entradas. El modelo es usado para predecir la trayectoria de salida de la planta sobre un cierto número de periodos de muestreo futuros (horizonte de predicción). Se genera un problema de optimización para minimizar la desviación que se puede presentar entre la salida predicha y una trayectoria de referencia deseada. La señal de control se calcula en cada periodo de muestreo. La señal de control obtenida se aplica sobre la planta real, así como sobre el modelo, luego el proceso se repite. Las restricciones de las variables del proceso ya están incluidas explícitamente en el cálculo de la señal de control. Todos los métodos de control avanzado – MPC, comparten esta filosofía básica. Las diferencias en los métodos de minimización y 13 predicción de errores son netamente algorítmicas. Pese a las ventajas descritas para los controladores avanzados, que ya han sido estudiados teóricamente, recién la primera implementación exitosa de este tipo de controladores para el procesamiento de minerales fue realizado para un molino SAG en una refinería de bauxita en Wagerup, Australia [49]. Se comenta que las aplicaciones de los controladores avanzados en el procesamiento de minerales en las décadas de los ‘80s y ‘90s fueron insuficientes y distantes entre sí, como fue revelado en un estudio realizado en 2003 [41], como resultado de este estudio se determinó que sólo 37 de las 4.542 aplicaciones detectadas fueron en el sector minero y metalúrgico. En los últimos años, sin embargo, esta tendencia ha cambiado notablemente, teniendo un gran impulso en la segunda mitad de la década del 2000, tomaermos como ejemplo solo a tres empresas (de las muchas que hay hoy en día) que desarrollan estrategias de control avanzado [41]. 1.4.3. ABB ABB Expert Optimizer. Es un sistema híbrido inteligente diseñado principalmente para procesos complejos en lazo cerrado y optimización de procesos industriales, pero también puede ser usado como soporte de aplicaciones para toma de decisiones [41]. El algoritmo de control que utiliza, se basa en un modelo matemático del proceso a controlar, por ejemplo: 𝑑𝑥 = 𝑓(𝑡, 𝑥, 𝑢); ℎ(𝑡, 𝑥, 𝑢) = 0 (0.1) 𝑑𝑡 Donde 𝑥 es el estado del sistema y 𝑢 es la variable de control. El algoritmo utiliza herramientas del control óptimo (OC) y/o técnicas de MPC. El sistema experto (ES) posibilita mantener a las variables del proceso dentro de ciertas fronteras o límites cercanos a objetivos predefinidos que actúan sobre las variables de control. Como resultado se minimiza la siguiente función: 𝑇 𝐽[𝑥(0), 𝑢] = ∫ 𝐿(𝜏, 𝑥(𝜏), 𝑢(𝜏))𝑑𝜏 ( 0.2 ) 0 Este sistema es híbrido, ya que combina la dinámica continua del proceso y la lógica relacional del ES. En la figura 1.4 se muestra un diagrama que resume el algoritmo de control que utiliza ABB [41]. 14 Figura 0.4. Algoritmo de control de ABB Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R. [41] 1.4.4. Andritz Ideas Simulation & Control, un miembro del grupo Andritz, ha desarrollado tres productos con potencial para aplicaciones en procesos mineros: Ideas dynamic process simulator, Andritz Control Expert (ACE) y BrainWave software de control predictivo [41]. Ideas es un ambiente de simulación dinámica para el diseño de sistemas de control de procesos, verificación de lógica de control, entrenamiento de operadores, y diseño y optimización de sistemas avanzados de control [41]. ACE es un sistema experto que emula las respuestas de un operador con experiencia y ha sido aplicado a procesos de trituración y secado en uso conjunto con BrainWave [41]. BrainWave es un controlador multivariable predictivo basado en los polinomios Laguerre, una técnica desarrollada en la Universidad Británica de Columbia [41]. Emplea un adaptador de modelos on-line y utiliza el horizonte de predicción como sintonizador de parámetros. Una vez que el programa obtiene la ecuación de estado del sistema dinámico, los parámetros del controlador se obtienen mediante un algoritmo recursivo de mínimos cuadrados. La estructura del modelo que se utiliza, basado en funciones de transferencia discretas se muestra en la figura 1.5 [41]. 15 Figura 0.5. Estructura del modelo usado por BrainWave Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R. [41] La aplicación de controladores BrainWave ha sido reportada en varios procesos mineros, como por ejemplo en el control de nivel en chancadoras primarias y secundarias, control de partículas en molinos de bolas, control de energía en molinos SAG, control de nivel en celdas de flotación y control de secado del concentrado de molibdeno. 1.4.5. Honeywell Honeywell ofrece una familia de productos, conocidos como Suite for advanced process control and optimization [41]. Estos productos incluyen Profit Suit Early Event Detection (EED) Toolkit, Profit Sensor Pro, Profit Loop, Profit Controller [41]. El Profit Suite EED Toolkit dispone de un modelo estadístico para identificar y dar soporte para la reducción de situaciones anormales en un proceso [41]. Sus componentes principales son el modelado basado en lógica difusa y el análisis de procesos, como también se trata en [5]. Profit Sensor Pro es un analizador de data y de regresión usada para realizar aplicaciones de softsensor y detección de fallos, permitiendo el análisis de datos complejos usando herramientas matemáticas como mínimos cuadrados ordinarios (OLS) y mínimos cuadrados parciales (PLS) [41]. Profit Controller, está basado en la herramienta de Control Predictivo Robusto Multivariable de Honeywell (RMPCT, por sus siglas en inglés), suministra herramientas para el diseño, implementación y mantenimiento de control multivariable, así como la optimización de estrategias de control complejas con procesos altamente interactivos 16 [41]. La función de costo utilizada es [41]: 2 J = ∑[𝑏 𝑦 (𝑡 + 𝑗) + 𝑎 (𝑦 − 𝑤 )]2𝑖 𝑖 𝑖 𝑖 𝑖 + ∑[𝑑𝑗𝑢𝑗 + 𝑐𝑗(𝑢𝑗 − 𝑚𝑗)] ( 0.3 ) 𝑖 𝑗 Donde 𝑦𝑖 son las variables controladas, 𝑤𝑖 son las referencias internas, 𝑢𝑖 son las variables manipuladas, 𝑎𝑖, 𝑏𝑖, 𝑐𝑖, 𝑑𝑖 y 𝑚𝑖 son los parámetros a ajustar. Profit Controller, utiliza un conjunto de algoritmos de control, que minimizan el cálculo requerido para que los objetivos de control y optimización sean alcanzados [41]. El procedimiento de control, se realiza por medio de “embudos”, en lugar de trayectorias especificadas, el cual le posibilita al controlador disponer de grados de libertad adicionales para mejorar la optimización dinámica del proceso. RMPCT usa la respuesta impulso finita (FIR) como modelo de la planta [41]. El procedimiento de identificación de la planta se realiza mediante pruebas en lazo abierto. El optimizador determina el esfuerzo de control sobre todas las posibles realizaciones de las plantas (peor caso) [41]. Un ejemplo de aplicación exitosa de controladores avanzados (MPC) es la desarrollada en el valle de Pinto – Arizona, en una planta concentradora de cobre [41]. El diseño del controlador, realizado por la empresa Honeywell, combina la potencia de un controlador basado en modelo con técnicas basadas en redes neuronales, para obtener un mejor desempeño bajo distintas condiciones de operación, así como para predecir situaciones anómalas, entre las que se encuentran la sobrecarga de los molinos [111]. En la figura 1.6 se muestra un diagrama de bloques de este controlador [111]. Figura 0.6. Diagrama de bloques Smart Grind. Honeywell, controlador predictivo multivariable. Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R. [41] 17 En este caso, aplicando el controlador avanzado, se obtuvo un incremento de la producción de 4.18% en referencia a la producción proyectada [111]. Los datos de rendimiento recogidos en diciembre de 1997 mostraron que el control basado en SmartGrind, en lugar del control supervisado del operador, originó un aumento del rendimiento del 2% [111]. 1.4.6. Estado del arte de los sistemas de control del pH en los efluentes residuales de las plantas concentradoras de minerales El control del proceso de neutralización del pH de los efluentes residuales se realiza en diversas industrias, como por ejemplo, en las industrias petroquímicas, termo-eléctricas, potabilizadoras de agua, industrias mineras, etc. Este control de desarrolla utilizando fundamentalmente controladores convencionales PID, los cuales es bien conocido no son suficientes en el control de plantas con comportamientos dinámicos complejos [60,61,64,66,68,75,77,80,83,87,90,106,110]. Como resultado, las aguas residuales que se reintegran a la naturaleza o reúsan en otros procesos no satisfacen los índices de calidad requeridos y establecidos por la Organización Mundial de la Salud (OMS) [112]. El proceso de neutralización del pH, en su forma básica, involucra principalmente, un flujo de solución ácida 𝐹𝑎, el buffer o solución que se requiere neutralizar y el flujo de solución alcalina 𝐹𝑏. Estas soluciones se mezclan homogéneamente, tal como se muestra en la figura 1.7 [44,46,47]. Figura 0.7. Proceso de neutralización del pH. 18 Fuente: Propia Donde 𝐹𝑎 + 𝐹𝑏 el flujo de salida. Lograr un control eficiente y óptimo del proceso de neutralización del pH es difícil debido a la alta no linealidad que presenta el pH, así como a la frecuente variación de los parámetros involucrados en dicho proceso [33,90]. Estas características dinámicas implican que el control efectivo del proceso de neutralización del pH en los efluentes residuales constituya un importante reto, tanto para los ingenieros de control, como para los de procesos [90]. Por consiguiente, han sido desarrollas diferentes estrategias de control avanzado para intentar controlar de forma efectiva esta clase de procesos, ver por ejemplo [51, 62, 63, 65, 78, 81, 82, 84, 91, 92, 100, 103, 104, 107]. Existen dos principales grupos de estrategias avanzadas utilizadas en el control del proceso de neutralización del pH en los efluentes residuales de las plantas concentradoras de minerales [41]. El primer grupo se basa en el uso de estrategias de control lineal, no lineal y adaptativa para contrarrestar las no linealidades que se presenta dicho proceso [33,41]. En [21] desarrollaron un controlador no lineal adaptativo (on-line), el cual combina la linealización de las entradas y salidas en el controlador con un observador en lazo abierto de orden reducido. En [48] el proceso es modelado por un conjunto de modelos lineales basados en la linealización de los tiempos de respuesta obtenidos en el proceso principal. El pH se controla usando un controlador basado en redes neuronales dentro del cual se realiza de manera óptima la predicción del comportamiento del proceso mediante un controlador predictivo basado en modelo. El otro grupo considera al proceso objeto de estudio como un modelo de caja negra, en el cual, los parámetros son identificados off-line (fuera de línea) y utiliza estrategias de control basadas en la lógica fuzzy, redes neuronales, control predictivo basado en modelos lineales, control adaptativo, controladores basados en ganancia programada, etc. [44,45,46,47]. En [16] se realiza la identificación de un modelo Wiener con los datos de entrada y salida obtenidos en una planta de neutralización. El modelo Wiener identificado es usado como un modelo interno dentro de un controlador predictivo. 19 En [34] se aproxima la salida no lineal mapeando de forma continua el modelo de Wiener, haciendo uso de un sistema Fuzzy. Dicho mapeo fue realizado con el uso del clusters (C-mean clustering). En [28,33] se utilizan filtros Laquerre y polinomios simples para representar las partes no lineales y lineales de la arquitectura Wiener. El modelo obtenido se usa dentro de la arquitectura MPC. Diferentes autores aproximan la dinámica no lineal del proceso con múltiples modelos lineales [18], el uso de múltiples modelos lineales ha sido estudiado en [4]. Luego, el modelo lineal activo, en el cual se encuentra el punto de operación de la planta, es usado en el controlador predictivo. Debido a la no linealidad del proceso los pesos de las matrices de las funciones de costes también son adaptables. Para el control del proceso de neutralización del pH en los efluentes residuales, como resultado de la alta no linealidad que presenta este proceso, han sido desarrollados diferentes controladores basados en técnicas inteligentes, como por ejemplo la lógica difusa, las redes neuronales o las herramientas neuro-difusas [5,10,11]. Estos controladores tienen como punto común, el mapeo de todo el proceso como un conjunto no lineal y la división en subconjuntos lineales para mediante controladores GPC, PID y/o ganancia programada, en cada subconjunto lineal, desarrollar el control [12,17,18]. Es notorio destacar, que a pesar del desarrollo desde el punto de vista teórico de algunos controladores avanzados para intentar resolver el problema del control efectivo del proceso de neutralización del pH en los efluentes residuales de las plantas concentradoras de minerales, los controladores que realmente se aplican el control de este proceso son PID, debido a las facilidades de implementación práctica y bajos precios en el mercado que presentan estos controladores [41]. Por ende, en este campo persisten problemas tanto de carácter teórico como prácticos sin resolver [9,41,76]. Del análisis del estado del arte desarrollado se evidencia que debido a las complejidades dinámicas que presenta el proceso de neutralización del pH en los efluentes residuales de las plantas concentradoras de minerales polimetálicos, la problemática relacionada con el diseño de sistemas de control efectivo de este tipo de procesos no ha sido resuelto de forma satisfactoria. Por consiguiente, la solución efectiva de este problema mediante la aplicación de controladores avanzados requiere de un significativo esfuerzo y constituye un gran reto para la comunidad científica internacional. 20 1.5. Objetivos de la tesis 1.5.1. Objetivo general  Diseñar un controlador predictivo generalizado (GPC) con restricciones, basado en un modelo ANFIS (sistema de inferencia difusa fundamentado en redes neuronales adaptativas) para el control efectivo del proceso de neutralización del pH en los efluentes residuales de una planta concentradora de minerales polimetálicos. 1.5.2. Objetivos específicos  Desarrollar un estudio sobre el estado de arte de los sistemas de control del proceso de neutralización del pH en los efluentes residuales de las plantas concentradoras de minerales polimetálicos.  Obtener un modelo ANFIS que describa adecuadamente el comportamiento dinámico del proceso de neutralización del pH en los efluentes residuales de una planta concentradora de minerales polimetálicos.  Diseñar un controlador predictivo generalizado (GPC) con restricciones basado en un modelo ANFIS (GPC-ANFIS) del proceso de neutralización de pH en los efluentes residuales de una planta concentradora de minerales polimetálicos.  Analizar la robustez del sistema de control diseñado.  Realizar una propuesta de implementación práctica del controlador GPC-ANFIS diseñado. 21 CAPITULO 2. IDENTIFICACIÓN DEL COMPORTAMIENTO DINÁMICO DEL PROCESO DE NEUTRALIZACIÓN DEL PH EN LOS EFLUENTES RESIDUALES 2.1. Introducción En este capítulo se analiza el proceso que se desarrolla en las actividades mineras para la obtención de concentrados de mineral. Se muestra el principio de funcionamiento y de operación de las plantas de neutralización de pH en los efluentes residuales mineros. Se determinan todas las variables involucradas en la operación y control del pH de una planta de neutralización, incluyendo las variables críticas que influyen directamente en el comportamiento dinámico de este proceso. Además, se realiza la identificación de sistema de una planta de neutralización de pH utilizando la arquitectura ANFIS, mediante la cual se obtienen múltiples modelos de la planta que se utilizan en el diseño de los controladores GPC (Generalized Predictive Controller). 2.2. Descripción del proceso productivo de las plantas concentradoras de minerales polimetálicos Los metales se encuentran en la naturaleza en forma de minerales (sulfuros, óxidos, carbonatos, silicatos, etc.), y que para su obtención se aplican técnicas de concentración de minerales [113]. Es de suma importancia conocer sus propiedades físicas y químicas, para aplicar la tecnología de tratamiento adecuada, pues las plantas concentradoras al relacionar la operación minera y la fundición de metales, requieren del conocimiento de los metales y de los procedimientos existentes, lo cual posibilita tratar una mayor cantidad de mineral con mayor ley, así como generar mayores ganancias. Las etapas involucradas en la concentración de minerales, se describen a continuación. 2.2.1. Etapas de la concentración de minerales 2.2.1.1. Chancado Los minerales valiosos se encuentran en la naturaleza mezclados con rocas sin ningún valor económico, a los cuales se les denomina gangas [113]. Es por ello que se realiza el proceso de liberación de los minerales valiosos, para lo cual los minerales brutos se 22 someten a un proceso de chancado (trituración en varias etapas), obteniéndose minerales con tamaños estándares. Luego, estos minerales se someten a un proceso de molienda, etapa donde se logra la liberación del mineral valioso [41,113]. En estos procedimientos es necesario obtener una granulometría adecuada, que posibilite liberar los minerales valiosos. En la tabla 2.1 se muestran los tamaños estándares que el mineral debe presentar en las distintas etapas de conminación de minerales [113]. Tabla 0.1. Tamaños estándares del mineral durante las etapas de trituración La trituración primaria puede realizarse en chancadoras de tipo giratorias o de tipo mandíbula (ver figura 2.1) donde se realiza la reducción de tamaño desde la provocada con la voladura hasta un tamaño aproximado de 100 mm, luego, el chancado secundario reduce el material hasta un rango de 10 mm [113]. El mineral obtenido hasta el chancado secundario, puede ser inclusive más reducido, dependiendo de las características del mineral, en etapas posteriores llamadas chancadoras terciarias y hasta cuaternarias [41,113]. Figura 0.1. Chancadora tipo mandíbula. Fuente: Concentración de Minerales Curso Virtual. Autor: I.S.T. Tecsup [113]. Consumo de energía en chancado La potencia en la etapa de chancado para lograr un tamaño determinado y alcanzar la granulometría deseada, puede ser calculada mediante la fórmula de Bond [113]: 23 1 1 𝐾𝑤 − ℎ 𝑊 = 10 ∗ 𝑊𝑖 ∗ ( − ) (0.1) √𝑃 √𝐹 𝑇𝑜𝑛80 80 donde, 𝑊 − Consumo específico de energía Kwh/ton molida 𝐹80 − Tamaño al 80% pasante en la alimentación, µm 𝑃80 − Tamaño al 80% pasante en el producto, µm 𝑊𝑖 − Índice de trabajo de Bond, indicador de la tenacidad del material, Kwh/ton 𝐾𝑤−ℎ Suponiendo que 𝑊𝑖 = 15 , 𝐹80 = 50 𝑐𝑚 → 500000 𝜇𝑚, 𝑃80 = 7.5 𝑐𝑚 →𝑇𝑜𝑛 75000 𝜇𝑚, queda: 3.65 1.41 𝐾𝑤−ℎ 𝑊 = 150 ( − ) = 0.34 , 1000 1000 𝑇𝑜𝑛 Si un flujo determinado de mineral llega a 500 TC/h, la potencia necesitada es: 500 ∗ 0.34 = 170 𝐾𝑊 Luego del proceso de chancado, el mineral pasa por otra etapa de reducción de tamaño, denominada molienda [113]. En esta etapa el objetivo consiste en alcanzar el grado de liberación determinado para la etapa de concentración. En la figura 2.2 se muestra un diagrama del proceso de chancado, desde la salida de la mina hasta el almacenaje en los toldos de finos [113]. Figura 0.2. Diagrama esquemático de un circuito de chancado. Fuente: Concentración de Minerales Curso Virtual. Autor: I.S.T. Tecsup [113]. 24 2.2.1.2. Molienda La etapa de molienda es una operación complementaria de la conminación de minerales, en esta etapa se completa la liberación del mineral valioso [113]. Se conocen hasta tres tipos de molinos: de barras, de bolas y los autógenos. Cabe indicar que los molinos de barras están quedando en desuso por los altos costos operacionales que acarrean [113]. Molinos de barras Empleados usualmente para la molienda primaria, pudiendo definirse que sirven como nexo entre la etapa de chancado y la de molienda (por ejemplo: cuando hay presencia de arcilla, este, dificulta la realización del chancado fino) [41,113]. Su característica es que tienen una relación largo/diámetro del cilindro mayor de 1.5: 1. Por el largo de las barras que usan, se tiene limitaciones en la capacidad de estos molinos, motivo por el cual están tendiendo a perder preferencia (aunque todavía son numerosas las plantas de la sierra peruana que los utilizan) [41,113]. Molinos autógenos (o semiautógenos) La característica principal que tienen, es que presentan una relación largo/diámetro de 0.5: 1. Presentan un gran diámetro para aumentar el “cascadeo” de los pedazos de mineral que intervienen en la etapa de molienda [113]. Molinos de bolas Trabajan con bolas de hierro fundido o acero forjado, teniendo relaciones de largo/diámetro de 1.5: 1 o menos. Las bolas varían entre 4’’ para la molienda gruesa y ¾’’ para molienda fina en su diámetro. En la figura 2.3 se muestra un diagrama de corte de un molino de bolas [113]. Figura 0.3. Diagrama de corte de un molino de bolas. Fuente: Concentración de Minerales Curso Virtual. Autor: I.S.T. Tecsup [113]. 25 Los molinos de bolas más usados son los que cuentan con diferentes diámetros. Sus variables principales son el tonelaje de mineral, el suministro de agua y las bolas, influyentes en el rendimiento de la molienda [41,113]. En la etapa de molienda es donde se liberan realmente los minerales valiosos y donde se aíslan de los demás acompañantes [113]. Los tamaños varían de un F80 de 20 micrones (20 mm) a unos 5000 micrones (5 mm), hasta obtener un producto de P80, variando entre 74 micrones (200 mallas por pulgada lineal) hasta 150 micrones (100 mallas por pulgada lineal)[113]. También se puede calcular la potencia necesaria que consume el molino mediante la fórmula de Bond, para lo cual es necesario realizar los análisis granulométricos con el objetivo de determinar los valores de P80 y F80 [113]. Consumo de energía en molienda. Para dimensionar la potencia utilizada para triturar un mineral previamente chancado, de un producto F80 a otro de P80, se utiliza la fórmula de Bond, representada en la ecuación (2.1) [113]. En correspondencia con el ejemplo anterior: 𝐾𝑤−ℎ 𝑊𝑖 = 15 , 𝑇𝑜𝑛 𝐹80 = 10000 𝜇𝑚, 𝑃80 = 147𝜇𝑚. Se tiene: 𝐾𝑤−ℎ 𝑊 = 150(0.08 − 0.01) = 10.5 . 𝑇𝑜𝑛 𝐾𝑊−ℎ Esta cifra es mucho mayor comparada con 0.34 calculado en el chancado 𝑇𝑜𝑛 primario, concluyendo de este modo el alto costo de la molienda por concepto de consumo de energía. Por lo que esta operación en la más costosa del proceso de concentración de los minerales. En la figura 2.4 se muestra un diagrama de un circuito de molienda de una empresa minera. 26 Figura 0.4. Diagrama de un circuito de molienda Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R.[41] 2.2.1.3. Hidrociclones El objetivo de un hidrociclón consiste en la separación de las partículas bastante finas del material que viene de la etapa de molienda, con el fin de que estas eviten nuevamente la reducción de tamaño [41,113]. En este circuito se encuentra el aparato de clasificación para avanzar a la siguiente etapa. Es un dispositivo estático de operación fluida que emplea la fuerza centrífuga para aumentar la velocidad de sedimentación de las partículas contenidas en una pulpa. Es un recipiente de forma cónica, abierto en su descarga y unido a una sección cilíndrica, la cual tiene una alimentación tangencial [41,113]. Su funcionamiento de clasificación se basa en llevar la pulpa en forma tangencial a la altura de la parte cilíndrica, causando un torbellino a lo largo de la superficie baja, que lleva a las partículas gruesas a la descarga (underflow) ubicada en la parte baja del vértice cónico. El líquido que contiene los finos es forzado a evacuar el ciclón por la parte de arriba que se enlaza con la tubería del rebose (VORTEX) originando también un torbellino interno [113]. Parámetros básicos de un hidrociclón La variable más importante es el diámetro del ciclón, que es el diámetro interno de la cámara cilíndrica que recepciona a la pulpa resultante de la molienda. La segunda variable en importancia es el área del tubo de ingreso, que es un orificio de forma rectangular con una dimensión más grande paralela al eje del ciclón. 27 Figura 0.5. Diagrama molienda – hidrociclón. Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R. [41] 2.2.1.4. Flotación de minerales. La flotación de minerales es un proceso fisicoquímico en el cual se intenta separar las partículas valiosas de los materiales estériles mediante un tratamiento que cambia su tensión superficial para lograr que burbujas de aire finamente divididas se adhieran al mineral valioso y se enriquezcan en una solución espumosa mineralizada [113]. Las variables más importantes en la flotación son el origen mineralógico, la granulometría, el tiempo de flotación, el pH, la densidad de la pulpa y los flujos de reactivos usados.. Los reactivos se clasifican en colectores, espumantes y reguladores [113]. La flotación se realiza en las llamadas celdas de flotación, cuyo objetivo es separar el concentrado en mineral valioso y ganga [41,113]. La operación de las celdas es mantener en suspensión las partículas de la pulpa impidiendo la segregación de las partículas. Las celdas se dividen en mecánicas y neumáticas. Las celdas de flotación se agrupan en circuitos, existiendo circuitos simples y complejos. En el esquema de flotación se encuentran la flotación rougher, la flotación cleaner y la flotación scavenger [113]. Flotación primaria o Rougher Es donde se recupera un alto porcentaje de los minerales valiosos, utilizando mayores concentraciones de reactivos colectores del circuito, altas velocidades de agitación y altura baja en las zonas de espumas [113]. El concentrado Rougher, aun no es el producto final y debe ir a las etapas de limpieza. 28 Flotación en limpiezas (Cleaner) Tienen como función obtener productos de alta ley aún frente a una baja recuperación; en algunos casos en estas etapas, se requieren bajas cantidades de sólidos en las pulpas, velocidades mínimas de agitación, una altura mayor en la zona de espumas y fundamentalmente una menor concentración de reactivos colectores en comparación con la etapa rougher [113]. Flotación Scavenger Es aquella donde se recupera la mayor cantidad de mineral valioso; su relave será descartado, mientras que su concentrado retorna generalmente a la etapa rougher para incrementar la ley [113]. En la figura 2.6 se muestra un circuito de flotación con las diversas celdas descritas [113]. Figura 0.6. Circuito de flotación. Fuente: Concentración de Minerales Curso Virtual. Autor: I.S.T. Tecsup [113]. 2.2.1.5. Espesamiento y filtración Es la etapa donde se realiza la separación sólido/líquido de los minerales, es la operación destinada a eliminar el agua de los productos intermedios o finales del proceso de concentrado [113]. El espesamiento se realiza en equipos llamados espesadores y es donde se reduce el contenido de agua de las pulpas obteniéndose el producto llamado “underflow”. La separación se realiza por decantación de las partículas debido a su densidad [113]. Cumplen una función especial los reactivos llamados floculantes que aceleran la decantación de las partículas [41,113]. 29 Por otro lado, la filtración es la última etapa de la separación sólido – líquido, donde se trata el “underflow” de los espesadores usando presión o vacío con equipos denominados filtros [41]. Con ello, se obtiene el denominado “cake”, el cual es sometido algunas veces al secado con el fin de ser transportado. En la figura 2.7 se muestra un espesador tipo puente, en las figuras 2.8 y 2.9 se muestran filtros de tipo disco y de placas verticales respectivamente [113]. Figura 0.7. Espesador tipo puente. Fuente: Concentración de Minerales Curso Virtual. Autor: I.S.T. Tecsup [113]. Figura 0.8. Filtro de discos al vacío. Fuente: Concentración de Minerales Curso Virtual. Autor: I.S.T. Tecsup [113]. Figura 0.9. Filtro de placas verticales. Fuente: Concentración de Minerales Curso Virtual. Autor: I.S.T. Tecsup [113]. 30 La figura 2.10 muestra el circuito completo de una planta concentradora de minerales, resaltando los procesos básicos como son el chancado, la molienda, la flotación y la filtración. Figura 0.10. Circuito de una planta concentradora de minerales Fuente: Advanced Control and Supervision of Mineral Processing Plants. Autor: Sbárbaro, D., & del Villar, R. [41] 2.2.1.6. Neutralización de efluentes mineros El uso de las plantas de neutralización en la minería se presentó mucho después de la explotación de los recursos minerales, debido a que inicialmente era más importante la producción que el cuidado que se debería tener del medio ambiente frente a los impactos negativos que la actividad minera origina [6]. Hoy en día, todo proyecto industrial y/o minero, considera, desde la ingeniería básica, el diseño de plantas que traten los excedentes gaseosos, sólidos o líquidos, para cumplir con las normativas ambientales vigentes, además de aprovechar de alguna forma la reutilización de los materiales e insumos utilizados [41]. Se definen a las plantas de neutralización de efluentes como sistemas que tratan la acides o alcalinidad de los efluentes resultantes de los procesos productivos, para que luego puedan ser descargados sin perjudicar a la salud humana o el medio ambiente 31 [112]. Dicho tratamiento se efectúa directamente controlando el pH (por ejemplo se conoce que cuando el pH de 5, los peces no pueden vivir) [48]. Las principales etapas y tratamientos que se efectúan dentro de una planta de neutralización son [114]: Homogenización de efluentes Es el mezclado y homogenización de todos los efluentes resultantes de las operaciones industriales, comúnmente se realizan en tanques agitados [114]. Cribado Sirve para eliminar los sólidos de gran tamaño que se encuentran en los efluentes, utilizando rejillas de entre 5 – 100 mm de abertura [114]. Neutralización Es el tratamiento ácido – base del efluente, la neutralización sirve para [114]: 1) La precipitación de metales pesados, comúnmente se usa la cal para causar la precipitación, los metales se precipitan en forma de hidróxido. El pH óptimo una buena precipitación se encuentra entre 6 y 11. 2) El ajuste final del pH del efluente antes de ser descargado a un medio exterior, el pH óptimo para la descarga de efluentes debe encontrarse entre 5.5 y 9. Coagulación Se utiliza para desestabilizar las partículas coloidales, empleándose productos químicos para la neutralización de la carga eléctrica que tienen los coloides [114]. Floculación Es la agrupación de las partículas coloidales desestabilizadas formando grupos de mayor tamaño, las cuales se sedimentan por gravedad [114]. Decantación Es la eliminación de la materia en suspensión que se encuentra en el agua residual [114]. Filtración Es el proceso mediante el cual un líquido con cargas suspendidas atraviesa un medio 32 filtrante, el líquido pasa y los sólidos se quedan retenidos. De esta forma, las partículas no sedimentadas en la etapa de decantación son retenidas en los filtros [114]. En la figura 2.11 se muestra una planta de tratamiento de aguas residuales, exponiendo partes del proceso [114]. Figura 0.11. Etapas del proceso de tratamiento de aguas residuales. Fuente: Coca Cola Femsa. 2.3. Caracterización del proceso de neutralización del pH de los efluentes residuales El objetivo de esta tesis consiste en el diseño de un controlador GPC para el control óptimo del proceso de neutralización del pH en los efluentes residuales de una planta concentradora de minerales. Para tal propósito se describen las características y condiciones de operación de la planta objeto de estudio para su identificación. En toda planta de neutralización del pH en los efluentes residuales, la variable a controlar es el pH, ya que mediante la medición de esta variable se tiene información sobre la calidad de los efluentes, lo que posibilita determinar si los mismos se encuentran listos para ser enviados a un receptor final. Entre los receptores finales es posible considerar ríos, lagunas, lagos, presas, canales, o para ser reutilizados en los procesos industriales [114]. 33 El control del proceso de neutralización del pH actúa directamente sobre la eliminación de los metales, causantes entre otros motivos de la contaminación ambiental en las zonas de las plantas concentradoras [114]. Un punto crítico en relación al comportamiento dinámico del pH es su alta no linealidad [21,30,44,45,46,47]. Estudios realizados muestran un comportamiento logarítmico del ion Hidrógeno: 𝑝𝐻 = − log(𝐻+) [30]. En la presente tesis, se trata el caso específico de la neutralización del pH del ácido acético (solución ácida) con hidróxido de sodio (solución básica) para su identificación y control. Para para la solución de este problema se consideran las siguientes condiciones: Tanque isotérmico perfectamente mezclado, interior del tanque con volumen constante 𝑉, variable manipulada: 𝐹1(flujo de la solución ácida), variable controlada: 𝑝𝐻. Se considera a 𝐹2 (flujo de la solución básica) como una perturbación, tal como se muestra en la figura 2.12. Figura 0.12. P&ID del proceso de neutralización de pH. Fuente: Propia. En la tabla 2.2 se muestran las condiciones de operación de la planta objeto de estudio. 34 Tabla 0.2. Condiciones de operación de la planta objeto de estudio Variable Descripción Condiciones Iniciales 𝑉 Volumen del tanque 1 𝐹1 Flujo del ácido 0.08 𝑚𝑖𝑛 𝐹2 Flujo de la base 0.512 𝑚𝑖𝑛 𝐶1 Concentración del ácido en 𝐹1 0.32 moles / l 𝐶 Concentración del ácido en 𝐹2 0.05005 moles / l2 𝐾𝑎 Constante de equilibrio del ácido 1.8 𝑥 10 −5 𝐾𝑤 Constante de equilibrio del agua 1.0 𝑥 10−14 donde: 𝐹1, 𝐶1 → á𝑐𝑖𝑑𝑜 𝑎𝑐é𝑡𝑖𝑐𝑜 (𝐶𝐻3 − 𝐶𝑂𝑂𝐻) ; 𝐹2, 𝐶2 → ℎ𝑖𝑑𝑟ó𝑥𝑖𝑑𝑜 𝑑𝑒 𝑠𝑜𝑑𝑖𝑜 (𝑁𝑎𝑂𝐻) 2.3.1. Comportamiento dinámico del pH En [30] se aborda el comportamiento dinámico del pH. Como resultado de dicha investigación, se define la siguiente ecuación que describe el comportamiento dinámico del pH: [𝐻+]3 + [𝐻+]2{𝐾 +𝑎 + 𝜁} + [𝐻 ]{𝐾𝑎(𝜁 − 𝜉) − 𝐾𝑤} − 𝐾𝑎𝐾𝑤 = 0 (0.2) Ecuación que resulta de resolver el balance másico entre el acetato y el sodio, para el cual se emplean las relaciones de equilibrio del ácido acético y del agua con la consigna de que la solución debe ser eléctricamente neutra [30]: 𝜉 = [𝐻𝐴𝐶] + [𝐴𝐶−] (0.3) 𝜁 = [𝑁𝐴+] (0.4) Balance del acetato: 𝑑𝜉 𝐹1𝐶1 − (𝐹1 + 𝐹2)𝜉 = 𝑉 𝑑𝑡 (0.5) Balance del sodio: 𝑑𝜁 𝐹2𝐶2 − (𝐹1 + 𝐹2)𝜁 = 𝑉 𝑑𝑡 (0.6) Equilibrio del ácido acético: [𝐴𝐶−][𝐻+] = 𝐾 [𝐻𝐴𝐶] 𝑎 (0.7) Equilibrio del agua: [𝐻+][𝑂𝐻−] = 𝐾𝑤 (0.8) 35 Electroneutralidad: 𝜁 + [𝐻+] = [𝑂𝐻−] + [𝐴𝐶−] (0.9) Diferenciando la ecuación (2.2) y usando las ecuaciones (2.5) y (2.6) para eliminar ?̇? y 𝜁̇, se obtiene: −[𝐻+]2{𝐹 +2𝐶2 − (𝐹1 + 𝐹2)𝜁} − [𝐻 ]𝐾𝑎{𝐹2𝐶2 − 𝐹1𝐶1 − (𝐹1 + 𝐹2)(𝜁 − 𝜉)} 𝑉[?̇?+] = (0.10) (3[𝐻+]2 + 2[𝐻+]{𝐾𝑎 + 𝜁 } + {𝐾𝑎(𝜁 − 𝜉) − 𝐾𝑤}) Considerando la ecuación (2.10), y que: 𝑝𝐻 = − log +10[𝐻 ] (0.11) Se observa que la ecuación del pH es considerablemente compleja en comparación a otras variables de procesos, tales como la presión, el flujo, el nivel, etc. 2.3.2. Generación de las señales de entrada a la planta de neutralización Debido a la alta no linealidad que presenta el pH, se optó por elegir datos con frecuencia y amplitudes variables en un rango de tiempo de 1500 segundos para la identificación del sistema. Se determinó de forma heurística un tiempo de muestreo de 50ms para la identificación del sistema, pues el tiempo que demora el sistema en alcanzar el 80% del valor estacionario (pH) frente a un cambio te tipo escalón a la entrada de la planta (solución ácida) es de aproximadamente 1 segundo (se consideró la 20va parte de este tiempo). En la figura 2.13 se muestra la respuesta del pH frente a una señal escalón. Figura 0.13. Respuesta del pH ante un cambio tipo escalón en la entrada (solución ácida) Fuente: Propia 36 Teniendo en cuenta las consideraciones indicadas, para la variable 𝐹1 (flujo de la solución ácida), se generó la señal mostrada en la figura 2.14, con amplitudes variables desde 0.04 hasta 0.12 𝑚𝑖𝑛: Figura 0.14. Señal generada para el flujo de la solución ácida (variable manipulada) Fuente: Propia Y para la variable 𝐹2 (flujo de la solución base – a considerar como perturbación), se generó la señal que se exhibe en la figura 2.15 con amplitud variable desde 0.25 hasta 0.75 𝑚𝑖𝑛 : Figura 0.15. Señal generada para el flujo de la solución base (a ser considerada como perturbación). Fuente: Propia. 37 Se puede observar que se generaron pequeños cambios en la amplitud debido a la sensibilidad del pH, ya que saltos grandes de amplitud generan también saltos grandes del pH, lo cual impide observar al detalle el comportamiento del pH. Además se observa la existencia de zonas en las que los flujos se mantienen constantes, es en estas zonas que es posible observar el comportamiento de la planta ante cambios del flujo de la solución ácida o base al ingreso, es decir, se deja una señal constante para que se conozca la respuesta de la planta ante los cambio de la otra señal (pudiéndose considerar a la señal constante como perturbación). Una vez generadas las señales de entradas de la planta, el siguiente paso consiste en conocer la respuesta del pH frente a estas señales. Como se puede ver en la figura 2.16, la señal del pH es altamente sensible ante pequeños cambios de los flujos de entrada, esto debido a la alta no linealidad que posee (𝑝𝐻 = − log[𝐻+]) ) [21,30,44,45,46,47]. A partir de las señales de entrada generada y de las señales de pH obtenidas a la salida, se tienen las condiciones necesarias para la identificación de la planta, procedimiento que se describe a continuación. Figura 0.16. Respuesta del sistema (pH) frente a cambios de los flujos de entrada. Fuente: Propia. 38 2.4. Obtención del modelo ANFIS del proceso de neutralización del ph de los efluentes residuales mediante identificación de sistemas. Una vez obtenidas las señales de entrada y de salida de la planta, se procede a la identificación de la misma con la arquitectura ANFIS, la cual se ha tomado en cuenta por el gran potencial que tiene en este tipo arquitectura. 2.4.1. Arquitectura ANFIS ANFIS (Adaptive-Network-Based Fuzzy Inference System, por sus siglas en inglés) es una técnica empleada para el modelado y control de sistemas con altas complejidades, como la no linealidad, los grandes retardo de tiempos, o la existencia de múltiples variables que hacen imposible realizar un modelado convencional (como por ejemplo, el modelado matemático que hace uso de ecuaciones diferenciales con múltiples variables) [23,29]. Es un tipo de red adaptativa que incorpora de forma conjunta las características de las redes neuronales, por la propiedad de aprender y generalizar y características de la lógica difusa, por el uso de razonamientos lógicos las cuales se basan en reglas de inferencia teniendo la posibilidad de trabajar con variables lingüísticas [23,29]. En [23,29], se describe la red ANFIS como una arquitectura de cinco capas como se muestra en la figura 2.17, donde las figuras circulares representan nodos fijos y las figuras cuadradas representan nodos adaptativos. Figura 0.17. Arquitectura ANFIS Fuente: propia 39 Para un mejor entendimiento en [29] se presenta un sistema sencillo con dos entradas (x, y) y una salida (z). Además, se supone un conjunto de dos reglas con estructura if – then: Regla 1: si 𝑥 “pertenece” o “es” 𝐴1 y 𝑦 “pertenece” o “es” 𝐵1 entonces 𝑓1 = 𝑝1𝑥 + 𝑞1𝑦 + 𝑟1 Regla 2: si 𝑥 “pertenece” o “es” 𝐴2 y 𝑦 “pertenece” o “es” 𝐵2 entonces 𝑓2 = 𝑝2𝑥 + 𝑞2𝑦 + 𝑟2 Estas reglas pertenecen al denominado modelo difuso de primer orden de Takagi- Sugeno [19,20,42], que consiste en representar la salida de la regla con una combinación lineal de las entradas pudiéndose sumar un término constante. Se considera el modelo más usado en su tipo. Capa 1: Los cuatro nodos de esta capa son adaptativos y vienen representados por la función de pertenencia siguiente: 𝑂1,𝑖 = 𝜇𝐴𝑖(𝑥) (0.12) Para 𝑖 = 1,2 𝑂1,𝑖 = 𝜇𝐵𝑖−2(𝑦) (0.13) Para 𝑖 = 3,4 donde 𝑥 e 𝑦 son las entradas a los nodos de entrada al sistema, mientras que 𝐴𝑖 y 𝐵𝑖−2 son las variables lingüísticas que van asociadas a cada nodo. Es decir, 𝑂1𝑖 es el grado de pertenencia al conjunto difuso A = {𝐴1, 𝐴2, 𝐵1, 𝐵2} y representa el grado de similitud de las entradas 𝑥 o 𝑦 con las variables lingüísticas correspondientes. Pudiéndose decir que 𝑂1𝑖 es equivalente a la función de pertenencia del conjunto difuso de la capa 1. Las funciones de pertenencia del conjunto difuso en la capa 1 tienen varias representaciones, siendo la más usada la función Gaussiana [29]: 𝑥 − 𝑐 2𝑖 𝜇𝐴(𝑥) = exp [− ( ) ] 𝑎 (0.14) 𝑖 donde 𝑎𝑖 y 𝑐𝑖 son los parámetros adaptativos de las que depende la función. Estos parámetros son los que figuran en las cuatro funciones de pertenencia que se tienen (𝐴1, 𝐴2, 𝐵1, 𝐵2) y se denominan parámetros de premisa, ya que representan la parte 40 antecedente de las reglas if - then. Capa 2: Los nodos de esta capa son fijos, es decir, no contienen parámetros que se irán adaptando durante la fase en entrenamiento. Se etiquetan con el símbolo 𝜋 porque multiplican las salidas de la capa anterior 𝑂2,𝑖 = 𝑤𝑖 = 𝜇𝐴𝑖(𝑥)𝜇𝐵𝑖(𝑦), con 𝑖 = 1,2. Se observa que, por ejemplo 𝑂2,1 = 𝜇𝐴1(𝑥)𝜇𝐵1(𝑦) corresponde con la regla 1 de cada variable y 𝑂2,2 = 𝜇𝐴2(𝑥)𝜇𝐵2(𝑦) corresponde con la regla 2 de cada variable. En esta capa, se puede indicar, que cada nodo representa el grado de verosimilitud que tiene cada una de las reglas. Capa 3: Contiene también nodos fijos identificados como 𝑁. El objetivo de esta capa es la de promediar la salida de la capa anterior, de este modo se normaliza el grado de verosimilitud de cada regla, por este motivo, a las salidas de esta capa, se les denomina pesos normalizados. 𝑤 𝑂 ′ 𝑖 3,𝑖 = 𝑤𝑖 = (0.15) ∑2𝑖=1 𝑤𝑖 Capa 4: Al igual que la Capa 1, los nodos en esta capa son adaptativos, y se describen como: 𝑂 ′ ′4,𝑖 = 𝑤𝑖 𝑓𝑖 = 𝑤𝑖 (𝑝𝑖𝑥 + 𝑞𝑖𝑦 + 𝑟𝑖) (0.16) donde 𝑤′𝑖 es el peso normalizado de la regla 𝑖 y {𝑝𝑖, 𝑞𝑖, 𝑟𝑖} son los parámetros correspondientes al nodo 𝑖 (𝑖 = 1,2) de la Capa 4 y se les denominan parámetros consecuentes porque aparecen en la parte consecuente de las reglas If – then. Es aquí donde se obtienen los distintos modelos lineales de la planta. Capa 5: Esta última capa está consta de un único nodo fijo que suma las salidas de la capa anterior y que está etiquetada como ∑. ∑𝑖 𝑤𝑖𝑓𝑖 𝑆𝑎 𝑖𝑑𝑎 𝑟𝑒𝑑 𝑎𝑛𝑓𝑖𝑠 = 𝑂 ′5,𝑖 = ∑ 𝑤𝑖 𝑓𝑖 = ∑ (0.17) 𝑖 𝑤𝑖 𝑖 Con esta arquitectura se implementa una red adaptativa que es funcionalmente equivalente al modelo difuso Takagi-Sugeno [19,20,42]. Funciones de pertenencia distintas a la Gaussiana Existen otras funciones de pertenencia distintas a las Gaussianas utilizadas en la Capa 1, que es conveniente indicar: 41 Función tipo campana [29]: 1 𝜇𝐴(𝑥) = 𝑥 − 𝑐 2𝑏 𝑖 (0.18) 1 + | 𝑖𝑎 |𝑖 Función triangular, la cual se muestra en la figura 2.18 [29]: 0, 𝑠𝑖 𝑥 ≤ 𝑎 𝑥 − 𝑎 , 𝑠𝑖 𝑎 < 𝑥 ≤ 𝑚 𝑚 − 𝑎 𝜇𝐴(𝑥) = 𝑏 − 𝑥 (0.19) , 𝑠𝑖 𝑚 < 𝑥 < 𝑏 𝑏 − 𝑚 { 0, 𝑠𝑖 𝑥 ≥ 𝑏 } Figura 0.18. Función triangular Fuente: Propia. El uso de cada uno de estas funciones depende del diseñador, considerando que la función tipo campana tiene más parámetros para adaptar (3 parámetros), pero abarca mayor espacio y tiene un grado de pertenencia más alto en un mayor tramo alrededor del punto central. En cambio las triangulares no tienen un buen recubrimiento del espacio pero son más rápidas computacionalmente. 2.4.2. Aprendizaje de la red En [29], se define el aprendizaje de la red como la etapa en la que se incorpora el conocimiento a partir de los patrones de entrenamiento presentados. El objetivo es minimizar el error considerado dentro de una función de coste denotado por 𝐽. El error es la diferencia entre la salida deseada o esperada (𝑑𝑡) y la salida de la red ANFIS que se está modelando (𝑜𝑡), es decir: 𝑒𝑟𝑟𝑜𝑟 = 𝑒𝑡 = 𝑑𝑡 − 𝑜𝑡 (0.20) donde 𝑡 representa al número de patrón en el instante de cálculo. 42 En cuanto a la función de coste, existen varias de ellas, en esta tesis se utilizar la función de coste cuadrática [23,29]: 𝐽 = ∑(𝑑 2𝑡 − 𝑜𝑡) (0.21) 𝑡 El algoritmo de aprendizaje se basa en la minimización de la función de coste. En [23] se utiliza el algoritmo de aprendizaje híbrido, el cual indica que los parámetros del consecuente por ser lineales pueden adaptarse por el método lineal de mínimos cuadrados, mientras que los parámetros del antecedente pueden adaptarse (entrenarse) por el método de descenso por gradiente, particularmente por el algoritmo de retropropagación. El algoritmo híbrido de aprendizaje consta de dos pasos, uno denominado hacia adelante y otro denominado hacia atrás (ver tabla 2.3). Tabla 0.3. Pasos del algoritmo híbrido de aprendizaje de la red ANFIS Paso hacia adelante Paso hacia atrás Parámetros premisa Fijo Descenso del gradiente Parámetros consecuencia Mínimos cuadrados Fijo Señales Salida de los nodos Señal de error Paso hacia adelante. Sirve para adaptar los parámetros del consecuente (que desarrollan funciones lineales a la salida de la red ANFIS) [23,29]. Durante este paso, los parámetros del antecedente se encuentran fijos y los parámetros del consecuente pueden ser considerados como combinaciones de ecuaciones lineales [23,29]. Así, en la capa 5 se tiene: 𝑓 = 𝑤′1𝑓1 + 𝑤 ′ 2𝑓2 𝑓 = 𝑤′1(𝑝1𝑥 + 𝑞1𝑦 + 𝑟 ′ 1) + 𝑤2(𝑝2𝑥 + 𝑞2𝑦 + 𝑟2) 𝑓 = (𝑤′1𝑥)𝑝 ′ 1 + (𝑤1𝑦)𝑞1 + (𝑤 ′ 1)𝑟1 + (𝑤 ′ 2𝑥)𝑝 ′ 2 + (𝑤2𝑦)𝑞2 + (𝑤 ′ 2)𝑟2 (0.22) Cuando existen 𝑁 pares de entrenamiento, la ecuación (2.22) se puede representar como [23]: 𝑓1 = (𝑤 ′ ′ ′ ′ ′ ′ 1𝑥)1𝑝1 + (𝑤1𝑦)1𝑞1 + (𝑤1)1𝑟1 + (𝑤2𝑥)1𝑝2 + (𝑤2𝑦)1𝑞2 + (𝑤2)1𝑟2 ⋮ (0.23) 𝑓 = (𝑤′𝑥) 𝑝 + (𝑤′𝑛 1 𝑛 1 1𝑦)𝑛𝑞1 + (𝑤 ′ 1)𝑛𝑟1 + (𝑤 ′ 2𝑥)𝑛𝑝2 + (𝑤 ′ 2𝑦)𝑛𝑞2 + (𝑤 ′ 2)𝑛𝑟2 43 Para simplificar aún más, esta ecuación se representa en forma matricial: 𝐴𝜃 = 𝑦 (0.24) donde 𝜃 es un vector 𝑀𝑥1, 𝑀 indica el número de elementos que componen todos los parámetros del consecuente que serán adaptados, mientras que 𝐴 es una matriz 𝑃 𝑥 𝑀, donde 𝑃 es el número de pares de entrenamiento (𝑁) dados por la red adaptativa, y 𝑦 es el vector salida 𝑃𝑥1, cuyos elementos son los 𝑁 números de datos de salida de la red adaptativa. Comúnmente, la cantidad de datos de entrenamiento es más grande que la cantidad de parámetros del consecuente, por lo que la mejor solución de 𝜃 es minimizando el error cuadrático ‖𝐴𝜃 = 𝑦2‖. Utilizando el estimador de mínimos cuadrados (LSE), la ecuación para hallar la solución de 𝜃 queda definida como [23,29]: 𝜃∗ = (𝐴𝑇𝐴)−1𝐴𝑇𝑦 (0.25) donde 𝐴𝑇 es la inversa de A y si no es singular, (𝐴𝑇𝐴)−1𝐴𝑇 es la pseudoinversa de 𝐴. Recurriendo al método recursivo de LSE se tiene [23,29]: 𝜃𝑖+1 = 𝜃𝑖 + 𝑃 𝑇 𝑖+1. 𝑎𝑖+1(𝑦𝑖+1 − 𝑎 𝑇 𝑖+1. 𝜃𝑖) (0.26) 𝑃𝑖 + 𝑎𝑖+1. 𝑎 𝑇 1+1.𝑃𝑖 𝑃𝑖+1 = 𝑃𝑖 − , 𝑖 = 0,1, … , 𝑃 − 1 1 + 𝑎𝑇𝑖+1. 𝑃 . 𝑎 (0.27) 𝑖 𝑖+1 donde 𝑎𝑇𝑖 es un vector fila de la matriz A, 𝑦𝑖 es el término i-ésimo de 𝑦, 𝑃𝑖 es la matriz covarianza definida como: 𝑃 = (𝐴𝑇𝑖 𝐴) −1 (0.28) Con lo indicado, se define que la actualización de los parámetros del consecuente se realiza con cada par de entrenamiento presentado. Paso hacia atrás Sirve para adaptar los parámetros del antecedente. Dicha adaptación se realiza con la retropropagación de la red y teniendo fijos los parámetros del consecuente, lo que permite determinar sus valores óptimos. Dependiendo del tipo de función de partición que se dispone, se obtiene la cantidad de parámetros, los cuales son denotados por h (para el caso de la función gaussiana, h = c, a). La actualización de los parámetros del antecedente viene dada por [23,29]: 44 𝜕𝐽 ℎ(𝑡 + 1) = ℎ(𝑡) − 𝛼𝑝 𝜕ℎ (0.29) Aplicando la regla de la cadena, se obtiene [23,29]: 𝑚 𝑚 𝑛 𝜕𝐽 𝜕𝑜 𝜕𝑤′𝑖 𝜕𝑤𝑗 𝜕𝜇𝑘(𝑥𝑙) ℎ(𝑡 + 1) = ℎ(𝑡) − 𝛼𝑝 ∑ . ∑ ∑ . 𝜕𝑜 𝜕𝑤′𝑖 𝜕𝑤𝑗 𝜕𝜇𝑘(𝑥𝑙) 𝜕ℎ (0.30) 𝑖,𝑗=1 𝑘=1 𝑙=1 Derivando: 𝑛 𝜕𝑤𝑗 𝜕𝑤𝑗 𝜕𝜇𝑥(𝑥𝑙) ℎ(𝑡 + 1) 1 = ℎ(𝑡) + 2. 𝛼𝑝(𝑑 − 𝑜) ∑ 𝑓𝑖𝛿𝑖𝑗 ∑ ∑ . 𝑤 𝜕𝜇𝑘(𝑥𝑙) 𝜕𝜇𝑥(𝑥𝑙) 𝜕ℎ (0.31) 𝑖,𝑗 𝑘,𝑙 𝑙=1 donde 𝛿𝑖𝑗 es la función de Kronecker [23]. 1, 𝑠𝑖 𝑖 = 𝑗 𝛿𝑖𝑗 = { } 0, 𝑠𝑖 𝑖 ≠ 𝑗 (0.32) Por lo tanto la ecuación (2.31) puede ser escrita como [x]: 𝜕𝑤𝑖 𝜕𝜇𝑘(𝑥𝑙) ℎ( 1 𝑡 + 1) = ℎ(𝑡) + 2. 𝛼𝑝(𝑑 − 𝑜) ∑ 𝑓𝑖 ∑ . 𝑤 𝜕𝜇𝑘(𝑥𝑙) 𝜕ℎ (0.33) 𝑖 𝑘,𝑗 En la ecuación (2.33) se observan dos derivadas cuyo resultado no se ha colocado, la primera derivada es del peso de la regla 𝑖 respecto a las funciones de partición, por lo que depende de cada regla en cuestión, para nuestro ejemplo, el resultado es [23,29]: 𝜕𝑤𝑖 = 𝜇 (𝑦) 𝜕𝜇 (𝑥) 𝐵𝑖 (0.34) 𝐴𝑖 𝜕𝑤𝑖 = 𝜇𝐴 (𝑥) ; 𝑖 = 1,2 𝜕𝜇𝐵 (𝑥) 𝑖 (0.35) 𝑖 La segunda de estas derivadas se refiere a la dependencia de la función de partición con los parámetros que esta tiene, se muestra para la función gaussiana usada en la presente tesis (parámetros a y c) [23,29]: 𝜕𝜇𝐴(𝑥) 2(𝑥 − 𝑐) 2 = 𝜇𝐴 3 (0.36) 𝜕𝑎 𝑎 𝜕𝜇𝐴(𝑥) 2(𝑥 − 𝑐) = 𝜇 (0.37) 𝜕𝑐 𝐴 𝑎2 En la presente tesis, se considera 𝛼𝑝 (velocidad de aprendizaje) variable [23,29], para lo 45 cual se utiliza la siguiente fórmula heurística [23]: 𝑘 𝛼𝑝 = √ 𝜕𝐸 2 (0.38) ∑( ) 𝜕ℎ donde 𝑘 es el tamaño del paso que cambia a lo largo de la dirección del gradiente. A diferencia de la actualización de los parámetros del consecuente, los parámetros del antecedente se actualizarán después de haber presentado todos los patrones de entrenamiento de la red (por lotes o “batch” en inglés). 2.4.3. Partición espacio entrada y agrupamiento sustractivo Con lo mostrado en el presente capítulo, se evidencia que el punto central de la arquitectura ANFIS se basa en la expresión: “divide y vencerás”, pues, el antecedente de una regla difusa define una región local difusa dentro de una global, mientras que el consecuente describe el comportamiento, mediante una función, dentro de esa región difusa [8,23,24,29]. Por lo tanto, dentro de la arquitectura ANFIS es importante definir un método para poder particionar los espacios de entrada utilizando algún tipo de agrupamiento numérico. El objetivo del agrupamiento numérico es generar conjuntos de datos dentro de un conjunto mayor para tener una representación segmentada de la dinámica del sistema [8,23,24,29]. El agrupamiento numérico debe considerar que de los grupos generados, los datos que se encuentran dentro de un mismo grupo deben ser lo más cercanos posibles (distancias euclidianas por ejemplo), manteniendo así similitudes de comportamiento y dinámica entre ellos y marcar diferencias de comportamiento entre datos que se encuentran en otros grupos. [8,23,24,29]. En el presente trabajo se muestran dos formas de particionar el espacio de las entradas: partición por rejilla (Grid) y partición por dispersión (Scatter) [8,23,24,29], cada una de ellas utiliza una distinta forma de agrupamiento como se describe a continuación. 46 2.4.3.1. Partición por rejilla (Grid partition) Esta forma de partición utiliza las funciones de pertenencia generadas previamente por un operador junto a las variables lingüísticas que están en función de los datos de entrada de la arquitectura ANFIS [23,29]. El agrupamiento dependerá de la cantidad de funciones de pertenencia que generó el operador por cada entrada. El particionamiento se genera usando todas las combinaciones posibles de las funciones de pertenencia de cada variable de entrada una a una [23,24,29]. El inconveniente con esta forma de partición se da con el número de reglas que se generan. Pues el número de reglas aumenta potencialmente, llevando al sistema a tener en un alto costo computacional [23,24,29]. Por ejemplo, para un modelo de 10 entradas y 2 funciones de pertenencia para cada entrada resultaría: 210 = 2024 reglas en la capa 1, haciendo altamente complejo el tratamiento algorítmico de esta capa. El número de reglas 𝑁 necesarias para cubrir completamente el dominio del antecedente está dado por la expresión [24]: 𝑟 𝑁 = ∏ 𝑅𝑖 (0.39) 𝑖=1 donde r es el tamaño del espacio de entrada y 𝑅¡ es el número de variables lingüísticas de la i-ésima variable del antecedente. La dimensión del espacio es una función del número de entradas y del orden del sistema difuso. El agrupamiento tipo rejilla se aplica generalmente a sistemas con dos o tres entradas, ya que el número de reglas para sistemas más entradas resulta ser muy grande [24]. En la figura 2.19 se muestra la forma que se le da al desarrollo de un agrupamiento tipo rejilla en una red ANFIS con 2 entradas y 3 funciones de pertenencia por cada entrada [115]. De la figura 2.19 se observa que cada función de pertenencia de una entrada se relaciona con todas las otras funciones de pertenencia de las otras entradas (𝐴1 → 𝐵1, 𝐴1 → 𝐵2, 𝐴1 → 𝐵3; 𝐴2 → 𝐵1, 𝐴2 → 𝐵2, 𝐴2 → 𝐵3; … ), haciendo un total de 9 particiones o grupos. 47 Figura 0.19. Partición tipo rejilla. Fuente: Estimating Development Time and Effort of Software Projects by using a Neuro_Fuzzy Approach. Por: Venus Marza & Mohammad Teshnehlab [115]. 2.4.3.2. Partición por dispersión (Scatter partition) El particionamiento por dispersión utiliza el agrupamiento de las entradas basándose en que entradas cercanas o parecidas producen salidas parecidas y que estos pares de entradas y salidas deben ser considerados en el conjunto de entrenamiento para el modelado del sistema [23,24,29]. La partición por dispersión que se muestra en la figura 2.20, divide en subconjuntos todo el espacio de las entradas del modelo, lo que limita el número de reglas a una cantidad bastante razonable. El método de partición por dispersión que se usa en la presente tesis es el denominado “subtractive clustering”, existiendo otros métodos como “K-mean clustering”, “Fuzzy C-means clustering”, “Mountain clustering”, entre otros [8,23,24,29]. Figura 0.20. Partición por dispersión. 48 Fuente: Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence. Por: Jang R., Sun C. and Mizutani E. [23] 2.4.3.2.1. Subtractive clustering Este método de agrupamiento toma a cada vector de entrada como un potencial centro del grupo. La medida del potencial de cada vector de entradas es calculada en función de las distancias Euclideanas a todos los otros vectores de entradas [8,24]. Por ejemplo: 𝑃 𝐷(𝑖) = ∑ exp(−𝛿‖𝑞(𝑖) − 𝑞(𝑗)‖2) , 𝑖 = 1, … , 𝐷 (0.40) 𝑗=1 donde 𝑃 es el número de pares de datos de entrenamiento, 𝑞(𝑖) es el vector de entrada y 𝛿 es el parámetro de diseño. El potencial de un vector de entrada como centro, aumentará cuando este vector esté cercado por vectores “parecidos” o cercanos a él (distancia Euclideana). A continuación se muestra el procedimiento a seguir para determinar los centros óptimos en el espacio de entradas [8,24]:  Para 𝑖 = 1, … , 𝑃 se calcula los valores de potencial 𝐷(𝑖) para todos los vectores de entrada.  Se inicia con 𝐽 = 1 y asigna como primer centro del grupo al vector con el mayor potencial. Siendo 𝑟∗(1) la ubicación del punto y 𝐷∗(1) su potencial calculado.  Se verifica el potencial de cada vector de datos 𝑖 = 1, . . . , 𝑃 según: 𝐷(𝑖) = 𝐷(𝑖) − 𝐷∗(1)exp (−𝛽‖𝑞(𝑖) − 𝑞∗(1)‖2) (0.41)  Se actualiza 𝐽 = 𝐽 + 1 y se elige el punto vector con el mayor potencial hallado como el siguiente centro. Siendo 𝑟∗(𝐽) la ubicación del nuevo centro y 𝐷∗(𝐽) su potencial.  Se verifica el potencial para cada vector, 𝑖 = 1, . . . , 𝐷 por la ecuación: 𝐷(𝑖) = 𝐷(𝑖) − 𝐷∗(𝐽)exp (−𝛽‖𝑞(𝑖) − 𝑞∗(𝐽)‖2 (0.42)  Si la inecuación 𝐷∗(𝐽) < 𝜀𝐷∗(1) es verdadera se detiene el algoritmo, de lo contrario se regresa al paso 4, donde 𝜀 se considera una pequeña fracción [0.15, 0.5].  Las variables 𝛿 y 𝛽 son consideradas radios, usando las siguientes igualdades: 49 4 4 𝛿 = 2 , 𝛽 = 𝑑𝛿 𝑑 2 (0.43) 𝛿 Los radios anteriores marcan un área grupal en el espacio de entrada. El valor de 𝛽 debe ser menor que 𝛿. El escoger un valor para 𝜀 es sustancial en el diseño de la estructura [8,24]. Si 𝜀 se escoge demasiado pequeño, una gran cantidad de centros serán generados. De lo contrario, un valor grande de 𝜀 genera una estructura con muy pocos centros para el sistema. Si se tiene un sistema pequeño de hasta dos o tres entradas, de los métodos de agrupamiento que utiliza el particionamiento por rejilla y por dispersión, el primero demanda un bajo coste computacional en comparación con el segundo [8,24]. Pero, si tiene un sistema con varias entradas y también varias funciones de membresía por entradas, trabajar con el métodos tipo rejilla es imposible por el gran número de grupos (reglas difusas) que se forman, lo que no sucede con el segundo, que toma independencia del número de entradas y de las funciones de pertenencia, ya que solo toma en cuenta a el vector de entradas y las variables 𝛿, 𝛽 y 𝜀 [24]. 2.4.4. Identificación del sistema Considerando la teoría explicada, se procede a realizar la identificación de la planta objeto de estudio con los datos generados y obtenidos anteriormente. Como se mencionó, la data obtenida fue el resultado de tener en prueba el sistema durante 1500 segundos con un periodo de muestreo de 50ms. En la presente tesis, se considera el VAF como criterio de evaluación del sistema identificado. Para que el modelo represente de forma precisa al sistema real el VAF tiene que ser mayor que el 97% [3]. Este índice indica que cuanto más cercano a 100% sea el valor del VAF, mayor es la precisión del modelo identificado [2,3,12]: 𝑣𝑎𝑟(𝑦 − 𝑦𝑚) 𝑉𝐴𝐹 = [1 − ]𝑥 100% (0.44) 𝑣𝑎𝑟(𝑦) donde: 𝑦 es la variable real del proceso, 𝑦𝑚 es la variable estimada por el modelo ANFIS. En la figura 2.21 se representa la arquitectura utilizada para el modelado de la planta 50 objeto de estudio. Figura 0.21. Arquitectura empleada para la identificación de la planta objeto de estudio. Fuente: Propia. Matrices formadas para el cálculo de la identificación De la aplicación subtractive clustering, se determina el número de agrupamientos que tiene el sistema, esta cantidad de agrupamientos es interpretada como el número de reglas fuzzy para cada entrada [8,23,24,29]. Los valores arrojados son los centros (𝑐𝑖) y los anchos (𝑎𝑖) de cada regla fuzzy para cada entrada. Cada regla fuzzy trabaja con una función tipo gaussiana [29]: 𝑥 − 𝑐 2𝑖 𝜇𝐴(𝑥) = exp [− ( ) ] 𝑎 (0.45) 𝑖 Luego de aplicar el agrupamiento por el método subtractive clustering, se obtiene la 51 matriz de los centros (𝐶) y los anchos (A), cada una con igual cantidad de filas y columnas [23,29]. Para el caso de la presente tesis, se trata de la siguiente manera: El número de columnas es igual al número de entradas del sistema (6 para la presente tesis), y el número de filas es igual al número de agrupamientos hallados por el subtractive clustering (𝑛). Por consiguiente, resultan las siguientes matrices,  Matriz de centros 𝐶 y matriz de anchos 𝐴: 𝑐1,1 𝑐1,2 𝑐1,3 𝑐1,4 𝑐1,5 𝑐1,6 𝑐 2,1 𝑐2,2 𝑐2,3 𝑐2,4 𝑐2,5 𝑐2,6 𝑪 = 𝑐 3,1 𝑐3,2 𝑐3,3 𝑐3,4 𝑐3,5 𝑐3,6 (0.46) … … … … … … [𝑐𝑛,1 𝑐𝑛,2 𝑐𝑛,3 𝑐𝑛,4 𝑐𝑛,5 𝑐𝑛,6] 𝑎1,1 𝑎1,2 𝑎1,3 𝑎1,4 𝑎1,5 𝑎1,6 𝑎 2,1 𝑎2,2 𝑎2,3 𝑎2,4 𝑎2,5 𝑎2,6 𝑨 = 𝑎3,1 𝑎3,2 𝑎 3,3 𝑎3,4 𝑎3,5 𝑎3,6 (0.47) … … … … … … [𝑎𝑛,1 𝑎𝑛,2 𝑎𝑛,3 𝑎𝑛,4 𝑎𝑛,5 𝑎𝑛,6]  Matriz de entradas al sistema (𝑖𝑛𝑝), constituida por un vector fila, siendo el número de filas igual al número de entradas (6 filas, 6 entradas): 𝑥1𝑘 𝑖𝑛1 𝑥1 𝑘−1 𝑖𝑛2 𝑥2 𝒊𝒏𝒑 = 𝑘 𝑖𝑛3 = (0.48) 𝑥2𝑘−1 𝑖𝑛4 ?̅?𝑘−1 𝑖𝑛5 [ ?̅?𝑘−2 ] [𝑖𝑛6] Número de entradas = 6  Matriz salida de las funciones de pertenencia, la cual denominamos matriz 𝐹𝑋, (también denominada como 𝜇𝐴(𝑥)), del cual, su número de filas (𝑛) es igual al número de agrupaciones halladas con subtractive clustering, y su número de columnas es igual al número de entradas al sistema (6). 𝑓𝑥1,1 𝑓𝑥1,2 𝑓𝑥1,3 𝑓𝑥1,4 𝑓𝑥1,5 𝑓𝑥1,6 𝑓𝑥2,1 𝑓𝑥2,2 𝑓𝑥2,3 𝑓𝑥2,4 𝑓𝑥2,5 𝑓𝑥2,6 𝑭𝑿 = 𝑓𝑥3,1 𝑓𝑥3,2 𝑓𝑥3,3 𝑓𝑥3,4 𝑓𝑥3,5 𝑓𝑥3,6 (0.49) … … … … … … [𝑓𝑥𝑛,1 𝑓𝑥𝑛,2 𝑓𝑥𝑛,3 𝑓𝑥𝑛,4 𝑓𝑥𝑛,5 𝑓𝑥𝑛,6] Para el caso de la presente tesis, el número de agrupamientos arrojados por subtractive 52 clustering es: 4, es decir, 𝑛 = 4, con 𝐹𝑋 como función gaussiana [29]: 𝑥 − 𝑐 2𝑖 𝜇𝐴(𝑥) = exp [− ( ) ] 𝑎 (0.50) 𝑖  Matriz de pesos (𝑾), constituida por un vector fila, siendo el número de filas igual al número de agrupamientos arrojados por subtractive clustering. Cabe recordar, que el valor de cada fila es igual al producto de las salidas de cada función de pertenencia, multiplicados uno a uno. Por ejemplo, la primera fila es la multiplicación de la salida de la primera regla (primer agrupamiento) por cada entrada, la segunda fila es la multiplicación de la salida de la segunda regla (segundo agrupamiento) por cada entrada, y así sucesivamente, tal como se muestra en [18,23,29]: 𝑤1 = 𝐹𝑋1,1 ∗ 𝐹𝑋1,2 ∗ 𝐹𝑋1,3 ∗ 𝐹𝑋1,4 ∗ 𝐹𝑋1,5 ∗ 𝐹𝑥1,6 ⋮ (0.51) 𝑤𝑛 = 𝐹𝑋𝑛,1 ∗ 𝐹𝑋𝑛,2 ∗ 𝐹𝑋𝑛,3 ∗ 𝐹𝑋𝑛,4 ∗ 𝐹𝑋𝑛,5 ∗ 𝐹𝑥𝑛,6 𝑤1 𝑤 2 𝑾 = 𝑤3 𝑤 (0.52) 4 ⋮ [𝑤𝑛] En la presente tesis, el número de agrupamientos arrojados por subtractive clustering es: 4, es decir, 𝑛 = 4.  Matriz de pesos normalizados (?̅̅̅?), al igual que 𝑊, esta matriz está formado por un vector fila, siendo el número de filas igual al número de agrupamientos arrojados por subtractive clustering. El valor de cada elemento de este vector fila, es el valor normalizado de cada peso, así se tiene [23,24,29]: 𝑤1 𝑤̅̅̅̅1 = 𝑤1 + 𝑤2 + 𝑤3 + ⋯ + 𝑤𝑛 ⋮ (0.53) 𝑤𝑛 ̅̅𝑤̅̅𝑛 = 𝑤1 + 𝑤2 + 𝑤3 + ⋯ + 𝑤𝑛 𝑤̅̅̅̅1 𝑤̅̅̅̅ 2̅̅𝑤̅̅ ?̅̅̅? = 3 ̅̅𝑤̅̅ (0.54a) 4 … [𝑤̅̅̅̅𝑛] 53  La matriz 𝐹, es la matriz que contiene los submodelos lineales del sistema, se presenta como un vector fila, cuyo número de filas es igual al número de agrupamientos (𝑛 = 4) [18,23,29]. Representando cada elemento como: 𝑓1 = 𝑝1,1. 𝑥1𝑘 + 𝑝1,2. 𝑥1𝑘−1 + 𝑞1,1. 𝑥2𝑘 + 𝑞1,2. 𝑥2𝑘−1 + 𝑟1,1. ?̅?𝑘−1 + 𝑟1,2. ?̅?𝑘−2 + 𝑠1,1 ⋮ 𝑓𝑛 = 𝑝𝑛,1. 𝑥1𝑘 + 𝑝𝑛,2. 𝑥1𝑘−1 + 𝑞𝑛,1. 𝑥2𝑘 + 𝑞𝑛,2. 𝑥2𝑘−1 + 𝑟𝑛,1. ?̅?𝑘−1 + 𝑟𝑛,2. ?̅?𝑘−2 + 𝑠𝑛,1 𝑓1 𝑓2 𝑭 = 𝑓 3 (0.54b) … [𝑓𝑛] Indicando que los parámetros 𝑝1,1, 𝑝1,2, 𝑞1,1, 𝑞1,2, 𝑟1,1, 𝑟1,2, 𝑠1,1, 𝑝2,1, 𝑝2,2 , 𝑞2,1, 𝑞2,2, 𝑟2,1, 𝑟2,2, 𝑠2,1, … ., 𝑝𝑛,1, 𝑝𝑛,2 , 𝑞𝑛,1, 𝑞𝑛,2, 𝑟𝑛,1, 𝑟𝑛,2, 𝑠𝑛,1, son los parámetros lineales que se hallan durante la etapa de aprendizaje híbrido por el algoritmo de mínimos cuadrados recursivos (RLS) y se encuentran en cada modelo lineal hallado por Subtractive Clustering (𝑛 = 4 modelos lineales), siendo en este caso 4 parámetros a identificar en cada modelo lineal 𝑝𝑘,1, 𝑝𝑘,2, 𝑞𝑘,1, 𝑞𝑘,2, 𝑟𝑘,1, 𝑟𝑘,2, 𝑠𝑘,1, con 𝑘 de 1 hasta 4 [18,23,29].  Con (2.54a) y (2.55b), podemos definir la capa 4 en forma matricial (multiplicación punto a punto) como: 𝑤̅̅̅̅1 𝑓1 𝑤̅̅̅̅ 2?̅̅̅? 𝑓2 .* 𝑭 = 𝑤̅̅̅̅ .∗ 3 𝑓 3 (0.55) … … [𝑤̅̅̅̅𝑛] [𝑓𝑛]  Finalmente, la salida del modelo ANFIS, se define mediante un solo valor [18,23,29], pues el sistema tiene una sola salida, el cual se calcula como: ?̅? = ?̅?1𝑓1 + ?̅?2𝑓2 + ?̅?3𝑓3 + ⋯ + ?̅?𝑛𝑓𝑛 De forma matricial: ?̅? = ?̅̅̅?𝑻 ∗ 𝑭 (0.55) Adaptación de los parámetros de los modelos lineales Paso hacia adelante: Como se mencionó anteriormente, para la adaptación de los parámetros de los modelos 54 lineales de la capa cuatro, se utiliza el algoritmo de mínimos cuadrados recursivos, manteniendo los parámetros de los antecedentes fijos [18,23,29]. Se adapta cada parámetro de las funciones lineales por cada patrón entrada-salida que se va presentando, así hasta culminar con todos los patrones que se tienen. Se definen las siguientes matrices y constantes [18,23,29]:  Matriz cuadrática simétrica P: 1 0 0 0 0 1 0 0 𝑷 = 𝑎 𝑝ℎ𝑎 ∗ [ ] (0.56) … … … … 0 0 0 1 Con dimensión: (#𝑟𝑒𝑔 𝑎𝑠 𝑥 #𝑝𝑎𝑟𝑎𝑚. 𝑒𝑛 𝑐𝑎𝑑𝑎 𝑚𝑜𝑑𝑒 𝑜 𝑖𝑛𝑒𝑎 )𝑥(#𝑟𝑒𝑔 𝑎𝑠 𝑥 #𝑝𝑎𝑟𝑎𝑚. 𝑒𝑛 𝑐𝑎𝑑𝑎 𝑚𝑜𝑑𝑒 𝑜 𝑖𝑛𝑒𝑎 ) , para nuestro caso: (4𝑥7)𝑥(4𝑥7) → 28 𝑓𝑖 𝑎𝑠 𝑥 28 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠.  Constante 𝑎 𝑝ℎ𝑎: 𝑎 𝑝ℎ𝑎 = 1𝑒8 (0.57) valor inicial del parámetro 𝑎 𝑝ℎ𝑎 para la matriz 𝑃, posteriormente 𝑃 se va actualizando.  Factor de olvido: 𝑎𝑚𝑑𝑎 = 0.9950 (0.58)  Matriz de regresión 𝑿𝑿: 𝑿𝑿 = [𝑤̅̅̅̅1. 𝑥1𝑘 ̅̅𝑤̅̅1. 𝑥1𝑘−1 𝑤̅̅̅̅1. 𝑥2𝑘 𝑤̅̅̅̅1. 𝑥2𝑘−1 𝑤̅̅̅̅1. ?̅?𝑘−1 𝑤̅̅̅̅1. ?̅?𝑘−2 𝑤̅̅̅̅1 … 𝑤̅̅̅̅2. 𝑥1𝑘 ̅̅𝑤̅̅2. 𝑥1𝑘−1 ̅̅𝑤̅̅2. 𝑥2𝑘 ̅̅𝑤̅̅2. 𝑥2𝑘−1 ̅̅𝑤̅̅2. ?̅?𝑘−1 𝑤̅̅̅̅2. ?̅?𝑘−2 ̅̅𝑤̅̅2 … (0.59) 𝑤̅̅̅̅3. 𝑥1𝑘 𝑤̅̅̅̅3. 𝑥1𝑘−1 𝑤̅̅̅̅3. 𝑥2𝑘 𝑤̅̅̅̅3. 𝑥2𝑘−1 𝑤̅̅̅̅3. ?̅?𝑘−1 ̅̅𝑤̅̅3. ?̅?𝑘−2 ̅̅𝑤̅̅3 … … ̅̅𝑤̅̅𝑛. 𝑥1𝑘 ̅̅𝑤̅̅𝑛. 𝑥1𝑘−1 𝑤̅̅̅̅𝑛. 𝑥2𝑘 𝑤̅̅̅̅𝑛. 𝑥2𝑘−1 𝑤̅̅̅̅𝑛. ?̅?𝑘−1 ̅̅𝑤̅̅𝑛. ?̅?𝑘−2 ̅̅𝑤̅̅𝑛] 𝑿𝑿 con dimensión: (1)𝑥(#𝑟𝑒𝑔 𝑎𝑠 𝑥 #𝑝𝑎𝑟𝑎𝑚. 𝑒𝑛 𝑐𝑎𝑑𝑎 𝑚𝑜𝑑𝑒 𝑜 𝑖𝑛𝑒𝑎 ), para nuestro caso: 1𝑓𝑖 𝑎 𝑥 28 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠.  Matriz 𝑲: 𝑃 𝑲 = 𝑎𝑚𝑏𝑑𝑎 + 𝑋𝑋𝑇 . 𝑃. 𝑋𝑋 (0.60) 𝑲, con dimensión: 55 (#𝑟𝑒𝑔 𝑎𝑠 𝑥 #𝑝𝑎𝑟𝑎𝑚. 𝑒𝑛 𝑐𝑎𝑑𝑎 𝑚𝑜𝑑𝑒 𝑜 𝑖𝑛𝑒𝑎 )𝑥(#𝑟𝑒𝑔 𝑎𝑠 𝑥 #𝑝𝑎𝑟𝑎𝑚. 𝑒𝑛 𝑐𝑎𝑑𝑎 𝑚𝑜𝑑𝑒 𝑜 𝑖𝑛𝑒𝑎 ), para nuestro caso: (4𝑥7)𝑥(4𝑥7) → 28 𝑓𝑖 𝑎𝑠 𝑥 28 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠.  Matriz de parámetros adaptivos de los modelos lineales 𝑡ℎ𝑒𝑡𝑎: 𝒕𝒉𝒆𝒕𝒂 = [𝑝 𝑇11 𝑝12 𝑞11 𝑞12 𝑟11 𝑟12 𝑠11 ⋯ 𝑝𝑛1 𝑝𝑛2 𝑞𝑛1 𝑞𝑛2 𝑟𝑛1 𝑟𝑛2 𝑠𝑛1] (0.61) 𝑡ℎ𝑒𝑡𝑎, con dimensión: (#𝑟𝑒𝑔 𝑎𝑠 𝑥 #𝑝𝑎𝑟𝑎𝑚. 𝑒𝑛 𝑐𝑎𝑑𝑎 𝑚𝑜𝑑𝑒 𝑜 𝑖𝑛𝑒𝑎 ) 𝑥 (1), para nuestro caso: (4𝑥7) 𝑥 (1) → 28 𝑓𝑖 𝑎𝑠 𝑥 1 𝑐𝑜 𝑢𝑚𝑛𝑎.  Error, se define como: 𝑒𝑟𝑟𝑜𝑟 = 𝑦 − ?̅? (0.62) Con 𝑦 salida del sistema real, ?̅? salida estimada de la red ANFIS.  Actualización de la matriz de parámetros adaptivos de los modelos lineales 𝑡ℎ𝑒𝑡𝑎: 𝒕𝒉𝒆𝒕𝒂 = 𝒕𝒉𝒆𝒕𝒂 + 𝐾 . 𝑋𝑋𝑇 . 𝑒𝑟𝑟𝑜𝑟 (0.63)  Actualización de la matriz simétrica P: 𝑃 − 𝑃 ∗ 𝑋𝑋𝑇 ∗ 𝑋𝑋 ∗ 𝑃 𝑷 = (0.64) 𝑎𝑚𝑏𝑑𝑎 + 𝑋𝑋 ∗ 𝑃 ∗ 𝑋𝑋𝑇 Paso hacia atrás Para el paso hacia atrás, como se mencionó, se utiliza el método backpropagation y el algoritmo del gradiente descendiente, aplicados a las derivadas parciales de la función de coste respecto a los parámetros adaptivos de las funciones de premisa [18,23,29]. La actualización de cada parámetro de las premisas se realiza luego de culminar la adaptación de los parámetros de los consecuentes (luego de haber presentado todos los patrones que se tienen para la adaptación de los consecuentes). La adaptación de los parámetros de premisa se realiza del modo batch, es decir la derivada de la función de coste respecto a cada parámetro del antecedente se va acumulando hasta presentar todos los patrones que se tienen, para luego, al final, ser actualizados con el promedio de la acumulación de la derivada de la función de coste respecto a cada parámetro del antecedente [18,23,29]. Por consiguiente se tiene:  Función de coste [18,23,29]: 56 1 𝐽 = 𝑒𝑟𝑟𝑜𝑟2 2 (0.65)  Error: 𝑒𝑟𝑟𝑜𝑟 = 𝑦 − ?̅? (0.66) donde 𝑦 es la salida del sistema real, ?̅? es la salida estimada de la red ANFIS. Derivadas parciales de la función de coste con respecto a los parámetros adaptivos de los antecedentes: Con respecto a los centros 𝐶 de cada función de pertenencia: 𝑑𝐽 𝑑𝐽 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 = . . . . . 𝑑𝐶 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 𝑑𝐶 (0.67) Con respecto a los anchos A de cada función de pertenencia: 𝑑𝐽 𝑑𝐽 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 = . . . . . 𝑑𝐶 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 𝑑𝐴 (0.68) Para los centros C, derivando cada término de la ecuación (2.69) resulta: 𝑑𝐽 = 𝑒𝑟𝑟𝑜𝑟 𝑑𝑒𝑟𝑟𝑜𝑟 (0.69) 𝑑𝑒𝑟𝑟𝑜𝑟 = −1 𝑑?̅? (0.70) 𝒅?̅? 𝑑?̅? 𝑑?̅? 𝑑?̅? 𝑑?̅? = [ … ] = [𝑓1 𝑓2 𝑓3 … 𝑓𝑛] 𝒅?̅̅̅? 𝑑𝑤̅̅̅̅ 𝑑𝑤̅̅̅̅ 𝑑̅̅𝑤̅̅ 𝑑𝑤̅̅̅̅ (0.71) 1 2 3 𝑛 Dimensión: (1)𝑥(#𝑑𝑒 𝑟𝑒𝑔 𝑎𝑠), para nuestro caso 1 𝑓𝑖 𝑎 𝑥 4 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠 (𝑛 = 4). 𝑑𝑤̅̅̅̅1 𝑑𝑤̅̅̅̅1 𝑑𝑤̅̅̅̅1 … 𝑑𝑤1 𝑑𝑤2 𝑑𝑤𝑛 𝒅?̅̅̅? 𝑑𝑤̅̅̅̅2 𝑑𝑤̅̅̅̅2 𝑑̅̅𝑤̅̅2 = … 𝒅𝑾 𝑑𝑤 1 𝑑𝑤2 𝑑𝑤𝑛 … … … … 𝑑𝑤̅̅̅̅𝑛 𝑑̅̅𝑤̅̅𝑛 𝑑̅̅𝑤̅̅𝑛… [𝑑𝑤1 𝑑𝑤2 𝑑𝑤𝑛] 𝑤 + 𝑤 +. . +𝑤 −𝑤 −𝑤 (0.72) 2 3 𝑛 1 1 … (𝑤 + 𝑤 21 2 + ⋯ + 𝑤𝑛) (𝑤1 + 𝑤2 + ⋯ + 𝑤 2 𝑛) (𝑤1 + 𝑤2 + ⋯ + 𝑤 2 𝑛 ) −𝑤2 𝑤1 + 𝑤3+. . +𝑤𝑛 −𝑤2… = (𝑤 21 + 𝑤2 + ⋯ + 𝑤𝑛) (𝑤1 + 𝑤 2 2 + ⋯ + 𝑤𝑛) (𝑤1 + 𝑤2 + ⋯ + 𝑤 2 𝑛) … … … … −𝑤𝑛 −𝑤𝑛 𝑤1 + 𝑤3+. . +𝑤𝑛−1… [(𝑤 + 𝑤 2 2 21 2 + ⋯ + 𝑤𝑛) (𝑤1 + 𝑤2 + ⋯ + 𝑤𝑛) (𝑤1 + 𝑤2 + ⋯ + 𝑤𝑛) ] 57 Dimensión: (# 𝑟𝑒𝑔 𝑎𝑠) 𝑥 (# 𝑟𝑒𝑔 𝑎𝑠), para nuestro caso 4 𝑓𝑖 𝑎𝑠 𝑥 4 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠, 𝑛 = 16. 𝑑𝑤1 𝑑𝑤1 𝑑𝑤1 … 𝑑(𝐹𝑋1,1) 𝑑(𝐹𝑋1,2) 𝑑(𝐹𝑋1,6) 𝒅𝑾 𝑑𝑤2 𝑑𝑤2 𝑑𝑤2 = … 𝒅𝑭𝑿 𝑑(𝐹𝑋2,1) 𝑑(𝐹𝑋2,2) 𝑑(𝐹𝑋 2,6) (0.73) … … … … 𝑑𝑤𝑛 𝑑𝑤𝑛 𝑑𝑤𝑛… [𝑑(𝐹𝑋𝑛,1) 𝑑(𝐹𝑋𝑛,2) 𝑑(𝐹𝑋𝑛,𝑛)] Dimensión: (# 𝑟𝑒𝑔 𝑎𝑠) 𝑥 (#𝑒𝑛𝑡𝑟𝑎𝑑𝑎𝑠), para nuestro caso 4 𝑓𝑖 𝑎𝑠 𝑥 6 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠. 𝑑(𝐹𝑋1,1) 𝑑(𝐹𝑋1,2) 𝑑(𝐹𝑋1,6) … 𝑑𝐶1 𝑑𝐶2 𝑑𝐶6 𝒅𝑭𝑿 𝑑(𝐹𝑋2,1) 𝑑(𝐹𝑋2,2) 𝑑(𝐹𝑋2,6) = … 𝒅𝑪 𝑑𝐶1 𝑑𝐶 2 𝑑𝐶6 (0.74) … … … … 𝑑(𝐹𝑋𝑛,1) 𝑑(𝐹𝑋𝑛,2) 𝑑(𝐹𝑋𝑛,𝑛)… [ 𝑑𝐶1 𝑑𝐶2 𝑑𝐶6 ] Dimensión (# 𝑟𝑒𝑔 𝑎𝑠) 𝑥 (#𝑒𝑛𝑡𝑟𝑎𝑑𝑎𝑠), para nuestro caso 4 𝑓𝑖 𝑎𝑠 𝑥 6 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠. Haciendo lo mismo para los anchos A, cambia únicamente la última derivada: 𝑑(𝐹𝑋1,1) 𝑑(𝐹𝑋1,2) 𝑑(𝐹𝑋1,6) … 𝑑𝑎1 𝑑𝑎2 𝑑𝑎6 𝒅𝑭𝑿 𝑑(𝐹𝑋2,1) 𝑑(𝐹𝑋2,2) 𝑑(𝐹𝑋2,6) = … 𝒅𝑨 𝑑𝑎1 𝑑𝑎2 𝑑𝑎 6 (0.75) … … … … 𝑑(𝐹𝑋𝑛,1) 𝑑(𝐹𝑋𝑛,2) 𝑑(𝐹𝑋𝑛,𝑛)… [ 𝑑𝑎1 𝑑𝑎2 𝑑𝑎6 ] Dimensión: (# 𝑟𝑒𝑔 𝑎𝑠) 𝑥 (#𝑒𝑛𝑡𝑟𝑎𝑑𝑎𝑠), para nuestro caso 4 𝑓𝑖 𝑎𝑠 𝑥 6 𝑐𝑜 𝑢𝑚𝑛𝑎𝑠. Recordando que [29]: 𝑥−𝑐 2 𝐹𝑥 = 𝑒−[ ]𝑎 (0.76) 𝑑𝐹𝑋 (𝑥 − 𝑐) = 𝐹𝑥. 2. 2 (0.77) 𝑑𝑐 𝑎 𝑑𝐹𝑋 (𝑥 − 𝑐)2 = 𝐹𝑥. 2. 𝑑𝑎 𝑎3 (0.78) 58 Finalmente, para hacer coherentes las derivadas parciales con las matrices desarrolladas, considerando un entrenamiento tipo batch o por lotes [23,29], se obtiene: 𝑇 𝑑𝐽 𝑑𝐽 𝑑𝐽 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 = + ( . . . ) .∗ .∗ (0.79) 𝑑𝐶 𝑑𝐶 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 𝑑𝐶 𝑇 𝑑𝐽 𝑑𝐽 𝑑𝐽 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 = + ( . . . ) .∗ .∗ (0.80) 𝑑𝐴 𝑑𝐴 𝑑𝑒𝑟𝑟𝑜𝑟 𝑑?̅? 𝑑?̅? 𝑑𝑊 𝑑𝐹𝑋 𝑑𝐴 Actualización de los ratios de aprendizaje. Luego de presentar todos los pares de entrenamiento (una iteración) se actualizan los ratios de aprendizaje ƞ𝑐 y ƞ𝑎 (ratios de aprendizaje variables). Considerando la heurística: si después de realizar 4 iteraciones el error cuadrático aumenta, el tamaño del paso "𝑘" disminuye en un valor definido (en nuestro caso 0.8); caso contrario, si luego de presentar 4 iteraciones el error cuadrático disminuye, el tamaño del paso "𝑘" aumenta también en un valor definido por el programador (en nuestro caso 1.2), y con ello se logra variar los ratios de entrenamiento para cada variable a adaptar [23], considerando la siguiente ecuación: 𝑘 ƞ𝑝 = √ 𝜕𝐸 (0.81) ∑( )2 𝜕ℎ 𝒅𝑱 𝒅𝑱 Finalmente, se actualizan los parámetros C y A teniendo acumulado y y 𝒅𝑪 𝒅𝑨 considerando las ecuaciones (2.80) y (2.81): 𝑑𝐽 ( ) 𝐶 = 𝐶 − ƞ 𝑑𝐶𝑐. (0.82) 𝑛𝑟𝑜. 𝑝𝑎𝑡𝑟𝑜𝑛𝑒𝑠 𝑑𝐽 ( ) 𝐴 = 𝐴 − ƞ . 𝑑𝐴𝑎 (0.83) 𝑛𝑟𝑜. 𝑝𝑎𝑡𝑟𝑜𝑛𝑒𝑠 Si se alcanza el número de iteraciones o un valor mínimo de error establecido como el RMSE, se culmina el entrenamiento. 2.4.5. Síntesis del procedimiento híbrido ANFIS Acciones previas:  Realizar el agrupamiento sustractivo para hallar el número de reglas a utilizar (expresiones del 2.40 al 2.43 y del 2.46 al 2.47). 59  Fijar el número de iteraciones o el error mínimo a alcanzar (por ejemplo RMSE).  Definir la matriz P (expresión 2.57).  Definir matriz theta, la cual contiene los parámetros de las funciones lineales que se van a adaptar (expresión 2.62).  Inicio de iteración, iteración = 1. Paso hacia adelante:  Presentar el primer par patrón entrada-salida.  Cálculo de la arquitectura ANFIS: Capa 1, ecuación (2.49) Capa 2, ecuación (2.52) Capa 3, ecuación (2.54a) Capa 4, ecuación (2.55) Capa 5, salida ANFIS, ecuación (2.56).  Cálculo del error (expresión 2.63).  Generar matriz de regresión (expresión 2.60).  Cálculo de la matriz K (expresión 2.61).  Actualizar matriz theta que contiene los parámetros que se van a adaptar (expresión 2.64).  Actualizar la matriz P (expresión 2.65).  Si se presenta el último par patrón entrada-salida, continuar con el siguiente paso (hacia atrás), de lo contrario, tomar el siguiente par patrón y retornar al punto 3 (cálculo del error). Paso hacia atrás  Presentar el primer par patrón entrada-salida.  Cálculo de la arquitectura ANFIS: Capa 1, ecuación (2.49) 60 Capa 2, ecuación (2.52) Capa 3, ecuación (2.54a) Capa 4, ecuación (2.55) Capa 5, salida ANFIS, ecuación (2.56).  Cálculo del error (expresión 2.67).  Cálculo de las derivadas parciales respecto a cada variable adaptiva (C y A). (expresiones del 2.68 al 2.76).  Acumular la derivada de la función de coste respecto a cada variable a adaptar (centros C y anchos A) (expresiones 2.80 al 2.81).  Si se presenta el último par patrón entrada-salida, continuar con el siguiente paso, de lo contrario, tomar el siguiente par patrón y retornar al punto 3.  Calcular el error cuadrático medio (RMSE).  Verificar la variación del RMSE para variar los ratios de aprendizaje por medio del tamaño del paso "𝑘" (expresión 2.84). 𝒅𝑱 𝒅𝑱  Actualizar los parámetros centros "𝐶" y anchos "𝐴" ya con y acumulados 𝒅𝑪 𝒅𝑨 (expresiones 2.83 y 2.84).  Si se alcanza el número de iteraciones o un mínimo RMSE definidos al inicio del algoritmo, termina el entrenamiento, de lo contrario ejecutar una nueva iteración e ir al punto 3 (cálculo del error). 2.4.6. Resultados obtenidos A continuación se presentan los resultados obtenidos en la etapa de identificación del sistema con la red ANFIS, aplicando la teoría y procedimiento explicados. En la figura 2.22 se muestra el número de reglas (cuatro reglas obtenidas) y las funciones de pertenencia de la entrada 𝑥1 (𝑘) – flujo solución ácida, que viene a ser el ácido acético, al aplicar subclustering. 61 Figura 0.22. Funciones de pertenencia de la entrada x1(k), ácido acético Fuente: Propia En la figura 2.23 se muestra el número de reglas (cuatro reglas obtenidas) y las funciones de pertenencia de la entrada 𝑥1 (𝑘 − 1) – flujo solución ácida, que viene a ser el ácido acético, al aplicar subclustering. 62 Figura 0.23. Funciones de pertenencia de la entrada x1(k-1), ácido acético. Fuente: Propia. En la figura 2.24 se exhibe el número de reglas (cuatro reglas obtenidas) y las funciones de pertenencia de la entrada 𝑥2 (𝑘) – flujo solución base, que viene a ser el hidróxido de sodio, al aplicar subclustering. Figura 0.24. Funciones de pertenencia de la entrada x2(k), hidróxido de sodio. Fuente: Propia. 63 En la figura 2.25 se muestra el número de reglas (cuatro reglas obtenidas) y las funciones de pertenencia de la entrada 𝑥2 (𝑘 − 1) – flujo solución base, que viene a ser el hidróxido de sodio, al aplicar subclustering. Figura 0.25. Funciones de pertenencia de la entrada x2(k-1), hidróxido de sodio. Fuente: Propia. En la figura 2.26 se exhibe el número de reglas (cuatro reglas obtenidas) y las funciones de pertenencia de la salida 𝑦 (𝑘) – pH, al aplicar subclustering. Figura 0.26. Funciones de pertenencia de la salida y1(k), pH. Fuente: Propia. 64 En la figura 2.27 se muestra el número de reglas (cuatro reglas obtenidas) y las funciones de pertenencia de la salida 𝑦 (𝑘 − 1) – pH, al aplicar subclustering. Figura 0.27. Funciones de pertenencia de la salida y1(k-1), pH. Fuente: Propia. En la figura 2.28 se exhiben los valores obtenidos a la salida de planta real y los valores estimados con la red ANFIS, como se puede apreciar, se logra un acercamiento muy parecido entre ellos. Figura 0.28. Resultados de la identificación del sistema Fuente: Propia. 65 En la figura 2.29 se muestra el error en cada iteración realizada por la adaptación de la red ANFIS. Figura 0.29. Señal de error durante la identificación del sistema con modelo ANFIS. Fuente: Propia. La Tabla 2.4 muestra los indicadores de comparación entre los valores arrojados por la planta real y los valores arrojados por el modelo hallado con ANFIS. Como se puede observar, estos indicadores muestran la gran coincidencia que tienen ambos modelos. Tabla 0.4. Indicadores de proximidad entre los valores reales y valores estimados ANFIS durante la validación del sistema. 2.5. Validación del modelo Para la validación del modelo, al igual que se hizo para la identificación, se emplearon datos aleatorios con diferentes valores de amplitud y frecuencia. Para para la variable 𝐹1 (flujo de la solución ácida), se generó la señal indicada en la figura 2.30, que varía en amplitudes desde 0.04 hasta 0.12 𝑚𝑖𝑛: 66 Figura 0.30. Parte de la señal generada para entrada de flujo de la solución ácida F1 (ácido acético) para la validación del modelo. Fuente: Propia. Para para la variable 𝐹2 (flujo de la solución base – a considerar como perturbación), se generó la señal indicada en la figura 2.31, que varía en amplitudes desde 0.25 hasta 0.75 𝑚𝑖𝑛. Figura 0.31. Parte de la señal generada para entrada de flujo de la solución base F2 (hidróxido de sodio) para la validación del modelo, a usarse como perturbación. Fuente: Propia. Ahora, empleando los parámetros hallados en la identificación del sistema con la 67 arquitectura ANFIS (matrices 𝐴, 𝐶 𝑦 𝑡ℎ𝑒𝑡𝑎), se obtienen los valores de salida de la red ANFIS y la comparamos con los valores de salida de la planta. En la figura 2.32 se muestra la comparación entre ambas señales, y en la figura 2.33 indica la señal de error existente entre ambas señales, error absoluto. Se puede observar una gran aproximación entre las salidas de ambos sistemas. Figura 0.32. Comparación de las señales de la salida de la red ANFIS vs. la salida de la Planta. Fuente: Propia. Figura 0.33. Error absoluto entre las señales de la salida de la red ANFIS vs. la salida de la Planta. Fuente: Propia. 68 Los índices de aproximación resultantes de la comparación de las señales de salida de planta y de la red ANFIS se muestran en la Tabla 2.5. Tabla 0.5. Índices de aproximación de comparación entre la señal de salida ANFIS y la señal de salida de la planta. Estos índices revelan un muy buen acercamiento del sistema identificado, por lo que los parámetros hallados de las funciones lineales y no lineales pueden ser utilizados en el diseño del controlador GPC. 2.6. Conclusiones  Se desarrolló un estudio del proceso productivo de las plantas concentradoras polimetálicas.  Se obtuvo un modelo ANFIS del proceso de neutralización del pH de los efluentes residuales de una planta concentradoras de minerales polimetálicos mediante la aplicación de las herramientas de identificación de sistemas. Los resultados de validación mostraron un elevado grado de adecuación del modelo derivado del proceso objeto de estudio.  Un agrupamiento de datos efectivos en el espacio de entradas decrementa el número de reglas y con ello aumenta la velocidad de aprendizaje del sistema.  El modelado con arquitectura ANFIS, demostró ser una herramienta altamente eficiente para sistemas no lineales, pues el aprendizaje híbrido que emplea (mínimos cuadrados y gradiente descendiente) favorece al mapeo de las entradas y salidas del sistema en todo el rango de operación que se tiene.  Se confirmó que el aprendizaje con arquitectura ANFIS requiere de pocas iteraciones para su convergencia, en la presente tesis, se realizaron 500 iteraciones con resultados satisfactorios.  El número de agrupamientos que entrega la arquitectura ANFIS (subclustering) es de 4, a partir de ello a cada submodelo lineal se le aplicará un controlador GPC, los cuales serán diseñados en el siguiente capítulo. 69 CAPÍTULO 3: DISEÑO DE UN GPC-ANFIS CON RESTRICCIONES PARA EL CONTROL DEL PROCESO DE NEUTRALIZACIÓN DE PH DE LOS EFLUENTES RESIDUALES 3.1. Introducción Con la planta ya identificada, la siguiente tarea es el diseño del controlador GPC- ANFIS para el control del proceso de neutralización de pH en los efluentes residuales de la planta objeto de estudios. En el presente capítulo se desarrollan las bases teóricas del diseño de controladores GPC-ANFIS sin restricciones y con restricciones, para luego aplicarla en el diseño del controlador del proceso objeto de estudio. Se enfatiza en el controlador GPC-ANFIS con restricción, que es el controlador a utilizar en el presente trabajo, pues el tipo de proceso a controlar justifica necesariamente el uso de esta clase de controlador, debido a su comportamiento altamente no lineal. Finalmente, se muestran los resultados de simulación obtenidos del sistema de control desarrollado. 3.2. Fundamentación de la estrategia de control a utilizar. 3.2.1. GPC, conceptos básicos El elemento común de los controladores GPC es el uso de modelos internos de los procesos a controlar, los cuales, pueden ser lineales, como funciones de transferencia, ecuaciones de estado, respuestas impulso, respuestas escalón, bilineales o no lineales como del tipo de redes neuronales [22] o las redes neuro fuzzy [49]. En el presente trabajo se trabaja con modelos lineales debido a que durante la identificación del sistema se obtuvieron un conjunto de modelos lineales. El uso de un GPC lineal facilita la interpretación de la predicción, pues esta predicción también resulta ser lineal, ayudando a la optimización del sistema y al análisis off-line del comportamiento del sistema en lazo cerrado [7,58]. Otro beneficio que aportan los controladores GPC consiste en el uso de algoritmos de optimización [7,22,49]. Mediante estos algoritmos el controlador desarrolla sus acciones de control a partir de la minimización de una función de coste [50]. Dicha 70 acción depende generalmente de la penalización por la diferencia entre la salida actual y un valor de referencia deseado, además se aplican tazas de variación y de esfuerzo de control para optimizar la función de coste [58]. Otra ventaja del controlador GPC es que su acción final depende de los valores futuros predichos dentro de su algoritmo [7,49]. Con lo cual se puede adicionar una acción feedforward, con la salvedad que el diseño se convierte en un modelo más complejo. Finalmente, otra de las ventajas del GPC consiste en disponer de un horizonte de control y de predicción móvil o deslizante [7,50]. Este concepto indica que en cada periodo de muestreo el controlador realiza el cálculo de sus optimizaciones y solo la primera secuencia encontrada es realmente aplicada a la planta [7,49]. Esto es fundamental para que los algoritmos aumenten su robustez frente a algunas incertidumbres del modelo o a perturbaciones exógenas [58]. El comportamiento predicho del sistema ?̂?(𝑘) a lo largo del horizonte de predicción 𝑁 en los instantes 𝑘, así como la señal de control óptima calculada por el controlador GPC se muestran en la figura 3.1 y 3.2 respectivamente [50]. Figura 0.1. Señal de predicción calculada por el GPC. Fuente: Controle Preditivo Neuro-Fuzzy: Análise compartiva empregando diferentes estruturas de modelo. Autor: Guimaraes, Teófilo [18]. 71 Figura 0.2. Señal de control calculada por el GPC. Fuente: Controle Preditivo Neuro-Fuzzy: Análise compartiva empregando diferentes estruturas de modelo. Autor: Guimaraes, Teófilo [18]. La notación ?̂?(𝑘 + 𝑛|𝑘) indica la predicción realizada hasta el instante 𝑘 para la salida del modelo en un tiempo futuro 𝑘 + 𝑛, y de forma analógica, 𝑢(𝑘 + 𝑛|𝑘) es la señal de control óptima del controlador predictivo en el instante 𝑘 + 𝑛 que será aplicada en 𝑘. En la figura 3.2 se muestra un horizonte mínimo 𝐻𝑚, usado para eliminar los retrasos y los sistemas de fase no mínima que el sistema pueda presentar, también un horizonte de control 𝑁𝑢 generalmente menor que 𝑁, responsable de mantener los valores de 𝑢 constantes después del instante 𝑘 + 𝑁𝑢 , para disminuir el esfuerzo computacional durante la optimización. 3.2.2. Elección del modelo En el presente trabajo, para el GPC se utiliza la estructura de modelo CARIMA. Así se tiene [7,9,49]: 𝜉(𝑘) 𝐴(𝑧−1)𝑦(𝑘) = 𝐵(𝑧−1)𝑢(𝑘 − 1) + 𝐶(𝑧−1) (0.1) 𝛥 donde: 𝐴(𝑧−1) = 1 + 𝑎 𝑧−11 + 𝑎 𝑧 −2 + ⋯ + 𝑎 𝑧−𝑛2 𝑛 , (0.2) 𝐵(𝑧−1) = 𝑏0 + 𝑏 𝑧 −1 1 + 𝑏 −2 2𝑧 + ⋯ + 𝑏𝑛𝑧 −𝑛, (0.3) 𝐶(𝑧−1) = 𝑐0 + 𝑐1𝑧 −1 + 𝑐 −22𝑧 + ⋯ + 𝑐𝑛𝑧 −𝑛, (0.4) 𝐶(𝑧−1) polinomio de las perturbaciones medibles, 72 𝑦(𝑘) → 𝑠𝑒ñ𝑎 𝑑𝑒 𝑠𝑎 𝑖𝑑𝑎 𝑑𝑒 𝑎 𝑝 𝑎𝑛𝑡𝑎 𝑢(𝑘) → 𝑠𝑒ñ𝑎 𝑑𝑒 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 𝑑𝑒 𝑎 𝑝 𝑎𝑛𝑡𝑎 𝜉(𝑘) → 𝑟𝑢𝑖𝑑𝑜 𝑏 𝑎𝑛𝑐𝑜 𝑑𝑒 𝑚𝑒𝑑𝑖𝑎 𝑐𝑒𝑟𝑜 𝛥 → 1 − 𝑧−1 (0.5) Alternativamente se puede reescribir la ecuación del modelo en términos de 𝑦 y de 𝑢. Quedando: 𝐴(𝑧−1)𝛥𝑦(𝑘) = 𝐵(𝑧−1)𝛥𝑢(𝑘 − 1) + 𝐶(𝑧−1)𝜉(𝑘) (0.6) Reacomodando: 𝛥𝐴(𝑧−1)𝑦(𝑘) = 𝐵(𝑧−1)𝛥𝑢(𝑘 − 1) + 𝐶(𝑧−1)𝜉(𝑘) (0.7) Definiendo 𝛥𝐴(𝑧−1) como ?̃?(𝑧−1), queda: ?̃?(𝑧−1)𝑦(𝑘) = 𝐵(𝑧−1)𝛥𝑢(𝑘 − 1) + 𝐶(𝑧−1)𝜉(𝑘) (0.8) Para aclarar y explicar mejor el predictor y EL control GPC se considera a 𝐶(𝑧−1) como una constante igual a 1. Más adelante el valor de 𝐶(𝑧−1) se considera una función de transferencia que representa a una perturbación medible y a partir de ello se explicará el desarrollo de un GPC considerando perturbaciones. 3.2.3. Predictor GPC El objetivo del predictor GPC, consiste en conocer que sucede con la salida en instantes futuros "𝑗", es decir que sucede en los instantes 𝑦(𝑘 + 𝑗) [7,18,50]. Para el desarrollo del predictor se parte de la expresión: ?̃?(𝑧−1)𝑦(𝑘) = 𝐵(𝑧−1)𝛥𝑢(𝑘 − 1) + 𝐶(𝑧−1)𝜉(𝑘) (0.9) Sabiendo que: ?̃?(𝑧−1) = 1 + ?̃? 𝑧−11 + ⋯ + 𝑎𝑛?̃?𝑧 −𝑛𝑎 (0.10) 73 Reemplazando (3.10) en (3.9) y despejando 𝑦(𝑘) de la expresión (3.9), se obtiene: 𝑦(𝑘) = −?̃?1𝑦(𝑘 − 1) − ?̃?2𝑦(𝑘 − 2) …− ?̃?𝑛𝑎𝑦(𝑘 − 𝑛𝑎) + 𝑏0𝑢(𝑘 − 1) (0.11) + ⋯ + 𝑏𝑛𝑏𝑢(𝑘 − 1 − 𝑛𝑏) + 𝑐0𝜉(𝑘) + ⋯ + 𝑐𝑛𝑐𝜉(𝑘 + 𝑛𝑐), Para la estimación de la predicción: 𝑦(𝑘 + 1) = −?̃?1𝑦(𝑘) − ?̃?2𝑦(𝑘 − 1) …− ?̃?𝑛𝑎𝑦(𝑘 − 𝑛𝑎 + 1) + 𝑏0𝑢(𝑘) + ⋯ + 𝑏𝑛𝑏𝑢(𝑘 − 𝑛𝑏) + 𝑐0𝜉(𝑘 + 1) + ⋯ (0.12) + 𝑐𝑛𝑐𝜉(𝑘 + 1 + 𝑛𝑐) Como se puede apreciar de la expresión (3.12) los términos asociados a las variables 𝑦(𝑘) y 𝑢(𝑘) dependen de valores actuales y pasados (𝑦(𝑘),… , 𝑦(𝑘 − 𝑛𝑎 + 1), 𝑢(𝑘),… , 𝑢(𝑘 − 𝑛𝑏)) los cuales son conocidos para poder estimar una predicción en 𝑦(𝑘 + 𝑗). El inconveniente está en los valores asociados a la perturbación 𝜉(𝑘 + 1), los cuales se presentan en el instante futuro, por lo que no se pueden conocer. Por ello se determina que todos los términos asociados a esta variable sean cero (esperanza matemática). Es decir: 𝜉(𝑘 + 1) no es conocido, por lo que hacemos 𝐸{𝜉(𝑘 + 1)} = 0. Con esta definición, los siguientes valores de la predicción quedan como: 𝑦(𝑘 + 2) = −?̃?1𝑦(𝑘 + 1) − ?̃?2𝑦(𝑘) …− ?̃?𝑛𝑎𝑦(𝑘 − 𝑛𝑎 + 2) (0.13) + 𝑏0𝑢(𝑘 + 1) + ⋯ + 𝑏𝑛𝑏𝑢(𝑘 − 𝑛𝑏 + 1), El cual también depende de los valores presentes y pasados de 𝑦(𝑘) y de 𝑢(𝑘), además depende del valor 𝑦(𝑘 + 1) calculado en la expresión (3.12). Teniendo estas consideraciones la predicción para 𝑦(𝑘 + 2) pude ser calculada. Observar, que, para la predicción de 𝑦(𝑘 + 2) se necesita el cálculo de 𝑦(𝑘 + 1), así, para la predicción de 𝑦(𝑘 + 3) se necesita de la predicción de 𝑦(𝑘 + 2) y 𝑦(𝑘 + 1), y para la predicción de 𝑦(𝑘 + 4) se necesita la predicción de 𝑦(𝑘 + 3), 𝑦(𝑘 + 2) y 𝑦(𝑘 + 1), lo que convierte al cálculo de predicciones en un procedimiento engorroso y 74 largo por el tamaño de las ecuaciones a utilizar. Para evitar este trabajo largo y tedioso, se emplea un método para desarrollar las predicciones de una forma más sencilla, llamada el método basado en ecuaciones diofánticas [7,9,49,58], las cuales se representan de la siguiente manera: 1 A -j 1 = A E + F -j E j j z Fj z j De la cual se forma la siguiente expresión: 1 = 𝐴 ̃𝐸𝑗 + 𝐹 −𝑗 𝑗 𝑧 (0.14) Despejando 𝐴 ̃𝐸𝑗: 𝐴 ̃𝐸 −𝑗𝑗 = 1 − 𝐹𝑗 𝑧 𝐴 ̃(𝑧−1) 𝐸 −𝑗𝑗 = 1 − 𝐹𝑗 𝑧 (0.15) De la expresión (3.9) que es la ecuación del modelo, si se requiere estimar sus predicciones en los instantes 𝑗, se representa como: ?̃?(𝑧−1)𝑦(𝑘 + 𝑗) = 𝐵(𝑧−1)𝛥𝑢(𝑘 + 𝑗 − 1) + 𝐶(𝑧−1)𝜉(𝑘 + 𝑗) (0.16) Multiplicando (3.16) por 𝐸𝑗 en ambos lados de la ecuación, queda: ?̃?(𝑧−1)𝐸𝑗 𝑦(𝑘 + 𝑗) = 𝐸 −1 𝑗 𝐵(𝑧 )𝛥𝑢(𝑘 + 𝑗 − 1) + 𝐶𝐸𝑗 (𝑧 −1)𝜉(𝑘 + 𝑗) (0.17) Reemplazando (3.15) en (3.17) y haciendo las perturbaciones futuras 𝜉(𝑘 + 𝑗) = 0: (1 − 𝐹 −𝑗𝑗 𝑧 ) 𝑦(𝑘 + 𝑗) = 𝐸 𝐵(𝑧 −1 𝑗 )𝛥𝑢(𝑘 + 𝑗 − 1) 𝑦(𝑘 + 𝑗) − 𝐹𝑗 𝑧 −𝑗𝑦(𝑘 + 𝑗) = 𝐸𝑗 𝐵(𝑧 −1)𝛥𝑢(𝑘 + 𝑗 − 1) 𝑦(𝑘 + 𝑗) − 𝐹𝑗 𝑦(𝑘) = 𝐸𝑗 𝐵(𝑧 −1)𝛥𝑢(𝑘 + 𝑗 − 1) Queda finalmente: ?̂?(𝑘 + 𝑗) = 𝐹𝑗 𝑦(𝑘) + 𝐸𝑗 𝐵(𝑧 −1)𝛥𝑢(𝑘 + 𝑗 − 1) (0.18) Al polinomio 𝐸𝑗 𝐵(𝑧 −1), también se le conoce como 𝐺 −1𝑗(𝑧 ), el cual es un polinomio 75 cuyos términos son los primeros 𝑗 coeficientes de la respuesta escalón de la planta (j predicciones). Así se tiene: 𝐸𝑗 𝐵(𝑧 −1) = 𝐺𝑗(𝑧 −1) (0.19) Los polinomios 𝐹𝑗 y 𝐸𝑗 pueden ser hallados de forma recursiva, tal como se indica en [7,49] es decir que los nuevos valores en el paso 𝑗 + 1, (𝐸𝑗+1 𝑦 𝐹𝑗+1) estarán en función de (𝐸𝑗 𝑦 𝐹𝑗), teniendo en cuenta que: 𝐹𝑗(𝑧 −1) = 𝑓 −1 −𝑛𝑎𝑗,0 + 𝑓𝑗,1𝑧 + ⋯ + 𝑓𝑗,𝑛𝑎𝑧 ; (0.20) 𝐸 (𝑧−1) = 𝑒 −1𝑗 𝑗,0 + 𝑒𝑗,1𝑧 + ⋯ + 𝑒𝑗,𝑗−1𝑧 −(𝑗−1); (0.21) La forma de obtener estos polinomios es, según [7,50]:  Hallar los primeros polinomios 𝐸1 = 1, 𝐹1 = (1 − ?̃?) (0.22)  Añadir los nuevos términos a 𝐸𝑗 𝐸 (𝑧−1) = 𝐸 (𝑧−1) + 𝑒 −1𝑗+1 𝑗 𝑗+1,𝑗 𝑧 , donde 𝑒𝑗+1,𝑗 = 𝑓𝑗,0 (0.23)  Calcular los nuevos términos de 𝐹𝑗 𝑓𝑗+1,𝑖 = 𝑓𝑗,𝑖+1 − 𝑓𝑗,0?̃?𝑖+1 donde 𝑖 = 0,1, … , 𝑛𝑎 siendo 𝑓𝑗,𝑛𝑎+1 = 0. (0.24)  Obtener los términos del polinomio 𝐺𝑗 𝐺𝑗(𝑧 −1) = 𝐸 −1 −1𝑗+1(𝑧 ). 𝐵(𝑧 ). (0.25) Se deben definir correctamente los valores del horizontee de predicción (𝑁 = [𝑁1, 𝑁2]) y de control (𝑁𝑢), debido a que si el proceso tiene un retardo de tiempo 𝑑, la salida se verá influenciada por la señal 𝑢(𝑘) después del instante 𝑑 + 1, los horizontes deben estar definidos mediante: 𝑁1 = 𝑑 + 1, 𝑁2 = 𝑑 + 𝑁, 𝑁𝑢 = 𝑁. (0.26) Observar que no tiene sentido hacer que 𝑁1 < 𝑑 + 1 ya que los términos que se 76 añadirán a 𝐽 solo dependerán de acciones de control pasadas. De lo contrario si 𝑁1 > 𝑑 + 1 los primeros valores de la predicción no se tendrán en consideración. De la expresión (3.18) y (3.19), es posible generar la siguiente expresión matricial para expresar de forma matricial las 𝑁 predicciones que se quiere realizar (𝑁 es el horizonte de predicción): ?̂?(𝑘 + 1) 𝑔1 0 … 0 𝛥𝑢(𝑘) 𝑓(𝑘 + 1) ?̂?(𝑘 + 2) 𝑔2 𝑔1 … 0 𝛥𝑢(𝑘 + 1) 𝑓(𝑘 + 2)[ ] = [ ] [ ] + [ ] (0.27) ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ?̂?(𝑘 + 𝑁) 𝑔𝑁 𝑔𝑁−1 … 𝑔1 𝛥𝑢(𝑘 + 𝑁𝑢 − 1) 𝑓(𝑘 + 𝑁) donde: ?̂?(𝑘 + 1) ?̂?(𝑘 + 2) [ ], ⋮ ?̂?(𝑘 + 𝑁) es la matriz de salidas futuras de dimensión 𝑁𝑥1, la cual denominaremos ?̂?, resultante de 𝐹𝑗 𝑦(𝑘) y 𝑔1 0 … 0 𝛥𝑢(𝑘) 𝑔 [ 2 𝑔1 … 0 𝛥𝑢(𝑘 + 1)] [ ], ⋮ ⋮ ⋱ ⋮ ⋮ 𝑔𝑁 𝑔𝑁−1 … 𝑔1 𝛥𝑢(𝑘 + 𝑁𝑢 − 1) es matriz de la respuesta forzada, de dimensión (𝑁 𝑥 𝑁𝑢) y (𝑁𝑢) respectivamente. Se denomina 𝑮𝞓𝒖. A: 𝑓(𝑘 + 1) 𝑓(𝑘 + 2) [ ], ⋮ 𝑓(𝑘 + 𝑁) se denomina matriz de las respuestas libres, de dimensión 𝑁𝑢, a la cual llamaremos 𝒇. La matriz de respuesta libre depende únicamente de los valores pasados. Al considerar la matriz con las acciones de control pasadas 𝞓𝒖(𝒕 − 𝟏) y un retardo 𝑑 en el sistema, la expresión (3.27) depende de las siguientes expresiones: 77 ?̂?(𝑘 + 𝑑 + 1|𝑘) ?̂?(𝑘 + 𝑑 + 2|𝑘) ?̂? = [ ] (0.28) ⋮ ?̂?(𝑘 + 𝑑 + 𝑁|𝑘) 𝑔1 0 … 0 𝑔 𝑮 = [ 2 𝑔1 … 0 ] (0.29) ⋮ ⋮ ⋱ ⋮ 𝑔𝑁 𝑔𝑁−1 … 𝑔1 𝛥𝑢(𝑘) 𝛥𝑢(𝑘 + 1) 𝒖 = [ ] (0.30) ⋮ 𝛥𝑢(𝑘 + 𝑁𝑢 − 1) 𝐹 −1 𝑑+1 (𝑧 ) −1 𝑭(𝒛−𝟏) = 𝐹𝑑+2 (𝑧 ) (0.31) ⋮ [𝐹 −1𝑑+𝑁(𝑧 )] 𝑧[𝐺 −1 𝑑+1 (𝑧 ) − 𝑔0] 2 ( −𝟏) 𝑧 [𝐺 −1 −1 𝑮′ 𝒛 = 𝑑+2 (𝑧 ) − 𝑔0 − 𝑔1𝑧 ] (0.32) ⋮ [𝑧𝑁[𝐺 (𝑧−1) − 𝑔 − 𝑔 𝑧−1 … 𝑔 𝑧(𝑁−1)𝑑+𝑁 0 1 𝑁−1 ]] quedando: ?̂? = 𝑮𝒖 + 𝑭(𝒛−𝟏)𝒚(𝒕) + 𝑮′(𝒛−𝟏)𝞓𝒖(𝒕 − 𝟏) (0.33) Como los últimos términos de (3.33) dependen del pasado, entonces forman parte de la respuesta libre del sistema 𝑓, como resultado, se tiene la respuesta libre y la respuesta forzada. ?̂? = 𝑮𝞓𝒖 + 𝒇 (0.34) donde la respuesta libre queda definida como: 𝒇 = 𝑭(𝒛−𝟏)𝒚(𝒕) + 𝑮′(𝒛−𝟏)𝞓𝒖(𝒕 − 𝟏) (0.35) Si las condiciones iniciales son igual a cero, entonces la respuesta libre también será cero. Si se aplica un escalón unitario en el instante 𝑘, es decir: 78 𝛥𝑢(𝑘) = 1, 𝛥𝑢(𝑘 + 1) = 0, … , 𝛥𝑢(𝑘 − 𝑁 − 1) = 0 (0.36) La secuencia de salida [?̂?(𝑘 + 1) ?̂?(𝑘 + 2) ?̂?(𝑘 + 3) … ?̂?(𝑘 + 𝑁)]𝑇 es igual a la primera columna de la matriz G, es decir, la primera columna de G se puede calcular como la respuesta de la planta cuando a esta, se la aplica una señal escalón unitario en su entrada. La respuesta libre, según [49] puede ser calculada a partir de: 𝑓 −1𝑗+1 = (1 − ?̃?(𝑧 )) 𝑓𝑗 + 𝐵(𝑧 −1)Δu(k − d + j), (0.37) Con: 𝑓0 = 𝑦(𝑘) y Δu(k + j) = 0, para 𝑗 ≥ 0. (0.38) 3.2.4. Obtención de la ley de control Función de coste La función de coste o función objetivo a minimizar para obtener la secuencia de control necesaria y lograr que la salida del proceso siga de manera óptima a la señal de referencia interna, según [7,50] viene dada por: 𝑁2 𝑁𝑢 𝐽 = ∑ 𝛿(𝑗)[?̂?(𝑡 + 𝑗|𝑡) − 𝑤(𝑡 + 𝑗)]2 + ∑ 𝜆(𝑗)[𝛥𝑢(𝑡 + 𝑗 − 1)]2 (0.39) 𝑗=𝑁1 𝑗=1 donde: 𝑤, referencia interna, 𝛿(𝑗), factor de ponderación del error (señal estimada menos el valor de referencia), 𝜆(𝑗), factor de ponderación de las acciones de control actual y pasadas, [𝑁1, 𝑁2] = 𝑁, horizonte de predicción, 𝑁𝑢, horizonte de control. La expresión (3.39) expresada matricialmente, según [49] queda: 𝐽 = (?̂? − 𝑤)𝑇𝑄𝛿(?̂? − 𝑤) + 𝛥𝑢 𝑇𝑄𝜆𝛥𝑢 (0.40) 79 Con 𝑄𝛿 y 𝑄𝜆 como matrices diagonales referenciadas a las ponderaciones respectivas. Reemplazando (3.34) en (3.40), queda: 𝐽 = (𝑮𝜟𝒖 + 𝒇 − 𝒘)𝑇𝑄𝛿(𝑮𝜟𝒖 + 𝒇 − 𝒘) + 𝜟𝒖 𝑻𝑄 𝜟𝒖 (0.41) 𝜆 donde: 𝒘 = [𝑤(𝑘 + 𝑑 + 1) 𝑤(𝑘 + 𝑑 + 2) … 𝑤(𝑘 + 𝑑 + 𝑁)]𝑇 (0.42) De (3.41), asociando y aplicando propiedad distributiva y las propiedades de transpuesta de una matriz: 𝐽 = (𝛥𝑢𝑇𝐺𝑇 + (𝑓 − 𝑤)𝑇)𝑄𝛿(𝐺𝛥𝑢 + (𝑓 − 𝑤)) + 𝑄𝜆𝛥𝑢 𝑇𝛥𝑢 (0.43) 𝐽 = [𝛥𝑢𝑇𝐺𝑇𝑄 𝑇𝛿𝐺𝛥𝑢 + 𝛥𝑢 𝐺 𝑇𝑄𝛿(𝑓 − 𝑤) + (𝑓 − 𝑤) 𝑇𝑄𝛿𝐺𝛥𝑢 (0.44) + (𝑓 − 𝑤)𝑇𝑄 (𝑓 − 𝑤)] + 𝛥𝑢𝑇𝛿 𝑄𝜆𝛥𝑢 Como 𝑄𝛿 es una matriz simétrica, se puede definir: 𝐽 = [𝛥𝑢𝑇𝐺𝑇𝑄 𝑇 𝑇𝛿𝐺𝛥𝑢 + (𝑓 − 𝑤) 𝑄𝛿𝐺𝛥𝑢 + (𝑓 − 𝑤) 𝑄𝛿𝐺𝛥𝑢 (0.45) + (𝑓 − 𝑤)𝑇𝑄𝛿(𝑓 − 𝑤)] + 𝛥𝑢 𝑇𝑄𝜆𝛥𝑢 Quedando: 𝐽 = 𝛥𝑢𝑇(𝐺𝑇𝑄𝛿𝐺 + 𝑄𝜆)𝛥𝑢 + 2(𝑓 − 𝑤) 𝑇𝑄𝛿𝐺𝛥𝑢 + (𝑓 − 𝑤) 𝑇𝑄𝛿(𝑓 − 𝑤) (0.46) De la ecuación (3.46) el término (𝑓 − 𝑤)𝑇𝑄𝛿(𝑓 − 𝑤) no influye en la optimización por ser un valor constante que se comporta como un bias. Por lo que para la optimización podemos considerar únicamente la ecuación: 𝐽 = 𝛥𝑢𝑇(𝐺𝑇𝑄𝛿𝐺 + 𝑄𝜆)𝛥𝑢 + 2(𝑓 − 𝑤) 𝑇𝑄𝛿𝐺𝛥𝑢 (0.47) 1 Multiplicando (3.47) x , (no influye en el proceso de optimización), queda: 2 1 𝐽 = 𝛥𝑢𝑇(𝐺𝑇𝑄 𝑇 (0.48) 2 𝛿 𝐺 + 𝑄𝜆)𝛥𝑢 + (𝑓 − 𝑤) 𝑄𝛿𝐺𝛥𝑢 Haciendo: 80 𝐻 = (𝐺𝑇𝑄𝛿𝐺 + 𝑄𝜆) (0.49) 𝑓𝑇𝑜 = (𝑓 − 𝑤) 𝑇𝑄𝛿𝐺 (0.50) 𝑥 = 𝛥𝑢 (0.51) Se obtiene: 1 𝐽 = 𝑥𝑇𝐻𝑥 + 𝑓𝑇 (0.52) 2 𝑜 𝑥 Que viene a ser la forma típica para la solución de una programación cuadrática, por ejemplo comando Quadprog de Matlab [116], en el caso que el problema esté sujeto a restricciones se define de la siguiente manera [7,49]: 1 𝐽 = 𝑥𝑇𝐻𝑥 + 𝑓𝑇𝑥 (0.53) 2 𝑜 𝑠. 𝑎: 𝐴𝑥 ≤ 𝑏 , (0.54) 𝐴𝑒𝑞𝑥 = 𝑏𝑒𝑞 (0.55) Como se está presentando el problema sin restricciones, no es necesario aplicar algoritmos de programación cuadrática, ya que se puede obtener el resultado analíticamente de la función de coste 𝐽 en función de la señal de control 𝑢. 𝑑𝐽 = 0 (0.56) 𝑑𝑢 Así se tiene: 𝐽 = 𝛥𝑢𝑇(𝐺𝑇𝑄𝛿𝐺 + 𝑄𝜆)𝛥𝑢 + 2(𝑓 − 𝑤) 𝑇𝑄𝛿𝐺𝛥𝑢 + (𝑓 − 𝑤) 𝑇𝑄𝛿(𝑓 − 𝑤) (0.57) 𝑑𝐽 = 2(𝐺𝑇𝑄𝛿𝐺 + 𝑄 𝑇 𝜆)𝛥𝑢 + 2(𝑓 − 𝑤) 𝑄𝛿𝐺 = 0 (0.58) 𝑑𝑢 Quedando: 𝛥𝑢 = −(𝐺𝑇𝑄 −1𝛿𝐺 + 𝑄𝜆) (𝑓 − 𝑤) 𝑇𝑄𝛿𝐺 (0.59) 81 𝛥𝑢 = −(𝐺𝑇𝑄 𝐺 + 𝑄 )−1𝐺𝑇𝑄𝑇𝛿 𝜆 𝛿 (𝑓 − 𝑤) (0.60) Debido a la estrategia de horizonte móvil la cual consiste en: que del vector de control 𝑢(𝑡), solo se aplica el primer elemento de 𝛥𝑢(𝑡). En el siguiente instante de muestreo, y aprovechando la nueva información, se calcula un nuevo vector de control y se vuelve a aplicar nuevamente solo el primer elemento, y así sucesivamente. Como resultado se obtiene: 𝛥𝑢(𝑡) = [1 0 ] (𝐺𝑇𝑄 𝐺 + 𝑄 )−1𝐺𝑇 𝑇1𝑥(𝑁−1) 𝛿 𝜆 𝑄𝛿 (𝑓 − 𝑤) (0.61) Como: 𝛥𝑢 = 𝑢(𝑡) − 𝑢(𝑡 − 1) (0.62) Finalmente, la señal de control en el tiempo 𝑡, se calcula como: 𝑢(𝑡) = 𝛥𝑢 + 𝑢(𝑡 − 1) (0.63) 3.2.5. Control GPC con modelo de perturbación. A continuación se analiza el desarrollo del GPC cuando se incorpora el modelo de una perturbación medible, es decir se describe como incluir una perturbación medible dentro de la ley de control. La incorporación de perturbaciones en el GPC ayuda en el desarrollo de sistemas multivariables y sobre todo de un GPC robusto, puesto que al hacer conocer al sistema del tipo de perturbación e incluirla dentro de la ley de control posibilita que este sea menos sensible a señales externas, haciendo que la salida del sistema siga de forma óptima a la referencia indicada (setpoint). Para el caso de un sistema de control convencional, se tiene el diagrama mostrado en la figura 3.3 [51]: q Gq R E U Y C G Figura 0.3. Diagrama de bloques de un sistema de control convencional con perturbación Fuente: Propia. 82 donde, q es la señal de perturbación, Gq es el bloque que representa la dinámica de la perturbación, G es el bloque del proceso, C es el bloque que representa al controlador y R representa la señal de referencia. De la figura 3.3 se observa que el controlador a diseñar (bloque ‘C’) que genera la señal de control ‘𝑈’, tiene que ser capaz de rechazar la perturbación que influyen a la salida del proceso ‘𝑌’. En el caso que se pueda medir la señal ‘𝑞’ se puede diseñar un controlador denominado controlador feedforward, cuyo propósito consiste en cancelar la perturbación en la salida del sistema, en otras palabras, se puede considerar diseñar el controlador feedforward [90] mostrado en la figura 3.4. Controlador feedforward -Gq q Gq G R E Y C + G + U Figura 0.4. Control feedforward Fuente: Propia Realizando las operaciones de bloques, se considera anular el efecto de la perturbación en el sistema, con la condición que la perturbación ´𝑞´ tiene que ser medible. Este tipo de implementación tiene sus inconvenientes. Si la planta ‘G’ es de fase no mínima (tiene ‘ceros’ en el semiplano derecho), el bloque del controlador feedforward no es realizable, pues los ‘ceros’ de la planta ‘G’ se convierten en ‘polos’ ubicados en el semiplano derecho en el controlador feedforward, convirtiendo al sistema en un sistema inestable. Además, si la planta ‘G’ tiene más polos que el modelo de perturbación (Gq), estos se convierte en ‘ceros’ en el controlador feedforward, haciendo que el sistema completo tenga más ceros que polos, convirtiéndolo también en un control no realizable. 3.2.6. GPC con modelo de perturbación En el control GPC se modifica el modelo CARIMA para poder incluir el efecto de la perturbación. De esta forma, como se indica en [7,49], en la ecuación: 83 𝐶 𝐴𝑦(𝑘) = 𝐵𝑢(𝑘 − 1) + 𝜉(𝑘) (0.64) 𝛥 se agrega el término de perturbación, quedando: 𝐶 𝐴𝑦(𝑘) = 𝐵𝑢(𝑘 − 1) + 𝜉(𝑘) + 𝐷𝑞(𝑘) (0.65) 𝛥 donde: 𝑞(𝑘) es la señal de perturbación medible, 𝐷(𝑧) es el polinomio de perturbación (numerador de la función de transferencia de la perturbación), conocido. Haciendo la representación en un diagrama de bloques, de la ecuación (3.65), se obtiene el diagrama que se exhibe en la figura 3.5. Perturbación, conocido q D A u Bz-1 y+ A C A Ruido blanco, no conocido Figura 0.5. GPC con modelo de perturbación Fuente: Propia. En control predictivo, se trabaja el polinomio B retrasado un instante de tiempo, por causa del horizonte deslizante, ya que siempre se actúa sobre el proceso con la acción de control pasada. De la figura 3.5 se observa que los bloques de la perturbación y de la señal de control comparten el mismo denominador el polinomio "𝐴". Esto indica, que sí la función de transferencia del modelo de perturbación es distinta a la función de transferencia de la planta, se requiere hallar un denominador común "𝐴", un polinomio "𝐵" y un polinomio "𝐷", que sean compatibles con la ecuación (3.65) y con la figura 3.5. Por ejemplo: Si se tienen la función de transferencia de la perturbación como: 84 1−0.9𝑧−1 𝐺𝑞 = 1−0.8𝑧−1 Y la función de transferencia de la planta como: 0.5𝑧−1 𝐺 = 1−0.5𝑧−1 Y como estas funciones son distintas, se requiere hallar los polinomios "𝐴", "𝐵" y "𝐷" de la siguiente manera: El polinomio "𝐴" es el mínimo común múltiplo de los denominadores de 𝐺𝑞 y 𝐺, resultando: 𝐴 = (1 − 0.8𝑧−1)(1 − 0.5𝑧−1) = 1 − 1.3𝑧−1 + 0.4𝑧−2 (0.66) Los polinomios "𝐵" y "𝐷" resultan de la operación con fracciones parciales (utilizando el polinomio A): 𝐵 = 0.5(1 − 0.8𝑧−1) = 0.5 − 0.4𝑧−1 (0.67) 𝐷 = (1 − 0.5𝑧−1)(1 − 0.9𝑧−1) = 1 − 1.4𝑧−1 + 0.45𝑧−2 (0.68) Indicando que el polinomio 𝐵 está afectado por el retardo 𝑧−1 después de su cálculo (estará afectado por 𝑧−1 cuando se incorpore en la función de transferencia). Con los tres polinomios 𝐴, 𝐵 𝑦 𝐷 es posible realizar las predicciones del sistema, que serán muy parecidas a las realizadas cuando no se consideran predicciones. De la ecuación (3.65), multiplicando por el operador Δ, se obtiene: ?̃?𝑦(𝑘 + 𝑗) = 𝐵𝛥𝑢(𝑘 − 1 + 𝑗) + 𝐷𝛥𝑞(𝑘 + 𝑗) + 𝐶𝜉(𝑘 + 𝑗) (0.69) Con: ?̃? = 𝛥𝐴. Multiplicando por 𝐸𝑗 ambos miembros de la ecuación (3.69): 𝐸𝑗?̃?𝑦(𝑘 + 𝑗) = 𝐸𝑗𝐵𝛥𝑢(𝑘 − 1 + 𝑗) + 𝐸𝑗𝐷𝛥𝑞(𝑘 + 𝑗) + 𝐸𝑗𝐶𝜉(𝑘 + 𝑗) (0.70) donde 𝐸𝑗 se encuentra desarrollando las ecuaciones diofánticas indicadas en el epígrafe anterior (𝐴 ̃(𝑧−1) 𝐸 −𝑗𝑗 = 1 − 𝐹𝑗 𝑧 ). Se puede observar que el procedimiento no varía al considerar la señal de perturbación 𝑞. Es decir, los valore de 𝐸𝑗 y 𝐹𝑗 no varían cuando se 85 consideran o no perturbaciones medibles. Reemplazando (3.15) en (3.70), queda: [1 − 𝑧−𝑗𝐹𝑗]𝑦(𝑘 + 1) = 𝐸𝑗𝐵𝛥𝑢(𝑘 − 1 + 𝑗) + 𝐸𝑗𝐷𝛥𝑞(𝑘 + 𝑗) + 𝐸𝑗𝐶𝜉(𝑘 + 𝑗) (0.71) Considerando que el término de ruido (estocástico) 𝜉(𝑘 + 𝑗) por esperanza matemática se iguala a cero, se obtiene: [1 − 𝑧−𝑗𝐹𝑗]𝑦(𝑘 + 1) = 𝐸𝑗𝐵𝛥𝑢(𝑘 − 1 + 𝑗) + 𝐸𝑗𝐷𝛥𝑞(𝑘 + 𝑗) (0.72) Desarrollando la predicción de 𝑦, queda: ?̂?(𝑘 + 1|𝑘) = 𝐹𝑗𝑦(𝑘) + 𝐸𝑗𝐵𝛥𝑢(𝑘 − 1 + 𝑗) + 𝐸𝑗𝐷𝛥𝑞(𝑘 + 𝑗) (0.73) En la ecuación (3.73) se observa que aparece un término nuevo que depende de las perturbaciones pasadas y futuras 𝐸𝑗𝐷𝛥𝑞(𝑘 + 𝑗). En muchas ocasiones no se conoce cuando tiene lugar una perturbación futura, pero en el caso que se conozca la perturbación futura, es porque generalmente, el diseñador ha sido el que ha introducido esa perturbación. Por ejemplo, en un proceso multivariable la variación de una señal de entrada tendrá una influencia sobre la salida del sistema. Por lo tanto, si se aplica un cambio en la entrada del proceso multivariable que va a influenciar sobre la salida, se puede considerar como una perturbación futura, ya que de antemano se puede conocer y generar. Con esto se indica que toda perturbación del sistema debe ser conocida, en el peor de los casos, si hay perturbaciones futuras que no se conocen se pueden considerar cero. Otro punto, también importante, es que toda perturbación se incluye únicamente en la respuesta libre del sistema, debido a que la respuesta forzada del sistema es provocada por la variación de la señal de control y como vemos en la ecuación (3.73), la perturbación no influye en la variación de la señal de control, por lo que si se consideran perturbaciones futuras, estas también serán incluidas en la respuesta libre del sistema [7,9,49,50] De la ecuación (3.73), el término 𝐸𝑗𝐷𝛥𝑞(𝑘 + 𝑗), se divide en dos partes (futuro y pasado), por lo que se tiene [7,9,49,50]: 86 𝐸𝑗𝐷𝛥𝑞(𝑘 + 𝑗) → 𝐿𝛥𝑞(𝑘 + 𝑗) + 𝐹𝑞 (0.74) donde, 𝐹𝑞, depende de las perturbaciones pasadas, 𝐿𝛥𝑞(𝑘 + 𝑗), depende de las perturbaciones futuras, sino se conocen, 𝛥𝑞(𝑘 + 𝑗) = 0, 𝐿 es una matriz parecida a la matriz 𝐺, solo que con coeficientes de la perturbación con una excitación tipo escalón. En términos generales, la salida del sistema se considera como: ?̂? = 𝐺𝛥𝑢 + 𝑓 (0.75) donde, 𝑓 = 𝑓 + 𝐿𝛥𝑞(𝑘 + 𝑗) + 𝐹𝑞, es la respuesta libre del sistema sin perturbación más la perturbación futura más la perturbación pasada. Por lo que (3.75) queda como: ?̂? = 𝐺𝛥𝑢 + 𝑓 + 𝐿𝛥𝑞(𝑘 + 𝑗) + 𝐹𝑞 (0.76) Representando a (3.76) de forma matricial, según [7,9,49,50] se obtiene: ?̂?(𝑘 + 1|𝑘) 𝑔1 0 … 0 𝛥𝑢(𝑘) ?̂?(𝑘 + 2|𝑘) 𝑔2 𝑔1 … 0 𝛥𝑢(𝑘 + 1)[ ] = [ ] [ ] ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ?̂?(𝑘 + 𝑁|𝑘) 𝑔𝑁 𝑔𝑁−1 … 𝑔1 𝛥𝑢(𝑘 + 𝑁𝑢 − 1) 𝐹 (𝑧−1) 𝑦(𝑘) 𝑢𝐺 (𝑧−1 1 1 ) 𝛥𝑢(𝑘 − 1) 𝐹2(𝑧 −1) 𝑦(𝑘 − 1) ( −1) 𝛥𝑢(𝑘 − 2) + [ ] + + 𝑢𝐺2 𝑧 [ ] ⋮ ⋮ ⋮ ⋮ [𝐹𝑁(𝑧 −1)] 𝑦(𝑘 − 𝑛𝑎) [𝑢𝐺𝑁(𝑧 −1)] 𝛥𝑢(𝑘 − 𝑛𝑏) 𝐿1 0 … 0 𝛥𝑞(𝑘) (0.77) 𝐿2 𝐿1 … 0 𝛥𝑞(𝑘 + 1)+ [ ] [ ] ⋮ ⋮ ⋱ ⋮ ⋮ 𝐿𝑁 𝐿𝑁−1 … 𝐿1 𝛥𝑞(𝑘 + 𝑁𝑢 − 1) 𝐹𝑞1(𝑧 −1) 𝛥𝑞(𝑘 − 1) −1 𝛥𝑞(𝑘 − 2) + + 𝐹𝑞2(𝑧 ) [ ] ⋮ ⋮ [𝐹𝑞 (𝑧−1)] 𝛥𝑞(𝑘 − 𝑛𝑑)𝑁 Lo que muestra que solo se incrementa la dinámica de la perturbación en las predicciones mostradas en la ecuación (3.77). Para el cálculo de la matriz 𝐿, se procede de forma parecida para hallar la matriz 𝐺, partiendo de que si la matriz 𝐺 se halla de la expresión (3.19), la matriz 𝐿 se puede 87 calcular como [7]: 𝐸 −1𝑗 𝐷(𝑧 ) = 𝐿 (𝑧 −1) (0.78) 𝑗 Para completar la matriz 𝐿 se puede realizar de forma paralela hallando los valores de 𝐸, 𝐹 y 𝐺𝑗, como:  Hallar los primeros polinomios 𝐸1 = 1, 𝐹1 = (1 − ?̃?). (0.79)  Añadir los nuevos términos a 𝐸𝑗 𝐸 −1𝑗+1(𝑧 ) = 𝐸 (𝑧 −1 𝑗 ) + 𝑒 −1 𝑗+1,𝑗 𝑧 , donde 𝑒𝑗+1,𝑗 = 𝑓𝑗,0 (0.80)  Calcular los nuevos términos de 𝐹𝑗 𝑓𝑗+1,𝑖 = 𝑓𝑗,𝑖+1 − 𝑓𝑗,0?̃?𝑖+1 donde 𝑖 = 0,1, … , 𝑛𝑎 siendo 𝑓 (0.81) 𝑗,𝑛𝑎+1 = 0  Obtener los términos del polinomio 𝐺𝑗 𝐺 (𝑧−1𝑗 ) = 𝐸𝑗+1(𝑧 −1). 𝐵(𝑧−1) (0.82) 𝐿𝑗(𝑧 −1) = 𝐸 −1𝑗+1(𝑧 ). 𝐷(𝑧 −1) (0.83) En la presente tesis, no se consideran perturbaciones futuras, ya que en la práctica generalmente no están disponibles, por lo que se consideran como ceros, es decir 𝐿 = 0. En cuanto a la ley de control, esta se mantiene igual, con la única salvedad que la respuesta libre considera la suma de las perturbaciones pasadas y futuras. Para llegar a la ley de control de la ecuación (3.61) se realiza el mismo procedimiento [7,9,49,50] obteniéndose la ecuación: 𝛥𝑢(𝑡) = [1 01𝑥(𝑁−1)] (𝐺 𝑇𝑄𝛿𝐺 + 𝑄 −1 𝑇 𝑇 𝜆) 𝐺 𝑄𝛿(𝑓 − 𝑤) (0.84) donde la única diferencia radica en: 𝑓 = 𝑓 + 𝐿𝛥𝑞(𝑘 + 𝑗) + 𝐹𝑞 , tal como se indica en la ecuación (3.76). Finalmente se encuentra la señal de control idéntica a la expresión (3.63), es decir: 88 𝑢(𝑡) = 𝛥𝑢 + 𝑢(𝑡 − 1) (0.85) Control GPC con restricción En la práctica, los procesos de la industria presentan variedades de restricciones, tales como restricciones físicas (distancias del vástago en un cilindro neumático por ejemplo), o restricciones de control (saturación del actuador, rango lineal, etc.). El objetivo, es entonces, incorporar todas estas restricciones en el controlador predictivo [7,49,50]. Se ha trabajado en la minimización de una función de coste, tal como la indicada en la expresión (3.39) sin considerar restricción alguna (sin restricción), para lo cual se hace: 𝑑𝐽 = 0 , y con esto se obtiene el incremento de la señal de control indicada como: 𝑑𝑢 𝛥𝑢 = 𝐾(𝑤 − 𝑓), donde 𝐾 es un vector representado por: 𝐾 = (𝐺𝑇𝑄 𝐺 + 𝑄 −1 𝑇𝛿 𝜆) 𝐺 𝑄𝛿 donde la forma de hallar las matrices 𝐺, 𝑄𝛿, 𝑄𝜆, ya ha sido estudiada [7,49]. En el caso que existan restricciones, se requiere llevar la función coste a una representación estándar de tipo cuadrática [7] para poder desarrollar su solución. Tal representación estándar viene dada por: 1 𝐽 = 𝛥𝑢𝑇𝐻𝛥𝑢 + 𝑓𝑇𝑜 𝛥𝑢 (0.86) 2 De las ecuaciones (3.39) - (3.48) se ha visto cómo llegar a esta forma estándar, donde: 𝐻 = (𝐺𝑇𝑄𝛿𝐺 + 𝑄𝜆) (0.87) 𝑓𝑇𝑜 = (𝑓 − 𝑤) 𝑇𝑄𝛿𝐺 (0.88) 𝑥 = 𝛥𝑢 (0.89) Y como se mencionó, ya con esta forma dada, la solución para hallar el incremento de control recae en el método denominado “Optimización por Programación no lineal” específicamente programación cuadrática [7]. Los tipos de restricciones que pueden presentar el GPC generalmente son: Restricción en el incremento de la acción de control [7]: Toda técnica en el GPC o MPC debe considerar las restricciones en la señal de control 89 [7], así se tiene: 𝑢𝑚𝑖𝑛 ≤ 𝛥𝑢 ≤ 𝑢𝑚𝑎𝑥 (0.90) donde se indica que el incremento de control (futuros) no puede ser mayor que 𝑢𝑚𝑎𝑥, ni menor que 𝑢𝑚𝑖𝑛 [7]. Volviendo a la forma estándar: 1 𝐽 = 𝛥𝑢𝑇𝐻𝛥𝑢 + 𝑓𝑇𝑜 𝛥𝑢, se indican las restricciones: 2 Sujetas a: 𝐴𝛥𝑢 ≤ 𝑏, restricción de desigualdad 𝐴𝑒𝑞𝛥𝑢 = 𝑏𝑒𝑞, restricción de igualdad Para la restricción dada en (3.90) la solución de la función de coste dada en (3.86) será considerando restricciones de desigualdad [7,49,50,116]. Como (3.90) tiene dos desigualdades, y buscando la forma 𝐴𝛥𝑢 ≤ 𝑏 (patrón de restricción), se pueden separar las dos desigualdades, así: 𝛥𝑢 ≤ 𝑢 (0.91) 𝑚𝑎𝑥, lo cual se puede representar de forma matricial de la siguiente manera [7]: 1 0 ⋯ 0 𝛥𝑢(𝑘) 𝑢𝑚𝑎𝑥 0 1 ⋯ 0 𝛥𝑢(𝑘 + 1) 𝑢𝑚𝑎𝑥 [ ] [ ] ≤ [ ] (0.92) ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ 0 0 … 1 𝛥𝑢(𝑘 + 𝑛𝑢 − 1) 𝑢𝑚𝑎𝑥 La expresión (3.92) simplemente indica que todos los incrementos de control futuros deben ser menor que 𝑢𝑚𝑎𝑥. La expresión (3.92) se puede indicar de forma simplificada como: 𝑰𝑵𝒖𝒙𝑵𝒖𝜟𝒖 ≤ 𝑢𝑚𝑎𝑥𝟏 (0.93) donde: 𝑰𝑵𝒖𝒙𝑵𝒖, es una matriz identidad de dimensión 𝑁𝑢x𝑁𝑢, la cual se denomina como matriz 𝐴. 𝜟𝒖, es la matriz de incrementos de control futuros. 90 𝑢𝑚𝑎𝑥, restricción máxima de desigualdad. 𝟏, vector unidad dimensión 𝑁𝑢. Si 𝑢𝑚𝑎𝑥𝟏 se denomina como matriz b, la expresión (3.93) puede quedar como: 𝑨𝜟𝒖 ≤ 𝒃, con lo cual se llega a la forma estándar de desigualdad. Haciendo lo mismo con la otra desigualdad: 𝑢 (0.94) 𝑚𝑖𝑛 ≤ 𝛥𝑢, Representándola de forma matricial, según [7]: 1 0 ⋯ 0 𝛥𝑢(𝑘) 𝑢𝑚𝑖𝑛 0 1 ⋯ 0 𝛥𝑢(𝑘 + 1) 𝑢𝑚𝑖𝑛 [ ] [ ] ≥ [ (0.95) ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ] 0 0 … 1 𝛥𝑢(𝑘 + 𝑛𝑢 − 1) 𝑢𝑚𝑖𝑛 Simplificando queda como: 𝑰𝑵𝒖𝒙𝑵𝒖𝜟𝒖 ≥ 𝑢 𝟏 (0.96) 𝑚𝑖𝑛 Ahora para cambiar la desigualdad, multiplicamos por (−1) a la expresión (3.96), según [7] quedando: (−𝑰𝑵𝒖𝒙𝑵𝒖)𝜟𝒖 ≤ (−𝟏𝑢𝑚𝑖𝑛) (0.97) Con lo cual se observa que (3.97) ya tiene la forma patrón de desigualdad 𝑨𝜟𝒖 ≤ 𝒃, haciendo (−𝑰𝑵𝒖𝒙𝑵𝒖) = 𝑨 y (−𝟏𝑢𝑚𝑖𝑛) = 𝒃. Ahora, uniendo las desigualdades (3.93) y (3.97) ya teniendo la forma estándar de desigualdad y haciendo un resumen como se muestra en la tabla 3.1: Tabla 0.1: Resumen del GPC con restricción en la acción de control. RESTRICCIÓN DE LA OBJETIVO DESIGUALDADES ACCION DE CONTROL Ahora, haciendo una matriz de matrices de las desigualdades de la tabla 3.1, según [7] se tiene: 91 𝑰𝑵𝒖𝒙𝑵𝒖 𝟏𝒖𝒎𝒂𝒙 [− − − − −] 𝜟𝒖 ≤ [− − − − −] (0.98) −𝑰𝑵𝒖𝒙𝑵𝒖 −𝟏𝒖𝒎𝒊𝒏 Para aclarar la notación de la expresión (3.98), se expresará de forma expandida [7]: 1 0 ⋯ 0 𝛥𝑢(𝑘) 𝑢 𝑚𝑎𝑥 0 1 ⋯ 0 𝛥𝑢(𝑘 + 1) 𝑢 𝑚𝑎𝑥 ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ 0 0 … 1 𝛥𝑢(𝑘 + 𝑛 𝑢 − 1) 𝑢𝑚𝑎𝑥 − − − − − − − − − − − ≤ − − − − (0.99) −1 0 ⋯ 0 𝛥𝑢(𝑘) 𝑢 𝑚𝑖𝑛 0 −1 ⋯ 0 𝛥𝑢(𝑘 + 1) 𝑢𝑚𝑖𝑛 ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ [ 0 0 … −1] [𝛥𝑢(𝑘 + 𝑛 − 1)] [ 𝑢𝑚𝑖𝑛 ]𝑢 Con la expresión (3.99) ya se tiene definida la forma estándar global de las desigualdades referentes a la minimización de la función de coste. Haciendo: 1 0 ⋯ 0 𝛥𝑢(𝑘) 𝑢 𝑚𝑎𝑥 0 1 ⋯ 0 𝛥𝑢(𝑘 + 1) 𝑢 𝑚𝑎𝑥 ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ 0 0 … 1 𝛥𝑢(𝑘 + 𝑛𝑢 − 1) 𝑢𝑚𝑎𝑥 − − − − → 𝐴; − − − − − − − → 𝛥𝑢; − − − − → 𝑏 (0.100) −1 0 ⋯ 0 𝛥𝑢(𝑘) 𝑢𝑚𝑖𝑛 0 −1 ⋯ 0 𝛥𝑢(𝑘 + 1) 𝑢𝑚𝑖𝑛 ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ [ 0 0 … −1] [𝛥𝑢(𝑘 + 𝑛𝑢 − 1)] [ 𝑢𝑚𝑖𝑛 ] Queda, como se mencionó la forma estándar: 𝑨𝜟𝒖 ≤ 𝒃. (0.101) Teniendo ya definida la forma estándar, se puede aplicar el método de optimización por programación no lineal para hallar los valores óptimos de la señal de control, para este caso se empleará la programación cuadrática [7,116]. Para hallar los valores óptimos de la señal de control se hace uso del comando Quaprog de Matlab [116], que es un comando que incorpora el algoritmo de optimización cuadrática. Antes de pasar a explicar la teoría y algoritmo de la programación cuadrática se presenta una restricción adicional empleada en el GPC, con el objetivo de profundizar más el tema. 92 Cabe indicar que en el desarrollo del controlador GPC en el presente trabajo, se ha empleado la restricción en el incremento de la acción de control, por lo que se retornará a este tipo de restricción más adelante. Restricción en la señal de control: La restricción en la señal de control se presenta como: 𝑢𝑚𝑖𝑛 ≤ 𝑢(𝑘) ≤ 𝑢𝑚𝑎𝑥 , ∀𝑘 ∈ [0, 𝑁𝑢−1] (0.102) Este tipo de restricción se da en sistemas donde los actuadores solo aceptan un rango limitado de la señal de entrada, por ejemplo, hay cilindros cuya señal de ingreso está limitado en un rango de 8 – 16mA, esto indica que la señal de control está limitada en ese rango que equivale al 25% - 70% del rango completo de 4 – 20mA [7]. También se conoce que la acción de control está dada por la expresión (3.63): 𝑢(𝑘) = 𝑢(𝑘 − 1) + 𝛥𝑢(𝑘), Si se estima la predicción en un instante de tiempo queda: 𝑢(𝑘 + 1) = 𝑢(𝑘) + 𝛥𝑢(𝑘 + 1) (0.103) Como se conoce el valor de 𝑢(𝑘) de la expresión (3.63), la expresión (3.102) queda: 𝑢(𝑘 + 1) = 𝑢(𝑘 − 1) + 𝛥𝑢(𝑘) + 𝛥𝑢(𝑘 + 1) (0.104) De la ecuación (3.104) se observa que cuando se realiza la predicción en un instante de tiempo, también se adiciona el incremento de control en ese instante futuro además de considerar las acciones pasadas de la señal de control [7]. Por ejemplo para la predicción en dos instantes de tiempo se tiene: 𝑢(𝑘 + 2) = 𝑢(𝑘 + 1) + 𝛥𝑢(𝑘 + 2) (0.105) Reemplazando (3.104) en (3.105), se obtiene: 𝑢(𝑘 + 2) = 𝑢(𝑘 − 1) + 𝛥𝑢(𝑘) + 𝛥𝑢(𝑘 + 1) + 𝛥𝑢(𝑘 + 2) (0.106) Considerando las ecuaciones (3.104), (3.105) y (3.106), la expresión (3.102) puede ser representada en forma matricial como [7]: 93 1 0 … 0 𝛥𝑢(𝑘) 𝑢(𝑘 − 1) 1 1 … 0 𝛥𝑢(𝑘 + 1) 𝑢(𝑘 − 1) 𝟏𝑢𝑚𝑖𝑛 ≤ [ ] [ ] + [ ] ≤ 𝑢𝑚𝑎𝑥𝟏 (0.107) ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ 1 1 … 1 𝛥𝑢(𝑘 + 𝑛𝑢 − 1) 𝑢(𝑘 − 1) Definimos la expresión (3.107) como la expresión matricial de la restricción indicada en (3.102), de la cual es posible definir: 1 0 … 0 𝛥𝑢(𝑘) 𝑢(𝑘 − 1) 1 1 … 0 𝛥𝑢(𝑘 + 1) 𝑢(𝑘 − 1) [ ] → 𝑇 ; [ ] → 𝛥𝑢 ; [ ] → 𝟏𝑢(𝑘 − 1) (0.108) ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ 1 1 … 1 𝛥𝑢(𝑘 + 𝑛𝑢 − 1) 𝑢(𝑘 − 1) Quedando la expresión (3.107) como: 𝟏𝑢𝑚𝑖𝑛 ≤ 𝑇𝛥𝑢 + 𝟏𝑢(𝑘 − 1) ≤ 𝑢 (0.109) 𝑚𝑎𝑥𝟏 Restando 𝟏𝑢(𝑘 − 1) en ambos lados de la ecuación (3.109): 𝑢𝑚𝑖𝑛 − 𝟏𝑢(𝑘 − 1) ≤ 𝑇𝛥𝑢 ≤ 𝑢𝑚𝑎𝑥𝟏 − 𝟏𝑢(𝑘 − 1) (0.110) Ahora, llevando las desigualdades de la expresión (3.110), tal como se hizo en el caso anterior de restricción (expresiones del (3.94) al (3.96), a la forma estándar para programación cuadrática [7], queda: 𝑻 𝟏𝒖𝒎𝒂𝒙 − 𝟏𝒖(𝒌 − 𝟏) [− − − − −] 𝜟𝒖 ≤ [− − − − − − − − −] (0.111) −𝑻 −𝟏𝒖 + 𝟏𝒖(𝒌 − 𝟏)𝒎𝒊𝒏 Haciendo: 𝑻 𝟏𝒖𝒎𝒂𝒙 − 𝟏𝒖(𝒌 − 𝟏) [− − − − −] = 𝑨; [− − − − − − − − −] = 𝒃; (0.112) −𝑻 −𝟏𝒖 + 𝟏𝒖(𝒌 − 𝟏)𝒎𝒊𝒏 Queda la forma estándar: 𝑨𝜟𝒖 = 𝒃, (0.113) Este tipo de restricción se puede desarrollar mediante programación cuadrática (comando Quadprog de Matlab [116]). Cabe indicar que existen otros tipos de restricciones, tales como la restricción en la 94 salida (en este caso se basa en el modelo de la planta) y la restricción al sobreimpulso, las cuales no serán tratados en el presente trabajo, ya que como se mencionó, el diseño del controlador para esta tesis está basado en la restricción en el incremento del control, descrita anteriormente. Como se puede ver, el objetivo principal para el desarrollo del GPC con restricciones, es desarrollar la forma indicada en (3.86), a partir de lo cual se puede hacer uso del algoritmo de resolución de optimización con programación cuadrática [116]. En el presente trabajo, se hace uso del comando Quadprog de Matlab [116], cuyo algoritmo será tratado en el siguiente epígrafe. 3.3. Optimización 3.3.1. Optimización - comando Quadprog de Matlab. De [116], se indica que, el algoritmo Quadprog de Matlab , resuelve el problema de programación cuadrática usando el método de punto interior, así, se define la forma estándar de un problema de programación cuadrática como: 1 min 𝑥𝑇𝐻𝑥 + 𝑐𝑇𝑥 (0.114) 2 𝑆𝑢𝑗𝑒𝑡𝑎 𝑎: 𝐴𝑥 ≤ 𝑏, (0.115) 𝐴𝑒𝑞𝑥 = 𝑏𝑒𝑞 (0.116) ≤ 𝑥 ≤ 𝑢 (0.117) donde el objetivo es encontrar un vector 𝑥, que minimiza la función cuadrática bajo ciertas restricciones lineales. El algoritmo de punto interior del comando Quadprog de Matlab, ejecuta los siguientes pasos: Presolución y postsolución El algoritmo empieza intentando simplificar el problema eliminando redundancias y simplificando restricciones, para lo cual realiza [15]: 95  Verifica si alguna variable tiene iguales fronteras (límites) superiores o inferiores, si lo tiene, verifica la factibilidad, y luego corrige o elimina las variables.  Verifica si alguna restricción de desigualdad lineal incluye una sola variable, Si es así, verifica la factibilidad y cambia la desigualdad lineal por un límite.  Verifica si alguna restricción de igualdad lineal incluye una sola variable, Si es así, verifica la factibilidad y luego corrige y elimina la variable.  Verifica si alguna matriz de restricción lineal contiene filas ceros, si es así, verifica la factibilidad y elimina las filas.  Verifica que los límites (fronteras) y las restricciones lineales sean consistentes.  Verifica si algunas variables aparecen solo como términos lineales en la función objetivo y no aparecen en una restricción lineal. Si es así, verifica la factibilidad y los límites respectivos y corrige dichas variables a sus fronteras más adecuadas.  Cambia cualquier restricción de desigualdad lineal a restricciones de igualdad lineales añadiendo las variables de holgura (“slack”).  Si el algoritmo detecta una no factibilidad o problemas de frontera en el paso de presolución, manda un mensaje de salida del comando.  El algoritmo puede llegar a un simple punto factible, el cual representa a la solución.  Si el algoritmo no detecta una no factibilidad o problemas de fronteras (límites), continúa con su procedimiento. Al final, el algoritmo reconstruye el problema original deshaciendo cualquier transformación en la presolución. Este paso final es llamado el paso postsolución. Para mayores detalles ver [15]. Generar puntos iniciales El punto inicial 𝑥𝑜 para el algoritmo consiste en:  Inicializar 𝑥𝑜 a unos (𝑛, 1) donde 𝑛 es el número de filas de 𝐻.  Para componentes que tienen límites inferiores 𝑏 y superiores 𝑢𝑏, y si un componente de 𝑥𝑜 no está estrictamente dentro de estas fronteras, el componente es llevado a: (𝑢𝑏 + 𝑏) 2. 96  Para componentes que tienen una sola frontera, se modifica el componente para llevarlo totalmente dentro de la frontera.  Se toma un paso de predicción (ver Predictor-Corrector), con correcciones menores para la factibilidad, y no un paso predictor-corrector completo. Esto coloca el punto inicial más cerca del camino central sin implicar la sobrecarga computacional de un paso predictor-corrector completo [32]. Predictor- Corrector El comando Quadprog, tiene dos tipos de predictor-corrector: los algoritmos llamados sparse y el punto interior convexo, que difieren principalmente en la fase del predictor- corrector. Los algoritmos son similares, pero difieren en algunos detalles, ver [31]. Sparse Predictor-Corrector. De manera similar al algoritmo de punto interior fmincon, el algoritmo Sparse predictor-corrector trata de encontrar un punto donde se mantengan las condiciones de Karush-Kuhn-Tucker (KKT). Para el problema de programación cuadrática descrito en la definición de programación cuadrática, estas condiciones son: 𝐻𝑥 + 𝑐 − 𝐴𝑇 −𝑇 𝑒𝑞 𝑦 − ?̅? 𝑧 = 0 ?̅?𝑥 − ?̅? − 𝑠 = 0 𝐴 𝑒𝑞𝑥 − 𝑏𝑒𝑞 = 0 (0.118) 𝑠𝑖𝑧𝑖 = 0, 𝑖 = 1,2, … , 𝑚 𝑠 ≥ 0 [ 𝑧 ≥ 0 ] donde: ?̅?, es la matriz de desigualdad lineal extendida que incluye los límites escritos como desigualdades lineales. ?̅?, es el correspondiente vector de desigualdad lineal, incluidos los límites. 𝑧, es el vector de multiplicadores de Lagrange correspondiente a 𝑠. 𝑦, es el vector de los multiplicadores de Lagrange asociados con las restricciones de igualdad. El algoritmo primero predice un paso por Newton-Raphson, luego calcula un paso corrector. El corrector intenta aplicar la mejor la restricción no lineal 𝑠𝑖𝑧𝑖 = 0. 97 Definiciones para el paso del predictor: 𝑟𝑑, es el residuo dual: 𝑟𝑑 = 𝐻𝑥 + 𝑐 − 𝐴 𝑇 𝑇 𝑒𝑞𝑦 − ?̅? 𝑧 (0.119) 𝑟𝑒𝑞, es el residuo primal de la restricción de igualdad: 𝑟𝑒𝑞 = 𝐴𝑒𝑞 𝑥 − 𝑏𝑒𝑞 (0.120) 𝑟𝑖𝑛𝑒𝑞 , es el residuo primal de la restricción de desigualdad, el cual incluye límites y holguras: 𝑟𝑖𝑛𝑒𝑞 = ?̅?𝑥 − ?̅? − 𝑠 (0.121) 𝑟𝑠𝑧 , es el residuo complementario: 𝑟𝑠𝑧 = 𝑆𝑧 (0.122) 𝑆 , es una matriz diagonal de términos de holgura, 𝑧 es la matriz de columnas de multiplicadores de Lagrange. 𝑟𝑐, es el promedio de la complementariedad: 𝑠𝑇𝑧 𝑟 = (0.123) 𝑐 𝑚 En un paso de Newton, los cambios en 𝑥, 𝑠, 𝑦 y 𝑧 están dados por: 𝐻 0 −𝐴𝑇𝑒𝑞 −?̅? 𝑇 ∆𝑥 𝑟𝑑 𝑟 𝐴𝑒𝑞 0 0 0 ∆𝑠 𝑒𝑞[ ] = − [ ] (0.124) 𝑟?̅? −𝐼 0 0 ∆𝑦 𝑖𝑛𝑒𝑞 [ 0 𝑍 0 𝑆 ] ∆𝑧 𝑟𝑠𝑧 Sin embargo, un paso Newton completo podría no ser factible, debido a las restricciones de positividad en 𝑠 y 𝑧. Por tanto, Quadprog acorta el paso, si es necesario, para mantener la positividad. Además, para mantener una posición "centrada" en el interior, en lugar de intentar resolver 𝑠𝑖𝑧𝑖 = 0, el algoritmo toma un parámetro positivo 𝜎, e intenta resolver: 98 𝑠𝑖𝑧𝑖 = 𝜎𝑟𝑐 (0.125) Quadprog reemplaza 𝑟𝑠𝑧 en la ecuación de Newton con 𝑟𝑠𝑧 + 𝛥𝑠𝛥𝑧 − 𝜎𝑟𝑐𝟏, donde 𝟏 es el vector de unos. Además, Quadprog reordena las ecuaciones de Newton para obtener un sistema simétrico más numéricamente estable para el cálculo del paso del predictor. Después de calcular el paso de Newton corregido, el algoritmo realiza más cálculos para obtener un paso actual más largo y para prepararse para mejores pasos posteriores. Estos cálculos de corrección múltiple pueden mejorar tanto el rendimiento como la solidez. Full Predictor-Corrector: El algoritmo predictor-corrector completo no combina límites en restricciones lineales, por lo que tiene otro conjunto de variables de holgura correspondientes a los límites. El algoritmo desplaza los límites inferiores a cero. Y si solo hay un límite en una variable, el algoritmo lo convierte en un límite inferior de cero, para negar la desigualdad de un límite superior. ?̅? es la matriz lineal extendida que incluye tanto las desigualdades lineales como las igualdades lineales, ?̅? es el vector de igualdad lineal correspondiente. ?̅? también incluye términos para extender el vector 𝑥 con variables de holgura 𝑠 que convierten las restricciones de desigualdad en restricciones de igualdad: 𝐴 0 𝑥 ?̅?𝑥 = [ 𝑒𝑞 ] [ 0], 𝐴 𝐼 𝑠 Donde 𝑥0 es el vector original 𝑥. Las condiciones Karush-Kuhn-Tucker, son: 𝐻𝑥 + 𝑐 − ?̅?𝑦 − 𝑣 + 𝑤 = 0 ?̅?𝑥 = ?̅? 𝑥 + 𝑡 = 𝑢 (0.126) 𝑣𝑖𝑥𝑖 = 0, 𝑖 = 1,2, … , 𝑚 𝑤𝑖𝑡𝑖 = 0, 𝑖 = 1,2, … , 𝑛 [ 𝑥, 𝑣, 𝑤, 𝑡 ≥ 0 ] Para encontrar la solución 𝑥, las variables de holgura y las variables duales del sistema de ecuaciones (3.126), el algoritmo considera un paso de Newton-Raphson [13]: 99 𝐻 −?̅?𝑇 0 −𝐼 𝐼 ∆𝑥 𝐻𝑥 + 𝑐 − ?̅?𝑇𝑦 − 𝑣 + 𝑤 𝑟𝑑 ?̅? 0 0 0 0 ∆𝑦 ?̅?𝑥 − ?̅? 𝑟 𝑝 −𝐼 0 −𝐼 0 0 ∆𝑡 = − 𝑢 − 𝑥 − 𝑡 = − 𝑟𝑢𝑏 (0.127) 𝑉 0 0 𝑋 0 ∆𝑣 𝑉𝑋 𝑟𝑣𝑥 [ 0 0 𝑊 0 𝑇] [∆𝑤] [ 𝑊𝑇 ] [𝑟𝑤𝑡] donde 𝑋, 𝑉, 𝑊 y 𝑇 son matrices diagonales correspondientes a los vectores 𝑥, 𝑣, 𝑤 y 𝑡, respectivamente. Los vectores residuales en el extremo derecho de la ecuación son: 𝑟𝑑, el residuo dual. 𝑟𝑝, es el residuo primal. 𝑟𝑢𝑏, es el residuo del límite superior. 𝑟𝑣𝑥, es el residuo complementario del límite inferior. 𝑟𝑤𝑡, es el residuo complementario del límite superior. El algoritmo resuelve el sistema de ecuaciones anterior (3.127) convirtiéndolo primero a la forma de matriz simétrica: [−𝐷 ?̅? 𝑇 ∆𝑥 𝑅 ] [ ] = − [ ] (0.128) ?̅? 0 ∆𝑦 𝑟𝑝 donde: 𝐷 = 𝐻 + 𝑋−1𝑉 + 𝑇−1𝑊, (0.129) 𝑅 = −𝑟𝑑 − 𝑋−1𝑟𝑣𝑥 + 𝑇−1𝑟𝑤𝑡 + 𝑇−1𝑊𝑟𝑢𝑏. (0.130) Todas las inversas matriciales en las definiciones de (3.129) y (3.130) son simples de calcular porque las matrices son diagonales. Para llegar a la ecuación (3.128) de la ecuación (3.127), observar que la segunda fila de la ecuación (3.128) es la misma que la segunda fila de la matriz de la ecuación (3.127). La primera fila de la ecuación (3.128) proviene de resolver las últimas dos filas de la ecuación (3.127) para 𝛥𝑣 y 𝛥𝑤, y luego resolver para 𝛥𝑡. Para resolver la ecuación (3.128), el algoritmo sigue los elementos esenciales mostrados en [1]. El algoritmo resuelve el sistema simétrico mediante una descomposición de LDL. Como se en señala en [43], esta descomposición es numéricamente estable sin 100 ningún pivote, por lo que puede ser rápida. Después de calcular el paso de Newton corregido, el algoritmo realiza más cálculos para obtener un paso actual más largo y para prepararse para mejores pasos posteriores. Estos cálculos de corrección múltiple pueden mejorar tanto el rendimiento como la solidez. Para más detalles, ver [14]. El algoritmo Quadprog [116] predictor-corrector completo es en gran medida el mismo que en el algoritmo linprog 'punto-interior', pero incluye términos cuadráticos [27]. Condiciones de parada El algoritmo predictor-corrector se itera hasta que alcanza un punto que es factible (cumple las restricciones dentro de las tolerancias) y donde los pasos relativos son pequeños. Específicamente, se define: 𝜌 = 𝑚𝑎𝑥(1, ‖𝐻‖, ‖?̅?‖, ‖𝐴𝑒𝑞‖, ‖𝑐‖, ‖?̅?‖, ‖𝑏𝑒𝑞‖) (0.131) El algoritmo se detiene cuando se cumplen todas estas condiciones: ‖𝑟𝑝‖ + ‖𝑟1 𝑢𝑏 ‖1 ≤ 𝜌𝑇𝑜 𝐶𝑜𝑛, (0.132) ‖𝑟𝑑 ‖∞ ≤ 𝜌𝑇𝑜 𝐹𝑢𝑛, (0.133) 𝑟𝑐 = 𝑇𝑜 𝐹𝑢𝑛 (0.134) donde: 𝑟𝑐 = max(min (|𝑥𝑖𝑣𝑖|, |𝑥𝑖|, |𝑣𝑖|) , 𝑚𝑖𝑛(|𝑡𝑖𝑤𝑖|, |𝑡𝑖|, |𝑤𝑖|)) (0.135) 𝑖 𝑟𝑐 , esencialmente mide el tamaño de los residuales de complementariedad 𝑥𝑣 y 𝑡𝑤, que son cada uno de los vectores de ceros en una solución. Detección de factibilidad Quadprog calcula una función de mérito 𝜑 en cada iteración. La función de mérito es una medida de viabilidad. Quadprog se detiene si la función de mérito crece demasiado. En este caso, Quadprog declara que el problema es inviable. La función de mérito está relacionada con las condiciones KKT para el problema. Utiliza las siguientes definiciones [13]: 101 𝜌 = 𝑚𝑎𝑥(1, ‖𝐻‖, ‖?̅?‖, ‖𝐴𝑒𝑞‖, ‖𝑐‖, ‖?̅?‖, ‖𝑏𝑒𝑞‖) (0.136) 𝑟𝑒𝑞 = 𝐴𝑒𝑞𝑥 − 𝑏𝑒𝑞, (0.137) 𝑟𝑖𝑛𝑒𝑞 = ?̅?𝑥 − ?̅? + 𝑠, (0.138) 𝑟 𝑇 𝑇𝑑 = 𝐻𝑥 + 𝑐 + 𝐴𝑒𝑞𝜆𝑒𝑞 + ?̅? ?̅?𝑖𝑛𝑒𝑞, (0.139) 𝑔 = 𝑥𝑇𝐻𝑥 + 𝑓𝑇𝑥 − ?̅?𝑇?̅? − 𝑏𝑇𝑖𝑛𝑒𝑞 𝑒𝑞𝜆𝑒𝑞, (0.140) donde ?̅? y ?̅? son coeficientes de desigualdad lineal, aumentados con términos para representar los límites del algoritmo disperso, ?̅?𝑖𝑛𝑒𝑞 representa de manera similar los multiplicadores de Lagrange para las restricciones de desigualdad lineal, incluidas las restricciones vinculadas. Esto se llamó 𝑧 en Predictor-Corrector, y 𝜆𝑒𝑞 se llamó 𝑦. La función de mérito 𝜑 es [116]: 1 (max (‖𝑟 𝜌 𝑒𝑞 ‖ , ‖𝑟𝑖𝑛𝑒𝑞‖ , ‖𝑟𝑑‖∞) + 𝑔) (0.141) ∞ ∞ Si esta función de mérito se vuelve demasiado grande, Quadprog declara que el problema es inviable y se detiene con el indicador de salida −2. Como se mencionó, en la presente tesis se emplea el algoritmo Quadprog, el cual fue descrito en este tópico, para profundizar y tener en claro cómo trabaja dicho algoritmo en su forma básica. Se realiza un análisis de la teoría de programación lineal y no lineal, para concluir se realiza un script en Matlab que desarrolla dicho algoritmo en su forma básica. 3.3.2. Introducción a la optimización En [13] se define a la optimización como la forma de representar en términos matemáticos diversos problemas considerados complejos, y desarrollar métodos para poder resolverlos mediante el uso de algoritmos numéricos matemáticos adecuados. Los métodos de optimización se clasifican como [13]: a) Métodos de optimización sin condiciones: 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑓: 𝑅𝑛 → 𝑅, 102 b) Métodos de optimización con condiciones: 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑓(𝑥), 𝑥 ∈ 𝑅𝑛, 𝑠𝑢𝑗𝑒𝑡𝑎 𝑎: 𝑐𝑖(𝑥) = 0, 𝑖 ∈ Ɛ 𝑐𝑗(𝑥) ≥ 0, 𝑗 ∈ Ɩ Optimización sin condiciones Consiste en 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑓: 𝑅𝑛 → 𝑅, donde la función 𝑓 debe ser continua en cualquier conjunto abierto, y además debe tener derivadas parciales hasta segundo orden en ese conjunto abierto [13]. Algunos ejemplos de esta clase de funciones: Si 𝑥∗ es una constante, la función 𝑓(𝑥) = (𝑥 − 𝑥∗)2 mostrada en la figura 3.6, tiene un único punto donde puede alcanzar el mínimo y es el valor de 𝑥∗ [13]. Figura 0.6. Función f(x) = (x − x∗)2 Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13]. La función 𝑓(𝑥) = −2cos (𝑥 − 𝑥∗) mostrada en la figura 3.7, tiene mínimos locales en 𝑥 = 𝑥∗ + 2𝑎𝑥 [13]. Figura 0.7. Función f(x) = −2cos( x − x∗) Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13]. La función 𝑓(𝑥) = 0.015(𝑥 − 𝑥∗)2 mostrada en la figura 3.8, tiene un único mínimo global 𝑥∗, y muchos mínimos locales [13]. 103 Figura 0.8. Función f(x) = 0.015(x − x∗)2 Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13]. Condiciones para la existencia de un punto mínimo El objetivo del proceso de optimización consiste en encontrar el mínimo global de la función en estudio si existe, o en su defecto un mínimo local [13]. Una función 𝑓: 𝑅𝑛 → 𝑅, se dice convexa si: 𝑓(𝛼𝑥1 + 𝛽𝑥2) ≤ 𝛼𝑓(𝑥1) + 𝛽𝑓(𝑥2) (0.142) Para todo 𝑥1, 𝑥2 ∈ 𝑅 𝑛 y todo 𝛼, 𝛽 ∈ 𝑅, con 𝛼 + 𝛽 = 1, 𝛼 ≥ 0, 𝛽 ≥ 0. En otras palabras, una función es convexa si está definida dentro de una región convexa o, está debajo del segmento que une dos puntos de la función [13], tal como se muestra en la figura 3.9: Figura 0.9. Función convexa Fuente: Propia. Condiciones de convexidad de primer orden Una función 𝑓: 𝑅𝑛 → 𝑅 que sea derivable, es decir, su gradiente ∇𝑓(𝑥), existe para todo 𝑥 ∈ 𝑅𝑛, será convexa si para todo 𝑥, 𝑦 ∈ 𝑅𝑛, se cumple que: 𝑓(𝑦) ≥ 𝑓(𝑥) + ∇𝑓(𝑥)𝑇(𝑦 − 𝑥), tal como se muestra en la figura 3.10 [13]. 104 Figura 0.10. Condición de convexidad de primer orden. Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13] Condiciones de convexidad de segundo orden Una función 𝑓: 𝑅𝑛 → 𝑅 con derivadas parciales de segundo orden, es decir su matriz Hessiana ∇2𝑓(𝑥) es convexa, si para todo 𝑥 ∈ 𝑅𝑛 ≠ 0 se cumple que 𝑥𝑇∇2𝑓(𝑥)𝑥 ≥ 0, es decir, su matriz Hessiana resulta ser semidefinida positiva [13]. 𝑥2 Ejemplo: la función 𝑓: 𝑅2 → 𝑅, 𝑓(𝑥, 𝑦) = , 𝑦 > 0, tal como se muestra en la figura 𝑦 3.11, según [13]. x2 Figura 0.11. Función (x, y) = , y > 0 y Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13] Condiciones necesarias de mínimo local de primer orden Si 𝑥∗ es un mínimo local de 𝑓: 𝑅𝑛 → 𝑅, se cumple que: ∇𝑓(𝑥∗) = 0, El punto 𝑥 en el que ∇𝑓(𝑥) = 0, se llama punto estacionario de 𝑓(𝑥). Condiciones suficientes de mínimo local de segundo orden: Si 𝑥∗ es un punto estacionario y ∇2𝑓(𝑥∗) es definida positiva, 𝑥∗ es un mínimo local. 105 Cualquier mínimo local de una función convexa es un mínimo global [27]. Se pueden presentar diversos casos de mínimos locales o globales, como se muestra en la figura 3.12 [13]. Mínimo Máximo Punto de silla Figura 0.12. Distintos puntos mínimos, máximos en funciones. Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13] En la figura 3.12, la primera columna representa un mínimo local o global y ∇2𝑓(𝑥∗) es definida positiva. La segunda columna representa un máximo y se observa que ∇2𝑓(𝑥∗) es definida negativa. La tercera columna, que es un punto de silla, se da cuando ∇2𝑓(𝑥∗) es semidefinida positiva, semidefinida negativa o indefinida. Si ∇2𝑓(𝑥∗) = 0, se necesita tener más información de derivadas parciales de hasta tercer orden para determinar los mínimos locales. Para encontrar la solución y hallar los mínimos de las funciones problemas se utiliza generalmente el método de dirección del descenso, el cual es un procedimiento iterativo que hace descender el valor de la función, 𝑓(𝑥𝑘+1) < 𝑓(𝑥𝑘), en sucesivos puntos de 𝑘. A continuación se mencionan algunos métodos que utilizan la dirección del descenso. Método de la dirección del gradiente o máxima pendiente. Considerando el desarrollo de la serie de Taylor de 𝑓(𝑥) hasta primer orden [13]: 𝑓(𝑥 + 𝑝) = 𝑓(𝑥) + ∇𝑓(𝑥)𝑇𝑝 + 𝒪(‖𝑝‖2) (0.143) La dirección 𝑝 en 𝑥 es una dirección de descenso si: ∇𝑓(𝑥)𝑇𝑝 < 0 (0.144) El descenso relativo de la función en 𝑝 es: 106 𝑓(𝑥) − 𝑓(𝑥 + 𝑝) ∇𝑓(𝑥)𝑇𝑝 = − = −‖∇𝑓(𝑥)‖𝑐𝑜𝑠𝜃 (0.145) ‖𝑝‖ ‖𝑝‖ donde 𝜃 es el ángulo que forman 𝑝 y ∇𝑓(𝑥). El descenso cualitativo es máximo cuando 𝜃 = 𝜋, donde cos(𝜋) = −1. Es decir, cuando la dirección de descenso es: 𝑝 = −∇𝑓(𝑥), y se denomina máxima pendiente. Método de Newton Considerando el desarrollo de Taylor de 𝑓(𝑥) , expresión (3.143), hasta segundo orden de derivadas a lo largo de 𝑝𝑘: 1 𝑓(𝑥 + 𝑝) = 𝑓(𝑥) + ∇𝑓(𝑥)𝑇𝑝 + 𝑝𝑇∇2𝑓(𝑥)𝑝 + 𝒪(‖𝑝‖3) (0.146) 2 donde 𝑔 = ∇𝑓(𝑥) es el vector gradiente y la matriz: 𝑑2𝑓(𝑥) 𝑑2𝑓(𝑥) 𝑑2𝑓(𝑥) … 2 𝑑 𝑥1 𝑑𝑥1𝑥2 𝑑𝑥1𝑥𝑛 𝑑2𝑓(𝑥) 𝑑2𝑓(𝑥) 𝑑2𝑓(𝑥) 𝐻 = ∇2𝑓(𝑥) = …𝑑𝑥 𝑥 𝑑2𝑥 𝑑𝑥 𝑥 (0.147) 2 1 2 2 𝑛 ⋮ ⋮ ⋱ ⋮ 𝑑2𝑓(𝑥) 𝑑2 2 𝑓(𝑥) 𝑑 𝑓(𝑥)… [ 𝑑𝑥𝑛𝑥1 𝑑𝑥 𝑥 2𝑛 2 𝑑 𝑥𝑛 ] Es una matriz Hessiana. El método de Newton se puede esquematizar mediante la sucesión de modelos, como se muestra en la figura 3.13 [13]. Figura 0.13. Representación gráfica del método de Newton. Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13] La condición necesaria de ∇𝑓(𝑥∗) = 0, como se indica en [13], conduce a la ecuación: 107 ∇𝑓(𝑥) + ∇2𝑓(𝑥)𝑝 = 𝑔 + 𝐻𝑝 = 0 (0.148) Como resultado se obtiene un sistema lineal de ecuaciones cuya solución es la dirección de Newton direccionada hasta el óptimo. Si la matriz 𝐻 = ∇2𝑓(𝑥) es definida positiva (𝑥𝑇𝐻𝑥 > 0 𝑝𝑎𝑟𝑎 𝑐𝑢𝑎 𝑞𝑢𝑖𝑒𝑟 𝑥 ≠ 0), la dirección de Newton resulta ser de descenso: 0 < 𝑝𝑇𝐻𝑝 = −𝑝𝑇𝑔 (0.149) Cumpliéndose que 𝑝𝑇𝑔 < 0. Método cuasi Newton Se basa en el método de Newton, se calcula la aproximación de la matriz Hessiana (H), expresión (3.147) o variantes de ella usando la inversa de H, con métodos recurrentes [13]. De la fórmula del método de Newton, deduciendo se llega [13]: −1 𝑝 = −(∇2𝑓(𝑥)) ∇𝑓(𝑥). (0.150) Usando 𝑝 = −𝐻∇𝑓(𝑥), donde 𝐻 es una aproximación de la inversa de la matriz Hessiana. Las fórmulas más usadas para hallar la aproximación de H son [13]: 𝐻𝑘𝑦 𝑦 𝑇 𝑘 𝑘 𝐻𝑘 𝑠 𝑠 𝑇 𝑘 𝑘 𝐻𝑘+1 = 𝐻𝑘 − 𝑇 + 𝑇 , ec. de Davidon, Fletcher y Powell. 𝑦𝑘 𝐻 𝑦 𝑦 𝑠 (0.151) 𝑘 𝑘 𝑘 𝑘 𝑦𝑇𝐻 𝑇 𝑇 𝑇𝑘 𝑘𝑦𝑘 𝑠𝑘𝑠𝑘 𝑠𝑘𝑦𝑘 𝐻𝑘 + 𝐻𝑘𝑦𝑘𝑠𝑘 𝐻𝑘+1 = 𝐻𝑘 + (1 + 𝑇 ) 𝑇 − 𝑇 , ec. de Broyden 𝑦 𝑠 (0.152) 𝑘 𝑘 𝑦𝑘 𝑠𝑘 𝑦𝑘 𝑠𝑘 En todos los casos: 𝑦𝑘 = ∇𝑓(𝑥𝑘+1) − ∇𝑓(𝑥𝑘) (0.153) 𝑠𝑘 = 𝑥𝑘+1 − 𝑥𝑘 = 𝛼𝑘𝑝𝑘 (0.154) 108 Con esta breve introducción sobre optimización, es posible abordar la resolución de problemas de programación lineal y no lineal, lo cual sirve de base para desarrollar el algoritmo tratado en el comando Quadprog de Matlab [116]. 3.3.3. Optimización: Programación lineal En [13] se define a la programación lineal, como parte de la optimización que busca dentro de un conjunto de posibles soluciones de ecuaciones e inecuaciones lineales la que mejor encaja para alcanzar un objetivo dado. Este objetivo viene dado también por una ecuación lineal. El problema consiste en: 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑓(𝑥) 𝑠𝑢𝑗𝑒𝑡𝑎 𝑎: 𝑔(𝑥) = 0, ℎ(𝑥) ≤ 0, Donde 𝑓: 𝑅𝑛 → 𝑅, 𝑔: 𝑅𝑛 → 𝑅𝑚 𝑦 ℎ: 𝑅𝑛 → 𝑅𝑝 son lineales. La programación lineal resulta hoy en día una herramienta básica en muchas aplicaciones de economía, medio ambiente, gestión, logística, etc., debido a que es utilizada como referencia para tomar decisiones que tienen que ver con el manejo óptimo de recursos de diversa índole [27]. La programación lineal resuelve los siguientes problemas: 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟: 𝑐1𝑥1 + 𝑐2𝑥2 + ⋯ + 𝑐𝑛𝑥𝑛, (0.155) 𝑠𝑢𝑗𝑒𝑡𝑎 𝑎: 𝑎11𝑥1 + 𝑎12𝑥2 + ⋯ + 𝑎1𝑛𝑥𝑛 ≥ 𝑏1 𝑎21𝑥1 + 𝑎22𝑥2 + ⋯ + 𝑎2𝑛𝑥𝑛 ≥ 𝑏2, (0.156) ⋮ ⋮ ⋮ ⋮ ⋮ 𝑎𝑚1𝑥1 + 𝑎𝑚2𝑥2 + ⋯ + 𝑎𝑚𝑛𝑥𝑛 ≥ 𝑏𝑚, 109 𝑦 𝑥1, 𝑥2, … , 𝑥𝑛 ≥ 0. donde (3.155) es la “función objetivo” y 𝑎𝑖1𝑥1 + 𝑎𝑖2𝑥2 + ⋯ + 𝑎𝑖𝑛𝑥𝑛 ≥ 𝑏𝑖, 1 ≤ 𝑖 ≤ 𝑚 son las “restricciones”, 𝑥1, 𝑥2, … , 𝑥𝑛 son “los coeficientes del vector variables de decisión” (soluciones), 𝑐1, … , 𝑐𝑛 son “los coeficientes de coste”. Los 𝑏1, … , 𝑏𝑚 son “los términos independientes”. La matriz: 𝑎11 𝑎12 … 𝑎1𝑛 𝑎21 𝑎22 … 𝑎2𝑛 𝐴 = [ (0.157) ⋮ ⋮ ⋱ ⋮ ] 𝑎𝑚1 𝑎𝑚2 … 𝑎𝑚𝑛 se denomina “matriz de coeficientes de las restricciones del problema”. Un vector o punto 𝑥𝑇 = [𝑥1, 𝑥2, … , 𝑥𝑛], que satisface todas las restricciones se le llama “punto factible” (solución). El conjunto: 𝐹 = {𝑥 ∈ 𝑅𝑛: 𝐴𝑥 ≥ 𝑏, 𝑥 ≥ 0} de todos los vectores o puntos factibles constituyen la “región factible”. El problema de programación lineal se puede expresar en su forma compacta como [13,27]: 𝑀𝑖𝑛: 𝑐𝑇𝑥 (0.158) 𝑠. 𝑎.: 𝐴𝑥 ≥ 𝑏 (0.159) 𝑥 ≥ 0. (0.160) Y de forma estándar: Min 𝑐𝑇𝑥 (0.161) 𝑠. 𝑎.: 𝐴𝑥 = 𝑏 (0.162) 𝑥 ≥ 0 (0.163) 110 Un problema de programación lineal cualquiera dada por (3.158), se puede llevar a la forma estándar restando un vector 𝑦, denominado la variable de holgura de las restricciones 𝐴𝑥 ≥ 𝑏, así se tiene: 𝑀𝑖𝑛.: 𝑐𝑇𝑥 (0.164) 𝑠. 𝑎.: 𝐴𝑥 − 𝑦 = 𝑏 (0.165) 𝑥, 𝑦 ≥ 0 (0.166) Si las restricciones son: 𝐴𝑥 ≤ 𝑏, se suma un vector "𝑦" también llamado de holgura, se puede llevar a la forma estándar haciendo: 𝐴𝑥 + 𝑦 = 𝑏. Si se trata de maximizar una función objetivo, se puede transformar en una minimización de dicha función teniendo en consideración que: max 𝑐𝑇 𝑥 = min [− 𝑐𝑇𝑥]. Convexidad Un conjunto 𝐶 ⊆ 𝑅𝑛, es convexo si y solo si para todo par de puntos 𝑥1, 𝑥2 ∈ 𝐶 todas las combinaciones de la forma 𝑥 = 𝜆𝑥1 + (1 − 𝜆)𝑥2, 0 ≤ 𝜆 ≤ 1, están dentro de C [13]. En la figura 3.14 se muestran diversas formas de representar un conjunto convexo de forma geométrica. Conjunto Convexo Conjunto no convexo Cono convexo Figura 0.14. Conjuntos convexos Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13]. El concepto de combinación convexa se puede generalizar de la siguiente manera: 𝑥 = ∑𝑝𝑖=1 𝜆𝑖𝑥𝑖, donde: ∑𝑝𝑖=1 𝜆𝑖𝑥𝑖 = 1, 𝜆𝑖 ≥ 0, 𝑖 = 1, … , 𝑝. 111 En el caso del problema de programación lineal, su conjunto de soluciones 𝐾 = {𝑥 ∈ 𝑅𝑛: 𝐴𝑥 = 𝑏, 𝑥 ≥ 0} es un conjunto convexo. Condiciones del punto óptimo Hablar de condiciones de punto óptimo, es hablar de las condiciones de Karush-Kuhn- Tucker [13,31], las cuales referidas a la programación lineal indican [27]: Que 𝑥 ∈ 𝑅𝑛 es la solución óptima del programa lineal indicada en (3.161), Si y solo si existen vectores 𝜆 ∈ 𝑅𝑚 𝑦 𝜋 ∈ 𝑅𝑛 tales que: 𝐴𝑥 = 𝑏, 𝑥 ≥ 0, llamada factibilidad del problema primal (0.167) 𝑐 = 𝐴𝑇𝜆 + 𝜋, 𝜋 ≥ 0, llamada factibilidad del problema dual (0.168) 𝜋𝑖𝑥𝑖 = 0, 𝑖 = 1, … , 𝑛 llamada gap de dualidad. (0.169) La función de Lagrange del problema es: 𝐿(𝑥, 𝜆, 𝜋) = 𝑐𝑇𝑥 − 𝜆𝑇(𝐴𝑥 − 𝑏) − 𝜋𝑇𝑥 (0.170) El vector gradiente de 𝐿 respecto a 𝑥 es: 𝑐 − 𝐴𝑇𝜆 − 𝜋. Igualando este gradiente a cero, se obtiene la condición ii). El vector 𝜆 es referido a los multiplicadores de Lagrange de las condiciones: 𝐴𝑥 = 𝑏. El vector 𝜋 es referido a los multiplicadores de Lagrange de las condiciones 𝑥 ≥ 0. La condición iii) exige que sea cero el denominado gap de dualidad: la diferencia entre el valor de la función objetivo del primal y dual. Dualidad La dualidad es la condición en la cual se indica que en cada problema de Programación Lineal existe otro llamado el dual [13,27]. Así, con 𝑥 ∈ 𝑅𝑛, 𝐴 ∈ 𝑅𝑚𝑥𝑛, 𝑚 > 𝑛, el primal está dado por: 𝑀𝑖𝑛:𝑐𝑇𝑥 (0.171) 𝑠. 𝑎.: 𝐴𝑥 = 𝑏 ] (0.172) 𝑥 ≥ 0 112 El cual si nos referimos a su función de Lagrange 𝐿, tiene su dual asociado: 𝑀𝑎𝑥:𝐿(𝑥, 𝜆, 𝜋) (0.173) 𝑠. 𝑎.: ∇𝑥𝐿(𝑥, 𝜆, 𝜋) = 0] (0.174) 𝜋 ≥ 0 Si el problema primal está dada de forma estándar, la función de Lagrange 𝐿 está dada por [13,27]: 𝐿(𝑥, 𝜆, 𝜋) = 𝑐𝑇𝑥 − 𝜆𝑇(𝐴𝑥 − 𝑏) − 𝜋𝑇𝑥 (0.175) donde 𝐿(𝑥, 𝜆, 𝜋): 𝑅𝑛 𝑥 𝑅𝑚 𝑥 𝑅𝑛 . El gradiente de 𝐿 respecto a 𝑥, es: ∇𝑥𝐿 = 𝑐 − 𝐴 𝑇𝜆 − 𝜋. (0.176) El problema dual, incorporando en la función objetivo el gradiente igual a cero, es: 𝑀𝑎𝑥: 𝑏𝑇𝜆 (0.177) 𝑠. 𝑎.: 𝑐 − 𝐴𝑇𝜆 − 𝜋 = 0] (0.178) 𝜋 ≥ 0 Quedando el par primal-dual de una programación lineal de forma estándar como: 𝑃𝑟𝑖𝑚𝑎 : 𝐷𝑢𝑎 : min 𝑐𝑇𝑥 max 𝑏𝑇𝜆. 𝑠. 𝑎. 𝐴𝑥 = 𝑏 𝑠. 𝑎. 𝐴𝑇𝜆 + 𝜋 = 𝑐 𝑥 ≥ 0 𝜋 ≥ 0 Las condiciones de Karush-Kuhn-Tucker son las mismas indicadas anteriormente, en (3.167), (3.168) y (3.169). 113 3.3.4. Métodos del punto interior En [13] se indica que estos métodos se basan en la búsqueda del óptimo por medio de caminos que se trasladan en el área o zona interior de la región factible. Los más eficientes aplican en sucesivas el método de Predictor-Corrector, como el comando Quadprog de Matlab. Estos desarrollos algorítmicos han hecho converger en la práctica a la Programación Lineal y la Programación No Lineal. Se puede indicar que mediante un procedimiento iterativo como por ejemplo el de dirección del descenso, desde un punto interior de la región factible obtenido de la resolución por Newton-Raphson del sistema de ecuaciones no lineales que definen las condiciones de KKT del problema, se pueden obtener direcciones que se dirijan a nuevos puntos interiores, los cuales se aproximan al punto óptimo lo más cerca posible [13,31]. Formulación del procedimiento general Consideremos la formulación más general del problema lineal primal: 𝑀𝑖𝑛:𝑐𝑇𝑥 (0.179) 𝑠. 𝑎. : 𝐴𝑥 = 𝑏 ] (0.180) 0 ≤ 𝑥 ≤ 𝑢 donde 𝑐, 𝑥, 𝑢 ∈ 𝑅𝑛, 𝑏 ∈ 𝑅𝑚 𝑦 𝐴 ∈ 𝑅𝑚𝑥𝑛. Si los límites inferiores de las variables no son cero, se pueden escalar para que lo sean. El dual de ese problema es: 𝑀𝑎𝑥:𝐿(𝑥, 𝑦, 𝑧, 𝑤) (0.181) 𝑠. 𝑎.: ∇𝑥𝐿(𝑥, 𝑦, 𝑧, 𝑤) = 0] (0.182) 𝑧, 𝑤 ≥ 0 Siendo su función de Lagrange: 𝐿(. , . , . , . ) = 𝑐𝑇𝑥 − 𝑦𝑇(𝐴𝑥 − 𝑏) − 𝑤𝑇(𝑢 − 𝑥) − 𝑧𝑇𝑥 (0.183) El gradiente de la esta función de Lagrange respecto a 𝑥 es: 114 ∇ 𝑇𝑥𝐿 = 𝑐 − 𝐴 𝑦 + 𝑤 − 𝑧 (0.184) El dual, ya simplificado es: Max :𝑦𝑇𝑏 − 𝑤𝑇𝑢 (0.185) 𝑠. 𝑎.: 𝑐 − 𝐴𝑇𝑦 + 𝑤 − 𝑧 = 0 ] (0.186) 𝑧, 𝑤 ≥ 0 donde 𝑦 ∈ 𝑅𝑚, 𝑤 ∈ 𝑅𝑛, 𝑧 ∈ 𝑅𝑛. De las condiciones de KKT del problema primal y dual, e incorporando las variables de holgura 𝑠 , resulta: −𝐴𝑇𝑦 + 𝑤 − 𝑧 + 𝑐 = 0 𝐴𝑥 = 𝑏 𝑥 + 𝑠 = 𝑢 (0.187) 𝑥𝑖 , 𝑧𝑖 = 0, 𝑖 = 1, … , 𝑛 , 𝑖 = 1, … , 𝑛 𝑥, 𝑧, 𝑠, 𝑤 ≥ 0 ] De estas ecuaciones "𝑥𝑖 , 𝑧𝑖 = 0" y "𝑠𝑖, 𝑤𝑖 = 0" resultan ser no lineales. Son las condiciones de complementariedad de holguras. Las restricciones de no negatividad son las que convierten a los métodos de los puntos interiores en compleja solución. Para resolver este sistema de ecuaciones, dado que es no lineal, se puede usar el método de Newton-Raphson, siempre que desde un principio se cumpla de forma estricta y, de un punto a otro del proceso, las condiciones de no negatividad de las variables [13,31]. También hay que estar atentos con la ecuación 𝑠𝑤 = 0, cuando esta se linealiza, como sucede empleando el método de Newton-Raphson, ya que resulta: 𝑠𝑤 + 𝑠∆𝑤 + 𝑤∆𝑠 = 0 (0.188) Si, 𝑤𝑖 es cero, la ecuación linealizada resulta: 𝑠𝑖∆𝑤𝑖 = 0, por lo que los pasos siguientes ∆𝑤𝑖 también llegan a ser cero. Si llega a ser cero, esa variable queda bloqueada en todo el proceso, como se puede ver en la figura 3.15, lo que resulta malo para el algoritmo, pues ésta no podrá considerarse para ayudar a mejorar, junto con las demás, el camino al óptimo [13,31]. 115 Figura 0.15. Efecto no deseado cuando alguna variable de holgura se bloquea durante el camino al óptimo durante el método del camino interior. Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13]. Es vital, que en todo el proceso iterativo se tienen que mantener todas las variables positivas, aunque sean muy pequeñas, como por ejemplo una cantidad 𝜇. Es igualmente importante que todas las holguras complementarias 𝑠𝑖𝑤𝑖 converjan a cero (pero que no sean cero) al mismo ritmo: 𝑠𝑘 𝑘 𝑘𝑖 𝑤𝑖 = 𝜇 → 0, 𝑐𝑢𝑎𝑛𝑑𝑜 𝑘 → ∞ (0.189) Con esto, cada condición de 𝑠𝑖𝑤𝑖 se modifica, haciendo que 𝑠𝑖𝑤𝑖 − 𝜇 = 0. Se hace esto para “centrar” la ruta generada durante el proceso, evitando llegar a cero el valor de las variables [13,31]. Para cada punto del proceso se hace: 𝑢𝑘 = 𝜏𝑘𝑔 (0.190) donde: ?̅?𝑇𝑧̅ + ?̅?𝑇?̅? 𝑔 = (0.191) 2𝑛 Siendo el numerador el gap de dualidad y el denominador los dos grupos de 𝑛 variables que aportan al gap. 𝜏𝑘 ∈ (0,1) ≈ 0.9995, 𝜏 es un porcentaje de lo que se desea reducir en el gap en cada iteración. En cada etapa del proceso iterativo los métodos de puntos interiores resuelven algunas variantes del sistema no lineal KKT, teniéndose: 116 𝐴𝑇𝑦 + 𝑧 − 𝑤 = 𝑐 𝐴𝑥 = 𝑏 𝑓(𝑥, 𝑦, 𝑧, 𝑠, 𝑤) ≡ 𝑥 + 𝑠 = 𝑢 , 𝑥, 𝑧, 𝑠, 𝑤 > 0 (0.192) 𝑋𝑍 = 𝜇𝑒 { 𝑊𝑆 = µ𝑒 Las matrices 𝑋, 𝑍, 𝑆 𝑦 𝑊 de (3.192) son matrices diagonales con coeficientes 𝑥𝑗 , 𝑠𝑗, 𝑧𝑗 𝑦 𝑤𝑗 respectivamente, y 𝑒 es el vector de coeficientes 1. De estas resoluciones, si 𝜇 ≠ 0, se va definiendo el camino central (central path), llevándonos hacia el óptimo, así se evita caer en valores cero de las variables. Esto se puede observar en la figura 3.16 [13]. Figura 0.16. Camino central hacia el óptimo – método de punto interior. Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13] A este planteamiento, del procedimiento de resolución, se llega también con otro método. Si en el problema original se incorporan las condiciones de las variables 𝑥𝑖 y 𝑠𝑖 de no acercarse a cero añadiendo un término en la función objetivo, hace que dicha función se haga muy grande cuando estas variables estén muy próximas a cero. Para ello se emplea el logaritmo de 𝑥𝑖 y 𝑠𝑖 en la función objetivo. Este método es denominado el método de barrera. Así, el problema se plantea como: 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟:𝑐𝑇𝑥 − 𝜇(∑𝑛𝑗=1 log 𝑥𝑗 + ∑ 𝑛 (0.193) 𝑗=1 log 𝑠𝑗) 𝑠𝑢𝑗𝑒𝑡𝑎 𝑎: 𝐴𝑥 = 𝑏 𝑥 + 𝑠 = 𝑢] (0.194) 𝑥, 𝑠 > 0 Este problema se denomina el problema de barrera logarítmica, para un escalar 𝜇 [13]. La función de Lagrange de este problema resulta: 117 𝑐𝑇𝑥 − 𝜇 𝑜𝑔𝑥 − 𝜇 𝑜𝑔𝑠 − 𝑦𝑇(𝐴𝑥 − 𝑏) − 𝑤𝑇(𝑥 + 𝑠 − 𝑢) (0.195) Siendo sus condiciones KKT: −𝐴𝑇𝑦 + 𝑧 − 𝑤 + 𝑐 = 0 𝐴𝑥 = 𝑏 𝑓(𝑥, 𝑦, 𝑧, 𝑠, 𝑤) ≡ 𝑥 + 𝑠 = 𝑢 , 𝑥, 𝑧, 𝑠, 𝑤 > 0 (0.196) 𝑋𝑍𝑒 = 𝜇𝑒 { 𝑊𝑆𝑒 = µ𝑒 donde: 𝑧 = 𝜇𝑋−1𝑒 (0.197) 𝑤 = 𝜇𝑆−1𝑒 (0.198) Como observa, estas condiciones son idénticas a las planteadas en el punto anterior. Cuando 𝜇 → ∞, las soluciones del problema de barrera llegan a ser el centro analítico de la región factible del problema primal (como se muestra en la figura 3.17), [13] Figura 0.17. Evolución de μ en el problema de la barrera logarítmica para hallar el óptimo. Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13] En este algoritmo, se reduce paso a paso 𝜇 según se aproxime el proceso iterativo a la solución óptima del primal. Cuando 𝜇 → 0, la solución del problema converge en el centro analítico del conjunto de soluciones óptimas del primal (camino central). Resolución numérica y algoritmos Retornando a la solución del sistema de ecuaciones 𝑓(𝑥, 𝑦, 𝑧, 𝑠, 𝑤) = 0, el nuevo punto de solución de ese sistema 𝑣 = [𝑥, 𝑦, 𝑧, 𝑤]𝑇, se obtiene de resolver mediante el método de Newton-Raphson el modelo de la serie de Taylor de primer orden: 𝑓(𝑣𝑘) + 𝑓′(𝑣𝑘)(𝑣𝑘+1 − 𝑣𝑘) = 0 (0.199) Es decir, resulta de resolver: ∆𝑣𝑘 = −𝑓′(𝑣𝑘)−1𝑓(𝑣𝑘), siendo ∆𝑣𝑘 la dirección de Newton en la iteración 𝑘 y 𝑓′(𝑣𝑘) es la matriz jacobiana del sistema. 118 La aproximación lineal del sistema se da con: 𝐴 0 0 0 0 ∆𝑥 𝑟𝑏 0 0 𝐴𝑇 𝐼 −𝐼 ∆𝑠 𝑟 𝑐 𝐼 𝐼 0 0 0 ∆𝑦 = 𝑟𝑢 (0.200) 𝑍 0 0 𝑋 0 ∆𝑧 𝜇𝑒 − 𝑋𝑍𝑒 [0 𝑊 0 0 𝑆 ] [∆𝑤] [𝜇𝑒 − 𝑆𝑊𝑒] donde: 𝑟𝑏 = 𝑏 − 𝐴𝑥 (0.201) 𝑟 𝑇𝑐 = 𝑐 − 𝐴 𝑦 − 𝑧 + 𝑤 (0.202) 𝑟𝑢 = 𝑢 − 𝑥 − 𝑠 (0.203) La solución del sistema de ecuaciones (3.200), da el nuevo punto hacia moverse. Esa dirección, se puede mejorar si se emplea el desarrollo de Taylor de 𝑓(𝑥, 𝑦, 𝑧, 𝑠, 𝑤) = 0, a su segundo orden de derivadas, es decir: 1 𝑓𝑖(𝑣) + ∇𝑓(𝑣) 𝑇∆𝑣 + ∆𝑣𝑇∇2𝑓(𝑣)∆𝑣 = 0 (0.204) 2 La matriz Hessiana de las condiciones de complementariedad es: 0 1 [ ], y la de las demás son cero. 1 0 La dirección de avance se obtiene de resolver: 𝐴 0 0 0 0 ∆𝑥 𝑟𝑏 0 0 𝐴𝑇 𝐼 −𝐼 ∆𝑠 𝑟 𝑐 𝐼 𝐼 0 0 0 ∆𝑦 = 𝑟𝑢 (0.205) 𝑍 0 0 𝑋 0 ∆𝑧 𝜇𝑒 − 𝑋𝑍𝑒 − ∆𝑋∆𝑍𝑒 [0 𝑊 0 0 𝑆 ] [∆𝑤] [𝜇𝑒 − 𝑆𝑊𝑒 − ∆𝑆∆𝑊𝑒] En [31], se propone tratar con estas dos direcciones: combinarlas en dos pasos, predictor y corrector, en una misma etapa del proceso iterativo. La idea se muestra en la figura 3.18. 119 Figura 0.18. Trayectoria del camino central y los pasos predictor y correcto de Mehrotra. Fuente: Algoritmos y Métodos Numéricos. Por: José Luis de la Fuente O’Connor, 2017 [13]. En el predictor se usa la dirección resultante de la aproximación lineal del paso de Newton (también llamado escalado afín) con 𝜇 = 0, expresada en (3.200). El corrector se usa para mejorar lo que se pudo haber perdido con la linealización, en ella, se utiliza la información de segundo orden y la dirección se va dirigiendo al “camino central”. Si en la linealización de Newton de la ecuación (3.200), se despejan: ∆𝑠 = 𝑢 − 𝑥 − 𝑠 − ∆𝑥, de la segunda ecuación. ∆𝑧 = 𝑋−1(𝜏𝜇𝑒 − 𝑋𝑍𝑒 − 𝑍∆𝑥), de la cuarta ecuación. ∆𝑤 = 𝑆−1(𝜏𝜇𝑒 − 𝑆𝑊𝑒 − 𝑊𝑟𝑢 + 𝑊∆𝑥), de la quinta ecuación. El sistema queda en función de ∆𝑥 y ∆𝑦: −𝐷−1 𝐴𝑇 ∆𝑥 𝑟 − 𝑋−1𝑐 (𝜏𝜇𝑒 − 𝑋𝑍𝑒) + 𝑆 −1(𝜏𝜇𝑒 − 𝑆𝑊𝑒 − 𝑊𝑟 ) [ ] [ ] = [ 𝑢 ] (0.206) 𝐴 0 ∆𝑦 𝑟𝑏 donde: 𝐷 = (𝑋−1𝑍 + 𝑆−1𝑊)−1 (0.207) En este sistema, que es de grandes dimensiones, su solución depende del algoritmo a utilizar. Para reducir más, se elimina ∆𝑥 de (3.206), para lo cual multiplicando el primer subconjunto de ecuaciones por 𝐴𝐷 y sumando el segundo, resultan las ecuaciones 120 normales [13]: (𝐴𝐷𝐴𝑇)∆𝑦 = 𝑟𝑏 + 𝐴𝐷 [𝑟 − 𝑋 −1 𝑐 (𝜏𝜇𝑒 − 𝑋𝑍𝑒) + 𝑆 −1(𝜏𝜇𝑒 − 𝑆𝑊𝑒 − 𝑊𝑟𝑢)] (0.208) La matriz 𝐴𝐷𝐴𝑇 resulta ser simétrica y definida positiva o semidefinida positiva, por lo que se puede factorizar por Cholesky [13]. Considerando que 𝑟𝑥𝑧 = 𝜏𝜇𝑒 − 𝑋𝑍𝑒, y , 𝑟𝑠𝑤 = 𝜏𝜇𝑒 − 𝑆𝑊𝑒, se puede considerar el siguiente procedimiento para hallar los conjuntos de solución de 𝑥, 𝑧, 𝑠 y 𝑤:  Formar la matriz 𝐷 = (𝑋−1𝑍 + 𝑆−1𝑊)−1.  Hacer 𝑟 −1𝑐 ← 𝑟𝑐 − 𝑋 𝑟𝑥𝑧 + 𝑆 −1 (𝑟𝑠𝑤 − 𝑊𝑟𝑢).  Resolver mediante Cholesky (𝐴𝐷𝐴𝑇)∆𝑦 = 𝑟𝑏 + 𝐴𝐷 𝑟𝑐.  Calcular: ∆𝑥 = 𝐷(𝐴𝑇∆𝑦 − 𝑟𝑐) (0.209) ∆𝑧 = 𝑋−1(−𝑍 ∆𝑥 + 𝑟𝑥𝑧) (0.210) ∆𝑠 = 𝑟𝑢 − ∆𝑥 (0.211) ∆𝑤 = 𝑆−1(−𝑊 ∆𝑠 + 𝑟𝑠𝑤). (0.212) Una iteración, se puede complementar determinando las amplitudes de paso, 𝛼𝑃 y 𝛼𝐷, en el “predictor” y “corrector” respectivamente, adaptando 𝜇 y revisando el óptimo [13]. El algoritmo completo resultante se describe como:  𝐷𝑎𝑑𝑜 [𝑥0, 𝑦0, 𝑧0, 𝑤0, 𝑠0] 𝑐𝑜𝑛 [𝑥0, 𝑦0, 𝑧0, 𝑤0, 𝑠0] > 0.  𝑃𝑎𝑠𝑜 1: 𝐶𝑎 𝑐𝑢 𝑎𝑟 𝑎 𝑑𝑖𝑟𝑒𝑐𝑐𝑖ó𝑛 𝑑𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑜𝑟 𝑜 escalado afín resolviendo: 𝐴 0 0 0 0 ∆𝑥𝑎𝑓 𝑟𝑏 0 0 𝐴𝑇 𝐼 −𝐼 ∆𝑠𝑎𝑓 𝑟 𝑐 𝐼 𝐼 0 0 0 ∆𝑦𝑎𝑓 = 𝑟𝑢 (0.213) 𝑍 0 0 𝑋 0 ∆𝑧 𝑎𝑓 −𝑋𝑍𝑒 [0 𝑊 0 0 𝑆 ] ∆𝑤 [[ −𝑆𝑊𝑒 ] 𝑎𝑓] 𝐻𝑎𝑐𝑒𝑟: 𝛼𝑎𝑓,𝑃 = í𝑛𝑓{𝛼 𝜖 [0,1]|[𝑥, 𝑠] + 𝛼[∆𝑥𝑎𝑓 , ∆𝑠𝑎𝑓] ≥ 0} (0.214) 121 𝛼𝑎𝑓,𝐷 = í𝑛𝑓{𝛼 𝜖 [0,1]|[𝑧, 𝑤] + 𝛼[∆𝑧𝑎𝑓, ∆𝑤𝑎𝑓] ≥ 0} (0.215) 1 𝑇 𝑇 𝜇𝑎𝑓 == [(𝑥 + 𝛼𝑎𝑓,𝑃 ∆𝑥) (𝑧 + 𝛼𝑎𝑓,𝐷 ∆𝑧) + (𝑠 + 𝛼𝑎𝑓,𝑃 ∆𝑠) (𝑤 + 𝛼 (0.216) 2𝑛 𝑎𝑓,𝐷 ∆𝑤)] y 𝜇 3𝑎𝑓 𝜏 = ( ) (0.217) 𝜇  𝑃𝑎𝑠𝑜 2: 𝐻𝑎 𝑎𝑟 𝑎 𝑑𝑖𝑟𝑒𝑐𝑐𝑖ó𝑛 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑜𝑟 𝑦 𝑐𝑒𝑛𝑡𝑟𝑎𝑑𝑜, 𝑟𝑒𝑠𝑜 𝑣𝑖𝑒𝑛𝑑𝑜: 𝐴 0 0 0 0 ∆𝑥𝑐 0 𝑇 0 0 𝐴 𝐼 −𝐼 ∆𝑠 0 𝑐 𝐼 𝐼 0 0 0 ∆𝑦𝑐 0 = (0.218) 𝑍 0 0 𝑋 0 ∆𝑧 𝜏𝜇𝑒 − ∆𝑋 ∆𝑍 𝑒𝑐 𝑎𝑓 𝑎𝑓 [0 𝑊 0 0 𝑆 ] [∆𝑤𝑐] [𝜏𝜇𝑒 − ∆𝑆𝑎𝑓 ∆𝑊𝑎𝑓 𝑒]  𝑃𝑎𝑠𝑜 3: 𝐻𝑎 𝑎𝑟 𝑎 𝑑𝑖𝑟𝑒𝑐𝑐𝑖ó𝑛 𝑑𝑒 𝑎 𝑖𝑡𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑞𝑢𝑒 𝑠𝑒 𝑒𝑠𝑡á 𝑑𝑒𝑠𝑎𝑟𝑟𝑜 𝑎𝑛𝑑𝑜: [∆𝑥, ∆𝑦, ∆𝑧, ∆𝑤, ∆𝑠] = [∆𝑥𝑎𝑓 , ∆𝑦𝑎𝑓 , ∆𝑧𝑎𝑓, ∆𝑤𝑎𝑓, ∆𝑠𝑎𝑓] + [∆𝑥𝑐, ∆𝑦𝑐 , ∆𝑧𝑐, ∆𝑤𝑐 , ∆𝑠𝑐] (0.219) 𝐻𝑎𝑐𝑒𝑟: 𝛼𝑚𝑎𝑥,𝑃 = í𝑛𝑓{𝛼 𝜖 [0,1]|[𝑥, 𝑠] + 𝛼[∆𝑥, ∆𝑠] ≥ 0} (0.220) 𝛼𝑚𝑎𝑥,𝐷 = í𝑛𝑓{𝛼 𝜖 [0,1]|[𝑧, 𝑤] + 𝛼[∆𝑧, ∆𝑤] ≥ 0} (0.221) 𝑦, 𝛼𝑃 = 𝛾𝑃 𝛼𝑚𝑎𝑥,𝑃 ; 𝛼𝐷 = 𝛾𝐷 𝛼𝑚𝑎𝑥,𝐷 (0.222)  𝑃𝑎𝑠𝑜 4: 𝑇𝑒𝑟𝑚𝑖𝑛𝑎𝑟 𝑖𝑡𝑒𝑟𝑎𝑐𝑖𝑜𝑛 𝑦 𝑐𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟 ó𝑝𝑡𝑖𝑚𝑜. 𝐻𝑎𝑐𝑒𝑟: [𝑥𝑘+1, 𝑠𝑘+1] = [𝑥𝑘 , 𝑠𝑘] + 𝛼 (0.223) 𝑃[∆𝑥, ∆𝑠], 𝑦 [𝑦𝑘+1, 𝑧𝑘+1, 𝑤𝑘+1] = [𝑦𝑘, 𝑧𝑘, 𝑤𝑘] + 𝛼𝐷[∆𝑦, ∆𝑧, ∆𝑤] (0.224)  𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟 𝑐𝑜𝑛𝑑𝑖𝑐𝑖𝑜𝑛𝑒𝑠 𝑑𝑒 ó𝑝𝑡𝑖𝑚𝑜, 𝑑𝑒 𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜, 𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑎𝑟 𝑎 𝑖𝑡𝑒𝑟𝑎𝑐𝑖ó𝑛. 122 3.3.5. Optimización – Programación cuadrática Ahora se estudia la minimización de funciones cuadráticas, las cuales presentan la siguiente forma [13]: 1 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟: 𝑥𝑇𝐺𝑥 + 𝑔𝑇𝑥, 𝑥 ∈ 𝑅𝑛 , (0.225) 2 𝑆𝑢𝑗𝑒𝑡𝑎 𝑎: 𝐴𝑥 = 𝑏, (0.226) 𝐶𝑥 ≥ 𝑑. (0.227) donde: 𝐴 es una matriz que debe ser de rango completo, 𝐶 es una matriz también de rango completo . La función de Lagrange para el problema cuadrático es: 1 (0.228) 𝐿(𝑥, 𝑦, 𝑧) = 𝑥𝑇𝐺𝑥 + 𝑔𝑇𝑥 − 𝑦𝑇(𝐴𝑥 − 𝑏) − 𝑧𝑇(𝐶𝑥 − 𝑑), 2 Las condiciones KKT para el problema cuadrático son [13]: 𝐺𝑥 + 𝑔 − 𝐴𝑇𝑦 − 𝐶𝑇𝑧 = 0 𝐴𝑥 − 𝑏 = 0 𝐶𝑥 − 𝑑 ≥ 0 (0.229) 𝑧 ≥ 0 [𝑧𝑖(𝐶𝑥 − 𝑑)𝑖 = 0, 𝑖 = 1, … , 𝑚𝐶] Con 𝑚𝑐 igual al número de parámetros de restricciones de desigualdad. Si se introduce el vector de variables de holgura 𝑠 en 𝐶𝑥 − 𝑑 ≥ 0, la tercera condición KKT, resulta: 𝑠 − 𝐶𝑥 − 𝑑 ≥ 0 (0.230) Aplicando, como en el caso de Programación Lineal, un procedimiento de punto interior predictor corrector para resolver el sistema de ecuaciones 𝑓(𝑥, 𝑦, 𝑧, 𝑠), que viene a ser [13,31]: 123 𝐺𝑥 + 𝑔 − 𝐴𝑇𝑦 − 𝐶𝑇𝑧 𝑓(𝑥, 𝑦, 𝑧, 𝑠) = [ 𝐴𝑥 − 𝑏 ] = 0 (0.231) 𝑠 − 𝐶𝑥 + 𝑑 𝑆𝑍𝑒 La ecuación de Newton-Raphson para resolver este sistema es: ∆𝑥 ∆𝑦 𝐽 [ ] = −𝑓(𝑥, 𝑦, 𝑧, 𝑠) (0.232) ∆𝑧 ∆𝑠 donde 𝐽 es la matriz jacobiana del sistema de ecuaciones. Desarrollando se obtiene: 𝐺 −𝐴𝑇 −𝐶𝑇 0 ∆𝑥 𝑟𝐿 [−𝐴 0 0 0 ∆𝑦 𝑟𝐴 ] [ ] = − [ ] (0.233) −𝐶 0 0 𝐼 ∆𝑧 𝑟𝐶 0 0 𝑆 𝑍 ∆𝑠 𝑟𝑠𝑧 donde: 𝑟 𝑇𝐿 = 𝑥 + 𝑔 − 𝐴 𝑦 − 𝐶 𝑇𝑧 𝑟𝐴 = 𝐴𝑥 − 𝑏 ] (0.234) 𝑟𝐶 = 𝑠 − 𝐶𝑥 + 𝑑 𝑟𝑠𝑧 = 𝜇𝑒 − 𝑆𝑍𝑒 Recordando que el vector 𝜇𝑒 evita que 𝑠 y 𝑧 se acerquen demasiado a cero. Como en el método predictor-corrector de Programación Lineal, primero se calcula la dirección de escalado afín, [∆𝑥𝑎𝑓 , ∆𝑦𝑎𝑓 , ∆𝑧𝑎𝑓 , ∆𝑠𝑎𝑓 ], que también es llamada dirección pura de Newton o dirección predictor del camino central (central path), los cuales se obtienen de resolver el sistema de ecuaciones de la expresión (3.233). Una vez calculada la dirección pura de Newton se tiene que determinar la amplitud de paso 𝛼𝑎𝑓 a lo largo de esa dirección, de tal manera que tiene que cumplir la factibilidad de 𝑧 y 𝑠, es decir: 𝑧 + 𝛼𝑎𝑓 ∆𝑥𝑎𝑓 ≥ 0 (0.235) 𝑠 + 𝛼𝑎𝑓 ∆𝑠𝑎𝑓 ≥ 0 (0.236) Todo esto teniendo en cuenta los conceptos desarrollados en la Programación Lineal. 124 Se requiere obtener el parámetro de centrado 𝜏, lo cual ayuda a aproximarse al central 𝑠𝑇𝑧 path [13,31]. Para calcular 𝜏, se calcula la brecha dual de 𝑠 y 𝑧, es decir, 𝜇 = , y 𝑚𝐶 también el precedente del paso avanzado, es decir: (𝑠 + 𝛼𝑎𝑓 ∆𝑠𝑎𝑓)𝑇(𝑧 + 𝛼𝑎𝑓 ∆𝑧𝑎𝑓 𝑎𝑓 (0.237) 𝜇 = 𝑚𝐶 Como resultados se obtiene: 𝑎𝑓 3𝜇 𝜏 = ( ) (0.238) 𝜇 La dirección corrector con la información de segundo orden (del desarrollo de Taylor), se calcula resolviendo: 𝐺 −𝐴𝑇 −𝐶𝑇 0 ∆𝑥 𝑟𝐿 −𝐴 0 0 0 ∆𝑦 𝑟𝐴[ ] [ ] = − [ ] (0.239) −𝐶 0 0 𝐼 ∆𝑧 𝑟𝐶 0 0 𝑆 𝑍 ∆𝑠 𝑟 + ∆𝑆 𝑎𝑓 ∆𝑍𝑎𝑓𝑠𝑧 𝑒 − 𝜏𝜇𝑒 Finalmente se calcula la amplitud del paso global de la iteración 𝛼, la cual debe cumplir la factibilidad 𝑠 y 𝑧, llegándose a ello por medio de un parámetro de seguridad o amortiguación ƞ al nuevo punto [13]. [𝑥 𝑇 𝑇𝑘+1, 𝑦𝑘+1, 𝑧𝑘+1, 𝑠𝑘+1] = [𝑥𝑘, 𝑦𝑘, 𝑧𝑘, 𝑠𝑘] + ƞ𝛼[∆𝑥, ∆𝑦, ∆𝑧, ∆𝑠] 𝑇 (0.240) El mayor costo computacional de este procedimiento radica en resolver los sistemas de ecuaciones que calculan las direcciones del predictor y corrector. En este sentido, la cuarta ecuación del sistema de ecuaciones del predictor, ecuación (3.233), resulta: 𝑆 ∆𝑧 + 𝑍 ∆𝑠 = −𝑟𝑠𝑧 (0.241) De donde se obtiene: ∆𝑠 = −𝑍−1(𝑟 (0.242) 𝑠𝑧 + 𝑆∆𝑧) Despejando en la tercera ecuación del mismo sistema matricial, ecuación (3.233): −𝐶𝑇 ∆𝑥 − ∆𝑠 = −𝑟𝑐 ⇒ −𝐶𝑇 ∆𝑥 − 𝑍−1(𝑟𝑠𝑧 + 𝑆∆𝑧) = −𝑟 (0.243) 𝐶 se obtiene: −𝐶𝑇 ∆𝑥 − 𝑍−1𝑆 ∆𝑧 = −𝑟 + 𝑍−1𝐶 𝑟𝑠𝑧 (0.244) El sistema matricial de ecuaciones para determinar la dirección del corrector finalmente 125 queda como: 𝐺 −𝐴𝑇 −𝐶𝑇 ∆𝑥 𝑟𝐿 [−𝐴 0 0 ] [∆𝑦] = − [ 𝑟𝐴 ] (0.245) −1 −𝐶 0 −𝑍−1𝑆 ∆𝑧 𝑟𝐶 − 𝑍 𝑟𝑠𝑧 Considerando el procedimiento del algoritmo mostrado para la programación lineal, y tomando las ecuaciones de programación cuadrática desarrolladas hasta este punto, se llega a la solución de un problema cuadrático con el método de puntos interiores [13]. En el anexo A, se desarrolla un programa basado en este método, que es la base del algoritmo Quadprog de Matlab [116], constituye una reproducción a pequeña escala de dicho algoritmo, pues el comando Quadprog presenta muchas más complejidades. Este análisis teórico de optimización, se utilizará en el diseño del GPC. En la figura 3.19, se muestra el procedimiento de diseño del sistema de control con GPC y optimización de la planta objeto de estudio Figura 0.19. Proceso del sistema de control con GPC. Fuente: Propia. Los fundamentos teóricos del controlador GPC con restricciones se aplican en cada submodelo de la cuarta capa hallado durante el modelado ANFIS (expresión 2.54b). 126 Para ello, cada uno de estos submodelos tiene que estar expresado en la forma de función de transferencia, como se muestra a continuación. Conociendo que se han determinado cuatro reglas por subclustering, entonces, se tienen cuatro funciones lineales en la cuarta capa, como se muestra a continuación: 𝑓1 = 𝑝1,1. 𝑥1(𝑘) + 𝑝1,2. 𝑥1(𝑘−1) + 𝑞1,1. 𝑥2(𝑘) + 𝑞1,2. 𝑥2(𝑘−1) + 𝑟1,1. ?̅?(𝑘−1) + 𝑟1,2. ?̅?(𝑘−2) + 𝑠1,1 𝑓2 = 𝑝2,1. 𝑥1(𝑘) + 𝑝2,2. 𝑥1(𝑘−1) + 𝑞2,1. 𝑥2(𝑘) + 𝑞2,2. 𝑥2(𝑘−1) + 𝑟2,1. ?̅?(𝑘−1) + 𝑟2,2. ?̅?(𝑘−2) + 𝑠2,1 𝑓3 = 𝑝3,1. 𝑥1(𝑘) + 𝑝3,2. 𝑥1(𝑘−1) + 𝑞3,1. 𝑥2(𝑘) + 𝑞3,2. 𝑥2(𝑘−1) + 𝑟3,1. ?̅?(𝑘−1) + 𝑟3,2. ?̅?(𝑘−2) + 𝑠3,1 𝑓4 = 𝑝4,1. 𝑥1(𝑘) + 𝑝4,2. 𝑥1(𝑘−1) + 𝑞4,1. 𝑥2(𝑘) + 𝑞4,2. 𝑥2(𝑘−1) + 𝑟4,1. ?̅?(𝑘−1) + 𝑟4,2. ?̅?(𝑘−2) + 𝑠4,1 Quedando: 𝑓1 𝑓 𝐹 = [ 2] (viene de la expresión 2.54b) 𝑓3 𝑓4 Haciendo ?̅?𝑛(𝑘) como una salida de cada uno de los submodelos 𝐹, es decir: 𝑓𝑛 → ?̅?𝑛(𝑘), donde 𝑛 indica el número de capa y ?̅?(𝑘−1), ?̅?(𝑘−2) como parte de la solución de esa misma capa, se tiene: ?̅?1(𝑘) = 𝑝1,1. 𝑥1(𝑘) + 𝑝1,2. 𝑥1(𝑘−1) + 𝑞1,1. 𝑥2(𝑘) + 𝑞1,2. 𝑥2(𝑘−1) + 𝑟1,1. ?̅?(𝑘−1) + 𝑟1,2. ?̅?(𝑘−2) + 𝑠1,1 ?̅?2(𝑘) = 𝑝2,1. 𝑥1(𝑘) + 𝑝2,2. 𝑥1(𝑘−1) + 𝑞2,1. 𝑥2(𝑘) + 𝑞2,2. 𝑥2(𝑘−1) + 𝑟2,1. ?̅?(𝑘−1) + 𝑟2,2. ?̅?(𝑘−2) + 𝑠2,1 ?̅?3(𝑘) = 𝑝3,1. 𝑥1(𝑘) + 𝑝3,2. 𝑥1(𝑘−1) + 𝑞3,1. 𝑥2(𝑘) + 𝑞3,2. 𝑥2(𝑘−1) + 𝑟3,1. ?̅?(𝑘−1) + 𝑟3,2. ?̅?(𝑘−2) + 𝑠3,1 ?̅?4(𝑘) = 𝑝4,1. 𝑥1(𝑘) + 𝑝4,2. 𝑥1(𝑘−1) + 𝑞4,1. 𝑥2(𝑘) + 𝑞4,2. 𝑥2(𝑘−1) + 𝑟4,1. ?̅?(𝑘−1) + 𝑟4,2. ?̅?(𝑘−2) + 𝑠4,1 Agrupando ?̅?𝑛 a un lado, y llevándolos a una función de transferencia 𝑧 −1, se tiene: (1 − 𝑟 −1 −21,1. 𝑧 − 𝑟1,2. 𝑧 ) ?̅?1 = (𝑝1,1 + 𝑝1,2. 𝑧 −1)𝑥1 + (𝑞 −11,1 + 𝑞1,2. 𝑧 )𝑥2 + 𝑠1,1 ⋮ (1 − 𝑟 −1 −24,1. 𝑧 − 𝑟4,2. 𝑧 ) ?̅?4 = (𝑝4,1 + 𝑝4,2. 𝑧 −1)𝑥1 + (𝑞 −14,1 + 𝑞4,2. 𝑧 )𝑥2 + 𝑠4,1 Quedando: (𝑝 −11,1 + 𝑝1,2. 𝑧 ) (𝑞1,1 + 𝑞 . 𝑧 −1 1,2 ) 𝑠1,1 ?̅?1 = 𝑥1 + 𝑥2 + (1 − 𝑟 −1 −21,1. 𝑧 − 𝑟1,2. 𝑧 ) (1 − 𝑟 . 𝑧 −1 − 𝑟 . 𝑧−2) (1 − 𝑟 . 𝑧−11,1 1,2 1,1 − 𝑟1,2. 𝑧 −2) ⋮ (0.246) (𝑝4,1 + 𝑝4,2. 𝑧 −1) (𝑞4,1 + 𝑞 . 𝑧 −1 4,2 ) 𝑠4,1 ?̅?4 = 𝑥1 + 𝑥2 + (1 − 𝑟 −14,1. 𝑧 − 𝑟 −2 4,2. 𝑧 ) (1 − 𝑟 −1 −2 4,1. 𝑧 − 𝑟4,2. 𝑧 ) (1 − 𝑟4,1. 𝑧 −1 − 𝑟 −24,2. 𝑧 ) Por consiguiente, se tiene cada submodelo lineal de la cuarta capa como función de transferencia en 𝑧−1, a cada una de ellas se le aplica el controlador GPC con restricciones. 127 Es importante indicar que para calcular la acción de control en el instante actual, las soluciones optimizadas encontradas en cada submodelo lineal, expresión (3.246), deben ser ponderadas en función de los pesos normalizados hallados en la capa tres de la red ANFIS, expresión (2.54a), y sumadas a la acción de control halladas en el instante anterior, tal como se indica en la siguiente ecuación: 𝑛 𝑢(𝑘|𝑘) = 𝑢(𝑘 − 1) + [ ∑ ?̅?𝑖(𝑘) ∆𝑢𝑖(𝑘|𝑘) ] (0.247) 𝑖=1 donde: 𝑢, acción de control total a entregar al proceso. 𝑢𝑖, acción de control hallada en capa submodelo lineal 𝑖 (capa cuatro). 𝑛, número de reglas. De este modo se halla la acción de control a aplicar al proceso objeto de estudio. Procedimiento resumido del diseño del controlador GPC Etapa Off-Line  En base a los valores de sintonía de 𝐻𝑚, 𝑁, 𝑁𝑢, 𝑄ℎ y 𝑅𝐻, para cada función de coste de cada submodelo, calcular las matrices de predicción 𝐺𝑖, 𝐹𝑖 en todos los modelos del consecuente. Etapa On-Line  Medir los valores a la salida del sistema 𝑦(𝑘), 𝑥(𝑘), si no es viable usar algún estimador.  Resolver la minimización para cada submodelo, usando un algoritmo de programación cuadrática, en este caso Quadprog de Matlab.  Con la ayuda de la red ANFIS, hallar los pesos normalizados de la tercera capa, expresión (2.54a)  Sumar a cada acción de control pasada los incrementos calculados en cada submodelo lineal (capa cuatro) ponderados por los valores normalizados de la red ANFIS (tercera capa). Con ello se halla el valor actual de la señal de control, ecuación (3.247).  Aplicar la señal de control 𝑢(𝑘|𝑘) al sistema y almacenarlo para el próximo instante, repetir la etapa on-line. 128 En la figura 3.20 se muestra un diagrama de bloques del sistema de control con GPC y modelos ANFIS de la planta objeto de estudio. Figura 0.20. Diagrama de bloques del sistema de control con GPC y modelo ANFIS de la planta objeto de estudio. Fuente: Controle Preditivo Neuro-Fuzzy: Análise Comparativa Empregando Diferentes Estruturas de Modelo. Por: Teófilo Guimaraes [18] A continuación se muestran los resultados obtenidos del sistema de control de neutralización de pH con el controlador NeuroFuzzy-GPC diseñado. 3.4. Resultados obtenidos con el controlador GPC-ANFIS diseñado 3.4.1. Respuesta del sistema de control frente a un setpoint de 7.00 sin perturbación En la figura 3.21 se muestra la respuesta temporal del sistema de control frente a un setpoint de pH de 7, sin perturbación. Se puede observar que el controlador mantiene dentro del valor establecido el valor de pH, pese a ser un sistema altamente no lineal. 129 Figura 0.21. Respuesta temporal del sistema de control, sin perturbación. Fuente: Propia. 3.4.2. Respuesta temporal del sistema de control frente un setpoint de 7.00 con perturbación En la figura 3.22 se muestra la respuesta temporal del sistema de control frente a un setpoint de pH de 7, con perturbación. Como perturbación se considera el flujo de la solución base (Hidróxido de Sodio), el cual presenta fluctuaciones entre 0.300 𝑚𝑖𝑛 hasta 0.700 𝑚𝑖𝑛. Se puede observar que el controlador logra estabilizar al sistema de control a pesar de las perturbaciones. 130 Figura 0.22. Respuesta temporal del sistema de control, con perturbación. Fuente: Propia. 3.4.3. Respuesta del sistema de control frente a variaciones en el setpoint y con perturbación En la figura 3.23 se muestra la respuesta temporal del sistema de control frente a un setpoint de pH variable, con perturbación (solución base Hidróxido de Sodio). El valor de setpoint (pH) varía entre 7, 11 y 8, se observa que el controlador logra estabilizar al sistema a pesar de las perturbaciones y de las variaciones de setpoint mostradas. Figura 0.23. Respuesta temporal del sistema de control con perturbación y variaciones en el Setpoint. Fuente: Propia. 131 3.5. Conclusiones  Se realizó un análisis de los fundamentos teóricos del diseño de GPC con estructura básica (sin perturbaciones, ni restricciones). Se pudo ver que este tipo de controladores tienen en su base algorítmica un recurso que ayuda a la estimación futura de la salida, lo cual posibilita el control adecuado de sistemas frente a posibles perturbaciones o comportamientos dinámicos no deseados. Además, como resultado de los horizontes de control y de predicción que presenta, puede controlar plantas con altos retardos de tiempo, debido a que realizan el control después del retardo de tiempo.  Se mostraron los fundamentos teóricos del diseño de GPC con restricciones, los cuales se basan en la teoría de optimización. Se analizó el comando Quadprog de Matlab y el algoritmo que este utiliza, presentando finalmente un script que muestra el algoritmo Quadprog en su forma básica. El controlador diseñado utiliza la restricción en el incremento de la señal de control, obteniéndose resultados altamente satisfactorios.  El controlador GPC considera además los efectos de las perturbaciones sobre el sistema. Estos efectos también fueron modelados, considerando los resultados obtenidos en el capítulo 2 mediante la aplicación de la arquitectura ANFIS, lográndose identificar 4 submodelos. Se consideró usar un controlador GPC por cada submodelo identificado.  Con el diseño del GPC propuesto se pudo demostrar que el controlador puede realizar un control efectivo de una planta altamente no lineal. 132 CAPÍTULO 4. ANÁLISIS DE ROBUSTEZ Y PROPUESTA DE IMPLEMENTACIÓN DEL CONTROLADOR DISEÑADO 4.1. Introducción En el capítulo se desarrolló el diseño de un controlador GPC con restricciones basado en un modelo ANFIS, el cual posibilita controlar plantas y procesos altamente no lineales como es el caso del control del proceso de neutralización del pH en la planta objeto de estudio, mostrando un buen desempeño y manteniendo la variable controlada dentro de los valores establecidos por el setpoint. En el presente capítulo se realiza un análisis de la robustez del controlador diseñado, para lo cual se consideran diferentes perturbaciones para estudiar su respuesta bajo esas condiciones. Además se realiza un análisis comparativo del desempeño del controlador diseñado versus controlador PID clásico. Finalmente, se desarrolla una propuesta de implementación práctica del controlador diseñado. 4.2. Análisis de robustez del controlador GPC-ANFIS diseñado Como se indicó, en la identificación de la planta objeto de estudio, se consideró una primera entrada de la planta objeto de estudio como variable manipulada (flujo de ácido acético - solución ácida) y una segunda entrada como perturbación (flujo de hidróxido de sodio - solución base), obteniéndose el modelo mostrado en el capítulo 2. Con este procedimiento se obtuvo el modelo de la perturbación de la planta, el cual se utiliza en el diseño del controlador GPC-ANFIS. Para demostrar que el modelado de la perturbación favorece la robustez del controlador, se procedió a identificar la planta sin perturbación y se diseñó el controlador GPC- ANFIS con restricciones. Para identificar la planta sin perturbación, se consideró únicamente 4 entradas que corresponden a: 𝑥1(𝑘), 𝑥1(𝑘 − 1), ?̂?(𝑘 − 1), ?̂?(𝑘 − 2). Tal como se muestra en la figura 4.1. Como se aprecia, no se consideró la entrada: 𝑥2(𝑘), 𝑥2(𝑘 − 1) las cuales sí fue consideradas en el capítulo anterior. 133 Figura 0.1: Arquitectura del modelo ANFIS sin considerar perturbación. Fuente: Propia. La respuesta temporal del sistema de control con el controlador GPC-ANFIS diseñado sin considerar el modelo de perturbación se muestra en la figura 4.2, en la cual se observa y confirma que este controlador (sin considerar el modelo de la perturbación) responde con un peor desempeño en comparación con el sistema de control con GPC- ANFIS considerando modelo de perturbación diseñado en el capítulo anterior (figura 3.23). 134 Figura 0.2. Respuesta temporal del sistema de control con GPC-ANFIS sin modelo de perturbación. Fuente: Propia. En la tabla 4.1 se muestran los resultados del análisis de robustez de los controladores GPC con y sin modelo de perturbación diseñados basado en el índice de robustez - la integral del error absoluto ponderado en el tiempo (ITAE). En la primera columna de dicha tabla se muestra el ITAE del sistema de control sin considerar el modelo de la perturbación, y en la segunda el ITAE considerando el modelo de la perturbación. De la tabla 4.1 se observa que existe una mayor robustez y un mejor desempeño cuando se incluye en el diseño del controlador GPC-ANFIS el modelo de la perturbación. 𝐼𝑇𝐴𝐸 𝑐𝑜𝑛𝑡𝑟𝑜 𝑐𝑜𝑛 𝑚𝑜𝑑𝑒 𝑜 𝑑𝑒 𝑝𝑒𝑟𝑡𝑢𝑟𝑏𝑎𝑐𝑖ó𝑛 < 𝐼𝑇𝐴𝐸 𝑐𝑜𝑛𝑡𝑟𝑜 sin 𝑚𝑜𝑑𝑒 𝑜 𝑑𝑒 𝑝𝑒𝑟𝑡𝑢𝑟𝑏𝑎𝑐𝑖ó𝑛 Tabla 0.1. ITAE del sistema de control con GPC-ANFIS con y sin modelo de perturbación. 135 4.3. Resultados comparativos del sistema de control del proceso de neutralización del pH con controladores GPC-ANFIS vs PID Con los resultados obtenidos en el epígrafe anterior, se determinará el controlador que mejor rechaza el efecto de la perturbación en la planta objeto de estudio. Posteriormente, el controlador resultante será comparado con el desempeño de un controlador PID clásico, que es el que actualmente se utiliza en el control del pH en la planta objeto de estudio. 4.3.1. Desarrollo de un diagrama en Simulink de la planta objeto de estudio y respuesta a una señal de entrada escalón En la figura 4.3 se muestra el diagrama en Simulink de la planta de neutralización de pH objeto de estudio. Figura 0.3. Diagrama en Simulink de la planta de neutralización de pH. Fuente: Propia. En la figura 4.4 se muestra la respuesta temporal de la planta objeto de estudio frente a una señal de entrada escalón. 136 Figura 0.4. Respuesta temporal de la planta objeto de estudio frente a un escalón. Fuente: Propia. 4.3.2. Respuesta temporal de la planta objeto de estudio con controlador PID En la figura 4.5 se muestra un diagrama en Simulink del sistema de control de la planta de neutralización de pH con un controlador PID convencional. Figura 0.5. Diagrama en Simulink del sistema de control de la planta de neutralización de pH con controlador PID Fuente: Propia. El controlador PID utilizado se diseñó en el dominio de la frecuencia considerando la metodología propuesta en [54,67] y presenta la estructura paralela [90]: 𝑑𝑒(𝑡) 𝑢(𝑡) = 𝐾𝑝𝑒(𝑡) + 𝐾𝑖 ∫ 𝑒(𝑡)𝑑𝑡 + 𝐾𝑑 𝑑𝑡 137 donde 𝐾𝑝, 𝐾𝑖, 𝐾𝑑 son las ganancias proporcional, integral y derivativa, 𝑢(𝑡) es la señal de control y 𝑒(𝑡) es la señal de error. En la figura 4.6 se muestra la respuesta temporal del sistema de control de la planta de neutralización de pH con el controlador PID diseñado. Figura 0.6. Respuesta temporal del sistema de control de la planta objeto de estudio con controlador PID Fuente: Propia. En la tabla 4.2 se muestran los resultados del análisis de robustez basado en la integral del error absoluto ponderado en el tiempo (ITAE). En la primera columna se muestra el ITAE con el controlador GPC-ANFIS y en la segunda el ITAE con el controlador PID. Se señala que el diseño del PID se desarrolló de forma muy rigurosa y que ajuste de sus parámetros fue un proceso muy difícil debido al complejo comportamiento dinámico que presenta la planta objeto de estudio. Los resultados que se exhiben en la tabla 4.2 demuestran que existe un mejor desempeño y robustez del sistema de control cuando se utiliza el controlador diseñado GPC-ANFIS. Tabla 0.2. Resultados comparativos del ITAE con controlador GPC-ANFIS vs. PID. 138 4.4. Propuesta de implementación práctica del controlador diseñado La propuesta de implementación que se presenta se basa en el diagrama de instrumentación mostrado en la figura 4.7. Figura 0.7. Diagrama de instrumentación del sistema de control del proceso de neutralización del pH de la planta objeto de estudio Fuente: Propia En la tabla 4.3 se muestra la instrumentación y equipos propuestos para la implementación práctica del sistema de control diseñado del proceso de neutralización de pH en los efluentes residuales de una planta concentradora de minerales polimetálica. Tabla 0.3. Instrumentos y equipos propuestos para el sistema de control diseñado del proceso de neutralización del pH de la planta objeto de estudio. Equipo / Instrumento Descripción Indicador transmisor de pH. Marca: ABB. Modelo: TB82. Salida pHT 101 de control: 4-20 mA PC Industrial (hw) Computadora industrial. Marca: Allen Bradley. Modelo: 1450R Matlab R2015 ó + (sw). Desarrollador: Mathworks.A instalarse en PC industrial Servidor OPC (sw) Desarrollador: Keepware comms. A instalarse en PC industrial FIT 101, FIT 102 Flujómetros de solución alcalina y básica respectivamente. (incluidas en las bombas (incluidas en las bombas dosificadoras) dosificadoras) Bombas dosificadoras de solución alcalina y básica P 101, P 102 respectivamente. Marca: Prominent. Modelo: BT4b 1000. Entrada y salida de control: 4-20 mA PAC Control Logix Marca: Rockwell. Modelo: 1756 139 En base a la tabla 4.3, se propone la implementación práctica del controlador GPC- ANFIS diseñado. En la tabla 4.4 se muestran los módulos requeridos en el PAC Rockwell Automation. Tabla 0.4. Módulos requeridos en el PAC Rockwell Automation. PAC CONTROLLOGIX – ROCKWELL AUTOMATION CAT CANT. DESCRIPCION Controlador ControlLogix 5570 con 4 MB de memoria 1756-L72 1 interna, puerto USB, Display con 4 caracteres alfanuméricos 1756-IA16I 1 79-132 VAC Módulo de 16 entradas discretas (36 Pin) 1756-OA16I 1 74-265 VAC Módulo de 16 salidas discretas (36 Pin) 1756-IF8IH 1 Módulo de entradas analógicas aisladas de 8 canales HART 1756-OF8IH 1 Módulo de salidas analógicas aisladas de 8 canales HART Módulo de comunicación EtherNet 10-100M (soporta 128 1756-EN2T 1 TCP/IP conexiones) 1756-A7 1 Chassis ControlLogix de 7 Slots. 1756-PA72 1 Fuente de poder ControlLogix, 85-265 VAC (10 Amp @ 5V) 1756-TBCH 1 Bloque bornera tipo tornillo de 36 Pines. 1756-TBS6H 1 Bloque bornera tipo resorte de 36 Pines. 1585J-M8TBJM-1M9 1 Cable UTP Macho RJ45 - Macho RJ45 .1.9 m En la figura 4.8 se muestra un diagrama con la arquitectura del sistema de control del proceso objeto de estudio que se propone, donde se indica el uso del servidor OPC [118], el cual desarrolla el enlace entre el Controlador Programable de Automatización (PAC) perteneciente a la familia ControlLogix de Rockwell Automation [117] y el controlador GPC-ANFIS diseñado. El algoritmo de control GPC-ANFIS se ejecuta en base a un programa desarrollado en el entorno de programación del Matlab desde la PC [116]. Por consiguiente, el PAC [117] solo se utiliza para la adquisición y transmisión de los datos de campo, así como para ejecutar el algoritmo de control GPC-ANFIS (calculada y enviada desde la PC industrial) desarrollado en esta tesis. Los controladores ControlLogix de Rockwell Automation disponen de un motor de control con un entorno de implementación para garantizar un elevado rendimiento en entornos simples de utilizar [117]. La elevada integración entre el software de 140 programación, el controlador y los módulos de E/S de estos controladores minimiza el tiempo de desarrollo y el coste de puesta en marcha [117]. Por ende, la ejecución del algoritmo de control GPC-ANFIS mediante el PAC de la familia de controladores ControlLogix de Rockwell Automation garantiza una elevada efectividad en el control. Figura 0.8. Arquitectura del sistema de control del proceso de neutralización del pH de la planta objeto de estudio que se propuesto. Fuente: Propia. 4.5. Conclusiones.  Se realizó un breve análisis de robustez de los controladores GPC y PID diseñados para el control del proceso de neutralización de pH de la planta objeto de estudio, basado en el índice de la integral del error absoluto ponderado en el tiempo (ITAE)  Se realizó un estudio del controlador GPC-ANFIS diseñado, el cual fue sometido a diversos rangos de variación de la perturbación (flujo de solución base). Se demostró que la robustez del controlador aumenta cuando en su diseño se considera el modelo de perturbación obtenido en el capítulo 2 de esta tesis. Por consiguiente, el ITAE del 141 sistema de control disminuye cuando se considera en el GPC-ANFIS el modelo de la perturbación.  Se realizó un análisis comparativo del sistema de control diseñado de la planta objeto de estudio con controladores GPC-ANFIS con modelo de perturbación vs. PID convencional. Se evidenció que el controlador PID (que es el controlador actualmente utilizado en el control de este tipo de plantas) no puede realizar un control efectivo del proceso de neutralización de pH debido a la alta complejidad dinámica de estas plantas, mientras que el controlador GPC-ANFIS diseñado si logra resultados satisfactorios en el control del proceso objeto de estudio, mostrando un menor valor del indicador ITAE.  Se desarrolló una propuesta de implementación práctica del controlador GPC-ANFIS diseñado basada en la aplicación de un Controlador Programable de Automatización (PAC) perteneciente a la familia ControlLogix del PLC Rockwell Automation, servidor OPC y una PC industrial. El algoritmo de control GPC-ANFIS se ejecuta en base a un programa desarrollado en el entorno de programación del Matlab desde la PC. El PAC del PLC solo se utiliza para la adquisición y transmisión de los datos de campo, así como para ejecutar el algoritmo de control GPC-ANFIS desarrollado en esta tesis.  Los resultados de simulación del sistema de control de la planta objeto de estudio muestran que el diseño del controlador GPC-ANFIS desarrollado y su propuesta de implementación práctica cumplen con las exigencias establecidas y posibilitan obtener una elevada efectividad en el control. 142 CONCLUSIONES GENERALES  Todos los objetivos propuestos en esta tesis fueron cumplidos.  Se desarrolló un estudio sobre el estado de arte de los sistemas de control de los procesos de neutralización de pH en los efluentes residuales de las plantas concentradoras de minerales polimetálicos. Se determinó que a pesar de la importancia que presenta esta temática, tanto desde el punto de vista económico como social, está problemática no ha sido resuelta de forma satisfactoria, debido a la complejidad dinámica que presentan estos procesos y a la utilización de controladores convencionales, los cuales no son suficientes en el control de plantas con comportamientos dinámicos complejos.  Mediante la aplicación de las herramientas de identificación de sistemas se obtuvo un modelo ANFIS que describe adecuadamente el comportamiento dinámico del proceso de neutralización del pH en los efluentes residuales de la planta objeto de estudio. Para alcanzar este objetivo, se desarrolló el concepto del algoritmo ANFIS con el cual se obtuvieron varios submodelos lineales basados en funciones de transferencia del proceso objeto de estudio.  Se desarrolló el diseñó de un controlador GPC con restricciones basado en el modelo ANFIS obtenido (GPC-ANFIS) para el control óptimo del proceso de neutralización del pH en la planta objeto de estudio, el cual involucró el uso de la teoría de redes neuronales estáticas, del control predictivo y de la lógica difusa. La restricción empleada, se basa en el incremento de la señal de control aplicando la programación cuadrática. El controlador GPC-ANFIS se aplica a cada uno de los submodelos generados por la red ANFIS, y la señal de control final se pondera para cada señal de control obtenida para cada uno de los submodelos. Los resultados obtenidos mostraron que esta solución constituye una alternativa viable para el control de plantas que presentan no linealidades o dinámicas complejas.  Se desarrolló un análisis de robustez del sistema de control diseñado con controladores GPC-ANFIS con restricción vs PID. Los resultados de simulación obtenidos mostraron que el mejor desempeño del sistema de control se logran cuando se aplica el controlador GPC-ANFIS con restricción en el incremento de la señal de control. 143  Se desarrolló una propuesta de implementación práctica del controlador GPC-ANFIS diseñado basada en la aplicación de un Controlador Programable de Automatización (PAC) perteneciente a la familia ControlLogix del PLC Rockwell Automation, servidor OPC y una PC industrial. El algoritmo de control GPC-ANFIS se ejecuta en base a un programa desarrollado en el entorno de programación del Matlab desde la PC. 144 RECOMENDACIONES  Debido a la complejidad algorítmica del controlador GPC-ANFIS con restricción diseñada se recomienda desarrollar su implementación en una PC industrial, en la cual es posible ejecutar lenguajes de programación de alto nivel.  Se recomienda, en la medida de lo posible, modelar las perturbaciones que pueda presentar el proceso, debido a que se mejora considerablemente la robustez del controlador. 145 REFERENCIAS BIBLIOGRÁFICAS 1. Altman, A., & Gondzio, J. (1999). Regularized symmetric indefinite systems in interior point methods for linear and quadratic optimization. Optimization methods and moftware, 11(1-4), 275-302. 2. Babuška, R. (2012). Fuzzy modeling for control. New York: Springer Science business media, LLC. 3. Babuška, R., Setnes, M., Mollov, S. & Van der Veen, P. (2001). Fuzzy modeling and identification toolbox: for use with matlab. mathworks. The Netherlands. 4. Bagheri, P., Mardanlou, V., & Fatehi, A. (2011). Multiple model predictive control of multivariable pH process using adaptive weighting matrices. IFAC Proceedings Volumes, 44(1), 12366-12371. 5. Calderon, E.M., Rivas, R., & Sotomayor, J. (2016). Design of an adaptive neuro- fuzzy controller of an irrigation main canal pool. IEEE Latin America Transactions, 14(2), 471-476. 6. Carrillo, S. (2014). Conflictos mineros: explorando los problemas de comunicación en etapas clave del ciclo productivo. GI5: La comunicación y los medios en contextos de conflictividad socio-ambiental e industrias extractivas. Pontificia Universidad Católica del Perú, Lima, Perú. 7. Castaño, S. (2015). Control automático educación. Control predictivo. recuperado de: https://controlautomaticoeducacion.com/control-predictivo/control-gpc/. 8. Chiu, S. (1994). A cluster estimation method with extension to fuzzy model identification. Proceedings of 1994 IEEE 3rd International fuzzy systems conference. 9. Cuenca, J. (2011). Desarrollo de un sistema de control predictivo generalizado (GPC) de la distribución de agua en el VI tramo del canal principal de riego Güira de Melena. M.Sc tesis, Instituto Superior Politécnico José Antonio Echevarría, La Habana, Cuba. 10. Essien, E. & Saskatchewan, R. (2013). Adaptive neuro-fuzzy inference system (ANFIS) – Based model predictive control (MPC) for carbon dioxide reforming of ethane (CDRM) In a plug flow tubular reactor for hydrogen production. M.Sc tesis, University of Regina, Italy. 11. Fausett, L.V. (2004). Fundamentals of neural networks: Architectures, algorithms, 146 and applications. Pearson Education, Delhi, India. 12. Franco I. (2012). Controle preditivo baseado em modelo neuro-fuzzy de sistemas não-lineares aplicado em sistema de refrigeração. Tese de doutorado, Campinas, Brasil. 13. Fuente OConnor, José Luis de la. (2017). Ingeniería de los algoritmos y métodos numéricos: Un acercamiento práctico y avanzado a la computación científica e ingenieril con Matlab. Editorial Círculo Rojo, El Ejido, Almería, España. 14. Gondzio, J. (1996). Multiple centrality corrections in a primal-dual method for linear programming. Computational optimization and applications, 6(2), 137-156. 15. Gould, N., & Toint, P. L. (2004). Preprocessing for quadratic programming. Mathematical programming, 100(1). 16. Gómez, J., Jutan, A., & Baeyens, E. (2004). Wiener model identification and predictive control of a pH neutralisation process. IEE Proceedings - Control theory and applications, 151(3), 329-338. 17. Guerra C. (2012). Estrutura ANFIS modificada para identificação e controle de plantas com ampla faixa de operação e não linearidade acentuada. Tese de doutorado, Universidade do Rio Grande do Norte, Natal, Brasil. 18. Guimaraes, T. (2008). Controle preditivo neuro-fuzzy: Análise comparativa empregando diferentes estruturas de modelo. M.Sc tesis, Instituto Tecnológico de Aeronáutica, Sao José dos Santos, SP, Brasil. 19. Hadjili, M., & Wertz, V. (1999). Generalized predictive control using Takagi- Sugeno fuzzy models. Proceedings of the 1999 IEEE international symposium on intelligent control intelligent systems and semiotics (Cat. No.99CH37014). 20. Hadjili, M. L., & Kara, K. (2011). Modelling and control using Takagi-Sugeno fuzzy models. 2011 Saudi international electronics, communications and photonics conference (SIECPC). 21. Henson, M., & Seborg, D. (1994). Adaptive nonlinear control of a pH neutralization process. IEEE Transactions on control systems technology, 2(3), 169-182. 22. Jadlovska, A., Kabakov, N., & Sarnovsky, J. (2008). Intelligent modeling and predictive control of non-linear system based on forward neural model. 2008 6th International symposium on applied machine intelligence and informatics. 23. Jang, J.R., Sun, C., & Mizutani, E. (1997). Neuro-fuzzy and soft computing: A computational approach to learning and machine intelligence. Upper Saddle River, 147 NJ: Prentice Hall. 24. Jesús, N.V. (2013). Diseño de un controlador neurodifuso para la conducción autónoma de un camión minero de dos cuerpos. Tesis de maestría en ingeniería de control y automatización. Pontificia Universidad Católica del Perú. Lima – Perú 25. Kao, T.G., Nguen, M., & Rivas-Perez, R. (1989). Adaptive control of a time-delay plant using a searchless model-reference self-tuning system. Automation and remote control, vol. 49, No. (12, part. 2), pp. 1620-1627. 26. Kovalenko, P.I., Matzeliuk, E.M., & Rivas-Perez, R. (1990). Adaptive control of water distribution in main irrigation canals with variable time delay. Scientific researches in hydrotechnique and land reclamation, 32-40. 27. Koberstein, A. (2008). Progress in the dual simplex algorithm for solving large scale LP problems: Techniques for a fast and stable implementation. Computational optimization and applications, 41(2), 185-204. 28. Mahmoodi, S., Poshtan, J., Jahed-Motlagh, M. R., & Montazeri, A. (2009). Nonlinear model predictive control of a pH neutralization process based on Wiener–Laguerre model. Chemical engineering journal, 146(3), 328-337. 29. Martín, J. (2010). Implementación de redes neuro-difusas para ser aplicadas en problemas de clasificación y modelización. Dissertation. Books on Google Play. Tomado de: https://play.google.com/store/books/details/José_D_Martín_ Imple- mentación_de_Redes_Neuro_Difusa?id=9nRBpIlqAMgC. 30. Mcavoy, T.J., Hsu, E., & Lowenthal, S. (1972). Dynamics of pH in controlled stirred tank reactor. Industrial & engineering chemistry process design and development, 11(1), 68-70. 31. Mehrotra, S. (1992). On the implementation of a primal-dual interior point method. SIAM Journal on Optimization, 2(4), 575-601. 32. Nocedal, J., & Wright, S.J. (2006). Numerical optimization. Springer, NY, USA. 33. Novák, J., & Chalupa, P. (2013). Nonlinear state estimation and predictive control of ph neutralization process. Nostradamus 2013: Prediction, modeling and analysis of complex systems advances in intelligent systems and computing, 285-294. 34. Oblak, S., & Skrjanc, I. (2006). Nonlinear model-predictive control of Wiener-type systems in continuous-time domain using a fuzzy--system function approximation. 2006 IEEE International conference on fuzzy systems. 35. Pacheco, J. (2015). Avances de la minería peruana en el uso del agua. instituto de 148 ingenieros de minas del Perú. 36. Rivas-Perez R. (1984). Technological process control in main canals of irrigation systems, with application to irrigation systems of Cuba. Ph.D thesis, Scientific research institute on land reclamation and hydraulic engineering of Ukrainian academy of agricultural sciences (UkrNIIGIM), Kiev, Ukraine. 37. Rivas-Perez R. (1990). Automatic control of water distribution in irrigation systems. D.Sc thesis, Scientific Research Institute on Land Reclamation and Hydraulic Engineering of Ukrainian Academy of Agricultural Sciences (UkrNIIGIM), Kiev, Ukraine. 38. Rivas-Perez, R., Herranz, J., Llanes, O., & Cartaya, L. (1994). Modelo matemático dinámico de generadores de vapor. Revista de ingeniería electrónica, automática y comunicaciones, 15(3), 45-54. 39. Rivas-Perez, R., Feliu-Batlle, V., Castillo-Garcia, F.J., & Linares-Saez, A. (2014). Mathematical model for robust control of an irrigation main canal pool. Environmental Modelling & Software, 51(1), 207-220. 40. Rivas-Perez R., Sotomayor-Moriano J., Perez-Zuñiga C.G., & Calderon-Mendoza E.M. (2016). Design of a multivariable GPC based on an industrial PC for control of a reverse osmosis unit of a pharmaceutical industry. Revista Mexicana de Ingeniería Química, 15(1), 259-273. 41. Sbárbaro, D. & Del Villar, R. (2010). Advanced control and supervision of mineral processing plants. Springer-Verlag, London, U.K. 42. Takagi, T., & Sugeno, M. (1985). Fuzzy identification of systems and its applications to modeling and control. IEEE Transactions on Systems, Man, and Cybernetics, SMC-15(1), 116-132. 43. Vanderbei, R.J., & Carpenter, T.J. (1993). Symmetric indefinite systems for interior point methods. Mathematical programming, 58(1-3), 1-32. 44. Zhang, J., & Morris, A. (1995). Fuzzy neural networks for nonlinear systems modelling. IEE Proceedings - Control theory and applications, 142(6), 551-561. 45. Zhang, J., & Morris, A. (2000). Long range predictive control of nonlinear processes based on recurrent neuro-fuzzy network models. Neural computing & applications, 9(1), 50-59. 46. Zhang, J., & Morris, A. (1999). Recurrent neuro-fuzzy networks for nonlinear process modeling. IEEE Transactions on neural networks, 10(2), 313-326. 149 47. Zhang, J., & Morris, J. (2001). Nonlinear model predictive control based on multiple local linear models. Proceedings of the 2001 American control conference, Cat. No.01CH37148. 48. Åkesson, B.M., Toivonen, H.T., Waller, J.B., & Nyström, R.H. (2005). Neural network approximation of a nonlinear model predictive controller applied to a pH neutralization process. Computers & chemical engineering, 29(2), 323-335. 49. Camacho, E.F., & Bordons, C. (2004). Model predictive control. Springer-Verlag, London. 50. Rossiter, J.A. (2003). Model-based predictive control: a practical approach. CRC Press, USA. 51. Astrom, K.J., & Hagglund, T. (1995). PID Controllers: Theory, design and tuning, 2nd ed. Instrument, Society of America, Research Triangle Park, N.C., USA. 52. Ljung L. (1999). System identification – Theory for the users, second edition, Prentice Hall, Englewoods Cliffs, N.J., USA. 53. De Prada Moraga, C., Baeyens Lazaro, E., & Rivas-Perez, R. (2009). Introduction to the special section of the modelling, control and optimization of the sugar industry. Revista Iberoamericana de Automática e Informática Industrial, 6(3), 5-9. 54. Feliu Batlle, V., Rivas, P.R., & Castillo, F. (2005). Fractional robust control to delay changes in main irrigation canals. IFAC Proceedings Volumes, 38(1), 28-33. 55. Benítez González, I.O., Rivas-Perez, R., Feliu Batlle, V., & Castillo García, F. (2009). Predictor de Smith modificado mediante un modelo interno robusto a perturbaciones externas no medibles. Revista de Ingeniería Electrónica, Automática y Comunicaciones, 30(3), 48-54. 56. Benitez I.O., Rivas R., Feliu V., & Castillo F.J. (2015). Temperature control based on a modified Smith predictor for injectable drug formulations. IEEE Latin America Transactions, 13(4), 1041-1047. 57. Calderon-Valdez, S.N., Feliu-Batlle, V., & Rivas-Perez, R. (2015). Fractional- order mathematical model of an irrigation main canal pool. Spanish Journal of Agricultural Research, 13(3), e0212. 58. Camacho, E.F., & Bordons, C. (2002). Model Predictive Control, Springer-Verlag, New York, USA. 59. Ccarita Cruz, J.C., & Rivas-Perez, R. (2017). Diseño de un controlador predictivo generalizado multivariable para el control de una celda de flotación tipo columna 150 utilizada en el proceso de recuperación de cobre. M.Sc tesis, Pontificia Universidad Católica del Perú, Lima, Perú. 60. Castillo Garcia, F., Rivas-Perez, R., & Feliu Batlle, V. (2008). Fractional IIalpha controller combined with a Smith predictor for effective water distribution in a main irrigation canal pool. IFAC Proceedings Volumes, 41(2), 14558-14563. 61. Castillo-Garcia, F.J, Feliu-Batlle, V., Rivas-Perez, R., & Sanchez-Rodriguez, L. (2011). Time domain tuning of a fractional order PIa controller combined with a Smith predictor for automation of water distribution in irrigation main channel pools. IFAC Proceedings Volumes, 44(1), 15049-15054. 62. Castillo-Garcia, F.J., Feliu-Batlle, V., & Rivas-Perez, R. (2013). Frequency specification regions of fractional order PI controller for first order plus time delay processes. Journal of Process Control, 23(4), 598-612. 63. Castillo-Garcia, F.J., Feliu-Batlle, V., & Rivas-Perez, R. (2013). Time domain tuning of fractional order controllers combined with a Smith predictor for automation of water distribution in irrigation main channel pools. Asian Journal of Control, 15(3), 819-833. 64. Kovalenko, P.I., & Rivas-Perez, R. (1985). Improvements of rice irrigation systems in Cuba. Hydraulic Engineering and Land Reclamation, 12, 57-58. 65. Kovalenko, P.I., Matzeliuk, E.M., & Rivas-Perez, R. (1990). Adaptive control of water distribution in main irrigation canals with variable time delay. Scientific Researches in Hydrotechnique and Land Reclamation, 32-40. 66. Kovalenko, P.I., Pichuguin, E.D., & Rivas-Perez, R. (1989). Compensation of nonlinear characteristics with dead-zone in water distribution control systems. Construction and Exploitation of Land Reclamation Systems, 37-49. 67. Feliu Batlle, V., Rivas-Perez, R., Sanchez Rodriguez, L., Castillo Garcia, F., & Linarez Saez, A. (2008). Robust fractional order PI controller for a main irrigation canal pool. IFAC Proceedings Volumes, 41(2), 15535-15540. 68. Feliu-Batlle, V., Rivas-Perez, R., & Castillo-Garcia, F.J. (2013). Simple fractional order controller combined with a Smith predictor for temperature control in a steel slab reheating furnace. International Journal of Control, Automation, and Systems, 11(3), 533-544. 69. Kovalenko, P.I., Rivas-Perez, R., Pichuguin, E.D., & Cao, T.G. (1984). Modeling the dynamic characteristics of an irrigation main canal for control. Control, 151 Cibernética y Automatización, 18(3), 46-50. 70. Feliu-Batlle, V., Rivas-Perez, R., Castillo-Garcia, F.J., & Rodríguez Martínez, C.A. (2014). A robust fractional order controller for an EAF electrode position system. IFAC Proceedings Volumes, 47(3), 10670-10675. 71. Feliu-Batlle, V., Rivas-Perez, R., Castillo-Garcia, F.J., Sanchez-Rodriguez, L., & Linares Saez, A. (2011). Robust fractional order controller for irrigation main canal pools with time-varying dynamical parameters. Computers and Electronics in Agriculture, 76(2), 205-217. 72. Hernandez-Lopez, Y., Rivas-Perez, R., & Lorenzo Galván, G. (2015). Robust proportional integral control of water level in an irrigation main canal. Revista Cubana de Ingeniería, 6(2), 25-34. 73. Pedregal, D.J., Rivas-Perez, R., Feliu, V., Sanchez, L., & Linares, A. (2009). A non-linear forecasting system for the Ebro River at Zaragoza, Spain. Environmental Modelling & Software, 24(4), 502-509. 74. Perez Zuñiga, C.G., Rivas-Perez, R., & Sotomayor Moriano, J. (2009). Control predictivo generalizado de la temperatura de laminación de un horno siderúrgico. Electro-Electrónica, 32(1), 46-54. 75. Rivas Perez R. (1988). Automated system of water distribution in irrigation main canals. Land Reclamation and Hydraulic Resources Management, 8, 40-42. 76. Rivas-Perez, R., & Pichuguin, E.D. (1989). Synthesis of adaptive control systems of water distribution in main irrigation canals. Land Reclamation and Water Management, 70, 66-70. 77. Rivas-Perez R. (1990). Automatic control of water distribution in irrigation systems. D.Sc thesis, All Russia Research Institute of Hydraulic Engineering and Land Reclamation A.N. Kostyakov (NIIG&M), Moscow, Russia. 78. Rivas-Perez R. (1991). Cascade control of water distribution in rice plane terraces of Krasnodar class and Kuban variant. Land Reclamation and Water Management, 75, 72-76. 79. Rivas-Perez R. (2011). Generadores de vapor de bagazo y su control. Libro blanco del control automático en la industria de la caña de azúcar. Programa CYTED Red de Automatización y Control de la Industria de Transformación de la Caña de Azúcar, 195-230, España. 80. Rivas-Perez, R., Aref Ghraizi, R., Peran Gonzalez, J.R., & Cesar Sanchez, E. 152 (2000). Industrial boilers. Integral automatic control system. Automática e Instrumentación 308, 79-84. 81. Rueda Bergamino, D.J., & Rivas- Perez, R. (2017). Desarrollo de un predictor de Smith modificado para el control de plantas industriales con retardo de tiempo dominante y sometidas al efecto de perturbaciones externas. M.Sc tesis, Pontificia Universidad Católica del Perú, Lima, Perú. 82. Mas Bautista, R.E, & Rivas-Perez, R. (2017). Desarrollo y propuesta de implementación práctica de un sistema de control avanzado de un motor de combustión interna Nissan GA-15. M.Sc tesis, Pontificia Universidad Católica del Perú, Lima, Perú. 83. Rivas-Perez, R., Cao, T.G., Franco Parellada, C., & Prokofiev, V.E. (1987). Sistema de control automático de objetivos con retardo de tiempo. Control, Cibernética y Automatización, 20(1), 24-26. 84. Rivas-Perez, R., Castillo-Garcia, F.J., Sotomayor Moriano, J., & Feliu-Batlle, V. (2014). Design of a fractional order PI controller for steam pressure in the steam drum of a bagasse fired boiler. IFAC Proceedings Volumes, 47(3), 1337-1342. 85. Rivas-Perez, R., Castillo-Garcia, F.J., Sotomayor-Moriano, J., & Feliu-Batlle, V. (2014). Control robusto de orden fraccionario de la presión del vapor en el domo superior de una caldera bagacera. Revista Iberoamericana de Automática e Informática Industrial, 11(1), 20-31. 86. Rivas-Perez, R., Feliu Batlle, V., Castillo Garcia, F., & Linarez Saez, A. (2008). System identification for control of a main irrigation canal pool. IFAC Proceedings Volumes, 41(2), 9649-9654. 87. Rivas-Perez, R., Feliu-Batlle, V., Castillo-Garcia, F.J., Sanchez-Rodriguez, L., & Linares Saez, A. (2014). Robust fractional order controller implemented in the first pool of the Imperial de Aragon main canal. Tecnología y Ciencias del Agua, 5(1), 23-42. 88. Rivas-Perez, R., Feliu-Batlle, V., Castillo-Garcia, F.J., Sanchez-Rodriguez, L., & Linares-Saez, A. (2011). Control oriented model of a complex irrigation main canal pool. IFAC Proceedings Volumes, 44(1), 2919-2924. 89. Rivas-Perez, R., Feliu-Batlle, V., Sanchez Rodriguez, L., Pedregal Tercero, D.J., Linares Saez, A., Aguilar Mariñosa, J.V., & Langarita Garcia, P. (2008). Identification of the first pool of the Imperial de Aragon main irrigation canal. 153 Hydraulic Engineering in Mexico, 23(1), 71-87. 90. Astrom, K., & Hagglund, T. (2009). Control PID avanzado. Madrid, España, Pearson Educación. 91. Kao, T.G., Nguen, M., & Rivas-Perez, R. (1988). Adaptive control of a delay plant by using a nonsearching self-adjusting systems with a model. Avtomatika i Telemekhanika, 12, 106-116. 92. Rivas-Perez, R., Feliu-Batlle, V., Castillo-Garcia, F.J., & Benitez-Gonzalez, I.O. (2014). Temperature control of a crude oil preheating furnace using a modified Smith predictor improved with a disturbance rejection term. IFAC Proceedings Volumes, 47(3), 5760-5765. 93. Moreno Rosario, D.E., & Rivas-Perez, R. (2016). Control predictivo generalizado multivariable de un bastidor de ósmosis inversa de una planta desalinizadora de agua de mar. M.Sc tesis, Pontificia Universidad Católica del Perú, Lima, Perú. 94. Hernández, Y., Feliu, V., & Rivas, R. (2017). Artificial neural network based system identification of an irrigation main canal pool. IEEE Latin America Transactions, 15(9), 1595-1600. 95. Benítez-González, I.O., Rivas-Perez, R., & Feliu-Batlle, V. (2017). Modified Smith Predictor for concentration control in manufacturing process of injectable drugs. Revista Mexicana de Ingeniería Química, 16(2). 96. Benitez, I.O., Rivas, R., Feliu, V., Sanchez, L.P., & Sanchez, L.A. (2016). Fuzzy gain scheduled Smith predictor for temperature control in an industrial steel slab reheating furnace. IEEE Latin America Transactions, 14(11), 4439-4447. 97. Rivas Perez, R., Feliu Batlle, V., Sanchez Rodriguez, L., Pedregal Tercero, D., Linarez Saez, A., Aguilar Mariñoso, J.V., & Langarita García, P. (2007). System identification of Aragon’s Imperial Irrigation Main Canal. IFAC Proceedings Volumes, 40(1), 274-279. 98. San-Millán, A., Feliu-Talegón, D., Feliu-Batlle, V., & Rivas-Perez, R. (2017). On the modelling and control of a laboratory prototype of a hydraulic canal based on a TITO fractional-order model. Entropy, 19(8), 401. 99. Rivas-Perez, R., Sotomayor Moriano, J., & Perez-Zuñiga, C.G. (2017). Adaptive expert generalized predictive multivariable control of seawater RO desalination plant for a mineral processing facility. IFAC-PapersOnLine, 50(1), 10244-10249. 100. Feliu-Batlle, V., Rivas-Perez, R., & Linares-Saez, A. (2017). Fractional order 154 robust control of a reverse osmosis seawater desalination plant. IFAC- PapersOnLine, 50(1), 14545-14550. 101. Rodriguez Gutierrez, M.I., & Rivas-Perez, R. (2017). Desarrollo de un sistema de control predictivo de la temperatura en un reactor de transesterificación. M.Sc tesis, Pontificia Universidad Católica del Perú, Lima, Perú. 102. W. Piña, V. Feliu, & R. Rivas, Direct continuous-time system identification of the purification process of the nimotuzumab, a humanized monoclonal antibody, IEEE Latin America Transactions, vol. 16, no. 1, pp. 31-37, 2018. 103. V. Feliu-Batlle, R. Rivas-Perez, L. Sanchez-Rodriguez, & M. A. Ruiz-Torija, “Robust fractional-order PI controller implemented on a laboratory hydraulic canal”, Journal of Hydraulic Engineering, vol. 135, no. 4, pp. 271-282, 2009. 104. Rivas-Perez R. (1991). Synthesis of optimal stationary automatic control systems of water distribution in main irrigation canals by means of time delay compensation. Land Reclamation and Water Management, 74, 77-82. 105. Carrasco Banda, N.N., & Rivas-Perez, R. (2016). Modelado y control basado en redes neuronales artificiales de una planta piloto de desalinización de agua de mar por osmosis inversa. M.Sc tesis, Pontificia Universidad Católica del Perú, Lima, Perú. 106. Rivas-Perez, R., Zubieta Arce, P., & Garcini Leal, H. (2002). Detección y diagnóstico automático de fallos en procesos industriales. Revista de Ingeniería Electrónica, Automática y Comunicaciones, 23 (3), 17-25. 107. Rivas-Perez, R., Prada Móraga, C., Sotomayor Moriano, J., & Fuente Aparicio, M.J. (2000). Real-time control of water distribution in irrigation canals. Electro- Electrónica, 13(1), 19-27. 108. Rivas-Perez, R. Pérez, S., & Céspedes E. (1998). Sistema de control distribuido de gastos y niveles del agua en canales de riego. Revista de Ingeniería Electrónica, Automática y Comunicaciones, 19(4), 43-52. 109. Herranz, J., Fernández, R.M., & Rivas-Perez, R. (1998). Diseño, síntesis y realización. Un curso de teoría aplicada. Revista de Ingeniería Electrónica, Automática y Comunicaciones, 19(4), 43-52. 110. Rivas-Perez, R., & Reznik, T.V. (1987). Sistema de control automático del nivel del agua en los canales magistrales de riego. Control, Cibernética y Automatización, 20 (2), 40-42. 155 111. Mathur, A., Gaikwad, S., Rodgers, R., Gagnon, N., & Rousseau, P. Advanced Controller for Grinding Mills: Results from a Ball Mill Circuit in a Copper Concentrator. 112. Chaparro, E. (2009) Los procesos mineros y su vinculación con el uso del agua. Santiago, Chile. 113. Instituto Superior Tecnológico Tecsup. (2012). Concentración de minerales. Curso virtual Lima, Perú. 114. Herrera, L. (2000) Procesos de neutralización de residuos industriales líquidos. Santiago, Chile. 115. Marza, V and Teshnehlab, M. (2009). Estimating development time and effort of software projects by using a Neuro-Fuzzy Approach. 116. MathWorks. (1994-2018). Quadratic programming algorithms. 01/03/2018, de MathWorks Sitio web: https://la.mathworks.com/help/optim/ug/quadratic- programming-algorithms.html 117. Rockwell Automation Publication. (2018). 1756 Controllogix and guardlogix controllers 1756-TD001O-EN-P. 118. Kepware Inc. (2016). KepserverEx manual. 156