scispace - formally typeset
Search or ask a question

Showing papers on "Constraint programming published in 2010"


Journal ArticleDOI
TL;DR: This work provides a modular SAT solver architecture designed to work with generic constraints that is used to provide SAT, MaxSat and pseudo-boolean and solvers for lightweight constraint programming.
Abstract: Sat4j is a mature, open source library of SAT-based solvers in Java. It provides a modular SAT solver architecture designed to work with generic constraints. Such architecture is used to provide SAT, MaxSat and pseudo-boolean and solvers for lightweight constraint programming. Those solvers have been evaluated regularly in the corresponding international competitive events. The library has been adopted by several academic softwares and the widely used Eclipse platform, which relies on a pseudo-boolean solver from Sat4j for its plugins dependencies management since June 2008.

452 citations


Book
15 Dec 2010
TL;DR: This chapter discusses Constraint Programming, a method for solving the challenge of integrating Boolean Algebra and Non-linear Equations into Logic.
Abstract: 1. Introduction.- I. Constraint Programming.- 2. Algorithm = Logic + Control.- 3. Preliminaries of Syntax and Semantics.- 4. Logic Programming.- 5. Constraint Logic Programming.- 6. Concurrent Constraint Logic Programming.- 7. Constraint Handling Rules.- II. Constraint Systems.- 8. Constraint Systems and Constraint Solvers.- 9. Boolean Algebra B.- 10. Rational Trees RT.- 11. Linear Polynomial Equations R.- 12. Finite Domains FD.- 13. Non-linear Equations I.- III. Applications.- 14. Market Overview.- 15. Optimal Sender Placement for Wireless Communication.- 16. The Munich Rent Advisor.- 17. University Course Timetabling.- IV. Appendix.- A. Foundations from Logic.- A.1 First-Order Logic: Syntax and Semantics.- A.2 Basic Calculi and Normal Forms.- A.2.1 Substitutions.- A.2.2 Negation Normal Form and Prenex Form.- A.2.3 Skolemization.- A.2.4 Clauses.- A.2.5 Resolution.- List of Figures.- References.

235 citations


Journal ArticleDOI
TL;DR: This paper provides an overview of the key contributions within the planning and scheduling communities with specific emphasis on uncertainty analysis, and is the first work which attempts to provide a comprehensive description of two-stage stochastic programming and parametric programming.
Abstract: This paper provides an overview of the key contributions within the planning and scheduling communities with specific emphasis on uncertainty analysis. As opposed to focusing in one particular industry, several independent sectors have been reviewed in order to find commonalities and potential avenues for future interdisciplinary collaborations. The objectives and physical constraints present within the planning and scheduling problems may vary greatly from one sector to another; however, all problems share the common attribute of needing to model parameter uncertainty in an explicit manner. It will be demonstrated through the literature review that two-stage stochastic programming, parametric programming, fuzzy programming, chance constraint programming, robust optimization techniques, conditional value-at-risk, and other risk mitigation procedures have found widespread application within all of the analyzed sectors. This review is the first work which attempts to provide a comprehensive description of t...

210 citations


