Results 11  20
of
47
Reformulating global constraints: the Slide and Regular constraints
, 2007
"... Global constraints are useful for modelling and reasoning about realworld combinatorial problems. Unfortunately, developing propagation algorithms to reason about global constraints efficiently and effectively is usually a difficult and complex process. In this paper, we show that reformulation ma ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
Global constraints are useful for modelling and reasoning about realworld combinatorial problems. Unfortunately, developing propagation algorithms to reason about global constraints efficiently and effectively is usually a difficult and complex process. In this paper, we show that reformulation may be helpful in building such propagators. We consider both hard and soft forms of two powerful global constraints, Slide and Regular. These global constraints are useful to represent a wide range of problems like rostering and scheduling where we have a sequence of decision variables and some constraint that holds along the sequence. We show that the different forms of Slide and Regular can all be reformulated as each other. We also show that reformulation is an effective method to incorporate such global constraints within an existing constraint toolkit. Finally, this study provides insight into the close relationship between these two important global constraints.
Combining Symmetry Breaking and Global Constraints ⋆
"... Abstract. We propose a new family of constraints which combine together lexicographical ordering constraints for symmetry breaking with other common global constraints. We give a general purpose propagator for this family of constraints, and show how to improve its complexity by exploiting propertie ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a new family of constraints which combine together lexicographical ordering constraints for symmetry breaking with other common global constraints. We give a general purpose propagator for this family of constraints, and show how to improve its complexity by exploiting properties of the included global constraints. 1
Global constraints: A survey
 IN
, 2011
"... Constraint programming (CP) is mainly based on filtering algorithms; their association with global constraints is one of the main strengths of CP because they exploit the specific structure of each constraint. This chapter is an overview of these two techniques. A collection of the most frequently u ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
Constraint programming (CP) is mainly based on filtering algorithms; their association with global constraints is one of the main strengths of CP because they exploit the specific structure of each constraint. This chapter is an overview of these two techniques. A collection of the most frequently used global constraints is given and some filtering algorithms are detailed. In addition, we try to identify how filtering algorithms can be designed. At last, we identify some problems that deserve to be addressed in the future.
The Weighted CFG Constraint
 In 5th Int. Conf. on Integration of AI and OR Techniques in CP (CPAIOR
"... Abstract. We introduce the weighted CFG constraint and propose a propagation algorithm that enforces domain consistency in O(n 3 G) time. We show that this algorithm can be decomposed into a set of primitive arithmetic constraints without hindering propagation. 1 ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We introduce the weighted CFG constraint and propose a propagation algorithm that enforces domain consistency in O(n 3 G) time. We show that this algorithm can be decomposed into a set of primitive arithmetic constraints without hindering propagation. 1
Decomposition of the NVALUE constraint
"... Abstract. We study decompositions of the global NVALUE constraint. Our main contribution is theoretical: we show that there are propagators for global constraints like NVALUE which decomposition can simulate with the same time complexity but with a much greater space complexity. This suggests that t ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We study decompositions of the global NVALUE constraint. Our main contribution is theoretical: we show that there are propagators for global constraints like NVALUE which decomposition can simulate with the same time complexity but with a much greater space complexity. This suggests that the benefit of a global propagator may often not be in saving time but in saving space. Our other theoretical contribution is to show for the first time that range consistency can be enforced on NVALUE with the same worstcase time complexity as bound consistency. Finally, the decompositions we study are readily encoded as linear inequalities. We are therefore able to use them in integer linear programs. 1
Open Contractible Global Constraints
"... Open forms of global constraints allow the addition of new variables to an argument during the execution of a constraint program. Such forms are needed for difficult constraint programming problems where problem construction and problem solving are interleaved. However, in general, filtering that is ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Open forms of global constraints allow the addition of new variables to an argument during the execution of a constraint program. Such forms are needed for difficult constraint programming problems where problem construction and problem solving are interleaved. However, in general, filtering that is sound for a global constraint can be unsound when the constraint is open. This paper provides a simple characterization, called contractibility, of the constraints where filtering remains sound when the constraint is open. With this characterization we can easily determine whether a constraint is contractible or not. In the latter case, we can use it to derive the strongest contractible approximation to the constraint. We demonstrate how specific algorithms for some closed contractible constraints are easily adapted to open constraints. 1
Hampi: A solver for word equations over strings, regular expressions and contextfree grammar
 ACM Transactions on Software Engineering and Methodology
"... 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 software reliability tools. The increasing efficie ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
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 software reliability 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 of stringmanipulating programs, so researchers end up implementing their own adhoc solvers. To fulfill this need, we designed and implemented Hampi, a solver for string constraints over bounded string variables. Users of Hampi specify constraints using regular expressions, contextfree grammars, equality/disequality between string terms, and typical string operations such as concatenation and substring extraction. Hampi then finds a string that satisfies all the constraints or reports that the constraints are unsatisfiable. We demonstrate Hampi’s expressiveness and efficiency by applying it to program analysis and automated testing: We used Hampi in static and dynamic analyses for finding SQL injection vulnerabilities in Web applications with hundreds of thousands of lines of code. We also used Hampi in the context of automated bug finding in C programs using dynamic systematic testing (also known as concolic testing). We then compared Hampi with another string solver, CFGAnalyzer, and show that Hampi is several times faster. Hampi’s source code, documentation, and experimental data are available at
Optimisation Modelling for Software Developers
"... Abstract. Software developers are an ideal channel for the distribution of Constraint Programming (CP) technology. Unfortunately, including even basic optimisation functionality in an application currently requires the use of an entirely separate paradigm with which most software developers are not ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract. Software developers are an ideal channel for the distribution of Constraint Programming (CP) technology. Unfortunately, including even basic optimisation functionality in an application currently requires the use of an entirely separate paradigm with which most software developers are not familiar. We suggest an alternative interface to CP designed to overcome this barrier, and describe a prototype implementation for Java. The interface allows an optimisation problem to be defined in terms of procedures rather than decision variables and constraints. Optimisation is seamlessly integrated into a wider application through automatic conversion between this definition and a conventional model solved by an external solver. This work is inspired by the language CoJava, in which a simulation is automatically translated into an optimal simulation. We extend this idea to support a general interface where optimisation is triggered ondemand. Our implementation also supports much more advanced code, such as object variables, variablesized collections, and complex decisions. 1
Modelling Grammar Constraints with Answer Set Programming
"... Representing and solving constraint satisfaction problems is one of the challenges of artificial intelligence. In this paper, we present answer set programming (ASP) models for an important and very general class of constraints, including all constraints specified via grammars or automata that recog ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Representing and solving constraint satisfaction problems is one of the challenges of artificial intelligence. In this paper, we present answer set programming (ASP) models for an important and very general class of constraints, including all constraints specified via grammars or automata that recognise some formal language. We argue that our techniques are effective and efficient, e.g., unitpropagation of an ASP solver can achieve domain consistency on the original constraint. Experiments demonstrate computational impact.
Solving String Constraints: The Case for Constraint Programming
"... Abstract We improve an existing propagator for the contextfree grammar constraint and demonstrate experimentally the practicality of the resulting propagator. The underlying technique could be applied to other existing propagators for this constraint. We argue that constraint programming solvers ar ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
Abstract We improve an existing propagator for the contextfree grammar constraint and demonstrate experimentally the practicality of the resulting propagator. The underlying technique could be applied to other existing propagators for this constraint. We argue that constraint programming solvers are more suitable than existing solvers for verification tools that have to solve string constraints, as they have a rich tradition of constraints for membership in formal languages. 1