PowerMarketSim
PowerMarketSim is a fundamental model of the European day-ahead market. It links decentralized bidding and market clearing via Lagrangian relaxation and represents cross-zonal constraints through congestion rents, producing realistic price signals and unit schedules.
Description
PowerMarketSim
PowerMarketSim is a framework for European day-ahead market simulation. This repository provides PowerMarketSim-UC, a unit commitment (UC) formulation of the reserve-constrained day-ahead electricity markets. The framework supports both small-scale and large-scale system studies and allows simulations under hourly and 15-minute temporal resolution. PowerMarketSim-UC is designed to have a compact and tight optimization formulations to achieve good computational performance in large-scale applications.
Key Features
- Unit commitment–based day-ahead market simulation
- Explicit modeling of reserve capacity markets:
- Frequency Containment Reserve (FCR)
- Automatic Frequency Restoration Reserve (aFRR)
- Manual Frequency Restoration Reserve (mFRR)
- Rolling-horizon simulation framework
- Support for hourly and 15-minute temporal resolution
- Emphasis on model compactness and tightness for improved MILP performance
Intended Use
PowerMarketSim is intended for energy system and electricity market
researchers interested in methodological studies of market design,
reserve provision, and temporal resolution.
The framework is designed for research and analysis purposes rather than
operational deployment.
Installation
PowerMarketSim is currently intended to be used from source.
Python Version
- Python 3.12 (tested)
Installation with uv (recommended)
uv venv .venv --python 3.12
uv pip install -r requirements.txt
uv pip install -e .
Dependencies
All required third-party packages are specified explicitly in
requirements.txt.
Solver dependency
This project uses the Gurobi Optimizer via gurobipy.
A valid Gurobi license is required to run optimization models.
License
This project is released under the Mozilla Public License 2.0
(MPL-2.0).
See the LICENSE file for details.
Reporting Issues
Issues can be reported via the Git repository issue tracker.
For sensitive or non-public matters, please contact: Yiwen Pan