Top Banner
1 Introductory Notes on Agent Introductory Notes on Agent - - Based Modeling, Based Modeling, Agent Agent - - Oriented Programming, & AMES Oriented Programming, & AMES Presenter: Presenter: Leigh Tesfatsion Leigh Tesfatsion Professor of Econ, Math, and ECpE Professor of Econ, Math, and ECpE Iowa State University Ames, Iowa 50011-1070 http://www.econ.iastate.edu/tesfatsi/ [email protected] Last Updated: 13 June 2010 http://www.econ.iastate.edu/tesfatsi/ABMAOPAMES.LT.pdf
53

Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

Mar 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

1

Introductory Notes on AgentIntroductory Notes on Agent--Based Modeling, Based Modeling, AgentAgent--Oriented Programming, & AMESOriented Programming, & AMES

Presenter:Presenter:

Leigh Tesfatsion Leigh Tesfatsion Professor of Econ, Math, and ECpEProfessor of Econ, Math, and ECpE

Iowa State UniversityAmes, Iowa 50011-1070

http://www.econ.iastate.edu/tesfatsi/[email protected]

Last Updated: 13 June 2010

http://www.econ.iastate.edu/tesfatsi/ABMAOPAMES.LT.pdf

Page 2: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

2

Outline Outline

What is Agent-Based Modeling (ABM)?

What is Object-Oriented Programming (OOP)?

Agent-Oriented Programming (AOP) vs. OOP

ABM via Computational Laboratories

Example:AMES Wholesale Power Market Testbed

Page 3: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

3

What is ABM?Classical Approach (Top Down): Model a system by means of parameterized differential equations

− Example: Archimedes, a large-scale system of ODEs modeling pathways of disease spread under alternative possible health care response systems

ABM Approach (Bottom Up): Model a system as a collection of interacting “agents”

−Each agent is an entity encapsulating data together with methods that act on this data

−Global regularities arise from the interactions of distributed agents

Page 4: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

4

Meaning of Meaning of ““AgentAgent”” in ABMin ABM

Agent = Encapsulated bundle of data and methodsacting within a computationally constructed world.

Agents can represent:Agents can represent:- Individuals (consumers, traders, entrepreneurs,…)

- Social groupings (households, communities,…)

- Institutions (markets, corporations, gov’t agencies,…)

- Biological entities (crops, livestock, forests,…)

- Physical entities (weather, landscape, electric grids,…)

Page 5: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

5

Partial depiction of agents for a macroeconomic ABM with “is a” ↑ and “has a” ↓ relations

Page 6: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

6

Meaning of Meaning of ““AgentAgent”” in ABM in ABM …… ContinuedContinued

DecisionDecision--making agents (making agents (DMAgentsDMAgents)) are capable (in different degrees) of

Behavioral adaptationBehavioral adaptation

GoalGoal--directed learningdirected learning

Social communication (talking with each other!)Social communication (talking with each other!)

Endogenous formation of interaction networksEndogenous formation of interaction networks

Autonomy:Autonomy:SSelf-activation and self-determination based on private internal data and methods as well as on external data streams (including from real world)

Page 7: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

7

Importance of Agent Encapsulation

• In the real world, all calculations must be done by entities actually residing in the world.

• ABM forces modelers to respect this constraint.

• Procedures encapsulated into the methods of a particular agent can only be implemented using the particular resources available to that agent.

• This encapsulation achieves a more transparent and realistic representation of real-world systems composed of interacting distributed entities with limited information and computational capabilities.

Page 8: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

8

Constructive Replacement Constructive Replacement

In principle, as a result of agent encapsulation:

Any decision-making agent interacting within an ABM through a particular input-output public interface can be replaced by a person that interacts with the ABM through this same public interface.

• Since method implementations by the decision-making agent and its human replacement need not be the same, the resulting outcomes under replacement could differ.

• The only claim here is the feasibility of replacement due to the imposition of agent boundaries in ABMs.

Page 9: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

9

Role of EquationsRole of Equations

Any agent in an ABM can have data and/or methods involving equations.

These equations can be the basis in part or in whole for the agent’s actions.

ABM world events are driven solely by the actionsactionsundertaken by the ABM agents within their world.

ABM world events are notnot driven by equations existing outsideoutside of the data and methods of agents. For example, “sky hook” equilibrium conditions are not permitted.

Page 10: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

10

ABM and Institutional DesignABM and Institutional Design

