Version Release History
The AMES Wholesale Power Market Test Bed
A Free Open-Source Computational Laboratory for the
Agent-Based Modeling of Electricity Systems
- Last Updated: 4 January 2018
- Site Maintained By:
- Emeritus Professor of Economics, Mathematics,
- and Electrical & Computer Engineering
- Heady Hall 260
- Iowa State University
- Ames, Iowa 50011-1054
tesfatsi AT iastate.edu
AMES Market Package Versions Released to Date:
Note on Terminology: We use "AMES Wholesale Power Market Test Bed" to refer to our general test bed framework and "AMES Market Package" to refer to our particular software implementation of this framework.
AMES Market Package--Version 4.0 (Released 4/13/2017)
Version 4.0 of the AMES Market Package substantively extends the previously released version, AMES (V2.06). The primary developer of these extensions was Dheepak Krishnamurthy, with assistance from Sean L. Mooney, Auswin George Thomas, Wanning Li, and Leigh Tesfatsion.
- These extensions are as follows:
- AMES (V4.0) models a fully operational two-settlement system that includes an active daily real-time market (RTM) cleared by means of an ISO-managed SCED optimization as well as an active daily day-ahead market (DAM) with unit commitments and a dispatch schedule for next-day operations determined by means of ISO-managed SCUC/SCED optimizations. The RTM and DAM are separately settled each day by means of locational marginal pricing (LMP).
- AMES (V4.0) includes interfaces to fast efficient Pyomo/PSST solvers for implementing DAM SCUC/SCED and RTM SCED optimizations.
- AMES (V4.0) permits spinning reserve requirements to be included in its DAM SCUC/SCED and RTM SCED optimization formulations.
Eight Zone ISO-NE Test System (Released: 11/30/2015)
The 8-Zone ISO-NE Test System, based on ISO New England data and structural characteristics, is implemented by means of Version 4.0 of the AMES Market package.
is a computational platform (Java/Python) permitting the small-scale study of U.S. ISO-managed wholesale power markets operating over AC transmission grids with congestion handled by locational marginal pricing.
A detailed description of the 8-Zone ISO-NE Test System, together with an illustrative test case, can be found in the following article:
Dheepak Krishnamurthy, Wanning Li, and Leigh Tesfatsion, "An 8-Zone Test System based on ISO New England Data: Development and Application"
IEEE Transactions on Power Systems, Vol. 31, Issue 1, January 2016, 234-246.
- Code for the 8-Zone ISO-NE Test System and data for the illustrative test case can be found at the following
code/data repository site.
AMES Market Package--Version 3.0 (Released 12/16/2017)
Version 3.0 of the AMES Market Package substantively extends AMES Version 2.06. The primary developer of these extensions is Auswin George Thomas.
- The principal extensions to AMES V2.06 (are as follows:
- AMES (V3.0) models a fully operational two-settlement system that includes a daily 24-hour real-time market (RTM) as well as a daily day-ahead market (DAM).
- The RTM is cleared by means of an ISO-managed SCED optimization, based on ISO load forecasts and Generation Company (GenCo) supply offers; it determines real-time dispatch levels and locational marginal prices (LMPs).
- As in AMES (V2.06), the DAM is cleared by means of an ISO-managed SCED optimization; it determines a generation dispatch schedule and LMPs for next-day operations, based on Load Serving Entity (LSE) demand bids and GenCo supply offers.
AMES Market Package--Version 2.06 (Released: 5/22/13)
- Hongyan Li, Junjie Sun, Leigh Tesfatsion, and Sean Mooney, AMES Market Package--Version 2.06::
Release Date: 22 May 2013.
- Zip file
(i) an src folder containing full compilable source code; (ii) a lib folder containing all required libraries for building, testing, and generating documentation;
(iii) a test folder containing basic unit tests;
(iv) a DATA folder containing a 2-bus test case, a 5-bus test case, and a 30-bus test case (in both regular and batched modes);
(v) a netbeans project folder nbproject; and
(vi) a build file (build.xml) to facilitate command line use.
- Zip file
that includes a directly runnable version of AMES(V2.06) in the form of a compiled jar, runtime libraries/jars, and a data folder
- Version 2.06 of the AMES Market Package modifies the previously released version 2.05. These modifications, made by Hongyan Li (ABB) and Sean Mooney (CS PhD Student, ISU), are as follows:
- Bug Fix: A bug in the transmission grid verification logic prevented a 2-Bus 1-Branch transmission grid from being used.
- Bug Fix: Platform independence -- fixed some paths that assumed AMES was on a Windows system.
- Improved GUI responsiveness.
AMES Market Package--Version 2.05 (Released: 9/14/09)
- Hongyan Li, Junjie Sun, and Leigh Tesfatsion, AMES Market Package--Version 2.05
Release Date: 14 September 2009.
- Version 2.05 of the AMES Market Package modifies the previously released version 2.03 as follows:
- A bug in the GUI case edit facility that prevented users from being able to use this GUI facility to change the size of the grid has been fixed. (The ability of users to change the grid size along with other AMES parameter settings through direct editing of the provided default 5-bus and 30-bus test cases was not affected by this bug.)
AMES Market Package--Version 2.03 (Released: 8/09/09)
- Version 2.03 of the AMES Market Package modifies the previously released version 2.02 as follows:
- The default dynamic 30-bus test case included with the download of AMES have been updated so that it now corresponds to the dynamic 30-bus test case used to run experiments in the following working paper:
- Hongyan Li and Leigh Tesfatsion, "ISO Net Surplus Collection and Allocation in Wholesale Power Markets under Locational Marginal Pricing"
IEEE Transactions on Power Systems, Vol. 26, Issue 2, 2011, 627-641.
AMES Market Package--Version 2.02 (Released: 9/20/08)
- Version 2.02 of the AMES Market Package modifies the previously released version 2.01 as follows:
- A small glitch in the GUI menu command sequence "Output Table View -> GenCo Commitments -> GenCo i" has been fixed so that the name of the selected GenCo is properly displayed in the first table column.
AMES Market Package--Version 2.01 (Released: 7/17/08)
- Version 2.01 of the AMES Market Package modifies the previously released version 2.0 as follows:
- A glitch in the final "Done" command in the command sequence "Case->Case Parameters->Step 1...Step 6->Done" has been fixed so that changed parameter settings are properly saved and can be immediately run.
- The default (or user-specified) random seed set by "Case->Case Parameters->Step 6: Simulation Control Parameters->Random Seed" is now properly displayed at the top of the main view screen when a case is run.
- After each run, the main view screen now indicates (at the end) which of the five possible stopping rules have been flagged and which flagged stopping rule's activation actually resulted in the stopping of the simulation run.
- A sample data file for conducting batch (multi-run) experiments has been included in the DATA directory for AMES(V2.01) along with sample data files for conducting single-run 5-bus and 30-bus test case experiments. The extension ".bth" is used for batch data files and the extension ".dat" is used for single-run data files.
- A glitch in the display ordering of the GenCo learning parameters on the main view screen has been fixed.
- The default values for the GenCos' fixed costs in the 5-bus and 30-bus test cases have now been calibrated so that each GenCo earns positive daily profits (daily total revenues minus daily total cost) in the "competitive benchmark" solution calculated at the beginning of each run. In the previous version 2.0 the default fixed cost values were set in an ad hoc manner that resulted in persisently negative daily profits for some GenCos.
- The default settings V_o and S_o for base voltage and base apparent power now appear in the setting screen "Case->Case Parameters->Step 1: Input Global Parameters" so that the user can change these default base value settings as desired.
- The default (or user-specified) settings for the price-sensitive demand function parameters c_j(H), d_j(H), and SLMax_j(H) for each hour H and each LSE j are now displayed on the main view screen (along with all other parameter settings) whenever a case is run.
- The default (or user-specified) settings for the price-sensitive demand function parameters c_j(H), d_j(H), and SLMax_j(H) for each hour H and each LSE j can now be displayed in table form by the command sequence "View->Output Table View->View Case Data Parameters->LSE Price-Sensitive Demand Parameters".
- The price-sensitive demand function for each LSE j can now be individually displayed in chart form as part of the display of cleared price-sensitive demand for LSE j by the command sequence "View->Output Chart View->LSE Price-Sensitive Demand"->LSEj.
- For direct comparison, the true marginal cost function for each GenCo i is now displayed along with GenCo i's reported marginal cost function for each day D using the command sequence "View->Output Chart View->View Case Data Parameters->GenCos->GenCoi.
- The setting screen "Case->Case Parameters->Step 5: Input LSE Parameters->LSEj" has been modified for clarity. In particular, the captions now indicate more clearly the difference between the flag boxes (for indicating the existence or not of fixed demand and/or of a price-sensitive demand function for LSE j for each hour) versus the value boxes (for setting specific numerical values for fixed demand and/or for the price-sensitive demand function parameters for LSE j for each hour).
- A glitch in the chart displays of cleared points for LSE price-sensitive demands has been fixed.
Note: Thanks to Abhishek Somani, Nanpeng Yu, and Qun Zhou for helpful comments on the previous version 2.0, particularly with regard to points (1) through (4).
AMES Market Package--Version 2.0 (Released: 7/10/08)
- Version 2.0 of the AMES Market Package extends the capabilities of the previously released Version 1.31 as follows:
- The demand bid reported by each LSE for each hour of the day-ahead market can now include a price-sensitive demand bid function as well as a fixed (price-insensitive) demand bid. In the previous version 1.31 only fixed demand bids were permitted.
- All stochastic reinforcement learning parameter values can now be set individually for each GenCo. In the previous version 1.31 these parameter values had to be set the same across all GenCos.
- In the implementation of each GenCo's stochastic reinforcement learning method, the user can now choose to use either "daily profits" or "daily net earnings" as the "daily rewards" that condition the updating of action choice probabilities. The former is defined as revenues minus total costs (including fixed costs), whereas the latter is defined as revenues minus total variable costs (excluding fixed costs). In the previous version 1.31, the use of daily profits as the daily rewards was hard coded.
- The ISO can now impose a user-specified price cap on the supply offers reported by GenCos in an effort to mitigate their "market power," i.e., their ability to profitably raise prices either by reporting higher-than-true marginal costs or less-than-true operating capacity. In the previous version 1.31 no supply-offer price caps were permitted.
- Many additional tables and charts are now available for the display of simulation outputs, and the presentation of the tables and charts has been improved.
- The user is now able to set any combination of five different stopping rules for simulation runs. In the previous version 1.31 only two stopping rules were available.
- The user is now clearly informed on the main output screen (as well as in the output tables and charts) whenever offered supply is inadequate to meet fixed demand for some hour of the day-ahead market, resulting in the DC optimal power flow (OPF) problem for that hour having no solution. In the previous version 1.31, all DC-OPF outputs were simply zeroed out in the output tables and charts whenever such "inadequacy events" arose.
AMES Market Package--Version 1.31 (Released: 10/13/07)
IMPORTANT NOTE: Downloads, manuals, and tutorials pertaining specifically to AMES(V1.31) can be accessed
Version 1.31 of the AMES Market Package modifies Version 1.3 by correcting a small bug in ActionDomain.java (a misplaced comment indicator) that causes program termination when the user specifies M2=1 (i.e., when the user forces all generators to report the true slope of their marginal cost curves in the supply offers they report to the ISO).
In particular, in ActionDomain.Java for Version 1.31, the comment indicator // in front of the assignment statement "inc2=someLargeNumber;" inside the "if(M2==1)" code segment is now removed.
AMES Market Package-Version 1.3 (Released: 7/14/07)
Version 1.3 of the AMES Market Package modifies Version 1.2 by incorporating a number of improvements in the output displays.
In addition, Version 1.3 corrects a bug in Version 1.2 that caused the competitive equilibrium (no learning) benchmark solution, initially calculated during each run of the market simulation, to be picked up and counted as "Day 1" in the indexing of days. Version 1.3 treats this initial calculation of the competitive equilibrium benchmark solution as a separate off-line calculation, so that "Day 1" now clearly indicates the beginning of the market simulation with learning traders.
AMES Market Package--Version 1.2 (Released: 7/6/07)
Version 1.2 of the AMES Market Package Bed modified Version 1.1 in response to user questions about set up. The accompanying manual and tutorial materials were revised for increased clarity, and a link was included on the AMES Test Bed Home Page to a new page of detailed instructions for setting up and running the AMES Market Package as a NetBeans project.
AMES Market Package--Version 1.1 (Released: 6/29/07)
- Version 1.1 of the AMES Market Package modified Version 1.0 by cleaning up some of the comment statements in the .java files, and by changing the name of JOptim.jar to QuadProgJ.jar in the library directory to clarify that this Jar file implements the SCQP solver QuadProgJ constituting the core of DCOPFJ, the AMES DC optimal power flow solver.
AMES Market Package--Version 1.0 (Released: 6/22/07)
- Version 1.0 of the AMES Market Package was the first release of our framework as open-source software