AMES (Version Release 1.31)
Downloads, Manuals, and Tutorials
Software Release Disclaimer:
- The AMES Market Package is our software implementation, in Java, of the AMES Wholesale Power Market Test Bed.
This software, provided below, is unsupported and provided as-is, without warranty of any kind.
Table of Contents:
The wholesale power market design proposed by the U.S. Federal Energy Regulatory Commission (FERC) in an April 2003 white paper
encompasses the following core features: central oversight by an independent market operator; a two-settlement system consisting of a day-ahead market supported by a parallel real-time market to ensure continual balancing of supply and demand for power; and management of grid congestion by means of Locational Marginal Pricing (LMP), i.e., the pricing of power by the location and timing of its injection into, or withdrawal from, the transmission grid.
Versions of FERC’s market design have been implemented (or scheduled for implementation) in U.S. energy regions in the Midwest (MISO), New England (ISO-NE), New York (NYISO), the mid-Atlantic states (PJM), California (CAISO), the southwest (SPP), and Texas (ERCOT). Nevertheless, strong criticism of the design persists. Part of this criticism stems from the concerns of non-adopters about the suitability of the design for their regions due to distinct local conditions (e.g., hydroelectric power in the northwest). Even in regions adopting the design, however, criticisms continue to be raised about market performance.
One key problem for participants in wholesale power markets restructured in accordance with FERC’s design is a lack of full transparency regarding market operations. Due in great part to the complexity of the market design in its various actual implementations, the business practices manuals and other public documents released by market operators are daunting to read and difficult to comprehend. Moreover, in many energy regions (e.g., MISO), data is only posted in partial and masked form with a significant time delay. The result is that many participants are wary regarding the efficiency, reliability, and fairness of market protocols (e.g., settlement practices and market power mitigation rules). Moreover, outsiders (e.g., university researchers) are hindered from subjecting the design to systematic testing in an open and impartial manner.
As elaborated in
Sun and Tesfatsion (2007a),
Sun and Tesfatsion (2007b), and
Li, Sun, and Tesfatsion (2008),
the AMES Wholesale Power Market Test Bed is being developed as a “simple but not too simple” computational laboratory for the systematic experimental study of wholesale power markets restructured in accordance with FERC's market design. AMES is an acronym for Agent-based Modeling of Electricity Systems.
The objective is the facilitation of research, teaching, and training, not commercial-grade application. The release of AMES as an open-source package is intended to encourage the cumulative development of this test bed by others (as well as ourselves) in directions appropriate for their specific needs. It is also intended to encourage continual dialog with market stakeholders and regulators leading to successive refinements and improvements of the test bed. To further these purposes, AMES has been constructed (in Java) to have an extensible modular architecture and an easily-navigated graphical user interface (GUI). The following section discusses these features in greater detail.
Version 1.31 of the AMES Market Package -- hereafter referred to as AMES(V1.31) -- incorporates the following features:
The AMES wholesale power market operates over an AC transmission grid starting on day 1
and continuing through a user-specified maximum day (unless the simulation is terminated earlier
in accordance with a user-specified stopping rule). Each day D consists of 24 successive hours
H = 00,01, ...,23.
The AMES wholesale power market includes an Independent
System Operator (ISO) and a collection of energy traders consisting of
Load-Serving Entities (LSEs) and Generating Companies (GenCos) distributed across the nodes of the transmission grid.
The ISO undertakes the daily operation of a day-ahead market settled by means of locational marginal prices (LMPs).
The binding financial contracts determined in the day-ahead market are carried out as planned (no shocks to the system).
The traders do not engage in real-time (spot) market trading.
During the morning of each day D, each LSE submits a fixed demand bid to the ISO for the day-ahead market for day D+1. Each fixed demand bid consists of a 24-hour load profile. LSEs have no learning capabilities; the LSEs' fixed demand bids are user-specified at the beginning of each simulation run.
During the morning of each day D, each GenCo reports one supply offer to the ISO to be used for all hours of the day-ahead market for day D+1. Each reported supply offer consists of a reported marginal cost function defined over a reported operating-capacity interval.
- After receipt of these demand bids and supply offers during the morning of day D, the ISO determines and publicly reports hourly power supply commitments and LMPs for the day-ahead market for day D+1 as the solution to hourly bid/offer-based DC optimal power flow problems.
At the end of each day D, the ISO settles all of the commitments for the day-ahead market for day D+1 on the basis of the LMPs for the day-ahead market for day D+1.
Each GenCo uses its day-D settlement payment to adjust, via reinforcement learning, its choice of a supply offer to be reported to the ISO on day D+1 for the day-ahead market for day D+2. GenCos can attempt to increase their profits either by adjusting the ordinates/slopes of their reported marginal cost functions and/or by adjusting the upper limits of their reported operating-capacity intervals.
Transmission grid congestion in the day-ahead market is managed via the inclusion of congestion
components in LMPs.
- Each trader has an initial holding of money that changes over time as it accumulates profit earnings and losses.
There is no entry of traders into, or exit of traders from, the AMES wholesale power market. Traders are allowed to go into debt (negative money holdings) without penalty or forced exit.
The reinforcement learning of the GenCos is implemented by the free open-source Java Reinforcement Learning Module (JReLM) developed by
JReLM can implement a variety of different reinforcement learning methods, permitting flexible representation of trader learning within this family of methods.
At the beginning of each run with learning GenCos a "competitive equilibrium benchmark" is first calculated off line in which the GenCos' true supply data is used to solve for LMPs and power commitments. Comparing subsequent market outcomes under learning with competitive equilibrium benchmark outcomes permits the calculation of standard market performance measures such as market efficiency and market power.
The ISO determines hourly power supply commitments and LMPs for the day-ahead market by solving hourly bid/offer-based DC optimal power flow (DC-OPF) problems that approximate underlying AC-OPF problems. The ISO solves its DC-OPF problems by invoking an accurate and efficient DC-OPF solver, DCOPFJ,
incorporated into AMES(V1.31). Developed in Java by
Sun and Tesfatsion (2007c),
is free open-source software that can be used either as part of a Java application or as a stand-alone DC-OPF solver.
The length of each simulation run is determined by the following stopping rule: A run terminates when either a user-specified maximum number of days is reached or each GenCo is choosing a single supply offer with a probability that exceeds a user-specified threshold probability, whichever comes first.
It is hoped that the free open-source release of AMES will encourage the cumulative development of future versions with enhanced features critical for determining the performance of real-world restructured electricity markets. Examples of such enhanced features include:
- generalized modeling of LSE demand bids to include price-sensitive as well as fixed demands. (AMES V2.0)
- incorporation of ISO policies for market power mitigation (e.g. supply-offer price caps). (AMES V2.0)
- possibility of shocks to the system leading to differences arising between day D-1 financial contracts and day D
required transactions that must be settled in a day-D real-time market at real-time LMPs
(active two-settlement system).
- enhanced transmission grid features.
- incorporation of an AC OPF solver to permit DC vs. AC OPF error comparisons.
- enhanced modeling of ISO-managed unit commitment taking into account start-up costs, down-time constraints, and ramping constraints.
- security constraints incorporated into DC/AC OPF problem formulations as a hedge against system disturbances.
- ISO-managed resource adequacy assessment.
- emission constraints and other mandated environmental protection measures.
- upstream fuel markets permitting more empirically-based derivations of cost functions for GenCos.
- incorporation of demand-bid learning capabilities for LSEs.
- additional types of learning methods for potential use by GenCos and LSEs (e.g. anticipatory learning).
- inclusion of bankruptcy rules to handle situations in which one or more traders use up all of their liquid assets.
- a financial transmission rights market to permit hedging against transmission congestion costs.
- bilateral trading to permit longer-term contracting.
- downstream retail markets permitting more empirically-based derivations of LSE demand bids [cf. Widergren, Sun, and Tesfatsion (2006)].
Software Downloads and Supporting Materials
Detailed instructions are provided below for downloading, compiling, and running AMES(V1.31). Explanations of the modifications incorporated into successive versions released to date can be obtained at the
Version Release History Site.
AMES Market Package--Version 1.31 (Sun, Li, and Tesfatsion):
- Junjie Sun, Hongyan Li, and Leigh Tesfatsion, AMES Market Package--Version 1.31
Release Date: 13 October 2007
The basic features of AMES(V1.31) are described in the above
AMES(V1.31) has a graphical user interface (GUI) with separate screens for carrying out the following functions: (a) creation, modification, analysis and storage of case studies; (b) initialization and editing of the attributes of the transmission grid; (c) initialization and editing of the attributes of Load-Serving Entities (LSEs) and GenCos; (d) specification of the learning method for GenCos; (e) specification of simulation controls (e.g., the simulation stopping rule); and (f) customizable output reports in the form of both table and chart displays.
AMES(V1.31) incorporates DCOPFJ
Version 1.1 as the ISO's solver for DC optimal power flow problems.
- Finally, AMES(V1.31) includes two test cases that can be used as templates for new case studies. The first test case is a dynamic extension of a static 5-node test case taken from ISO-NE/PJM training manuals. The second test case is a dynamic extension of the modified IEEE 30-node bus system developed by M. Shahidehpour, H. Yamin, and Z. Li (Market Operations in Electric Power Systems, 2002, Appendix, Section D.4, pp. 477-478).
The following free software was used in the development of AMES(V1.31).
- Java platform: Java SE Development Kit (JDK) 6 update 1 (6u1)
You can download JDK 6u1 (or higher) either alone or in combination with the NetBeans Integrated Development Environment (IDE) 5.5.1 (or higher).
- Java IDE: NetBeans IDE 5.5.1 (or higher)
You can also download the Java SE Development Kit (JDK) 6u1 (or higher) with the NetBeans IDE from this page. The NetBeans IDE is a powerful open-source cross-platform tool for Java programming.
- Java Chart Library: JFreeChart
- Repast J: A Java Agent-Based Toolkit, Version 3.1
For an on-line self-study guide for Repast J and Java, visit
Set-Up Illustration for the NetBeans IDE
- The first step is to install JDK 6u1 (or higher) either separately or in combination with the NetBeans IDE (5.5.1 or higher). Please note that JDK 6u1 (or higher) is required for the AMES(V1.31) code to run correctly. Error messages will be generated if you attempt to compile the AMES(V1.31) code with any earlier JDK release.
- The second step is to install the NetBeans IDE (5.5.1 or higher) if you have not already done so in step one.
The final step is then to use the NetBeans IDE to create a standard NetBeans project using the contents of the data ("DATA") directory, required library ("lib") directory, and source code ("src") directory extracted from the
above AMES(V1.31) zip file. All six Java archive ("jar") files in the lib directory extracted from the
AMES(V1.31) zip file must be included in the required library for your AMES project in order for the AMES(V1.31) code to run correctly.
Note in particular that a jar file for Repast J 3.1 (repast.jar) is included in the lib directory extracted from the
AMES (V1.31) zip file. Consequently, Repast J 3.1 does not have to be separately downloaded and installed unless you are planning to undertake code development for parts of the AMES(1.31) code involving Repast J and you would like to have access to RePast J debugging facilities.
- Detailed step-by-step instructions for setting up and running AMES(V1.31) as a standard NetBeans project using the NetBeans IDE (5.5.1 or higher) can be obtained
After your AMES project compiles, you can use entries in appropriate AMES GUI screens to load and run the provided 5-node and 30-node test cases, to experiment with changes in the parameter settings for these test cases, and/or to develop and run new cases. However, you need to be careful with your parameter settings because event handlers are not yet fully in place to prevent all problematic parameter settings (e.g. total LSE fixed demand set in excess of total generator maximum operating capacity).
Manuals and Tutorials
- "The AMES Wholesale Power Market Project"
- This slide presentation giving a summary overview of the AMES Wholesale Power Market Test Bed together with illustrative experimental results.
- Junjie Sun and Leigh Tesfatsion (2007), "Dynamic Testing of Wholesale Power Market Designs: An Open-Source
Economics Working Paper No. 06025, Iowa State University, Ames, Iowa, revised July.
- Note: This working paper provides a detailed description of the AMES Wholesale Power Market Test Bed together with illustrative experimental findings. An abridged version of this working paper is published in Computational Economics 30(3), 2007, pp. 291-327.
- Junjie Sun and Leigh Tesfatsion (2007), "DC Optimal Power Flow Formulation and Testing Using QuadProgJ"
ISU Economics Working Paper No. 06014, Department of Economics, Iowa State University, revised July.
- Note: This working paper provides a detailed description of a key AMES module, the DCOPFJ solver used by the AMES ISO to solve DC optimal power flow (OPF) problems. An abridged version of this working paper is published in the Proceedings, IEEE Power Engineering Society General Meeting, Tampa, Florida, June 2007.
- Leigh Tesfatsion (2008), "The AMES Wholesale Power Market Test Bed as a Stochastic Dynamic State-Space Game"
Working Paper, Economics Department, Iowa State University, June 2008.
- Abstract: These notes show how the AMES agent-based test bed can be recast in more standard state-space equation form. The result is a highly nonlinear and highly coupled system of first-order stochastic difference equations. The AMES state-space equation representation is used to explain how AMES constitutes an open-ended dynamic game among multiple strategically-learning players. It is also used to explain how AMES permits the construction of a wide variety of test-case scenarios for systematic experimental study.
AMES(V1.31) is licensed by the copyright holders (Junjie Sun, Hongyan Li, and Leigh Tesfatsion) as free open-source software under the terms of the
GNU General Public License (GPL).
Anyone who is interested is allowed to view,
modify, and/or improve upon the code used to produce this package, but any
software generated using all or part of this code must be released as free open-source
software in turn. The GNU GPL can be viewed in its entirety
Publications and References
- FERC (2003), Notice of White Paper, U.S. Federal Energy Regulatory Commission, April.
(2005), "A Java Reinforcement Learning Module for the Repast Toolkit: Facilitating Study and Implementation with Reinforcement Learning in Social Science Multi-Agent Simulations"
Department of Computer Science, Iowa State University, M.S. Thesis.
- Deddy Koesrindartoto and Leigh Tesfatsion (2004), "Testing the Reliability of FERC's Wholesale Power Market Platform: An
Agent-Based Computational Economics Approach"
Energy, Environment, and Economics in a New Era, Proceedings of the
24th USAEE/IAEE North American Conference, Washington, D.C., July 8-10.
- Deddy Koesrindartoto, Junie Sun, and Leigh Tesfatsion (2005), "An Agent-Based Computational Laboratory for Testing the Economic Reliability of Wholesale Power Market Designs"
Proceedings, Vol. 1, IEEE Power Engineering Society
General Meeting, San Francisco, California, June 12-16, pp. 931-936.
- Hongyan Li, Junjie Sun, and Leigh Tesfatsion (2008), "Dynamic LMP Response Under Alternative Price-Cap and Price-Sensitive Demand Scenarios"
Proceedings, IEEE Power Engineering Society General Meetings, Carnegie-Mellon University, Pittsburgh, July 20-24, 2008.
- Junjie Sun and Leigh Tesfatsion (2007a), "Dynamic Testing of Wholesale Power Market Designs: An Open-Source Agent-Based Framework", Computational Economics, Volume 30, Number 3, pp. 291-327.
- Note: This article is an abridged version of ISU Economics Working Paper No. 06025
- Junjie Sun and Leigh Tesfatsion (2007b), "An Agent-Based Computational Laboratory for Wholesale Power Market Design"
Proceedings, IEEE Power Engineering Systems General Meeting, Tampa, Florida, June.
- Note: This proceedings paper is a brief summary of the previous Computational Economics article.
- Junjie Sun and Leigh Tesfatsion (2007c), "DC Optimal Power Flow Formulation and Testing Using QuadProgJ"
ISU Economics Working Paper No. 06014, Department of Economics, Iowa State University, revised July.
- Junjie Sun and Leigh Tesfatsion (2007d), "Open-Source Software for Power Industry Research, Teaching, and Training: A DC-OPF Illustration"
Proceedings, IEEE Power Engineering Systems General Meeting, Tampa, Florida, June.
- Note: This proceedings paper is a brief summary of ISU Economics Working Paper No. 06014 (see above).
- Steven Widergren, Junjie Sun, and Leigh Tesfatsion (2006), "Market Design Test Environments"
Proceedings, IEEE Power Engineering Society General
Meeting, Montreal, June.
- The work reported at this site has been supported in part by Grant NSF-0527460 awarded by the National Science Foundation and by grants awarded by the ISU Electric Power Research Center.