On Solving Optimization Problems Using Boolean Satisfiability
Total Page:16
File Type:pdf, Size:1020Kb
Proceeding of the First International Conference on Modeling, Simulation and Applied Optimization, Sharjah, U.A.E. February 1-3, 2005 ON SOLVING OPTIMIZATION PROBLEMS USING BOOLEAN SATISFIABILITY Fadi A. Aloul American University of Sharjah Department of Computer Engineering P.O. Box 26666, Sharjah, UAE [email protected] ABSTRACT SAT solvers require that the problem be represented in CNF form. The last few years have seen significant advances in Boolean sat- While this is applicable to some Engineering tasks, it poses a sig- isfiability (SAT) solving. This has lead to the successful deploy- nificant obstacle to many others. In particular to tasks that need to ment of SAT solvers in a wide range of problems in Engineering express “counting constraints” which impose a lower or upper and Computer Science. In general, most SAT solvers are applied to bound on a certain number of objects. Expressing such constraints Boolean decision problems that are expressed in conjunctive nor- in CNF cannot be efficiently done. Recently, SAT solvers were ex- mal form (CNF). While this input format is applicable to some en- tended to handle pseudo-Boolean (PB) constraints which can easi- gineering tasks, it poses a significant obstacle to others. One of the ly represent “counting constraints” [5, 6, 10, 16, 27]. PB main advances in SAT is generalizing SAT solvers to handle stron- constraints are more expressive and can replace an exponential ger representation of constraints. Specifically, pseudo-Boolean number of CNF constraints [5]. Besides expressing Boolean deci- (PB) constraints which are efficient in representing counting con- sion problems, a key advantage of using PB constraints is the abil- straints and can replace an exponential number of CNF constraints. ity to express Boolean optimization problems. These problems Another significant advantage of PB constraints is its ability to ex- were traditionally handled as instances of Integer Linear Program- press Boolean optimization problems. This allows for new applica- ming (ILP). They represent 0-1 ILP problems that call for the min- tions that were never handled by SAT solvers before. In this paper, imization or maximization of a linear objective function subject to we describe two methods to solve Boolean optimization problems a set of linear PB constraints. using SAT solvers. Both methods are implemented and evaluated In this paper, we describe two SAT-based approaches to solve using the SAT solver PBS. We develop an adaptive flow that ana- Boolean optimization problems. The algorithms we present can be lyzes a given Boolean optimization problem and selects the solving adapted to any SAT solver. The first approach is based on a linear method that best fits the problem characteristics. Empirical evi- sweep search and the second is based on a binary sweep search. dence on a variety of benchmarks shows that both methods are Both approaches are implemented on top of the SAT solver PBS competitive. The results also show that SAT-based methods tend [5]. Experiments are conducted on a variety of instances from to outperform generic integer linear programming (ILP) solvers. FPGA routing, N-queens, and graph coloring. The performance of both approaches is compared to the performance of the generic KEYWORDS commercial ILP solver CPLEX 7.0. We present experimental evi- dence showing that (i) SAT solvers can outperform generic ILP Optimization Algorithms, Boolean Satisfiability, CNF, pseudo- solvers and (ii) both linear and binary sweep search are competi- Boolean, backtrack search. tive. Therefore, we propose a flow that selects the type of search that is best suited to the problem in question. We perform an em- 1. INTRODUCTION pirical evaluation comparison of linear vs. binary sweep search and The Boolean Satisfiability (SAT) problem has been the topic of in- point out that the adaptive flow we propose picks the best config- tensive research over the past few decades. Given a set of Boolean uration in most cases. variables and a set of constraints expressed in product-of-sum form The paper is organized as follows. In Section 2 we review re- (also known as conjunctive normal form (CNF)), the goal is to find cent advances in Boolean satisfiability. Pseudo-Boolean con- a variable assignment that satisfies all constraints or prove that no straints are defined in Section 3. We then describe, in Section 4, the such assignment exists. Despite the SAT problem’s worst-case ex- two SAT-based approaches to solve Boolean optimization prob- ponential complexity [11], recent algorithmic advances along with lems. Both approaches are analyzed and compared against the per- highly efficient solver implementations [7, 17, 19, 21, 28] have en- formance of the generic ILP solver in Section 5. We conclude in abled the successful deployment of SAT solvers to a wide range of Section 6 with a summary of the paper’s main contributions. application domains. Such applications include formal verification [8], FPGA routing [22], global routing [5], power leakage estima- 2. BOOLEAN SATISFIABILITY tion [1], timing analysis [24], logic synthesis [20], and sequential The satisfiability problem involves finding an assignment to a set equivalence checking [9]. SAT has also been extended to a variety of binary variables that satisfies a given set of constraints. In gen- of applications in Artificial Intelligence including other well eral, these constraints are expressed in conjunctive normal form known NP-complete problems such as graph colorability [23], ver- (CNF) or as is commonly known as product-of-sum form. A CNF tex cover, hamiltonian path, and independent sets [13]. In general, formula ϕ on nx binary variables 1,,… xn consists of the con- ICMSAO/05-1 Proceeding of the First International Conference on Modeling, Simulation and Applied Optimization, Sharjah, U.A.E. February 1-3, 2005 junction (AND) of m clauses ω1,,…ωm each of which consists level, potentially pruning large portions of the search space. Signif- of the disjunction (OR) of kl literals. A literal is an occurrence of icant speedups have been achieved with the addition of conflict-in- a Boolean variable or its complement. We will refer to a CNF for- duced clauses, as they tend to effectively prune the search space. mula as a clause database. A variable x is said to be assigned when its logical value is set 2.2 Random Restarts to 0 or 1 and unassigned otherwise. A literal l is a true (false) lit- Besides conflict diagnosis, recent studies have shown that using eral if it evaluates to 1 (0) under the current assignment to its asso- random restarts can be very effective in solving hard SAT instanc- ciated variable, and a free literal if its associated variable is es [18, 21]. A SAT solver may often get stuck in a “bad” region of unassigned. A clause is said to be satisfied if at least one of its lit- the search space because of the sequence of decision assignments erals is true, unsatisfied if all of its literals are set to false, unit if all it had made. The restart process helps to extricate the solver from but a single literal are set to false, and unresolved otherwise. A for- such regions by periodically resetting all decision and implication mula is said to be satisfied if all its clauses are satisfied, and unsat- assignments and randomly selecting a new sequence of decisions, isfied if at least one of its clauses is unsatisfied. thus insuring that different subtrees are explored each time. Addi- As an example, a CNF instance f = ()ab∨ ()bc∨ consists tionally, all learned clauses in the various probes of the search of 3 variables, 2 clauses, and 4 literals. The assignment space are kept and help boost the effectiveness of subsequent re- {}a ===0, b 1, c 0 leads to a conflict, whereas the assignment starts. {}a ===0, b 1, c 1 satisfies f . Most modern SAT solvers [7, 17, 19, 21, 28] are based on the 2.3 Decision Heuristics original Davis-Putnam backtrack search algorithm [14]. The algo- rithm performs a search process that traverses the space of 2n vari- Intelligent decision heuristics also played an important role in en- able assignments until a satisfying assignment is found (the hancing SAT solvers performance. Several studies have proposed formula is satisfiable), or all combinations have been exhausted various decision heuristics that can be classified as static [3, 19] or (the formula is unsatisfiable). It maintains a decision tree to keep dynamic [19, 21, 28]. For example, the GRASP SAT solver [19] is track of variable assignments and can be viewed as consisting of typically used with the dynamic largest individual sum (DLIS) de- three main engines: Decision, Deduction, Diagnosis engines. cision heuristic which selects the literal that appears in the largest Originally, all variables are unassigned. The algorithm begins number of unresolved clauses. It also implements the dynamic by choosing a decision assignment to an unassigned variable. After largest combined sum (DLCS) decision heuristic which selects the each decision, the deduction engine determines the implications of variable that appears in the largest number of unresolved clauses. the assignment on other variables. This is obtained by forcing the A recent heuristic that has been found to be particularly effective assignment of the variable representing an unassigned literal in an in a variety of problems is the variable state independent decaying unresolved clause, whose all other literals are assigned to 0, to sat- sum (VSIDS) heuristic introduced in Chaff [21]. This heuristic isfy the clause. This is referred to as the unit clause rule and the re- maintains two counters for every variable that are incremented if a peated application of the unit clause rule over the given clause positive (respectively negative) literal is identified in a new con- database is known as Boolean constraint propagation (BCP).