-
Notifications
You must be signed in to change notification settings - Fork 338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Delivery at earliest possible time when using time windows #568
Comments
Thanks for the detailed explanation and sharing an instance. The general rules for deciding arrival times are:
In your example, the whole timing is strongly impacted by the vehicle Waiting time shows up in the |
Thank you very much for the quick response and the explanations regarding this! The constraint that a break has to be taken en route is a problem for my use case. For my use case it would make more sense, if the vehicle would return to its end point immediately after all shipments have been served and before the break is taken (and actually take the break at the endpoint). This would also reduce the waiting time for the vehicle. Is there any way to relax the constraint of the break having to take place on route? I was wondering, if alternatively it is possible to define multiple time windows for a vehicle but that does not seem to be the case. However, perhaps I could workaround and define the same vehicle twice in the input with working hours in the morning and working hours in the afternoon - but I am unsure if a vehicle with the same id can occur twice in the input? I really like your visualisation of the timeline! This is very helpful to understand what is going on. Is the code for producing the timeline available somewhere in the vroom repository? |
This is precisely what happens here. After the vertical bar materializing the delivery time, you can see the delivery service in green, then the travel to next step in blue, in that case the next step is the end route. This also shows up in the
That's what we do as a general rule as we're able to split travel time across breaks (before and after), thus filling potential waiting time related to the break time window. When the overall travel time can be split in different equivalent ways without changing the rest of the route, we favor placing the break ASAP.
You can do that, note that then you'll get routes with identical
It should be, I ticketed this in VROOM-Project/vroom-scripts#17 but did not take the proper time to clean it up and push it, yet. |
Good to know that the late arrival at the delivery location is maybe only an artifact of my simplified example.
Just successfully tried that. Good to know that we could model breaks also this way. For sure the identical vehicle values need to be considered, if we handle it is way.
I have also infered from the |
Here arrival time at the
The purpose of the |
Closing as answered. |
Hi,
I have discovered that vroom seems to compute routes such that for the case of a pickup and a delivery, where only the delivery has a time window, the delivery will be done at the latest possible time according to the time window.
In my example there is a vehicle with operating time windows from 8:00 - 18:00 and a shipment, where the pickup has no timewindow and the delivery has a time window from 9:00 - 10:00. Even though, it would be possible that the shipment in the resulting route would be planned such that the delivery would be done at 9:00, it is planned that the delivery is at 10:00.
It would be good to have an option that in such cases the route is planned that the delivery takes place at 9:00 (i.e. the earliest possible time).
Is there an easy way to accomplish this with the current implementation?
I am attaching the example that I have used for testing.
earliestLatestExample.txt
Best,
Stefan.
The text was updated successfully, but these errors were encountered: