1 | package bargainingchips.utilityfunctions;
|
---|
2 |
|
---|
3 | import bargainingchips.Bundle;
|
---|
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 | *
|
---|
15 | * A few middle complexity utility functions:
|
---|
16 | * UF_CloseToQuantity, UF_LessPrice, ...
|
---|
17 | *
|
---|
18 | * A few complex utility functions:
|
---|
19 | * UF_LessPriceCloseToQuantity, UF_IntensifiedLessPriceCloseToQuantity,
|
---|
20 | * UF_PeakedPricePeakedQuantity, UF_PeakedFlatPricePeakedFlatQuantity, UF_PeakedFlatCurvePriceGaussianQuantity,
|
---|
21 | * UF_BezierPriceBezierQuantity, UF_BezierPriceGaussianQuantity
|
---|
22 | *
|
---|
23 | *
|
---|
24 | *
|
---|
25 | * @author Faria Nassiri-Mofakham
|
---|
26 | *
|
---|
27 | */
|
---|
28 | public interface UtilityFunction
|
---|
29 | {
|
---|
30 | public Double getUtility(Bundle b);
|
---|
31 | //public <T extends UtilityFunction> T getUtility(Bundle b, class<T> type);
|
---|
32 | }
|
---|
33 |
|
---|