public class ProductivityInnovation extends Innovation implements PostTickAction
affectedService by effectOnProductivityFactor.| Modifier and Type | Field and Description |
|---|---|
protected String |
affectedServices |
protected Set<Service> |
affectedServiceSet |
protected String |
affectiveAFTs
AFTs that count in the evaluation of social network partners.
|
protected Set<String> |
affectiveAFTset |
protected double |
effectDiscountFactor
Factor that is applied to
effectOnProductivityFactor every tick. |
protected double |
effectOnProductivityFactor
Inrease of productivity in case of adoption.
|
protected Boolean |
normaliseProductivity
Normalise changes in productivity (subtract the average increase from every agent's
productivity)?
|
protected Map<String,Double> |
socialPartnerShareAdjustment
Specifies for each AFT the required proportions of adopted among
neighbours to adopt itself; Values > 1 cause the trial/adoption to be
likelier, values < 1 cause to adoption to be less likely.
|
adoptionThreshold, affectedAFTs, affectedAftSet, identifier, lifeSpan, modelData, region, rInfo, trialThreshold| Constructor and Description |
|---|
ProductivityInnovation(String identifier) |
| Modifier and Type | Method and Description |
|---|---|
double |
getEffectDiscountFactor() |
double |
getEffectOnProductivityFactor() |
double |
getTrialThreshold(Agent agent)
Multiplies the generic adoption factor with AFT specific social partner share adjustment
factor.
|
InnovationBo |
getWaitingBo(SocialAgent agent) |
void |
initialise(ModelData data,
RunInfo info,
Region r)
Assign model data, run info, and region.
|
void |
perform(InnovationAgent agent)
Let this innovation take effect for the given agent.
|
void |
postTick()
Updates effect on productivity factor by discount factor
|
void |
setEffectOnProductivityFactor(double effectOnProductivityFactor) |
void |
unperform(InnovationAgent agent)
Undo the effect of this innovation for the given agent.
|
getAdoptionNoise, getAdoptionThreshold, getAffectedAFTs, getIdentifier, getLifeSpan, getTrialNoise, outdate, setAffectedAFTsprotected Map<String,Double> socialPartnerShareAdjustment
protected Boolean normaliseProductivity
protected double effectOnProductivityFactor
protected double effectDiscountFactor
effectOnProductivityFactor every tick.protected String affectiveAFTs
protected String affectedServices
public ProductivityInnovation(String identifier)
identifier - public void initialise(ModelData data, RunInfo info, Region r) throws Exception
InnovationInnovationRegistry.initialise in interface Initialisableinitialise in class Innovationdata - model datainfo - run informationr - region the initialisable object belongs toExceptionInnovation.initialise(org.volante.abm.data.ModelData,
org.volante.abm.schedule.RunInfo, org.volante.abm.data.Region)public void postTick()
postTick in interface PostTickActionPreTickAction.preTick()public double getTrialThreshold(Agent agent)
getTrialThreshold in class InnovationInnovation.getTrialThreshold(org.volante.abm.agent.Agent)public void setEffectOnProductivityFactor(double effectOnProductivityFactor)
effectOnProductivityFactor - public double getEffectOnProductivityFactor()
public InnovationBo getWaitingBo(SocialAgent agent)
getWaitingBo in class Innovationpublic void perform(InnovationAgent agent)
Innovationperform in class InnovationInnovation.perform(org.volante.abm.agent.InnovationAgent)public void unperform(InnovationAgent agent)
Innovationunperform in class InnovationInnovation.unperform(org.volante.abm.agent.InnovationAgent)public double getEffectDiscountFactor()