Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
/amsPublic

Power system generation scheduling and co-simulation with dynamics.

License

NotificationsYou must be signed in to change notification settings

CURENT/ams

Repository files navigation

Python Software for Power System Scheduling Modeling and Co-Simulation with Dynamics, serving as the market simulator for theCURENT Largescale Testbed.

License: GPL-3.0platformsPython VersionsDOI:10.1109/TSTE.2025.3528027Project Status: Active – The project has reached a stable, usable state and is being actively developed.codecovRepo SizeGitHub last commit (master)GitHub last commit (develop)librariesStructure

Compatibility TestsPublish to TestPyPI and PyPIAzure Pipline

CURENT ERC Logo

StableLatest
DocumentationDocumentation StatusLatest Documentation
Badges
DownloadsPyPI VersionConda Version
Try on BinderBinder
Code QualityCodacy BadgeCodacy Badge

Why AMS

AMS facilitatesDynamics Incorporated Scheduling andScheduling-Dynamics Co-Simulationthrough an integrated interface with ANDES.

This package is helpful for power system engineers, researchers, and students conductingscheduling and transient stability studies at specific operating points. It also benefitsthose interested in developing new scheduling formulations and algorithms, particularlyby extending existing formulations to include new decision variables, constraints, andobjective functions.

AMS is aModeling Framework that provides a descriptive way to formulatescheduling problems. The optimization problems are then handled byCVXPYand 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 [$]AMSpandapowerMATPOWER
IEEE 14-Bus7,642.597,642.597,642.59
IEEE 39-Bus41,263.9441,263.9441,263.94
PEGASE 89-Bus5,733.375,733.375,733.37
IEEE 118-Bus125,947.88125,947.88125,947.88
NPCC 140-Bus810,033.37810,016.06810,033.37
WECC 179-Bus411,706.13411,706.13411,706.13
IEEE 300-Bus706,292.32706,292.32706,292.32
PEGASE 1354-Bus1,218,096.861,218,096.861,218,096.86
PEGASE 2869-Bus2,386,235.332,386,235.332,386,235.33
GOC 4020-Bus793,634.11793,634.11793,634.11
EPIGRIDS 5658-Bus1,195,466.121,195,466.121,195,466.12
EPIGRIDS 7336-Bus1,855,870.941,855,870.941,855,870.94
DCOPF Time

Figure: Computation time of OPF on small-scale cases.

In the bar chart, the gray bar labeled "AMS Symbolic Processing" represents the time spenton symbolic processing, while the wheat-colored bar "AMS Numeric Evaluation" represents thetime spent on system matrices calculation and optimization model construction.The orange bar labeled "AMS GUROBI" represents the optimization-solving time using the GUROBI solver.Similarly, the red bar labeled "AMS MOSEK" and the pink bar labeled "AMS PIQP" represent thetime used by the solvers MOSEK and PIQP, respectively.Regarding the baselines, the blue and green bars represent the running time of MATPOWER usingsolver MIPS and pandapower using solver PIPS, respectively.The results for AMS, pandapower, and matpower are the average time consumed over ten repeat tests.

AMS is currently under active development.Use the following resources to get involved.

Installation

AMS is released asltbams 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

NOTE:

  • cvxpy is distributed with the open source solvers CLARABEL, OSQP, and SCS, but MIP-capable solvers need separate installation
  • cvxpy versionsbelow 1.5 are incompatible withnumpy versions2.0 and above
  • If the solverSCIP encounters an import error caused by a missinglibscip.9.1.dylib, try reinstalling its Python interface by runningpip install pyscipopt --no-binary scip --force
  • kvxopt is recommended to install viaconda as sometimespip struggles to set the correct path for compiled libraries
  • Versions1.0.0 and1.0.1 are only available on PyPI
  • Version0.9.9 has known issues and has been yanked from PyPI

Example Usage

importamsimportandesss=ams.load(ams.get_case('ieee14/ieee14_uced.xlsx'))# solve RTEDss.RTED.run(solver='CLARABEL')ss.RTED.pg.v>>>array([1.8743862,0.3226138,0.01     ,0.02     ,0.01     ])# convert to ANDES casesa=ss.to_andes(addfile=andes.get_case('ieee14/ieee14_full.xlsx'),setup=True,verify=False)sa>>><andes.system.Systemat0x14bd98190>

Citing AMS

If you use AMS for research or consulting, please cite the following paper in your publication that uses AMS:

J. Wang et al., "Dynamics-incorporated Modeling Framework for Stability Constrained Scheduling Under High-penetration of Renewable Energy," in IEEE Transactions on Sustainable Energy, doi: 10.1109/TSTE.2025.3528027.

Sponsors and Contributors

AMS is the scheduling simulation engine for the CURENT Largescale Testbed (LTB).More information about CURENT LTB can be found at theLTB Repository.

This work was supported in part by the Engineering Research Center Program of the National Science Foundation and the Department of Energyunder 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.

SeeGitHub contributors for the contributor list.

License

AMS is licensed under theGPL v3 License.

Related Projects

Some commercial solvers provide academic licenses, such as COPT, GUROBI, CPLEX, and MOSEK.



[8]ページ先頭

©2009-2025 Movatter.jp