ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Propositional Satisfiability and Constraint Programming: A comparative survey
Full text PdfPdf (879 KB)
Source ACM Computing Surveys (CSUR) archive
Volume 38 ,  Issue 4  (2006) table of contents
Article No.: 12  
Year of Publication: 2006
ISSN:0360-0300
Authors
Lucas Bordeaux  Microsoft Research, Cambridge, UK
Youssef Hamadi  Microsoft Research, Cambridge, UK
Lintao Zhang  Microsoft Research, La Avenida Mountain View, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 42,   Downloads (12 Months): 377,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1177352.1177354
What is a DOI?

ABSTRACT

Propositional Satisfiability (SAT) and Constraint Programming (CP) have developed as two relatively independent threads of research cross-fertilizing occasionally. These two approaches to problem solving have a lot in common as evidenced by similar ideas underlying the branch and prune algorithms that are most successful at solving both kinds of problems. They also exhibit differences in the way they are used to state and solve problems since SAT's approach is, in general, a black-box approach, while CP aims at being tunable and programmable. This survey overviews the two areas in a comparative way, emphasizing the similarities and differences between the two and the points where we feel that one technology can benefit from ideas or experience acquired from the other.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Adjiman, P., Chatalic, P., GoasdouE, F., Rousset, M.-C., and Simon, L. 2005. Scalability study of peer-to-peer consequence finding. International Joint Conference on Artificial Intelligence (IJCAI). 351--356.
3
 
4
 
5
Bacchus, F. and Walsh, T. 2005. Propagating logical combinations of constraints. International Joint. Conference on Artificial Intelligence (IJCAI). 35--40.
 
6
Bacchus, F. and Winter, J. 2003. Effective preprocessing with hyper-resolution and equality reduction. International Conference on Theory and Applications of Satisfiability Testing (SAT). 341--355.
 
7
Barrett, C., de Moura, L., and Stump, A. 2005. SMT-COMP: Satisfiability modulo theories competition. In International Conference on Computer-Aided Verification (CAV). Springer, 20--23.
 
8
 
9
Bart, P. 1995. A Davis-Putnam based enumeration algorithm for linear pseudo-Boolean optimization. Tech. rep. 95-2-003, Max Planck Institute.
 
10
Bayardo, R. J. and Schrag, R. C. 1997. Using CSP look-back techniques to solve real world SAT instances. North American National Conference on Artificial Intelligence (AAAI). 203--208.
 
11
Beldiceanu, N., Carlsson, M., and Rampon, J.-X. 2005. Global constraint catalog. Tech. rep. T2005-08, Swedish Institute of Computer Science.
 
12
Beldiceanu, N. and Contejean, E. 1994. Introducing global constraints in CHIP. Mathem. Comput. model. 20, 12, 87--123.
 
13
 
14
Benhamou, F. and Older, W. J. 1997. Applying interval arithmetic to real, integer, and Boolean constraints. J. Logic Program. 32, 1, 1--24.
 
15
 
16
Bessière, C., Freuder, E. C., and Régin, J.-C. 1995. Using inference to reduce arc consistency computation. International Joint Conference on Artificial Intelligence (IJCAI). 592--599.
 
17
Bessière, C., Hébrard, E., and Walsh, T. 2003. Local consistencies in SAT. International Conference on Theory and Applications of Satisfiability Testing (SAT). 299--314.
 
18
Bessière, C. and Régin, J.-C. 1996. MAC and combined heuristics: Two reasons to forsake FC (and CBJ?) on hard problems. In International Conference on Principles and Practice of Constraint Programming (CP). 61--75.
 
19
 
20
 
21
 
22
23
 
24
Bruynooghe, M. 1981. Solving combinatorial search problems by intelligent backtracking. Inform. Proces. Lett. 12, 1, 36--39.
 
25
 
26
 
27
 
28
Buro, M. and Büning, H. K. 1993. Report on a SAT competition. Bull. Europ. Assoc. Theoret. Comput. Science 49, 143--151.
 
29
30
 
31
Chatalic, P. and Simon, L. 2001. Multiresolution for SAT checking. Int. J. Artific. Intell. Tools 10, 4, 451--481.
 
32
 
33
Chvatal, V. 1983. Linear Programming. W. H. Freeman Co.
 
34
 
