uk.ac.liv.auction.electricity
Class ElectricityExperiment

java.lang.Object
  extended byuk.ac.liv.auction.electricity.ElectricityExperiment
All Implemented Interfaces:
Parameterizable, java.lang.Runnable

public class ElectricityExperiment
extends java.lang.Object
implements Parameterizable, java.lang.Runnable

An implementation of the fitness-landscape experiment described in the University of Liverpool Computer Science Department technical report number ULCS-02-031. This work is based on the work of Nicolaisen, Petrov, and Tesfatsion described in:


"Market Power and Efficiency in a Computational Electricity Market with Discriminatory Double-Auction Pricing"
IEEE Transactions on Evolutionary Computation, Vol. 5, No. 5. 2001

Version:
$Revision: 1.10 $
Author:
Steve Phelps

Field Summary
protected  RoundRobinAuction auction
           
protected  Auctioneer auctioneer
           
protected  int auctioneerKSamples
           
protected  int buyerCapacity
           
protected  FixedQuantityStrategy[] buyerStrategies
           
protected  boolean collectIterData
           
protected  boolean collectStrategyData
           
protected  DataWriter dataFile
           
protected  double deltaK
           
protected  DataWriter distributionFile
           
protected  CummulativeDistribution eAN
           
protected  CummulativeDistribution efficiency
           
protected  CummulativeDistribution equilibPrice
           
protected  CummulativeDistribution equilibQty
           
protected  int iterations
           
protected  DataWriter iterResults
           
protected  CummulativeDistribution learningDelta
           
protected  PriceStatisticsReport marketData
           
protected  double maxK
           
protected  int maxRounds
           
protected  double minK
           
protected  CummulativeDistribution mPB
           
protected  CummulativeDistribution mPBN
           
protected  CummulativeDistribution mPS
           
protected  CummulativeDistribution mPSN
           
protected  int numBuyers
           
protected  int numSellers
           
protected  java.lang.String outputDir
           
static java.lang.String P_AUCTIONEER
           
static java.lang.String P_AUCTIONEERKSAMPLES
           
static java.lang.String P_BUYER_STRATEGY
           
static java.lang.String P_CB
           
static java.lang.String P_CS
           
static java.lang.String P_ELECTRICITY
           
static java.lang.String P_ITER_DATA
           
static java.lang.String P_ITERATIONS
           
static java.lang.String P_KDELTA
           
static java.lang.String P_KMAX
           
static java.lang.String P_KMIN
           
static java.lang.String P_MAXROUNDS
           
static java.lang.String P_NB
           
static java.lang.String P_NS
           
static java.lang.String P_OUTPUTDIR
           
static java.lang.String P_PRNG
           
static java.lang.String P_RANDOMIZER
           
static java.lang.String P_SELLER_STRATEGY
           
static java.lang.String P_STATS
           
static java.lang.String P_STRATEGY
           
static java.lang.String P_STRATEGY_DATA
           
protected  java.lang.String paramSummary
           
protected  CummulativeDistribution pBA
           
protected  CummulativeDistribution pBCE
           
protected  CummulativeDistribution pBT
           
protected  CummulativeDistribution pSA
           
protected  CummulativeDistribution pSCE
           
protected  CummulativeDistribution pST
           
protected  StandardRandomizer randomizer
           
protected  int sellerCapacity
           
protected  FixedQuantityStrategy[] sellerStrategies
           
protected  CummulativeDistribution sMPB
           
protected  CummulativeDistribution sMPBN
           
protected  CummulativeDistribution sMPS
           
protected  CummulativeDistribution sMPSN
           
protected  ElectricityStats stats
           
protected  DataWriter strategyData
           
protected  CummulativeDistribution[] variables
           
 
Constructor Summary
ElectricityExperiment()
           
 
Method Summary
protected  void calculateStatistics()
           
protected  void dumpIterResults()
           
protected  void dumpStrategyData()
           
 void experiment(double auctioneerK, double[][] randomizedPrivateValues)
           
protected  void initIterResults(java.lang.String filename)
           
protected  void initStrategyData(java.lang.String filename)
           
static void main(java.lang.String[] args)
           
 double mpNormalise(double marketPower)
           
 void performExperiment()
           
protected  void recordVariables(double auctioneerK)
           
protected  void registerTraders(RoundRobinAuction auction, boolean areSellers, int num, int capacity)
           
protected  void reportSummary(double auctioneerK)
           
protected  void resetVariables()
           
 void run()
           
 void setup(ec.util.ParameterDatabase parameters, ec.util.Parameter base)
          Initialise this object from a parameter database.
protected  void summariseParameters()
           
protected  void writeDataFileHeadings()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

outputDir

protected java.lang.String outputDir

maxRounds

protected int maxRounds

iterations

protected int iterations

auctioneerKSamples

protected int auctioneerKSamples

minK

protected double minK

maxK

protected double maxK

deltaK

protected double deltaK

numBuyers

protected int numBuyers

numSellers

protected int numSellers

buyerCapacity

protected int buyerCapacity

sellerCapacity

protected int sellerCapacity

sellerStrategies

protected FixedQuantityStrategy[] sellerStrategies

buyerStrategies

protected FixedQuantityStrategy[] buyerStrategies

dataFile

protected DataWriter dataFile

distributionFile

protected DataWriter distributionFile

iterResults

