The online companion to the paper "Predictive Prescription of Unit Commitment Decisions Under Net Load Uncertainty" submitted to the IEEE PES ISGT NA 2023
This repository contains
- the dataset used in the simulation studies
- the source code of the experiments
The data for the Unit Commitment (UC) instances is organized in JSON file format as per the input file format of the UnitCommitment.jl1 package. The data for the generators is taken from the IEEE 14-bus test system. We use the net load measurements recorded in the California ISO system on June 1, 2018–August 31, 2019 to construct the net load data for the experiments. As covariates, we use 24 lagged realizations of net load, as well as the 24 lagged realizations of the daily, weekly, and monthly moving average of net load. We also define categorical variables to indicate whether a day falls on a weekend and on a public holiday and use one-hot encoding for their representation. Further, we assess the population and population density of the counties of California and use temperature measurements recorded in the following counties
- Los Angeles
- San Diego
- Concord
- San Jose
By taking into account the spatial distribution of solar installations, we harvest global horizontal irradiance measurements collected in
- Antelope Valley
- Desert Sunlight
- Mount Signal
- Solar Star
To capture the influence of wind speed on wind power generation, we study the spatial distribution of wind installations in California and use wind speed measurements recorded in
- Alta
- San Gorgonio
- Shiloh
The map below depicts the locations of the weather stations from which we utilize temperature, GHI, and wind speed measurements
We use the abovementioned net load and covariate data to construct the dataset used for training the random forest (RF) model and validating and testing the proposed predictive prescription framework.
We provide the source code for training the RF model and selecting the covariates and the source code source code for solving the UC instances. Note that the source code utilizes a modified version of the UnitCommitment.jl package, where the deterministic formulation is extended to the two-stage stochastic optimization setting. The utilized version of the UnitCommitment.jl package will be made available in future releases of the package.
Footnotes
-
Alinson S. Xavier, Aleksandr M. Kazachkov, Ogün Yurdakul, Feng Qiu. "UnitCommitment.jl: A Julia/JuMP Optimization Package for Security-Constrained Unit Commitment (Version 0.3)". Zenodo (2022). DOI: 10.5281/zenodo.4269874. ↩