35
Cleary, J. G. 1987. Logical arithmetic. Future Comput. Syst. 2, 2, 125--149.
 
36
Codognet, P. and Diaz, D. 1996. Compiling constraints in CLP(FD). J. Logic Program. 27, 3, 185--226.
 
37
Collavizza, H. and Rueher, M. 2006. Exploration of the capabilities of constraint programming for software verification. International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). 182--196.
 
38
Colmerauer, A. 1984. Equations and inequations on finite and infinite tress. International Conference on Fifth Generation Computing. 85--99.
39
40
41
 
42
 
43
 
44
45
46
 
47
Debruyne, R. and Bessière, C. 2001. Domain filtering consistencies. J. Artific. Intell. Resear. 14, 205--230.
 
48
 
49
 
50
Delzanno, G. and Podelski, A. 2001. Constraint-based deductive model checking. Int. J. Softw. Tools Technol. Transfer 3, 3, 250--270.
 
51
Dershowitz, N., Hanna, Z., and Nadel, A. 2005. A clause-based heuristic for SAT solvers. International Conference on Theory and Applications of Satisfiability Testing (SAT). 46--60.
 
52
Dixon, H. E., Ginsberg, M. L., Luks, E. M., and Parkes, A. J. 2004. Generalizing Boolean satisfiability II: Theory. J. Artific. Intell. Resear. 22, 481--534.
 
53
 
54
Èen, N. and Biere, A. 2005. Effective preprocessing in SAT through variable and clause elimination. International Conference on Theory and Applications of Satisfiability Testing (SAT). 61--75.
 
55
Fang, H. and Ruml, W. 2004. Complete local search for propositional satisfiability. North American National Conference on Artificial Intelligence (AAAI). 161--166.
 
56
Feldman, Y., Dershowitz, N., and Hanna, Z. 2005. Parallel multithreaded satisfiability solver: Design and implementation. Elec. Notes Theor. Comput. Science 128, 3, 75--90.
 
57
Fikes, R. 1970. REF-ARF: A system for solving problems stated as procedures. Artific. Intell. 1, 1/2, 27--120.
 
58
Flanagan, C., Joshi, R., Ou, X., and Saxe, J. B. 2003. Theorem proving using lazy proof explication. International Conference on Computer-Aided Verification (CAV). 355--367.
 
59
Fourer, R., Gay, D., and Kernighan, B. 1993. AMPL: A Modeling Language for Mathematical Programming. Duxbury Press.
 
60
61
 
62
 
63
Frisch, A. M., Jefferson, C., Martinez-Hernandez, B., and Miguel, I. 2005. The rules of constraint modeling. International Joint Conference on Artificial Intelligence (IJCAI). 109--117.
64
 
65
Ganai, M. K., Gupta, A., and Ashar, P. 2004. Efficient modeling of embedded memories in bounded model checking. International Conference on Computer-Aided Verification (CAV). 440--452.
 
66
Gaschnig, J. 1979. Performance measurement and analysis of certain search algorithms. Tech. rep. CMU-CS-79-124, Carnegie-Mellon University.
 
67
 
68
Gent, I. P. and Smith, B. M. 2000. Symmetry breaking in constraint programming. In European Conference on Artificial Intelligence (ECAI). 599--603.
 
69
Ginsberg, M. L. 1993. Dynamic backtracking. J. Artific. Intell. Resear. 1, 25--46.
 
70
 
71
 
72
 
73
74
 
75
 
76
Graf, T., Hentenryck, P. V., Pradelles, C., and Zimmer, L. 1989. Simulation of hybrid circuits in constraint logic programming. International Joint Conference on Artificial Intelligence (IJCAI). 72--77.
 
77
Gu, J. 1995. Parallel algorithms for satisfiability (SAT) problem. Parallel Processing of Discrete Optimization Problems. DIMACS, vol. 22. 105--161.
 
78
Gu, J., Purdom, P. W., Franco, J., and Wah, B. W. 1997. Algorithms for the satisfiability (SAT) problem: A survey. In Satisfiability Problem: Theory and Applications. DIMACS Series in Discrete Mathematics and Theoretical Computer Science. AMS, 19--152.
 
79
 
80
Hamadi, Y. 1999b. Traitement des problèmes de satisfaction de contraintes distribués. Ph.D. thesis, Université Montpellier.
 
