# Package org.optaplanner.core.api.solver

`Solver`, `SolverFactory`, ...

- Interface Summary
  Interface | Description
  --- | ---
  ProblemFactChange<Solution_> | A ProblemFactChange represents a change in 1 or more problem facts of a `PlanningSolution`.
  Solver<Solution_> | A Solver solves a planning problem and returns the best solution found.
  SolverFactory<Solution_> | Creates `Solver` instances.
  SolverJob<Solution_,​ProblemId_> | Represents a `problem` that has been submitted to solve on the `SolverManager`.
  SolverManager<Solution_,​ProblemId_> | A SolverManager solves multiple planning problems of the same domain, asynchronously without blocking the calling thread.

- Enum Summary
  Enum | Description
  --- | ---
  SolverStatus | The status of `problem` submitted to the `SolverManager`.