Boolean cardinality constraints are commonly translated (encoded) into Boolean CNF, a standard form for Boolean satisﬁability problems, which can be solved using a standard SAT solving program. However, cardinality constraints are a simple generalization of clauses, and the complexity entailed by encoding them into CNF can be avoided by reasoning about cardinality constraints natively within a SAT solver. In this work, we compare the performance of two forms of native cardinality constraints against some of the best performing encodings from the literature. We designed a number of experiments, modeling the general use of cardinality constraints including crafted, random and application problems, to be run in parallel on a cluster of computers. Results show that native implementations substantially outperform CNF encodings on instances composed entirely of cardinality constraints, and instances that are mostly clauses with few cardinality constraints exhibit mixed results warranting further study.
Maglalang, Jordyn C., "Native Cardinality Constraints: More Expressive, More Efficient Constraints" (2012). Honors Projects. Paper 19.