Summary: Solution and Optimization of Systems of
Fadi A. Aloul, Member, IEEE, Arathi Ramani, Member, IEEE,
Karem A. Sakallah, Fellow, IEEE, and Igor L. Markov, Senior Member, IEEE
Abstract--Optimized solvers for the Boolean Satisfiability (SAT) problem have many applications in areas such as hardware and
software verification, FPGA routing, planning, and so forth. Further uses are complicated by the need to express "counting constraints"
in conjunctive normal form (CNF). Expressing such constraints by pure CNF leads to more complex SAT instances. Alternatively,
those constraints can be handled by Integer Linear Programming (ILP), but generic ILP solvers may ignore the Boolean nature of
0-1 variables. Therefore, specialized 0-1 ILP solvers extend SAT solvers to handle these so-called "pseudo-Boolean" (PB) constraints.
This work provides an update on the on-going competition between generic ILP techniques and specialized 0-1 ILP techniques. To
make a fair comparison, we generalize recent ideas for fast SAT-solving to more general 0-1 ILP problems that may include counting
constraints and optimization. This generalization is embodied in our PB constraint solver and optimizer PBS, which is compared with
state-of-the-art CNF and generic ILP solvers. Another aspect of our comparison is the evaluation on 0-1 ILP benchmarks that originate
in Electronic Design Automation (EDA) but that cannot be directly solved by an SAT solver. Specifically, we solve instances of the
Max-SAT and Max-ONEs optimization problems, which seek to maximize the number of satisfied clauses and the "true" values over all
satisfying assignments, respectively. Those problems have straightforward applications to SAT-based routing and are additionally
important due to reductions from Max-Cut, Max-Clique, and Min Vertex Cover. Our experimental results show that specialized
0-1 techniques implemented in PBS tend to outperform generic ILP techniques on Boolean optimization problems, as well as on
general EDA SAT problems.
Index Terms--Boolean satisfiability (SAT), integer linear programming (ILP), backtrack search, conjunctive normal form (CNF),