Key Issues:Key Issues:Will a proposed or actual design promote efficient, fair, and orderly social outcomes over time? Will the design give rise to unintended consequences?

ABM CultureABM Culture--Dish Approach:Dish Approach:Develop a computational world embodying the design, physical constraints, strategic participants, …

Set initial world conditions (agent states).

Let the world evolve with no further intervention, and observe and evaluate the resulting outcomes.

Page 11: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

11

AgentAgent--Based Test Bed Development viaBased Test Bed Development viaIterative Participatory ModelingIterative Participatory Modeling

Stakeholders and researchers from multiple disciplines join together in a repeated loopingrepeated loopingthrough four stages of analysisthrough four stages of analysis:

1) Field work and data collection2) Role-playing games/human-subject experiments3) Incorporate findings into agent-based test bed 4) Generate hypotheses through intensive

computational experiments.

Page 12: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

12

Object-Oriented Programming

The Basic OOP Mindset: Top DownThe Basic OOP Mindset: Top Down

“One of the best ways to think about objects is as `service providers.’ Your goal is to produce…a set of objects that provides the ideal services to solve your problem.”

− Bruce Eckel, Thinking in Java, 3rd Ed., Prentice Hall, 2003, p. 37.

Page 13: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

13

OOP: Key ConceptsOOP: Key Concepts

Object− Methods (operations, functions, procedures,…)− Data (attributes, state information,...)− Access ( public, private, or protected)

ClassInterface

Encapsulation

Inheritance (subclass, superclass)

Composition

Page 14: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

14

OOP: Key Concepts OOP: Key Concepts …… ContinuedContinued

An object is a software entity that bundles together data plus methods that act on these dataAn object controls access to its data and methods by declaring them

public (accessible to all other objects);private (inaccessible to all other objects);or protected (accessible only to certain designated other objects).

A class is a blueprint for an object, a template used to create (“instantiate”) an object.

Page 15: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

15

Class = Object TemplateClass = Object Template

Class Employee

Ann Ping MarioMario Dan

Employee Objects (Instances of Employee)

Page 16: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

16

Illustration: Employee ClassIllustration: Employee Class

Class EMPLOYEE{Public Access:Methods:

getSocialSecurityNumber( ) ;getGender( ) ;getDateOfBirth( ) ;

Private Access:Data:

SocialSecurityNumber ;Gender ;DateOfBirth ;Trustworthyness ;

}

Page 17: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

17

OOP: Key Concepts OOP: Key Concepts …… ContinuedContinued

The public methods and public data of an object are called its (public) interface.

Objects communicate with each other by activating (“invoking”) the public methods of other objects.

Page 18: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

18

OOP: Key Concepts OOP: Key Concepts …… ContinuedContinued

In “good” OOP design, an object should only reveal to other objects what these objects need to know to interact with it.

Each class specifies interfaces for its instantiated objects − Describes how users of these instantiated objects

can interact with these instantiated objects.

Page 19: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

19

Illustration: Employee ClassIllustration: Employee Class

Class EMPLOYEE{Public Access:Methods:

getSocialSecurityNumber( ) ;getGender( ) ;getDateOfBirth( ) ;

Private Access:Data:

SocialSecurityNumber ;Gender ;DateOfBirth ;Trustworthyness ;

}

Page 20: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

20

Illustration: Payroll ClassIllustration: Payroll Class(invokes public methods in Employee class)(invokes public methods in Employee class)

Class PAYROLL{Public Access:Methods:calculateEmployeePay( );payEmployee( );Employee.getSocialSecurityNumber( ); Employee.getGender( );Employee.getDateOfBirth( );

Private Access:Data:CurrentProfits;EmployeePayoll;

}

Page 21: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

21

OOP EncapsulationOOP Encapsulation

Encapsulation is the process of determining which aspects of a class are not needed by other classes, and hiding these aspects from other classes.

More precisely, encapsulation is the process of dividing a class into two distinct parts:− (public) interface;

− private (or protected) stuff that other classes do not need to know about.

Page 22: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

22

Class InheritanceClass Inheritance

A class C can inherit the data and methods of another class B.

The class C is then called the subclass of class B, and class B is called the superclassof class C.

A subclass can also include specialized data and methods that are not present in the superclass.

Page 23: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

23

Class Inheritance: ExampleClass Inheritance: Example

TradeBotTradeBot

data Price;data Price;method trade( );method trade( );

BuyerBuyerPrice = BidPrice ;trade( ) = buy( ) ; calculateUtility( ) ;

SellerSellerPrice = AskPrice ;Price = AskPrice ;trade( ) = sell( ) ;trade( ) = sell( ) ;calculateProfits( ) ;calculateProfits( ) ;

Superclass of Buyer and Seller

Subclass of TradeBot Subclass of TradeBot

Page 24: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

24

Composition vs. InheritanceComposition vs. Inheritance

Objects can be built, or “composed”, from other objects. This is called composition.Example:Example: A firm is composed of employees.

A composition relationship between objects is often termed a “Has-A” relationship. A firm “has an” employee. An inheritance relationship between objects is often termed an “Is-A” relationship. A buyer “is a” trader.

Page 25: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

25

AgentAgent--Oriented Programming (AOP) Oriented Programming (AOP) vs. Conventional OOPvs. Conventional OOP

What is an agent in AOP?

How does an AOP agent potentiallyextend conventional OOP objects?

Page 26: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

26

What is an Agent in AOP?

AOP agent is an object potentially capable of ...

(Structural) Reactivity:(Structural) Reactivity: Changes in internal structure in response to environmental changes

Social Ability:Social Ability: Interaction with other agents through some form of language.

ProPro--Activity:Activity: Goal-directed actions.

Autonomy:Autonomy: Some degree of control over its own actions (“self-activation”).

Page 27: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

27

AOR Agents vs. OOP Objects

− Key distinction is autonomy of AOR Agents

− AOR agents can potentially exercise distributed control, not simply distributed action.

− Conventional OOP objects encapsulate data and methods but do not permit eitherself-activation or local action choice.

Cf. N. R. Jennings, Artificial Intelligence, Vol. 17 (2000), pp. 277-296

Page 28: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

28

Autonomy means...

•Each agent effectively has its own persistent thread of control.

• Each agent decides which actions to perform when, based partly on external conditions and partly on private internal aspects(private info, beliefs, desires,…).

• Thus, each agent is imperfect predictable from vantage point of other agents due to behavioral uncertainty.

Page 29: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

29

Computational Laboratory = Computational framework for the study of system behaviors by means of controlled & replicable experiments.

Graphical User Interface (GUI) permits experimentation by users with no programming background.

Modular/extensible form permits framework capabilities to be changed/extended by users who have programming background.

ABM via Comp LaboratoriesABM via Comp Laboratories

Page 30: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

30

Project Director: Dr. Leigh Tesfatsion (Prof of Econ, Math, & ECpE, ISU)

Research Assoc: Dr. Junjie Sun (Fin. Econ, OCC, U.S. Treasury, Wash, D.C.)

Research Assoc: Dr. Hongyan Li (Consulting Eng., ABB, North Carolina)

funded in part by the

National Science Foundation and the ISU

Electric Power Research Center (a power industry consortium)

AMES Wholesale Power Market Test Bed Homepage (Code/Manuals/PubsAMES Wholesale Power Market Test Bed Homepage (Code/Manuals/Pubs):):www.econ.iastate.edu/tesfatsi/AMESMarketHome.htm

Illustrative Example:AMES Wholesale Power Market Test BedAMES Wholesale Power Market Test Bed

Page 31: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

31

AMES (V2.05) Wholesale Power Market Testbed AMES (V2.05) Wholesale Power Market Testbed

Two-settlement systemDay-ahead market (double auction, financial contracts) Real-time market (settlement of differences)

AC transmission gridGeneration Companies (GenCos)Generation Companies (GenCos) & LoadLoad--Serving Entities (LSEs)Serving Entities (LSEs)located at user-specified transmission busesGrid congestion managed via Locational Marginal Prices (Locational Marginal Prices (LMPsLMPs))LMP at bus k LMP at bus k = Least cost of servicing one additional MW of = Least cost of servicing one additional MW of power at bus kpower at bus k.

Independent System Operator (ISO)System reliability assessmentsDay-ahead scheduling via bid/offer bid/offer based optimal power flow (OPF)based optimal power flow (OPF)Real-time dispatch

TradersGenCos (sellers) LSEs (buyers)LearningLearning capabilities

Page 32: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

32

Based on MISO Market OrganizationBusiness Practices Manual 001-r1 (1/6/09)

Two-Settlement Power Market System under LMP

Core ofCore ofFERC designFERC design

Ss

AMES project to date

Page 33: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

33

AMES Modular & Extensible Architecture (Java)AMES Modular & Extensible Architecture (Java)

Market protocols & AC transmission grid structure― Graphical user interface (GUI) & modularized class structure

permit easy experimentation with alternative parameter settings and alternative institutional/grid constraints

Learning representations for traders― Java Reinforcement Learning Module (JReLM) ― “Tool box” permitting experimentation with a wide variety

of learning methods (Roth-Erev, Temp Diff/Q-learning,…)

Bid/offer-based optimal power flow formulation― Java DC Optimal Power Flow Module (DCOPFJ)― Permits experimentation with various DC OPF formulations

Output displays and dynamic test cases― Customizable chart/table displays & 5-bus/30-bus test cases

Page 34: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

3434

AMES Graphical User Interface (GUI)Tool Bar and Menus for Data Input and Output DisplaysTool Bar and Menus for Data Input and Output Displays

Page 35: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

35

Activities of AMES ISO During Each Operating Day D:Activities of AMES ISO During Each Operating Day D:Timing Adopted from Midwest ISO (MISO)Timing Adopted from Midwest ISO (MISO)

35

00:00

11:00

16:00

23:00

Real-time

(spot)market

forday D

Day-ahead marketfor day D+1

ISO collects bids/offers from LSEs and GenCos

ISO evaluates LSE demand bids and GenCo supply offers

ISO solves D+1 DC OPF and posts D+1 dispatch

and LMP schedule

Day-ahead settlementReal-time settlement

Page 36: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

36

UML Diagram for Main AMES ClassesBasic AMES Classes:

Page 37: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

37

AMESFrame Classes (GUI)

Page 38: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

38

G4

G2G1 G3

G5

Bus 1 Bus 2 Bus 3

LSE 3LSE 3Bus 4Bus 5

LSELSE 11 LSE 2LSE 2

Five GenCo sellers G1,…,G5 and three LSE buyers LSE 1, LSE 2, LSE 3

Illustrative 5-Bus Test Case (Used in many ISO business practice/training manuals)

$$$250 MW Capacity$

$ $ $$

Page 39: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

39

Partial depiction of Partial depiction of input data for the input data for the 55--bus test case:bus test case:

Page 40: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

40

GenCo True Cost & Capacity Attributesfor the 5-Bus Test Case

40

Page 41: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

41

AMES AMES Generation Company (Seller)Generation Company (Seller)Public Access:Public Access:

// Public Methods// Public MethodsgetWorldEventSchedule( clock time,… );getMarketProtocols( ISO market power mitigation,… );Methods for receiving data;Methods for retrieving GenCo data;

Private Access:Private Access://// Private MethodsPrivate Methods

Methods for gathering, storing, and sending data;Methods for calculating own expected & actual net earnings;Method for updating own supply offers (LEARNING);

//// Private DataPrivate DataOwn capacity, grid location, cost function, current wealth… ;Data recorded about external world (prices, dispatch,…);Address book (communication links);

Page 42: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

42

AMES GenCos are learners who report strategic hourly supply offers to ISO

Page 43: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

43

In 5-bus study, AMES GenCos use VRE learning (version of Roth-Erev stochastic reinforcement learning)

Each GenCo maintains action choice propensities q, normalized tochoice probabilities Prob, to choose actions (supply offers). Agood (bad) reward rk resulting from an action ak results in an increase (decrease) in both qk and Probk.

Action Choice a1

Action Choice a2

Action Choice a3

Choice Propensity q1 Choice Probability Prob1

Choice Propensity q2

Choice Propensity q3

Choice Probability Prob2

Choice Probability Prob3

rupdatechoose normalize

Page 44: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

44

VRE Updating of Action PropensitiesVRE Updating of Action Propensities

Parameters:Parameters:• qj(1) Initial propensity• Experimentation• φ Recency (forgetting)

Variables:Variables:• aj Current action choice• qj Propensity for action aj• ak Last action chosen• rk Reward for action ak• t Current time step• N Number of actions

Xxxx

xxxx

Xxx

xxx

Xxxxxx

Ej(ε,N,k,t)

Ej( ε,N,k,t)

ε

Page 45: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

45

From VRE Propensities to ProbabilitiesGibbsGibbs--Boltzmann ProbabilityBoltzmann Probability

qj(t) = “propensity” to choose action j at time tN = Total number of available actionsT = Temperature (“cooling”) parameter

Probj(t) = Probability of choosing action j at time t

N

n=1

e qn(t)/T

Xxx

xxxxProbj(t)

Page 46: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

46

AMES GenCo learning implemented via AMES GenCo learning implemented via JReLMJReLM module module (Java Reinforcement Learning Module developed by(Java Reinforcement Learning Module developed byCharles J. Gieseler, Comp Sci M.S. Thesis, 2005)

Market Simulation

Learning Agent

Page 47: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

47

AMES Load-Serving Entity (Buyer)Public Access:Public Access:// Public MethodsPublic Methods

getMarketProtocols(posting, trade, settlement);getMarketProtocols(ISO market power mitigation);Methods for receiving data;Methods for retrieving LSE data;

Private Access:Private Access:// Private MethodsPrivate Methods

Methods for gathering, storing, and sending data;Methods for calculating own expected & actual net earnings;

// Private DataPrivate DataOwn downstream demand, grid location, current wealth…;Data recorded about external world (prices, dispatch,…);Address book (communication links);

Page 48: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

48

AMES LSE Hourly Demand-Bid Formulation

Hourly demand bid for each LSE j 

Fixed + Price‐Sensitive Demand Bid

FixedFixed demand bid = pFLj (MWs)

PricePrice‐‐sensitivesensitive demand bid 

= Inverse demand function for real power pSLj (MWs) overa purchase capacity interval:

Fj(pSLj)  =  cj ‐ 2dj pSLj

0  ≤ pSLj ≤ SLMaxj

Page 49: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

49

AMES ISO (Market Operator)Public Access:Public Access:

//// Public MethodsPublic MethodsgetWorldEventSchedule( clock time,… );getMarketProtocols( bid/offer reporting, settlement,… );Methods for receiving data;Methods for retrieving stored ISO data;

Private Access:Private Access://// Private MethodsPrivate Methods

Methods for gathering, storing, posting, & sending data;Method for solving hourly DC optimal power flow;Methods for posting schedules and carrying out settlements;Methods for implementing market power mitigation;

//// Private DataPrivate DataHistorical data (e.g., cleared bids/offers, market prices,…);Address book (communication links);

Page 50: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

50

AMES ISO Solves Hourly DC Optimal Power Flow (OPF)AMES ISO Solves Hourly DC Optimal Power Flow (OPF)GenCos report hourly supply offers and LSEs report fixed &

price-sensitive hourly demand bids to ISO for day-ahead market

Subject to

Fixed and price-sensitive demand bids for LSE j

LSE gross buyer surplus

GenCo-reported total avoidable costs

R R

RUi

Max Max0 SLMaxjPurchase capacityinterval for LSE j

Dual variable for this bus-k balance constraint givesLMP for bus k

Operating capacityinterval for GenCo i

PUkm = Upper limit on branch km

Page 51: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

51

AMES ISO Solves DCAMES ISO Solves DC--OPF via DCOPFJ ModuleOPF via DCOPFJ Module

51

DC-OPF raw data (SI)

DCOPFJ Shell

Per Unit conversion

Form SCQP matrices

QuadProgJ: An SCQP solver

Per Unit SCQP output

Solution output (SI)

Page 52: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

52

Illustrative 5-Bus Findings for R=0.0 (100% Fixed Demand)

W/O Gen Learning (Day 1000) With Gen Learning (Day 1000)

Page 53: Introductory Notes on Agent-Based Modeling, Agent-Oriented ... · Introductory Notes on Agent-Based Modeling, Agent-Oriented Programming, & AMES Presenter: Leigh Tesfatsion Professor

53

Online ResourcesOnline Resources

Agent-Based Comp Econ Homepage www.econ.iastate.edu/tesfatsi/ace.htmwww.econ.iastate.edu/tesfatsi/ace.htmACE/CAS Comp Labs and Demos www.econ.iastate.edu/tesfatsi/acedemos.htmwww.econ.iastate.edu/tesfatsi/acedemos.htmACE/CAS: General Software & Toolkits www.econ.iastate.edu/tesfatsi/acecode.htmwww.econ.iastate.edu/tesfatsi/acecode.htmAMES Wholesale Power Market Testbed www.econ.iastate.edu/tesfatsi/AMESMarketHome.htmwww.econ.iastate.edu/tesfatsi/AMESMarketHome.htm

AgentAgent--Based Electricity ResearchBased Electricity Research www.econ.iastate.edu/tesfati/aelect.htm