81
Hamadi, Y. 2003. Disolver: A distributed constraint solver. Tech. rep. MSR-TR-2003-91, Microsoft Research.
 
82
Hamadi, Y. 2005. Conflicting agents in distributed search. Int. J. Artific. Intell. Tools 14, 3, 459--476.
 
83
Hamadi, Y., Bessière, C., and Quinqueton, J. 1998. Backtracking in distributed constraint networks. European Conference on Artificial Intelligence (ECAI). 219--223.
 
84
Hamadi, Y. and Merceron, D. 1997. Reconfigurable architectures: A new vision for optimization problems. International Conference on Principles and Practice of Constraint Programming (CP). Lecture Notes Computer Science, 209--221.
 
85
Harvey, W. D. and Ginsberg, M. L. 1995. Limited discrepancy search. J. Artific. Intell. Resear. (JAIR). 607--615.
 
86
Hebrard, E., Hnich, B., and Walsh, T. 2004. Robust solutions for constraint satisfaction and optimization. European Conference on Artificial Intelligence (ECAI). 186--190.
 
87
 
88
Hirsch, E. A. and Kojevnikov, A. 2001. UnitWalk: A new SAT solver that uses local search guided by unit clause elimination. In International Conference on Theory and Applications of Satisfiability Testing (SAT). 35--42.
 
89
Hooker, J. 2000. Logic-Based Methods for Optimization: Combining Optimization and Constraint Satisfaction. John Wiley & Sons.
 
90
 
91
 
92
Hopcroft, J. E. and Karp, R. M. 1973. An n&frac52; algorithm for maximum matchings in bipartite graphs. SIAM J. Comput. 2, 4, 225--231.
 
93
Hutter, F. and Hamadi, Y. 2005. Adjustment based on performance prediction: Towards an instance-aware problem solver. Tech. rep. MSR-TR-2005-125, Microsoft Research.
 
94
Hutter, F., Hamadi, Y., Hoos, H., and Leyton-Brown, K. 2006. Performance prediction and automated tuning of randomized and parametric algorithms. International Conference on Principles and Practice of Constraint Programming (CP). To appear.
 
95
 
96
Hyvönen, E. 1989. Constraint reasoning based on interval arithmetic. International Joint Conference on Artificial Intelligence (IJCAI). 1193--1198.
97
 
98
Jeroslow, R. J. and Wang, J. 1990. Solving propositional satisfiability problems. Ann. Mathemat. Artific. Intell. 1, 167--188.
 
99
 
100
Katsirelos, G. and Bacchus, F. 2005. Generalized nogood in CSPs. North American National Conference on Artificial Intelligence (AAAI). 390--396.
 
101
 
102
 
103
Kirkpatrick, S., Gelatt, C., and Vecchi, M. 1983. Optimization by simulated annealing. Science 220, 671--680.
 
104
Kunz, W. and Pradhan, D. 1994. Recrusive Learning: A new implication technique for efficient solutions to CAD problems: Test, verification and optimization. IEEE Trans. Comput.-Aided Design 13, 9, 1143--1158.
 
105
Larrabee, T. 1992. Test pattern generation using Boolean satisfiability. IEEE Trans. Comput.-Aided Design 11, 1, 6--22.
 
106
Laurière, J.-L. 1978. A language and a program for stating and solving combinatorial problems. Artific. Intell. 10, 1, 29--127.
 
107
 
108
Lhomme, O. 1993. Consistency techniques for numeric CSPs. International Joint Conference on Artificial Intelligence (IJCAI). 232--238.
 
109
 
110
López-Ortiz, A., Quimper, C.-G., Tromp, J., and van Beek, P. 2003. A fast and simple algorithm for bounds consistency of the alldifferent constraint. International Joint Conference on Artificial Intelligence (IJCAI). 245--250.
 
111
 
112
Lynce, I. and Marques-Silva, J. 2002. The effect of nogood recording in DPLL-CBJ SAT algorithms. International Workshop on Constraint Solving and Constraint Logic Programming (CSCLP). 144--158.
 
113
Lynce, I. and Marques-Silva, J. 2004. On computing minimum unsatisfiable cores. International Conference on Theory and Applications of Satisfiability Testing (SAT). 305--310.
 
114
Mac Allester, D. A. 1990. Truth maintenance. North American National Conference on Artificial Intelligence (AAAI). 1109--1116.
 
