4 research outputs found
Exploiting Global Constraints for Search and Propagation
Résumé
Cette thèse se concentre sur la Programmation par contraintes (PPC), qui est un
paradigme émergent pour résoudre des problèmes complexes d’optimisation combinatoire.
Les principales contributions tournent autour du filtrage des contraintes et de la recherche;
les deux sont des composantes cl´e dans la résolution de problèmes complexes à travers la PPC. D’un côté, le filtrage des contraintes permet de réduire la taille de l’espace de recherche,
d’autre part, la recherche définit la manière dont cet espace sera exploré. Les progrès sur ces
sujets sont essentiels pour élargir l’applicabilité de CP à des problèmes réels.
En ce qui concerne le filtrage des contraintes, les contributions sont les suivantes:
premièrement, on propose une amélioration sur un algorithme existant de la version relaxée
d’une contrainte commune qui apparaît souvent dans les problèmes d’affectation (soft gcc).
L’algorithme proposé améliore en termes de complexité soit pour la cohérence, soit pour le
filtrage et en termes de facilité d’implémentation. Deuxièmement, on introduit une nouvelle
contrainte (soit dure soit relaxée) et les algorithmes de filtrage pour une sous-structure
récurrente qui se produit dans les problèmes d’affectation des ressources hétérogènes
(hierarchical gcc). Nous montrons des résultats encourageants par rapport à une
d´écomposition équivalente basée sur gcc.
En ce qui concerne la recherche, nous présentons tout d’abord les algorithmes pour
compter le nombre de solutions pour deux importantes familles de contraintes: les contraintes
sur les occurrences, par exemple, alldifferent, symmetric alldifferent et gcc,
et les contraintes de séquence admissible, telles que regular. Ces algorithmes sont à la base
d’une nouvelle famille d’heuristiques de recherche, centrées sur les contraintes et basées sur
le d´énombrement. Ces heuristiques extraient des informations sur le nombre de solutions
des contraintes, pour guider la recherche vers des parties de l’espace de recherche qui contiennent
probablement un grand nombre de solutions. Les résultats expérimentaux sur huit
différents problèmes montrent une performance impressionnante par rapport à l’état de l’art
des heuristiques génériques.
Enfin, nous expérimentons une forme forte, déjà connue, de filtrage qui est guidée par
la recherche (quick shaving). Cette technique donne des résultats soit encourageants soit
mauvais lorsqu’elle est appliquée aveuglément à tous les problèmes. Nous avons introduit
un estimateur simple mais très efficace pour activer ou désactiver dynamiquement le quick
shaving; de tests expérimentaux ont montré des résultats très prometteurs.----------Abstract
This thesis focuses on Constraint Programming (CP), that is an emergent paradigm to
solve complex combinatorial optimization problems. The main contributions revolve around
constraint filtering and search that are two main components of CP. On one side, constraint
filtering allows to reduce the size of the search space, on the other, search defines how this
space will be explored. Advances on these topics are crucial to broaden the applicability of
CP to real-life problems.
For what concerns constraint filtering, the contribution is twofold: we firstly propose an
improvement on an existing algorithm of the relaxed version of a constraint that frequently
appears in assignment problems (soft gcc). The algorithm proposed outperforms the previously
known in terms of time-complexity both for the consistency check and for the filtering
and in term of ease of implementiation. Secondly, we introduce a new constraint (both hard
and soft version) and associated filtering algorithms for a recurrent sub-structure that occurs
in assignment problems with heterogeneous resources (hierarchical gcc). We show
promising results when compared to an equivalent decomposition based on gcc.
For what concerns search, we introduce algorithms to count the number of solutions for
two important families of constraints: occurrence counting constraints, such as alldifferent,
symmetric alldifferent and gcc, and sequencing constraints, such as regular. These algorithms
are the building blocks of a new family of search heuristics, called constraint-centered
counting-based heuristics. They extract information about the number of solutions the individual
constraints admit, to guide search towards parts of the search space that are likely to
contain a high number of solutions. Experimental results on eight different problems show
an impressive performance compared to other generic state-of-the-art heuristics.
Finally, we experiment on an already known strong form of constraint filtering that is
heuristically guided by the search (quick shaving). This technique gives mixed results when
applied blindly to any problem. We introduced a simple yet very effective estimator to
dynamically disable quick shaving and showed experimentally very promising results
Improved Algorithm for the Soft Global Cardinality Constraint
We propose two algorithms achieving generalized arc consistency for the soft global cardinality constraint with variable-based violation and with value-based violation. They are based on graph theory and their complexity is O( nm) where n is the number of variables and m is the sum of the cardinalities of the domains. They improve previous algorithms that ran respectively in O(n(m+n log n)) and O((n + k)(m + n log n)) where k is the cardinality of the union of the domains
Global Constraint Catalog, 2nd Edition
This report presents a catalogue of global constraints where
each constraint is explicitly described in terms of graph properties and/or automata and/or first order logical formulae with arithmetic. When available, it also presents some typical usage as well as some pointers to existing
filtering algorithms
Global Constraint Catalog, 2nd Edition (revision a)
This report presents a catalogue of global constraints where
each constraint is explicitly described in terms of graph properties and/or automata and/or first order logical formulae with arithmetic. When available, it also presents some typical usage as well as some pointers to existing
filtering algorithms