Journal ArticleDOI
TL;DR: This work presents a complete complexity classification of the constraint satisfaction problem (CSP) for temporal constraint languages: if the constraint language is contained in one out of nine temporal constraint language, then the CSP can be solved in polynomial time; otherwise, the C SP is NP-complete.
Abstract: A temporal constraint language is a set of relations that has a first-order definition in(Q;

178 citations


Journal ArticleDOI
TL;DR: In this article, a methodology has been proposed to incorporate wind speed uncertainty in sizing wind-battery system for isolated applications, where the uncertainty associated with the wind speed is incorporated using chance constraint programming approach.

141 citations


Journal ArticleDOI
TL;DR: Computational experiments show that Absalom is a very promising exact solution approach although the additional assignment restrictions complicate the problem considerably and necessitate a relaxation of some components of Salome.

104 citations


Book ChapterDOI
06 Sep 2010
TL;DR: This work presents a systematic approach to MDD-based constraint programming, and introduces a generic scheme for constraint propagation in MDDs, showing that all previously known propagation algorithms for MDDs can be expressed using this scheme.
Abstract: Fixed-width MDDs were introduced recently as a more refined alternative for the domain store to represent partial solutions to CSPs. In this work, we present a systematic approach to MDD-based constraint programming. First, we introduce a generic scheme for constraint propagation in MDDs. We show that all previously known propagation algorithms for MDDs can be expressed using this scheme. Moreover, we use the scheme to produce algorithms for a number of other constraints, including Among, Element, and unary resource constraints. Finally, we discuss an implementation of our MDD-based CP solver, and provide experimental evidence of the benefits of MDD-based constraint programming.

95 citations


Book ChapterDOI
14 Jun 2010
TL;DR: This paper formalizes the specification of SCAPs and introduces a novel multi-stage hybrid-optimization algorithm that utilizes the strengths of mixed integer programming, constraint programming, and large neighborhood search.
Abstract: This paper considers the single commodity allocation problem (SCAP) for disaster recovery, a fundamental problem faced by all populated areas. SCAPs are complex stochastic optimization problems that combine resource allocation, warehouse routing, and parallel fleet routing. Moreover, these problems must be solved under tight runtime constraints to be practical in real-world disaster situations. This paper formalizes the specification of SCAPs and introduces a novel multi-stage hybrid-optimization algorithm that utilizes the strengths of mixed integer programming, constraint programming, and large neighborhood search. The algorithm was validated on hurricane disaster scenarios generated by Los Alamos National Laboratory using state-of-the-art disaster simulation tools and is deployed to aid federal organizations in the US.

95 citations


Journal ArticleDOI
TL;DR: This paper introduces the main definitions and techniques of constraint satisfaction, planning and scheduling from the Artificial Intelligence point of view.
Abstract: Over the last few years constraint satisfaction, planning, and scheduling have received increased attention, and substantial effort has been invested in exploiting constraint satisfaction techniques when solving real life planning and scheduling problems. Constraint satisfaction is the process of finding a solution to a set of constraints. Planning is the process of finding a sequence of actions that transfer the world from some initial state to a desired state. Scheduling is the problem of assigning a set of tasks to a set of resources subject to a set of constraints. In this paper, we introduce the main definitions and techniques of constraint satisfaction, planning and scheduling from the Artificial Intelligence point of view.

85 citations


Journal ArticleDOI
TL;DR: Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions, and applications.
Abstract: Constraint Handling Rules (CHR) is a high-level programming language based on multiheaded multiset rewrite rules. Originally designed for writing user-defined constraint solvers, it is now recognized as an elegant general purpose language. Constraint Handling Rules related research has surged during the decade following the previous survey by Fruhwirth (J. Logic Programming, Special Issue on Constraint Logic Programming, 1998, vol. 37, nos. 1–3, pp. 95–138). Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions, and applications.

82 citations


Journal ArticleDOI
TL;DR: A global constraint and an associated filtering algorithm to solve the subgraph isomorphism problem within the context of constraint programming and is more effective on difficult instances of scale free graphs than state-of-the-art algorithms and other constraint programming approaches.
Abstract: The subgraph isomorphism problem consists in deciding if there exists a copy of a pattern graph in a target graph. We introduce in this paper a global constraint and an associated filtering algorithm to solve this problem within the context of constraint programming. The main idea of the filtering algorithm is to label every node with respect to its relationships with other nodes of the graph, and to define a partial order on these labels in order to express compatibility of labels for subgraph isomorphism. This partial order over labels is used to filter domains. Labelings can also be strengthened by adding information from the labels of neighbors. Such a strengthening can be applied iteratively until a fixpoint is reached. Practical experiments illustrate that our new filtering approach is more effective on difficult instances of scale free graphs than state-of-the-art algorithms and other constraint programming approaches.

Journal ArticleDOI
TL;DR: This work generalizes the LP relaxation approach to n-ary constraints in a simple and natural way, and links this approach to many works from constraint programming, which relation has so far been ignored in machine vision and learning.
Abstract: We present a number of contributions to the LP relaxation approach to weighted constraint satisfaction (= Gibbs energy minimization). We link this approach to many works from constraint programming, which relation has so far been ignored in machine vision and learning. While the approach has been mostly considered only for binary constraints, we generalize it to n-ary constraints in a simple and natural way. This includes a simple algorithm to minimize the LP-based upper bound, n-ary max-sum diffusion-however, we consider using other bound-optimizing algorithms as well. The diffusion iteration is tractable for a certain class of high-arity constraints represented as a black box, which is analogical to propagators for global constraints CSP. Diffusion exactly solves permuted n-ary supermodular problems. A hierarchy of gradually tighter LP relaxations is obtained simply by adding various zero constraints and coupling them in various ways to existing constraints. Zero constraints can be added incrementally, which leads to a cutting-plane algorithm. The separation problem is formulated as finding an unsatisfiable subproblem of a CSP.

Proceedings ArticleDOI
08 Mar 2010
TL;DR: A complete algorithm based on Constraint Programming which solves the allocation and scheduling problem as a whole and introduces a number of search acceleration techniques that significantly reduce run-time by aggressively pruning the search space without compromising optimality.
Abstract: Our work focuses on allocating and scheduling a synchronous data-flow (SDF) graph onto a multi-core platform subject to a minimum throughput requirement. This problem has traditionally be tackled by incomplete approaches based on problem decomposition and local search, which could not guarantee optimality. Exact algorithms used to be considered reasonable only for small problem instances. We propose a complete algorithm based on Constraint Programming which solves the allocation and scheduling problem as a whole. We introduce a number of search acceleration techniques that significantly reduce run-time by aggressively pruning the search space without compromising optimality. The solver has been tested on a number of non-trivial instances and demonstrated promising run-times on SDFGs of practical size and one order of magnitude speed-up w.r.t. the fastest known complete approach.

Journal ArticleDOI
TL;DR: This contribution presents a support framework, aimed at addressing the repair-based reactive scheduling problem, based on an explicit object-oriented domain representation and a constraint programming (CP) approach.

Journal ArticleDOI
TL;DR: A novel constraint-programming framework for bounded program verification (CPBPV) that was able to detect subtle errors in some programs for which other frameworks based on bounded model checking have failed.
Abstract: This paper studies how to verify the conformity of a program with its specification and proposes a novel constraint-programming framework for bounded program verification (CPBPV). The CPBPV framework uses constraint stores to represent both the specification and the program and explores execution paths of bounded length nondeterministically. The CPBPV framework detects non-conformities and provides counter examples when a path of bounded length that refutes some properties exists. The input program is partially correct under the boundness restrictions, if each constraint store so produced implies the post-condition. CPBPV does not explore spurious execution paths, as it incrementally prunes execution paths early by detecting that the constraint store is not consistent. CPBPV uses the rich language of constraint programming to express the constraint store. Finally, CPBPV is parameterized with a list of solvers which are tried in sequence, starting with the least expensive and less general. Experimental results often produce orders of magnitude improvements over earlier approaches, running times being often independent of the size of the variable domains. Moreover, CPBPV was able to detect subtle errors in some programs for which other frameworks based on bounded model checking have failed.

Proceedings Article
11 Jul 2010
TL;DR: It is shown that off-the-shelf constraint programming techniques can be applied to various pattern mining and rule learning problems and provides new insights into the underlying mining problems that allow us to improve the state-of- the-art in data mining.
Abstract: Machine learning and data mining have become aware that using constraints when learning patterns and rules can be very useful. To this end, a large number of special purpose systems and techniques have been developed for solving such constraint-based mining and learning problems. These techniques have, so far, been developed independently of the general purpose tools and principles of constraint programming known within the field of artificial intelligence. This paper shows that off-the-shelf constraint programming techniques can be applied to various pattern mining and rule learning problems (cf. also (De Raedt, Guns, and Nijssen 2008; Nijssen, Guns, and De Raedt 2009)). This does not only lead to methodologies that are more general and flexible, but also provides new insights into the underlying mining problems that allow us to improve the state-of-the-art in data mining. Such a combination of constraint programming and data mining raises a number of interesting new questions and challenges.

Book ChapterDOI
06 Sep 2010
TL;DR: The aim of this paper is to model and mine patterns combining several local patterns (n-ary patterns) and a constraint solver generates the correct and complete set of solutions.
Abstract: The aim of this paper is to model and mine patterns combining several local patterns (n-ary patterns). First, the user expresses his/her query under constraints involving n-ary patterns. Second, a constraint solver generates the correct and complete set of solutions. This approach enables to model in a flexible way sets of constraints combining several local patterns and it leads to discover patterns of higher level. Experiments show the feasibility and the interest of our approach.

Book ChapterDOI
13 Sep 2010
TL;DR: A mapping from extended feature models to constraint logic programming over finite domains is introduced to translate basic, cardinality-based, and extended feature model relationships, which may include complex feature-feature, feature-attribute and attribute-attribute cross-tree relationships, into constraint logic programs.
Abstract: As feature models for realistic product families may be quite complicated, automated analysis of feature models is desirable. Although several approaches reported in the literature addressed this issue, complex featureattribute and attribute-attribute relationships in extended feature models were not handled effectively. In this article, we introduce a mapping from extended feature models to constraint logic programming over finite domains. This mapping is used to translate basic, cardinality-based, and extended feature models, which may include complex feature-feature, feature-attribute and attribute-attribute cross-tree relationships, into constraint logic programs. It thus enables use of offthe-shelf constraint solvers for the automated analysis of extended feature models involving such complex relationships. We also briefly discuss the ramifications of including feature-attribute relationships in operations of analysis. We believe that this proposal will be effective for further leveraging of constraint logic programming for automated analysis of feature models.

Journal ArticleDOI
TL;DR: The paper describes how CP can be used to exploit linear programming within different kinds of hybrid algorithm, and how it can enhance techniques such as Lagrangian relaxation, Benders decomposition and column generation.
Abstract: This paper presents Constraint Programming as a natural formalism for modelling problems, and as a flexible platform for solving them. CP has a range of techniques for handling constraints including several forms of propagation and tailored algorithms for global constraints. It also allows linear programming to be combined with propagation and novel and varied search techniques which can be easily expressed in CP. The paper describes how CP can be used to exploit linear programming within different kinds of hybrid algorithm. In particular it can enhance techniques such as Lagrangian relaxation, Benders decomposition and column generation.

Journal ArticleDOI
TL;DR: Five different approaches for identifying the redundant constraints in linear programming problems are compared and the efficiency of each method is discussed by solving various size LP problems and netlib problems.
Abstract: The objective function and the constraints can be formulated as linear functions of independent variables in most of the real-world optimization problems. Linear Programming (LP) is the process of optimizing a linear function subject to a finite number of linear equality and inequality constraints. Solving linear programming problems efficiently has always been a fascinating pursuit for computer scientists and mathematicians. The computational complexity of any linear programming problem depends on the number of constraints and variables of the LP problem. Quite often large-scale LP problems may contain many constraints which are redundant or cause infeasibility on account of inefficient formulation or some errors in data input. The presence of redundant constraints does not alter the optimal solutions(s). Nevertheless, they may consume extra computational effort. Many researchers have proposed different approaches for identifying the redundant constraints in linear programming problems. This paper compares five of such methods and discusses the efficiency of each method by solving various size LP problems and netlib problems. The algorithms of each method are coded by using a computer programming language C. The computational results are presented and analyzed in this paper.

Book ChapterDOI
14 Jun 2010
TL;DR: Many of the features of Numberjack are illustrated through the use of several combinatorial optimisation problems.
Abstract: Numberjack is a modelling package written in Python for embedding constraint programming and combinatorial optimisation into larger applications. It has been designed to seamlessly and efficiently support a number of underlying combinatorial solvers. This paper illustrates many of the features of Numberjack through the use of several combinatorial optimisation problems.

Journal ArticleDOI
TL;DR: In this paper, a constraint programming (CP) methodology is presented to deal with the scheduling of flexible manufacturing systems (FMSs) in order to handle several features found in industrial environments such as limitations on number of tools in the system, lifetime of tools, as well as tool magazine capacity of machines.
Abstract: This paper presents a constraint programming (CP) methodology to deal with the scheduling of flexible manufacturing systems (FMSs). The proposed approach, which consists of both a model and a search strategy, handles several features found in industrial environments, such as limitations on number of tools in the system, lifetime of tools, as well as tool magazine capacity of machines. In addition, it tackles the problem in a integrated way by considering tool planning and allocation, machine assignment, part routing, and task timing decisions altogether in the approach. The formulation, which is able to take into account a variety of objective functions, has been successfully applied to the solution of test problems of various sizes and degrees of difficulty.

Journal ArticleDOI
TL;DR: This work presents a general-purpose solver, SIMPL, that allows its user to replicate (and sometimes improve on) the results of custom implementations with concise models written in a high-level language.
Abstract: One of the central trends in the optimization community over the past several years has been the steady improvement of general-purpose solvers. A logical next step in this evolution is to combine mixed-integer linear programming, constraint programming, and global optimization in a single system. Recent research in the area of integrated problem solving suggests that the right combination of different technologies can simplify modeling and speed up computation substantially. Nevertheless, integration often requires special-purpose coding, which is time consuming and error prone. We present a general-purpose solver, SIMPL, that allows its user to replicate (and sometimes improve on) the results of custom implementations with concise models written in a high-level language. We apply SIMPL to production planning, product configuration, machine scheduling, and truss structure design problems on which customized integrated methods have shown significant computational advantage. We obtain results that either match or surpass the original codes at a fraction of the implementation effort.

Book
07 Dec 2010
TL;DR: This dissertation aims to provide a history of linear programming and some of the techniques used in programming, as well as some new ideas on how to design and implement programming languages.
Abstract: 1 Formulation.- 2 Geometry of Linear Programming.- 3 The Simplex Algorithm.- 4 Duality Theory.- 5 Advanced Linear Programming.- 6 Sensitivity Analysis.- 7 Transportation Problems.- 8 Network Analysis.- 9 Project Management.- 10 Sequencing Problems.- 11 Integer Programming.- 12 Dynamic Programming.- 13 Nonlinear Programming.- 14 Search Techniques.- 15 Geometric Programming.- 16 Goal Programming.- 17 Games Theory.- 18 Special Topics.- Appendix: Objective Type Questions.- Answers.

Proceedings ArticleDOI
01 Mar 2010
TL;DR: An extensible framework is described that, given a target query workload, continually optimizes the system's operational cost, estimated based on the IaaS provider's pricing model, while satisfying QoS expectations.
Abstract: We discuss the problem of resource provisioning for database management systems operating on top of an Infrastructure-As-A-Service (IaaS) cloud. To solve this problem, we describe an extensible framework that, given a target query workload, continually optimizes the system's operational cost, estimated based on the IaaS provider's pricing model, while satisfying QoS expectations. Specifically, we describe two different approaches, a “white-box” approach that uses a fine-grained estimation of the expected resource consumption for a workload, and a “black-box” approach that relies on coarse-grained profiling to characterize the workload's end-to-end performance across various cloud resources. We formalize both approaches as a constraint programming problem and use a generic constraint solver to efficiently tackle them. We present preliminary experimental numbers, obtained by running TPC-H queries with PostsgreSQL on Amazon's EC2, that provide evidence of the feasibility and utility of our approaches. We also briefly discuss the pertinent challenges and directions of on-going research.

Journal ArticleDOI
TL;DR: Several kinds of constraint qualifications for non-smooth semi-infinite programming problems in which the index set of the inequality constraints is an arbitrary set not necessarily finite are introduced.
Abstract: This article deals with a class of non-smooth semi-infinite programming (SIP) problems in which the index set of the inequality constraints is an arbitrary set not necessarily finite. We introduce several kinds of constraint qualifications for these non-smooth SIP problems and we study the relationships between them. Finally, necessary and sufficient optimality conditions are investigated.


Journal ArticleDOI
TL;DR: This contribution presents an integrated constraint programming (CP) model to tackle the problems of tool allocation, machine loading, part routing, and scheduling in a flexible manufacturing system (FMS).

Book ChapterDOI
14 Jun 2010
TL;DR: It is shown that lower bounds from the linear relaxation of the IP formulation and conflict analysis are key ingredients for pruning the search tree and the implementation is generic, thus it can be potentially applied to similar problems as well.
Abstract: We propose a hybrid approach for solving the resource-constrained project scheduling problem which is an extremely hard to solve combinatorial optimization problem of practical relevance. Jobs have to be scheduled on (renewable) resources subject to precedence constraints such that the resource capacities are never exceeded and the latest completion time of all jobs is minimized. The problem has challenged researchers from different communities, such as integer programming (IP), constraint programming (CP), and satisfiability testing (SAT). Still, there are instances with 60 jobs which have not been solved for many years. The currently best known approach, lazyFD, is a hybrid between CP and SAT techniques. In this paper we propose an even stronger hybridization by integrating all the three areas, IP, CP, and SAT, into a single branch-and-bound scheme. We show that lower bounds from the linear relaxation of the IP formulation and conflict analysis are key ingredients for pruning the search tree. First computational experiments show very promising results. For five instances of the well-known PSPLib we report an improvement of lower bounds. Our implementation is generic, thus it can be potentially applied to similar problems as well.

Journal ArticleDOI
TL;DR: A large-scale freight transportation problem for maximizing the profit of a carrier is addressed using a decomposition of the problem into three main steps: construction of the network, filling vehicles with commodities andConstruction of the vehicle plannings.
Abstract: In this paper, we address a large-scale freight transportation problem for maximizing the profit of a carrier. We propose two solving algorithms using a decomposition of the problem into three main steps: construction of the network, filling vehicles with commodities and construction of the vehicle plannings. The resolution of these steps involves heuristic schemes, Mixed Integer Programming and Constraint Programming techniques. To evaluate the model and the solution algorithms, we produce instances based on a study of real-life data. The results show that the methods without transhipment provide solutions with a good computation time/quality trade-off.