Public Member Functions | |
long | calcNumHouseholdsCopying () |
Calculate the number of households that should imitate other households. | |
long | calcNumHouseholdsObserved () |
Calculate the number of households that should observed for imitation. | |
Private Attributes | |
final SectorInitValues | sectorInitValues |
The initialization values for the Sectors. | |
final GovernmentInitValues | governmentInitValues |
The initialization values for the Government. | |
final FinancialInitValues | financialInitValues |
The initialization values for the Financial System. | |
final HouseholdInitValues | householdInitValues |
The initialization values for the Households. | |
String | description = "" |
A short description of the purpose of the .csv file (combination of init values). | |
boolean | randomTradeOrder = true |
En/disable the random agent trade order in the exchange step. | |
int | benchmarkWageInterval = 5 |
Each benchmarkWageInterval periods the benchmark wage is adjusted. | |
boolean | firmAdjustWorkforce = true |
En/disable that firms adjust their workforce. | |
boolean | householdAdjustEmployment = true |
En/disable that household adjust their employment status. | |
boolean | wagesIndexed = false |
En/disable wage indexation. | |
boolean | initEquilibrium = false |
En/disable equilibrium initialization. | |
int | adjustEmploymentInterval = 5 |
Each adjustEmploymentInterval periods the workforce is adjusted. | |
double | wageVariation = 0.01d |
The variation of the initial wage. | |
boolean | firmsBeliefUpdating = true |
En/disable that firms adjust their prices and desired production. | |
int | priceInterval = 1 |
Each priceInterval periods the firms adjust their prices. | |
boolean | laborProductivityUpdating = true |
Determine how to update the labor productivity. | |
double | exogenousLaborProductivityGrowthRate = 0.0 |
The growth rate of the labor productivity in the case, that it's not calculated using the rate of net investment. | |
boolean | financialSettingTheInterestRate = true |
En/disable the calculation of a new interest rate. | |
int | interestRateInterval = 5 |
Each interestRateInterval periods the Financial System adjust the interest rate. | |
boolean | firmEntryAndExit = false |
En/disable the Firms Entry and Exit step. | |
int | firmEntryAndExitInterval = 5 |
Each firmEntryAndExitInterval periods the next firm generation will be calculated. | |
boolean | geneticEvolutionTechnologies = true |
En/disable the evolution of technologies. | |
boolean | geneticEvolutionPrices = true |
En/disable the evolution of prices. | |
boolean | geneticEvolutionWages = true |
En/disable the evolution of wages. | |
int | numFirms = 100 |
The overall number of firms in the model at the beginning of a model run. | |
boolean | firmsHaveSameSize = false |
Force the firms to have the same desired production level. | |
boolean | sectorsHaveSameNumberOfFirms = false |
If this option is set to false, the number of firms per sector depends on the initial production level. | |
int | numHouseholds = 500 |
The number of Households in the model. | |
double | householdReplacementRate = 0.25 |
The fraction of households copying during the genetic step. | |
double | householdSamplingRate = 0.1 |
The fraction of households observed during the genetic step. | |
int | seed |
The seed that is used the next initialization for constructing a new RandomGenerator. | |
int | startingYear = 1978 |
The 'starting-year' of the simulation. | |
int | numPeriodsPerYear = 12 |
The number of periods are representing a 'real-world' year. |
The fields must be set before calling Foundation.init, changes afterwards are ignored.
Definition at line 30 of file FoundationInitValues.java.
long calcNumHouseholdsCopying | ( | ) |
Calculate the number of households that should imitate other households.
Definition at line 306 of file FoundationInitValues.java.
Referenced by Foundation.geneticEvolutionOfTechnologies().
00306 { 00307 long lNumCopyHouseholds = Math.round(numHouseholds * householdReplacementRate); 00308 if (numHouseholds == 1) { 00309 lNumCopyHouseholds = 0; 00310 } else if (lNumCopyHouseholds == 0) { 00311 lNumCopyHouseholds = 1; 00312 } 00313 assert (lNumCopyHouseholds <= numHouseholds): "HouseholdsReplacementRate is too high"; 00314 00315 return lNumCopyHouseholds; 00316 }
long calcNumHouseholdsObserved | ( | ) |
Calculate the number of households that should observed for imitation.
Definition at line 321 of file FoundationInitValues.java.
Referenced by Foundation.geneticEvolutionOfTechnologies().
00321 { 00322 long lNumObservedHouseholds = Math.round(numHouseholds * householdSamplingRate); 00323 if (numHouseholds == 1) { 00324 lNumObservedHouseholds = 0; 00325 } else if (lNumObservedHouseholds == 0) { 00326 lNumObservedHouseholds = 1; 00327 } 00328 assert (lNumObservedHouseholds <= numHouseholds): "HouseholdsObservationRate is too high"; 00329 00330 return lNumObservedHouseholds; 00331 }
final SectorInitValues sectorInitValues [private] |
The initialization values for the Sectors.
Definition at line 32 of file FoundationInitValues.java.
Referenced by Foundation.calcDifference(), Foundation.constructSectors(), Foundation.geneticEvolutionOfPrices(), Foundation.geneticEvolutionOfTechnologies(), Foundation.geneticEvolutionOfWages(), and Foundation.initMutateConsumptionTechnology().
final GovernmentInitValues governmentInitValues [private] |
The initialization values for the Government.
Definition at line 34 of file FoundationInitValues.java.
final FinancialInitValues financialInitValues [private] |
The initialization values for the Financial System.
Definition at line 36 of file FoundationInitValues.java.
final HouseholdInitValues householdInitValues [private] |
The initialization values for the Households.
Definition at line 38 of file FoundationInitValues.java.
Referenced by Foundation.initHouseholds(), and Foundation.initMutateConsumptionTechnology().
String description = "" [private] |
A short description of the purpose of the .csv file (combination of init values).
Definition at line 42 of file FoundationInitValues.java.
boolean randomTradeOrder = true [private] |
En/disable the random agent trade order in the exchange step.
If the order isn't randomised, first the firms will trade, then the households.
Definition at line 51 of file FoundationInitValues.java.
int benchmarkWageInterval = 5 [private] |
Each benchmarkWageInterval periods the benchmark wage is adjusted.
Definition at line 58 of file FoundationInitValues.java.
boolean firmAdjustWorkforce = true [private] |
En/disable that firms adjust their workforce.
Definition at line 64 of file FoundationInitValues.java.
boolean householdAdjustEmployment = true [private] |
En/disable that household adjust their employment status.
Definition at line 70 of file FoundationInitValues.java.
boolean wagesIndexed = false [private] |
boolean initEquilibrium = false [private] |
int adjustEmploymentInterval = 5 [private] |
Each adjustEmploymentInterval periods the workforce is adjusted.
Definition at line 89 of file FoundationInitValues.java.
double wageVariation = 0.01d [private] |
boolean firmsBeliefUpdating = true [private] |
En/disable that firms adjust their prices and desired production.
Definition at line 103 of file FoundationInitValues.java.
int priceInterval = 1 [private] |
Each priceInterval periods the firms adjust their prices.
Definition at line 109 of file FoundationInitValues.java.
boolean laborProductivityUpdating = true [private] |
Determine how to update the labor productivity.
If true, the labor productivity is updated proportionally to the rate of net investment. If false the labor productivity is updated according to the Exogenous Productivity Increase Rate.
Definition at line 125 of file FoundationInitValues.java.
double exogenousLaborProductivityGrowthRate = 0.0 [private] |
The growth rate of the labor productivity in the case, that it's not calculated using the rate of net investment.
Definition at line 137 of file FoundationInitValues.java.
boolean financialSettingTheInterestRate = true [private] |
En/disable the calculation of a new interest rate.
Definition at line 143 of file FoundationInitValues.java.
int interestRateInterval = 5 [private] |
Each interestRateInterval periods the Financial System adjust the interest rate.
Definition at line 150 of file FoundationInitValues.java.
boolean firmEntryAndExit = false [private] |
int firmEntryAndExitInterval = 5 [private] |
Each firmEntryAndExitInterval periods the next firm generation will be calculated.
FoundationInitValues.firmEntryAndExitInterval;
Definition at line 166 of file FoundationInitValues.java.
boolean geneticEvolutionTechnologies = true [private] |
boolean geneticEvolutionPrices = true [private] |
boolean geneticEvolutionWages = true [private] |
int numFirms = 100 [private] |
The overall number of firms in the model at the beginning of a model run.
Definition at line 205 of file FoundationInitValues.java.
boolean firmsHaveSameSize = false [private] |
Force the firms to have the same desired production level.
Definition at line 212 of file FoundationInitValues.java.
boolean sectorsHaveSameNumberOfFirms = false [private] |
If this option is set to false, the number of firms per sector depends on the initial production level.
Definition at line 220 of file FoundationInitValues.java.
int numHouseholds = 500 [private] |
double householdReplacementRate = 0.25 [private] |
The fraction of households copying during the genetic step.
Definition at line 232 of file FoundationInitValues.java.
double householdSamplingRate = 0.1 [private] |
The fraction of households observed during the genetic step.
Definition at line 238 of file FoundationInitValues.java.
int seed [private] |
The seed that is used the next initialization for constructing a new RandomGenerator.
Definition at line 242 of file FoundationInitValues.java.
int startingYear = 1978 [private] |
The 'starting-year' of the simulation.
Most parts of the simulation are independent to 'historical' time series and need only data as a starting point, but e.g. for the calculation of the carbon intensity coefficient, we refer to an approximation of existing time series, so a function is needed that allow the transformation of the actual simulation period to a 'real-world' date. This can be done using the starting point given here and the information about the length of a period given in FoundationInitValues.numPeriodsPerYear.
Definition at line 259 of file FoundationInitValues.java.
int numPeriodsPerYear = 12 [private] |
The number of periods are representing a 'real-world' year.
Definition at line 269 of file FoundationInitValues.java.