Dynamic Backtracking (
DBT) is a well known algorithm for solving Constraint Satisfaction Problems. In
DBT, variables are allowed to keep their assignment during backjump, if they are compatible with the set of eliminating explanations.
A previous study has shown that when
DBT is combined with variable ordering heuristics it performs poorly compared to standard Conflict-directed Backjumping (
CBJ)[1]. The special feature of
DBT, keeping valid elimination explanations during backtracking, can be used for generating a new class of ordering heuristics.
In the proposed algorithm, the order of already assigned variables can be changed. Consequently, the new class of algorithms
is termed
Retroactive DBT.
In the proposed algorithm, the newly assigned variable can be moved to a position in front of assigned variables with larger
domains and as a result prune the search space more effectively. The experimental results presented in this paper show an
advantage of the new class of heuristics and algorithms over standard DBT and over CBJ. All algorithms tested were combined
with forward-checking and used a Min-Domain heuristic.