Diseño óptimo de sistemas de distribución de agua mediante Agent Swarm Optimization Resumen extendido Introducción. La necesidad de hacer eficientes y económicamente viables las grandes inversiones para llevar a cabo la construcción y el mantenimiento de las redes de abastecimiento de agua, hace que se preste especial atención al diseño de este tipo de redes. Concebir soluciones económicamente optimizadas y que garanticen un adecuado funcionamiento de los sistemas de distribución de agua (SDA), tomando en cuenta la fiabilidad de la red para ofrecer sus servicios incluso ante posibles condiciones de fallo, es uno de los grandes retos que han tenido desde hace muchos años varios hombres y mujeres de ciencias que han trabajado el tema. Se impone obtener los mayores beneficios con los menores costes. Objetivos del trabajo Objetivo principal: • Proponer e implementar un algoritmo para el diseño económicamente óptimo de SDA, que soporte un planteamiento multiobjetivo, que sea flexible (en cuanto a la complementación con otros algoritmos), que pueda ser utilizado en la práctica de la solución de problemas reales de diseño y que sea extensible para asimilar retos futuros. Objetivos específicos: • Estudiar la formulación del problema de diseño económicamente óptimo de SDA, contemplando elementos relacionados con la fiabilidad de dichos sistemas. • Proponer una formulación para evaluar económicamente posibles diseños de SDA, cuya fiabilidad resultante ha de tomarse en cuenta. • Estudiar y modificar convenientemente la técnica de optimización evolutiva que se conoce con el nombre de Particle Swarm Optimization (PSO), para ser aplicada al diseño óptimo de SDA. • Desarrollar un algoritmo con un enfoque multiobjetivo y con posibilidades de ser extendido para solucionar posibles retos futuros en la solución del diseño óptimo de SDA. • Implementar, mediante una aplicación informática, el algoritmo resultante del ensamblaje de a) el algoritmo multiobjetivo que se proponga, b) la formulación propuesta para evaluar económicamente los diseños de SDA, y c) un simulador que permita conocer el funcionamiento hidráulico de las soluciones frente a diferentes estados de carga y condiciones de funcionamiento. • Evaluar la bondad del algoritmo propuesto, mediante su aplicación en los casos obtenidos en la literatura científica y en casos reales de diseño de SDA. Comentarios El problema de optimización de SDA puede definirse como la combinación de menor coste de la disposición y dimensionamiento de sus nuevos componentes, la rehabilitación o sustitución de componentes existentes y la forma de hacer que funcione todo el sistema en su conjunto con vista a lograr la satisfacción de las demandas de agua y las restricciones de diseño, incluso bajo la ocurrencia de determinadas situaciones de fallo. En la práctica, esta optimización puede tomar muchas formas debido a que son varios los tipos de componentes que pueden encontrarse en un sistema de distribución y son diversos, además, los criterios de funcionamiento y de diseño para dichos sistemas. Por otra parte, a diferencia de otros problemas de optimización, la factibilidad de las soluciones puede ser estimada solamente luego de haber sido construida totalmente la solución, requiriéndose el uso de simuladores para poder contemplar el análisis del sistema frente a diferentes estados de carga y condiciones de funcionamiento. El método de optimización que se emplee deberá ser capaz de manejar satisfactoriamente esta singular característica. La función objetivo a utilizar diferirá en dependencia del problema que se aborde (ampliación, rehabilitación, nuevo diseño, operación); no puede decirse que exista actualmente una única función objetivo ni que las existentes sean definitivamente las más convenientes, incluso para abordar el mismo problema. Esto hace que se muestre útil el uso de técnicas de optimización que puedan adaptarse directamente a cualquier función objetivo, incluyendo el caso en que se consideren varios objetivos simultáneamente. Una de las tareas más difíciles a las que se enfrentan los investigadores que trabajan el tema es considerar explícitamente la fiabilidad del funcionamiento de las redes de distribución de agua dentro del proceso de solución. Con independencia de la técnica de optimización empleada, la existencia de mallas en las redes de distribución proporciona una dificultad mayor a los métodos de diseño que tratan de encontrar la variante de menor coste de inversión inicial (Templeman, 1982). Estos métodos, debido a su propia naturaleza, intentan eliminar la redundancia o las mallas “innecesarias” durante la búsqueda de la variante económicamente más ventajosa cuando sólo se considera el coste de los elementos a colocar. Esto, sin dudas, limita la fiabilidad del funcionamiento de las soluciones obtenidas. Considerar explícitamente dicha fiabilidad, dentro de los métodos de optimización que pueden ser usados para diseñar SDA, es una de las tareas más difíciles a las que se enfrentan los investigadores que trabajan el tema. Una mayor fiabilidad de las redes de distribución puede obtenerse normalmente, en un sentido determinístico, proporcionando redundancia a la incorporación de mallas dentro de una red de distribución. En algunos casos el problema se ha tratado de solucionar introduciendo diámetros mínimos permisibles para las tuberías, es decir, introduciendo redundancia conectiva; a pesar de que esta solución garantiza que efectivamente ninguna tubería quede eliminada, la redundancia capacitiva, en términos de que exista un flujo adecuado e independiente hacia cada nodo, no está garantizada, y la red resultante pudiera operar como implícitamente ramificada (Martínez, 2010). Todavía son polémicas las soluciones planteadas porque no existe una metodología completamente acertada y aceptada por todos los especialistas en el tema. Son varios los intentos realizados basados en similares principios pero con alcances y objetivos diferentes. En este trabajo, se ha tomado como referencia una formulación que ha sido publicada recientemente (Martínez, 2007) y que valora económicamente mucho mejor el hecho de que haya mallas en la red que permitan una mayor fiabilidad en el funcionamiento. En el diseño de redes de distribución, se ha continuado trabajando en el intento de utilizar metodologías que permitan buscar soluciones económicamente aceptables a partir de probar diferentes variantes que cumplan con los requerimientos de diseño y que de forma lógica pudieran ser consideradas. En este sentido, (Strafaci, 2001) propone la modelación de redes de distribución, con el objetivo de llevarla a cabo para poder realizar, de forma conveniente, ampliaciones a sistemas de distribución de agua. Estas ampliaciones serían diseñadas de manera óptima a partir de la modelación de diferentes escenarios de posibilidades entre los que se escogería el más conveniente. En la práctica tradicional de la modelación usando algún software como, por ejemplo, EPANET (Rossman, 2000), el usuario dependería en buena medida de su experiencia previa en la tarea, para encontrar soluciones satisfactorias dentro de los escenarios que considere evaluar. Las técnicas de optimización utilizadas han condicionado la forma en la que se ha planteado el problema de diseño óptimo de sistemas de distribución de agua en el transcurso de los años. El uso de la programación lineal, por ejemplo, ha conllevado la linealización de la función objetivo; por otra parte, las técnicas basadas en el gradiente, obligaron a garantizar la derivabilidad de la función que se utilice o a dividir el problema en partes para ser aplicadas sólo a los términos derivables. Durante años, consciente o inconscientemente, se adaptó el problema a la técnica de optimización utilizada. Durante la última década, muchos investigadores han empezado a hacer uso de modernas técnicas evolutivas de optimización, dejando atrás otros métodos más tradicionales basados en la programación lineal y no lineal. Refiriéndonos exclusivamente al campo del agua, los algoritmos genéticos han sido los más utilizados (Savic y Walters, 1997; Wu y Simpson, 2001; Matías, 2003; Wu y Walski, 2005), aunque también han sido incorporadas otras técnicas, como las basadas en las colonias de hormigas (ACO, Ant Colony Optimization) (Zecchin et al., 2006; Montalvo et al., 2007a); Simulated Annealing, también denominada ‘recocido simulado’ (Cunha y Sousa, 1999); Shuffled Complex Evolution (Liong y Atiquzzama, 2004); Harmony Search o búsqueda de la armonía (Geem, 2006); Particle Swarm Optimization (PSO), basada en la inteligencia colectiva de los sistemas de partículas, (Montalvo et al., 2008d; Montalvo et al., 2008e). Entre las ventajas que han propiciado el uso creciente de los algoritmos evolutivos en el diseño óptimo de SDA, pueden citarse las siguientes: 1. Tienen facilidades para tratar problemas de forma discreta, lo cual permite, a diferencia de otros métodos de optimización, la utilización de diámetros comerciales directamente en el diseño. 2. Trabajan sólo con la información de la función objetivo y evitan las complicaciones asociadas a la determinación de las derivadas u otras informaciones auxiliares. 3. Son procedimientos genéricos de optimización, en el sentido de que pueden adaptarse directamente a cualquier función objetivo. 4. Debido a que trabajan con una población de soluciones, podrían obtener varias soluciones óptimas, o numerosas soluciones con un valor de función objetivo cercano al óptimo, que pueden ser de gran valor desde el punto de vista de la ingeniería. 5. Se puede incluir el análisis de los sistemas frente a diferentes estados de carga, dentro del proceso de diseño óptimo. En este trabajo se ha utilizado un algoritmo evolutivo que ha demostrado ser potente frente a la solución del problema de diseño óptimo de SDA; el algoritmo es conocido como Particle Swarm Optimization (PSO), fue desarrollado por Kennedy y Eberhart en el año 1995, y está inspirado en el comportamiento social de un grupo de pájaros migratorios tratando de alcanzar un destino desconocido. El algoritmo simula una bandada de pájaros que se comunican mientras vuelan. Cada pájaro está dotado de inteligencia personal pero, también, existe una comunicación gremial mediante la que el pájaro líder, el que está en la mejor posición, es un referente. En la simulación los pájaros evolucionan coordinadamente. La evolución de cada pájaro se calcula de acuerdo a su historial reciente, a su percepción personal y a la influencia que sobre él ejerce el líder; desde la nueva posición que alcance, investiga el espacio de búsqueda y el proceso se repite nuevamente hasta que quede satisfecha la condición de terminación del algoritmo. El movimiento se realiza en un espacio multidimensional con tantas dimensiones como variables de decisión tenga el problema; el vector de posición de un pájaro en dicho espacio, representa una solución potencial. El algoritmo PSO en cuestión, ha sido modificado convenientemente para ser aplicado al diseño óptimo de SDA. La variante de la PSO que se presenta en este trabajo supera dos de los problemas clásicos del algoritmo: 1) permite la consideración de variables discretas, ya que de esa naturaleza son los diámetros involucrados en el diseño (Montalvo et al., 2008e); 2) introduce diversidad añadida en la población, por lo que permite encontrar la solución óptima o soluciones quasi-óptimas de manera mucho más eficiente (Montalvo et al., 2008d). Necesitar un número menor de generaciones es esencial para sistemas reales, especialmente si se incluye fiabilidad, pues un número excesivamente elevado de ejecuciones del algoritmo y de evaluaciones hidráulicas haría inviable la solución. Los resultados obtenidos valoran muy positivamente la capacidad de convergencia del algoritmo y su capacidad de proporcionar diseños mejorados de los sistemas de distribución de agua. Por otra parte, al igual que otras técnicas evolutivas, la PSO cuenta con un conjunto de parámetros, cuya acertada elección tiene una marcada influencia en la eficiencia y la convergencia del algoritmo. El ajuste de los parámetros supone una inversión de recursos inicial, que en ocasiones redunda en tediosas tareas de ensayo y error, sobre todo cuando no se tiene idea de qué valores utilizar para la solución de un problema concreto. En este trabajo se presenta una propuesta en la que el algoritmo PSO es capaz de autogestionar todos sus parámetros con excepción del tamaño de la población, permitiendo esto que el diseñador pueda desentenderse de estas tareas y se concentre mucho más en la parte del diseño en cuestión (Montalvo et al., 2010a). En el diseño óptimo de sistemas de distribución de agua, como en muchos otros problemas de optimización, los objetivos a optimizar están frecuentemente en conflicto unos con otros. Ante este hecho, más conveniente que encontrar una única solución, es mejor elaborar un conjunto de soluciones que representen el mejor compromiso posible entre todos los objetivos involucrados. Actualmente se están desarrollando propuestas de algoritmos evolutivos que puedan ser utilizados para resolver, con un planteamiento multiobjetivo, el diseño óptimo de sistemas de distribución de agua (Vamvakeridou-Lyroudia et al., 2005; Dandy y Engelhardt, 2006; Montalvo et al., 2010b). En este trabajo se ha hecho una generalización del algoritmo PSO que permite, entre otros avances, la solución de problemas de optimización con un planteamiento multiobjetivo. Esta generalización está orientada hacia la inteligencia artificial distribuida y basada en los sistemas multiagente; para denominarla se ha optado por el nombre de Agent Swarm Optimization (ASO). ASO se aprovecha de las ventajas de la computación paralela y distribuida para hacer interactuar diversas poblaciones de agentes que pueden tener comportamientos diferentes. El algoritmo ofrece una plataforma común de entendimiento para la pluralidad de algoritmos evolutivos existentes. Su versatilidad da origen a su principal fortaleza: la introducción de agentes con reglas de comportamiento específicas para la mejor solución de un problema, que trabajan de manera conjunta con algoritmos evolutivos de carácter general como PSO, Algoritmos Genéticos, Ant Colony Optimization, etcétera. Precisamente el concepto de poder introducir nuevos agentes dentro del proceso de solución, hace, en el caso del diseño de sistemas de distribución de agua, que las personas a cargo del proyecto formen parte activa como agentes dentro de la búsqueda de soluciones (Montalvo et al., 2010c). Se terminó la época en la que se esperaba pacientemente por los resultados de un ordenador para que pudieran ser analizados por expertos humanos, con ASO los expertos humanos son también agentes que proponen soluciones e interactúan con otros agentes (humanos o no) para que entre todos se puedan encontrar mejores resultados considerando los objetivos propuestos. En este punto, específicamente, ASO marca una diferencia con respecto a las definiciones de sistemas multiagente que se pueden encontrar en la literatura. Aportaciones Principales • Se ha hecho una generalización del algoritmo PSO, denominada Agent Swarm Optimization (ASO) que puede ser utilizada en el diseño óptimo de sistemas de distribución de agua considerando un planteamiento multiobjetivo. • Se ha implementado una aplicación informática basada en el algoritmo de optimización propuesto, que facilita el diseño de sistemas de distribución de agua. La aplicación también permite, obviamente, el análisis en régimen permanente de sistemas previamente diseñados. • Se ha aplicado satisfactoriamente el algoritmo propuesto en diferentes ejemplos de benchmarking y en casos reales de diseño de sistemas de distribución de agua. En varios casos el problema fue planteado y resuelto de manera multiobjetivo. • Se presentan gráficos de la probabilidad con que son obtenidas buenas soluciones, usando el algoritmo propuesto, para algunos casos de los estudiados. • Se propone el uso de una formulación del problema de diseño óptimo de sistemas de distribución de agua que considera económicamente la fiabilidad de dichos sistemas y que trabaja satisfactoriamente con el algoritmo de optimización que se presenta en el trabajo. • Se evidencian, a través de oportunas comparaciones, las ventajas de considerar elementos de fiabilidad dentro de la función objetivo a emplear. Novedades Científicas • El algoritmo ASO elaborado permite la integración de varios algoritmos y de agentes con reglas de comportamiento específicamente diseñadas para la solución del problema de optimización que se esté resolviendo. • La integración de diferentes poblaciones de agentes con un comportamiento asincrónico para la construcción de la frontera de Pareto en problemas de optimización multiobjetivo. • La introducción de reglas específicas para el dimensionamiento de las tuberías en los sistemas de distribución de agua dentro del proceso de optimización. • La consideración de los usuarios como agentes activos involucrados en el proceso de soluciones del algoritmo ASO. En tiempo real, las personas encargadas del proyecto pueden proponer soluciones potenciales para el problema que se esté resolviendo. Los agentes artificiales del algoritmo se podrán aprovechar de la creatividad y de las ideas de los expertos humanos para mejorar sus propias soluciones; los expertos humanos se podrán aprovechar de la velocidad y capacidad de búsqueda de los agentes artificiales para explorar mayores espacios de soluciones. Principales conclusiones • El planteamiento del diseño óptimo de SDA a lo largo de los años se ha visto condicionado por las técnicas de optimización empleadas. • El algoritmo presentado puede ser usado en el diseño óptimo de sistemas de distribución de agua reales que en su planteamiento incluyan uno o varios objetivos. Existe plena libertad para la utilización de cualquier función objetivo que pueda plantearse matemáticamente. • El uso de una acertada formulación del problema de diseño en combinación con el uso de algoritmos evolutivos y agentes con reglas de comportamiento específicas, permite la obtención de diseños con una fiabilidad apreciable, en un plazo razonable de tiempo. • Un elevado nivel de diversidad en los algoritmos evolutivos que se utilicen para la solución del problema de optimización planteado mejora significativamente la probabilidad de obtención de buenas soluciones. • La autogestión de parámetros utilizada, constituye una gran ayuda para el proceso de optimización, principalmente cuando no se tiene idea de los valores más convenientes que deben ser usados para los parámetros, y evita innecesarios y largos procesos de análisis de sensibilidad, muchas veces llevados a cabo mediante absurdos procesos de fuerza bruta. • La interacción en tiempo real con los usuarios durante el proceso de toma de decisiones de diseño unida a la visualización de una frontera de Pareto aproximada en cada momento, marca una diferencia significativa entre el algoritmo propuesto en esta investigación y otros trabajos existentes. Recomendaciones para trabajos futuros Los trabajos futuros han de ir encaminados a la introducción de nuevos agentes, con reglas de comportamiento que puedan ser más eficientes durante la búsqueda de soluciones. También debe considerarse el estudio de ejemplos adicionales de diseño, que hagan uso de diferentes formas de plantear la función objetivo del problema. En cuando a las soluciones obtenidas, sería interesante poder contrastar la fiabilidad considerada con el comportamiento real que posteriormente pudiera tener la red. La forma en que se plantee la función objetivo será en sí misma un proceso evolutivo que no ha de detenerse sino adecuarse a los requerimientos de cada momento y lugar. El acercamiento a las condiciones y necesidades reales de diseño de los sistemas de distribución de agua es algo que no debe detenerse, y ha de ser amplio el intercambio con especialistas dedicados al tema para adicionar mejoras en este sentido tanto a nivel del algoritmo empleado como a nivel de la aplicación informática resultante. No debe perderse de vista la actualización de la implementación del algoritmo planteado haciendo uso de las tecnologías emergentes en computación paralela y distribuida. La capacidad de los agentes de tipo PSO para trabajar en sistemas dinámicos, donde los valores óptimos pueden estarse desplazando en función del tiempo, hace que sea recomendable el uso del algoritmo propuesto para la toma de decisiones en tiempo real. Los agentes de tipo PSO pueden reorientar la búsqueda de soluciones a partir de la información que vayan recibiendo de los sistemas de distribución de agua; esto abre las puertas no sólo a posibilidades de toma de decisiones en tiempo real sino también a la calibración contínua y a la búsqueda de anomalías en sistemas de distribución de agua.