## Uses of Class
org.cpsolver.ifs.extension.Extension

- Packages that use Extension
  Package | Description
  --- | ---
  org.cpsolver.ifs.assignment.context | Assignment context can be used by a class (e.g., a constraint, a extension, a neighborhood selection, or a criterion) to contain any assignment dependent data.
  org.cpsolver.ifs.dbt | Dynamic backtracking extension of IFS solver
  org.cpsolver.ifs.extension | IFS Extensions (conflict-based statistics, maintenance of arc consistency)
  org.cpsolver.ifs.solver | IFS Solver
  org.cpsolver.studentsct.extension | Student Sectioning: Various Extensions.

- - ### Uses of Extension in org.cpsolver.ifs.assignment.context

    Subclasses of Extension in org.cpsolver.ifs.assignment.context
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ExtensionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An extension with an assignment context.

  - ### Uses of Extension in org.cpsolver.ifs.dbt

    Subclasses of Extension in org.cpsolver.ifs.dbt
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DbtPropagation<V extends Variable<V,T>,T extends Value<V,T>>` Maintenance of arc consistency in dynamic backtracking.

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

    Subclasses of Extension in org.cpsolver.ifs.extension
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ConflictStatistics<V extends Variable<V,T>,T extends Value<V,T>>` Conflict-based statistics.
    `class` | `MacPropagation<V extends Variable<V,T>,T extends Value<V,T>>` MAC propagation.
    `class` | `MacRevised<V extends Variable<V,T>,T extends Value<V,T>>` Another implementation of MAC propagation.
    `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.
    `class` | `ViolatedInitials<V extends Variable<V,T>,T extends Value<V,T>>` Computation of violated initial values (minimal perturbation problem).

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

    Methods in org.cpsolver.ifs.solver that return types with arguments of type Extension
    Modifier and Type | Method and Description
    --- | ---
    `List<Extension<V,T>>` | Solver.`getExtensions()` Returns list of all used extensions

    Methods in org.cpsolver.ifs.solver with parameters of type Extension
    Modifier and Type | Method and Description
    --- | ---
    `void` | Solver.`addExtension(Extension<V,T> extension)` Add an IFS extension

  - ### Uses of Extension in org.cpsolver.studentsct.extension

    Subclasses of Extension in org.cpsolver.studentsct.extension
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DistanceConflict` This extension computes student distant conflicts.
    `class` | `StudentConflictStatistics` Same as `ConflictStatistics`, however, conflict with real students can be weighted differently than with last-like students.
    `class` | `StudentQuality` This extension computes student schedule quality using various matrices.
    `class` | `TimeOverlapsCounter` This extension computes time overlaps.