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 40 forks source link

How to Penalize Long Wait Times in DRT? #269

Open MayuriAnn opened 1 week ago

MayuriAnn commented 1 week ago

Hi,

Based on the output from the São Paulo pipeline, the corsica_drt example, and adapt configs for drt and feeder, we built a scenario to simulate DRT/feeder+DRT (here are the configuration and running script for feeder+DRT). After completing the simulation, we noticed a large number of rejections with the cause "no_insertion_found."

We plan to run a few tests to address these rejections by:

1 - Enabling the RejectionConstraint. 2 - Turning off rejections by setting the rejectRequestIfMaxWaitOrTravelTimeViolated parameter to false.

In the latter case, it is likely that many requests will result in long wait times. To prevent this, we want to penalize the utility of requests with long wait times in the DiscreteModeChoice (DMC) module, encouraging agents to select other modes.

Looking at the Eqasim code, it seems that the parameter modeParameters.drt.betaWaitingTime_u_min controls the disutility of waiting time. However, we are unsure where this parameter (and other similar parameters) is being set for the DRT mode, other than default (zero) values found in ModeParameters.

So our questions are:

How can we set this parameter to penalize long wait times (either in the code or through the configuration file)? Would this be a valid approach to mitigating rejections?

Thanks in advance.

sebhoerl commented 2 days ago

Hi, in SaoPauloModeParameters you have the function buildDefault which sets the default values when running the simulation. So there you can set the parameters just like parameters.drt... = .... As an alternative, you can also set them via the command line when starting the simulation by passing --mode-parameter:drt.betaWaitingTime_u_min -0.123123 to RunSimulation.

Handling rejections is indeed a tricky topic, and I think there are multiple philosophies on how to interpret them. We had a brief discussion in this paper here, including yet another approach:

Tarek Chouaki, Sebastian Hörl, Jakob Puchinger. Control-based integration of rejection rates into en- dogenous demand ride-pooling simulations. 8th International Conference on Models and Technologies for Intelligent Transportation Systems (MT-ITS 2023), Jun 2023, Nice, France.