# Package org.cpsolver.ifs.model

IFS Model (description of a problem)

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ConstraintListener<V extends Variable<V,T>,T extends Value<V,T>> | IFS constraint listener.
  ExtendedInfoProvider<V extends Variable<V,T>,T extends Value<V,T>> | An extension of the `InfoProvider` class providing extended information.
  InfoProvider<V extends Variable<V,T>,T extends Value<V,T>> | A class providing INFO table.
  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`.
  ModelListener<V extends Variable<V,T>,T extends Value<V,T>> | IFS model listener.
  Neighbour<V extends Variable<V,T>,T extends Value<V,T>> | IFS neighbour.
  VariableListener<T extends Value<?,T>> | IFS variable listener.
  WeakeningConstraint<V extends Variable<V,T>,T extends Value<V,T>> | Interface of a constraint that weakens with the time.

- Class Summary
  Class | Description
  --- | ---
  BinaryConstraint<V extends Variable<V,T>,T extends Value<V,T>> | Binary constraint.
  Constraint<V extends Variable<V,T>,T extends Value<V,T>> | Generic constraint.
  GlobalConstraint<V extends Variable<V,T>,T extends Value<V,T>> | Generic global constraint.
  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).
  LazySwap<V extends Variable<V,T>,T extends Value<V,T>> | Lazy swap of two variables.
  Model<V extends Variable<V,T>,T extends Value<V,T>> | Generic model (definition of a problem).
  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.
  Value<V extends Variable<V,T>,T extends Value<V,T>> | Generic value.
  Variable<V extends Variable<V,T>,T extends Value<V,T>> | Generic variable.

## Package org.cpsolver.ifs.model Description

IFS Model (description of a problem)