Releases: Critical-Infrastructure-Systems-Lab/PowNet
Releases · Critical-Infrastructure-Systems-Lab/PowNet
PowNet v2.1 (Refactoring and Feature Release)
This release of PowNet introduces major refactoring for improved code organization and maintainability, along with several new features to enhance functionality and user experience.
**Key changes: **
- **Simplified Modeling Workflow: ** All modules have been refactored to streamline the modeling process and make the codebase easier to understand and extend. This includes:
- Reduce the number of function calls required by a user
- Streamlined solver selection
- Simplified user inputs by switching from config files to direct arguments in functions and classes
- **Enhanced Modeling/Solver Capabilities: **
- Enabled model updating at every simulation step instead of building an instance from scratch
- Added rounding heuristics to improve the optimization problem-solving process
- **New Analysis Features: **
- Fixed modeling in a rolling horizon fashion
- Allowed aggregation of generators at a node
- Added the stochastic module for generating synthetic time series
- Added locational marginal price (LMP) calculation and plotting functionality
- Separated shortfall and curtailment penalty factors for more granular control over penalties
- **Improved User Experience: **
- Increased flexibility in selecting input and output folders. This allows users to install PowNet as a package and work within their own project directories
- Added input checking to help users identify and correct potential errors in their input data
**Other improvements: **
- **Increased Code Reliability: ** Added unit tests to ensure code quality
- **Bug Fixes: ** Fixed the handling of line loss calculations.
- **Improved Codebase: ** Revised folder structure for better organization.
- **Enhanced Documentation: **
- Revised CSV field descriptions for clarity
- Added API documentation
- **Code Cleanup: ** Deleted unused files to reduce clutter.
PowNet v2.0
This is an entirely new version of PowNet that includes the following key features:
- The underlying algebraic modeling language is gurobipy, which replaces Pyomo. gurobipy is faster than Pyomo and has lower memory requirements.
- A model created with PowNet can be solved with Gurobi as well as the free, open-source, solver HiGHS.
- The mathematical formulation of PowNet is based on the 'strong' MILP formulations proposed by Knueven et al. (2020).
- DC power flow is represented through different methods proposed by Hörsch et al. (2018)). These include both voltage angle and cycle flow formulations.
- The implementation of PowNet is modular, so it allows users to include new formulations for a given constraint.
- Models for a given country are built fully from .csv files.
- Visualization of the model output has been standardised w.r.t. previous versions.
PowNet v1.3
Changes since v1.2
- Fix: Ramp Rate Constraints at Segment B.9 are modified to fix ramping constraints #7
- Fix: Up/Down Time Constraints at Segment B.9 are modified to fix minUp/minDown constraint violation within the same horizon. Note that the constraint violation across horizon is not fixed, but we checked that the violation is minimal in a run #8
- Enhancement: Derate factors of dispatchable units are now hourly inputs (instead of yearly) and are provided in separate csv files saved as ‘deratef_xxxx’, where ‘xxxx’ denotes the simulation year #9
- Enhancement: Options for applying time limit to optimization is added
- Enhancement: Input and output files are organized into different folders
- Enhancement: Additional hydropower data are provided in input/hydro folder
Release notes
- Third release, date: 15-Apr-2021.
- Archived in Zenodo with doi: 10.5281/zenodo.4688309
- Contributors: Ng Jia Yi, AFM Kamal Chowdhury, Stefano Galelli
PowNet v1.2
Changes since v1.1
- Fix: Logical Constraints at Segment B.9 are modified to fix a bug that used to initialize the binary decision variables (on and switch) for each horizon (e.g., 24 hours).
- Enhancement: Derate factors of dispatchable units – the climate-dependent variable which can vary for each year in simulation over multiple years – are now provided in separate csv files with column heading as ‘deratef_xxxx’, where ‘xxxx’ denotes the simulation year (e.g., 2016, 2017 etc.).
- Enhancement: Storing process of outputs in the solver script slightly reduced the computational requirements.
Release notes
- Second release, date: 08-Sep-2020.
- Archived in Zenodo with doi: 10.5281/zenodo.4020167.
- Contributors: Rachel Koh, AFM Kamal Chowdhury, Stefano Galelli