Results 1  10
of
111
On the Reification of Global Constraints
 CONSTRAINTS
"... We introduce a simple idea for deriving reified global constraints in a systematic way. It is based on the observation that most global constraints can be reformulated as a conjunction of total function constraints together with a constraint that can be easily reified. ..."
Abstract

Cited by 71 (6 self)
 Add to MetaCart
We introduce a simple idea for deriving reified global constraints in a systematic way. It is based on the observation that most global constraints can be reformulated as a conjunction of total function constraints together with a constraint that can be easily reified.
HAMPI: A Solver for String Constraints
, 2009
"... Many automatic testing, analysis, and verification techniques for programs can be effectively reduced to a constraintgeneration phase followed by a constraintsolving phase. This separation of concerns often leads to more effective and maintainable tools. The increasing efficiency of offtheshelf ..."
Abstract

Cited by 69 (19 self)
 Add to MetaCart
(Show Context)
Many automatic testing, analysis, and verification techniques for programs can be effectively reduced to a constraintgeneration phase followed by a constraintsolving phase. This separation of concerns often leads to more effective and maintainable tools. The increasing efficiency of offtheshelf constraint solvers makes this approach even more compelling. However, there are few effective and sufficiently expressive offtheshelf solvers for string constraints generated by analysis techniques for stringmanipulating programs. We designed and implemented Hampi, a solver for string constraints over fixedsize string variables. Hampi constraints express membership in regular languages and fixedsize contextfree languages. Hampi constraints may contain contextfreelanguage definitions, regularlanguage definitions and operations, and the membership predicate. Given a set of constraints, Hampi outputs a string that satisfies all the constraints, or reports that the constraints are unsatisfiable. Hampi is expressive and efficient, and can be successfully applied to testing and analysis of real programs. Our experiments use Hampi in: static and dynamic analyses for finding SQL injection vulnerabilities in Web applications; automated bug finding in C programs using systematic testing; and compare Hampi with another string solver. Hampi’s source code, documentation, and the experimental data are available at
Efficient constraint propagation engines
 Transactions on Programming Languages and Systems
"... This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which p ..."
Abstract

Cited by 45 (6 self)
 Add to MetaCart
(Show Context)
This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several propagators for the same constraint. We show how idempotence reasoning and events help track fixpoints more accurately. We improve these methods by using them dynamically (taking into account current domains to improve accuracy). We define prioritybased approaches to choosing a next propagator and show that dynamic priorities can improve propagation. We illustrate that the use of multiple propagators for the same constraint can be advantageous with priorities, and introduce staged propagators that combine the effects of multiple propagators with priorities for greater efficiency. 1
Deriving Filtering Algorithms from Constraint Checkers
 Principles and Practice of Constraint Programming (CP’2004), volume 3258 of LNCS
, 2004
"... Abstract. This reportdeals with global constraints for which the set of solutions can be recognized by an extended finite automaton whose size is bounded by a polynomial in ¦ , where ¦ is the number of variables of the corresponding global constraint. By reformulating the automaton as a conjunction ..."
Abstract

Cited by 45 (8 self)
 Add to MetaCart
(Show Context)
Abstract. This reportdeals with global constraints for which the set of solutions can be recognized by an extended finite automaton whose size is bounded by a polynomial in ¦ , where ¦ is the number of variables of the corresponding global constraint. By reformulating the automaton as a conjunction of signature and transition constraints we show how to systematically obtain a filtering algorithm. Under some restrictions on the signature and transition constraints this filtering algorithm achieves arcconsistency. An implementation based on some constraints as well as on the metaprogramming facilities of SICStus Prolog is available. For a restricted class of automata we provide a filtering algorithm for the relaxed case, where the violation cost is the minimum number of variables to unassign in order to get back to a solution. Keywords: Constraint Programming,
Kakuro as a Constraint Problem
"... In this paper we describe models of the logic puzzle Kakuro as a constraint problem with finite domain variables. We show a basic model expressing the constraints of the problem and present various improvements to enhance the constraint propagation, and compare alternatives using MILP and SAT solve ..."
Abstract

