- 
                Notifications
    You must be signed in to change notification settings 
- Fork 207
faq 36765707
by Kai Nagel on 2015-10-16 12:44:08
(original question in Germany, maybe someone can translate it?)
Hallo Herr Prof. Dr. Nagel,
 
 ich arbeite zur Zeit mit MATSim und habe mit Hilfe des Frameworks einige 
 neue Funktionalitäten implementiert. Unteranderem gehören dazu 
 Transportmodi, sowie ein neuer Router, der für das neue multimodale 
 Routing zuständig sein soll. Ich habe mich hierfür an das Example: 
 TeleportationMobsim gehalten und dies erweitert. Genauer: Ich habe einen 
 neuen TripRouter implementiert, neue Transportmodi, eine neue 
 ScoringFunction und meinen Personen mittels CustomAttributes weitere 
 Attribute zugeteilt. Meine ScoringFunction und mein TripRouter benutzen 
 nun unteranderem die  mittels A* berechneten Routen und gewichten diese 
 nochmal abhängig von den gewählten CustomAttributes, um Routen zu 
 bestimmen.
 
 Nun frage ich mich, wie ein TripRouter und eine ScoringFunction die 
 Berechnung der fortführenden Iterationen beeinflusst.
 Konkreter:
 Meines Wissens nach sollen die Ergebnisse der ScoringFunction in 
 weiteren Iterationen optimiert werden abhängig von den berechneten 
 Routen des TripRouters, jedoch frage ich mich, wie die ScoringFunction 
 die neuen Routen (bspw. eine Route die mittels A*-Algorithmus berechnet 
 wurde) beeinflussen kann, da der Router deterministisch die LeastCost 
 Route berechnet.
 
 Vielen Dank im Voraus für Ihre Bemühungen,
 Igor Dudschenko
by Kai Nagel on 2015-10-16 12:49:28
If I understand the question right, it is how agents can learn when the router returns the same answer every time it runs.
The answer indeed is: If this is the case, then MATSim does NOT learn. Innovative modules, as the router, somehow need to generate diversity. In the normal set-up, this happens since link travel times vary from iteration to iteration, so the "best reply to previous iteration" returns different routes.
An additional mechanism is to deliberately generate diversity, for example by randomly varying the trade-off between different routing attributes. See doi:10.1016/j.procs.2014.05.488 for an example and matsim.org/javadoc → main distribution → RunRandomizingRouterExample for how to use this. There are plans to eventually make this the default.
You are viewing an archive of the previous MATSim Q&A site. The real site is now at https://matsim.org/faq