La simulación y optimización de procesos han experimentado un crecimiento considerable durante los últimos años. Con el avance, abaratamiento de arquitecturas y mejora de software para procesamiento en paralelo, muchas industrias apuestan por algoritmos estocásticos para mejorar la producción, reducir los costes o disminuir el impacto medioambiental.
Debido a la complejidad de la multitud de procesos industriales, es habitual hacer uso de simuladores donde existe un flujo de datos con los que se opera en módulos o bloques de forma secuencial. Sin embargo, con respecto a la optimización, los simuladores no han alcanzado un grado de desarrollo o robustez deseada —no existe aún un botón mágico en los simuladores que “optimice”, por ejemplo, el número de equipos y/o las condiciones de operación.
En esta charla, sin embargo, mostraremos con código Python como algoritmos del tipo PSO (Particle Swarm Optimization) pueden ser acoplados fácilmente con simuladores de procesos para resolver problemas de optimización. Recientemente en Python han aparecido librerías especializadas en algoritmos libres de derivadas (OpenMDAO-NASA, PyGMO-ESA o PySwarm, entre otras). Éstas, junto al uso de simuladores (propietarios o libres) pueden ser muy interesantes en un gran número de aplicaciones como herramientas de optimización de caja negra.
Por ejemplo, en el ámbito de la ingeniería de procesos químicos, los simuladores secuenciales modulares (como Aspen Hysys, Aspen Plus, Pro/II, ChemCAD…) son ampliamente utilizados para el diseño refinerías, plantas químicas y/o tratamiento de aguas. Estos paquetes de software incluyen bibliotecas termodinámicas y modelos numéricos que conducen a predicciones precisas de los procesos implementados. Por ello y a modo de aplicación real, combinaremos finalmente estos simuladores con Python, lo que nos permitirá obtener un ahorro económico significativo en el diseño final de una planta de procesos químicos.
Esta charla será impartida por investigadores de ingeniería química de la Universidad de Alicante miembros de CAChemE y su estructura será la siguiente:
Introducción a la problemática en la optimización matemática (5 min). Se realizará una introducción visual a conceptos de optimización determinista, así como a las ventajas e inconvenientes que presentan los algoritmos estocásticos.
Implementación del algoritmo PSO (15 min). Se verán ejemplos sencillos de optimización con Python y se explicará de manera breve cómo acelerar su tiempo de ejecución.
Serie de ejemplos de problemas de optimización en ingeniería (10 min), con especial hincapié en ejemplos reales en la industria e ingeniería química.
https://github.com/CAChemE/stochastic-optimization
Juan Javaloyes es investigador en el grupo COnCEPT (Computer Optimization of Chemical Engineering Processes and Technologies) del Departamento de Ingeniería Química de la Universidad de Alicante. Además, colabora con la organización CAChemE (Computer-aided Chemical Engineering) impartiendo cursos de simulación de procesos químicos utilizando simuladores. Sus intereses son la programación matemática y simulación de procesos químicos.