[ Reference Manual | Alphabetic Index ]

# library(repair)

Repair library: support for local search via tentative assignments and repair constraints [more]

## Predicates

> call_satisfied_constraints
>   No description available
> conflict_constraints(?)
>   Obsolete: use conflict_constraints/2 instead.
> conflict_constraints(+ConflictSet, -Constraints)
>   Retreive the set of conflicting constraints monitored in ConflictSet.
> conflict_vars(-Vars)
>   Returns the list of variables which are currently non-tenable.
> get_changeable_value(?, ?)
>   No description available
> poss_conflict_vars(?)
>   No description available
> poss_conflict_vars(+ConflictSet, -Vars)
>   Returns the set of variables within the conflict constraints in ConflictSet.
> r(?)
>   Obsolete: use r_conflict/2 and r_conflict_prop/2 instead.
> +Constraint r_conflict ?ConflictSet
>   Annotate Constraint as a repair constraint and monitor it for conflicts.
> +Constraint r_conflict_prop ?ConflictSet
>   Annotate Constraint as a repair constraint and monitor it for conflicts. It is propagated when it goes into conflict.
> r_no_prop(?)
>   Obsolete: use r_conflict/2 and r_conflict_prop/2 instead.
> r_prop(?)
>   Obsolete: use r_conflict/2 and r_conflict_prop/2 instead.
> repair_stat(?)
>   No description available
> suspend_on_change(?, ?)
>   No description available
> tenable(?Var)
>   Check if Var is tenable.
> tent_call(+In, +Out, +Goal)
>   Eagerly call Goal whenever tentative values of variables in In changes.
> tent_call(?, ?, ?, ?)
>   No description available
> ?Vars tent_get ?Values
>   Query the tentative values of variables in Vars.
> -Result tent_is +Expression
>   Eagerly evaulate Expression using tentative assignments.
> tent_is(?, ?, ?)
>   No description available
> ?Vars tent_set ++Values
>   Assigns tentative values for the variables in a term.
> tentative_ground(?, ?)
>   No description available
> tr_monitors(?, ?)
>   No description available

## Structures

> struct repair(tent, mon, ga_chg)
>   No description available

## Other Exports

> export op(900, xf, r)
> export op(900, xf, r_no_prop)
> export op(900, xf, r_prop)
> export op(900, xfx, r_conflict)
> export op(900, xfx, r_conflict_prop)
> export op(700, xfx, [tent_set, tent_get, tent_is])
> export portray(monitor_tenable / 3, tr_monitors / 2, [goal])
> export portray(monitor_conflict / 5, tr_monitors / 2, [goal])

## Description

The repair library provides a framework for the integration of repair-based search with the constraint consistency checking techniques of ECLiPSe. It allows the implementation of classical local search methods within a CLP environment. It provides two facilities:

- The maintenance of tentative values for 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.

Normally, the repair library communicates with another solver (such as fd or ria) to check for constraint violations.

Tentative values can be visualised using the ECLiPSe visualisations tools. To do so, set up a viewable using viewable:viewable_create/3,4 and specify changeable(repair,Type) as its element type.

## About

- Author: Hani El-Sakkout, Stefano Novello, Joachim Schimpf
- Copyright © Cisco Systems, Inc.
- Date: $Date: 2012/10/25 13:14:34 $

Generated from repair.eci on 2020-02-26 22:26