Integer and combinatorial optimization
Integer and combinatorial optimization
Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
Program derivation by fixed point computation
Science of Computer Programming
The logic of constraint satisfaction
Artificial Intelligence - Special volume on constraint-based reasoning
Constraint reasoning based on interval arithmetic: the tolerance propagation approach
Constraint-based reasoning
Fast planning through planning graph analysis
Artificial Intelligence
Solving Polynomial Systems Using a Branch and Prune Approach
SIAM Journal on Numerical Analysis
Tractable constraints in finite semilattices
Science of Computer Programming
Understanding and Extending Graphplan
ECP '97 Proceedings of the 4th European Conference on Planning: Recent Advances in AI Planning
Development of a Constraint-Based Airlift Scheduler by Program Synthesis from Formal Specifications
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
CLP (Intervals) Revisited
Synthesizing customized planners from specifications
Journal of Artificial Intelligence Research
Building reliable, high-performance networks with the Nuprl proof development system
Journal of Functional Programming
On the intersection of AI and OR
The Knowledge Engineering Review
Integration of declarative and constraint programming
Theory and Practice of Logic Programming
SATenstein: automatically building local search SAT solvers from components
IJCAI'09 Proceedings of the 21st international jont conference on Artifical intelligence
Communications of the ACM
An automated approach to generating efficient constraint solvers
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.02 |
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.