uk.ac.liv.auction.stats
Class EquilibriumReport

java.lang.Object
  extended byuk.ac.liv.auction.stats.AbstractAuctionReport
      extended byuk.ac.liv.auction.stats.AbstractMarketStatsReport
          extended byuk.ac.liv.auction.stats.DirectRevelationReport
              extended byuk.ac.liv.auction.stats.EquilibriumReport
All Implemented Interfaces:
AuctionEventListener, AuctionReport, Parameterizable, Resetable, java.io.Serializable
Direct Known Subclasses:
SurplusReport

public class EquilibriumReport
extends DirectRevelationReport
implements java.io.Serializable

A class to calculate the true equilibrium price and quantity ranges for a given auction.

Version:
$Revision: 1.2 $
Author:
Steve Phelps
See Also:
Serialized Form

Field Summary
protected  boolean equilibriaFound
          Do any equilbria exist?
protected  java.util.List matchedShouts
           
protected  double maxPrice
          The maximum equilibrium price.
protected  double minPrice
          The minimum equilibrium price.
protected  int quantity
           
static ReportVariable VAR_EXISTS
           
static ReportVariable VAR_MAXPRICE
           
static ReportVariable VAR_MINPRICE
           
static ReportVariable VAR_QUANTITY
           
 
Fields inherited from class uk.ac.liv.auction.stats.DirectRevelationReport
auction, shoutEngine, shouts
 
Constructor Summary
EquilibriumReport()
           
EquilibriumReport(RoundRobinAuction auction)
           
 
Method Summary
 void calculate()
           
protected  void calculateEquilibriaPriceRange()
           
protected  void calculateEquilibriaQuantity()
           
 double calculateMidEquilibriumPrice()
           
 boolean equilibriaExists()
           
 double getMaxPrice()
           
 double getMinPrice()
           
 int getQuantity()
           
 java.util.Map getVariables()
          Returns a Map of all of the variables that are produced in the report.
 void initialise()
           
 void produceUserOutput()
          Produce the final report for the user.
 void recalculate()
           
 java.lang.String toString()
           
 
Methods inherited from class uk.ac.liv.auction.stats.DirectRevelationReport
enumerateTruthfulShout, reset, setAuction, setup, simulateDirectRevelation
 
Methods inherited from class uk.ac.liv.auction.stats.AbstractMarketStatsReport
eventOccurred
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

minPrice

protected double minPrice
The minimum equilibrium price.


maxPrice

protected double maxPrice
The maximum equilibrium price.


equilibriaFound

protected boolean equilibriaFound
Do any equilbria exist?


matchedShouts

protected java.util.List matchedShouts

quantity

protected int quantity

VAR_EXISTS

public static final ReportVariable VAR_EXISTS

VAR_MINPRICE

public static final ReportVariable VAR_MINPRICE

VAR_MAXPRICE

public static final ReportVariable VAR_MAXPRICE

VAR_QUANTITY

public static final ReportVariable VAR_QUANTITY
Constructor Detail

EquilibriumReport

public EquilibriumReport(RoundRobinAuction auction)

EquilibriumReport

public EquilibriumReport()
Method Detail

recalculate

public void recalculate()

calculate

public void calculate()
Overrides:
calculate in class DirectRevelationReport

calculateEquilibriaQuantity

protected void calculateEquilibriaQuantity()

calculateEquilibriaPriceRange

protected void calculateEquilibriaPriceRange()

initialise

public void initialise()
Overrides:
initialise in class DirectRevelationReport

getMinPrice

public double getMinPrice()

getMaxPrice

public double getMaxPrice()

getQuantity

public int getQuantity()

equilibriaExists

public boolean equilibriaExists()

calculateMidEquilibriumPrice

public double calculateMidEquilibriumPrice()

toString

public java.lang.String toString()

produceUserOutput

public void produceUserOutput()
Description copied from interface: AuctionReport
Produce the final report for the user. Implementors can do whatever they see fit, for example by writing a report on stdout, or they may choose to do nothing.

Specified by:
produceUserOutput in interface AuctionReport

getVariables

public java.util.Map getVariables()
Description copied from interface: AuctionReport
Returns a Map of all of the variables that are produced in the report. The Map maps variables, represented by objects of type ReportVariable, onto values, which may be of any class. If no variables are produced by this report then an empty Map is returned.

Specified by:
getVariables in interface AuctionReport
See Also:
ReportVariable