EARL Conference.

George Oxley

Senior Software Engineer, DabApps

Building a Realistic-Physics-Constrained Concentrated Solar Power Plant Revenue Optimiser using Python and PyTorch

How do you turn machine learning predictions into safe, high-value operational decisions in a real power plant?In this talk we share how we built a revenue optimiser for a concentrated solar power (CSP) plant in South Africa using Python. The core is a custom LSTM digital twin built using PyTorch that predicts next-step plant behaviour (including net power), combined with a hill-climbing optimiser that searches control trajectories for solar field flow, steam generation flow, and thermal storage usage.

The key challenge was not forecasting alone. It was making optimisation outputs physically coherent and operationally usable. We will show how we added guardrails for ramping, storage charging and discharging, dispatch limits, and mode coherence, then iterated those constraints with domain experts to avoid brittle or over-constrained behaviour. We will also cover difficult data issues, including sensor reliability, feature engineering pitfalls, and avoiding look-ahead bias in evaluation.