-
Notifications
You must be signed in to change notification settings - Fork 0
Institutions set up
Each Region has a set of Institutions, whose effects are combined. Institutions can have any internal structure, but there are a number of subclasses with distinctive functionality.
Institutions are included in Region files, either as institutions
(i.e. inline) or as institutionFile
(references to a file containing
an institution).
<region ...
<institution class=" classname " ... >
</institution>
<institutionFile>filename</institutionFile>
...
</region>
In the instituionFile it is possible to define a single institution
(element institution
) or multiple institutions enclosed in an
institutionsList
element:
<institutionsList>
<institution class="org.volante.abm.social.InnovativeInstitution">
<innovation class="org.volante.abm.example.socialInteraction.ProductivityInnovation" id="CropProductivityInnovation">
<affectedServices>Cereal</affectedServices>
</innovation>
<targetRecruitmentComp class="org.volante.abm.institutions.recruit.ProbabilityRandomRecruitment">
<probability>0.05</probability>
</targetRecruitmentComp>
</institution>
<institution class="org.volante.abm.social.InnovativeInstitution">
<innovation class="org.volante.abm.example.socialInteraction.ProductivityInnovation" id="CropProductivityInnovation">
<affectedServices>Meat</affectedServices>
</innovation>
<targetRecruitmentComp class="org.volante.abm.institutions.recruit.ProbabilityRandomRecruitment">
<probability>0.1</probability>
</targetRecruitmentComp>
</institution>
</institutionsList>
There are three methods to override to do useful things with institutions:
public double adjustCompetitiveness( PotentialAgent agent, Cell location, UnmodifiableNumberMap<Service> provision, double competitiveness )
This allows the institution to adjust the competitiveness of either service provision or certain agents, can be done spatially by using the location.
public void adjustCapitals( Cell c )
Used to adjust the capital levels present in a given cell.
public boolean isAllowed( PotentialAgent agent, Cell location )
Used to forbid agents from being in certain locations
The DefaultInstitution provides a way to give subsidies to agents, or for services, and to add/subtract capital levels. This may not be useful on its own, but it should be a useful starting point for defining more detailed functionality.
This innovation is capable of triggering innovations at certain ticks.
::: {.table-wrap} Parameter Type Default Required Description
innovation Innovation null yes Innovation to trigger. Needs to be specified inline. targetRecruitmentComp InstitutionTargetRecruitment null yes Component responsible for recruitment of informed agents. innovationReleaseTick int 0 no Tick of release :::
<institution class="org.volante.abm.social.InnovativeInstitution">
<innovation class="org.volante.abm.example.socialInteraction.ProductivityInnovation" id="CropProductivityInnovation">
<affectiveAFTs>C_Cereal, NC_Cereal</affectiveAFTs>
<affectedAFTs>C_Cereal, NC_Cereal</affectedAFTs>
<affectedServices>Cereal</affectedServices>
<adoptionFactor>1.0</adoptionFactor>
<neighbourThresholds aft="C_Cereal">0.5</neighbourThresholds>
<neighbourThresholds aft="NC_Cereal">0.8</neighbourThresholds>
<normaliseProductivity>true</normaliseProductivity>
</innovation>
<targetRecruitmentComp class="org.volante.abm.institutions.recruit.ProbabilityRandomRecruitment">
<probability>0.05</probability>
</targetRecruitmentComp>
<innovationReleaseTick>2012</innovationReleaseTick>
</institution>
RepeatingInnovativeInstitution
s implement the PreTickAction
interface to renew RepeatingInnovation
s according to their renewal
interval: they request the renewed innovation and spread it.
For information about the innovation framework and setting up innovations see Insititutions and Innovations.
[]{#Institutions-CapitalDynamicsInstitution .confluence-anchor-link}CapitalDynamicsInstitution {#Institutions-CapitalDynamicsInstitutionCapitalDynamicsInstitution}
This institutions allows time-dynamic adaptations to capital levels. Factors for adaptations are stored in a CSV file. See Adjusting Capitals for more information on the topic.
::: {.table-wrap} Parameter Type Default Description
captialAdjustmentsCSV String null CSV filename that points to capital adaptation factors tickCol String Year Column name of tick column :::
Configuration example:
Institution_DynamicCapitals.xml
<institution class="org.volante.abm.institutions.CapitalDynamicsInstitution">
<captialAdjustmentsCSV>csv/CapitalAdaptationFactors.csv</captialAdjustmentsCSV>
<tickCol>Year</tickCol>
</institution>
Implementations of InstitutionTargetRecruitment Components {#Institutions-ImplementationsofInstitutionTargetRecruitmentComponents}
InstitutionTargetRecruitment components are responsible for selecting the initial set of agents the innovation is passed to.
Recruits each agent from the passed set with probability given by probability
.
::: {.table-wrap} Parameter Type Default Required Description
initialAwarenessProb double 0.05 no Probability of an agent to become initially aware. This is alternative to numInitialAdopters! :::
Randomly recruits the number given as number
from the passed set of
agents.
::: {.table-wrap} Parameter Type Default Required Description
numInitialAdopters double 0 no Number of agents that is selected at random. :::
Asks the initialTargetRecruitment
for the first set of target
recruitment agents and returns that for every subsequent requests.
::: {.table-wrap} Parameter Type Default Required Description
initialTargetRecruitment InstitutionTargetRecruitment - yes Applied to determine the first set of target recruitment agents additionalRecruitment InstitutionTargetRecruitment NumberRandomRecruitment no Applied to retrieve additional agents in case agents have been removed from the initial set in meantime.