|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjadex.bdi.planlib.protocols.ExponentialPriceCalculator
public class ExponentialPriceCalculator
A sample implementation of the IPriceCalculator. Calculates the price for the next round of an english auction.
| Field Summary | |
|---|---|
protected double |
base
The base (base^round). |
protected boolean |
increasing
Flag indicating if increasing or decreasing prices are calculated. |
protected double |
limitprice
The limit price. |
protected double |
minstepwidth
The minimum step width. |
protected java.util.List |
prices
The prices. |
protected int |
round
The negotiation round. |
protected double |
startprice
The start price. |
protected double |
variation
The variation. |
| Constructor Summary | |
|---|---|
ExponentialPriceCalculator(double startprice,
double limitprice,
double base)
Create a new exponential price calculator. |
|
ExponentialPriceCalculator(double startprice,
double limitprice,
double base,
double variation,
double minstepwidth)
Create a new exponential price calculator. |
|
| Method Summary | |
|---|---|
java.lang.Comparable |
getCurrentOffer()
Get the price for the current round of this auction. |
java.lang.Comparable |
getLastOffer()
Returns the offer for the last round. |
java.lang.Comparable |
getLimitOffer()
Get the min price. |
int |
getRound()
Get the round. |
java.lang.Comparable |
getStartOffer()
Get the start price. |
static void |
main(java.lang.String[] args)
Main for testing. |
void |
setNextRound()
Increase the round. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected int round
protected double startprice
protected double limitprice
protected java.util.List prices
protected double variation
protected double base
protected double minstepwidth
protected boolean increasing
| Constructor Detail |
|---|
public ExponentialPriceCalculator(double startprice,
double limitprice,
double base)
startprice - The start price.limitprice - The limit price (min or max) for a auction.base - The base for the exponential function.
public ExponentialPriceCalculator(double startprice,
double limitprice,
double base,
double variation,
double minstepwidth)
startprice - the start pricelimitprice - the minimal price for a successful auctionbase - The base for the exponential function.variation - The variation in percentage (0->1) for the increment.
The increment will be used to adapt the increment by multiplying
it with (+/-) a random value that has maximal the variation
percentage influence, e.g. setting 0.1 will cause the increment
being maximally +/-10% changed.minstepwidth - The minimum step width (a positive value that describes
the minimum price change in each round).| Method Detail |
|---|
public java.lang.Comparable getCurrentOffer()
getCurrentOffer in interface IOfferGeneratorpublic java.lang.Comparable getLastOffer()
getLastOffer in interface IOfferGeneratorpublic java.lang.Comparable getLimitOffer()
getLimitOffer in interface IOfferGeneratorpublic java.lang.Comparable getStartOffer()
getStartOffer in interface IOfferGeneratorpublic int getRound()
getRound in interface IOfferGeneratorpublic void setNextRound()
setNextRound in interface IOfferGeneratorpublic static void main(java.lang.String[] args)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||