Next: Tentative Values
Up: REPAIR: Constraint-Based Repair
Previous: REPAIR: Constraint-Based Repair
  Index
Subsections
The Repair library provides two simple, fundamental features which are
the basis for the development of repair algorithms and non-monotonic
search methods in ECLiPSe:
- The maintenance of tentative values for the problem variables.
These tentative values may together form a partial
or even inconsistent tentative assignment.
Modifications to, or extensions of this assignment may be
applied until a correct solution is found.
- The monitoring of constraints (the so called repair constraints)
for being either satisfied or violated under the current tentative
assignment. Search algorithms can then access the set of
constraints that are violated at any point in the search,
and perform repairs by changing the tentative assignment
of the problem variables.
This functionality allows the implementation of classical local search
methods within a CLP environment (see Tutorial on Search Methods).
However, the central aim of the Repair library is to provide a framework
for the integration of repair-based search with the consistency techniques
available in ECLiPSe, such as the domains and constraints of the FD library.
A more detailed description of the theory and methods that are the basis of
the Repair library is available [5].
To use the repair library you need to load it using
:- lib(repair).
Normally, you will also want to load one more of the
'fd', 'ic', 'fd_sets' or 'conjunto' solvers. This is
because of the notion of tenability, i.e. whether a tentative value is
in a domain is checked by communicating with a different solver that
keeps that domain.
Next: Tentative Values
Up: REPAIR: Constraint-Based Repair
Previous: REPAIR: Constraint-Based Repair
  Index
Warwick Harvey
2004-08-07