Synthesis of efficient constraint-satisfaction programs

In this paper we describe the framework we have developed in KIDS (Kestrel Interactive Development System) for generating efficient constraint satisfaction programs. We have used KIDS to synthesise global search scheduling programs that have proved to be dramatically faster than other programs running the same data. We focus on the underlying ideas that lead to this efficiency. The key to the efficiency is the reduction of the size of the search space by an effective representation of sets of possible solutions (solution spaces) that allows efficient constraint propagation and pruning at the level of solution spaces. Moving to a solution space representation involves a problem reformulation. Having found a solution to the reformulated problem, an extraction phase extracts solutions to the original problem. We show how constraints from the original problem can be automatically reformulated and specialised in order to derive efficient propagation code automatically. Our solution methods exploit the semi-lattice structure of our solution spaces.

[1]  Stephen F. Smith,et al.  ISIS—a knowledge‐based system for factory scheduling , 1984 .

[2]  Stephen F. Smith,et al.  Constructing and Maintaining Detailed Production Plans: Investigations into the Development of Knowledge-Based Factory Scheduling Systems , 1986, AI Mag..

[3]  Norman M. Sadeh,et al.  Constrained Heuristic Search , 1989, IJCAI.

[4]  Robert Paige,et al.  Program Derivation by Fixed Point Computation , 1989, Sci. Comput. Program..

[5]  Stephen F. Smith The OPIS framework for modeling manufacturing systems , 1989 .

[6]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[7]  William J. Cook,et al.  A Computational Study of the Job-Shop Scheduling Problem , 1991, INFORMS Journal on Computing.

[8]  Alan K. Mackworth The Logic of Constraint Satisfaction , 1991, Artif. Intell..

[9]  Eero Hyvönen,et al.  Constraint Reasoning Based on Interval Arithmetic: The Tolerance Propagation Approach , 1992, Artif. Intell..

[10]  Douglas R. Smith Synthesis of Constraint Algorithms , 1993, PPCP.

[11]  Pascal Van Hentenryck,et al.  CLP(Intervals) Revisited , 1994, ILPS.

[12]  Avrim Blum,et al.  Fast Planning Through Planning Graph Analysis , 1995, IJCAI.

[13]  W. F. Dowling,et al.  Tractable Constraints in Finite Semilattices , 1996 .

[14]  Douglas R. Smith,et al.  ITAS: A Portable, Interactive Transportation Scheduling Tool Using a Search Engine Generated from Formal Specifications , 1996, AIPS.

[15]  Douglas R. Smith,et al.  Synthesis of Planning and Scheduling Software , 1996 .

[16]  David A. McAllester,et al.  Solving Polynomial Systems Using a Branch and Prune Approach , 1997 .

[17]  Subbarao Kambhampati,et al.  Understanding and Extending Graphplan , 1997, ECP.

[18]  Subbarao Kambhampati,et al.  Synthesizing Customized Planners from Speci cationsBiplav Srivastava biplav , 2008 .

[19]  Jakob Rehof,et al.  Tractable Constraints in Finite Semilattices , 1999, Sci. Comput. Program..

[20]  T. Emerson,et al.  Development of a constraint-based airlift scheduler by program synthesis from formal specifications , 1999, 14th IEEE International Conference on Automated Software Engineering.