eqasim-org / eqasim-java

The eqasim framework features an integrated transport simulation environment. It is based on the agent-based transport simulation framework MATSim with added components for simulation of discrete choice models.
http://www.eqasim.org
GNU General Public License v2.0
23 stars 39 forks source link

Feat: A more advanced standalone mode choice #195

Closed tkchouaki closed 4 months ago

tkchouaki commented 4 months ago

This PR proposes an extension to the RunModeChoice script proposed in PR #161 and developed in PR #165 around the functionality of running the mode choice module as a standalone independent from the simulation.

This PR quite deeply the way this functionality is implemented in order to have a cleaner architecture allow two features:

The entry point of this feature is the RunStandaloneModeChoice class. The class requires one parameter: config-path: a path to a MATSim config file The mode choice is performed via a StandaloneModeChoiceModule which is configurable via a config group. The StandaloneModeChoiceConfigGroup can be included in the supplied config file, if not one with the default settings is added and these settings can be set via the commandline using the config: prefix. Below the list of supported parameters:

A common way to use this script would be a command line similar to the one below

java -cp ... org.eqasim.ile_de_france.standalone_mode_choice.RunStandaloneModeChoice
--config-path=config.xml
--config:standaloneModeChoice.outputDirectory=mode_choice_outputs
--config:standaloneModeChoice.removePersonsWithNoValidAlternatives=true
--write-output-csv-trips=true
--write-input-csv-trips=true
--simulate-after=true