GraphHopper.com | Forum | GitHub | Maps | Blog

Flexible Start of a vehicle to reduce waiting time


#1

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)?


#2

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.


#3

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?


#4

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.


#5

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.