N. Beldiceanu - Academia.edu (original) (raw)
Papers by N. Beldiceanu
Cet article présente un schéma de filtrage générique, basé sur la description de contraintes glob... more Cet article présente un schéma de filtrage générique, basé sur la description de contraintes globales sous la forme de propriétés de graphes. Cette description est définie par un réseau de contraintes binaires et une liste de propriétés de graphe élémentaires : chaque solution de la contrainte globale correspond à un sous-graphe du réseau initial, dans lequel ne sont retenues que les contraintes binaires satisfaites. Ce sous-graphe doit vérifier les propriétés de graphe qui définissent la contrainte. Le filtrage consiste en l'identification des arcs du réseau qui appartiennent ou non aux sous-graphes solution. L'objectif est de construire, à côté du catalogue de contraintes, une liste de règles de filtrage systématiques. Ces règles sont basées sur un ensemble limité de propriétés. Elles s'appliquent à toutes les contraintes du catalogue décrites à l'aide de ces propriétés. Nous illustrons ce principe sur les propriétés de graphe les plus usuelles, et nous expérimento...
Lecture Notes in Computer Science, 2002
Abstract. This paper presents a new,s cumulative constraint which generalizes the original cumula... more Abstract. This paper presents a new,s cumulative constraint which generalizes the original cumulativeconstraint in different ways. The two most importan t aspects consist in permitting multiple cumulative,res ources as well as negative heights for the resource consumption,of the tasks. This allows modeling,in an easy way,new scheduling and planning problems. The introduction of negative heights has forced us to come up
Lecture Notes in Computer Science, 2001
We rst present a generic pruning technique which aggregatesseveral constraints sharing some varia... more We rst present a generic pruning technique which aggregatesseveral constraints sharing some variables. The method is derivedfrom an idea called sweep which is extensively used in computationalgeometry. A rst benet of this technique comes from the fact that itcan be applied on several families of global constraints. A second mainadvantage is that it does not lead to any memory consumption
Lecture Notes in Computer Science, 2008
This report presents a global constraint that enforces rules written in a language based on arith... more This report presents a global constraint that enforces rules written in a language based on arithmetic and first-order logic to hold among a set of objects. In a first step, the rules are rewritten to Quantifier-Free Presburger Arithmetic (QFPA) formulas. Secondly, such formulas are compiled to generators of k-dimensional forbidden sets. Such generators are a generalization of the indexicals of cc(FD). Finally, the forbidden sets generated by such indexicals are aggregated by a sweep-based algorithm and used for filtering. The business rules allow to express a great variety of packing and placement constraints, while admitting efficient and effective filtering of the domain variables of the k-dimensional object, without the need to use spatial data structures. The constraint was used to directly encode the packing knowledge of a major car manufacturer and tested on a set of real packing problems under these rules, as well as on a packing-unpacking problem.
Lecture Notes in Computer Science, 2011
ABSTRACT Many cumulative problems are such that the horizon is fixed and cannot be delayed. In th... more ABSTRACT Many cumulative problems are such that the horizon is fixed and cannot be delayed. In this situation, it often occurs that all the activities cannot be scheduled without exceeding the capacity at some points in time. Moreover, this capacity is not necessarily always the same during the scheduling period. This article introduces a new constraint for solving this class of problems. We adapt two filtering algorithms to our context: Sweep and P. Vilím's Edge-Finding algorithm. We emphasize that in some problems violations are imposed. We design a new filtering procedure specific to this kind of events. We introduce a search heuristic specific to our constraint. We successfully experiment our constraint.
Lecture Notes in Computer Science, 2010
ABSTRACT Matrix models are ubiquitous for constraint problems. Many such problems have a matrix o... more ABSTRACT Matrix models are ubiquitous for constraint problems. Many such problems have a matrix of variables M\mathcal{M}, with the same constraint defined by a finite-state automaton A\mathcal{A} on each row of M\mathcal{M} and a global cardinality constraint gcc{\mathit{gcc}} on each column of M\mathcal{M}. We give two methods for deriving, by double counting, necessary conditions on the cardinality variables of the gcc{\mathit{gcc}} constraints from the automaton A\mathcal{A}. The first method yields linear necessary conditions and simple arithmetic constraints. The second method introduces the cardinality automaton, which abstracts the overall behaviour of all the row automata and can be encoded by a set of linear constraints. We evaluate the impact of our methods on a large set of nurse rostering problem instances.
Lecture Notes in Computer Science, 2013
ABSTRACT This paper presents a sweep based algorithm for the k-dimensional cumulative constraint,... more ABSTRACT This paper presents a sweep based algorithm for the k-dimensional cumulative constraint, which can operate in filtering mode as well as in greedy assignment mode. Given n tasks and k resources, this algorithm has a worst-case time complexity of O(kn 2) but scales well in practice. In greedy assignment mode, it handles up to 1 million tasks with 64 resources in one single constraint in SICStus. In filtering mode, on our benchmarks, it yields a speed-up of about k 0.75 when compared to its decomposition into k independent cumulative constraints.
Lecture Notes in Computer Science, 2004
We introduce an approach to designing filtering algorithms by derivation from finite automata ope... more We introduce an approach to designing filtering algorithms by derivation from finite automata operating on constraint signatures. We illustrate this approach in two case studies of constraints on vectors of variables. This has enabled us to derive an incremental filtering algorithm that runs in O(n) plus amortized O(1) time per propagation event for the lexicographic ordering constraint over two vectors of size n, and an O(nmd) time filtering algorithm for a chain of m − 1 such constraints, where d is the cost of certain domain operations. Both algorithms maintain hyperarc consistency. Our approach can be seen as a first step towards a methodology for semi-automatic development of filtering algorithms. 1 E.g. if a domain is represented by a bit array, d is linear in the size of the domain.
Lecture Notes in Computer Science, 2001
This paper presents generic propagation algorithms for the cardinality-path constraint family. Th... more This paper presents generic propagation algorithms for the cardinality-path constraint family. This is a restricted form of the cardinality operator that allows stating constraints on sliding sequences of consecutive variables. Taking advantage of these restrictions permits coming up with more efficient algorithms. Moreover the paper shows how to extend these propagation algorithms in order to partially integrate external constraints that have to hold. From an application point of view the cardinality-path constraint allows to express a huge variety of regulation constraints occurring in personnel planning problems.
Lecture Notes in Computer Science, 2012
Lecture Notes in Computer Science, 2006
This report presents a generic filtering scheme, based on the graph description of global constra... more This report presents a generic filtering scheme, based on the graph description of global constraints. This description is defined by a network of binary constraints and a list of elementary graph properties: each solution of the global constraint corresponds to a subgraph of the initial network, retaining only the satisfied binary constraints, and which fulfills all the graph properties. The graphbased filtering identifies the arcs of the network that belong or not to the solution subgraphs. The objective is to build, besides a catalog of global constraints, also a list of systematic filtering rules based on a limited set of graph properties. We illustrate this principle on some common graph properties and provide computational experiments of the effective filtering on the group constraint.
Lecture Notes in Computer Science, 2004
This reportdeals with global constraints for which the set of solutions can be recognized by an e... more 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 arc-consistency. 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.
Constraints, 2014
ABSTRACT This paper introduces a family of synchronized sweep-based filtering algorithms for hand... more ABSTRACT This paper introduces a family of synchronized sweep-based filtering algorithms for handling scheduling problems involving resource and precedence constraints. The key idea is to filter all constraints of a scheduling problem in a synchronized way in order to scale better. In addition to normal filtering mode, the algorithms can run in greedy mode, in which case they perform a greedy assignment of start and end times. The filtering mode achieves a significant speed-up over the decomposition into independent cumulative and precedence constraints, while the greedy mode can handle up to 1 million tasks with 64 resource constraints and 2 million precedences. These algorithms were implemented in both CHOCO and SICStus.
Cet article présente un schéma de filtrage générique, basé sur la description de contraintes glob... more Cet article présente un schéma de filtrage générique, basé sur la description de contraintes globales sous la forme de propriétés de graphes. Cette description est définie par un réseau de contraintes binaires et une liste de propriétés de graphe élémentaires : chaque solution de la contrainte globale correspond à un sous-graphe du réseau initial, dans lequel ne sont retenues que les contraintes binaires satisfaites. Ce sous-graphe doit vérifier les propriétés de graphe qui définissent la contrainte. Le filtrage consiste en l'identification des arcs du réseau qui appartiennent ou non aux sous-graphes solution. L'objectif est de construire, à côté du catalogue de contraintes, une liste de règles de filtrage systématiques. Ces règles sont basées sur un ensemble limité de propriétés. Elles s'appliquent à toutes les contraintes du catalogue décrites à l'aide de ces propriétés. Nous illustrons ce principe sur les propriétés de graphe les plus usuelles, et nous expérimento...
Lecture Notes in Computer Science, 2002
Abstract. This paper presents a new,s cumulative constraint which generalizes the original cumula... more Abstract. This paper presents a new,s cumulative constraint which generalizes the original cumulativeconstraint in different ways. The two most importan t aspects consist in permitting multiple cumulative,res ources as well as negative heights for the resource consumption,of the tasks. This allows modeling,in an easy way,new scheduling and planning problems. The introduction of negative heights has forced us to come up
Lecture Notes in Computer Science, 2001
We rst present a generic pruning technique which aggregatesseveral constraints sharing some varia... more We rst present a generic pruning technique which aggregatesseveral constraints sharing some variables. The method is derivedfrom an idea called sweep which is extensively used in computationalgeometry. A rst benet of this technique comes from the fact that itcan be applied on several families of global constraints. A second mainadvantage is that it does not lead to any memory consumption
Lecture Notes in Computer Science, 2008
This report presents a global constraint that enforces rules written in a language based on arith... more This report presents a global constraint that enforces rules written in a language based on arithmetic and first-order logic to hold among a set of objects. In a first step, the rules are rewritten to Quantifier-Free Presburger Arithmetic (QFPA) formulas. Secondly, such formulas are compiled to generators of k-dimensional forbidden sets. Such generators are a generalization of the indexicals of cc(FD). Finally, the forbidden sets generated by such indexicals are aggregated by a sweep-based algorithm and used for filtering. The business rules allow to express a great variety of packing and placement constraints, while admitting efficient and effective filtering of the domain variables of the k-dimensional object, without the need to use spatial data structures. The constraint was used to directly encode the packing knowledge of a major car manufacturer and tested on a set of real packing problems under these rules, as well as on a packing-unpacking problem.
Lecture Notes in Computer Science, 2011
ABSTRACT Many cumulative problems are such that the horizon is fixed and cannot be delayed. In th... more ABSTRACT Many cumulative problems are such that the horizon is fixed and cannot be delayed. In this situation, it often occurs that all the activities cannot be scheduled without exceeding the capacity at some points in time. Moreover, this capacity is not necessarily always the same during the scheduling period. This article introduces a new constraint for solving this class of problems. We adapt two filtering algorithms to our context: Sweep and P. Vilím's Edge-Finding algorithm. We emphasize that in some problems violations are imposed. We design a new filtering procedure specific to this kind of events. We introduce a search heuristic specific to our constraint. We successfully experiment our constraint.
Lecture Notes in Computer Science, 2010
ABSTRACT Matrix models are ubiquitous for constraint problems. Many such problems have a matrix o... more ABSTRACT Matrix models are ubiquitous for constraint problems. Many such problems have a matrix of variables M\mathcal{M}, with the same constraint defined by a finite-state automaton A\mathcal{A} on each row of M\mathcal{M} and a global cardinality constraint gcc{\mathit{gcc}} on each column of M\mathcal{M}. We give two methods for deriving, by double counting, necessary conditions on the cardinality variables of the gcc{\mathit{gcc}} constraints from the automaton A\mathcal{A}. The first method yields linear necessary conditions and simple arithmetic constraints. The second method introduces the cardinality automaton, which abstracts the overall behaviour of all the row automata and can be encoded by a set of linear constraints. We evaluate the impact of our methods on a large set of nurse rostering problem instances.
Lecture Notes in Computer Science, 2013
ABSTRACT This paper presents a sweep based algorithm for the k-dimensional cumulative constraint,... more ABSTRACT This paper presents a sweep based algorithm for the k-dimensional cumulative constraint, which can operate in filtering mode as well as in greedy assignment mode. Given n tasks and k resources, this algorithm has a worst-case time complexity of O(kn 2) but scales well in practice. In greedy assignment mode, it handles up to 1 million tasks with 64 resources in one single constraint in SICStus. In filtering mode, on our benchmarks, it yields a speed-up of about k 0.75 when compared to its decomposition into k independent cumulative constraints.
Lecture Notes in Computer Science, 2004
We introduce an approach to designing filtering algorithms by derivation from finite automata ope... more We introduce an approach to designing filtering algorithms by derivation from finite automata operating on constraint signatures. We illustrate this approach in two case studies of constraints on vectors of variables. This has enabled us to derive an incremental filtering algorithm that runs in O(n) plus amortized O(1) time per propagation event for the lexicographic ordering constraint over two vectors of size n, and an O(nmd) time filtering algorithm for a chain of m − 1 such constraints, where d is the cost of certain domain operations. Both algorithms maintain hyperarc consistency. Our approach can be seen as a first step towards a methodology for semi-automatic development of filtering algorithms. 1 E.g. if a domain is represented by a bit array, d is linear in the size of the domain.
Lecture Notes in Computer Science, 2001
This paper presents generic propagation algorithms for the cardinality-path constraint family. Th... more This paper presents generic propagation algorithms for the cardinality-path constraint family. This is a restricted form of the cardinality operator that allows stating constraints on sliding sequences of consecutive variables. Taking advantage of these restrictions permits coming up with more efficient algorithms. Moreover the paper shows how to extend these propagation algorithms in order to partially integrate external constraints that have to hold. From an application point of view the cardinality-path constraint allows to express a huge variety of regulation constraints occurring in personnel planning problems.
Lecture Notes in Computer Science, 2012
Lecture Notes in Computer Science, 2006
This report presents a generic filtering scheme, based on the graph description of global constra... more This report presents a generic filtering scheme, based on the graph description of global constraints. This description is defined by a network of binary constraints and a list of elementary graph properties: each solution of the global constraint corresponds to a subgraph of the initial network, retaining only the satisfied binary constraints, and which fulfills all the graph properties. The graphbased filtering identifies the arcs of the network that belong or not to the solution subgraphs. The objective is to build, besides a catalog of global constraints, also a list of systematic filtering rules based on a limited set of graph properties. We illustrate this principle on some common graph properties and provide computational experiments of the effective filtering on the group constraint.
Lecture Notes in Computer Science, 2004
This reportdeals with global constraints for which the set of solutions can be recognized by an e... more 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 arc-consistency. 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.
Constraints, 2014
ABSTRACT This paper introduces a family of synchronized sweep-based filtering algorithms for hand... more ABSTRACT This paper introduces a family of synchronized sweep-based filtering algorithms for handling scheduling problems involving resource and precedence constraints. The key idea is to filter all constraints of a scheduling problem in a synchronized way in order to scale better. In addition to normal filtering mode, the algorithms can run in greedy mode, in which case they perform a greedy assignment of start and end times. The filtering mode achieves a significant speed-up over the decomposition into independent cumulative and precedence constraints, while the greedy mode can handle up to 1 million tasks with 64 resource constraints and 2 million precedences. These algorithms were implemented in both CHOCO and SICStus.