|
PBeFS
Parallel Best-First Search
|
what evaluates and branches the nodes of a B&B More...
#include <PBeFS/bnb/BranchAndBound.h>
what evaluates and branches the nodes of a B&B
evaluate( n ) returns the Evaluation of the node n, possibly storing in n what the branching needs, and branch( n , sink ) calls sink( c , e ) for every child c of the evaluated node n, e being a bound of c that is cheap to compute (typically the bound of n).
Optionally, the evaluator may give cutoff( z ), which the searches call before each evaluate( n ) and branch( n , sink ) with the incumbent value z (in the sense of the problem, infinite when there is none), e.g., to stop the relaxation of a node as soon as it is proven not to improve z, the node being then found infeasible. A worker should take z from here rather than from a value it shares with the others: in the deterministic search z is the incumbent of the start of the round [see DeterministicBranchAndBound], so that the evaluation does not depend on what the other workers find meanwhile.