Results 1  10
of
75
Principles of Constraint Programming
, 2000
"... Introduction 1.1 Preliminaries Constraint programming is an alternative approach to programming in which the programming process is limited to a generation of requirements (constraints) and a solution of these requirements by means of general or domain specific methods. The general methods are us ..."
Abstract

Cited by 168 (3 self)
 Add to MetaCart
Introduction 1.1 Preliminaries Constraint programming is an alternative approach to programming in which the programming process is limited to a generation of requirements (constraints) and a solution of these requirements by means of general or domain specific methods. The general methods are usually concerned with techniques of reducing the search space and with specific search methods. In contrast, the domain specific methods are usually provided in the form of special purpose algorithms or specialised packages, usually called constraint solvers. Typical examples of constraint solvers are: ffl a program that solves systems of linear equations, ffl a package for linear programming, ffl an implementation of the unification algorithm, a cornerstone of automated theorem proving. Problems that can be solved in a natural way by means of constraint programming are usually those for which efficient algorithms are
Algorithms for hybrid MILP/CP models for a class of optimization problems
 INFORMS Journal on Computing
, 2001
"... The goal of this paper is to develop models and methods that use complementary strengths of Mixed Integer Linear Programming (MILP) and Constraint Programming (CP) techniques to solve problems that are otherwise intractable if solved using either of the two methods. The class of problems considered ..."
Abstract

Cited by 66 (11 self)
 Add to MetaCart
The goal of this paper is to develop models and methods that use complementary strengths of Mixed Integer Linear Programming (MILP) and Constraint Programming (CP) techniques to solve problems that are otherwise intractable if solved using either of the two methods. The class of problems considered in this paper have the characteristic that only a subset of the binary variables have nonzero objective function coefficients if modeled as an MILP. This class of problems is formulated as a hybrid MILP/CP model that involves some of the MILP constraints, a reduced set of the CP constraints, and equivalence relations between the MILP and the CP variables. An MILP/CP based decomposition method and an LP/CPbased branchandbound algorithm are proposed to solve these hybrid models. Both these algorithms rely on the same relaxed MILP and feasibility CP problems. An application example is considered in which the leastcost schedule has to be derived for processing a set of orders with release and due dates using a set of dissimilar parallel machines. It is shown that this problem can be modeled as an MILP, a CP, a combined MILPCP OPL model (Van Hentenryck 1999), and a hybrid MILP/CP model. The computational performance of these models for several sets shows that the hybrid MILP/CP model can achieve two to three orders of magnitude reduction in CPU time.
Efficient Path Conditions in Dependence Graphs for Software Safety Analysis
"... A new method for software safety analysis is presented which uses program slicing and constraint solving to construct and analyze path conditions, conditions defined on a programs input variables which must hold for information flow between two points in a program. Path conditions are constructed f ..."
Abstract

Cited by 41 (7 self)
 Add to MetaCart
A new method for software safety analysis is presented which uses program slicing and constraint solving to construct and analyze path conditions, conditions defined on a programs input variables which must hold for information flow between two points in a program. Path conditions are constructed from subgraphs of a programs dependence graph, specifically, slices and chops. The article describes how constraint solvers can be used to determine if a path condition is satisfiable and, if so, to construct a witness for a safety violation, such as an information flow from a program point at one security level to another program point at a different security level. Such a witness can prove useful in legal matters. The article reviews previous research on path conditions in program dependence graphs; presents new extensions of path conditions for arrays, pointers, abstract data types, and multithreaded programs; presents new decomposition formulae for path conditions; demonstrates how interval analysis and BDDs (binary decision diagrams) can be used to reduce the scalability problem for path conditions; and presents case studies illustrating the use of path conditions in safety analysis. Applying interval analysis and BDDs is shown to overcome the combinatorial explosion that can occur in constructing path conditions. Case studies and empirical data demonstrate the usefulness of path conditions for analyzing practical programs, in particular, how illegal influences on safetycritical programs can be discovered and analyzed.
Scheduling a Major College Basketball Conference  Revisited
 Operations Research
, 2002
"... Nemhauser and Trick presented the problem of nding a timetable for the 1997/98 Atlantic Coast Conference (ACC) in basketball. Their solution, found with a combination of integer programming and exhaustive enumeration, was accepted by the ACC. ..."
Abstract

Cited by 37 (6 self)
 Add to MetaCart
Nemhauser and Trick presented the problem of nding a timetable for the 1997/98 Atlantic Coast Conference (ACC) in basketball. Their solution, found with a combination of integer programming and exhaustive enumeration, was accepted by the ACC.
Solving set constraint satisfaction problems using ROBDDs
 Journal of Artificial Intelligence Research
, 2005
"... In this paper we present a new approach to modeling finite set domain constraint problems using Reduced Ordered Binary Decision Diagrams (ROBDDs). We show that it is possible to construct an efficient set domain propagator which compactly represents many set domains and set constraints using ROBDDs. ..."
Abstract

Cited by 29 (5 self)
 Add to MetaCart
In this paper we present a new approach to modeling finite set domain constraint problems using Reduced Ordered Binary Decision Diagrams (ROBDDs). We show that it is possible to construct an efficient set domain propagator which compactly represents many set domains and set constraints using ROBDDs. We demonstrate that the ROBDDbased approach provides unprecedented flexibility in modeling constraint satisfaction problems, leading to performance improvements. We also show that the ROBDDbased modeling approach can be extended to the modeling of integer and multiset constraint problems in a straightforward manner. Since domain propagation is not always practical, we also show how to incorporate less strict consistency notions into the ROBDD framework, such as set bounds, cardinality bounds and lexicographic bounds consistency. Finally, we present experimental results that demonstrate the ROBDDbased solver performs better than various more conventional constraint solvers on several standard set constraint problems. 1.
Fast Optimal Instruction Scheduling for Singleissue Processors with Arbitrary Latencies
, 2001
"... Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. The local instruction scheduling problem is to find a minimum length instruction schedule for a basic block subject to precedence, latency, and resource constraints. In ..."
Abstract

