public class DeliberativeConsumerAgentAdoptionDecisionProcess extends UtilitarianConsumerAgentAdoptionDecisionProcess
associatedUtilityFunction| Constructor and Description |
|---|
DeliberativeConsumerAgentAdoptionDecisionProcess(UtilityFunction associatedUtilityFunction,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Double>> importanceAttitudeProtoMap) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
betterProductAvailable(SimulationContainer simulationContainer,
ConsumerAgent consumerAgent,
Product productToCompare,
java.util.Set<Product> potentialProducts,
double systemTime)
Method to see if any of the potential products have a higher utility for the consumerAgent at systemTime than the productToCompare,
based on DeliberativeDecision utilitarian approach
|
protected double |
calculateUtility(SimulationContainer simulationContainer,
Product product,
ConsumerAgent consumerAgent,
double systemTime)
Method to calculate the utility of the given product for the consumerAgent at systemTime using the DeliberativeDecision utility function.
|
Product |
makeProductAdoptionDecision(SimulationContainer simulationContainer,
ConsumerAgent consumerAgent,
java.util.Set<Product> potentialProducts,
double systemTime)
Agent will make a decision to adopt one of the products entering this decision process based on the process of Deliberative Decision if more than one product is available.
|
getUtilityFunctionUsedpublic DeliberativeConsumerAgentAdoptionDecisionProcess(UtilityFunction associatedUtilityFunction, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Double>> importanceAttitudeProtoMap)
public Product makeProductAdoptionDecision(SimulationContainer simulationContainer, ConsumerAgent consumerAgent, java.util.Set<Product> potentialProducts, double systemTime) throws java.lang.IllegalArgumentException
makeProductAdoptionDecision in class ConsumerAgentAdoptionDecisionProcesssimulationContainer - The container the simulation runs inconsumerAgent - The consumer agent making the decisionpotentialProducts - The products eligible for the adoption of this agentsystemTime - The current time of the simulationjava.lang.IllegalArgumentException - Will be thrown when no potential products are givenpublic boolean betterProductAvailable(SimulationContainer simulationContainer, ConsumerAgent consumerAgent, Product productToCompare, java.util.Set<Product> potentialProducts, double systemTime)
betterProductAvailable in class ConsumerAgentAdoptionDecisionProcesssimulationContainer - The container the simulation runs inconsumerAgent - The consumer agent making the decisionproductToCompare - The product of interest (that is compared to the other products)potentialProducts - The products the productToCompare is compared tosystemTime - The current time of the simulationprotected double calculateUtility(SimulationContainer simulationContainer, Product product, ConsumerAgent consumerAgent, double systemTime) throws java.lang.IllegalArgumentException
calculateUtility in class UtilitarianConsumerAgentAdoptionDecisionProcesssimulationContainer - The container the simulation is contained inproduct - The product whose utility is to be calculatedconsumerAgent - The consumer agent for which the utility is calculatedsystemTime - The time at which the utility is calculatedjava.lang.IllegalArgumentException