## Uses of Interface
org.cpsolver.ifs.termination.TerminationCondition

- Packages that use TerminationCondition
  Package | Description
  --- | ---
  org.cpsolver.coursett.custom | University Course Timetabling: Various customizations.
  org.cpsolver.coursett.model | University Course Timetabling: Model.
  org.cpsolver.coursett.sectioning | Additional Student Sectioning Algorithms.
  org.cpsolver.exam.heuristics | Examination Timetabling: Solution Heuristics.
  org.cpsolver.ifs.solver | IFS Solver
  org.cpsolver.ifs.termination | IFS Termination (termination condition)
  org.cpsolver.ifs.util | Utilities

- - ### Uses of TerminationCondition in org.cpsolver.coursett.custom

    Methods in org.cpsolver.coursett.custom with parameters of type TerminationCondition
    Modifier and Type | Method and Description
    --- | ---
    `void` | DeterministicStudentSectioning.`switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)` No re-sectioning (final sectioning) during deterministic student sectioning.

  - ### Uses of TerminationCondition in org.cpsolver.coursett.model

    Methods in org.cpsolver.coursett.model with parameters of type TerminationCondition
    Modifier and Type | Method and Description
    --- | ---
    `void` | FinalSectioning.`execute(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)`
    `void` | TimetableModel.`switchStudents(Assignment<Lecture,Placement> assignment, TerminationCondition<Lecture,Placement> termination)` Student final sectioning (switching students between sections of the same class in order to minimize overall number of student conflicts)
    `void` | DefaultStudentSectioning.`switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)` Run student final sectioning (switching students between sections of the same class in order to minimize overall number of student conflicts).
    `void` | StudentSectioning.`switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)` Run student final sectioning (switching students between sections of the same class in order to minimize overall number of student conflicts).

  - ### Uses of TerminationCondition in org.cpsolver.coursett.sectioning

    Methods in org.cpsolver.coursett.sectioning with parameters of type TerminationCondition
    Modifier and Type | Method and Description
    --- | ---
    `void` | SctSectioning.`switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)`
    `void` | StudentSwapSectioning.`switchStudents(Solution<Lecture,Placement> solution, TerminationCondition<Lecture,Placement> termination)`

  - ### Uses of TerminationCondition in org.cpsolver.exam.heuristics

    Classes in org.cpsolver.exam.heuristics that implement TerminationCondition
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ExamNeighbourSelection` Examination timetabling neighbour selection.

  - ### Uses of TerminationCondition in org.cpsolver.ifs.solver

    Methods in org.cpsolver.ifs.solver that return TerminationCondition
    Modifier and Type | Method and Description
    --- | ---
    `TerminationCondition<V,T>` | Solver.`getTerminationCondition()` Returns termination condition

    Methods in org.cpsolver.ifs.solver with parameters of type TerminationCondition
    Modifier and Type | Method and Description
    --- | ---
    `void` | Solver.`setTerminalCondition(TerminationCondition<V,T> terminationCondition)` Sets termination condition

  - ### Uses of TerminationCondition in org.cpsolver.ifs.termination

    Classes in org.cpsolver.ifs.termination that implement TerminationCondition
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GeneralTerminationCondition<V extends Variable<V,T>,T extends Value<V,T>>` General implementation of termination condition.
    `class` | `MPPTerminationCondition<V extends Variable<V,T>,T extends Value<V,T>>` General implementation of termination condition for minimal perturbation problem.

  - ### Uses of TerminationCondition in org.cpsolver.ifs.util

    Methods in org.cpsolver.ifs.util that return TerminationCondition
    Modifier and Type | Method and Description
    --- | ---
    `TerminationCondition<V,T>` | ProblemLoader.`getTerminationCondition()` Return termination condition so that the save process can be stopped if needed.
    `TerminationCondition<V,T>` | ProblemSaver.`getTerminationCondition()` Return termination condition so that the save process can be stopped if needed.

    Methods in org.cpsolver.ifs.util with parameters of type TerminationCondition
    Modifier and Type | Method and Description
    --- | ---
    `void` | ProblemLoader.`setTerminationCondition(TerminationCondition<V,T> termination)` Provide termination condition so that the save process can be stopped if needed (optional).
    `void` | ProblemSaver.`setTerminationCondition(TerminationCondition<V,T> termination)` Provide termination condition so that the save process can be stopped if needed (optional).