matsim-org / matsim-libs

Multi-Agent Transport Simulation
www.matsim.org
491 stars 452 forks source link

Implement more fine-grained control over DRT detour and waiting time constraints #2809

Open nkuehnel opened 1 year ago

nkuehnel commented 1 year ago

Right now DRT optimizes based on time window constraints, mainly focusing on latest arrival time.

However, in some projects, clients may want to have a service which has, e.g., "max wait time of 30 min" and "max detour of 30%".

So far this is hard to implement in standard drt. In principle, to allow the max wait time constraint of 30 min, one would also need to set the beta in the drt config to a high value. By doing this, the latest arrival time correctly is pushed behind. However, if an early insertion is found, it can mean the passenger has to experience a huge detour that is longer than the aforementioned 30%, as currently there is no check for a maximum detour and the constraint basically only cares about latest arrival time (and max wait time).

We would like to have an option to explicitly allow both long wait times and short detours.

kainagel commented 1 year ago

We agree. :-)

Maybe Chengqi can say something how far he got.

luchengqi7 commented 1 year ago

Yes, this is indeed a little bit difficult. I have looked into the code and talked with Michal (@michalmac). We think this will require some rather major changes in the insertion algorithms. As Nico has pointed out, the latest drop-off time will be dependent on the pick-up time, which is not fixed. The current insertion algorithm cannot handle this.

Unfortunately, there isn't much progress at the moment. Perhaps we can work it out together during the code sprint?

nkuehnel commented 1 year ago

@luchengqi7 are you available these days? :)

luchengqi7 commented 1 year ago

Yes, I’m available most of the time this week. We can find a day to work on that together. 😀

My email: lu@vsp.tu-berlin.de