Revisiting Restarts of CDCL: Should the Search Information be Preserved?
Xindi Zhang, Zhihan Chen, Shaowei Cai
TL;DR
The paper investigates whether CDCL solvers should preserve search information across restarts and introduces cold restart policies that forget specific information. Through comprehensive experiments on leading solvers, it shows that forgetting the branching order ($FO$) or the phases ($FP$) generally yields improvements, while forgetting learnt clauses ($FC$) helps satisfiable instances but harms unsatisfiable ones; LBD-aware forgetting further refines this trade-off. The authors also present a parallel FO variant that delivers substantial speedups on satisfiable instances, highlighting the potential of memory-management heuristics to shape solver behavior. Overall, the work advocates a shift toward mixed exploitation-exploration restart strategies and dynamic information-management policies to build more satisfiable-oriented CDCL solvers.
Abstract
SAT solvers are indispensable in formal verification for hardware and software with many important applications. CDCL is the most widely used framework for modern SAT solvers, and restart is an essential technique of CDCL. When restarting, CDCL solvers cancel the current variable assignment while maintaining the branching order, variable phases, and learnt clauses. This type of restart is referred to as warm restart in this paper. Although different restart policies have been studied, there is no study on whether such information should be kept after restarts. This work addresses this question and finds some interesting observations. This paper indicates that under this popular warm restart scheme, there is a substantial variation in run-time with different randomized initial orders and phases, which motivates us to forget some learned information periodically to prevent being stuck in a disadvantageous search space. We propose a new type of restart called cold restart, which differs from previous restarts by forgetting some of the learned information. Experiments show that modern CDCL solvers can benefit from periodically conducting cold restarts. Based on the analysis of the cold-restart strategies, we develop a parallel SAT solver. Both the sequential and parallel versions of cold restart are more suitable for satisfiable instances, which suggests that existing CDCL heuristics for information management should be revised if one hopes to construct a satisfiable-oriented SAT solver.
