AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


GPO-D: Graph-based Prescriptive Optimization with Dataflows

Term

4. term

Publication year

2025

Submitted on

Pages

74

Abstract

Prescriptive analytics (PSA) combines data processing, machine learning, and mathematical optimisation. However, the existing PSA tools do not always support all of the above-mentioned parts, may be more specialised towards the optimisation part only, or are limited in terms of user-friendliness or developer productivity. This thesis introduces GPO-D (Graph-based Prescriptive Optimisation with Dataflows), a Python library aimed at simplifying PSA workflows using graph-based optimisation modelling and dataflow processes. GPO-D integrates the full PSA workflow with the aim of improving developer productivity. It adopts the concept of Directed Acyclic Graphs from Apache Airflow for managing dataflows and uses CVXPY for solving optimisation problems. Later on, a microgrid problem example is presented, for scheduling solar production, battery charge and discharge cycles. The solution to this example is then used as a base for evaluating the performance and productivity metrics compared to other Python libraries like CVXPY, Pyomo and GBOML. The results show that it achieves similar performance while decreasing the amount of code required.