[ The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]# library(branch_and_bound)

Generic branch-and-bound primitives
## Predicates

**bb_cost(++Handle, -Cost)**
- Low-level primitive for building branch-and-bound-style search procedures
**bb_finish(++Handle)**
- Low-level primitive for building branch-and-bound-style search procedures
**bb_init(++ExtremeCost, -Handle)**
- Low-level primitive for building branch-and-bound-style search procedures
**bb_min(+Goal, ?Cost, ?Options)**
- Find a minimal solution using the branch-and-bound method
**bb_min(+Goal, ?Cost, ?Template, ?Solution, ?Optimum, ?Options)**
- Find a minimal solution using the branch-and-bound method
**bb_probe(++From, ++To, +Goal, ?Template, ?Cost, ++Handle, ++Module)**
- Low-level primitive for building branch-and-bound-style search procedures
**bb_solution(++Handle, -Solution)**
- Low-level primitive for building branch-and-bound-style search procedures
**minimize(+Goal, ?Cost)**
- Find a minimal solution using the branch-and-bound method

## Structures

**struct bb_options(strategy, from, to, delta, factor, timeout, probe_timeout, report_success, report_failure)**
- No description available

## Description

This is a solver-independent library implementing branch-and-bound
primitives. It can be used with any nondeterministic search routine
that instantiates a cost variable when a solution is found. The cost
variable can be an arbitrary numerical domain variable or even a
simple domain-less variable.
The main predicates are bb_min/3, bb_min/6 and, as a shorthand,
minimize/2.

Note on the treatment of bounded reals: The library allows the cost
to be instantiated to a number of type breal. This is useful e.g.
when using lib(ic) to solve problems with continuous variables.
When the variable domains have been narrowed sufficiently, the
problem variables (in particular the cost variable) should be
instantiated to a bounded real, e.g. using the following idiom:

X is breal_from_bounds(get_min(X),get_max(X))

Bounded reals contain some uncertainty about their true value. If
this uncertainty is too large, the branch-and-bound procedure may
not be able to compare the quality of two solutions. In this case,
a warning is issued and the search terminated prematurely. The
problem can be solved by increasing the delta-parameter, or by
locating the cost value more precisely.
## About

**Author: **Joachim Schimpf, Vassilis Liatsos, IC-Parc, Imperial College, London
**Copyright © **Cisco Systems, Inc
**Date: **$Date: 2008/03/07 15:19:46 $

Generated from branch_and_bound.eci on Mon Mar 31 03:15:15 2008