## Uses of Class
org.cpsolver.ifs.model.Value

- Packages that use Value
  Package | Description
  --- | ---
  org.cpsolver.coursett.model | University Course Timetabling: Model.
  org.cpsolver.exam.model | Examination Timetabling: Model.
  org.cpsolver.ifs.algorithms | IFS Neighbourhood Search Algorithms
  org.cpsolver.ifs.algorithms.neighbourhoods | IFS: Various Problem-Independent Neighbourhoods.
  org.cpsolver.ifs.assignment | An assignment holds current values of all the variables of a model.
  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.constant | Extension of the model with constant variables.
  org.cpsolver.ifs.criteria | IFS Criteria.
  org.cpsolver.ifs.dbt | Dynamic backtracking extension of IFS solver
  org.cpsolver.ifs.example.csp | Random Binary CSP with uniform distribution.
  org.cpsolver.ifs.example.jobshop | JobShop Problem.
  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.model | IFS Model (description of a problem)
  org.cpsolver.ifs.perturbations | Minimal Perturbation Problem: counting of perturbations
  org.cpsolver.ifs.solution | IFS Solution (also contains solution comparator)
  org.cpsolver.ifs.solver | IFS Solver
  org.cpsolver.ifs.termination | IFS Termination (termination condition)
  org.cpsolver.ifs.util | Utilities
  org.cpsolver.instructor.model | Instructor Scheduling: Model.
  org.cpsolver.studentsct.heuristics | Student Sectioning: Heuristics.
  org.cpsolver.studentsct.model | Student Sectioning: Model.

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

    Subclasses of Value in org.cpsolver.coursett.model
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Placement` Placement (value).

  - ### Uses of Value in org.cpsolver.exam.model

    Subclasses of Value in org.cpsolver.exam.model
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ExamPlacement` Representation of an exam placement (problem value), i.e., assignment of an exam to period and room(s).

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

    Classes in org.cpsolver.ifs.algorithms with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GreatDeluge<V extends Variable<V,T>,T extends Value<V,T>>` Great deluge.
    `class` | `HillClimber<V extends Variable<V,T>,T extends Value<V,T>>` Hill climber.
    `class` | `MetaHeuristicSearch<V extends Variable<V,T>,T extends Value<V,T>>` Meta-heuristic search neighbor selection.
    `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` | `NeighbourSelector<V extends Variable<V,T>,T extends Value<V,T>>` A wrapper for `NeighbourSelection` that keeps some stats about the given neighbour selector.
    `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` | `SimpleSearch<V extends Variable<V,T>,T extends Value<V,T>>` Simple search neighbour selection.
    `class` | `SimulatedAnnealing<V extends Variable<V,T>,T extends Value<V,T>>` Simulated annealing.
    `class` | `StepCountingHillClimber<V extends Variable<V,T>,T extends Value<V,T>>` Step counting hill climber.

  - ### Uses of Value in org.cpsolver.ifs.algorithms.neighbourhoods

    Classes in org.cpsolver.ifs.algorithms.neighbourhoods with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RandomMove<V extends Variable<V,T>,T extends Value<V,T>>` Try to assign a variable with a new value.
    `class` | `RandomSwapMove<V extends Variable<V,T>,T extends Value<V,T>>` Try to assign a variable with a new value.
    `class` | `SuggestionMove<V extends Variable<V,T>,T extends Value<V,T>>` Suggestion move.

  - ### Uses of Value in org.cpsolver.ifs.assignment

    Classes in org.cpsolver.ifs.assignment with type parameters of type Value
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Assignment<V extends Variable<V,T>,T extends Value<V,T>>` An assignment of all the variable of a `Model`.
    `class` | `AssignmentAbstract<V extends Variable<V,T>,T extends Value<V,T>>` An abstract implementation of an `Assignment` object.
    `class` | `AssignmentArray<V extends Variable<V,T>,T extends Value<V,T>>` An assignment using array to store values of all the variables of the model.
    `interface` | `AssignmentComparable<X,V extends Variable<V,T>,T extends Value<V,T>>` Comparable interface for assignment-dependent objects.
    `class` | `AssignmentComparator<X extends AssignmentComparable<X,V,T>,V extends Variable<V,T>,T extends Value<V,T>>` Comparator for the `AssignmentComparable` objects.
    `class` | `AssignmentMap<V extends Variable<V,T>,T extends Value<V,T>>` An assignment using a `HashMap` to store values of all the variables of the model.
    `class` | `DefaultInheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>` Default inherited assignment.
    `class` | `DefaultParallelAssignment<V extends Variable<V,T>,T extends Value<V,T>>` An assignment using the `Variable.getAssignments()` to store values of all the variables of the model.
    `class` | `DefaultSingleAssignment<V extends Variable<V,T>,T extends Value<V,T>>` An assignment using the old `Variable.getAssignment()` to store values of all the variables of the model.
    `class` | `EmptyAssignment<V extends Variable<V,T>,T extends Value<V,T>>` An empty assignment.
    `interface` | `InheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>` An assignment inherited from some other assignment with only a few local modifications.
    `class` | `InheritedAssignmentArray<V extends Variable<V,T>,T extends Value<V,T>>`
    `class` | `OptimisticInheritedAssignment<V extends Variable<V,T>,T extends Value<V,T>>` Optimistic inherited assignment.
    `class` | `ValueComparator<V extends Variable<V,T>,T extends Value<V,T>>` A simple class comparing two values.

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

    Classes in org.cpsolver.ifs.assignment.context with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractClassWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An abstract implementation of an assignment context holding class.
    `interface` | `AssignmentConstraintContext<V extends Variable<V,T>,T extends Value<V,T>>` An extension of the simple `AssignmentContext` which is used by the `ConstraintWithContext` class.
    `interface` | `AssignmentContextHolder<V extends Variable<V,T>,T extends Value<V,T>>` An interface holding all assignment contexts associated with one assignment.
    `class` | `AssignmentContextHolderArray<V extends Variable<V,T>,T extends Value<V,T>>` A simple assignment context holder implementation using array to store all the assignment contexts.
    `class` | `AssignmentContextHolderMap<V extends Variable<V,T>,T extends Value<V,T>>` A simple assignment context holder implementation using `HashMap` to store all the assignment contexts.
    `class` | `AssignmentContextReference<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` A reference to an assignment context.
    `class` | `BinaryConstraintWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentConstraintContext<V,T>>` A binary constraint with an assignment context.
    `interface` | `CanInheritContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An additional interface that can be implemented by the `HasAssignmentContext` class.
    `class` | `ConstraintWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentConstraintContext<V,T>>` A constraint with an assignment context.
    `class` | `DefaultParallelAssignmentContextHolder<V extends Variable<V,T>,T extends Value<V,T>>` A simple assignment context holder implementation used by the `DefaultParallelAssignment` class.
    `class` | `DefaultSingleAssignmentContextHolder<V extends Variable<V,T>,T extends Value<V,T>>` A simple assignment context holder implementation used by the `DefaultSingleAssignment` class.
    `class` | `ExtensionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An extension with an assignment context.
    `interface` | `HasAssignmentContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` An interface to be implemented by a class that need an assignment context associated with it.
    `class` | `InheritedAssignmentContextHolder<V extends Variable<V,T>,T extends Value<V,T>>` A variant of the `AssignmentContextHolderMap` that is used by the `InheritedAssignment` class.
    `class` | `ModelWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentConstraintContext<V,T>>` A model with an assignment context.
    `class` | `NeighbourSelectionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` A neighborhood selection with an assignment context.
    `class` | `VariableWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>` A variable with an assignment context.

    Methods in org.cpsolver.ifs.assignment.context with type parameters of type Value
    Modifier and Type | Method and Description
    --- | ---
    `static <V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext> C` | AssignmentContextHelper.`getContext(HasAssignmentContext<V,T,C> source, Assignment<V,T> assignment)` Returns an assignment context associated with the given object.

  - ### Uses of Value in org.cpsolver.ifs.constant

    Classes in org.cpsolver.ifs.constant with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ConstantModel<V extends Variable<V,T>,T extends Value<V,T>>` Extension of the model with constant variables.
    `interface` | `ConstantVariable<T extends Value<?,T>>` Extension of a variable with the possibility to have a constant value.

  - ### Uses of Value in org.cpsolver.ifs.criteria

    Classes in org.cpsolver.ifs.criteria with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractCriterion<V extends Variable<V,T>,T extends Value<V,T>>` Abstract Criterion.
    `class` | `AssignedValue<V extends Variable<V,T>,T extends Value<V,T>>` Simple Criterion: Sum of `toDouble(Assignment)`.
    `interface` | `Criterion<V extends Variable<V,T>,T extends Value<V,T>>` Criterion.

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

    Classes in org.cpsolver.ifs.dbt with type parameters of type Value
    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.
    `class` | `DbtValueSelection<V extends Variable<V,T>,T extends Value<V,T>>` Selection of a value for dynamic backtracking.
    `class` | `DbtVariableSelection<V extends Variable<V,T>,T extends Value<V,T>>` Selection of a variable for dynamic backtracking.

  - ### Uses of Value in org.cpsolver.ifs.example.csp

    Subclasses of Value in org.cpsolver.ifs.example.csp
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CSPValue` CSP value.

  - ### Uses of Value in org.cpsolver.ifs.example.jobshop

    Subclasses of Value in org.cpsolver.ifs.example.jobshop
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Location` Location of an operation.

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

    Classes in org.cpsolver.ifs.extension with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AssignedValue<T extends Value<?,T>>` This class describing an assignment of a value to a variable together with a counter (used by CBS).
    `static class` | `AssignedValue.AssignmentComparator<E extends Value<?,E>>` Assignment comparator
    `class` | `AssignedValueSet<T extends Value<?,T>>` This class describing a set of assignment (used by CBS).
    `class` | `ConflictStatistics<V extends Variable<V,T>,T extends Value<V,T>>` Conflict-based statistics.
    `class` | `Extension<V extends Variable<V,T>,T extends Value<V,T>>` Generic extension of IFS solver.
    `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).

    Methods in org.cpsolver.ifs.extension with type parameters of type Value
    Modifier and Type | Method and Description
    --- | ---
    `static <T extends Value<?,T>> AssignedValueSet<T>` | AssignedValueSet.`createAssignmentSet(Collection<AssignedValue<T>> assignments)` Create set of assignments from the list of Assignments, Values or (assigned) Variables
    `static <T extends Value<?,T>> AssignedValueSet<T>` | AssignedValueSet.`createAssignmentSetForValues(Collection<T> assignments)` Create set of assignments from the list of Assignments, Values or (assigned) Variables

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

    Classes in org.cpsolver.ifs.heuristics with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BacktrackNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>` Backtracking-based neighbour selection.
    `class` | `GeneralValueSelection<V extends Variable<V,T>,T extends Value<V,T>>` General implementation of value selection criterion.
    `class` | `GeneralVariableSelection<V extends Variable<V,T>,T extends Value<V,T>>` General implementation of variable selection criterion.
    `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.
    `interface` | `NeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>` Neighbour selection criterion.
    `class` | `RoundRobinNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>` A round robin neighbour selection.
    `class` | `StandardNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>` Standard neighbour selection criterion.
    `interface` | `ValueSelection<V extends Variable<V,T>,T extends Value<V,T>>` Value selection criterion.
    `interface` | `VariableSelection<V extends Variable<V,T>,T extends Value<V,T>>` Variable selection criterion.

  - ### Uses of Value in org.cpsolver.ifs.model

    Classes in org.cpsolver.ifs.model with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BinaryConstraint<V extends Variable<V,T>,T extends Value<V,T>>` Binary constraint.
    `class` | `Constraint<V extends Variable<V,T>,T extends Value<V,T>>` Generic constraint.
    `interface` | `ConstraintListener<V extends Variable<V,T>,T extends Value<V,T>>` IFS constraint listener.
    `interface` | `ExtendedInfoProvider<V extends Variable<V,T>,T extends Value<V,T>>` An extension of the `InfoProvider` class providing extended information.
    `class` | `GlobalConstraint<V extends Variable<V,T>,T extends Value<V,T>>` Generic global constraint.
    `interface` | `InfoProvider<V extends Variable<V,T>,T extends Value<V,T>>` A class providing INFO table.
    `class` | `LazyNeighbour<V extends Variable<V,T>,T extends Value<V,T>>` Lazy neigbour (a change of the overall solution value is unknown before the neighbour is assigned, it is possible to undo the neighbour instead).
    `static interface` | `LazyNeighbour.LazyNeighbourAcceptanceCriterion<V extends Variable<V,T>,T extends Value<V,T>>` Neighbour acceptance criterion interface (to be implemented by search strategies that are using `LazyNeighbour`.
    `class` | `LazySwap<V extends Variable<V,T>,T extends Value<V,T>>` Lazy swap of two variables.
    `class` | `Model<V extends Variable<V,T>,T extends Value<V,T>>` Generic model (definition of a problem).
    `interface` | `ModelListener<V extends Variable<V,T>,T extends Value<V,T>>` IFS model listener.
    `interface` | `Neighbour<V extends Variable<V,T>,T extends Value<V,T>>` IFS neighbour.
    `class` | `SimpleNeighbour<V extends Variable<V,T>,T extends Value<V,T>>` A neighbour consisting of a change (either assignment or unassignment) of a single variable.
    `class` | `Value<V extends Variable<V,T>,T extends Value<V,T>>` Generic value.
    `class` | `Variable<V extends Variable<V,T>,T extends Value<V,T>>` Generic variable.
    `interface` | `VariableListener<T extends Value<?,T>>` IFS variable listener.
    `interface` | `WeakeningConstraint<V extends Variable<V,T>,T extends Value<V,T>>` Interface of a constraint that weakens with the time.

    Fields in org.cpsolver.ifs.model declared as Value
    Modifier and Type | Field and Description
    --- | ---
    `protected T` | Variable.`iValue` Assigned value

    Methods in org.cpsolver.ifs.model that return Value
    Modifier and Type | Method and Description
    --- | ---
    `Value<V,T>[]` | Variable.`getAssignments()` Deprecated.

  - ### Uses of Value in org.cpsolver.ifs.perturbations

    Classes in org.cpsolver.ifs.perturbations with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultPerturbationsCounter<V extends Variable<V,T>,T extends Value<V,T>>` Default computation of perturbation penalty (minimal perturbation problem).
    `interface` | `PerturbationsCounter<V extends Variable<V,T>,T extends Value<V,T>>` Counter of perturbation penalty (minimal perturbation problem).

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

    Classes in org.cpsolver.ifs.solution with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GeneralSolutionComparator<V extends Variable<V,T>,T extends Value<V,T>>` General implementation of solution comparator.
    `class` | `MPPSolutionComparator<V extends Variable<V,T>,T extends Value<V,T>>` General implementation of solution comparator for minimal perturbation problem.
    `class` | `Solution<V extends Variable<V,T>,T extends Value<V,T>>` Generic solution.
    `interface` | `SolutionComparator<V extends Variable<V,T>,T extends Value<V,T>>` IFS solution comparator.
    `interface` | `SolutionListener<V extends Variable<V,T>,T extends Value<V,T>>` IFS solution listener.

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

    Classes in org.cpsolver.ifs.solver with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ParallelSolver<V extends Variable<V,T>,T extends Value<V,T>>` Multi-threaded solver.
    `class` | `Solver<V extends Variable<V,T>,T extends Value<V,T>>` IFS Solver.
    `interface` | `SolverListener<V extends Variable<V,T>,T extends Value<V,T>>` IFS Solver Listener.

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

    Classes in org.cpsolver.ifs.termination with type parameters of type Value
    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.
    `interface` | `TerminationCondition<V extends Variable<V,T>,T extends Value<V,T>>` Termination condition.

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

    Classes in org.cpsolver.ifs.util with type parameters of type Value
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ProblemLoader<V extends Variable<V,T>,T extends Value<V,T>,M extends Model<V,T>>` Abstract problem loader class.
    `class` | `ProblemSaver<V extends Variable<V,T>,T extends Value<V,T>,M extends Model<V,T>>` Abstract problem saver class.

  - ### Uses of Value in org.cpsolver.instructor.model

    Subclasses of Value in org.cpsolver.instructor.model
    Modifier and Type | Class and Description
    --- | ---
    `class` | `TeachingAssignment` Teaching assignment.

  - ### Uses of Value in org.cpsolver.studentsct.heuristics

    Classes in org.cpsolver.studentsct.heuristics with type parameters of type Value
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `AssignmentCheck<V extends Variable<V,T>,T extends Value<V,T>>` Simple interface providing an assignment check for the `EnrollmentSelection`.

  - ### Uses of Value in org.cpsolver.studentsct.model

    Subclasses of Value in org.cpsolver.studentsct.model
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Enrollment` Representation of an enrollment of a student into a course.