Interface Solver<Solution_>

  • Type Parameters:
    Solution_ - the solution type, the class with the PlanningSolution annotation
    All Known Implementing Classes:
    AbstractSolver, DefaultSolver, PartitionSolver

    public interface Solver<Solution_>
    A Solver solves a planning problem and returns the best solution found. It's recommended to create a new Solver instance for each dataset.

    To create a Solver, use SolverFactory.buildSolver(). To solve a planning problem, call solve(Object). To solve a planning problem without blocking the current thread, use SolverManager instead.

    These methods are not thread-safe and should be called from the same thread, except for the methods that are explicitly marked as thread-safe. Note that despite that solve(Solution_) is not thread-safe for clients of this class, that method is free to do multithreading inside itself.