Cited by 24 (9 self)
 Add to MetaCart
Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. The local instruction scheduling problem is to find a minimum length instruction schedule for a basic block subject to precedence, latency, and resource constraints. In this paper we consider local instruction scheduling for singleissue processors with arbitrary latencies. The problem is considered intractable, and heuristic approaches are currently used in production compilers. In contrast, we present a relatively simple approach to instruction scheduling based on constraint programming which is fast and optimal. The proposed approach uses an improved constraint model which allows it to scale up to very large, real problems. We describe powerful redundant constraints that allow a standard constraint solver to solve these scheduling problems in an almost backtrackfree manner. The redundant constraints are lower bounds on selected subproblems which take advantage of the structure inherent in the problems. Under specified conditions, these constraints are sometimes further improved by testing the consistency of a subproblem using a fast test. We experimentally evaluated our approach by integrating it into the Gnu Compiler Collection (GCC) and then applying it to the SPEC95 floating point benchmarks. All 7402 of the benchmarks' basicblocks were optimally scheduled, including basicblocks with up to 1000 instructions. Our results compare favorably to the best previous approach which is based on integer linear programming (Wilken et al., 2000): Across the same benchmarks, the total optimal scheduling time for their approach is 98 seconds while the total time for our approach is less than 5 seconds. 1
Local Search and Constraint Programming
, 2001
"... this paper, we review hybrid methods that combine principles from both methods. A first set of such hybrids belongs to the family of local search methods (going from one solution to a neighbor one) and use CP as a way to e#ciently explore large neighborhoods with side constraints. A second set belon ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
this paper, we review hybrid methods that combine principles from both methods. A first set of such hybrids belongs to the family of local search methods (going from one solution to a neighbor one) and use CP as a way to e#ciently explore large neighborhoods with side constraints. A second set belongs to the family of global search (tree search) methods and use LS as a way to improve some of the nodes of the search tree or to explore a set of paths close to the path selected by a greedy algorithm in the search tree. In short, LS may use ideas from CP in order to make large neighborhoods more tractable, while CP may use ideas from LS to explore a set of solutions close to the greedy path in a tree search and converge more quickly towards the optimum
A unified theory of structural tractability for constraint satisfaction and spread cut decomposition
 In Proceedings of the 19th International Joint Conference on Artificial Intelligence
, 2005
"... In this paper we introduce a generic form of structural decomposition for the constraint satisfaction problem, which we call a guarded decomposition. We show that many existing decomposition methods can be characterized in terms of finding guarded decompositions satisfying certain specified addition ..."
Abstract

Cited by 21 (2 self)
 Add to MetaCart
In this paper we introduce a generic form of structural decomposition for the constraint satisfaction problem, which we call a guarded decomposition. We show that many existing decomposition methods can be characterized in terms of finding guarded decompositions satisfying certain specified additional conditions. Using the guarded decomposition framework we are also able to define a new form of decomposition, which we call a spread cut. We show that discovery of width k spreadcut decompositions is tractable for each k, and that the spread cut decomposition strongly generalize all existing decompositions except hypertrees. Finally we exhibit a family of hypergraphs Hn, for n = 1, 2, 3..., where the width of the best hypertree decomposition of each Hn is at least 3n, but the width of the best spreadcut decomposition is at most 2n. 1
Constraint and Integer Programming in OPL
 INFORMS Journal on Computing
, 2002
"... In recent years, it has been increasingly recognized that constraint and integer programming have orthogonal and complementary strengths in stating and solving combinatorial optimization applications. In addition, their integration has become an active research topic. The optimization programming la ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
In recent years, it has been increasingly recognized that constraint and integer programming have orthogonal and complementary strengths in stating and solving combinatorial optimization applications. In addition, their integration has become an active research topic. The optimization programming language opl was a first attempt at integrating these technologies both at the language and at the solver levels. In particular, opl is a modeling language integrating the rich language of constraint programming and the ability to specify search procedures at a high level of abstraction. Its implementation includes both constraint and mathematical programming solvers, as well as some cooperation schemes to make them collaborate on a given problem. The purpose of this paper is to illustrate, using opl, the constraintprogramming approach to combinatorial optimization and the complementary strengths of constraint and integer programming. (Artificial Intelligence; Computer Science; Integer Programming) 1.
A comparison of CLP(FD) and ASP solutions to NPcomplete problems
 In Proceedings of the Twentyfirst International Conference on Logic Programming (ICLP 2005
, 2005
"... Abstract. This paper presents experimental comparisons between declarative encodings of various computationally hard problems in both Answer Set Programming (ASP) and Constraint Logic Programming (CLP) over finite domains. The objective is to identify how the solvers in the two domains respond to di ..."
Abstract

Cited by 20 (8 self)
 Add to MetaCart
Abstract. This paper presents experimental comparisons between declarative encodings of various computationally hard problems in both Answer Set Programming (ASP) and Constraint Logic Programming (CLP) over finite domains. The objective is to identify how the solvers in the two domains respond to different problems, highlighting strengths and weaknesses of their implementations and suggesting criteria for choosing one approach versus the other. Ultimately, the work in this paper is expected to lay the ground for transfer of concepts between the two domains (e.g., suggesting ways to use CLP in the execution of ASP). 1