-
Notifications
You must be signed in to change notification settings - Fork 379
Add max load constraint for break validity #794
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
Conversation
There is a subtlety I didn't see at first in the adjustments required to update The new load before insertion should be
Value 1 is already stored by the The best way to avoid this I can think of is to provide this value as an additional argument to This will add a bit of boilerplate to the |
We'll also have to apply to |
There is yet another thing I under-estimated here: the changes already applied to This limitation only applies for instances with jobs, so normally the current state of this PR should be already working for shipment-only instances (ping @fbaierl if you want to give it a spin). EDIT: I updated the task list to reflect this. |
Hello @jcoupey, not sure if I understand this correctly, but will the current solution only work if there are absolutely no job elements inside the VROOM query at all? We actually use jobs (always with empty pickup and delivery values) to force the vehicles to maintain certain previously calculated routes (as described here). I have added an example to the original issue with those empty jobs. |
I'm currently running some testing and I've spotted a few problematic situations along the way, such as P&D scenarios where we fail to insert shipments before or between the breaks, probably related to the heuristic decisions in |
I think the adjustments to One example is when we test a single pickup addition or delivery addition in So what I tried in the previous commits is to add a flag as parameter to A benefit of this approach is that we could try storing at vehicle level whether the |
… that have no break with max_load.
Issue
This PR aim at implementing #786.
Tasks
max_load
member forBreak
objectsmax_load
values in json inputmax_load
is OK when formatting routesmax_load
related violation in plan modeis_valid_addition_for_tw
is_valid_addition_for_tw
replace
replace
TWRoute::order_choice
TWRoute::is_valid_addition_for_tw
max_load
and current route loadis_valid_addition_for_tw
validity checks to check for breaks outside the modified rangedocs/API.md
CHANGELOG.md