[316] | 1 | package bargainingchips.utilityfunctions;
|
---|
[315] | 2 |
|
---|
[316] | 3 | import bargainingchips.Bundle;
|
---|
[315] | 4 |
|
---|
| 5 | /**
|
---|
| 6 | *
|
---|
| 7 | * This package is devoted to the Utility Function interface and all the classes for different definitions of utility functions.
|
---|
| 8 | * Utility function is employed by each agent, either coordinator or negotiator, to evaluate an offer, the bundle.
|
---|
| 9 | * A few of these functions evaluate a bundle as 1.0 or 0.0 according to satisfaction of one or few simple conditions.
|
---|
| 10 | * A few others, more general, could represent more flexible conditions, e.g., weighted average, or so, which are not as simple as those in single item cases.
|
---|
| 11 | *
|
---|
| 12 | * A few simple 0-1 utility functions:
|
---|
| 13 | * UF_IWant3Red, UF_IWantColorAndQuantity, UF_Nice, UF_Crazy, UF_AllOrNothing, UF_75pQtyOrNothing, UF_prcntQTYandprcntPrice, UF_FreeDisposal, ...
|
---|
| 14 | *
|
---|
[338] | 15 | * A few middle complexity utility functions:
|
---|
| 16 | * UF_CloseToQuantity, UF_LessPrice, ...
|
---|
[315] | 17 | *
|
---|
[338] | 18 | * A few complex utility functions:
|
---|
| 19 | * UF_LessPriceCloseToQuantity, UF_IntensifiedLessPriceCloseToQuantity,
|
---|
| 20 | * UF_PeakedPricePeakedQuantity, UF_PeakedFlatPricePeakedFlatQuantity, UF_PeakedFlatCurvePriceGaussianQuantity,
|
---|
| 21 | * UF_BezierPriceBezierQuantity, UF_BezierPriceGaussianQuantity
|
---|
[315] | 22 | *
|
---|
| 23 | *
|
---|
| 24 | *
|
---|
| 25 | * @author Faria Nassiri-Mofakham
|
---|
| 26 | *
|
---|
| 27 | */
|
---|
| 28 | public interface UtilityFunction
|
---|
| 29 | {
|
---|
| 30 | public Double getUtility(Bundle b);
|
---|
[338] | 31 | //public <T extends UtilityFunction> T getUtility(Bundle b, class<T> type);
|
---|
[315] | 32 | }
|
---|
| 33 |
|
---|