7.4 Search and Optimisation Support
7.4.1 Tree Search Methods: ic_search
ECLiPSe has built-in backtracking and is therefore well suited for
performing depth-first tree search.
With combinatorial problems, naive depth-first search is usually not
good enough, even in the presence of constraint propagation.
It is usually necessary to apply heuristics, and if the problems are
large, one may even need to resort to incomplete search.
The ic_search contains a collection of predefined, easy-to-use
search heuristics as well as incomplete tree search strategies, applicable
to problems involving ic variables.
For more details see chapter 12.
7.4.2 Optimisation: branch_and_bound
Solvers that are based on constraint propagation are typically only
concerned with satisfiability, i.e. with finding some or all solutions
to a problems.
The branch-and-bound method is a general technique to build optimisation
on top of a satisfiability solver.
The ECLiPSe branch_and_bound library is a solver-independent
implementation of the branch-and-bound method, and provides a number
of options and variants of the basic technique.