To get the most out of a battery energy storage system (BESS), an optimal operational schedule is required. Gurobi can efficiently compute this optimal schedule.
The battery scheduling problem is about deciding when to charge and discharge a behind-the-meter battery to maximize profit (or minimize cost) given predictions of time-dependent electricity prices (tariffs). In this notebook, we also consider photovoltaic (PV) generation and the technical constraints of the battery.
This notebook provides a beginner-friendly introduction to battery scheduling using mathematical optimization and Gurobi. Basic knowledge about mathematical optimization and Python programming are required as taught in Optimization 101 for Data Scientists as well as the basics in battery energy management.
Access the Jupyter Notebook Modeling Example
Click on the button below to access the example in Google Colab, which is a free, online Jupyter Notebook environment that allows you to write and execute Python code through your browser.
How to Run the Example
To run the example the first time, choose “Runtime” and then click “Run all”.
All the cells in the Jupyter Notebook will be executed.
The example will install the gurobipy package, which includes a limited Gurobi license that allows you to solve small models.
You can also modify and re-run individual cells.
For subsequent runs, choose “Runtime” and click “on “Restart and run all”.
The Gurobi Optimizer will find the optimal solution of the modeling example.
Check out the Colab Getting Started Guide for full details on how to use Colab Notebooks as well as create your own.
