Interface SolverJobBuilder<Solution_,ProblemId_>

Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation
ProblemId_ - the ID type of submitted problem, such as Long or UUID.
All Known Implementing Classes:
DefaultSolverJobBuilder

public interface SolverJobBuilder<Solution_,ProblemId_>
Provides a fluent contract that allows customization and submission of planning problems to solve.

A SolverManager can solve multiple planning problems and can be used across different threads.

Hence, it is possible to have multiple distinct build configurations that are scheduled to run by the SolverManager instance.

To solve a planning problem, set the problem configuration: withProblemId(Object), withProblemFinder(Function) and withProblem(Object).

Then solve it by calling run().