protected DataWriter iterResults

strategyData

protected DataWriter strategyData

stats

protected ElectricityStats stats

auction

protected RoundRobinAuction auction

auctioneer

protected Auctioneer auctioneer

marketData

protected PriceStatisticsReport marketData

paramSummary

protected java.lang.String paramSummary

collectIterData

protected boolean collectIterData

collectStrategyData

protected boolean collectStrategyData

randomizer

protected StandardRandomizer randomizer

efficiency

protected CummulativeDistribution efficiency

mPB

protected CummulativeDistribution mPB

mPS

protected CummulativeDistribution mPS

pSA

protected CummulativeDistribution pSA

pBA

protected CummulativeDistribution pBA

pST

protected CummulativeDistribution pST

pBT

protected CummulativeDistribution pBT

eAN

protected CummulativeDistribution eAN

mPBN

protected CummulativeDistribution mPBN

mPSN

protected CummulativeDistribution mPSN

sMPB

protected CummulativeDistribution sMPB

sMPS

protected CummulativeDistribution sMPS

sMPBN

protected CummulativeDistribution sMPBN

sMPSN

protected CummulativeDistribution sMPSN

pBCE

protected CummulativeDistribution pBCE

pSCE

protected CummulativeDistribution pSCE

equilibPrice

protected CummulativeDistribution equilibPrice

equilibQty

protected CummulativeDistribution equilibQty

learningDelta

protected CummulativeDistribution learningDelta

variables

protected CummulativeDistribution[] variables

P_MAXROUNDS

public static final java.lang.String P_MAXROUNDS
See Also:
Constant Field Values

P_ITERATIONS

public static final java.lang.String P_ITERATIONS
See Also:
Constant Field Values

P_OUTPUTDIR

public static final java.lang.String P_OUTPUTDIR
See Also:
Constant Field Values

P_ELECTRICITY

public static final java.lang.String P_ELECTRICITY
See Also:
Constant Field Values

P_AUCTIONEERKSAMPLES

public static final java.lang.String P_AUCTIONEERKSAMPLES
See Also:
Constant Field Values

P_KMIN

public static final java.lang.String P_KMIN
See Also:
Constant Field Values

P_KMAX

public static final java.lang.String P_KMAX
See Also:
Constant Field Values

P_KDELTA

public static final java.lang.String P_KDELTA
See Also:
Constant Field Values

P_AUCTIONEER

public static final java.lang.String P_AUCTIONEER
See Also:
Constant Field Values

P_CB

public static final java.lang.String P_CB
See Also:
Constant Field Values

P_CS

public static final java.lang.String P_CS
See Also:
Constant Field Values

P_NS

public static final java.lang.String P_NS
See Also:
Constant Field Values

P_NB

public static final java.lang.String P_NB
See Also:
Constant Field Values

P_SELLER_STRATEGY

public static final java.lang.String P_SELLER_STRATEGY
See Also:
Constant Field Values

P_BUYER_STRATEGY

public static final java.lang.String P_BUYER_STRATEGY
See Also:
Constant Field Values

P_STRATEGY

public static final java.lang.String P_STRATEGY
See Also:
Constant Field Values

P_STATS

public static final java.lang.String P_STATS
See Also:
Constant Field Values

P_ITER_DATA

public static final java.lang.String P_ITER_DATA
See Also:
Constant Field Values

P_STRATEGY_DATA

public static final java.lang.String P_STRATEGY_DATA
See Also:
Constant Field Values

P_RANDOMIZER

public static final java.lang.String P_RANDOMIZER
See Also:
Constant Field Values

P_PRNG

public static final java.lang.String P_PRNG
See Also:
Constant Field Values
Constructor Detail

ElectricityExperiment

public ElectricityExperiment()
Method Detail

setup

public void setup(ec.util.ParameterDatabase parameters,
                  ec.util.Parameter base)
Description copied from interface: Parameterizable
Initialise this object from a parameter database.

Specified by:
setup in interface Parameterizable

main

public static void main(java.lang.String[] args)

run

public void run()
Specified by:
run in interface java.lang.Runnable

performExperiment

public void performExperiment()
                       throws java.io.IOException
Throws:
java.io.IOException

experiment

public void experiment(double auctioneerK,
                       double[][] randomizedPrivateValues)
                throws java.io.FileNotFoundException
Throws:
java.io.FileNotFoundException

registerTraders

protected void registerTraders(RoundRobinAuction auction,
                               boolean areSellers,
                               int num,
                               int capacity)

calculateStatistics

protected void calculateStatistics()

summariseParameters

protected void summariseParameters()

recordVariables

protected void recordVariables(double auctioneerK)

resetVariables

protected void resetVariables()

writeDataFileHeadings

protected void writeDataFileHeadings()
                              throws java.io.IOException
Throws:
java.io.IOException

reportSummary

protected void reportSummary(double auctioneerK)

dumpIterResults

protected void dumpIterResults()

dumpStrategyData

protected void dumpStrategyData()

initIterResults

protected void initIterResults(java.lang.String filename)
                        throws java.io.FileNotFoundException
Throws:
java.io.FileNotFoundException

initStrategyData

protected void initStrategyData(java.lang.String filename)
                         throws java.io.FileNotFoundException
Throws:
java.io.FileNotFoundException

mpNormalise

public double mpNormalise(double marketPower)