Solving Problems with Hard and Soft Constraints Using a Stochastic Algorithm for MAX-SAT

Stochastic local search is an effective technique for solving certain classes of large, hard propositional satisfiability problems, including propositional encodings of problems such as circuit synthesis and graph coloring (Selman, Levesque, and Mitchell 1992; Selman, Kautz, and Cohen 1994). Many problems of interest to AI and operations research cannot be conveniently encoded as simple satisfiability, because they involve both hard and soft constraints – that is, any solution may have to violate some of the less important constraints. We show how both kinds of constraints can be handled by encoding problems as instances of weighted MAX-SAT (finding a model that maximizes the sum of the weights of the satisfied clauses that make up a problem instance). We generalize our local-search algorithm for satisfiability (GSAT) to handle weighted MAX-SAT, and present experimental results on encodings of the Steiner tree problem, which is a well-studied hard combinatorial search problem. On many problems this approach turns out to be competitive with the best current specialized Steiner tree algorithms developed in operations research. Our positive results demonstrate that it is practical to use domain-independent logical representations with a general search procedure to solve interesting classes of hard combinatorial search problems.

[1]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[2]  C. Cordell Green,et al.  Application of Theorem Proving to Problem Solving , 1969, IJCAI.

[3]  Mark D. Johnston,et al.  A discrete stochastic neural network algorithm for constraint satisfaction problems , 1990, 1990 IJCNN International Joint Conference on Neural Networks.

[4]  Steven Minton,et al.  Solving Large-Scale Constraint-Satisfaction and Scheduling Problems Using a Heuristic Repair Method , 1990, AAAI.

[5]  K. Dowsland HILL-CLIMBING, SIMULATED ANNEALING AND THE STEINER PROBLEM IN GRAPHS , 1991 .

[6]  Hector J. Levesque,et al.  A New Method for Solving Hard Satisfiability Problems , 1992, AAAI.

[7]  Bart Selman,et al.  Planning as Satisfiability , 1992, ECAI.

[8]  Jun Gu,et al.  Efficient local search for very large-scale satisfiability problems , 1992, SGAR.

[9]  M. R. Rao,et al.  Solving the Steiner Tree Problem on a Graph Using Branch and Cut , 1992, INFORMS J. Comput..

[10]  Bart Selman,et al.  Domain-Independent Extensions to GSAT : Solving Large StructuredSatis ability , 1993 .

[11]  Bart Selman,et al.  An Empirical Study of Greedy Local Search for Satisfiability Testing , 1993, AAAI.

[12]  G. D. Smith,et al.  Solving the Graphical Steiner Tree Problem Using Genetic Algorithms , 1993 .

[13]  James M. Crawford,et al.  Experimental Results on the Application of Satisfiability Algorithms to Scheduling Problems , 1994, AAAI.

[14]  Henry Kautz,et al.  Noise Strategies for Local Search , 1994, AAAI 1994.

[15]  David A. McAllester,et al.  GSAT and Dynamic Backtracking , 1994, KR.

[16]  M. R. Rao,et al.  Combinatorial Optimization , 1992, NATO ASI Series.