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:
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.
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.
A more detailed description of the theory and methods that are the basis of
the Repair library is available .
10.1.1 Using the Library
To use the repair library you need to load it using
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.