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: drt now supported by default in the core module #185

Closed tkchouaki closed 6 months ago

tkchouaki commented 7 months ago

The objective of this PR is to natively support DRT in Eqasim. By making use of the recent developments that allow optional modules to be defined in EqasimConfigurator and its subclasses, the DRT module and related functionalities are activated when a MultiModeDrtConfigGroup is detected.

This implementation is compatible with the presence of various DRT modes running simultaneously.

As for the mode choice, besides extending the ModeParameters class with DrtParameters, the following base components are added

Functionality for DRT analysis is also included.

Moreover, two scripts are present to ease the building of drt scenarios

This functionality for creating a DRT scenario and then running it is tested.

In order to use it in one of the use case modules, users can follow an approach analogous to the one present in the related unit test. The minimum requirement consists of a ModeAvailability that allows the agents to use DRT mode. The other mode choice components should be extended if needed.

Alongside the functionality for DRT, this PR also includes the replacing of EqasimMainModeIdentifier by RoutingModeMainModeIdentifier as mentioned in #184.