Dear Prof. Nagel and the other MATSim experts,

I am a student of the Technical University Munich and I would like to do my Master Thesis concerning mode choice in MATSim in collaboration with Raoul Rothfeld and Anna Straubinger from Bauhaus Luftfahrt e.V.

According to what I understood, mode choice in MATSim is based on the Multinomial Logit (at least based on my knowledge). And my idea is to develop/implement Nested Logit mode choice plan, as a creation of new/enhancement of existing MATSim mode choice plug in. Does it sound realistic? Or does this topic make sense and is worthy to do research on?

Please feel free to give answers and suggestions! And that would be a great help for me regarding the preparation of the Master Thesis.

Thank you in advance!

Best regards,

Jennifer Fu

    CommentAdd your comment...

    1 answer


      Yes, MATSim mode choice can be based on MNL.  More precisely, as follows:

      • Agents typically have several strategies.
      • Strategies are grouped into innovative strategies, such as re-route, time-allocation-mutator, or change-trip-mode, and (pure) strategy selectors, such as best-score or select-exp-beta.
      • Agents have a set of plans, which can be interpreted as choice set.  This choice set is generated through the innovative strategies, and reduced through the plan-selector-for-removal.
      • Agents then execute those plans in the mobsim, and afterwards score them, based on the mobsim events.
      • If an agent does not innovate, she/he picks a plan based on a strategy selector, as defined above.
      • We normally switch innovation off at some point (fraction-of-iterations-to-switch-off-innovation).

      So if you have re-route, change-trip-mode, and select-exp-beta as strategies, and fraction-of-iterations-to-switch-off-innovation at 0.8, then after 80% of iterations only select-exp-beta is left as a strategy, and thus all agents use MNL for choice, within the choice set they have accumulated until then.

      So the technical path for implementing nested logit (NL) would be to add your own strategy (as shown in RunPluggablePlanStrategyInCodeExample), and make it purely selective (i.e. never add a strategy module), and use it instead of, say, select-exp-beta or change-exp-beta.


      Having said this, I would say that at this point the probability to have a certain plan (in the sense of your question a certain mode) in the choice set or not probably plays a larger role than the choice model itself.  There is some text on this in our book in section 97.3.  In particular, plans-selection-for-removal plays a very strong (and not well investigated) role.

      So my own attempts to include the effect of correlations between alternatives (which is what MNL does) was rather in the area of plans removal.  See RunPlanSelectorForRemovalExample for the software aspect.  There is a DiversityGeneratingPlansRemover in the "common" contrib.  Regarding its theory, It has to do with path size logit.


      So for your master thesis I can see the following two ways to go:

      1. Replace the default plans remover by your own and experiment with that.  In terms of theory, this means rather go in the direction of path size logit than nested logit.
      2. An alternative would be to just fix your choice set up front (i.e. never use innovative strategies); then you could use NL for this fixed choice set and try around with that.  Note, however, that this is difficult to do for large scale scenarios, because you cannot even use re-route, so all routes need to be fixed from the beginning.

      Good luck!

        CommentAdd your comment...