Package org.matsim.contrib.socnetsim
This package contains all functionality related to simulating joint behavior, as described in this dissertation. It is recommended to skim at least Chapter 3 of the dissertation before looking at the code. Chapters 4 and 6 are recommended to understand the specifics of the applications to households and friendship networks. Here is a short guide of the different sub-packages:
Framework
org.matsim.contrib.socnetsim.framework
contains the "framework" that allows the simulation of joint behavior.
The following elements are the most important:
- Data Structures to store the required information, in particular the
SocialNetwork
andJointPlan
- The machinery to replace the MATSim replanning process by a
GroupStrategyManager
, provided by theJointDecisionProcessModule
. In general, theorg.matsim.contrib.socnetsim.framework.controller
package contains "infrastructure" needed to adapt the MATSim evolutionary process to take joint decisions into account, but leaves the actual implementation of the operators empty. org.matsim.contrib.socnetsim.framework.replanning
provides specific implementation of the group replanning, includingGroupStrategyManager
and various selectors.
Specific Applications
Additional packages provide implementation of classes geared towards specific applications. In particular:
org.matsim.contrib.socnetsim.jointactivities
contains classes relative to simulating the decision to participate in joint leisure activities (see Chapter 6)org.matsim.contrib.socnetsim.jointtrips
contains classes relative to simulating the decision to perform joint car trips (several agents in one vehicle, see Chapter 4)org.matsim.contrib.socnetsim.sharedvehicles
contains implementation of decisions relative to using shared household vehicles. This was not part of the thesis.
Examples
RunExampleSocialSimulation
demonstrates how to plug all elements together.