Download aplicabilidad de métodos de inteligencia artificial a la

Document related concepts

Programación de expresiones de genes wikipedia , lookup

Algoritmo genético wikipedia , lookup

Algoritmo de propagación de creencias wikipedia , lookup

Red neuronal artificial wikipedia , lookup

Algoritmo símplex wikipedia , lookup

Transcript
APLICABILIDAD DE MÉTODOS DE INTELIGENCIA ARTIFICIAL A LA
CALIBRACIÓN DE REDES DE ACUEDUCTO
Juan Guillermo Saldarriga Valderrama *
Profesor Titular del Departamento de Ingeniería Civil y Ambiental de la Universidad de los
Andes y Director del Centro de Investigaciones en Acueductos y Alcantarillados de la misma
universidad. Experto en las áreas de modelación física y matemática de estructuras hidráulicas,
redes de distribución de agua potable y redes de recolección de aguas residuales, Gerencia y
administración integral de acueductos y alcantarillados.
Daniel Eduardo Salas Useche
Investigador del Centro de Investigaciones en Acueductos y Alcantarillados de la Universidad
de los Andes.
Rafael Gómez Díaz
Profesor asociado del Departamento de Ingeniería de Sistemas y Computación de la
Universidad de los Andes.
Dirección postal del autor principal(*): Calle 18 No 2-68 – Departamento de Ingeniería
Civil y Ambiental
Teléfono: 3394949 Ext. 2805 / 3066 / 2810
Fax: 3324341 / 3394949 Ext. 3520
e-mail: [email protected]
RESUMEN
El problema de la calibración de redes de acueducto es matemáticamente insoluble. Esto ha
llevado a utilizar métodos de ensayo y error, optimización e inteligencia artificial para su
resolución. A través de la inteligencia artificial, se ha logrado cierta efectividad para resolver
dicho problema. Sin embargo, algunos métodos de inteligencia artificial son muy lentos, otros
muy estáticos, otros no se adaptan automáticamente, etc. Por esta razón, se establece un
planteamiento de experimentos que se realizarán para determinar las ventajas y desventajas
de utilizar cada uno de estos métodos en la calibración de redes de acueducto.
Palabras claves: redes de distribución, inteligencia artificial, calibración de redes, sistemas
híbridos.
INTRODUCCIÓN
Los algoritmos genéticos son la metodología con mayor uso en el problema de calibración. En
redes pequeñas y con modelaciones estáticas, han demostrado una gran efectividad y
eficiencia. Esto ocurre porque en este tipo de redes se puede calcular muy rápidamente la
hidráulica (y/o calidad). Sin embargo, en redes grandes (más de 1000 tuberías) y con
modelaciones dinámicas amplias (p.e. cada 5 minutos durante una semana), el algoritmo es
extremadamente lento.
Las redes neuronales también se utilizan en la solución del problema de calibración. Si la red
neuronal ya está calibrada, el algoritmo es muy rápido. Pero, si alguna variable topológica de la
red llega a cambiar, hay que calibrar la red neuronal nuevamente. Y el proceso de calibración
de la red neuronal en redes grandes y con modelaciones dinámicas amplias, requiere mucho
más tiempo de cálculo que el algoritmo genético. Debido a que cada metodología de
inteligencia artificial tiene algunas ventajas y algunas desventajas, se plantean hipótesis sobre
posibles métodos para resolver el sistema de calibración utilizando sistemas híbridos. Por
sistema híbrido se entiende aquel que utiliza la combinación de dos o más sistemas de
inteligencia artificial para resolver un problema. Para el propósito de plantear hipótesis, se
estudiaron primero las metodologías de inteligencia artificial:
-
Algoritmos genéticos
Redes neuronales
-
Lógica difusa
Evolución de algoritmos
Sistemas expertos
Todos los métodos de calibración son bastante sensibles a pequeños errores, y son sistemas
complejos de alta precisión. Por esto se recomienda siempre el uso de ecuaciones físicamente
basadas en vez de ecuaciones empíricas en el sistema hidráulico. La dificultad matemática
introducida por las ecuaciones físicamente basadas, es ahora una trivialidad, superada de
sobra con la complejidad de los sistemas de inteligencia artificial. Adicionalmente, las
herramientas de computación actuales permiten sortear las dificultades de las ecuaciones
físicamente basadas, sin mayores problemas. Intentar hacer procesos de calibración en redes
de acueducto complejas reales, con más de 1000 tuberías utilizando ecuaciones empíricas, no
tiene sentido.
REDES NEURONALES
•
Hipótesis 1
Para el problema específico de la calibración de redes de acueducto, el problema se puede
plantear como una red neuronal con conjuntos de entradas y de salidas idénticos a los del
problema de calibración de la red de acueducto. En éste caso se pueden plantear redes
neuronales de dos o tres capas, con conectividad total de una capa a la siguiente. La cantidad
de nodos de la capa oculta sería el número de entradas o más. La razón es porque se espera
que la capa oculta sea un punto de combinación de todas las variables que conjuntamente
lleven al cálculo de una salida.
Así, las variables de entrada de la red neuronal serían:
•
Variables de sistema:
Viscosidad, Gravedad
•
Variables de tuberías:
Longitud, Diámetro, Material
•
Variables de nodos:
Demanda, Topografía,
•
Variables de fuentes:
Energía disponible, Topografía
•
Variables de bombas:
Ecuación de Presión – Caudal, Presión mínima de
trabajo
•
Variables de válvulas:
Tipo de válvula, Estado
•
Mediciones en campo:
Tipo de medición, Objeto de red medido, Variable
medida, instante del tiempo, Valor de la medición
Las variables de salida serían:
•
Variables de tuberías:
•
Variables de nodos:
Rugosidad, Coeficiente de pérdidas menores
Coeficiente de fugas, Exponente de fugas
El entrenamiento de la red se realizaría a partir de datos teóricos en los que se simula el
envejecimiento de tuberías y la aparición de fugas. Para el entrenamiento, se requieren varios
modelos teóricos simulando distintas condiciones hidráulicas, envejecimiento y fugas. Siendo n
el número de valores de entrada. Éste tipo de red neuronal serviría para una única red de
acueducto. Ante cualquier cambio topológico en la red, se debe realizar un nuevo
entrenamiento.
•
Hipótesis 2
La segunda hipótesis de sistema de calibración de redes de distribución de agua potable con
redes neuronales, consiste en minimizar el tamaño y complejidad de la red neuronal. Esto se
puede hacer porque la red neuronal solo se utilizaría para una red de acueducto, lo que hace
estática cierta información. En éste caso, las variables de entrada son únicamente las
mediciones y la energía inicial. Las salidas son las rugosidades y coeficientes de pérdidas
menores de las tuberías, y los coeficientes y exponentes de fugas de los nodos. En este caso,
se requiere al menos una capa oculta, pero sería útil probar también con 2. Esto porque, en los
pesos de las relaciones, se almacenará de alguna manera la dependencia con respecto al
resto de variables hidráulicas y topológicas. Este tipo de red neuronal solo sirve para una red
de acueducto específica, con topología y demandas constantes. Cualquier cambio en la red de
acueducto en estas variables puede implicar un reentrenamiento o, incluso, la reconstrucción
total de la red neuronal. Esto puede ocurrir si cambia el número de tuberías o mediciones,
porque, en este caso, ya no sirve la arquitectura neuronal inicial.
ALGORITMO GENÉTICO MODIFICADO
La metodología de calibración con algoritmos genéticos que se desarrolló incluye algunas
modificaciones al algoritmo genético básico para adaptarlo de mejor manera al proceso
particular de la calibración. También se realizaron modificaciones para asemejar más el
proceso a la selección natural, y permitir probar varias configuraciones del algoritmo genético
de manera simultánea.
•
•
Semejanza con el proceso de selección natural
Existen ciertas propiedades evolutivas que no pertenecen a los individuos ni al modelo original.
Algunas de estas propiedades son:
a.
b.
c.
Cantidad de individuos por generación.
Cantidad de supervivientes con los mejores calificadores.
Otras variables que determinan el paso de una generación a otra.
Como no se tiene certeza de cuáles son los valores óptimos de éstas variables, y tampoco son
variables del problema que el algoritmo intenta resolver, se debe dar un tratamiento distinto a
estas. Para esto, se definieron especies. Cada especie es un algoritmo genético independiente
con sus propias variables evolutivas. Todas las especies van evolucionando al mismo tiempo.
Esto permite observar cuales son los mejores valores de las variables evolutivas. Además,
cada especie tiene su propio modelo original. Esto permite que el algoritmo genético trabaje
con distintas hipótesis iniciales que pueden ser bastante diferentes en sus propiedades
topológicas. También se introduce al algoritmo genético el concepto de ambiente y
competencia. El ambiente puede mantener una cantidad máxima de individuos totales,
sumando los de todas las especies que se encuentran compitiendo. A medida que transcurren
las generaciones, el ambiente quita o añade cupos a cada especie para que ésta pueda
generar menos o más individuos. Esta repartición de cupos se realiza de acuerdo con el
comportamiento de los calificadores de las especies. Así, eventualmente, se puede extinguir
una o más especies, y solo las mejores siguen evolucionando.
También se permite la posibilidad de supervivencia de ciertos individuos con bajos
calificadores. Esto se hace para evitar los máximos locales. Si los mejores individuos se
empiezan a bloquear en un máximo local, los individuos con bajos calificadores empiezan a
volverse más importantes y promisorios.
Figura 1: Importancia de los individuos con bajo calificador
En la Figura 1, se pueden observar los individuos A y B. La curva representa el problema que
se quiere maximizar. Los individuos, a través de la evolución, van mejorando, y sus hijos se van
ubicando en posiciones superiores, pero no pueden superar la curva. El individuo A es mejor
que el individuo B, sin embargo, la descendencia del individuo B tiene mejores posibilidades
que la descendencia del individuo A. Por esta razón, es importante que individuos de bajo
calificador también sobrevivan.
•
Adaptación al problema de calibración y la conservación
Para el proceso específico de la calibración de una red de distribución, también se realizaron
otras modificaciones al algoritmo genético para hacerlo más versátil, permitir la prueba de
ciertas hipótesis menos convencionales y asegurar la política de conservación de criterios. Uno
de estos cambios es la definición de un porcentaje de individuos bien apareados. Significa que,
entre los individuos sobrevivientes, algunos se aparean únicamente con otros que tengan
calificadores semejantes. Los demás se aparean con cualquier individuo sobreviviente.
También se permite la definición de especies asexuales, sexuales y multisexuales. Esto
significa que cada individuo puede tener uno, dos o más padres, según la definición de su
especie. Se añadió también el concepto de eslabón. Con éste, las cadenas de ADN no están
formadas directamente por cromosomas sino por eslabones. Los eslabones almacenan listas
de cromosomas. Esto se hizo porque cada cromosoma representa un elemento de la red de
acueducto, y se necesitaba un método para diferenciar el tipo de los elementos (nodos, tubos,
tanques). Entonces, la cadena de ADN está formada por eslabones. Existe un eslabón que
almacena los tubos, un eslabón que almacena los nodos, un eslabón que almacena los
tanques, etc. Cada eslabón guarda como cromosomas objetos de la red del tipo respectivo (el
eslabón de tubos guarda objetos tipo tubo, el eslabón de nodos, guarda objetos tipo nodo, etc.).
También se permite la definición de grupos que obligan a modificar algunos genes al tiempo.
Esto evita que la aleatoriedad del algoritmo genere rugosidades muy desiguales en tuberías
sometidas a condiciones hidráulicas parecidas.
ALGORITMOS EVOLUTIVOS
•
Hipótesis 1
Figura 2: Estructura de datos
Utilizando el método de evolución de algoritmos, se puede intentar encontrar una ecuación que
permita estimar fácil y rápidamente las variables de calibración. Para esto, se plantea la
estructura de la Error! Reference source not found.. Esta gráfica se conoce como diagrama
de clases. Este diagrama permite definir la estructura de las ecuaciones. Además, el diagrama
de clases se puede interpretar como un diseño de base de datos. Entonces, las tablas de esa
base de datos se pueden interpretar como eslabones de ADN cuyas filas corresponden a
cromosomas y cada registro es un gen. Esto puede ser útil en la implementación. La Error!
Reference source not found. se interpreta de la siguiente forma. Una ecuación es un bloque.
Un bloque puede ser un valor constante, una variable o una operación entre dos bloques. En
caso de ser una constante, se define su valor. En caso de ser una variable, se define cuál es
la variable, obteniéndola de una tabla donde se encuentran todas. Si es una operación entre
dos bloques, se obtiene el operador de otra tabla.
Los dos bloques se obtienen como
referencias a la misma tabla de bloques. Esta estructura permite definir cualquier ecuación.
Después, de manera aleatoria, se añaden nuevos bloques con estructura y valores aleatorios.
El sistema de selección funciona de la siguiente manera. Dado un individuo (posible solución),
representado en un conjunto de tablas (eslabones), se debe interpretar como ecuación, evaluar
la ecuación, compararla con el resultado conocido y calificar al individuo. La ecuación debe
evaluarse ante distintas condiciones de las variables de entrada.
El proceso de generación de nuevos bloques (Ver Error! Reference source not found.) inicia
decidiendo de manera aleatoria si se trata de un bloque variable, constante o compuesto. Si es
un bloque variable, se escoge aleatoriamente una de las variables del sistema. Si es un
bloque constante, se elige de manera aleatoria un número dentro de un rango predefinido con
distribución de probabilidad uniforme. Si es un bloque compuesto, se escoge aleatoriamente un
operador, y luego se generan dos nuevos bloques que son los operadores. Estos nuevos
bloques se crean como constantes o variables, sin la posibilidad de que sean compuestos.
Esto se hace para truncar el proceso de generación de un bloque evitando que sea demasiado
largo. El esquema del proceso de mutación de un bloque se puede observar en la Error!
Reference source not found. y en la Figura 5. Se muestra primero el caso de los bloques
simples (variables o constantes). Se crea un nuevo bloque compuesto, en el que uno de los
operadores es el bloque simple. El operador y la posición de los operadores se escogen de
manera aleatoria. El otro operador se genera con el proceso de generación descrito
anteriormente. En la mutación de un bloque compuesto existen varias opciones. La primera es
hacer lo mismo que en caso de los bloques simples. Crear un nuevo bloque compuesto y hacer
al bloque original uno de sus operadores. Una segunda opción consiste en modificar
aleatoriamente el operador. Otra opción es modificar uno solo o ambos operadores del bloque
original. La última opción consiste invertir el orden de los operadores. En ambos casos (bloques
simples y compuestos), el proceso de mutación también permite cierto nivel de probabilidad
para dejar el bloque en su estado original.
El proceso de reproducción se muestra en la Figura 6. Allí se muestra que la reproducción
entre n ecuaciones consiste simplemente en unirlas con operadores. Se anida, la primera con
la segunda, y su resultado, se anida con la tercera. El resultado de esta última operación se
anida con la cuarta, etc.
Figura 3: Generación de un bloque
Figura 4. Mutación de bloque variable o constante
El proceso de evolución no es igual al utilizado en el método de algoritmos genéticos. En este
caso, después del proceso de reproducción, es posible tener individuos que no son producto de
la reproducción de otros, sino que son simplemente mutaciones de otros. Además, los
individuos sobrevivientes (ecuaciones escogidas tras cada iteración) se escogen entre las dos
últimas generaciones, y no solo de la última. Estas variaciones del algoritmo se realizan debido
a que es bastante difícil encontrar una nueva buena ecuación. Además, es difícil mejorarla a
través de mutaciones. Entonces, se intenta que los buenos individuos sobrevivan a través del
proceso, hasta que aparezcan otros que los mejoren significativamente.
Figura 5. Mutación de bloque compuesto
Finalmente, se podría realizar una calibración sobre las constantes de la ecuación final. Esta
última calibración se puede realizar con el algoritmo genético básico.
•
Hipótesis 2
Se plantea una segunda hipótesis en la que cada posible ecuación tiene un tamaño máximo
fijo. Así, se puede hacer que la cadena de ADN tenga un tamaño fijo para cualquier individuo
en todas las generaciones. Esto permite utilizar el algoritmo genético básico.
Figura 6. Reproducción de ecuaciones
Cada posible ecuación se describe como un árbol binario de n niveles, siendo n una cantidad
fija para todo el proceso. Éste árbol tendrá entonces 2n-1 nodos en cada nivel, y 2n-1 nodos
en total (Ver Figura 7 y Figura 8).
Figura 7. Árbol binario para representar la ecuación
Cada nodo contiene un operador, una variable (presión1, longitud3, etc.) o un valor constante.
Las hojas, o nodos del último nivel no pueden contener operadores. La cadena genética es
una lista de 2n-1 valores. Esta cadena genética puede evolucionar con el algoritmo genético
básico.
El único proceso que cambia es el de selección. Para evaluar un individuo (una
ecuación), se debe analizar el árbol de abajo a arriba. En los nodos en los que se encuentren
variables, se deben reemplazar por sus valores correspondientes en el ejemplo dado (p.e.
presión2 = 34.5, etc.). En los nodos en los que se encuentren operadores, se reemplaza el
operador por el resultado de la operación indicada, entre sus dos subnodos asociados. Al llegar
al nivel superior, se encuentra entonces el resultado de la ecuación para la variable que se está
calibrando.
Figura 8. Ejemplo de representación de una ecuación en un árbol
LÓGICA DIFUSA
El problema de calibración también se puede plantear como un sistema de control, en el que
las salidas del sistema controlado son las variables hidráulicas en los puntos donde existen
mediciones en campo. Las variables de control son las rugosidades en las tuberías, las
pérdidas menores, los coeficientes y los exponentes de fugas.
La idea es llevar las variables hidráulicas a valores cercanos a las mediciones, manejándolas
con las variables de control. Las variables de control no se manejan de manera individual para
cada tubería. Cada variable de control es una variable topológica (o su variación) sobre un
grupo. Por ejemplo, una variable de control podría ser la variación porcentual en la rugosidad
de todas las tuberías de la subzona 4. La definición de los grupos se podría hacer de igual
manera que en el algoritmo genético modificado. Sin embargo, en este caso los grupos de
mayor utilidad son aquellos que definen rutas o zonas.
Para establecer las reglas y la malla de relaciones entre situaciones y reglas, se requiere la
ayuda de una persona experta en calibración, y un análisis de sensibilidad de las variables
hidráulicas con respecto a cambios en las variables de control. También para establecer las
funciones de membresía de los conjuntos. Esto significa que el sistema de calibración es útil
únicamente para la red para la cual se diseñó.
Si se desea calibrar otra red, se debe montar totalmente el sistema difuso de nuevo. Como las
variables de control son agregadas, cabe la posibilidad de que el sistema se comporte bien aun
cuando haya cambios topológicos en la red, mientras éstos no sean muy importantes. Con este
sistema difuso se podría realizar muy rápidamente una calibración dado un conjunto de
mediciones obtenidas en campo. Esto permitiría detectar en tiempo real problemas en la red,
zonas con fugas, etc.
CONCLUSIONES
•
El nivel de complejidad del problema de calibración, su insolubilidad, y la incertidumbre
en los resultados que provee, obliga a utilizar métodos no convencionales en su resolución.
•
Los métodos de inteligencia artificial tienen un buen potencial para solucionar éste tipo
de problemas.
•
Dentro de los métodos de inteligencia artificial, existe una gran cantidad de
combinaciones y formas de utilización. Éstas brindan un área amplia de investigación para
hallar nuevos métodos rápidos y eficaces para resolver el problema de la calibración.
•
Hacia el futuro, con la creatividad de los investigadores y experimentos como los
planteados en éste documento, se puede llegar a un sistema inteligente que intente resolver el
problema de calibración basado en su propio aprendizaje.
REFERENCIAS
Hayes-Roth, F. (1999). The state of knowledge based systems. Communications of the
ACM
Lippmann, R. (1987). An introduction to computing with neural nets. IEEE ASSP
Magazine
Lofti, A. 1994. Fuzzy logic, Neural networks, and soft computing. Communications of
the ACM
Martínez F. & Conejos P. (1999). Developing an integrated model for water distribution
systems considering both distributed leakage and pressure-dependent demands
Munakata, T. (1994). Fuzzy systems, an overview. Communications of the ACM
Pudar R. & Liggett J. (1992). Leaks in pipe networks. Journal of Hydraulic Engineering
Salas, D. & Saldarriaga, J. (2002). Algoritmo genético modificado para calibración de
redes de acueducto. Universidad de los Andes
Saldarriaga, J. & Salas, D. (2002). Calibración de redes de acueducto bajo un ambiente
de fugas. XV Congreso latinoamericano de hidráulica
Tucciarelli T. & Criminisi A. (1997). Leak analisis in pipeline systems by means of
optimal valve regulation. Journal of Hydraulic Engineering.