Presentado a
LA UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Para obtener el título de
INGENIERO ELÉCTRICO
por
Gerardo Andrés Riaño Briceño
Cosimulación para el diseño de controladores en sistemas de drenaje
urbano
Sustentado el día mes de año frente al jurado:
Composición del jurado
- Asesor: Nicanor Quijano, Profesor Titular, Universidad de Los Andes
Contenido
1 INTRODUCCIÓN ... 3
2 OBJETIVOS ... 3
2.1 Objetivo General ... 3
2.2 Objetivos Específicos ... 3
2.3 Alcance y productos finales ... 4
3 PROBLEMÁTICA Y JUSTIFICACIÓN DEL TRABAJO ... 4
4 CONCEPTOS PRELIMINARES Y DESCRIPCIÓN DEL TOOLBOX ... 6
4.1 El modelo SWMM ... 7
4.2 Aspectos computacionales relacionados con el cálculo hidráulico en MatSWMM ... 8
4.3 Estructura de MatSWMM ... 10
4.4 Aspectos computacionales relacionados con control en tiempo real en MatSWMM ... 10
5 FUNCIONES DE MATSWMM ... 12
5.1 Funciones básicas ... 13
5.2 Funciones para análisis de datos ... 13
5.3 Funciones para el modelamiento del sistema ... 14
6 CONTROL BASADO EN DINÁMICAS POBLACIONALES ... 15
6.1 Analogía con dinámicas poblacionales ... 15
6.2 Dinámicas poblaciones distribuidas ... 16
7 Modelos de SDU ... 17
7.1 Modelos orientados a control ... 17
7.2 Modelos orientados a simulación ... 19
8 APLICACIONES DE MATSWMM ... 19
8.1 Caso de estudio de divergencia ... 19
8.2 Caso de estudio de convergencia... 22
8.3 Control PID vs control basado en dinámicas poblacionales ... 24
9 DISCUSIÓN ... 26
10 CONCLUSIONES ... 27
11 AGRADECIMIENTOS ... 28
1
INTRODUCCIÓN
Este documento describe en detalle a MatSWMM, un toolbox de código abierto escrito en Matlab, Python, y LabVIEW, que puede ser utilizado para el análisis y diseño de estrategias de control en tiempo real (CTR) en sistemas de drenaje urbano (SDU). MatSWMM incluye modelos orientados al control de SDU y el modelo de gestión de aguas pluviales (SWMM) de la Agencia de Protección Ambiental de Estados Unidos (EPA), así como también funciones que permiten editar de forma sistemática cualquier sistema montado en el
framework de SWMM. Además, MatSWMM está provisto de un controlador basado en dinámicas poblacionales con tres de las dinámicas fundamentales, i.e., las dinámicas Smith,
projection y replicator. El algoritmo de simulación, y una descripción detallada de las características de MatSWMM se presentan a lo largo del documento con el fin de ilustrar las capacidades que tiene la herramienta para fines educativos y de investigación. Asimismo, se presentan resultados de un controlador PID diseñado a partir de las herramientas y los modelos orientados a control que provee el toolbox.
En general, el documento está organizado de la siguiente manera: primero, se dan a conocer algunos detalles preliminares relacionados con el algoritmo de simulación y el
framework de MatSWMM. Segundo, se da una descripción detallada de todas las funcionalidades de MatSWMM, junto con la descripción del controlador basado en dinámicas poblacionales, el cual se incluye como una función adicional del toolbox. Tercero, se da una breve descripción de los modelos que se adaptan a MatSWMM para implementar controladores basados en modelo. En cuarto lugar, se presentan tres casos de estudio ilustrando las ventajas del control distribuido basado en dinámicas poblacionales. También, se hace una breve discusión sobre algunas aplicaciones realizables con MatSWMM, para lo cual, se destacan ventajas y desventajas de los modelos orientados a control, con base en el diseño de un controlador PID para gestión de agua en tanques de tormenta. Por último, se presentan algunas conclusiones, dejando abierta la posibilidad de trabajo futuro con el uso de la herramienta.
2
OBJETIVOS
2.1 Objetivo General
Desarrollo de una herramienta computacional que combine la funcionalidad de SWMM, un modelo computacional utilizado para el modelamiento de Sistemas de Drenaje Urbano (SDU), con Matlab, Python y LabVIEW, con el fin de verificar las ventajas que ofrece el Control en Tiempo Real (CTR) para distribuir de manera óptima flujos pluviales y residuales.
2.2 Objetivos Específicos
Verificar la funcionalidad de estrategias de control en tiempo real en sistemas de drenaje urbano (SDU), identificando ventajas y desventajas.
Desarrollar funciones que permitan modelar sistemas de drenaje urbano, a partir de modelos orientados a control.
Evaluar el desempeño de controladores programados con MatSWMM, tanto los diseñados con base en modelos orientados a control incluidos en la herramienta de cosimulación, como también aquellos libres de modelo.
2.3 Alcance y productos finales
La principal contribución del proyecto es el desarrollo de MatSWMM, i.e., una herramienta computacional que permite integrar los subsistemas de un sistema de drenaje urbano (SDU) (e.g., sistema de control, modelo lluvia-escorrentía, modelo de tránsito de crecientes) utilizando como base el modelo SWMM de la Agencia para la Protección Ambiental estadounidense (EPA). En este documento se hace una descripción extensiva de las características del toolbox, se muestra un enlace para descargar la herramienta, y se muestran resultados de do casos de estudio. Adicionalmente, se ha desarrollado un documento tutorial para el uso de MatSWMM, el cual puede descargarse del repositorio donde se encuentra el código fuente. El tutorial y algunos comentarios puestos en el repositorio describen el proceso que se llevó a cabo para desarrollar la herramienta con base en el código fuente de SWMM.
La herramienta se compone de una librería DLL principal compilada en C, y de 3 librerías secundarias que pueden ser utilizadas para invocar funciones desde Matlab, Python, y LabVIEW.
3
PROBLEMÁTICA Y JUSTIFICACIÓN DEL TRABAJO
En la actualidad, los eventos de inundación prolongada en sistemas de drenaje urbano (SDU) se producen frecuentemente, incluso cuando la intensidad de las precipitaciones que producen estos eventos, es más baja que la de reportada en datos históricos utilizados para diseñar el SDU [1]. Algunas de las principales razones de este fenómeno en las zonas urbanas son: la rápida urbanización, la complejidad de la infraestructura, y el cambio climático, que produce fenómenos como el de la isla de calor [1] [2] [3]. Por ejemplo, debido a la incertidumbre relacionada con el cambio climático, en la fase de diseño la probabilidad esperada de error de capacidad para estructuras hidráulicas podría aumentar en un factor de alrededor de 30 veces [4]. Por esta razón, buscar nuevas técnicas de diseño y empezar a evaluar nuevas estrategias para abordar este problema se ha convertido en un tema de investigación importante en el campo de la ingeniería hidráulica. La mayoría de las soluciones propuestas para resolver el problema de inundaciones están relacionados con procedimientos en la fase de diseño de la infraestructura hidráulica únicamente [5]. Sin embargo, este enfoque puede ser ineficiente para los sistemas ya existentes, porque implica, a primera vista, hacer expansiones sobre el sistema.
Por otro lado, está el enfoque de los sistemas de control, el cual sugiere resolver el problema de inundaciones mediante la aplicación de una gestión óptima de los flujos de todo el SDU, incorporando elementos sensores y actuadores, y aprovechando la capacidad de almacenamiento de canales, y tanques de tormenta. Ahora bien, con el fin de exponer en qué consisten las estrategias de control para SDU es preciso aclarar algunos conceptos. En primer lugar, el abordaje del tema merece la definición de sistema de drenaje urbano y de las estructuras que convencionalmente lo componen.
Se considera que un sistema de drenaje urbano o red de alcantarillado, es una composición de tuberías y/o canales que transportan aguas residuales y de lluvia, provenientes de desagües de edificios y calles de una ciudad en zonas urbanas, hacia las instalaciones de plantas de tratamiento de aguas residuales (PTAR).
Los conductos en una red de drenaje se conectan a través de cámaras de inspección o alcantarillas, cuya topología se asemeja a la de un pozo, que tiene la capacidad de captar a
través de rejillas el agua de lluvia que fluye de a lo largo de zonas impermeables (i.e., escorrentía). Una característica importante de los SDU es que la energía para mover el agua es provista por la diferencia de altura entre los diferentes puntos de captación de la red. Por ende, en el movimiento del agua priman las fuerzas gravitacionales. Sin embargo, en zonas con topografía plana, es común que se utilice algún sistema de bombeo para poner en movimiento el agua. Debido a la expansión de las ciudades y de las zonas urbanas, los SDU se han convertido en sistemas de gran escala, por lo cual, es necesario lidiar con un gran número de variables de estado y acciones de control al momento de llevar a cabo su modelación.
En cuanto a las estrategias de control que se utilizan para manipular de forma eficiente los flujos en SDU, existen dos enfoques. El primero es el enfoque centralizado, el cual consiste en alojar toda la información del sistema en un único equipo, que es el encargado de calcular las acciones de control del sistema. Este tipo de estrategias resultan costosas y es difícil garantizar la disponibilidad de información de manera central, lo cual implica también una red de comunicación de gran tamaño. Por otra parte, está el enfoque no centralizado, el cual consiste en hacer una partición del sistema y garantizar un acoplamiento dinámico entre los estados. Por ejemplo, una metodología general para hacer una partición de un sistema de una manera óptima se presenta en [6].
Algunas de las estrategias de control que se han estudiado para implementarse en sistemas de drenaje urbano se enuncian en [7]. Principalmente, se pueden caracterizar dos tipos de estrategias, las heurísticas y las basadas en optimización. Dentro de las estrategias heurísticas se destacan el control basado en reglas [8] [9], los sistemas de lógica difusa [10] [11], y los sistemas expertos. En cuanto al enfoque de control basado en optimización, se han estudiado técnicas como el regulador cuadrático lineal (LQR) [12] [13] [14], el control predictivo basado en modelo (MPC) [15] [16] [17] [18], el control basado en estrategias evolutivas [19] [20] [21] y el control basado en dinámicas poblacionales [22] [23]. Ésta última, será uno de los que se estudia con mayor detalle a lo largo del documento, ya que una de las funciones de MatSWMM para modelar procesos de control en tiempo real se basa en el enfoque de dinámicas poblacionales.
Ahora bien, para modelar los SDU existen varios paquetes de software que pueden clasificarse en dos tipos de herramientas: comerciales y de código abierto. Las comerciales son populares entre la industria y las empresas prestadoras de servicios públicos debido a sus capacidades “todo en uno” y a su eficiencia. Algunos de los paquetes comerciales disponibles en el mercado son CivilStorm, InfoWorks CS, MOUSE, MIKE, SewerCAD, SOBEK Urban, MicroDrainage y SIMBA [24]. La mayoría de estos son holísticos [25], es decir, estos paquetes permiten modelar no sólo el transporte de agua a través de una red de drenaje, sino también el control en tiempo real (CTR), la precipitación, la escorrentía, la calidad del agua, inundaciones en las calles (modelos en una y dos dimensiones), y muchas otras características. A pesar de la integridad de los programas comerciales, estas herramientas pueden ser inapropiadas para fines educativos y de investigación, ya que están cerrados, es decir que no permiten modificaciones sobre el código fuente o la adición de nuevos algoritmos, una característica que es fundamental cuando se prueban nueva teorías, especialmente nuevas estrategias control. Además, las herramientas comerciales pueden ser costosas a pesar de permitir la integración con herramientas de codificación.
Por otro lado, están las herramientas de código abierto las cuales están orientadas a dar flexibilidad al algoritmo de simulación, lo que permite la integración de varias funciones
relacionadas con los SDU, como las que se indican en [7]. Algunas herramientas de este tipo son CITY DRAIN © [26] y SWMM [27]. CITY DRAIN © ha sido desarrollado para operar con Simulink y Matlab con el fin de mejorar su funcionalidad con bloques sistemas de control y toolboxes de Matlab ya desarrollados. CITY DRAIN © incluye modelos de flujo simplificados como el modelo de Muskingum [28]. SWMM es el modelo de gestión de aguas pluviales de la Agencia de Protección Ambiental de Estados Unidos (EPA). Éste está orientado a modelar con alto nivel de precisión, utilizando las ecuaciones unidimensionales de Saint Venant (ESV), procesos de escorrentía que se producen en los SDU. Además, SWMM puede ser útil para el modelado de control basado en reglas. Sin embargo, las herramientas de código abierto pueden ser también limitadas, ya que la ampliación y/o modificación de SWMM para fines de control en tiempo real requiere conocimientos de programación con lenguajes de programación de bajo nivel como C y PASCAL, y la adición de un modelo más complejo en el marco CITY DRAIN © (como el modelo basado en las ESV) puede ser difícil en algunos casos.
Además, Pathirana [29] ha desarrollado un toolbox en Python para extraer fácilmente los resultados de SWMM, tratando de satisfacer esta necesidad. Sin embargo, no es posible diseñar control con ella, ya que sólo simplifica el proceso de extracción de resultados de la simulación de SWMM.
Por esta razón, con el fin de facilitar el diseño y prueba de desempeño de controladores en tiempo real para SDU, MatSWMM, una herramienta de código abierto ha sido creada. MatSWMM es una herramienta flexible, es decir, un paquete de software que le da al usuario la posibilidad de manipular los resultados de la simulación facilitando el análisis de datos y/o funcionalidades de edición del sistema, ya que se ha estructurado para tres lenguajes de programación de alto nivel que son Matlab, Python, y LabVIEW. Esto garantiza la posibilidad de implementar fácilmente interfaces y aplicaciones físicas, aprovechando la programación orientada a matrices, las capacidades de trazado, optimización y toolboxes de control. El toolbox (MatSWMM) funciona como un programa de cosimulación que se basa en SWMM y se ha desarrollado como un conjunto de funciones con el fin de facilitar la expansión del framework.
Un aspecto importante, que a menudo se olvida es que tanto el entorno de LabVIEW como el de Matlab son comerciales y cerrados, así que su núcleo y sus bibliotecas no pueden modificarse ni distribuirse libremente. Para permitir el intercambio de ideas de manera efectiva la mejora de la investigación científica, tanto el toolbox como la plataforma en la que se ejecuta MatSWMM debe ser libre [30]. Por este motivo, MatSWMM puede ejecutarse en Python, que es de código abierto y tiene una gran variedad de librerías de optimización, análisis de datos, y análisis numérico, por ejemplo, NumPy, SciPy y python-control. También es posible trabajar con ArcPy, que es una biblioteca de sistemas de información geográfica (GIS) que se puede utilizar para mejorar la funcionalidad de MatSWMM en el futuro, con el fin de ofrecer las mismas capacidades de posicionamiento geográficas de paquetes comerciales tales como InfoWorks CS o MIKE.
4
CONCEPTOS PRELIMINARES Y DESCRIPCIÓN DEL
TOOLBOX
En esta sección, se presentan aspectos relevantes para la computación de la hidráulica y del control en tiempo real (CTR) con MatSWMM. En primer lugar, se da una breve explicación del modelo SWMM, destacando las modificaciones que se hacen al algoritmo de cálculo de
flujo de SWMM, y cómo varias funcionalidades mejoradas se han adaptado a éste. A continuación, se hace hincapié en cómo el CTR puede ser diseñado con MatSWMM, y cómo puede ser escalable para los sistemas de con una gran cantidad de variables de estado. Es importante considerar que MatSWMM sólo puede ser ejecutado a través de las instrucciones de código utilizando Matlab y Python. Por el contrario, si se prefiere LabVIEW, las funciones se invocan a través de bloques típicos de LabVIEW con sus correspondientes entradas y salidas.
4.1 El modelo SWMM
SWMM es un modelo dinámico de simulación de lluvia y escorrentía, que se utiliza para la planificación, el análisis y el diseño de la infraestructura relacionada con el transporte de aguas pluviales, como el alcantarillado combinado y sanitario, pertenecientes a los sistemas de drenaje en las zonas urbanas [27]. La plataforma consiste en una interfaz donde una red de drenaje se puede crear mediante el uso de elementos tales como tuberías, canales, unidades de almacenamiento, sub-cuencas, entre otros. Además, tiene un módulo de cálculo que utiliza las ESV unidimensionales para simular la escorrentía a lo largo de los canales o conductos de la red [28]; son dos ecuaciones, una de conservación de la masa
𝜕𝑄 𝜕𝑡 +
𝜕𝐴 𝜕𝑥 = 𝑄𝐿,
y del momentum
1 𝐴 𝜕𝑄 𝜕𝑡 + 1 𝐴 𝜕 𝜕𝑥( 𝑄2
𝐴) + 𝑔 𝜕𝑦
𝜕𝑥− 𝑔(𝑆0− 𝑆𝑓) = 0
donde 𝑄 es el caudal que pasa por cierto conducto, 𝐴 es el área mojada, 𝑦 la profundidad del flujo, 𝑔 la aceleración de la gravedad, 𝑆0 la pendiente del canal, 𝑆𝑓 la pendiente de fricción (calculada normalmente con ecuaciones empíricas como la de Chezy o la de Manning), 𝑡 el tiempo, y 𝑥 la distancia horizontal a lo largo del conducto [28].
SWMM también ha sido equipado con elementos dinámicos y estáticos de control. Los elementos estáticos tales como vertederos y desagües, cuya finalidad es limitar los niveles de agua a lo largo del sistema; trabajan como barreras que reducen la energía del flujo. También están los elementos de control dinámicos, tales como orificios y compuertas, que pueden programarse para operar con control lógico o basado en reglas. Asimismo, se pueden implementar controladores PID locales para establecer puntos de operación de válvulas y de compuertas con el fin de controlar los niveles de agua, los volúmenes acumulados en los conductos y también, para manipular direcciones de flujo.
Las funcionalidades por defecto del CTR de SWMM se han convertido en opciones limitadas por el problema de dimensionalidad de los SDU, que obliga a utilizar estrategias de gestión más complejas, como las desarrolladas en [22], [15], y [31]. Sin embargo, tiene un gran potencial como un software de código abierto, ya que es posible mejorar su funcionamiento con el fin de incluir nuevos métodos que permitan a los usuarios simular estrategias complejas CTR, y también, para editar sistemáticamente cualquier SDU implementado en este framework.
4.2 Aspectos computacionales relacionados con el cálculo hidráulico en MatSWMM
Es importante enfatizar en que SWMM es un modelo de simulación en tiempo discreto físicamente basado que utiliza principios de conservación de la masa, energía y momento [28]. Como una herramienta de tiempo discreto, su algoritmo encuentra soluciones para el problema de enrutamiento de flujo de forma iterativa, utilizando un método de Runge-Kutta (RK) de quinto orden adaptativo, i.e., con tamaño de paso variable [32].
Figura 1. El algoritmo de MatSWMM, compuesto de tres partes principales.
MatSWMM ofrece la posibilidad de manipular el módulo de cálculo de flujo de SWMM. El algoritmo de cálculo de flujo se puede descomponer en tres partes tal como se presenta en la Figura 1. En primer lugar, un proceso de inicialización se lleva a cabo, y se asigna memoria para almacenar los resultados del cálculo de la simulación, así como identificadores1, y otros
atributos de los objetos. En segundo lugar, el algoritmo de RK se invoca y se crea un ciclo con el fin de calcular los resultados de flujo para un intervalo de tiempo; esto se denomina como el ciclo principal de la simulación. Por último, el algoritmo encuentra soluciones para el problema de enrutamiento de flujo y dos archivos se generan, i.e., un archivo de informe y un archivo de salida cuyas extensiones son “.rpt” y “.out” respectivamente. El primer archivo contiene un resumen de los principales resultados de la simulación en texto plano,
mientras que el segundo es un archivo binario que almacena los valores de los resultados, con el fin de hacer que el almacenamiento de datos y los procesos de recuperación de manera eficiente cuando se generan grandes conjuntos de datos.
MatSWMM ha sido pensado para ser portátil también, por lo tanto, la versión modificada del modelo SWMM se ha compilado como una librería DLL, que se puede utilizar desde cualquier lenguaje de programación basado en C, como Matlab, Python, o LabVIEW. Debido a esto, MatSWMM se puede extender fácilmente para otros lenguajes de programación utilizando el código base2.
Figura 2. Carpetas y archivos correspondientes al toolbox MatSWMM.
MatSWMM opera como una herramienta de cosimulación que recupera información de variables hidráulicas de SWMM, y permite modificar los atributos del sistema con el fin de realizar el análisis de datos de manera eficiente con las bibliotecas proporcionadas para sus lenguas de base (i.e., Matlab, Python, y LabVIEW). Con esto en mente, el ciclo principal del algoritmo presentado en la Figura 1 se puede adaptar para el modelado de CTR, y el proceso de inicialización, para la edición sistemática del sistema, i.e., el uso de las funcionalidades del toolbox para modificar los atributos del modelo de forma sistemática y/o automática.
4.3 Estructura de MatSWMM
Una estructura especial de carpetas y archivos de trabajo, presentada en la Figura 2, ha sido diseñada para MatSWMM con el fin de mantener un entorno organizado mientras se trabaja con el toolbox. La estructura de MatSWMM se puede clasificar en tres partes principales: los archivos SWMM, los archivos MatSWMM, y los resultados de la simulación. Los archivos SWMM (i.e., archivos de entrada (“.inp”), reporte (“.rpt”) y salida (“.out”)), se almacenan en una sola carpeta llamada “swmm_files”. Con el fin de ejecutar una simulación, sólo se requiere almacenar el archivo “.inp” creado con SWMM y utilizar la ruta de acceso de éste como parámetro de entrada para las funciones de simulación de MatSWMM.
Los resultados de la simulación se almacenan en cuatro carpetas diferentes que están relacionadas con el tiempo de simulación y los tres tipos principales de elementos en SDU (i.e., enlaces, nodos, y subcuencas). Los resultados de la simulación se almacenan en archivos “.csv”; los archivos contienen información de distintos atributos dependiendo del tipo de objeto, como se expone en la Figura 2.
Por otra parte, los archivos de MatSWMM que se requieren para calcular una simulación varían dependiendo del lenguaje de programación. Como Matlab y Python se pueden utilizar para la programación orientada a objetos (POO), el entorno de MatSWMM se ha concebido como un archivo de clase con varios métodos. Por otro lado, MatSWMM para LabVIEW está compuesto por un conjunto de archivos “.vi” relacionados con las funcionalidades del
toolbox Hay funciones básicas y funciones mejoradas que se pueden utilizar para reproducir el algoritmo de simulación (estos se resaltan en la Figura 2), extraer información, y modificar el estado de los actuadores de la simulación. Nótese que una librería DLL con una versión modificada de SWMM tiene que ser guardada en el espacio de trabajo, independientemente del lenguaje de programación utilizado.
Figura 3. Esquema de lazo cerrado con cosimulación.
4.4 Aspectos computacionales relacionados con control en tiempo real en MatSWMM
Teniendo en cuenta el algoritmo de MatSWMM que se muestra en la Figura 1, es posible explicar cómo el toolbox se puede utilizar para el diseño de CTR. Tras el cálculo de cada
paso siguiendo el algoritmo de estimación de flujo, se ejecuta la funcionalidad mejorada, es decir, es posible recuperar un conjunto de variables de estado H y modificar parámetros durante la simulación, a través del conjunto de las acciones de control U, como se muestra en la Figura 3.
Es importante notar que para el diseño de CTR, una estrategia de control puede ser implementada y probada para uno de los lenguajes de programación base de MatSMWM bajo el supuesto de ejecución instantánea, debido a que solo hasta que el ciclo de simulación se detiene la configuración de los actuadores se cambia. Esto no es lo que sucede en la realidad, sin embargo, debido a la flexibilidad del esquema de codificación, si una estructura hidráulica requiere una gran cantidad de tiempo (i.e., más grande que el tiempo de muestreo) para pasar de un estado a otro, el retardo puede ser modelado aprovechando la resolución de tiempo de la simulación, ya que el cambio de configuración de las compuertas y válvulas en SDU tiende a ocurrir en minutos.
Figura 4. Desempeño de la funcionalidad mejorada propuesta con MatSWMM. Se calcula la duración de varias simulaciones con un número de iteraciones fijo. En cada iteración se extrae información de 𝑘 variables del modelo SWMM, y se controlan 𝑚 particiones del sistema.
Otra cuestión relevante es la complejidad temporal del algoritmo de MatSWMM, y su carga computacional cuando se requiere modelar sistemas de gran escala. Este problema está directamente relacionado con la complejidad temporal de la rutina de funcionalidad mejorada o algoritmo mejorado que se proponga implementar con el toolbox (e.g., para el diseño de CTR), en el ciclo principal de forma iterativa. En el caso del controlador basado en dinámicas poblacionales incluido en MatSWMM (discutido en la sección de CTR), el problema se puede resolver en tiempo lineal, es decir, si se usa la notación O mayúscula para describir la complejidad temporal del algoritmo [33], ésta es 𝑂(𝑚) donde 𝑚 es el número de particiones [22] con actuadores en una sección divergente o convergente del SDU (las topologías de SDU se explican en detalle en secciones posteriores). Además, si se solicita información del modelo en cada paso de tiempo, la carga computacional de la simulación va a aumentar proporcionalmente con el número de variables 𝑘 que se soliciten en cada iteración.
De este modo, la complejidad temporal para el bloque de funcionalidad mejorada va a ser 𝑂(𝑛𝑚 + 𝑛𝑘), donde 𝑛 es el número de pasos de tiempo requeridos para la simulación. Con esto en mente, la eficiencia de una simulación con MatSWMM va a estar dominada en su mayoría por el tiempo de simulación (es decir, la ventana de tiempo para el escenario de lluvia y el modelado de la escorrentía), y el tamaño del paso de tiempo. Esto se puede probar con un test de desempeño. Para esta prueba, varias simulaciones de escenarios de lluvia de dos horas se ejecutan dejando el valor de 𝑛 fijo, y se modifican los valores de 𝑚 y 𝑘. La prueba de rendimiento se desarrolla utilizando un equipo con un procesador Intel ® Core i3 x64 2.53GHz y cuatro gigabytes de memoria RAM.
En la Figura 4 se muestra que tanto el algoritmo de control basado en dinámicas poblacionales, y el uso de getters en cada iteración, se pueden resolver en un tiempo lineal de manera independiente, ya que se forma una superficie plana. Además, las simulaciones con la funcionalidad mejorada tardan entre tres y cincuenta segundos, dependiendo de las magnitudes de 𝑚 y 𝑘.
Sin embargo, si la cardinalidad de H o el número de actuadores llega a ser más grande que el número de pasos de simulación, la eficiencia del tiempo va a estar dominada por la naturaleza de gran escala de la red de drenaje.
Con el fin de mejorar la eficiencia del algoritmo de cosimulación, el uso de getters en el ciclo principal debe limitarse a propósitos de CTR (véase la sección a continuación). Si se requiere información para el análisis de datos, se recomienda el uso de funciones especiales después de la simulación. Estas funciones son eficientes, ya que extraen información del archivo de salida sin necesidad de utilizar recursos de memoria importantes, y tienen la capacidad para guardar los valores de las principales variables de todos los objetos del sistema (es decir, nodos, enlaces, y cuencas) en archivos CSV.
5
FUNCIONES DE MATSWMM
En esta sección, se da una explicación detallada de las funciones de MatSWMM. Se hace énfasis en las funciones básicas, la mayoría de ellas heredadas de SWMM, y también en la edición sistemática del sistema, la gestión de datos y el modelado de sistemas.
Tabla 1. Funciones básicas de MatSWMM.
Función Descripción
initialize Abre los archivos requeridos para correr una simulación
de SWMM, y la inicializa.
run_step Avanza la simulación una iteración
is_over Permite determinar si la simulación ha terminado o no
finish Guarda todos los resultados de la simulación y cierra el
programa para correr una nueva.
5.1 Funciones básicas
Las funciones predeterminadas de MatSWMM están relacionados con el módulo de cálculo de SWMM, el cual está a cargo de la ejecución del modelo de flujo usando las ESV. Las funciones básicas también están relacionadas con la capacidad de editar de forma sistemática un SDU de MatSWMM. Las funciones heredadas de SWMM son: inicializar SWMM, la ejecución de una iteración, finalizar subprocesos, calcular el error de balance de masas, escribir un archivo de informe, y cerrar la aplicación. Sin embargo, como se muestra en la Figura 1, estas funciones se pueden agrupar en tres procesos principales que se pueden ejecutar a través de las funciones que se presentan en la Tabla 1. El uso de estas funciones el algoritmo SWMM puede ser replicado con la ventaja de tener un mayor control de todo el proceso.
Con esto en mente, funciones get y set se han desarrollado para tomar ventaja de la partición del algoritmo de SWMM (ver Tabla 2). Por un lado, las funciones get se ejecutan en cada iteración para obtener propiedades del modelo como si éstas estuvieran midiéndose mediante un dispositivo sensor, como por ejemplo, el flujo, la velocidad, el volumen, las inundaciones, el número de Froude, etc. Por otra parte, las funciones set se utilizan para modificar las propiedades del modelo, ya sea en cada iteración o en cada escenario de simulación. Una de las funciones set que puede ser útil para el diseño de CTR es la que permite modificar la configuración de actuadores, tales como válvulas, compuertas y orificios. Se puede hacer uso de la función modify_settings para esto. Además, antes de inicializar la simulación, propiedades del modelo se pueden modificar mediante la función
modify_input.
Tabla 2. Funciones get y set de MatSWMM.
Función Descripción
step_get Extrae los valores de una propiedad específica de
múltiples objetos durante la simulación.
get_from_input Retorna el valor de cierto atributo en el archivo “.inp”.
get_all
Retorna todos los identificadores (ID) de cierto tipo de objeto (e.g., nodos, conductos, subcuencas, tanques, desagües, uniones) y el valor de una de sus
propiedades.
modify_input Modifica un atributo específico del archivo “.inp”.
modify_settings Modifica el porcentaje de apertura de varios orificios,
válvulas, o compuertas durante la simulación.
5.2 Funciones para análisis de datos
Puede darse el caso de que el modelo de estudio sea de gran escala, es decir, el número de nodos y tuberías es tal que no es posible recuperar variables de estado o modificar la configuración de los actuadores fácilmente. Por lo tanto, las funciones get y set se vuelven ineficaces para gestionar los datos, ya que sólo pueden ejecutarse durante el ciclo principal.
Debido a esto, hay métodos especiales para manejar grandes cantidades de datos y grandes grupos de objetos (ver Tabla 3).
Por ejemplo, si se requiere extraer todos los resultados de la simulación, éstos se pueden guardar en un archivo “.csv”, que es fácil de leer utilizando cualquiera de los lenguajes de programación de base. Además, se han adaptado estructuras de datos especiales al modelo SWMM para caracterizar cualquier red con canales, tanques, y actuadores. Debido a la estructura de SWMM, se utilizan grafos (modelados por la clase SWMMGraph) representar el modelo correctamente. Además, cuando las topologías de convergencia prevalecen, la estructura se puede simplificar como un árbol (modelada por la clase SWMMTree). La funcionalidad mejorada relacionada con estas estructuras de datos está orientada a dividir el modelo en piezas manejables. Por lo tanto, el proceso de extracción de información y modificación de los parámetros se puede realizar de manera eficiente, a través del uso de algoritmos de búsqueda para grafos como breadth-first y depth-first search [33] (también incluido en MatSWMM para Python). Esto puede ser útil en la aplicación de control descentralizado, o al momento de poner a prueba una estrategia de detección de fallos [34], o simplificar la topología de la red, utilizando una equivalente, como se hace en [15] y [35].
Tabla 3. Funciones de MatSWMM para gestión de datos.
Función Descripción
get_incidence_matrix Retorna la representación de la red en forma de
grafo (matricial).
save_results
Guarda todos los resultados de la simulación en archivos “.csv”, organizados en cuatro carpetas en el espacio de trabajo (ver Figura 2).
create_graph
Crea una estructura de datos de un grafo en Python, que representa la red como una conexión de nodos (pozos de inspección) y conductos (canales y tuberías).
5.3 Funciones para el modelamiento del sistema
MatSWMM es útil para caracterizar cualquier SDU a través de modelos simplificados orientado a control (MOC) [7]. Actualmente, dos MOC comúnmente usados se han incluido en MatSWMM, estos son, el modelo de embalses lineales [28], del cual surge el modelo de tanques virtuales (VT) que se utiliza en [15], y el modelo de Muskingum expuesto en detalle en [28] y estudiado para el uso de CTR en [36]. Con el fin de obtener un MOC con MatSWMM, es necesario contar con los datos reales de los flujos de entrada y salida de la estructura que va a ser caracterizada (por ejemplo, canales o tubos). Es posible utilizar el modelo SWMM incluido en MatSWMM para obtener datos precisos que representen el comportamiento del sistema, ya que emula una realidad virtual (es decir, el comportamiento físico del sistema).
Por otra parte, una simulación se puede ejecutar y los datos del modelo se pueden extraer fácilmente con MatSWMM. Estos conjuntos de datos se pueden utilizar para calibrar un MOC y también, para el diseño de controladores basados en modelos nuevos.
6
CONTROL BASADO EN DINÁMICAS POBLACIONALES
Una breve descripción de los controladores descentralizados basados en dinámicas poblacionales para MatSWMM se presenta en esta sección. Con el fin de introducir este concepto, se toman los aspectos más relevantes presentados en [22], y se hace especial énfasis en las replicator dynamics distribuidas, también, se muestran las ecuaciones de las dinámicas de Smith, y la projection. Además, se proponen casos de estudio para probar la funcionalidad del controlador.
Figura 5. Topología de divergencia. Figura 6. Topología de convergencia.
Tabla 4. Analogía entre SDU, RDAP y dinámicas poblacionales.
Dinámicas
Poblacionales SDU RDAP
Población Sistema Sistema
Estrategia Estructuras fuente Estructuras receptoras Masa de
agentes
Flujo total que se envía a la estructura receptora
Flujo total que se evacua de la estructura fuente Agente Unidad de flujo Unidad de flujo Proporción de
agentes
Proporción de flujo Proporción de flujo
Distribución estratégica
Distribución de flujo en estructura fuente
Distribución de flujo en estructuras receptoras Función fitness
de estrategias
Volumen almacenado en estructuras fuente
Capacidad volumétrica disponible en
estructuras receptoras
6.1 Analogía con dinámicas poblacionales
El enfoque de las dinámicas poblacionales se presenta en detalle en [22], en dicho trabajo se hace una analogía, entre un SDU, o una red de distribución de agua potable (RDAP), con las dinámicas poblacionales. Con el fin de hacer la analogía, también se tiene en cuenta que los SDU pluviales se asocian principalmente a la topología de convergencia que se muestra en
la Figura 6, mientras que la RDAP se asocia principalmente a la topología de divergencia que se muestra en la Figura 5. En primer lugar, la analogía con los elementos del enfoque de dinámicas poblacionales, para un SDU y para una RDAP se presenta en la Tabla 4.
Para la topología de convergencia, cada unidad de flujo es asignada a cada depósito 𝑖, perteneciente al conjunto de estrategias 𝑆, en función del volumen almacenado 𝑽(𝑡) en cada una de las estructuras fuente 𝑖 ∈ 𝑆, que se describe por una función denotada por
𝐹𝑖(𝒑(𝑡)) = 𝑽(𝑡), donde 𝒑 es un vector de proporciones con dimensión 𝑛, para una partición con 𝑛 estructuras fuente. Entonces, más flujo de salida se asigna a los embalses que están por llenarse y así se minimiza la probabilidad de que ocurran desbordamientos en ellos. En contraste, para la topología de divergencia, cada unidad de flujo es asignada a cada depósito
𝑖 ∈ 𝑆 dependiendo de la capacidad utilizada en cada uno de los embalses o estructuras receptoras, que se describe por una función 𝐹𝑖(𝒑(𝑡)) = 𝑽𝒏𝒐𝒓𝒎(𝑡), donde 𝑽𝒏𝒐𝒓𝒎(𝒕) es un vector de dimensión 𝑛, con los valores de volumen normalizado, o capacidad utilizada en los tanques, i.e., 𝑉𝑛𝑜𝑟𝑚𝑖 (𝑡) = 𝑉𝑖(𝑡)/𝑉𝑚𝑎𝑥𝑖 . Por lo tanto, menos flujo de entrada se asigna a los embalses que están por llenarse.
El diseño de los controladores basados en dinámicas poblacionales viene dado por la selección adecuada de las funciones de fitness que definen los incentivos para que la proporción de agentes de elegir una estrategia particular. La selección adecuada de éstas funciones, según [22], depende del tipo de topología, es decir, una selección apropiada de la función de fitness depende de si el sistema tiene una topología de convergencia o divergencia. Además, es necesario que las funciones de fitness satisfagan las condiciones para obtener una clase de juego de población conocido como juego estable [37].
6.2 Dinámicas poblaciones distribuidas
La dinámica replicator, la dinámica de Smith, y la dinámica projection hacen parte de las seis dinámicas poblacionales fundamentales [38], que requieren información completa (i.e., todas las estrategias asociadas a los embalses necesitan información sobre todos los demás estados de otros embalses o estructuras con el fin de evolucionar). Sin embargo, las dinámicas poblaciones distribuidas se deducen en [39] de un protocolo de revisión local que sólo tiene información de estados de una misma partición. Debido al hecho de que sólo se necesita información local, no es necesario formar un grafo completamente conexo describiendo las posibles interacciones entre estrategias denotado por 𝐺 = (𝑉, 𝐸), donde 𝑉 es el conjunto de embalses, y 𝐸 ⊂ {(𝑖, 𝑗) ∶ 𝑖, 𝑗 ∈ 𝑉} es el conjunto de los vínculos que representan el intercambio de información dentro del sistema de información. Por otra parte, el conjunto de vecinos del embalse 𝑖 ∈ 𝑉 está dado por 𝑁𝑖 = {𝑗 ∶ (𝑖, 𝑗) ∈ 𝐸}. Note que 𝑖 ∉ 𝑁𝑖, y que 𝑁𝑖 ≠
∅, para todo 𝑖 ∈ 𝑉 debido a que 𝐺 es conexo [35].
La dinámicas replicator distribuidas están dadas por
𝑑𝑝𝑖(𝑡)
𝑑𝑡 = 𝑝𝑖(𝑡)(𝐹𝑖(𝒑(𝑡)) ∑ 𝑝𝑗(𝑡)
𝑗∈𝑁𝑖
− ∑ 𝑝𝑗(𝑡)𝐹𝑗(𝒑(𝑡)) 𝑗∈𝑁𝑖
, 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑖 ∈ 𝑆,
Las dinámicas Smith distribuidas están dadas por la siguiente expresión, teniendo en cuenta que [∙]+ = max(0, ∙).
𝑑𝑝𝑖(𝑡)
𝑑𝑡 = ∑ 𝑝𝑗(𝑡)[𝐹𝑖 (𝒑(𝑡)) − 𝐹𝑗(𝒑(𝑡))]+ 𝑗∈ 𝑁𝑖
− 𝑝𝑖(𝑡) ∑ [𝐹𝑗(𝒑(𝑡)) − 𝐹𝑖(𝒑(𝑡))]+ 𝑗∈𝑁𝑖
,
para todo 𝑖 ∈ 𝑆.
Y, por último, la dinámicas projection distribuidas están dadas por
𝑑𝑝𝑖(𝑡)
𝑑𝑡 = |𝑁𝑖| 𝐹𝑖(𝒑(𝑡)) − ∑ 𝐹𝑗(𝒑(𝑡))
𝑗∈𝑁𝑖
𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑖 ∈ 𝑆, 𝑦 |𝑁𝑖| ℎ𝑎𝑐𝑒 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎 𝑎 𝑙𝑎 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑙𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜
MatSWMM incluye una función que puede ser usado para implementar un controlador basado en la población-dinámica-para SDU con divergencia y convergencia topologías, i.e., la unción pdyncontrol. Incluye las dinámicas Smith, projection y replicator.
7
Modelos de SDU
Es posible caracterizar cualquier SDU como una composición de dos topologías, que son: la de convergencia y la de divergencia. Como se muestra en la Figura 6, la topología de convergencia está relacionada con el caso en el que se fusiona el flujo de varias unidades de almacenamiento o tuberías en una estructura receptora única. Además, la topología de la divergencia, que se muestra en la Figura 5, se forma cuando el flujo de una sola estructura se distribuye a lo largo de más de un receptor. La primera, prevalece en SDU que llevan consigo aguas pluviales mientras que la última esta comúnmente relacionada con las redes de agua potable (RDAP). Sin embargo, ambas topologías se utilizan para construir redes de alcantarillado combinado, donde se transporta no sólo agua pluvial sino también flujos sanitarios y de aguas residuales.
MatSWMM ha sido diseñado para caracterizar las dos topologías fácilmente, garantizando un modelado adecuado del fenómeno de escorrentía a lo largo de redes grandes y permite al usuario manejar el problema de la asignación de flujo con un controlador basado en la optimización para cada caso, como el descrito en [22].
7.1 Modelos orientados a control
Las ESV utilizadas por SWMM para simular el flujo a lo largo de la red describen con un nivel de detalle bastante alto el comportamiento del sistema. Por lo general, este nivel de detalle no se requiere en aplicaciones CTR y los MOC se utilizan en su lugar. Como se dijo antes, MatSWMM incorpora el modelo de embalses lineales, que es un MOC ampliamente utilizado para el modelado SDU, y el modelo de Muskingum, también utilizado para el control predictivo [40] [41].
Tanques virtuales – embalses lineales
En el enfoque de depósito virtual, el SDU se divide en un conjunto de estructuras de reserva interconectadas entre sí. De acuerdo con [15], un tanque virtual es un elemento de almacenamiento que representa el volumen total de las aguas residuales dentro de la red de alcantarillado asociado con una porción determinada de una red dada. El volumen se calcula a través del balance de masa del volumen almacenado, los flujos de entrada (de ambos tipos de flujo i.e., alcantarillado y aguas pluviales), y las salidas (tanto a la red de alcantarillado y de la calle) del depósito. Para el modelo desarrollado en MatSWMM, la salida de un tanque determinado (virtual o real) se supone que es proporcional al volumen del tanque, i.e., la relación entre volumen y caudal de salida es lineal, por eso el nombre de embalse lineal.
Por lo tanto, el modelo de un tanque está dada por la expresión
𝑑𝑉𝑖(𝑡)
𝑑𝑡 = 𝑞𝑖𝑖𝑛(𝑡) − 𝐾𝑖 𝑣𝑖(𝑡),
donde 𝑣𝑖 es el volumen almacenado en el tanque i-ésimo, 𝑞𝑖𝑖𝑛 es el caudal de entrada total al tanque i-ésimo y 𝐾𝑖 es el coeficiente de conversión de volumen a flujo (CVF). Como SWMM proporciona medidas para ambos, el volumen y el flujo de salida de los embalses, el coeficiente de CVF para cada embalse se pueden calcular a través de un algoritmo de mínimos cuadrados determinado por la expresión
𝐾𝑖 = argmin𝐾
𝑖 ∫ (𝑞𝑖
𝑜𝑢𝑡(𝑡) − 𝐾
𝑖 𝑉𝑖(𝑡)) 2 𝑡𝑓
0
𝑑𝑡,
donde 𝑡𝑓 es el tiempo de simulación total y 𝑞𝑖𝑜𝑢𝑡 es el flujo total de salida del i-ésimo embalse. Por último, el volumen máximo o capacidad de los embalses i-ésimos se denota como 𝑉𝑖𝑚𝑎𝑥.
Modelo Muskingum
El modelo de Muskingum describe el flujo de agua a través de SDU basándose en el principio de conservación de masa. El balance de masa para el i-ésimo embalse en la red de drenaje está dada por
𝑑𝑉𝑖(𝑡)
𝑑𝑡 = 𝑞𝑖𝑖𝑛(𝑡) − 𝑞𝑖𝑜𝑢𝑡(𝑡),
y la relación entre sus flujos de entrada y de salida está descrita por la expresión
𝑉𝑖(𝑡) = 𝐴𝑞𝑖𝑖𝑛(𝑡) + 𝐵𝑞 𝑖𝑜𝑢𝑡(𝑡)
donde 𝐴 y 𝐵 son parámetros para la calibración del modelo. Estos se pueden encontrar con un método de mínimos cuadrados, similar al expuesto anteriormente. Luego, mediante la expresión de los flujos de salida como función de 𝑉𝑖(𝑡),𝑞𝑖𝑖𝑛 (𝑡), 𝐴 y 𝐵, se obtiene que
𝑖(𝑡)
𝑑𝑡 = 𝑞𝑖𝑖𝑛(1 +𝐵) −
𝑖(𝑡)
𝐵
𝑑𝑉𝑖(𝑡)
𝑑𝑡 = 𝛾𝑞𝑖𝑖𝑛− 𝐾𝑖𝑉𝑖,
donde 𝛾 = (1 + 𝐴/𝐵) y 𝐾𝑖 = 1/𝐵. Además, cuando 𝐾𝑖 > 0, esta expresión escala el flujo de salida, y puede pensarse como el coeficiente de descarga del depósito. Sin embargo, para algunos casos particulares 𝐾𝑖 < 0, y la salida del sistema considerado puede mostrar un comportamiento de fase no mínima [36].
7.2 Modelos orientados a simulación
MatSWMM incluye el modelo SWMM como su modelo orientado a simulación [7]. SWMM se conoce como un modelo físicamente basado y preciso que describe la propagación de una onda en un canal abierto a través de las ESV. Se basa en la conservación de los principios de masa y momentum [28]. Una de las mejores características de SWMM consiste en la representación del SDU como una composición de nodos y enlaces, lo que facilita el modelado en tiempo discreto del prototipo físico y la solución matemática de las ESV que describen el flujo no uniforme.
La variable principal de los enlaces es el caudal, y la solución al problema de tránsito de crecientes es para el flujo medio en cada conducto, el cual se supone que es constante durante un paso de tiempo. Para cada paso de la simulación, se calcula la velocidad del flujo, y la profundidad de cada nodo o unión. En el caso de los nodos, la variable principal es la altura piezométrica, que se supone cambia en el tiempo pero se mantiene constante durante un intervalo de tiempo [42].
Las ESV de continuidad y de momentum se reportan en [28]. La integración numérica de las dos ESV se lleva a cabo con un algoritmo de RK [32]. Se ha demostrado en [42] y [27] que el modelo SWMM y su algoritmo es estable y preciso a través del cálculo de tres tipos de errores del balance de masa, que son, error por la escorrentía, error por enrutamiento de flujo, y error por la calidad del agua. Este hecho garantiza que el modelo SWMM es apropiado para modelar SDU con un alto nivel de precisión, es decir, mejor precisión que la obtenida con los MOC.
8
APLICACIONES DE MATSWMM
Esta sección ilustra algunas de las características de MatSWMM cuando se utiliza para CTR por medio de dos casos de estudio, en los cuales una de las dos topologías típicas prevalece en cada caso, i.e., la de convergencia y la de divergencia.
8.1
Caso de estudio de divergenciaPara el primer caso de estudio, con una topología de divergencia, se plantea un sistema que está compuesto por cuatro subcuencas que se ven afectadas por un evento de precipitación, la precipitación se convierte en escorrentía y, a continuación, se transporta a través de un sistema de tuberías que está dividido en tres ramas. Después de la bifurcación, unidades
típicas de almacenamiento en línea, como las que se describen en [43], se usan para manejar y retener el flujo de exceso. Las unidades de almacenamiento tienen diferentes dimensiones y están situadas a diferentes alturas. Estas diferencias son comunes en los SDU, debido a la falta de disponibilidad de tierra para la infraestructura [43]. Por último, como se muestra en la Figura 7, la primera división lleva el agua a un tanque con tres cuerpos diferentes, la segunda división se encuentra con un receptor y la tercera división está dividido en dos ramas, que simulan el transporte de agua a una PTAR con dos unidades de almacenamiento.
Figura 7. Caso de estudio con topología de divergencia, a) esquema conceptual e hidrograma de escorrentía directa; b) implementación del sistema en SWMM.
El objetivo de control en este modelo es distribuir de manera eficiente fluye en cada bifurcación, el manejo de las diferencias entre los depósitos, es decir, las diferencias entre su ubicación, la elevación y dimensiones. Con este fin, una partición del sistema se lleva a cabo como se propone en \ cite {barreirogomez2015} y el control descentralizado basado en la dinámica de poblaciones incluidas en se utiliza MatSWMM.
Debido a la naturaleza del sistema, la función de aptitud que será utilizado por el controlador para resolver el problema de asignación óptima está relacionada con la tasa de ocupación o la capacidad de cada tanque, que es equivalente al volumen normalizado, tal como se presenta en la Tabla 4.
Un ejemplo de un código que se puede utilizar en Matlab con MatSWMM para implementar la estrategia de control en la primera zona de divergencia se describe a continuación:
>> SWMM.initialize(inp); % MatSWMM initialization
>> while (~SWMM.is_over) % MatSWMM main loop
SWMM.run_step;
normalized_volumes = SWMM.step_get(tanks, SWMM.VOLUME, SWMM.SI) ...
./ max_depths;
settings = SWMM.pdyncontrol('smith', 'divergence', ...
normalized_volumes, 0.02);
SWMM.modify_settings(gates, settings/max(settings)); end
>> [errors, duration] = SWMM.finish; % MatSWMM closing
>> [time, volumes] = SWMM.read_results(tanks, SWMM.NODE, SWMM.VOLUME);
En primer lugar, algunas variables se declaran, como la ruta del archivo de entrada de SWMM, las condiciones iniciales para la configuración de las compuertas, y los ID de los tanques y las compuertas. A continuación, se invocan las tres partes del algoritmo MatSWMM, es decir, la inicialización, el ciclo principal, y el cierre del programa. Dentro del ciclo principal se usa el controlador basado en dinámicas poblacionales para gestionar los flujos de una de las particiones del sistema, que se compone de tres embalses en línea, es decir, 𝑇1, 𝑇2, y 𝑇3. Finalmente, la información de los volúmenes en cada depósito se extrae para el análisis de datos.
Figura 8. Porcentaje de ocupación o capacidad de almacenamiento utilizada de los tanques cuando no se aplica una estrategia de control. a) Capacidad de los embalses T1, T2, y T3; b) capacidad de los embalses T3, T4, y T5; c) capacidad de los embalses T7, y T8.
El mismo procedimiento es aplicable para aplicar CTR en el resto de áreas. Sin embargo, el controlador debe ser sintonizado dependiendo de la velocidad de la dinámica, y el tipo de la dinámica (es decir, Smith, projection, o replicator). Los resultados de un escenario en el que no se implementa la estrategia de control se muestran en la Figura 8.
La distribución de los volúmenes de agua no es eficiente, ya que los embalses 𝑇2, 𝑇3, y
𝑇4 son usados en exceso, es decir, que están operando a su máxima capacidad, mientras que los otros están subutilizados, es decir, su capacidad utilizada es menor a 100 %. Además,
6.99 × 103m3 de inundaciones se producen, debido al exceso de agua que fluye fuera de los tanques usados en exceso. Este problema puede producirse en el diseño de la infraestructura
hidráulica basada en una tormenta de diseño estático, es decir, no se consideraron las variaciones del clima debido al efecto de isla de calor [44].
Cuando el controlador basado en dinámicas poblacionales descentralizadas se implementa en cada uno de los nodos en los que diverge el flujo, que es el lugar en el cual se hace una partición del sistema, se evitan inundaciones y el agua se distribuye mejor. Los resultados con CTR se obtienen para las dinámicas projection, replicator y Smith (ver Figura 9).
Figura 9 Evolución del porcentaje de ocupación o volumen normalizado de cada una de las estructuras de retención discriminadas por partición (horizontal), y por estrategia de control según dinámicas poblacionales (vertical).
8.2 Caso de estudio de convergencia
Se aplica la estrategia de control basado en dinámicas poblacionales para un caso de estudio con el fin de ilustrar la utilidad de las dinámicas replicator descentralizadas libres de modelos. El caso de estudio propuesto se toma de [22]. Éste consiste en una parte del SDU
pluvial de Bogotá. Colombia que se muestra en la Figura 10. En concreto, el estudio de caso es una rama tomada de la red del barrio Chicó, que se encuentra en el norte de la ciudad. El SDU se compone de 16 subcuencas que drenan a 16 cámaras de colección. Las particiones del sistema se hacen por cuencas y se aproximan a depósitos virtuales como en [15], y las dinámicas del sistema se modelan con el modelo de Muskingum presentado anteriormente. Cada depósito equivalente representa un depósito o emisor/receptor de una partición del sistema. Se utilizan los mismos coeficientes de cada uno de los embalses de la partición del SDU que usan en [22], donde cada partición corresponde a una topología de convergencia.
Figura 10. Esquema del SDU de Bogotá utilizado como caso de estudio de convergencia [22].
Figura 11. Evolución del porcentaje de ocupación o volumen normalizado de cada una de las estructuras de retención discriminadas por partición, tomado de [22].
8.3 Control PID vs control basado en dinámicas poblacionales
En esta sección se compara el desempeño de controladores locales PID, que operan sobre un sistema SISO (single input, single output), con el de un controlador MIMO (multiple input, multiple output) distribuido basado en las dinámicas projection. El caso de estudio propuesto (ver Figura 12) para ello consta de 3 tanques de tormenta que alivian flujos a la salida de un SDU. Debido a la distribución espacial y a las diferencias en el clima en las zonas urbanas del modelo, i.e., se tiene una lluvia distinta a la de las cuencas al oriente en las cuencas al occidente (ver Figura 13), se produce una repartición de flujos ineficiente. Para solucionar el problema, se diseña un controlador local PID, para mantener el volumen almacenado en los tanques por debajo del volumen máximo. También se diseña un controlador basado en dinámicas poblacionales, siguiendo la misma metodología que en los dos casos de estudio presentados anteriormente.
Figura 12. Caso de estudio para evaluar desempeño de controlador local basado en modelo, vs controlador distribuido libre de modelo.
Figura 14. Resultados de cosimulación. a) Sin controlador, b) Control PID y c) Control con dinámicas poblacionales.
El diseño de este controlador PID se realiza con base el modelo de embalses lineales, cuya función de transferencia se obtiene con Matlab. Se utiliza el método de localización de raíces [45] para determinar las constantes de controlador; se asume que el proceso tiene una función de transferencia de la forma,
𝐺𝑝(𝑠) =
𝑏1𝑠 + 𝑏2
𝑠2+ 𝑎
1𝑠 + 𝑎2
y que el PID se modela con función de transferencia,
𝐺𝑐(𝑠) = 𝑘 + 𝑘𝑖(𝑠) + 𝑘𝑑𝑠
Adicionalmente, se establecen como criterios de diseño un máximo pico porcentual de 1%, lo que equivale a un factor de amortiguamiento 𝜁 igual a 0.826, por lo cual el sistema será subamortiguado. Adicionalmente, la línea que forma 𝜁 en el plano-s está dada por el ángulo
𝛽 = − acos(𝜁) + 180° = 145.699° y se establece el criterio del 2% para el tiempo de establecimiento. Con base en los criterios definidos para la respuesta del sistema se siguen los pasos en [46] para calcular 𝑘, 𝑘𝑖 y 𝑘𝑑 para cada uno de los subsistemas:
Evaluar el desempeño del sistema descompensado y determinar qué tanto debe mejorar la respuesta transitoria. Se calculan los polos complejos dominantes.
Diseñar un controlador proporcional y derivativo PD que reduzca el tiempo al pico y que satisfaga las condiciones requeridas de estado estacionario.
Diseñar un controlador proporcional e integral PI, que satisfaga el criterio de error en estado estacionario.
Se calcula la ganancia 𝐾 a partir de los polos complejos compensados.
Se calcula la función de transferencia del controlador como 𝐺𝑃𝐼𝐷 = 𝐾𝐺{𝑃𝐷}𝐺{𝑃𝐼}.
De la función de transferencia calculada para el PID se extraen las constantes proporcional, integral y derivativa.
Se utiliza el algoritmo root locus para diseñar el PID ya que es un método que permite compensar el error en estado estacionario, el tiempo de establecimiento y el pico porcentual a un valor óptimo, a diferencia de métodos empíricos y/o de curva de reacción. Los resultados en la Figura 14. Vale la pena resaltar que para el caso sin control se produce una inundación de 6287.6 m3 mientras que en los casos con control no se produce.
Los resultados confirman que el control MIMO es más eficiente que el control SISO. A pesar de que no hubo desbordamiento del nivel de agua en los tanques con los dos tipos de controlador, el control con dinámicas poblacionales opera en un tiempo menor que el PID; la creciente para el primer caso se regula en 10 horas mientras que para el segundo caso (i.e., con el PID) los niveles en los tanques vuelven a un estado estable después de 16 horas. Adicionalmente, para el caso de control con PID la regulación de los tanques no es máxima, mientras que el control basado en dinámicas poblacionales permitió maximizar la regulación en cada tanque.
Una ventaja del controlador de dinámicas projection es que no requieren caracterización del modelo y eso hace que su implementación en la práctica sea más sencilla. Asimismo, la respuesta de este controlador es eficiente a pesar de la no linealidad del modelo; no se observan cambios bruscos en la respuesta o eventos transitorios, como sucedió con el caso del controlador PID.
Por otro lado, gracias a versatilidad de la herramienta de cosimulación desarrollada fue posible determinar la influencia del control en tiempo real en un sistema de drenaje bajo condiciones críticas. Asimismo, los resultados evidencian que un sistema de control en tiempo real puede llegar a ser una mejor solución que la ampliación de una estructura hidráulica, ya que de contar con elementos actuadores en el sistema, la implementación puede ser más sencilla y con una relación costo-beneficio mayor
9
DISCUSIÓN
Después de presentar los casos de estudio se puede concluir que la simulación con MatSWMM permite identificar la principal ventaja de la aplicación de CTR, que consiste en distribuir los flujos de manera eficiente en las secciones divergentes y convergentes del SDU minimizando así la inundación total en la red. Con este enfoque, es posible controlar escenarios dinámicos de lluvia, diferentes a los estáticos usados para el diseño, con la infraestructura ya construida.
Además, la sintonización de los parámetros del controlador se puede hacer fácilmente para una implementación física (incluso empíricamente), debido a la ventaja de la programación del modelo SWMM, que es precisa [42], a través de MatSWMM, con el fin de obtener los resultados de varias simulaciones sistemáticamente.
Debido a la capacidad que MatSWMM trae a sus usuarios para la edición sistemática cualquier SDU implementadas con el marco SWMM, es posible extender el alcance de MatSWMM al diseño óptimo de SDU, ya que la mayoría de los problemas de optimización propuestos para SDU se pueden resolver con heurísticas, pero requieren valores de las variables de un modelo eficiente de simulación orientadas (por ejemplo, inundación total, volúmenes, etc.) [45] [46] [47] [48].
Figura 15. Interfaz de LabVIEW basada en MatSWMM.
Además, las interfaces, como la presentada en la Figura 15, se pueden implementar fácilmente con las funcionalidades básicas de MatSWMM para LabVIEW, para caracterizar un SDU, como se haría desde una estación de monitoreo o SCADA. Además, la biblioteca ArcPy para Python se puede utilizar en paralelo con la biblioteca MatSWMM con el fin de extraer los datos SIG y resolver el problema de posicionamiento óptimo de estructuras para SDU, específicamente, tanques de tormenta en línea y fuera de línea [43].
Con esto en mente, las capacidades de MatSWMM pueden ser útiles para el diseño óptimo de la infraestructura, teniendo en cuenta no sólo escenarios de lluvia típicos y una condición de operación de servicio crítico, sino también teniendo en cuenta la posibilidad de incluir sensores y actuadores antes de la puesta en marcha del sistema, y analizar cómo estos elementos pueden resultar adecuados para mejorar significativamente el rendimiento del SDU.
10
CONCLUSIONES
Este documento ha presentado un nuevo toolbox de código abierto para el diseño de CTR en SDU, i.e., MatSWMM, que se ejecuta en Matlab, LabVIEW, y Python. MatSWMM incluye una variedad de funcionalidades para editar sistemáticamente cualquier SDU implementado en el marco de SWMM, durante y después de una simulación de lluvia. Estas características hacen a MatSWMM adecuado tanto para fines educativos y de investigación, especialmente para el diseño de CTR cuando se aplica a SDU. Además, es posible probar con ésta herramienta algoritmos heurísticos para el diseño y posicionamiento de estructuras de retención en SDU óptima, ya que los únicos requisitos para estas pruebas son los resultados de la simulación, y una función para editar las propiedades de los elementos del sistema. Como dato interesante, MatSWMM es utilizado actualmente por varios estudiantes de posgrado, y tiene un repositorio activo en Github3. Con este trabajo queda abierta la posibilidad de desarrollar proyectos futuros, como incluir más estrategias de control para el
toolbox, tales como controladores basados en optimización (e.g., controladores MPC, LQR,
y controladores basados estrategias evolutivas) y algoritmos heurísticos (e.g., basado en reglas, y/o control difuso). Finalmente, puede decirse que el toolbox puede ser mejorado para aplicaciones realizables como el posicionamiento óptimo de los elementos de SDU (e.g., sensores, actuadores, estructuras de retención), con base en la información geográfica proporcionada por funcionalidades de sistemas de información geográfica provistas por librerías como ArcPy.
11
AGRADECIMIENTOS
Agradezco a Julián Barreiro Gómez por su colaboración para el desarrollo de las funciones de control basado en dinámicas poblacionales y para obtener resultados para los casos de estudio; a Andrés Ramírez Jaime por su colaboración para el desarrollo de modelos orientados a control. Asimismo, a los profesores Nicanor Quijano de la Universidad de los Andes, y Carlos Ocampo Martínez de la Universidad Politécnica de Cataluña por su excelente asesoría.
12
REFERENCIAS
[1] P. Willems, K. Arnbjerg-Nielsen, J. Olsson y V. T. Nguyen, «Climate change impact assessment on urban rainfall extremes and urban drainage: Methods and
shortcomings,» Atmospheric research, vol. 103, pp. 106-118, 2012. [2] K. Berggren, M. Olofsson, M. Viklander, G. Svensson y A. M. Gustafsson,
«Hydraulic impacts on urban drainage systems due to changes in rainfall caused by climatic change,» Journal of Hydrologic Engineering, vol. 17, nº 1, pp. 92-98, 2011. [3] L. Nie, O. Lindholm, G. Lindholm y E. Syversen, «Impacts of climate change on
urban drainage systems--a case study in Fredrikstad, Norway,» Urban Water Journal,
vol. 6, nº 4, pp. 323-332, 2009.
[4] R. Ashley, D. Balmforth, A. Saul y J. Blanskby, «Flooding in the future predicting climate change, risks and responses in urban areas,» Water Science & Technology,
vol. 52, nº 5, pp. 265-273, 2005.
[5] K. Arnbjerg-Nielsen, P. Willems, J. Olsson, S. Beecham, A. Pathirana, I. B. Gregersen, H. Madsen y V. T. V. Nguyen, «Impacts of climate change on rainfall extremes and urban drainage systems: a review,» Water Science & Technology, vol. 68, nº 1, pp. 16-28, 2013.
[6] C. Ocampo-Martinez, S. Bovo y V. Puig, «Partitioning Approach oriented to the Decentralised Predictive Control of Large-Scale Systems,» Journal of Process Control, vol. 21, nº 5, pp. 775-786, 2011.
[7] L. GarcÍa, J. Barreiro-Gomez, E. Escobar, D. Téllez, N. Quijano y C. Ocampo-Martinez, «Modeling and Real-Time Control of Urban Drainage Systems: A Review,» Advances in Water Resources, vol. 85, pp. 120-132, 2015.
[8] K. Klepiszewski y T. G. Schmitt, «Comparison of conventional rule based flow control with control processes based on fuzzy logic in a combined sewer system,»
Water Science & Technology, vol. 46, nº 6-7, pp. 77-84, 2002.
[9] M. Aulinas, J. C. Nieves, U. Cortés y M. Poch, «Supporting decision making in urban wastewater systems using a knowledge-based approach,» Environmental Modelling & Software, vol. 26, nº 5, pp. 562-572, 2011.
[10] M. Regneri, K. Klepiszewski, M. Ostrowski y P. A. Vanrolleghem, «Fuzzy decision making for multi-criteria optimization in integrated wastewater system management,» de Proceedings of the 6th International Conference on Sewer Processes and
Networks, 2010.
[11] W. Tang, Z. Wang, Q. Feng y M. Wang, «Application of fuzzy expert control to APMP Pulping Wastewater treatment process of aerobic,» de Proceedings of the 2010 International Conference on Mechatronics and Automation, Xian, China, 2010. [12] J. M. Lemos y L. F. Pinto, «Distributed Linear-Quadratic Control of Serially Chained
Systems: Application to a Water Delivery Canal,» IEEE Control Systems, vol. 32, nº 6, pp. 26-38, 2012.
[13] M. Marinaki, «Encyclopedia of Optimization,» de Optimization of Wastewater Systems, Springer, 2009, pp. 4055-4060.
[14] P. O. Malaterre, Modelisation, analysis and LQR optimal control of an irrigation canal, Ph. D. Thesis, LAASCNRS-ENGREF-Cemagref, 1994.
[15] C. Ocampo-Martinez, Model predictive control of wastewater systems, Springer, 2010.
[16] R. Toro, C. Ocampo-Martinez, F. Logist, J. Impe y V. Puig, «Tuning of predictive controllers for drinking water networked systems,» de Proceedings of International Federation of Automatic Control, 2011.
[17] C. Ocampo-Martinez, V. Puig, G. Cembrano y J. Quevedo, «Application of predictive control strategies to the management of complex networks in the urban water cycle,»
IEEE Control Systems, vol. 33, nº 1, pp. 15-41, 2013.
[18] K. J. van Heeringen, J. Gooijer y D. Schwanenberg, «Practical application of drainage system control by using MPC in Noorderzijlvest,» de Proceedings of the EGU
General Assembly Conference, Viena, Austria, 2013.
[19] D. Muschalla, «Optimization of integrated urban wastewater systems using multi-objective evolution strategies,» Urban Water Journal, vol. 5, nº 1, pp. 59-67, 2008. [20] J. H. Cho, K. S. Sung y S. R. Ha, «A river water quality management model for
optimising regional wastewater treatment using a genetic algorithm,» Journal of Environmental Management, vol. 73, nº 3, pp. 229-242, 2004.
[21] W. Barreto, Z. Vojinovic, R. Price y D. Solomatine, «Multiobjective evolutionary approach to rehabilitation of urban drainage systems,» Journal of Water Resources Planning and Management, vol. 136, nº 5, pp. 547-554, 2009.
[22] J. Barreiro-Gomez, G. Obando, G. Riaño-Briceño, N. Quijano y C. Ocampo-Martinez, «Decentralized Control for Urban Drainage Systems Via Population Dynamics: Bogotá Case Study,» de Proceedings of the 14th European Control Conference, Linz, Austria, 2015.