-
Notifications
You must be signed in to change notification settings - Fork 340
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
Handle breaks #186
Comments
Two things to consider that I encountered:
|
@krypt-n thanks for your input! The implementation sketch above does not take into account this kind of regulation subtleties. The difficulty with these is that the break length(s) and position(s) would have to be decided dynamically at every step depending on the route characteristics. So for every tiny route modification, we'd be introducing a whole new range of combinatorial choices. The approach I described does assume that breaks are "hard-coded" in input which is kind of limiting, though already allowing temporal flexibility. But I think it's a good first step that's already enough for many use-cases. |
I just merged #303 so this should now be fully functional on |
Now that we have support for timing constraints, we should handle drivers breaks. To some extent, there are already some options to do that:
I want to define a break as some kind of "location-less" job. It should be movable forward or backward in time depending on surrounding jobs to solve the flexibility problem described above.
On the API side, we could add a
breaks
array for each vehicle, containing objects with aservice
andtime_window
key (not sure if there is a point in specifying several time windows for a given break?).As far as I can tell for the solving side, this would require to:
tw_route
ctor to make sure they're mandatorytw_route
to allow temporal moves while more jobs are addedThere is probably some tricky stuff involved for operators gain evaluation and validity checks.
The text was updated successfully, but these errors were encountered: