src/restart.cpp
// Restarts are scheduled by a variant of the Glucose scheme presented in
// our POS'15 paper using exponential moving averages.  There is a slow
// moving average of the average recent glucose level of learned clauses as
// well as a fast moving average of those glues.  If the end of base restart
// conflict interval has passed and the fast moving average is above a
// certain margin of the slow moving average then we restart.
Restarts are scheduled by a variant of the Glucose scheme presented in
our POS'15 paper using exponential moving averages.  There is a slow
moving average of the average recent glucose level of learned clauses as
well as a fast moving average of those glues.  If the end of base restart
conflict interval has passed and the fast moving average is above a
certain margin of the slow moving average then we restart.
Restarts are scheduled by a variant of the Glucose scheme presented in our POS ' 15 paper using exponential moving averages . There is a slow moving average of the average recent glucose level of learned clauses as well as a fast moving average of those glues . If the end of base restart conflict interval has passed and the fast moving average is above a certain margin of the slow moving average then we restart .
bool Internal::restarting () {
  if (!opts.restart) return false;
  if (stabilizing ()) return false;
  if (stats.conflicts <= lim.restart) return false;
  if (level < 2) return false;
  if (level < fast_glue_avg) return false;
  double s = slow_glue_avg, f = fast_glue_avg, l = opts.restartmargin * s;
  LOG ("EMA glue slow %.2f fast %.2f limit %.2f", s, f, l);
  return l <= f;
}
bool Internal :: restarting ( ) { if ( ! opts . restart ) return false ; if ( stabilizing ( ) ) return false ; if ( stats . conflicts <= lim . restart ) return false ; if ( level < 2 ) return false ; if ( level < fast_glue_avg ) return false ; double s = slow_glue_avg , f = fast_glue_avg , l = opts . restartmargin * s ; LOG ( " " , s , f , l ) ; return l <= f ; }
Restarts are scheduled by a variant of the Glucose scheme presented in
our POS'15 paper using exponential moving averages.
Restarts are scheduled by a variant of the Glucose scheme presented in our POS ' 15 paper using exponential moving averages .