Python Software for Power System Scheduling Modeling and Co-Simulation with Dynamics, serving as the market simulator for the CURENT Largescale Testbed.
Latest | Stable | |
---|---|---|
Documentation |
Badges | ||
---|---|---|
Downloads | ||
Try on Binder | ||
Code Quality | ||
Build Status |
With the built-in interface with ANDES, AMS enables Dynamics Incorporated Stability-Constrained Scheduling.
This package can be helpful for power system engineers, researchers, and students who need to conduct scheduling studies and transient stability studies at given operating points.
AMS is a Modeling Framework that provides a descriptive way to formulate scheduling problems. The optimization problems are then handled by CVXPY and solved with third-party solvers.
AMS produces credible scheduling results and competitive performance. The following results show the comparison of DCOPF between AMS and other tools.
Cost [$] | AMS | MATPOWER | pandapower |
---|---|---|---|
PEGASE 1354-Bus | 1,173,590.63 | 1,173,590.63 | 1,173,590.63 |
PEGASE 2869-Bus | 2,338,915.61 | 2,338,915.61 | 2,338,915.61 |
GOC 4020-Bus | 793,634.11 | 793,634.11 | 793,634.11 |
EPIGRIDS 5658-Bus | 1,195,466.12 | 1,195,466.12 | 1,195,466.12 |
EPIGRIDS 7336-Bus | 1,855,870.94 | 1,855,870.94 | 1,855,870.94 |
AMS is currently under active development. Use the following resources to get involved.
- Start from the documentation for installation and tutorial.
- Check out examples in the examples folder
- Read the model verification results in the examples/verification folder
- Ask a question in the GitHub Discussions
- Report bugs or issues by submitting a GitHub issue
- Submit contributions using pull requests
- Read release notes highlighted here
- Try in Jupyter Notebook on Binder
NOTE:
- Version 0.9.9 has known issues and has been yanked from PyPI
kvxopt
is recommended to install viaconda
as sometimespip
struggles to set the correct path for compiled librariescvxpy
versions below 1.5 are incompatible withnumpy
versions 2.0 and above- If solver
SCIP
run into import error, try to reinstall its Python interface by runningpip install pyscipopt --no-binary scip --force
AMS is released as ltbams
on PyPI and conda-forge.
Install from PyPI using pip:
pip install ltbams
Install from conda-forge using conda:
conda install conda-forge::ltbams
Install from GitHub source:
pip install git+https://github.com/CURENT/ams.git
import ams
import andes
ss = ams.load(ams.get_case('ieee14/ieee14_uced.xlsx'))
# solve RTED
ss.RTED.run(solver='CLARABEL')
ss.RTED.pg.v
>>> array([1.8743862, 0.3226138, 0.01 , 0.02 , 0.01 ])
# convert to ANDES case
sa = ss.to_andes(addfile=andes.get_case('ieee14/ieee14_full.xlsx'),
setup=True, verify=False)
sa
>>> <andes.system.System at 0x14bd98190>
AMS is the scheduling simulation engine for the CURENT Largescale Testbed (LTB). More information about CURENT LTB can be found at the LTB Repository.
This work was supported in part by the Engineering Research Center Program of the National Science Foundation and the Department of Energy under NSF Award Number EEC-1041877 and the CURENT Industry Partnership Program.
This work was supported in part by the Advanced Grid Research and Development Program in the Office of Electricity at the U.S. Department of Energy.
See GitHub contributors for the contributor list.
AMS is licensed under the GPL v3 License.
- Popular Open Source Libraries for Power System Analysis
- G-PST Tools Portal: An open tools portal with a classification approach
- Open Source Software (OSS) for Electricity Market Research, Teaching, and Training
Some commercial solvers provide academic licenses, such as COPT, GUROBI, CPLEX, and MOSEK.