5 research outputs found
Choice functions for autonomous search in constraint programming: GA vs. PSO
Heurističke metode nizanja vrijednosti i varijabli su ključni element u ograničenom programiranju. Poznate su kao strategija nabrajanja i mogu značajno utjecati na postupak rješavanja problema. Međutim, prilično je teško izabrati odgovarajući heuristički postupak jer je komplicirano predvidjeti njihovo ponašanje. U zadnje je vrijeme za tu svrhu predloženo samostalno (autonomno) pretraživanje. Ideja je da se strategije koje su se pokazale lošima tijekom postupka rješavanja dinamički zamijene onima koje više obećavaju. Ta se zamjena izvodi korištenjem funkcije izbora, koja u zadanom vremenu procijenjuje ponuđenu strategiju preko indikatora kvalitete. Važnu ulogu u tom procesu ima optimizator kojemu je cilj fino podešavanje funkcije izbora kako bi se garantirala precizna procjena strategija. U ovom radu evaluiramo karakteristike dviju jakih funkcija izbora: prvu podržava genetski algoritam, a drugu optimizator roja čestica. Dajemo interesantne rezultate i demonstriramo mogućnost korištenja tih metoda optimiziranja za samostalno pretraživanje u kontekstu ograničenog programiranja.The variable and value ordering heuristics are a key element in Constraint Programming. Known together as the enumeration strategy they may have important consequences on the solving process. However, a suitable selection of heuristics is quite hard as their behaviour is complicated to predict. Autonomous search has been recently proposed to handle this concern. The idea is to dynamically replace strategies that exhibit poor performances by more promising ones during the solving process. This replacement is carried out by a choice function, which evaluates a given strategy in a given amount of time via quality indicators. An important phase of this process is performed by an optimizer, which aims at finely tuning the choice function in order to guarantee a precise evaluation of strategies. In this paper we evaluate the performance of two powerful choice functions: the first one supported by a genetic algorithm and the second one by a particle swarm optimizer. We present interesting results and we demonstrate the feasibility of using those optimization techniques for Autonomous Search in a Constraint Programming context
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