115
Mackworth, A. 1977. Consistency in networks of relations. Artific. Intell. 8, 99--118.
 
116
 
117
Manquinho, V. M. amd Marques-Silva, J. P., Oliveira., A. L., and Sakallah, K. A. 1998. Satisfiability-based algorithms for 0-1 integer programming. International Workshop on Logic Synthesis.
 
118
Marinov, D., Khurshid, S., Bugrara, S., Zhang, L., and Rinard, M. 2005. Optimizations for compiling declarative models into Boolean formulas. International Conference on Theory and Applications of Satisfiability Testing (SAT). 187--202.
 
119
 
120
121
 
122
 
123
Marriott, K. and Stuckey, P. J. 1998. Programming with Constraints: An Introduction. MIT Press.
 
124
McMillan, K. L. 2003. Interpolation and SAT-based model checking. International Conference on Computer-Aided Verification (CAV). 1--13.
 
125
McMillan, K. L. and Amla, N. 2003. Automatic abstraction without counterexamples. International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). 2--17.
 
126
Meseguer, P. 1997. Interleaved depth-first search. International Joint Conference on Artificial Intelligence (IJCAI). 1382--1387.
 
127
Meseguer, P. and Walsh, T. 1998. Interleaved and discrepancy based search. European Conference on Artificial Intelligence (ECAI). 239--243.
 
128
Mézard, M. and Zecchina, R. 2002. Random k-satisfiability: from an analytic solution to a new efficient algorithm. Physical Rev. E, 66, 056126.
 
129
Michalewicz, Z. 1995. A survey constraint handling techniques in evolutionary computation methods. International Conference on Evolutionary Programming (EP). 135--155.
 
130
 
131
 
132
 
133
Mitchell, D. G. 2005. A SAT solver primer. Bull. Euro. Ass. Theoret. Comput. Science 85, 112--133.
 
134
135
 
136
Montanari, U. 1974. Networks of constraints: Fundamental properties and applications to picture processing. Inform. Science 7, 2, 85--132.
 
137
Moore, R. E. 1966. Interval Analysis. Prentice-Hall.
138
 
139
140
 
141
Nieuwenhuis, R. and Oliveras, A. 2005. DPLL(T) with exhaustive theory propagation and its application to difference logic. International Conference on Computer-Aided Verification (CAV). 321--334.
142
143
 
144
 
145
Prasad, M. R., Biere, A., and Gupta, A. 2005. A survey of recent advances in sat-based formal verification. International J. Softw. Tools Technol. Transfer 7, 2, 156--173.
 
146
Prosser, P. 1993. Hybrid algorithms for the constraint satisfaction problem. Computat. Intell. 9, 268--299.
 
147
Pruul, E. A. and Nemhauser, G. L. 1988. Branch-and-bound and parallel computation: A historical note. Operat. Resear. Lett. 7, 2, 65--69.
 
148
Puget, J.-F. 1994. A C++ implementation of CLP. Tech. rep., ILOG, inc. ILOG Solver Collected Papers.
 
149
 
150
Ranise, S. and Tinelli, C. 2003. The SMT-LIB format: An initial proposal. International Workshop on Pragmatics of Decision Procedures in Automated Reasoning.
 
151
 
152
 
153
Régin, J.-C. 1996. Generalized arc consistency for global cardinality constraint. North American National Conference on Artificial Intelligence (AAAI). 209--215.
 
154
Ringwelski, G. and Hamadi, Y. 2005. Boosting distributed constraint satisfaction. International Conference on Principles and Practice of Constraint Programming (CP). 549--562.
155
 
156
Ryan, L. 2004. Efficient algorithms for clause learning SAT solvers. Tech. rep., Simon Fraser University.
 
157
Sabharwal, A. 2005. Symchaff: A structure-aware satisfiability solver. North American National Conference on Artificial Intelligence (AAAI). 467--474.
 
158
Sabin, D. and Freuder, E. 1994. Contradicting conventional wisdom in constraint satisfaction. European Conference on Artificial Intelligence (ECAI). 125--129.
 
159
 
160
Selman, B., Levesque, H. J. and Mitchell, D. G. 1992. A new method for solving hard satisfiability problems. North American National Conference on Artificial Intelligence (AAAI). 440--446.
 
161
162
 
163
 
