Added conditional time windows #555
Open
+591
−24
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Use case: some vehicles are not allowed to go to some places only at certain times. For example, many european towns restrict "big" trucks during day time to prevent blocking small roads, but small vehicles stay allowed. Or markets at certain hours forbid all but the smallest vehicles. Etc.
So we need a mecanism to make TW optional. This is what is implemented here: TW can now be inherited, implementing a new extension point verifying if the TW should be applied. If not, the TW is reduced to the default TW (infinity, as already used in other classes).
Side note: I've first asked how to do on S/O at https://stackoverflow.com/questions/76993532/jsprit-conditional-time-windows - I'm very open to other solutions of course. This is my first foray into jsprit code so I would understand if it was found lacking in many ways.