diff --git a/documentation/activity/Activity.html b/documentation/activity/Activity.html
new file mode 100644
index 00000000..bbb20542
--- /dev/null
+++ b/documentation/activity/Activity.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+Activity
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Prev Class
+Next Class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+public class Activity
+extends java.lang.Object
+Each agent has a set of possible activities that are a result of strategic decision-making based on the COMSUMAT approach.
+ These activities could be crop or livestock production methods, a farming technology (i.e. weed control strategy) or engagement in non-farming activities.
+
+ Each agent contains a list of possible activities where each item is an activity object with a name and associated ID value.
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Activity (int ID,
+ java.lang.String name)
+Activity object constructor.
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Activity
+public Activity(int ID,
+ java.lang.String name)
+Activity object constructor. Always check against master list of activities before creation.
+
+Parameters:
+ID:
- ID of the activity
+name:
- name of the activity (cattle, pigs, 50% non-farming, etc.)
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getID
+public int getID()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Prev Class
+Next Class
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/activity/class-use/Activity.html b/documentation/activity/class-use/Activity.html
new file mode 100644
index 00000000..95443254
--- /dev/null
+++ b/documentation/activity/class-use/Activity.html
@@ -0,0 +1,423 @@
+
+
+
+
+
+Uses of Class activity.Activity
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use Activity
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+logging
+
+Log output of ABM
+
+
+
+mathematical_programming
+
+Mathematical Programming Interface for input and output files from the ABM.
+
+
+
+reader
+
+Create farm objects from external data files
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method parameters in agent with type arguments of type Activity
+
+Modifier and Type
+Method and Description
+
+
+
+void
+Farm. setActivities (java.util.List<Activity > activities)
+
+
+void
+Farm. setCurrentActivity (java.util.List<Activity > activities)
+
+
+void
+Farm. updateFarmParameters (java.util.List<Farm > allFarms,
+ double income,
+ java.util.List<Activity > activity)
+This function updates all updatedable parameters on the farm based on new income and activity
+
+
+
+
+
+Constructor parameters in agent with type arguments of type Activity
+
+Constructor and Description
+
+
+
+Farm (java.lang.String name,
+ Location location,
+ org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> socialNetwork,
+ java.util.List<java.lang.Double> incomeHistory,
+ FarmDataMatrix farmingExperience,
+ FarmDataMatrix preferences,
+ java.util.List<Activity > activities,
+ double activity_tolerance,
+ double income_tolerance,
+ java.util.List<Activity > currentActivity,
+ Person farmHead,
+ double beta_l,
+ double beta_s,
+ double beta_p,
+ double reference_income,
+ double aspiration_coef,
+ double lambda,
+ double alpha_plus,
+ double alpha_minus,
+ double phi_plus,
+ double phi_minus,
+ double fuzzy_size)
+This constructor sets up the parameters associated with a farm.
+
+
+
+Farm (java.lang.String name,
+ Location location,
+ org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> socialNetwork,
+ java.util.List<java.lang.Double> incomeHistory,
+ FarmDataMatrix farmingExperience,
+ FarmDataMatrix preferences,
+ java.util.List<Activity > activities,
+ double activity_tolerance,
+ double income_tolerance,
+ java.util.List<Activity > currentActivity,
+ Person farmHead,
+ double beta_l,
+ double beta_s,
+ double beta_p,
+ double reference_income,
+ double aspiration_coef,
+ double lambda,
+ double alpha_plus,
+ double alpha_minus,
+ double phi_plus,
+ double phi_minus,
+ double fuzzy_size)
+This constructor sets up the parameters associated with a farm.
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor parameters in logging with type arguments of type Activity
+
+Constructor and Description
+
+
+
+ABMActivityLog (java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ int strat,
+ java.util.List<Activity > currentActivity,
+ java.util.List<Activity > MPSelectedActivity)
+Constructor for the CSV Log
+
+
+
+ABMActivityLog (java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ int strat,
+ java.util.List<Activity > currentActivity,
+ java.util.List<Activity > MPSelectedActivity)
+Constructor for the CSV Log
+
+
+
+ABMTimeStepLog (java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ java.lang.Double learning_rate,
+ java.lang.Double activity_diss,
+ java.lang.Double income_diss,
+ double satisfaction,
+ int strat,
+ double income,
+ java.util.List<Activity > currentActivity,
+ java.util.List<java.lang.String> possibleActivities,
+ Farm farm)
+Constructor for the CSV log
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in reader that return types with arguments of type Activity
+
+Modifier and Type
+Method and Description
+
+
+
+java.util.List<Activity >
+ReadData. getActivityList ()
+Create list of activity type/category by reading the years of experience file
+ This is used to generate the individual farm activities lists
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/activity/package-frame.html b/documentation/activity/package-frame.html
new file mode 100644
index 00000000..2a0c7178
--- /dev/null
+++ b/documentation/activity/package-frame.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+activity
+
+
+
+
+
+
+
+
+
diff --git a/documentation/activity/package-summary.html b/documentation/activity/package-summary.html
new file mode 100644
index 00000000..c04cc751
--- /dev/null
+++ b/documentation/activity/package-summary.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+activity
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+Activity
+
+Each agent has a set of possible activities that are a result of strategic decision-making based on the COMSUMAT approach.
+
+
+
+
+
+
+
+
+
+
Package activity Description
+
Farm activities entail all possible actions a farm agent could perform
+
+
+
+
+
+
+
diff --git a/documentation/activity/package-tree.html b/documentation/activity/package-tree.html
new file mode 100644
index 00000000..15f65c68
--- /dev/null
+++ b/documentation/activity/package-tree.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+activity Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/activity/package-use.html b/documentation/activity/package-use.html
new file mode 100644
index 00000000..17985c25
--- /dev/null
+++ b/documentation/activity/package-use.html
@@ -0,0 +1,230 @@
+
+
+
+
+
+Uses of Package activity
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use activity
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+logging
+
+Log output of ABM
+
+
+
+mathematical_programming
+
+Mathematical Programming Interface for input and output files from the ABM.
+
+
+
+reader
+
+Create farm objects from external data files
+
+
+
+
+
+
+
+
+
+Classes in activity used by agent
+
+Class and Description
+
+
+
+Activity
+Each agent has a set of possible activities that are a result of strategic decision-making based on the COMSUMAT approach.
+
+
+
+
+
+
+
+
+
+Classes in activity used by logging
+
+Class and Description
+
+
+
+Activity
+Each agent has a set of possible activities that are a result of strategic decision-making based on the COMSUMAT approach.
+
+
+
+
+
+
+
+
+
+Classes in activity used by mathematical_programming
+
+Class and Description
+
+
+
+Activity
+Each agent has a set of possible activities that are a result of strategic decision-making based on the COMSUMAT approach.
+
+
+
+
+
+
+
+
+
+Classes in activity used by reader
+
+Class and Description
+
+
+
+Activity
+Each agent has a set of possible activities that are a result of strategic decision-making based on the COMSUMAT approach.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/Farm.html b/documentation/agent/Farm.html
new file mode 100644
index 00000000..66f255f2
--- /dev/null
+++ b/documentation/agent/Farm.html
@@ -0,0 +1,1359 @@
+
+
+
+
+
+Farm
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+public class Farm
+extends java.lang.Object
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Farm (java.lang.String name,
+ Location location,
+ org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> socialNetwork,
+ java.util.List<java.lang.Double> incomeHistory,
+ FarmDataMatrix farmingExperience,
+ FarmDataMatrix preferences,
+ java.util.List<Activity > activities,
+ double activity_tolerance,
+ double income_tolerance,
+ java.util.List<Activity > currentActivity,
+ Person farmHead,
+ double beta_l,
+ double beta_s,
+ double beta_p,
+ double reference_income,
+ double aspiration_coef,
+ double lambda,
+ double alpha_plus,
+ double alpha_minus,
+ double phi_plus,
+ double phi_minus,
+ double fuzzy_size)
+This constructor sets up the parameters associated with a farm.
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+java.util.List<java.lang.Double>
+calc_q_set ()
+So if memory length is 5, we calculate an experience value for years 1 to 5.
+
+
+
+java.util.List<java.lang.String>
+decideActivitySet (java.util.List<Farm > allFarms,
+ org.apache.commons.cli.CommandLine cmd)
+This function executes strategic decision-making for all farms.
+
+
+
+java.util.List<Activity >
+getActivities ()
+
+
+double
+getActivity_Dissimilarity ()
+
+
+int
+getAge ()
+
+
+double
+getAveragePersonalIncomeChangeRate ()
+
+
+double
+getAveragePopulationIncomeChangeRate ()
+
+
+java.util.List<Activity >
+getCurrentActivity ()
+
+
+int
+getEducation ()
+
+
+FarmDataMatrix
+getExperience ()
+
+
+java.lang.String
+getFarmName ()
+
+
+Person
+getHead ()
+
+
+double
+getIncome_Dissimilarity ()
+
+
+java.util.List<java.lang.Double>
+getIncomeHistory ()
+
+
+double
+getLearningRate ()
+
+
+Location
+getLocation ()
+
+
+int
+getMemory ()
+
+
+org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge>
+getNetwork ()
+
+
+double
+getP_activity_tolerance_coef ()
+
+
+double
+getP_alpha_minus ()
+
+
+double
+getP_alpha_plus ()
+
+
+double
+getP_aspiration_coef ()
+
+
+double
+getP_beta_l ()
+
+
+double
+getP_beta_p ()
+
+
+double
+getP_beta_s ()
+
+
+double
+getP_fuzzy_size ()
+
+
+double
+getP_income_tolerance_coef ()
+
+
+double
+getP_lambda ()
+
+
+double
+getP_phi_minus ()
+
+
+double
+getP_phi_plus ()
+
+
+double
+getP_reference_income ()
+
+
+FarmDataMatrix
+getPreferences ()
+
+
+java.util.List<java.lang.Double>
+getQ_range ()
+
+
+double
+getSatisfaction ()
+
+
+int
+getStrategy ()
+
+
+double
+init_learning_rate ()
+Initialize a value for learning rate based on the memory limit of each farm
+
+
+
+void
+setActivities (java.util.List<Activity > activities)
+
+
+void
+setActivity_Dissimilarity (double activity_dissimilarity)
+
+
+void
+setAveragePersonalIncomeChangeRate (double averagePersonalIncomeChangeRate)
+
+
+void
+setAveragePopulationIncomeChangeRate (double averagePopulationIncomeChangePercent)
+
+
+void
+setCurrentActivity (java.util.List<Activity > activities)
+
+
+void
+setExperience (FarmDataMatrix experience)
+
+
+void
+setFarmName (java.lang.String farmName)
+
+
+void
+setHead (Person farmHead)
+
+
+void
+setIncome_Dissimilarity (double income_dissimilarity)
+
+
+void
+setIncomeHistory (java.util.List<java.lang.Double> incomeHistory)
+
+
+void
+setLearningRate ()
+
+
+void
+setLocation (Location location)
+
+
+void
+setNetwork (org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> network)
+
+
+void
+setP_activity_tolerance_coef (double p_activity_tolerance_coef)
+
+
+void
+setP_alpha_minus (double p_alpha_minus)
+
+
+void
+setP_alpha_plus (double p_alpha_plus)
+
+
+void
+setP_aspiration_coef (double p_aspiration_coef)
+
+
+void
+setP_beta_l (double p_beta_l)
+
+
+void
+setP_beta_p (double p_beta_p)
+
+
+void
+setP_beta_s (double p_beta_s)
+
+
+void
+setP_fuzzy_size (double p_fuzzy_size)
+
+
+void
+setP_income_tolerance_coef (double p_income_tolerance_coef)
+
+
+void
+setP_lambda (double p_lambda)
+
+
+void
+setP_phi_minus (double p_phi_minus)
+
+
+void
+setP_phi_plus (double p_phi_plus)
+
+
+void
+setP_reference_income (double p_reference_income)
+
+
+void
+setPreferences (FarmDataMatrix preferences)
+
+
+void
+setQ_range ()
+
+
+void
+setSatisfaction (double satisfaction)
+
+
+void
+setStrategy (int strategy)
+
+
+void
+updateActivityDissimilarity (java.util.List<Farm > farms)
+This function updates farms with values of dissimilarity in terms of activity.
+
+
+
+void
+updateAge ()
+Each time period, t, call this function to increment the experience vector of this farm.
+
+
+
+void
+updateAveragePersonalIncomeChangeRate ()
+Update personal income change rate over the previous time periods and include the current year.
+
+
+
+void
+updateExperience ()
+Each time period, t, call this function to increment the experience vector of this farm.
+
+
+
+void
+updateFarmParameters (java.util.List<Farm > allFarms,
+ double income,
+ java.util.List<Activity > activity)
+This function updates all updatedable parameters on the farm based on new income and activity
+
+
+
+void
+updateIncomeDissimilarity ()
+This function updates farms with values of dissimilarity in terms of income growth.
+
+
+
+void
+updateSatisfaction ()
+Based on the current income level of the farmer calculate new satisfaction level.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Farm
+public Farm(java.lang.String name,
+ Location location,
+ org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> socialNetwork,
+ java.util.List<java.lang.Double> incomeHistory,
+ FarmDataMatrix farmingExperience,
+ FarmDataMatrix preferences,
+ java.util.List<Activity > activities,
+ double activity_tolerance,
+ double income_tolerance,
+ java.util.List<Activity > currentActivity,
+ Person farmHead,
+ double beta_l,
+ double beta_s,
+ double beta_p,
+ double reference_income,
+ double aspiration_coef,
+ double lambda,
+ double alpha_plus,
+ double alpha_minus,
+ double phi_plus,
+ double phi_minus,
+ double fuzzy_size)
+This constructor sets up the parameters associated with a farm.
+
+Parameters:
+name:
- name of the farm agent
+location:
- location of the farm agent
+socialNetwork:
- social network of the agent shared among the population
+incomeHistory:
- income history for each agent
+farmingExperience:
- matrix of farming experience for each activity
+preferences:
- agent preference matrix for activities
+activities:
- list of all activities
+activity_tolerance:
- tolerance for activity differences
+income_tolerance:
- tolerance for income differences
+currentActivity:
- current activity for agent
+farmHead:
- person object to represent main farmer
+beta_l:
- parameter for fuzzy logic
+beta_s:
- parameter for fuzzy logic
+beta_p:
- parameter for fuzzy logic
+reference_income:
- parameter for agent to select high or low income levels
+aspiration_coef:
- aspiration value
+lambda:
- value for lambda for satisfaction
+alpha_plus:
- for satisfaction calculation
+alpha_minus:
- for satisfaction calculation
+phi_plus:
- for satisfaction calculation
+phi_minus:
- for satisfaction calculation
+fuzzy_size:
- how large of a fuzzy set to return
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+decideActivitySet
+public java.util.List<java.lang.String> decideActivitySet(java.util.List<Farm > allFarms,
+ org.apache.commons.cli.CommandLine cmd)
+This function executes strategic decision-making for all farms.
+ Comparing satisfaction to aspiration and dissimilarities to tolerance, agents decide which of the four strategies to pursue: repetition, optimization, imitation or opt-out.
+
+Parameters:
+allFarms:
- full list of all farms in system
+cmd:
- command line object that contains parameters for model
+Returns:
+ActivitySet: list of activity options for a farm to select
+
+
+
+
+
+
+
+
+updateFarmParameters
+public void updateFarmParameters(java.util.List<Farm > allFarms,
+ double income,
+ java.util.List<Activity > activity)
+This function updates all updatedable parameters on the farm based on new income and activity
+
+Parameters:
+allFarms:
- list of all farms
+income:
- income value of farm
+activity:
- activity list to update farm after MP time step iteration
+
+
+
+
+
+
+
+
+updateActivityDissimilarity
+public void updateActivityDissimilarity(java.util.List<Farm > farms)
+This function updates farms with values of dissimilarity in terms of activity.
+ The dissimilarity is calculated as the degree that the activity one performs is different from those its peers in social networks perform.
+
+Parameters:
+farms:
- list of farms
+
+
+
+
+
+
+
+
+updateIncomeDissimilarity
+public void updateIncomeDissimilarity()
+This function updates farms with values of dissimilarity in terms of income growth.
+ The dissimilarity is calculated as the degree that the growth rate of one's income is lower the average level of the population.
+
+
+
+
+
+
+
+updateSatisfaction
+public void updateSatisfaction()
+Based on the current income level of the farmer calculate new satisfaction level.
+ The farmer's income is set externally from LP simulation tool, or randomly generated from distribution
+
+
+
+
+
+
+
+updateExperience
+public void updateExperience()
+Each time period, t, call this function to increment the experience vector of this farm.
+ This experience vector is part of a shared experience matrix that all farms contain.
+ If the farm is currently performing an activity, then increase the experience of that activity for that farm.
+ For all other possible activities in the experience vector for this farm, decrement the experience by one year.
+
+ Increment the age of the farmer each time step.
+
+
+
+
+
+
+
+updateAge
+public void updateAge()
+Each time period, t, call this function to increment the experience vector of this farm.
+ This experience vector is part of a shared experience matrix that all farms contain.
+ If the farm is currently performing an activity, then increase the experience of that activity for that farm.
+ For all other possible activities in the experience vector for this farm, decrement the experience by one year.
+
+ Increment the age of the farmer each time step.
+
+
+
+
+
+
+
+updateAveragePersonalIncomeChangeRate
+public void updateAveragePersonalIncomeChangeRate()
+Update personal income change rate over the previous time periods and include the current year.
+ Income is an array of [year1_income, year2_income, year3_income, ... yearN_income]
+ change rate is calculated for all years as (Year_n-1 - Year_n) / year_n
+ We then set the mean of all the rates of change including the most recent year.
+
+
+
+
+
+
+
+
+
+
+
+calc_q_set
+public java.util.List<java.lang.Double> calc_q_set()
+So if memory length is 5, we calculate an experience value for years 1 to 5. And using this set of experience values we calculate a standard deviation.
+ Given a specific value for k/learning_rate, calculate all possible q (experience value) for all possible memory lengths.
+ So if memory is 5 years long, we calculate a q value for years 1 to 5. And using this set of q values we calculate a standard deviation.
+ This standard deviation is used to set the upper and lower values for the q range.
+
+Returns:
+q_range: lower and upper boundary for fuzzy logic selection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getAge
+public int getAge()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getMemory
+public int getMemory()
+
+
+
+
+
+
+
+getHead
+public Person getHead()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getStrategy
+public int getStrategy()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setQ_range
+public void setQ_range()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/Location.html b/documentation/agent/Location.html
new file mode 100644
index 00000000..747f2ff1
--- /dev/null
+++ b/documentation/agent/Location.html
@@ -0,0 +1,285 @@
+
+
+
+
+
+Location
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Location ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Location
+public Location()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/Person.html b/documentation/agent/Person.html
new file mode 100644
index 00000000..f8510506
--- /dev/null
+++ b/documentation/agent/Person.html
@@ -0,0 +1,341 @@
+
+
+
+
+
+Person
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+public class Person
+extends java.lang.Object
+Person object contains parameters age, education and memory length of farm member.
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Person (int age,
+ int education,
+ int memory)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getAge
+public int getAge()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getMemory
+public int getMemory()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/class-use/Farm.html b/documentation/agent/class-use/Farm.html
new file mode 100644
index 00000000..bb9a9757
--- /dev/null
+++ b/documentation/agent/class-use/Farm.html
@@ -0,0 +1,343 @@
+
+
+
+
+
+Uses of Class agent.Farm
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use Farm
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+fuzzy_logic
+
+Fuzzy logic selection for activities in ABM.
+
+
+
+logging
+
+Log output of ABM
+
+
+
+main
+
+Framework to run ABM simulations
+
+
+
+reader
+
+Create farm objects from external data files
+
+
+
+
+
+
+
+
+
+
+
+
+Method parameters in agent with type arguments of type Farm
+
+Modifier and Type
+Method and Description
+
+
+
+java.util.List<java.lang.String>
+Farm. decideActivitySet (java.util.List<Farm > allFarms,
+ org.apache.commons.cli.CommandLine cmd)
+This function executes strategic decision-making for all farms.
+
+
+
+void
+Farm. updateActivityDissimilarity (java.util.List<Farm > farms)
+This function updates farms with values of dissimilarity in terms of activity.
+
+
+
+void
+Farm. updateFarmParameters (java.util.List<Farm > allFarms,
+ double income,
+ java.util.List<Activity > activity)
+This function updates all updatedable parameters on the farm based on new income and activity
+
+
+
+
+
+
+
+
+
+
+Constructors in fuzzy_logic with parameters of type Farm
+
+Constructor and Description
+
+
+
+FuzzyLogicCalculator (Farm farm,
+ java.util.List<Farm > farms)
+Constructor for decision calculator for a specific farm based on the network.
+
+
+
+
+
+Constructor parameters in fuzzy_logic with type arguments of type Farm
+
+Constructor and Description
+
+
+
+FuzzyLogicCalculator (Farm farm,
+ java.util.List<Farm > farms)
+Constructor for decision calculator for a specific farm based on the network.
+
+
+
+
+
+
+
+
+
+
+Methods in logging that return Farm
+
+Modifier and Type
+Method and Description
+
+
+
+Farm
+ABMTimeStepLog. getFarm ()
+
+
+
+
+Methods in logging with parameters of type Farm
+
+Modifier and Type
+Method and Description
+
+
+
+void
+ABMTimeStepLog. setFarm (Farm farm)
+
+
+
+
+Constructors in logging with parameters of type Farm
+
+Constructor and Description
+
+
+
+ABMTimeStepLog (java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ java.lang.Double learning_rate,
+ java.lang.Double activity_diss,
+ java.lang.Double income_diss,
+ double satisfaction,
+ int strat,
+ double income,
+ java.util.List<Activity > currentActivity,
+ java.util.List<java.lang.String> possibleActivities,
+ Farm farm)
+Constructor for the CSV log
+
+
+
+
+
+
+
+
+
+
+Method parameters in main with type arguments of type Farm
+
+Modifier and Type
+Method and Description
+
+
+
+static void
+Consumat. initializePopulationIncomeChangeRate (java.util.List<Farm > allFarms)
+This function initializes the income growth rate of the population (in a region) for all farms.
+
+
+
+static void
+Consumat. updatePopulationIncomeChangeRate (java.util.List<Farm > allFarms,
+ java.util.List<java.lang.Double> thisYearIncome)
+This function updates the income growth rates based on new income for farms.
+
+
+
+
+
+
+
+
+
+
+Methods in reader that return types with arguments of type Farm
+
+Modifier and Type
+Method and Description
+
+
+
+java.util.List<Farm >
+ReadData. getFarms ()
+Each farm in the list contains a social network, the associated people, and preferred activities
+ The satisfaction and Information Seeking Behavior (ISB) are generated initially
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/class-use/Location.html b/documentation/agent/class-use/Location.html
new file mode 100644
index 00000000..f979cf12
--- /dev/null
+++ b/documentation/agent/class-use/Location.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+Uses of Class agent.Location
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use Location
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructors in agent with parameters of type Location
+
+Constructor and Description
+
+
+
+Farm (java.lang.String name,
+ Location location,
+ org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> socialNetwork,
+ java.util.List<java.lang.Double> incomeHistory,
+ FarmDataMatrix farmingExperience,
+ FarmDataMatrix preferences,
+ java.util.List<Activity > activities,
+ double activity_tolerance,
+ double income_tolerance,
+ java.util.List<Activity > currentActivity,
+ Person farmHead,
+ double beta_l,
+ double beta_s,
+ double beta_p,
+ double reference_income,
+ double aspiration_coef,
+ double lambda,
+ double alpha_plus,
+ double alpha_minus,
+ double phi_plus,
+ double phi_minus,
+ double fuzzy_size)
+This constructor sets up the parameters associated with a farm.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/class-use/Person.html b/documentation/agent/class-use/Person.html
new file mode 100644
index 00000000..04b7dfce
--- /dev/null
+++ b/documentation/agent/class-use/Person.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+Uses of Class agent.Person
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use Person
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in agent with parameters of type Person
+
+Modifier and Type
+Method and Description
+
+
+
+void
+Farm. setHead (Person farmHead)
+
+
+
+
+Constructors in agent with parameters of type Person
+
+Constructor and Description
+
+
+
+Farm (java.lang.String name,
+ Location location,
+ org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> socialNetwork,
+ java.util.List<java.lang.Double> incomeHistory,
+ FarmDataMatrix farmingExperience,
+ FarmDataMatrix preferences,
+ java.util.List<Activity > activities,
+ double activity_tolerance,
+ double income_tolerance,
+ java.util.List<Activity > currentActivity,
+ Person farmHead,
+ double beta_l,
+ double beta_s,
+ double beta_p,
+ double reference_income,
+ double aspiration_coef,
+ double lambda,
+ double alpha_plus,
+ double alpha_minus,
+ double phi_plus,
+ double phi_minus,
+ double fuzzy_size)
+This constructor sets up the parameters associated with a farm.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/package-frame.html b/documentation/agent/package-frame.html
new file mode 100644
index 00000000..08d835d1
--- /dev/null
+++ b/documentation/agent/package-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+agent
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/package-summary.html b/documentation/agent/package-summary.html
new file mode 100644
index 00000000..f393721c
--- /dev/null
+++ b/documentation/agent/package-summary.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+agent
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+Farm
+
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+
+
+Location
+
+Location object contains the coordinates of farm.
+
+
+
+Person
+
+Person object contains parameters age, education and memory length of farm member.
+
+
+
+
+
+
+
+
+
+
Package agent Description
+
Each agent in ABM represents an individual farm
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/package-tree.html b/documentation/agent/package-tree.html
new file mode 100644
index 00000000..f53eedcf
--- /dev/null
+++ b/documentation/agent/package-tree.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+agent Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/agent/package-use.html b/documentation/agent/package-use.html
new file mode 100644
index 00000000..178c6216
--- /dev/null
+++ b/documentation/agent/package-use.html
@@ -0,0 +1,263 @@
+
+
+
+
+
+Uses of Package agent
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use agent
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+fuzzy_logic
+
+Fuzzy logic selection for activities in ABM.
+
+
+
+logging
+
+Log output of ABM
+
+
+
+main
+
+Framework to run ABM simulations
+
+
+
+reader
+
+Create farm objects from external data files
+
+
+
+
+
+
+
+
+
+Classes in agent used by agent
+
+Class and Description
+
+
+
+Farm
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+
+
+Location
+Location object contains the coordinates of farm.
+
+
+
+Person
+Person object contains parameters age, education and memory length of farm member.
+
+
+
+
+
+
+
+
+
+Classes in agent used by fuzzy_logic
+
+Class and Description
+
+
+
+Farm
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+
+
+
+
+
+
+
+
+Classes in agent used by logging
+
+Class and Description
+
+
+
+Farm
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+
+
+
+
+
+
+
+
+Classes in agent used by main
+
+Class and Description
+
+
+
+Farm
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+
+
+
+
+
+
+
+
+Classes in agent used by reader
+
+Class and Description
+
+
+
+Farm
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/allclasses-frame.html b/documentation/allclasses-frame.html
new file mode 100644
index 00000000..be6687ca
--- /dev/null
+++ b/documentation/allclasses-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+All Classes
+
+
+
+
+
+All Classes
+
+
+
diff --git a/documentation/allclasses-noframe.html b/documentation/allclasses-noframe.html
new file mode 100644
index 00000000..e9b67854
--- /dev/null
+++ b/documentation/allclasses-noframe.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+All Classes
+
+
+
+
+
+All Classes
+
+
+
diff --git a/documentation/constant-values.html b/documentation/constant-values.html
new file mode 100644
index 00000000..702be8e0
--- /dev/null
+++ b/documentation/constant-values.html
@@ -0,0 +1,420 @@
+
+
+
+
+
+Constant Field Values
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
logging.*
+
+
+
+
+
reader.*
+
+
+
+
+
testing.*
+
+
+
+
+
+
+testing.FarmTests
+
+Modifier and Type
+Constant Field
+Value
+
+
+
+
+
+ public static final java.lang.String
+TestDataFile
+"./test_data/farm_parameters.csv"
+
+
+
+
+ public static final java.lang.String
+TestInitialActivities
+"./test_data/initial_activities.csv"
+
+
+
+
+ public static final java.lang.String
+TestInitialIncomes
+"./test_data/initial_incomes.csv"
+
+
+
+
+ public static final java.lang.String
+TestPreferenceFile
+"./test_data/activity_preference.csv"
+
+
+
+
+ public static final java.lang.String
+TestSocialNetworkFile
+"./test_data/social_networks.csv"
+
+
+
+
+ public static final java.lang.String
+TestYearsFile
+"./test_data/performing_years.csv"
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/deprecated-list.html b/documentation/deprecated-list.html
new file mode 100644
index 00000000..0b631aa3
--- /dev/null
+++ b/documentation/deprecated-list.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Deprecated List
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/fuzzy_logic/FuzzyLogicCalculator.html b/documentation/fuzzy_logic/FuzzyLogicCalculator.html
new file mode 100644
index 00000000..ce29ad15
--- /dev/null
+++ b/documentation/fuzzy_logic/FuzzyLogicCalculator.html
@@ -0,0 +1,401 @@
+
+
+
+
+
+FuzzyLogicCalculator
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Prev Class
+Next Class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+fuzzy_logic.FuzzyLogicCalculator
+
+
+
+
+
+
+
+
+public class FuzzyLogicCalculator
+extends java.lang.Object
+Object contains three vectors (L,P,S) that contain normalized rankings of experience, preference, and social network experience for a specific farm.
+ Create the calculator for each individual farm, and the calculator can be used to decide on the imitation and optimization activities using fuzzy preference.
+
+ q range shows how different two activities can be based on the criteria and still be 1) equivalent, 2) weighted, 3) not equivalent
+ If you take a criteria vector = [0.9, 0.1, 0.8, 0.7, 0.4] that corresponds to activities [A, B, C, D, E] and
+ if we set the lower bound q- to 0.3 and the upper bound q+ to 0.6 we get the following difference vector
+ for A compared to all other activities (one directional comparison):
+ delta = [0, 0.8, 0.1, 0.2, 0.5] ie 0.5 corresponds to A-E :: 0.9-0.4 = 0.5
+ We can now build another vector of comparison values for A compared to all other activities based on the q ranges:
+ CP = [0, 1, 0, 0, 2/3] which shows that when activity A is compared to all other activities in the set which shows
+ Product A is strictly preferred to Product B, and weakly preferred to activity E. It is not preferred at all to C or D.
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field and Description
+
+
+java.util.List<java.lang.Double>
+L
+
+
+java.util.List<java.lang.Double>
+ND
+
+
+java.util.List<java.lang.Double>
+P
+
+
+java.util.List<java.lang.Double>
+S
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+FuzzyLogicCalculator (Farm farm,
+ java.util.List<Farm > farms)
+Constructor for decision calculator for a specific farm based on the network.
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+FuzzyLogicCalculator
+public FuzzyLogicCalculator(Farm farm,
+ java.util.List<Farm > farms)
+Constructor for decision calculator for a specific farm based on the network.
+
+Parameters:
+farm
- - specific farm to study
+farms
- - list of all farms in the region for network information
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getImitationActivities
+public java.util.List<java.lang.String> getImitationActivities()
+Using fuzzy logic check S,P,L lists to determine best activity combinations.
+ The len-2 part of the calculation is to account for q+ and q- minus at the start and end of the calculation
+
+Returns:
+list of activities from the activity selection calculator
+
+
+
+
+
+
+
+
+getOptimizationActivities
+public java.util.List<java.lang.String> getOptimizationActivities()
+Using fuzzy logic check P, L lists to determine best activity combinations.
+ Do not take into account social learning vector S.
+ The len-2 part of the calculation is to account for q+ and q- minus at the start and end of the calculation
+
+Returns:
+list of activities from the activity selection calculator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Prev Class
+Next Class
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/fuzzy_logic/class-use/FuzzyLogicCalculator.html b/documentation/fuzzy_logic/class-use/FuzzyLogicCalculator.html
new file mode 100644
index 00000000..cfa9f2ae
--- /dev/null
+++ b/documentation/fuzzy_logic/class-use/FuzzyLogicCalculator.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class fuzzy_logic.FuzzyLogicCalculator
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of fuzzy_logic.FuzzyLogicCalculator
+
+
+
+
+
+
diff --git a/documentation/fuzzy_logic/package-frame.html b/documentation/fuzzy_logic/package-frame.html
new file mode 100644
index 00000000..fbb10511
--- /dev/null
+++ b/documentation/fuzzy_logic/package-frame.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+fuzzy_logic
+
+
+
+
+
+
+
+
+
diff --git a/documentation/fuzzy_logic/package-summary.html b/documentation/fuzzy_logic/package-summary.html
new file mode 100644
index 00000000..5b588fb3
--- /dev/null
+++ b/documentation/fuzzy_logic/package-summary.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+fuzzy_logic
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+FuzzyLogicCalculator
+
+Object contains three vectors (L,P,S) that contain normalized rankings of experience, preference, and social network experience for a specific farm.
+
+
+
+
+
+
+
+
+
+
Package fuzzy_logic Description
+
Fuzzy logic selection for activities in ABM.
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
diff --git a/documentation/fuzzy_logic/package-tree.html b/documentation/fuzzy_logic/package-tree.html
new file mode 100644
index 00000000..ce905422
--- /dev/null
+++ b/documentation/fuzzy_logic/package-tree.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+fuzzy_logic Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/fuzzy_logic/package-use.html b/documentation/fuzzy_logic/package-use.html
new file mode 100644
index 00000000..b3359724
--- /dev/null
+++ b/documentation/fuzzy_logic/package-use.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Package fuzzy_logic
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of fuzzy_logic
+
+
+
+
+
+
diff --git a/documentation/help-doc.html b/documentation/help-doc.html
new file mode 100644
index 00000000..bedee00b
--- /dev/null
+++ b/documentation/help-doc.html
@@ -0,0 +1,229 @@
+
+
+
+
+
+API Help
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+Overview
+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.
+
+
+Package
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:
+
+Interfaces (italic)
+Classes
+Enums
+Exceptions
+Errors
+Annotation Types
+
+
+
+Class/Interface
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+
+Class inheritance diagram
+Direct Subclasses
+All Known Subinterfaces
+All Known Implementing Classes
+Class/interface declaration
+Class/interface description
+
+
+Nested Class Summary
+Field Summary
+Constructor Summary
+Method Summary
+
+
+Field Detail
+Constructor Detail
+Method Detail
+
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+
+
+Annotation Type
+Each annotation type has its own separate page with the following sections:
+
+Annotation Type declaration
+Annotation Type description
+Required Element Summary
+Optional Element Summary
+Element Detail
+
+
+
+Enum
+Each enum has its own separate page with the following sections:
+
+Enum declaration
+Enum description
+Enum Constant Summary
+Enum Constant Detail
+
+
+
+Use
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+
+
+Tree (Class Hierarchy)
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object
. The interfaces do not inherit from java.lang.Object
.
+
+When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
+When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+
+
+Deprecated API
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+
+
+Index
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+
+
+Prev/Next
+These links take you to the next or previous class, interface, package, or related page.
+
+
+Frames/No Frames
+These links show and hide the HTML frames. All pages are available with or without frames.
+
+
+All Classes
+The All Classes link shows all classes and interfaces except non-static nested types.
+
+
+Serialized Form
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+
+
+Constant Field Values
+The Constant Field Values page lists the static final fields and their values.
+
+
+
This help file applies to API documentation generated using the standard doclet.
+
+
+
+
+
+
diff --git a/documentation/index-files/index-1.html b/documentation/index-files/index-1.html
new file mode 100644
index 00000000..32bba9f2
--- /dev/null
+++ b/documentation/index-files/index-1.html
@@ -0,0 +1,187 @@
+
+
+
+
+
+A-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
A
+
+ABMActivityLog - Class in logging
+
+ABMActivityLog(List<String>, String, Integer, int, List<Activity>, List<Activity>) - Constructor for class logging.ABMActivityLog
+
+Constructor for the CSV Log
+
+ABMTimeStepLog - Class in logging
+
+Logs the output of each step of the ABM process to an output csv log of all decisions and parameters during the model execution.
+
+ABMTimeStepLog(List<String>, String, Integer, Double, Double, Double, double, int, double, List<Activity>, List<String>, Farm) - Constructor for class logging.ABMTimeStepLog
+
+Constructor for the CSV log
+
+activity - package activity
+
+Farm activities entail all possible actions a farm agent could perform
+
+Activity - Class in activity
+
+Each agent has a set of possible activities that are a result of strategic decision-making based on the COMSUMAT approach.
+
+Activity(int, String) - Constructor for class activity.Activity
+
+Activity object constructor.
+
+ACTIVITY_TOLERANCE - Static variable in class reader.ReadData
+
+ActivityPreferenceFile - Variable in class reader.ReadData
+
+activitySets - Static variable in class mathematical_programming.WeedControl
+
+The following tuples correspond to the 72 activities in the application.
+
+AGE - Static variable in class reader.ReadData
+
+agent - package agent
+
+Each agent in ABM represents an individual farm
+
+AllTests - Class in testing
+
+This class tests suite for all possible unit tests
+
+AllTests() - Constructor for class testing.AllTests
+
+ALPHA_MINUS - Static variable in class reader.ReadData
+
+ALPHA_PLUS - Static variable in class reader.ReadData
+
+appendLogFile(String) - Method in class logging.ABMActivityLog
+
+write output CSV log file based on decision object.
+
+appendLogFile(String) - Method in class logging.ABMTimeStepLog
+
+write output CSV log file based on decision object.
+
+ASPIRATION - Static variable in class reader.ReadData
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-10.html b/documentation/index-files/index-10.html
new file mode 100644
index 00000000..4aaf62b3
--- /dev/null
+++ b/documentation/index-files/index-10.html
@@ -0,0 +1,143 @@
+
+
+
+
+
+M-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
M
+
+main - package main
+
+Framework to run ABM simulations
+
+main(String[]) - Static method in class main.Consumat
+
+mathematical_programming - package mathematical_programming
+
+Mathematical Programming Interface for input and output files from the ABM.
+
+MEMORY - Static variable in class reader.ReadData
+
+MP_Interface - Interface in mathematical_programming
+
+Contains the generic functions to allow the decisions to be exported to the MP model
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-11.html b/documentation/index-files/index-11.html
new file mode 100644
index 00000000..7d09e476
--- /dev/null
+++ b/documentation/index-files/index-11.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+N-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
N
+
+NAME - Static variable in class reader.ReadData
+
+ND - Variable in class fuzzy_logic.FuzzyLogicCalculator
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-12.html b/documentation/index-files/index-12.html
new file mode 100644
index 00000000..4f187376
--- /dev/null
+++ b/documentation/index-files/index-12.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+P-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
P
+
+P - Variable in class fuzzy_logic.FuzzyLogicCalculator
+
+parseInput(String[]) - Static method in class main.Consumat
+
+Parse command line input arguments for simulation control
+ -year :: number of years of simulation
+ -modelName :: which specific optimization model to use
+ -uncertainty :: if set to 0, then ABM will not use the dissimilarity calculations during simulations
+
+Person - Class in agent
+
+Person object contains parameters age, education and memory length of farm member.
+
+Person(int, int, int) - Constructor for class agent.Person
+
+PHI_MINUS - Static variable in class reader.ReadData
+
+PHI_PLUS - Static variable in class reader.ReadData
+
+POSSIBLE_ACTIVITY_SET_PRINTING_SIZE - Static variable in class logging.ABMTimeStepLog
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-13.html b/documentation/index-files/index-13.html
new file mode 100644
index 00000000..de057bbe
--- /dev/null
+++ b/documentation/index-files/index-13.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+R-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
R
+
+ReadData - Class in reader
+
+This class reads input parameters from configuration files and results data from the optimization model.
+
+ReadData() - Constructor for class reader.ReadData
+
+reader - package reader
+
+Create farm objects from external data files
+
+readMPActivities() - Method in interface mathematical_programming.MP_Interface
+
+readMPActivities() - Method in class mathematical_programming.SwissLand
+
+readMPActivities() - Method in class mathematical_programming.WeedControl
+
+readMPIncomes() - Method in interface mathematical_programming.MP_Interface
+
+readMPIncomes() - Method in class mathematical_programming.SwissLand
+
+readMPIncomes() - Method in class mathematical_programming.WeedControl
+
+readMPOutputFiles() - Method in class mathematical_programming.WeedControl
+
+Read the MP output files to get income and activities
+
+readMPyearPrice() - Method in class mathematical_programming.WeedControl
+
+Read yearly pricing information for Thomas' gams model
+
+REFERENCE_INCOME - Static variable in class reader.ReadData
+
+runModel(int, int) - Method in interface mathematical_programming.MP_Interface
+
+runModel(int, int) - Method in class mathematical_programming.SwissLand
+
+runModel(int, int) - Method in class mathematical_programming.WeedControl
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-14.html b/documentation/index-files/index-14.html
new file mode 100644
index 00000000..8427358a
--- /dev/null
+++ b/documentation/index-files/index-14.html
@@ -0,0 +1,261 @@
+
+
+
+
+
+S-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
S
+
+S - Variable in class fuzzy_logic.FuzzyLogicCalculator
+
+setActivities(List<Activity>) - Method in class agent.Farm
+
+setActivity_diss(double) - Method in class logging.ABMTimeStepLog
+
+setActivity_Dissimilarity(double) - Method in class agent.Farm
+
+setAge(int) - Method in class agent.Person
+
+setAllActivity(List<String>) - Method in class logging.ABMActivityLog
+
+setAllActivity(List<String>) - Method in class logging.ABMTimeStepLog
+
+setAveragePersonalIncomeChangeRate(double) - Method in class agent.Farm
+
+setAveragePopulationIncomeChangeRate(double) - Method in class agent.Farm
+
+setCoordinates(double[]) - Method in class agent.Location
+
+setCurrentActivity(List<Activity>) - Method in class agent.Farm
+
+setCurrentActivity(List<Activity>) - Method in class logging.ABMActivityLog
+
+setCurrentActivity(List<Activity>) - Method in class logging.ABMTimeStepLog
+
+setDataElementMap(Map<String, Double[]>) - Method in class reader.FarmDataMatrix
+
+setDataElementName(List<String>) - Method in class reader.FarmDataMatrix
+
+setEducation(int) - Method in class agent.Person
+
+setExperience(FarmDataMatrix) - Method in class agent.Farm
+
+setFarm(Farm) - Method in class logging.ABMTimeStepLog
+
+setFarmDataElementValue(String, String, double) - Method in class reader.FarmDataMatrix
+
+Given a farmID and a name, set the value of that cell in the matrix.
+
+setFarmId(String) - Method in class logging.ABMActivityLog
+
+setFarmId(String) - Method in class logging.ABMTimeStepLog
+
+setFarmMap(ArrayList<String>) - Method in class reader.FarmDataMatrix
+
+Set the row of data that corresponds with the specific farm name.
+
+setFarmName(String) - Method in class agent.Farm
+
+setHead(Person) - Method in class agent.Farm
+
+setId(int) - Method in class activity.Activity
+
+setIncome(double) - Method in class logging.ABMTimeStepLog
+
+setIncome_diss(double) - Method in class logging.ABMTimeStepLog
+
+setIncome_Dissimilarity(double) - Method in class agent.Farm
+
+setIncomeHistory(List<Double>) - Method in class agent.Farm
+
+setLearningRate() - Method in class agent.Farm
+
+setLearningRate(double) - Method in class logging.ABMTimeStepLog
+
+setLocation(Location) - Method in class agent.Farm
+
+setMemory(int) - Method in class agent.Person
+
+setMPSelectedActivity(List<Activity>) - Method in class logging.ABMActivityLog
+
+setName(String) - Method in class activity.Activity
+
+setNetwork(Graph<String, DefaultEdge>) - Method in class agent.Farm
+
+setP_activity_tolerance_coef(double) - Method in class agent.Farm
+
+setP_alpha_minus(double) - Method in class agent.Farm
+
+setP_alpha_plus(double) - Method in class agent.Farm
+
+setP_aspiration_coef(double) - Method in class agent.Farm
+
+setP_beta_l(double) - Method in class agent.Farm
+
+setP_beta_p(double) - Method in class agent.Farm
+
+setP_beta_s(double) - Method in class agent.Farm
+
+setP_fuzzy_size(double) - Method in class agent.Farm
+
+setP_income_tolerance_coef(double) - Method in class agent.Farm
+
+setP_lambda(double) - Method in class agent.Farm
+
+setP_phi_minus(double) - Method in class agent.Farm
+
+setP_phi_plus(double) - Method in class agent.Farm
+
+setP_reference_income(double) - Method in class agent.Farm
+
+setPossibleActivity(List<String>) - Method in class logging.ABMActivityLog
+
+setPossibleActivity(List<String>) - Method in class logging.ABMTimeStepLog
+
+setPreferences(FarmDataMatrix) - Method in class agent.Farm
+
+setQ_range() - Method in class agent.Farm
+
+setSatisfaction(double) - Method in class agent.Farm
+
+setSatisfaction(double) - Method in class logging.ABMTimeStepLog
+
+setStrategy(int) - Method in class agent.Farm
+
+setStrategy(int) - Method in class logging.ABMActivityLog
+
+setStrategy(int) - Method in class logging.ABMTimeStepLog
+
+setup() - Method in class testing.DecisionCalculatorTests
+
+setup() - Method in class testing.FarmTests
+
+setYear(Integer) - Method in class logging.ABMActivityLog
+
+setYear(Integer) - Method in class logging.ABMTimeStepLog
+
+SocialNetworkFile - Variable in class reader.ReadData
+
+SwissLand - Class in mathematical_programming
+
+SwissLand() - Constructor for class mathematical_programming.SwissLand
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-15.html b/documentation/index-files/index-15.html
new file mode 100644
index 00000000..2ca5cb7e
--- /dev/null
+++ b/documentation/index-files/index-15.html
@@ -0,0 +1,207 @@
+
+
+
+
+
+T-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/index-files/index-16.html b/documentation/index-files/index-16.html
new file mode 100644
index 00000000..b7afbd27
--- /dev/null
+++ b/documentation/index-files/index-16.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+U-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
U
+
+updateActivityDissimilarity(List<Farm>) - Method in class agent.Farm
+
+This function updates farms with values of dissimilarity in terms of activity.
+
+updateAge() - Method in class agent.Farm
+
+Each time period, t, call this function to increment the experience vector of this farm.
+
+updateAveragePersonalIncomeChangeRate() - Method in class agent.Farm
+
+Update personal income change rate over the previous time periods and include the current year.
+
+updateExperience() - Method in class agent.Farm
+
+Each time period, t, call this function to increment the experience vector of this farm.
+
+updateFarmParameters(List<Farm>, double, List<Activity>) - Method in class agent.Farm
+
+This function updates all updatedable parameters on the farm based on new income and activity
+
+updateIncomeDissimilarity() - Method in class agent.Farm
+
+This function updates farms with values of dissimilarity in terms of income growth.
+
+updatePopulationIncomeChangeRate(List<Farm>, List<Double>) - Static method in class main.Consumat
+
+This function updates the income growth rates based on new income for farms.
+
+updateSatisfaction() - Method in class agent.Farm
+
+Based on the current income level of the farmer calculate new satisfaction level.
+
+useTestData(ReadData) - Static method in class testing.DecisionCalculatorTests
+
+useTestData(ReadData) - Static method in class testing.FarmTests
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-17.html b/documentation/index-files/index-17.html
new file mode 100644
index 00000000..e0e09ad3
--- /dev/null
+++ b/documentation/index-files/index-17.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+W-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
W
+
+WeedControl - Class in mathematical_programming
+
+Use the weedcontrol model from the AECP group as an optimizer on the activities.
+
+WeedControl() - Constructor for class mathematical_programming.WeedControl
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-2.html b/documentation/index-files/index-2.html
new file mode 100644
index 00000000..05b65603
--- /dev/null
+++ b/documentation/index-files/index-2.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+B-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
B
+
+BETA_L - Static variable in class reader.ReadData
+
+BETA_P - Static variable in class reader.ReadData
+
+BETA_S - Static variable in class reader.ReadData
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-3.html b/documentation/index-files/index-3.html
new file mode 100644
index 00000000..faf8cd8d
--- /dev/null
+++ b/documentation/index-files/index-3.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+C-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
C
+
+calc_q_set() - Method in class agent.Farm
+
+So if memory length is 5, we calculate an experience value for years 1 to 5.
+
+Consumat - Class in main
+
+This class contains the main() method of this program.
+
+Consumat() - Constructor for class main.Consumat
+
+COORDINATE1 - Static variable in class reader.ReadData
+
+COORDINATE2 - Static variable in class reader.ReadData
+
+createFileName() - Static method in class main.Consumat
+
+This function creates generic file name so that version number can be appended to end.
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-4.html b/documentation/index-files/index-4.html
new file mode 100644
index 00000000..3b3b4862
--- /dev/null
+++ b/documentation/index-files/index-4.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+D-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
D
+
+decideActivitySet(List<Farm>, CommandLine) - Method in class agent.Farm
+
+This function executes strategic decision-making for all farms.
+
+DecisionCalculatorTests - Class in testing
+
+This class tests the decision calculator.
+
+DecisionCalculatorTests() - Constructor for class testing.DecisionCalculatorTests
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-5.html b/documentation/index-files/index-5.html
new file mode 100644
index 00000000..682cb5dc
--- /dev/null
+++ b/documentation/index-files/index-5.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+E-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
E
+
+EDUCATION - Static variable in class reader.ReadData
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-6.html b/documentation/index-files/index-6.html
new file mode 100644
index 00000000..9332893b
--- /dev/null
+++ b/documentation/index-files/index-6.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+F-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
F
+
+Farm - Class in agent
+
+Farm object contains farm characteristics, an activity list, activity preferences, experience of performing activities and a social network.
+
+Farm(String, Location, Graph<String, DefaultEdge>, List<Double>, FarmDataMatrix, FarmDataMatrix, List<Activity>, double, double, List<Activity>, Person, double, double, double, double, double, double, double, double, double, double, double) - Constructor for class agent.Farm
+
+This constructor sets up the parameters associated with a farm.
+
+FarmDataMatrix - Class in reader
+
+The FarmDataMatrix object is a reference object for each agent that stores the individual farm data.
+
+FarmDataMatrix() - Constructor for class reader.FarmDataMatrix
+
+FarmParametersFile - Variable in class reader.ReadData
+
+FarmTests - Class in testing
+
+This class tests farm agent object.
+
+FarmTests() - Constructor for class testing.FarmTests
+
+fuzzy_logic - package fuzzy_logic
+
+Fuzzy logic selection for activities in ABM.
+
+FUZZY_SIZE - Static variable in class reader.ReadData
+
+FuzzyLogicCalculator - Class in fuzzy_logic
+
+Object contains three vectors (L,P,S) that contain normalized rankings of experience, preference, and social network experience for a specific farm.
+
+FuzzyLogicCalculator(Farm, List<Farm>) - Constructor for class fuzzy_logic.FuzzyLogicCalculator
+
+Constructor for decision calculator for a specific farm based on the network.
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-7.html b/documentation/index-files/index-7.html
new file mode 100644
index 00000000..c1357dc8
--- /dev/null
+++ b/documentation/index-files/index-7.html
@@ -0,0 +1,275 @@
+
+
+
+
+
+G-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
G
+
+getActivities() - Method in class agent.Farm
+
+getActivity_diss() - Method in class logging.ABMTimeStepLog
+
+getActivity_Dissimilarity() - Method in class agent.Farm
+
+getActivityList() - Method in class reader.ReadData
+
+Create list of activity type/category by reading the years of experience file
+ This is used to generate the individual farm activities lists
+
+getAge() - Method in class agent.Farm
+
+getAge() - Method in class agent.Person
+
+getAllActivity() - Method in class logging.ABMActivityLog
+
+getAllActivity() - Method in class logging.ABMTimeStepLog
+
+getAveragePersonalIncomeChangeRate() - Method in class agent.Farm
+
+getAveragePopulationIncomeChangeRate() - Method in class agent.Farm
+
+getCoordinates() - Method in class agent.Location
+
+getCurrentActivity() - Method in class agent.Farm
+
+getCurrentActivity() - Method in class logging.ABMActivityLog
+
+getCurrentActivity() - Method in class logging.ABMTimeStepLog
+
+getDataElementName() - Method in class reader.FarmDataMatrix
+
+getEducation() - Method in class agent.Farm
+
+getEducation() - Method in class agent.Person
+
+getExitActivity() - Method in interface mathematical_programming.MP_Interface
+
+getExitActivity() - Method in class mathematical_programming.SwissLand
+
+getExitActivity() - Method in class mathematical_programming.WeedControl
+
+getExperience() - Method in class agent.Farm
+
+getFarm() - Method in class logging.ABMTimeStepLog
+
+getFarmDataElementValue(String, String) - Method in class reader.FarmDataMatrix
+
+Given a farmID and a name of the data element (eg.
+
+getFarmId() - Method in class logging.ABMActivityLog
+
+getFarmId() - Method in class logging.ABMTimeStepLog
+
+getFarmMap() - Method in class reader.FarmDataMatrix
+
+getFarmName() - Method in class agent.Farm
+
+getFarms() - Method in class reader.ReadData
+
+Each farm in the list contains a social network, the associated people, and preferred activities
+ The satisfaction and Information Seeking Behavior (ISB) are generated initially
+
+getHead() - Method in class agent.Farm
+
+getID() - Method in class activity.Activity
+
+getImitationActivities() - Method in class fuzzy_logic.FuzzyLogicCalculator
+
+Using fuzzy logic check S,P,L lists to determine best activity combinations.
+
+getIncome() - Method in class logging.ABMTimeStepLog
+
+getIncome_diss() - Method in class logging.ABMTimeStepLog
+
+getIncome_Dissimilarity() - Method in class agent.Farm
+
+getIncomeHistory() - Method in class agent.Farm
+
+getLearningRate() - Method in class agent.Farm
+
+getLearningRate() - Method in class logging.ABMTimeStepLog
+
+getLocation() - Method in class agent.Farm
+
+getMemory() - Method in class agent.Farm
+
+getMemory() - Method in class agent.Person
+
+getMPSelectedActivity() - Method in class logging.ABMActivityLog
+
+getName() - Method in class activity.Activity
+
+getNetwork() - Method in class agent.Farm
+
+getOptimizationActivities() - Method in class fuzzy_logic.FuzzyLogicCalculator
+
+Using fuzzy logic check P, L lists to determine best activity combinations.
+
+getP_activity_tolerance_coef() - Method in class agent.Farm
+
+getP_alpha_minus() - Method in class agent.Farm
+
+getP_alpha_plus() - Method in class agent.Farm
+
+getP_aspiration_coef() - Method in class agent.Farm
+
+getP_beta_l() - Method in class agent.Farm
+
+getP_beta_p() - Method in class agent.Farm
+
+getP_beta_s() - Method in class agent.Farm
+
+getP_fuzzy_size() - Method in class agent.Farm
+
+getP_income_tolerance_coef() - Method in class agent.Farm
+
+getP_lambda() - Method in class agent.Farm
+
+getP_phi_minus() - Method in class agent.Farm
+
+getP_phi_plus() - Method in class agent.Farm
+
+getP_reference_income() - Method in class agent.Farm
+
+getPossibleActivity() - Method in class logging.ABMActivityLog
+
+getPossibleActivity() - Method in class logging.ABMTimeStepLog
+
+getPreferences() - Method in class agent.Farm
+
+getQ_range() - Method in class agent.Farm
+
+getSatisfaction() - Method in class agent.Farm
+
+getSatisfaction() - Method in class logging.ABMTimeStepLog
+
+getStrategy() - Method in class agent.Farm
+
+getStrategy() - Method in class logging.ABMActivityLog
+
+getStrategy() - Method in class logging.ABMTimeStepLog
+
+getYear() - Method in class logging.ABMActivityLog
+
+getYear() - Method in class logging.ABMTimeStepLog
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-8.html b/documentation/index-files/index-8.html
new file mode 100644
index 00000000..1540608d
--- /dev/null
+++ b/documentation/index-files/index-8.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+I-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
I
+
+INCOME_TOLERANCE - Static variable in class reader.ReadData
+
+init_learning_rate() - Method in class agent.Farm
+
+Initialize a value for learning rate based on the memory limit of each farm
+
+InitialActivities - Variable in class reader.ReadData
+
+InitialIncomes - Variable in class reader.ReadData
+
+initializePopulationIncomeChangeRate(List<Farm>) - Static method in class main.Consumat
+
+This function initializes the income growth rate of the population (in a region) for all farms.
+
+InitialPerformingYears - Variable in class reader.ReadData
+
+inputsforMP(String, List<String>) - Method in interface mathematical_programming.MP_Interface
+
+inputsforMP(String, List<String>) - Method in class mathematical_programming.SwissLand
+
+inputsforMP(String, List<String>) - Method in class mathematical_programming.WeedControl
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index-files/index-9.html b/documentation/index-files/index-9.html
new file mode 100644
index 00000000..07b453d4
--- /dev/null
+++ b/documentation/index-files/index-9.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+L-Index
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G I L M N P R S T U W
+
+
+
L
+
+L - Variable in class fuzzy_logic.FuzzyLogicCalculator
+
+LAMBDA - Static variable in class reader.ReadData
+
+Location - Class in agent
+
+Location object contains the coordinates of farm.
+
+Location() - Constructor for class agent.Location
+
+logging - package logging
+
+Log output of ABM
+
+
+
A B C D E F G I L M N P R S T U W
+
+
+
+
+
+
diff --git a/documentation/index.html b/documentation/index.html
new file mode 100644
index 00000000..79dd467e
--- /dev/null
+++ b/documentation/index.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+Generated Documentation (Untitled)
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+Frame Alert
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to Non-frame version .
+
+
+
diff --git a/documentation/logging/ABMActivityLog.html b/documentation/logging/ABMActivityLog.html
new file mode 100644
index 00000000..2580421d
--- /dev/null
+++ b/documentation/logging/ABMActivityLog.html
@@ -0,0 +1,482 @@
+
+
+
+
+
+ABMActivityLog
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+logging.ABMActivityLog
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+ABMActivityLog (java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ int strat,
+ java.util.List<Activity > currentActivity,
+ java.util.List<Activity > MPSelectedActivity)
+Constructor for the CSV Log
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ABMActivityLog
+public ABMActivityLog(java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ int strat,
+ java.util.List<Activity > currentActivity,
+ java.util.List<Activity > MPSelectedActivity)
+Constructor for the CSV Log
+
+Parameters:
+allActivities:
- full set of activities
+farmId:
- ID of the farm
+year:
- time period
+strat:
- strategy
+currentActivity:
- current activity(ies) in system
+MPSelectedActivity:
- best activity from the MP model
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/logging/ABMTimeStepLog.html b/documentation/logging/ABMTimeStepLog.html
new file mode 100644
index 00000000..a9fe7d43
--- /dev/null
+++ b/documentation/logging/ABMTimeStepLog.html
@@ -0,0 +1,675 @@
+
+
+
+
+
+ABMTimeStepLog
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+logging.ABMTimeStepLog
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+ABMTimeStepLog (java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ java.lang.Double learning_rate,
+ java.lang.Double activity_diss,
+ java.lang.Double income_diss,
+ double satisfaction,
+ int strat,
+ double income,
+ java.util.List<Activity > currentActivity,
+ java.util.List<java.lang.String> possibleActivities,
+ Farm farm)
+Constructor for the CSV log
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ABMTimeStepLog
+public ABMTimeStepLog(java.util.List<java.lang.String> allActivities,
+ java.lang.String farmId,
+ java.lang.Integer year,
+ java.lang.Double learning_rate,
+ java.lang.Double activity_diss,
+ java.lang.Double income_diss,
+ double satisfaction,
+ int strat,
+ double income,
+ java.util.List<Activity > currentActivity,
+ java.util.List<java.lang.String> possibleActivities,
+ Farm farm)
+Constructor for the CSV log
+
+Parameters:
+allActivities:
- full set of system activities
+farmId:
- ID of the farm
+year:
- which simulation time step
+learning_rate:
- learning rate for the agent
+activity_diss:
-
+income_diss:
-
+satisfaction:
-
+strat:
- strategy (set of four possible)
+income:
- income of farm
+currentActivity:
- current activity(ies) in system
+possibleActivities:
- all possible activities
+farm:
- specific farm for this decision object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/logging/class-use/ABMActivityLog.html b/documentation/logging/class-use/ABMActivityLog.html
new file mode 100644
index 00000000..a5176ef7
--- /dev/null
+++ b/documentation/logging/class-use/ABMActivityLog.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class logging.ABMActivityLog
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of logging.ABMActivityLog
+
+
+
+
+
+
diff --git a/documentation/logging/class-use/ABMTimeStepLog.html b/documentation/logging/class-use/ABMTimeStepLog.html
new file mode 100644
index 00000000..6c9fbe2d
--- /dev/null
+++ b/documentation/logging/class-use/ABMTimeStepLog.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class logging.ABMTimeStepLog
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of logging.ABMTimeStepLog
+
+
+
+
+
+
diff --git a/documentation/logging/package-frame.html b/documentation/logging/package-frame.html
new file mode 100644
index 00000000..4e82dd89
--- /dev/null
+++ b/documentation/logging/package-frame.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+logging
+
+
+
+
+
+
+
+
+
diff --git a/documentation/logging/package-summary.html b/documentation/logging/package-summary.html
new file mode 100644
index 00000000..b8722e4f
--- /dev/null
+++ b/documentation/logging/package-summary.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+logging
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+ABMActivityLog
+
+
+
+ABMTimeStepLog
+
+Logs the output of each step of the ABM process to an output csv log of all decisions and parameters during the model execution.
+
+
+
+
+
+
+
+
+
+
Package logging Description
+
Log output of ABM
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
diff --git a/documentation/logging/package-tree.html b/documentation/logging/package-tree.html
new file mode 100644
index 00000000..f7a3e98e
--- /dev/null
+++ b/documentation/logging/package-tree.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+logging Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/logging/package-use.html b/documentation/logging/package-use.html
new file mode 100644
index 00000000..511af4e4
--- /dev/null
+++ b/documentation/logging/package-use.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Package logging
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of logging
+
+
+
+
+
+
diff --git a/documentation/main/Consumat.html b/documentation/main/Consumat.html
new file mode 100644
index 00000000..92749444
--- /dev/null
+++ b/documentation/main/Consumat.html
@@ -0,0 +1,364 @@
+
+
+
+
+
+Consumat
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Prev Class
+Next Class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+public class Consumat
+extends java.lang.Object
+This class contains the main() method of this program.
+ Full simulation runs inside of the main() method by creating farm objects and making decisions for each farm.
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Consumat ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+static java.lang.String
+createFileName ()
+This function creates generic file name so that version number can be appended to end.
+
+
+
+static void
+initializePopulationIncomeChangeRate (java.util.List<Farm > allFarms)
+This function initializes the income growth rate of the population (in a region) for all farms.
+
+
+
+static void
+main (java.lang.String[] args)
+
+
+static org.apache.commons.cli.CommandLine
+parseInput (java.lang.String[] args)
+Parse command line input arguments for simulation control
+ -year :: number of years of simulation
+ -modelName :: which specific optimization model to use
+ -uncertainty :: if set to 0, then ABM will not use the dissimilarity calculations during simulations
+
+
+
+static void
+updatePopulationIncomeChangeRate (java.util.List<Farm > allFarms,
+ java.util.List<java.lang.Double> thisYearIncome)
+This function updates the income growth rates based on new income for farms.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Consumat
+public Consumat()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+parseInput
+public static org.apache.commons.cli.CommandLine parseInput(java.lang.String[] args)
+Parse command line input arguments for simulation control
+ -year :: number of years of simulation
+ -modelName :: which specific optimization model to use
+ -uncertainty :: if set to 0, then ABM will not use the dissimilarity calculations during simulations
+
+Parameters:
+args:
- command line arguments to control the system
+Returns:
+cmd: return the parsed command line as an object we can use later in the model
+
+
+
+
+
+
+
+
+
+
+
+
+updatePopulationIncomeChangeRate
+public static void updatePopulationIncomeChangeRate(java.util.List<Farm > allFarms,
+ java.util.List<java.lang.Double> thisYearIncome)
+This function updates the income growth rates based on new income for farms.
+
+Parameters:
+allFarms:
- list of all farms in region
+thisYearIncome:
- list of income values for all farms
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Prev Class
+Next Class
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/main/class-use/Consumat.html b/documentation/main/class-use/Consumat.html
new file mode 100644
index 00000000..bdf23ad6
--- /dev/null
+++ b/documentation/main/class-use/Consumat.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class main.Consumat
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of main.Consumat
+
+
+
+
+
+
diff --git a/documentation/main/package-frame.html b/documentation/main/package-frame.html
new file mode 100644
index 00000000..56dc8819
--- /dev/null
+++ b/documentation/main/package-frame.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+main
+
+
+
+
+
+
+
+
+
diff --git a/documentation/main/package-summary.html b/documentation/main/package-summary.html
new file mode 100644
index 00000000..c6e84f10
--- /dev/null
+++ b/documentation/main/package-summary.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+main
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+Consumat
+
+This class contains the main() method of this program.
+
+
+
+
+
+
+
+
+
+
Package main Description
+
Framework to run ABM simulations
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
diff --git a/documentation/main/package-tree.html b/documentation/main/package-tree.html
new file mode 100644
index 00000000..8840d3ac
--- /dev/null
+++ b/documentation/main/package-tree.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+main Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/main/package-use.html b/documentation/main/package-use.html
new file mode 100644
index 00000000..1b276032
--- /dev/null
+++ b/documentation/main/package-use.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Package main
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of main
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/MP_Interface.html b/documentation/mathematical_programming/MP_Interface.html
new file mode 100644
index 00000000..f0ff21d9
--- /dev/null
+++ b/documentation/mathematical_programming/MP_Interface.html
@@ -0,0 +1,286 @@
+
+
+
+
+
+MP_Interface
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/SwissLand.html b/documentation/mathematical_programming/SwissLand.html
new file mode 100644
index 00000000..510a39f5
--- /dev/null
+++ b/documentation/mathematical_programming/SwissLand.html
@@ -0,0 +1,352 @@
+
+
+
+
+
+SwissLand
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+mathematical_programming.SwissLand
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+SwissLand ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+SwissLand
+public SwissLand()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/WeedControl.html b/documentation/mathematical_programming/WeedControl.html
new file mode 100644
index 00000000..8550a264
--- /dev/null
+++ b/documentation/mathematical_programming/WeedControl.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+WeedControl
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+mathematical_programming.WeedControl
+
+
+
+
+
+
+
+All Implemented Interfaces:
+MP_Interface
+
+
+
+public class WeedControl
+extends java.lang.Object
+implements MP_Interface
+Use the weedcontrol model from the AECP group as an optimizer on the activities. This class runs the model, reads the input, and modifies the required control files.
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field and Description
+
+
+static int[][]
+activitySets
+The following tuples correspond to the 72 activities in the application.
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+WeedControl ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+activitySets
+public static int[][] activitySets
+The following tuples correspond to the 72 activities in the application. The first element in the tuple is a row in the activity matrix, and the second element is the column.
+ Each row element corresponds to a post-sowing strategy, and each column is a pre-sowing strategy. E.g. [53,2] corresponds to the post_strat 53 and pre_strat 2 strategy set.
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+WeedControl
+public WeedControl()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+readMPyearPrice
+public java.util.Map<java.lang.String,java.lang.Double> readMPyearPrice()
+Read yearly pricing information for Thomas' gams model
+
+Returns:
+Map of pricing information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/class-use/MP_Interface.html b/documentation/mathematical_programming/class-use/MP_Interface.html
new file mode 100644
index 00000000..6e3f4118
--- /dev/null
+++ b/documentation/mathematical_programming/class-use/MP_Interface.html
@@ -0,0 +1,172 @@
+
+
+
+
+
+Uses of Interface mathematical_programming.MP_Interface
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/class-use/SwissLand.html b/documentation/mathematical_programming/class-use/SwissLand.html
new file mode 100644
index 00000000..f0950b46
--- /dev/null
+++ b/documentation/mathematical_programming/class-use/SwissLand.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class mathematical_programming.SwissLand
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of mathematical_programming.SwissLand
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/class-use/WeedControl.html b/documentation/mathematical_programming/class-use/WeedControl.html
new file mode 100644
index 00000000..e8c2650f
--- /dev/null
+++ b/documentation/mathematical_programming/class-use/WeedControl.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class mathematical_programming.WeedControl
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of mathematical_programming.WeedControl
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/package-frame.html b/documentation/mathematical_programming/package-frame.html
new file mode 100644
index 00000000..02efdbf5
--- /dev/null
+++ b/documentation/mathematical_programming/package-frame.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+mathematical_programming
+
+
+
+
+
+
+
+
Interfaces
+
+
Classes
+
+
+
+
diff --git a/documentation/mathematical_programming/package-summary.html b/documentation/mathematical_programming/package-summary.html
new file mode 100644
index 00000000..d1a2452f
--- /dev/null
+++ b/documentation/mathematical_programming/package-summary.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+mathematical_programming
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Interface Summary
+
+Interface
+Description
+
+
+
+MP_Interface
+
+Contains the generic functions to allow the decisions to be exported to the MP model
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+SwissLand
+
+
+
+WeedControl
+
+Use the weedcontrol model from the AECP group as an optimizer on the activities.
+
+
+
+
+
+
+
+
+
+
Package mathematical_programming Description
+
Mathematical Programming Interface for input and output files from the ABM.
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/package-tree.html b/documentation/mathematical_programming/package-tree.html
new file mode 100644
index 00000000..e355e27d
--- /dev/null
+++ b/documentation/mathematical_programming/package-tree.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+mathematical_programming Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
Class Hierarchy
+
+
Interface Hierarchy
+
+
+
+
+
+
+
+
diff --git a/documentation/mathematical_programming/package-use.html b/documentation/mathematical_programming/package-use.html
new file mode 100644
index 00000000..d5720aad
--- /dev/null
+++ b/documentation/mathematical_programming/package-use.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+Uses of Package mathematical_programming
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/overview-frame.html b/documentation/overview-frame.html
new file mode 100644
index 00000000..c3d342a6
--- /dev/null
+++ b/documentation/overview-frame.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+Overview List
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/overview-summary.html b/documentation/overview-summary.html
new file mode 100644
index 00000000..30d479da
--- /dev/null
+++ b/documentation/overview-summary.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+Overview
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+Packages
+
+Package
+Description
+
+
+
+activity
+
+Farm activities entail all possible actions a farm agent could perform
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+fuzzy_logic
+
+Fuzzy logic selection for activities in ABM.
+
+
+
+logging
+
+Log output of ABM
+
+
+
+main
+
+Framework to run ABM simulations
+
+
+
+mathematical_programming
+
+Mathematical Programming Interface for input and output files from the ABM.
+
+
+
+reader
+
+Create farm objects from external data files
+
+
+
+testing
+
+Unit testing for ABM
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/overview-tree.html b/documentation/overview-tree.html
new file mode 100644
index 00000000..50bf10cc
--- /dev/null
+++ b/documentation/overview-tree.html
@@ -0,0 +1,162 @@
+
+
+
+
+
+Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
Class Hierarchy
+
+
Interface Hierarchy
+
+
+
+
+
+
+
+
diff --git a/documentation/package-list b/documentation/package-list
new file mode 100644
index 00000000..35962f99
--- /dev/null
+++ b/documentation/package-list
@@ -0,0 +1,8 @@
+activity
+agent
+fuzzy_logic
+logging
+main
+mathematical_programming
+reader
+testing
diff --git a/documentation/reader/FarmDataMatrix.html b/documentation/reader/FarmDataMatrix.html
new file mode 100644
index 00000000..5fbc0eca
--- /dev/null
+++ b/documentation/reader/FarmDataMatrix.html
@@ -0,0 +1,388 @@
+
+
+
+
+
+FarmDataMatrix
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+public class FarmDataMatrix
+extends java.lang.Object
+The FarmDataMatrix object is a reference object for each agent that stores the individual farm data.
+ The FarmDataMatrix is an n*m matrix that contains the reference data (eg. individual activity) in the rows, and each column is an individual farm.
+ row 1: Vector of data element names (eg. activities in system)
+ row 2: Farm1: [values for each associated data element]
+ row 3: Farm2: [values for each associated data element]
+ row m: FarmM: [values for each associated data element]
+ These data elements for could be activity preference or years of farming experience
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+FarmDataMatrix ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+java.util.List<java.lang.String>
+getDataElementName ()
+
+
+double
+getFarmDataElementValue (java.lang.String FarmID,
+ java.lang.String name)
+Given a farmID and a name of the data element (eg.
+
+
+
+java.util.Map<java.lang.String,java.lang.Double[]>
+getFarmMap ()
+
+
+void
+setDataElementMap (java.util.Map<java.lang.String,java.lang.Double[]> dataMap)
+
+
+void
+setDataElementName (java.util.List<java.lang.String> listNames)
+
+
+void
+setFarmDataElementValue (java.lang.String FarmID,
+ java.lang.String name,
+ double value)
+Given a farmID and a name, set the value of that cell in the matrix.
+
+
+
+void
+setFarmMap (java.util.ArrayList<java.lang.String> matrixRow)
+Set the row of data that corresponds with the specific farm name.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+FarmDataMatrix
+public FarmDataMatrix()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getFarmDataElementValue
+public double getFarmDataElementValue(java.lang.String FarmID,
+ java.lang.String name)
+Given a farmID and a name of the data element (eg. activity), return the value of that matrix cell.
+
+Parameters:
+FarmID:
- of the specific farm
+name:
- data element name to return value from matrix
+Returns:
+value of that cell in the matrix
+
+
+
+
+
+
+
+
+setFarmDataElementValue
+public void setFarmDataElementValue(java.lang.String FarmID,
+ java.lang.String name,
+ double value)
+Given a farmID and a name, set the value of that cell in the matrix.
+
+Parameters:
+FarmID:
- of the specific farm
+name:
- data element name (e.g. activity name)
+value:
- to set for farm and element combination
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reader/ReadData.html b/documentation/reader/ReadData.html
new file mode 100644
index 00000000..1b8db09b
--- /dev/null
+++ b/documentation/reader/ReadData.html
@@ -0,0 +1,727 @@
+
+
+
+
+
+ReadData
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+ReadData ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+java.util.List<Activity >
+getActivityList ()
+Create list of activity type/category by reading the years of experience file
+ This is used to generate the individual farm activities lists
+
+
+
+java.util.List<Farm >
+getFarms ()
+Each farm in the list contains a social network, the associated people, and preferred activities
+ The satisfaction and Information Seeking Behavior (ISB) are generated initially
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ReadData
+public ReadData()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getFarms
+public java.util.List<Farm > getFarms()
+Each farm in the list contains a social network, the associated people, and preferred activities
+ The satisfaction and Information Seeking Behavior (ISB) are generated initially
+
+Returns:
+List of all farm objects from the input csv file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reader/class-use/FarmDataMatrix.html b/documentation/reader/class-use/FarmDataMatrix.html
new file mode 100644
index 00000000..ac56d94a
--- /dev/null
+++ b/documentation/reader/class-use/FarmDataMatrix.html
@@ -0,0 +1,221 @@
+
+
+
+
+
+Uses of Class reader.FarmDataMatrix
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use FarmDataMatrix
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructors in agent with parameters of type FarmDataMatrix
+
+Constructor and Description
+
+
+
+Farm (java.lang.String name,
+ Location location,
+ org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> socialNetwork,
+ java.util.List<java.lang.Double> incomeHistory,
+ FarmDataMatrix farmingExperience,
+ FarmDataMatrix preferences,
+ java.util.List<Activity > activities,
+ double activity_tolerance,
+ double income_tolerance,
+ java.util.List<Activity > currentActivity,
+ Person farmHead,
+ double beta_l,
+ double beta_s,
+ double beta_p,
+ double reference_income,
+ double aspiration_coef,
+ double lambda,
+ double alpha_plus,
+ double alpha_minus,
+ double phi_plus,
+ double phi_minus,
+ double fuzzy_size)
+This constructor sets up the parameters associated with a farm.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reader/class-use/ReadData.html b/documentation/reader/class-use/ReadData.html
new file mode 100644
index 00000000..f6d95358
--- /dev/null
+++ b/documentation/reader/class-use/ReadData.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+Uses of Class reader.ReadData
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use ReadData
+
+Package
+Description
+
+
+
+testing
+
+Unit testing for ABM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reader/package-frame.html b/documentation/reader/package-frame.html
new file mode 100644
index 00000000..49467076
--- /dev/null
+++ b/documentation/reader/package-frame.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+reader
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reader/package-summary.html b/documentation/reader/package-summary.html
new file mode 100644
index 00000000..3a49b174
--- /dev/null
+++ b/documentation/reader/package-summary.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+reader
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+FarmDataMatrix
+
+The FarmDataMatrix object is a reference object for each agent that stores the individual farm data.
+
+
+
+ReadData
+
+This class reads input parameters from configuration files and results data from the optimization model.
+
+
+
+
+
+
+
+
+
+
Package reader Description
+
Create farm objects from external data files
+
+Author:
+kellerke
+
+
+
+
+
+
+
+
diff --git a/documentation/reader/package-tree.html b/documentation/reader/package-tree.html
new file mode 100644
index 00000000..fe5dfe4f
--- /dev/null
+++ b/documentation/reader/package-tree.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+reader Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/reader/package-use.html b/documentation/reader/package-use.html
new file mode 100644
index 00000000..ca48ad65
--- /dev/null
+++ b/documentation/reader/package-use.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+Uses of Package reader
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Packages that use reader
+
+Package
+Description
+
+
+
+agent
+
+Each agent in ABM represents an individual farm
+
+
+
+testing
+
+Unit testing for ABM
+
+
+
+
+
+
+
+
+
+Classes in reader used by agent
+
+Class and Description
+
+
+
+FarmDataMatrix
+The FarmDataMatrix object is a reference object for each agent that stores the individual farm data.
+
+
+
+
+
+
+
+
+
+Classes in reader used by testing
+
+Class and Description
+
+
+
+ReadData
+This class reads input parameters from configuration files and results data from the optimization model.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/script.js b/documentation/script.js
new file mode 100644
index 00000000..b3463569
--- /dev/null
+++ b/documentation/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+ count = 0;
+ for (var key in methods) {
+ var row = document.getElementById(key);
+ if ((methods[key] & type) != 0) {
+ row.style.display = '';
+ row.className = (count++ % 2) ? rowColor : altColor;
+ }
+ else
+ row.style.display = 'none';
+ }
+ updateTabs(type);
+}
+
+function updateTabs(type)
+{
+ for (var value in tabs) {
+ var sNode = document.getElementById(tabs[value][0]);
+ var spanNode = sNode.firstChild;
+ if (value == type) {
+ sNode.className = activeTableTab;
+ spanNode.innerHTML = tabs[value][1];
+ }
+ else {
+ sNode.className = tableTab;
+ spanNode.innerHTML = "" + tabs[value][1] + " ";
+ }
+ }
+}
diff --git a/documentation/stylesheet.css b/documentation/stylesheet.css
new file mode 100644
index 00000000..98055b22
--- /dev/null
+++ b/documentation/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+ background-color:#ffffff;
+ color:#353833;
+ font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+ font-size:14px;
+ margin:0;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:#4A6782;
+}
+a:hover, a:focus {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+a:active {
+ text-decoration:none;
+ color:#4A6782;
+}
+a[name] {
+ color:#353833;
+}
+a[name]:hover {
+ text-decoration:none;
+ color:#353833;
+}
+pre {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+}
+h1 {
+ font-size:20px;
+}
+h2 {
+ font-size:18px;
+}
+h3 {
+ font-size:16px;
+ font-style:italic;
+}
+h4 {
+ font-size:13px;
+}
+h5 {
+ font-size:12px;
+}
+h6 {
+ font-size:11px;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+}
+table tr td dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:11px;
+ z-index:200;
+ margin-top:-9px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#bb7a2a;
+}
+.tab {
+ background-color:#0066FF;
+ color:#ffffff;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:11px;
+ margin:0;
+}
+.topNav {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.bottomNav {
+ margin-top:10px;
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav {
+ background-color:#dee3e9;
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+ text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#FFFFFF;
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:#bb7a2a;
+ text-transform:uppercase;
+}
+.navBarCell1Rev {
+ background-color:#F8981D;
+ color:#253441;
+ margin: auto 5px;
+}
+.skipNav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:5px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader span{
+ margin-right:15px;
+}
+.indexHeader h1 {
+ font-size:13px;
+}
+.title {
+ color:#2c4557;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 15px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:12px;
+}
+.indexContainer h2 {
+ font-size:13px;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+ padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:12px;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:5px 0 10px 0px;
+ font-size:14px;
+ font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #ededed;
+ background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ background-color:#ffffff;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+ width:100%;
+ border-left:1px solid #EEE;
+ border-right:1px solid #EEE;
+ border-bottom:1px solid #EEE;
+}
+.overviewSummary, .memberSummary {
+ padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#253441;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ padding-top:10px;
+ padding-left:1px;
+ margin:0px;
+ white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+ color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ padding-bottom:7px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ border: none;
+ height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ height:16px;
+}
+.memberSummary caption span.tableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#4D7A97;
+ height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+ padding-top:0px;
+ padding-left:0px;
+ padding-right:0px;
+ background-image:none;
+ float:none;
+ display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+ display:none;
+ width:5px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ background-color:#4D7A97;
+ float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+ text-align:left;
+ padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+ vertical-align:top;
+ padding-right:0px;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+ background:#dee3e9;
+ text-align:left;
+ padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+ white-space:nowrap;
+ font-size:13px;
+}
+td.colLast, th.colLast {
+ font-size:13px;
+}
+td.colOne, th.colOne {
+ font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+ width:25%;
+ vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+.tableSubHeadingColor {
+ background-color:#EEEEFF;
+}
+.altColor {
+ background-color:#FFFFFF;
+}
+.rowColor {
+ background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ font-style:normal;
+}
+
+div.block {
+ font-size:14px;
+ font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+ padding-top:0px;
+}
+
+
+td.colLast a {
+ padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:10px;
+}
+.block {
+ display:block;
+ margin:3px 10px 2px 0px;
+ color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+ font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+ font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+ font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+ padding-bottom:0px;
+}
diff --git a/documentation/testing/AllTests.html b/documentation/testing/AllTests.html
new file mode 100644
index 00000000..65320ff1
--- /dev/null
+++ b/documentation/testing/AllTests.html
@@ -0,0 +1,238 @@
+
+
+
+
+
+AllTests
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+AllTests ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+AllTests
+public AllTests()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
diff --git a/documentation/testing/DecisionCalculatorTests.html b/documentation/testing/DecisionCalculatorTests.html
new file mode 100644
index 00000000..1b25c923
--- /dev/null
+++ b/documentation/testing/DecisionCalculatorTests.html
@@ -0,0 +1,462 @@
+
+
+
+
+
+DecisionCalculatorTests
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+testing.DecisionCalculatorTests
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+setup
+public void setup()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/testing/FarmTests.html b/documentation/testing/FarmTests.html
new file mode 100644
index 00000000..d3b20cc7
--- /dev/null
+++ b/documentation/testing/FarmTests.html
@@ -0,0 +1,696 @@
+
+
+
+
+
+FarmTests
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+FarmTests ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+FarmTests
+public FarmTests()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/testing/class-use/AllTests.html b/documentation/testing/class-use/AllTests.html
new file mode 100644
index 00000000..b14b1341
--- /dev/null
+++ b/documentation/testing/class-use/AllTests.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class testing.AllTests
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of testing.AllTests
+
+
+
+
+
+
diff --git a/documentation/testing/class-use/DecisionCalculatorTests.html b/documentation/testing/class-use/DecisionCalculatorTests.html
new file mode 100644
index 00000000..4542d114
--- /dev/null
+++ b/documentation/testing/class-use/DecisionCalculatorTests.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class testing.DecisionCalculatorTests
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of testing.DecisionCalculatorTests
+
+
+
+
+
+
diff --git a/documentation/testing/class-use/FarmTests.html b/documentation/testing/class-use/FarmTests.html
new file mode 100644
index 00000000..9b466aee
--- /dev/null
+++ b/documentation/testing/class-use/FarmTests.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Class testing.FarmTests
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of testing.FarmTests
+
+
+
+
+
+
diff --git a/documentation/testing/package-frame.html b/documentation/testing/package-frame.html
new file mode 100644
index 00000000..351f3a50
--- /dev/null
+++ b/documentation/testing/package-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+testing
+
+
+
+
+
+
+
+
+
diff --git a/documentation/testing/package-summary.html b/documentation/testing/package-summary.html
new file mode 100644
index 00000000..9fc0304f
--- /dev/null
+++ b/documentation/testing/package-summary.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+testing
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+AllTests
+
+This class tests suite for all possible unit tests
+
+
+
+DecisionCalculatorTests
+
+This class tests the decision calculator.
+
+
+
+FarmTests
+
+This class tests farm agent object.
+
+
+
+
+
+
+
+
+
+
Package testing Description
+
Unit testing for ABM
+
+
+
+
+
+
+
diff --git a/documentation/testing/package-tree.html b/documentation/testing/package-tree.html
new file mode 100644
index 00000000..f25c4e22
--- /dev/null
+++ b/documentation/testing/package-tree.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+testing Class Hierarchy
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/documentation/testing/package-use.html b/documentation/testing/package-use.html
new file mode 100644
index 00000000..5a95efa6
--- /dev/null
+++ b/documentation/testing/package-use.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+Uses of Package testing
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of testing
+
+
+
+
+
+
diff --git a/src/agent/Farm.java b/src/agent/Farm.java
index 565868a5..6e8fc7d9 100644
--- a/src/agent/Farm.java
+++ b/src/agent/Farm.java
@@ -190,7 +190,7 @@ public List decideActivitySet(List allFarms, CommandLine cmd) {
// Update functions for farm parameters
/**
- * This function updates farms with new income values, as well as the probabilities the values occur, returned by the optimization model.
+ * This function updates all updatedable parameters on the farm based on new income and activity
*
* @param allFarms: list of all farms
* @param income: income value of farm
@@ -200,10 +200,9 @@ public void updateFarmParameters(List allFarms, double income, List