Flexible Start of a vehicle to reduce waiting time

I have a vehicle that can start at any time and has to serve some shipments with special working hours. My problem is, that the vehicle always starts at the time specified by earliest_start( which is 00:00 in my case) or 0 if earliest_start is not specified. For example: If it takes the vehicle 1 hour to drive to the delivery location of the shipment, which has a time window from 8 to 9, it starts at 0 and has to wait 7 hours instead of just starting the route at 7. Is there any way of solving this? As there are different locations with different time windows i don’t want to set earliest_start to a fixed time, but would like to determine the start depending on a minimum of waiting time/completion time.

Also i want to forbid returning to the depot to pickup another shipment. How is this possible without limiting the total time available (latest_end of vehicle)?

Unfortunately, this is not yet possible. We already have this on our feature list and will work at a solution soon.

It is not possible directly. You either just use pickups or deliveries (as ordinary services) then nothing is picked up at the depot anymore. Or you can limit the max_jobs (e.g. max number of shipments) a vehicle can load or max_activities a vehicle can conduct. Alternatively, you might control this with time windows of your shipments.

Thank you for the fast answer!
I have got another question. I have a service that has to performed in the beginning and ending of every route by every vehicle. So every vehicle needs to do some preparation before starting and some “finishing” after ending the route. How is that possible?

You can use relations. It is documented here. For example, you can use “in_direct_sequence” along with “end” as follows:

{
     "type": "in_direct_sequence",
     "ids": ["service_k_id","end"]
}

This ensures that “service_k” will be conducted just before the “end” of the route.

Thanks! If I understand it correctly, the service will be only in the start of one route and not in every route, right?
I have come up with one more question. Is it possible to split shipments? If the capacity is to large for one vehicle, will it be split into two or more routes?

I am currently using an older version (8.2.1). As far as I know, the latest stable version is 0.9, but I could only find a documentation of 10-snapshot. Does a documentation of the 0.9 still exist and if yes, where can I find it? I want to use the latest stable version and would like to know what was changed.

@stefan Hi Stefan,

want to set earliest_start to a fixed time, but would like to determine the start depending on a minimum of waiting time/completion time.

Do you know if it’s now possible to do this?

Unfortunately it is still not possible to optimize the departure times of the drivers. You must specify them beforehand. “earliest_start” is a bit misleading, because it suggests that drivers can start later. This is not the case. “earliest_start” is actually equal to “start”.

Hi @stefan,

Any update on this? We would loooove to see this feature implemented :slight_smile:

having the vehicle start at the ideal time regarding time windows of the deliveries.

Greetings

Hi @stefan,

Reviving this topic to see if you could provide some visibility on the roadmap for this topic?

I believe there are a few threads that relate to this; e.g. Time windows produce idle waiting time where the “recommended solution” is to replace duration with preparation_time but it is unclear to me if that would be a hack or the proper way to solve the “waiting time” issue in the long run.

Thanks a lot!

2 Likes

Hey, this is a long and static demand. Do you plan to implement something like this?

If this feature is planned, what would be the ETA on it?
We want to maybe implement a fix ourselves that might take care of some of the use cases but would like to see if it’s worth it to implement it ourselves in the meantime.