164
Sheini, H. M. and Sakallah, K. A. 2005. A sat-based decision procedure for mixed logical/integer linear problems. International Conference on Integration of AI and OR Techniques in CP for Combinatorial Optimization Problems (CP-AI-OR). 320--335.
 
165
Shlyakhter, I., Seater, R., Jackson, D., Sridharan, M., and Taghdiri, M. 2003. Debugging overconstrained declarative models using unsatisfiable cores. IEEE/ACM International Conference on Automated Software Engineering (ASE). 94--105.
166
 
167
 
168
Sinz, C., Blochinger, W., and Küchlin, W. 2001. PaSAT---parallel SAT-checking with lemma exchange: Implementation and applications. Elec. Notes in Discrete Math. 9.
 
169
 
170
Smith, B. 2002. Solve your problem faster---by changing the model. International Workshop on Constraint Solving and Constraint Logic Programming (CSCLP). invited talk.
 
171
Stallman, R. M. and Sussman, G. J. 1977. Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis. Artific. Intell. 9, 135, 135--196.
 
172
 
173
 
174
Subbarayan, S. and Pradhan, D. K. 2004. NiVER: Non increasing variable elimination resolution for preprocessing SAT instances. International Conference on Theory and Applications of Satisfiability Testing (SAT). 351--356.
 
175
Swain, M. J. and Cooper, P. R. 1988. Parallel hardware for constraint satisfaction. National Conference on Artificial Intelligence. Los Altos, CA, 682--686.
 
176
Thiffault, C., Bacchus, F., and Walsh, T. 2004. Solving non-clausal formulas with DPLL search. International Conference on Principles and Practice of Constraint Programming (CP). 663--678.
 
177
Tseitin, G. 1968. On the complexity of derivation in propositional calculus. Studies in Constructive Mathematics and Mathematical Logic, part 2, 115--125.
 
178
Van Gelder, A. and Tsuji, Y. K. 1996. Satisfiability testing with more reasoning and less guessing. Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge. AMS, 559--586.
 
179
 
180
Van Hentenryck, P. and Deville, Y. 1991. The cardinality operator: A new logical connective for Constraint Logic Programming. International Conference on Logic Programming (ICLP). 745--759.
 
181
182
 
183
 
184
Van Hentenryck, P., Michel, L., and Deville, Y. 1997. Numerica: A Modeling Language for Global Optimization. MIT Press.
185
 
186
Van Hentenryck, P., Saraswat, V. A., and Deville, Y. 1998. Design, implementation, and evaluation of the constraint language CC(FD). J. Logic Program. 37, 1-3, 139--164.
 
187
 
188
Verfaillie, G., Lemaître, M., and Schiex, T. 1996. Russian Doll Search for solving constraint optimization problems. North American National Conference on Artificial Intelligence (AAAI). 181--187.
 
189
Walsh, T. 1997. Depth-bounded discrepancy search. In International Joint Conference on Artificial Intelligence (IJCAI). 1388--1395.
 
190
 
191
 
192
Wolsey, L. 1998. Integer Programming. Wiley Interscience.
 
193
Xilinx-Inc. 1991. The Programmable Gate Array Data Book. Product Briefs.
 
194
Yokoo, M., Ishida, T., and Kubawara, K. 1990. Distributed constraint satisfaction for DAI problems. International Workshop on Distributed Artificial Intelligence.
 
195
Yokoo, M., Suyama, T., and Sawada, H. 1996. Solving satisfiability problems using field programmable gate arrays: First results. International Conference on Principles and Practice of Constraint Programming (CP). 497--509.
 
196
 
197
 
198
Zhang, L. and Malik, S. 2003a. Cache performance of SAT solvers: A case study for efficient implementation of algorithms. International Conference on Theory and Applications of Satisfiability Testing (SAT). 287--298.
 
199
 
200
 
201
Zhong, P., Martonosi, M., Ashar, P., and Malik, S. 1997. Implementing Boolean satisfiability in configurable hardware. International Workshop on Logic Synthesis.
 
202



REVIEW

"Carlos Linares Lopez : Reviewer"

Although satisfiability (SAT) and constraint programming (CP) problems can intuitively be seen as somewhat close to each other, the truth is that both types of problems are approached in rather different ways by completely different scientific com  more...

Collaborative Colleagues:
Lucas Bordeaux: colleagues
Youssef Hamadi: colleagues
Lintao Zhang: colleagues