## Uses of Interface
org.cpsolver.ifs.solution.SolutionListener

- Packages that use SolutionListener
  Package | Description
  --- | ---
  org.cpsolver.coursett | University Course Timetabling.
  org.cpsolver.coursett.criteria.placement | University Course Timetabling: Placement Selection Criteria.
  org.cpsolver.exam.heuristics | Examination Timetabling: Solution Heuristics.
  org.cpsolver.ifs.algorithms | IFS Neighbourhood Search Algorithms
  org.cpsolver.ifs.extension | IFS Extensions (conflict-based statistics, maintenance of arc consistency)
  org.cpsolver.ifs.heuristics | IFS Heuristics (value and variable selection criteria)
  org.cpsolver.ifs.solution | IFS Solution (also contains solution comparator)
  org.cpsolver.studentsct | Student Sectioning Solver.

- - ### Uses of SolutionListener in org.cpsolver.coursett

    Classes in org.cpsolver.coursett that implement SolutionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Test` A main class for running of the solver from command line.

  - ### Uses of SolutionListener in org.cpsolver.coursett.criteria.placement

    Classes in org.cpsolver.coursett.criteria.placement that implement SolutionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PotentialHardConflicts` Use conflict-based statistics to compute potential hard conflicts.
    `class` | `WeightedHardConflicts` Hard conflicts weighted by the conflict-based statistics (past occurrences).

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

    Classes in org.cpsolver.exam.heuristics that implement SolutionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ExamGreatDeluge` Deprecated.
    `class` | `ExamHillClimbing` Deprecated.
    `class` | `ExamSimulatedAnnealing` Deprecated.

  - ### Uses of SolutionListener in org.cpsolver.ifs.algorithms

    Classes in org.cpsolver.ifs.algorithms that implement SolutionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GreatDeluge<V extends Variable<V,T>,T extends Value<V,T>>` Great deluge.
    `class` | `GreatDeluge.GreatDelugeContext`
    `class` | `HillClimber<V extends Variable<V,T>,T extends Value<V,T>>` Hill climber.
    `class` | `HillClimber.HillClimberContext`
    `class` | `NeighbourSearch<V extends Variable<V,T>,T extends Value<V,T>>` Base class for the search techniques like hill climber, great deluge, or simulated annealing.
    `class` | `NeighbourSearch.NeighbourSearchContext` Search context
    `class` | `ParallelConstruction<V extends Variable<V,T>,T extends Value<V,T>>` A simple neighbourhood selection extension suitable for the `ParallelSolver` during the construction phase.
    `class` | `SimulatedAnnealing<V extends Variable<V,T>,T extends Value<V,T>>` Simulated annealing.
    `class` | `SimulatedAnnealing.SimulatedAnnealingContext`
    `class` | `StepCountingHillClimber<V extends Variable<V,T>,T extends Value<V,T>>` Step counting hill climber.
    `class` | `StepCountingHillClimber.StepCountingHillClimberContext`

  - ### Uses of SolutionListener in org.cpsolver.ifs.extension

    Classes in org.cpsolver.ifs.extension that implement SolutionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SearchIntensification<V extends Variable<V,T>,T extends Value<V,T>>` Go back to the best known solution when no better solution is found within the given amount of iterations.

  - ### Uses of SolutionListener in org.cpsolver.ifs.heuristics

    Classes in org.cpsolver.ifs.heuristics that implement SolutionListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MaxIdleNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>` Simple extension of a provided `NeighbourSelection` that halts the construction heuristic or the IFS search when the underlying heuristic is unable to improve the number of assigned variables.

  - ### Uses of SolutionListener in org.cpsolver.ifs.solution

    Methods in org.cpsolver.ifs.solution that return types with arguments of type SolutionListener
    Modifier and Type | Method and Description
    --- | ---
    `List<SolutionListener<V,T>>` | Solution.`getSolutionListeners()` Registered of solution listeners

    Methods in org.cpsolver.ifs.solution with parameters of type SolutionListener
    Modifier and Type | Method and Description
    --- | ---
    `void` | Solution.`addSolutionListener(SolutionListener<V,T> listener)` Adds solution listener
    `void` | Solution.`removeSolutionListener(SolutionListener<V,T> listener)` Removes solution listener

  - ### Uses of SolutionListener in org.cpsolver.studentsct

    Classes in org.cpsolver.studentsct that implement SolutionListener
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Test.TestSolutionListener`