Skip to content
The Discrete Mode Choice extension for MATSim makes it easy to define fine-grained and custom mode choice behaviour in MATSim simulations.
Java
Branch: latest
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src
.gitignore
.travis.yml
CHANGELOG.md
README.md
pom.xml
settings.xml

README.md

Discrete Mode Choice for MATSim

Build Status

The Discrete Mode Choice extension for MATSim makes it easy to define fine-grained and custom mode choice behaviour in MATSim simulations. Have a look at the Getting Started guide to dive right in or have a look at the existing Components if you are already familiar with the basic concepts.

The extensions offers three major pathways for improving mode choice in MATSim:

  • A fully functional replacement of SubtourModeChoice, but with the possibility to easily define custom constraints such as operating areas for certain mobility services or mode restrictions for specific user groups
  • An "importance sampler" for MATSim which samples choice alternatives with utility-based probabilities rather than purely at random and has the potential to speed up convergence
  • A "mode choice in the loop" setup, in which MATSim acts as a bare assignment model, which runs in a loop with a customizable discrete mode choice model

To learn more about these applications (and how you can implement "frozen randomness") into your simulation, have a look at the Getting Started guide.

For more customized applications and set-ups, have a look at Customizing the framework.

Working with the code

  • Releases are generally available on Bintray. The first part of the version number denotes the MATSim version that a certain release is compatible with, e.g. 11.0.6 would be compatible with MATSim 11.

  • The repository has branches for each version of MATSim. Currently, the two branches latest (12) and stable (11) are maintained, while branches for later version still exist.

  • Development is usually done by sending a PR to the latest branch. From time to time, a release is made from the latest branch and recent changes are backported to the stable branch, also resulting in a new Bintray version

To use the Discrete Mode Choice extension you first need to add the ETH MATSim Bintray repository to your pom.xml:

<repository>
    <id>matsim-eth</id>
    <url>https://dl.bintray.com/matsim-eth/matsim</url>
</repository>

Add the following to your pom.xml dependencies to use the extension with a standard MATSim 11 setup:

<dependency>
	<groupId>ch.ethz.matsim</groupId>
	<artifactId>discrete_mode_choice</artifactId>
	<version>11.0.6</version>
</dependency>

For the version that is compatible with a MATSim 12 SNAPSHOT, choose:

<dependency>
	<groupId>ch.ethz.matsim</groupId>
	<artifactId>discrete_mode_choice</artifactId>
	<version>12.0.6</version>
</dependency>

The current latest branch has version 12.0.7, which is under development.

Literature

The Discrete Mode Choice extension has been used in the following publications:

You can’t perform that action at this time.