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.
We create a Callback class to be used by solver.solve() to hook at some stages.
This will enable
Callback has a few methods to overwrite in order to execute some code
on_solve_start()
: at the beginning of solveon_solve_end()
: at the end of solveon_step_end()
: at the end of each iterationWe are deeply inspired by work from others:
In this PR, we only make local search algorithms use them, we will add gradually this possibility to all solvers.
We replace some features (logging, backup, and timer) previously used by local search algos by the use of some basic callbacks that we implement, as shown in test tests/generic_tools/callbacks/test_sa_with_callbacks.py.