Results 1  10
of
131
An OpenEnded Finite Domain Constraint Solver
, 1997
"... We describe the design and implementation of a finite domain constraint solver embedded in a Prolog system using an extended unification mechanism via attributed variables as a generic constraint interface. The solver is essentially a scheduler for indexicals, i.e. reactive functional rules encodin ..."
Abstract

Cited by 196 (8 self)
 Add to MetaCart
We describe the design and implementation of a finite domain constraint solver embedded in a Prolog system using an extended unification mechanism via attributed variables as a generic constraint interface. The solver is essentially a scheduler for indexicals, i.e. reactive functional rules encoding local consistency methods performing incremental constraint solving or entailment checking, and global constraints, i.e. general propagators which may use specialized algorithms to achieve a higher degree of consistency or better time and space complexity. The solver has an openended design: the user can introduce new constraints, either in terms of indexicals by writing rules in a functional notation, or as global constraints via a Prolog programming interface. Constraints defined in terms of indexicals can be linked to 0/1variables modeling entailment; thus indexicals are used for constraint solving as well as for entailment testing. Constraints can be arbitrarily combined using the ...
Practical Applications of Constraint Programming
 CONSTRAINTS
, 1996
"... Constraint programming is newly flowering in industry. Several companies have recently started up to exploit the technology, and the number of industrial applications is now growing very quickly. This survey will seek, by examples, ..."
Abstract

Cited by 111 (1 self)
 Add to MetaCart
Constraint programming is newly flowering in industry. Several companies have recently started up to exploit the technology, and the number of industrial applications is now growing very quickly. This survey will seek, by examples,
Introducing Global Constraints in CHIP
, 1994
"... The purpose of this paper is to show how the introduction of new primitive constraints (e.g. among, diffn, cycle) over finite domains in the constraint logic programming system CHIP result in finding very rapidly good solutions for a large class of difficult sequencing, scheduling, geometrical place ..."
Abstract

Cited by 109 (18 self)
 Add to MetaCart
The purpose of this paper is to show how the introduction of new primitive constraints (e.g. among, diffn, cycle) over finite domains in the constraint logic programming system CHIP result in finding very rapidly good solutions for a large class of difficult sequencing, scheduling, geometrical placement and vehicle routing problems. The among constraint allows to specify sequencing constraints in a very concise way. For the first time, the diffn constraint allows to express and to solve directly multidimensional placement problems where one has to consider non overlapping constraints between ndimensional objects (e.g. rectangles, parallelepipeds). The cycle constraint makes possible to specify a wide range of graph partitioning problems that could not yet be expressed by using current constraint logic programming languages. One of the main advantage of all these new primitives is to take into account more globally a set of elementary constraints. Finally, we point out that all the previous primitive constraints enhance the power of the CHIP system significantly, allowing to solve real life problems that were not within reach of constraint technology before. 1
Improved CLP Scheduling with Task Intervals
, 1994
"... In this paper we present a new technique that can be used to improve performance of job scheduling with a constraint programming language. We show how, by focusing on some special sets of tasks, one can bring CLP in the same range of efficiency as traditional OR algorithms on a classical benchmark ( ..."
Abstract

Cited by 99 (6 self)
 Add to MetaCart
In this paper we present a new technique that can be used to improve performance of job scheduling with a constraint programming language. We show how, by focusing on some special sets of tasks, one can bring CLP in the same range of efficiency as traditional OR algorithms on a classical benchmark (MT10 [MT63]), thus making CLP both a flexible and an efficient technique for such combinatorial problems. We then present our programming methodology which we have successfully used on many problems, and draw conclusions on what features constraint programming languages should offer to allow its use. 1. Introduction Reallife scheduling problems are often the composition of various wellidentified hard problems. In the previous years, we have worked on applications such as tasktechnician assignments [CK92] or staff timetable scheduling [CGL93] and developed a methodology for solving such problems with an extensible constraint logic programming language. In both cases we have applied the s...
Probe Backtrack Search for Minimal Perturbation in Dynamic Scheduling
, 1999
"... This paper describes an algorithm designed to minimally recongure schedules in response to a changing environment. External factors have caused an existing schedule to become invalid, perhaps due to the withdrawal of resources, or because of changes to the set of scheduled activities. The total shi ..."
Abstract

Cited by 90 (14 self)
 Add to MetaCart
This paper describes an algorithm designed to minimally recongure schedules in response to a changing environment. External factors have caused an existing schedule to become invalid, perhaps due to the withdrawal of resources, or because of changes to the set of scheduled activities. The total shift in the start and end times of already scheduled activities should be kept to a minimum. This optimization requirement may be captured using a linear optimization function over linear constraints. However, the disjunctive nature of the resource constraints impairs traditional mathematical programming approaches. The unimodular probing algorithm interleaves constraint programming and linear programming. The linear programming solver handles only a controlled subset of the problem constraints, to guarantee that the values returned are discrete. Using probe backtracking, a complete, repairbased method for search, these values are simply integrated into constraint programming. Unimodular p...
Global Constraints as Graph Properties on Structured Network of Elementary Constraints of the Same Type
, 2000
"... This report introduces a classification scheme for the global constraints. This classification is based on four basic ingredients from which one can generate almost all existing global constraints and come up with new interesting constraints. Global constraints are defined in a very concise way, in ..."
Abstract

