Como Trabajo de Fin de Grado se desarrolló el módulo PHSpark, un plugin de resolución de problemas estocásticos para Pyomo. Este nuevo módulo permite la ejecución paralela del algoritmo en un entorno distribuido mediante el uso del framework Apache Spark.
Pyomo es un paquete de software basado en Python destinado a la formulación y solución de modelos de optimización. En este proyecto se amplia el módulo PySP, el paquete de Pyomo dedicado a la solución de problemas estocásticos.
La programación estocástica resuelve problemas de optimización donde existe un cierto grado de incertidumbre. Esta variabilidad se modela como un árbol de posibles escenarios que, para llegar a una solución, deben converger a un valor único.
El módulo PHSpark implementa el algoritmo “Progressive Hedging” para la resolución de problemas estocásticos. Para la paralelización de este algoritmo se usa el framework Apache Spark. Spark permite definir paquetes de trabajo que posteriormente repartirá en los múltiples nodos de ejecución que tenga disponibles.
En el repositorio de GitHub adjunto se encuentra tanto la documentación del TFG como el fork de Pyomo con el módulo implementado. Puede descargar el pdf completo de la memoria aquí