src/restart.cpp
// This is Marijn's reuse trail idea.  Instead of always backtracking to the
// top we figure out which decisions would be made again anyhow and only
// backtrack to the level of the last such decision or if no such decision
// exists to the top (in which case we do not reuse any level).
This is Marijn's reuse trail idea.  Instead of always backtracking to the
top we figure out which decisions would be made again anyhow and only
backtrack to the level of the last such decision or if no such decision
exists to the top (in which case we do not reuse any level).
This is Marijn ' s reuse trail idea . Instead of always backtracking to the top we figure out which decisions would be made again anyhow and only backtrack to the level of the last such decision or if no such decision exists to the top ( in which case we do not reuse any level ) .
int Internal::reuse_trail () {
  if (!opts.reusetrail) return 0;
  long limit = bumped (next_decision_variable ());
  int res = 0;
  while (res < level && bumped (control[res + 1].decision) > limit)
    res++;
  if (res) stats.reused++;
  return res;
}
int Internal :: reuse_trail ( ) { if ( ! opts . reusetrail ) return 0 ; long limit = bumped ( next_decision_variable ( ) ) ; int res = 0 ; while ( res < level && bumped ( control [ res + 1 ] . decision ) > limit ) res ++ ; if ( res ) stats . reused ++ ; return res ; }
This is Marijn's reuse trail idea.
This is Marijn ' s reuse trail idea .