Here we show how the idea of dynamic backtracking can be applied to branch and bound optimization. This is done by exploiting the concept of valued nogood. However, simple replacement of nogoods with valued nogoods does not lead to a correct algorithm. We show that a way to achieve correctness is to use at each variable a separate nogood storage for each position that the variable holds in the order on assigned variables. This is a different version to the one in [dago97]. Constraint Satisfaction Problems (CSPs) are typically addressed with some kind of backtracking algorithm. A seminal work that helped to deeply understand and unify many backtracking algorithms was [Ginsberg93]'s dynamic backtracking (DB). Optimization problems are often solved with branch and bound (B&B) algorithms, a family of algorithms related to backtracking. However, no equivalent of DB's heuristic was so far developed for branch and bound. The algorithm proposed here, Dynamic Branch & Bound (DBB), is optimal and guaranteed to terminate, having polynomial space complexity and a reordering policy similar to Dynamic Backtracking. The experimentation performed validates the correctness of the theory. Like Dynamic Backtracking, whose reordering heuristic is known to be rather inefficient, the interest of the proposed algorithm is shown to be mainly theoretical.
Silaghi, M.C. (2006). Dynamic branch & bound, an optimization counterpart for dynamic backtracking (CS-2006-03). Melbourne, FL. Florida Institute of Technology.