Cited by 78 (11 self)
 Add to MetaCart
This report introduces a classification scheme for the global constraints. This classification is based on four basic ingredients from which one can generate almost all existing global constraints and come up with new interesting constraints. Global constraints are defined in a very concise way, in term of graph properties that have to hold, where the graph is a structured network of same elementary constraints. Since this classification is based on the internal structure of the global constraints it is also a strong hint for the pruning algorithms of the global constraints. Keywords Constraint, finite domain, global constraint, classification, resource constraint scheduling, graph partitioning, timetabling. 2 Table of contents Table of contents ....................................................................................................................................................... 2 Table of figures.........................................................................
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 45 (1 self)
 Add to MetaCart
(Show Context)
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.
Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems
 Constraints
"... Abstract. In recent years, constraint satisfaction techniques have been successfully applied to “disjunctive” scheduling problems, i.e., scheduling problems where each resource can execute at most one activity at a time. Less significant and less generally applicable results have been obtained in th ..."
Abstract

Cited by 43 (4 self)
 Add to MetaCart
(Show Context)
Abstract. In recent years, constraint satisfaction techniques have been successfully applied to “disjunctive” scheduling problems, i.e., scheduling problems where each resource can execute at most one activity at a time. Less significant and less generally applicable results have been obtained in the area of “cumulative” scheduling. Multiple constraint propagation algorithms have been developed for cumulative resources but they tend to be less uniformly effective than their disjunctive counterparts. Different problems in the cumulative scheduling class seem to have different characteristics that make them either easy or hard to solve with a given technique. The aim of this paper is to investigate one particular dimension along which problems differ. Within the cumulative scheduling class, we distinguish between “highly disjunctive ” and “highly cumulative” problems: a problem is highly disjunctive when many pairs of activities cannot execute in parallel, e.g., because many activities require more than half of the capacity of a resource; on the contrary, a problem is highly cumulative if many activities can effectively execute in parallel. New constraint propagation and problem decomposition techniques are introduced with this distinction in mind. This includes an O(n 2) “edgefinding ” algorithm for cumulative resources (where n is the number of activities requiring the same resource) and a problem decomposition scheme which applies well to highly disjunctive project scheduling problems. Experimental results confirm that the impact of these techniques varies from highly disjunctive to
Cumulative Scheduling with Task Intervals
, 1994
"... This paper presents a set of propagation rules to solve cumulative constraints. As in our previous paper on jobshop scheduling [8], our goal is to propose to the CLP community techniques that allow a constraint satisfaction program to obtain performances which are competitive with adhoc approaches. ..."
Abstract

Cited by 42 (0 self)
 Add to MetaCart
This paper presents a set of propagation rules to solve cumulative constraints. As in our previous paper on jobshop scheduling [8], our goal is to propose to the CLP community techniques that allow a constraint satisfaction program to obtain performances which are competitive with adhoc approaches. The rules that we propose are a mix of an extension of the concept of task intervals to the cumulative case and the use of a traditional resource histogram. We also explain how to use a branching scheme inherited from operations research to address complex multiresources problems (similar to the use of edgefinding for jobshop scheduling). We show that the complex propagation patterns associated with our rules make a strong arguments for using logic programming. We also identify a phenomenon of phase transition in our examples that illustrates why cumulative scheduling is hard. 1. Introduction Many realworld scheduling problems are really cumulative scheduling problems, where each resou...
Constraint logic programming  an informal introduction
 LOGIC PROGRAMMING IN ACTION, NUMBER 636 IN LNCS
, 1992
"... Constraint Logic Programming (CLP) is a new class of programming languages combining the declarativity of logic programming with the efficiency of constraint solving. New application areas, amongst them many different classes of combinatorial search problems such as scheduling, planning or resource ..."
Abstract

Cited by 36 (8 self)
 Add to MetaCart
(Show Context)
Constraint Logic Programming (CLP) is a new class of programming languages combining the declarativity of logic programming with the efficiency of constraint solving. New application areas, amongst them many different classes of combinatorial search problems such as scheduling, planning or resource allocation can now be solved, which were intractable for logic programming so far. The most important advantage that these languages offer is the short development time while exhibiting an efficiency comparable to imperative languages. This tutorial aims at presenting the principles and concepts underlying these languages and explaining them by examples. The objective of this paper is not to give a technical survey of the current state of art in research on CLP, but rather to give a tutorial introduction and to convey the basic philosophy that is behind the different ideas in CLP. It will discuss the currently most successful computation domains and provide an overview on the different consi...