Dynamic Portfolio Optimization for Virtual Power Plants
As a member of the “Dynamic Portfolio Optimization for Virtual Power Plants” project at the University of Oldenburg, I contributed to the development and implementation of POWDER (Profit Optimization With Distributed Energy Resources) from its inception. The project aimed to optimize energy trading strategies for virtual power plants that integrate distributed renewable energy resources.
Project Overview
The rise of renewable energy has made integrating decentralized energy assets into the market increasingly challenging. To address this, our project focused on developing a system that optimizes product portfolios and generation schedules for virtual power plants, ensuring regulatory compliance while maximizing profitability. Our solution utilized machine learning for market forecasting, integrating heuristic optimization methods such as simulated annealing alongside linear programming. The system context is illustrated in the following diagram:
Key Technologies and Tools
We structured the project using a hybrid development methodology called “ScrUP”, which combines elements of Scrum and the Unified Process. This approach enabled efficient task management, iterative testing, and a systematic framework for problem-solving. The key technologies and tools utilized were:
- Programming and Development: The system was developed primarily in Java, with Git for version control and JIRA for task management.
- Machine Learning and Forecasting: We used Weka to build machine learning models for predicting market conditions, integrating these forecasts into the optimization process.
- Optimization Algorithms: We employed heuristic optimization techniques such as simulated annealing and tabu search, alongside Gurobi for linear optimization. This combination allowed us to determine optimal configurations of energy products and generation schedules.
- Data Management and Integration: Real-time market and weather data were incorporated into the project, allowing the system to dynamically adjust the virtual power plant’s operational plan to meet energy demand while maximizing profitability.
Outcome
The POWDER system successfully demonstrated the potential of automated portfolio optimization for virtual power plants, effectively tackling challenges in product selection and operational planning. Below is a screenshot of an operation plan as visualized in the GUI:
Learnings
My role in this project significantly deepened my understanding of energy market dynamics, machine learning, and optimization algorithms, as well as collaborative software development methodologies tailored for complex, real-world applications. Additionally, this project reinforced my understanding that investing in solid software architecture and consistent testing yields substantial long-term benefits, significantly outweighing the initial costs and effort.
In future projects, I plan to follow these principles:
- Gain a deep understanding of the domain
- Define and focus on a few key objectives with the domain experts
- Design an extensible software architecture that can be adapted over time as needed
- Maintain ongoing communication with domain experts to collaboratively evolve the software