Cited by 34 (1 self)
 Add to MetaCart
In this paper we describe models of the logic puzzle Kakuro as a constraint problem with finite domain variables. We show a basic model expressing the constraints of the problem and present various improvements to enhance the constraint propagation, and compare alternatives using MILP and SAT solvers. Results for different puzzle collections are given. We also propose a grading scheme predicting the difficulty of a puzzle for a human and show how problems can be tightened by removing hints.
L.M.: A costregular based hybrid column generation approach
 Constraints
, 2006
"... Abstract Constraint Programming (CP) offers a rich modeling language of constraints embedding efficient algorithms to handle complex and heterogeneous combinatorial problems. To solve hard combinatorial optimization problems using CP alone or hybrid CPILP decomposition methods, costs also have to ..."
Abstract

Cited by 32 (5 self)
 Add to MetaCart
(Show Context)
Abstract Constraint Programming (CP) offers a rich modeling language of constraints embedding efficient algorithms to handle complex and heterogeneous combinatorial problems. To solve hard combinatorial optimization problems using CP alone or hybrid CPILP decomposition methods, costs also have to be taken into account within the propagation process. Optimization constraints, with their costbased filtering algorithms, aim to apply inference based on optimality rather than feasibility. This paper introduces a new optimization constraint, costregular. Its filtering algorithm is based on the computation of shortest and longest paths in a layered directed graph. The support information is also used to guide the search for solutions. We believe this constraint to be particularly useful in modeling and solving Column Generation subproblems and evaluate its behaviour on complex Employee Timetabling Problems through a flexible CPbased column generation approach. Computational results on generated benchmark sets and on a complex realworld instance are given. Keywords optimization constraints · hybrid OR/CP methods · CPbased column generation · branch and price · employee timetabling
Revisiting the sequence constraint
 PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING (CP 2006), LECTURE NOTES IN COMPUTER SCIENCE
, 2006
"... Many combinatorial problems, such as car sequencing and rostering, feature sequence constraints, restricting the number of occurrences of certain values in every subsequence of a given width. To date, none of the filtering algorithms proposed guaranteed domain consistency. In this paper, we presen ..."
Abstract

Cited by 27 (4 self)
 Add to MetaCart
(Show Context)
Many combinatorial problems, such as car sequencing and rostering, feature sequence constraints, restricting the number of occurrences of certain values in every subsequence of a given width. To date, none of the filtering algorithms proposed guaranteed domain consistency. In this paper, we present three filtering algorithms for the sequence constraint, with complementary strengths. One borrows ideas from dynamic programming; another reformulates it as a regular constraint; the last is customized. The last two algorithms establish domain consistency. Our customized algorithm does so in polynomial time, and can even be applied to a generalized sequence constraint for subsequences of variable widths. Experimental results show the practical usefulness of each.
Decomposing Global Grammar Constraints
"... Abstract. A wide range of constraints can be specified using automata or formal languages. The GRAMMAR constraint restricts the values taken by a sequence of variables to be a string from a given contextfree language. Based on an AND/OR decomposition, we show that this constraint can be converted i ..."
Abstract

Cited by 24 (11 self)
 Add to MetaCart
(Show Context)
Abstract. A wide range of constraints can be specified using automata or formal languages. The GRAMMAR constraint restricts the values taken by a sequence of variables to be a string from a given contextfree language. Based on an AND/OR decomposition, we show that this constraint can be converted into clauses in conjunctive normal form without hindering propagation. Using this decomposition, we can propagate the GRAMMAR constraint in O(n 3) time. The decomposition also provides an efficient incremental propagator. Down a branch of the search tree of length k, we can enforce GAC k times in the same O(n 3) time. On specialized languages, running time can be even better. For example, propagation of the decomposition requires just O(nδ) time for regular languages where δ  is the size of the transition table of the automaton recognizing the regular language. Experiments on a shift scheduling problem with a constraint solver and a state of the art SAT solver show that we can solve problems using this decomposition that defeat existing constraint solvers. 1