15 research outputs found
Some Enhancement Methods For Backtracking-Search In Solving Multiple Permutation Problems
In this dissertation, we present some enhancement methods for backtracking-search in solving multiple permutation problems. Some well-known NP-complete multiple permutation problems are Quasigroup Completion Problem and Sudoku. Multiple permutation problems have been getting a lot of attention in the literature in the recent years due to having a highly structured nature and being a challenging combinatorial search problem. Furthermore, it has been shown that many real-world problems in scheduling and experimental design take the form of multiple permutation problems. Therefore, it has been suggested that they can be used as a benchmark problem to test various enhancement methods for solving constraint satisfaction problems. Then it is hoped that the insight gained from studying them can be applied to other hard structured as well as unstructured problems. Our supplementary and novel enhancement methods for backtracking-search in solving these multiple permutation problems can be summarized as follows:
We came up with a novel way to encode multiple permutation problems and then we designed and developed an arc-consistency algorithm that is tailored towards this modeling. We implemented five versions of this arc-consistency algorithm where the last version eliminates almost all of the possible propagation redundancy. Then we introduced the novel notion of interlinking dynamic variable ordering with dynamic value ordering, where the dynamic value ordering is also used as a second tie-breaker for the dynamic variable ordering. We also proposed the concept of integrating dynamic variable ordering and dynamic value ordering into an arc-consistency algorithm by using greedy counting assertions. We developed the concept of enforcing local-consistency between variables from different redundant models of the problem. Finally, we introduced an embarrassingly parallel task distribution process at the beginning of the search.
We theoretically proved that the limited form of the Hall\u27s theorem is enforced by our modeling of the multiple permutation problems. We showed with our empirical results that the ``fail-first principle is confirmed in terms of minimizing the total number of explored nodes, but is refuted in terms of minimizing the depth of the search tree when finding a single solution, which correlates with previously published results. We further showed that the performance (total number instances solved at the phase transition point within a given time limit) of a given search heuristic is closely related to the underlying pruning algorithm that is being employed to maintain some level of local-consistency during backtracking-search. We also extended the previously established hypothesis, which stated that the second peak of hardness for NP-complete problems is algorithm dependent, to second peak of hardness for NP-complete problems is also search-heuristic dependent. Then we showed with our empirical results that several of our enhancement methods on backtracking-search perform better than the constraint solvers MAC-LAH and Minion as well as the SAT solvers Satz and MiniSat for previously tested instances of multiple permutation problems on these solvers
Towards hybrid methods for solving hard combinatorial optimization problems
Tesis doctoral leĂda en la Escuela PolitĂ©cnica Superior de la Universidad AutĂłnoma de Madrid el 4 de septiembre de 200
Proceedings of the 2022 XCSP3 Competition
This document represents the proceedings of the 2022 XCSP3 Competition. The
results of this competition of constraint solvers were presented at FLOC
(Federated Logic Conference) 2022 Olympic Games, held in Haifa, Israel from
31th July 2022 to 7th August, 2022.Comment: arXiv admin note: text overlap with arXiv:1901.0183
Towards 40 years of constraint reasoning
Research on constraints started in the early 1970s. We are approaching 40 years since the beginning of this successful field, and it is an opportunity to revise what has been reached. This paper is a personal view of the accomplishments in this field. We summarize the main achievements along three dimensions: constraint solving, modelling and programming. We devote special attention to constraint solving, covering popular topics such as search, inference (especially arc consistency), combination of search and inference, symmetry exploitation, global constraints and extensions to the classical model. For space reasons, several topics have been deliberately omitted.Partially supported by the Spanish project TIN2009-13591-C02-02 and Generalitat de Catalunya grant 2009-SGR-1434.Peer Reviewe
PYCSP3: Modeling Combinatorial Constrained Problems in Python
In this document, we introduce PYCSP, a Python library that allows us to
write models of combinatorial constrained problems in a simple and declarative
way. Currently, with PyCSP, you can write models of constraint satisfaction
and optimization problems. More specifically, you can build CSP (Constraint
Satisfaction Problem) and COP (Constraint Optimization Problem) models.
Importantly, there is a complete separation between modeling and solving
phases: you write a model, you compile it (while providing some data) in order
to generate an XCSP3 instance (file), and you solve that problem instance by
means of a constraint solver. In this document, you will find all that you need
to know about PYCSP, with more than 40 illustrative models
Realizations of common channeling constraints in constraint satisfaction: theory and algorithms.
Lam Yee Gordon.Thesis (M.Phil.)--Chinese University of Hong Kong, 2006.Includes bibliographical references (leaves 109-117).Abstracts in English and Chinese.Chapter 1 --- Introduction --- p.1Chapter 1.1 --- Constraint Satisfaction Problems --- p.1Chapter 1.2 --- Motivations and Goals --- p.2Chapter 1.3 --- Outline of the Thesis --- p.4Chapter 2 --- Background --- p.5Chapter 2.1 --- CSP --- p.5Chapter 2.2 --- Classes of Variable --- p.6Chapter 2.3 --- Solution of a CSP --- p.7Chapter 2.4 --- Constraint Solving Techniques --- p.8Chapter 2.4.1 --- Local Consistencies --- p.8Chapter 2.4.2 --- Constraint Tightness --- p.10Chapter 2.4.3 --- Tree Search --- p.10Chapter 2.5 --- Graph --- p.14Chapter 3 --- Common Channeling Constraints --- p.16Chapter 3.1 --- Models --- p.16Chapter 3.2 --- Channeling Constraints --- p.17Chapter 3.2.1 --- Int-Int Channeling Constraint (II) --- p.18Chapter 3.2.2 --- Set-Int Channeling Constraint (SI) --- p.21Chapter 3.2.3 --- Set-Set Channeling Constraint (SS) --- p.24Chapter 3.2.4 --- Int-Bool Channeling Constraint (IB) --- p.25Chapter 3.2.5 --- Set-Bool Channeling Constraint (SB) --- p.27Chapter 3.2.6 --- Discussions --- p.29Chapter 4 --- Realization in Existing Solvers --- p.31Chapter 4.1 --- Implementation by if-and-only-if constraint --- p.32Chapter 4.1.1 --- "Realization of iff in CHIP, ECLiPSe, and SICStus Prolog" --- p.32Chapter 4.1.2 --- Realization of iff in Oz and ILOG Solver --- p.32Chapter 4.2 --- Implementations by Element Constraint --- p.38Chapter 4.2.1 --- "Realization of ele in CHIP, ECLiPSe, and SICStus Prolog" --- p.40Chapter 4.2.2 --- Realization of ele in Oz and ILOG Solver --- p.40Chapter 4.3 --- Global Constraint Implementations --- p.41Chapter 4.3.1 --- "Realization of glo in CHIP, SICStus Prolog, and ILOG Solver" --- p.42Chapter 5 --- Consistency Levels --- p.43Chapter 5.1 --- Int-Int Channeling (II) --- p.44Chapter 5.2 --- Set-Int Channeling (SI) --- p.49Chapter 5.3 --- Set-Set Channeling Constraints (SS) --- p.53Chapter 5.4 --- Int-Bool Channeling (IB) --- p.55Chapter 5.5 --- Set-Bool Channeling (SB) --- p.57Chapter 5.6 --- Discussion --- p.59Chapter 6 --- Algorithms and Implementation --- p.61Chapter 6.1 --- Source of Inefficiency --- p.62Chapter 6.2 --- Generalized Element Constraint Propagators --- p.63Chapter 6.3 --- Global Channeling Constraint --- p.66Chapter 6.3.1 --- Generalization of Existing Global Channeling Constraints --- p.66Chapter 6.3.2 --- Maintaining GAC on Int-Int Channeling Constraint --- p.68Chapter 7 --- Experiments --- p.72Chapter 7.1 --- Int-Int Channeling Constraint --- p.73Chapter 7.1.1 --- Efficient AC implementations --- p.74Chapter 7.1.2 --- GAC Implementations --- p.75Chapter 7.2 --- Set-Int Channeling Constraint --- p.83Chapter 7.3 --- Set-Set Channeling Constraint --- p.89Chapter 7.4 --- Int-Bool Channeling Constraint --- p.89Chapter 7.5 --- Set-Bool Channeling Constraint --- p.91Chapter 7.6 --- Discussion --- p.93Chapter 8 --- Related Work --- p.101Chapter 8.1 --- Empirical Studies --- p.101Chapter 8.2 --- Theoretical Studies --- p.102Chapter 8.3 --- Applications --- p.103Chapter 8.4 --- Other Kinds of Channeling Constraints --- p.104Chapter 9 --- Concluding Remarks --- p.106Chapter 9.1 --- Contributions --- p.106Chapter 9.2 --- Future Work --- p.108Bibliography --- p.10
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
Efficient Propagators for Global Constraints
We study in this thesis three well known global constraints. The All-Different constraint restricts a set of variables to be assigned to distinct values. The global cardinality constraint (GCC) ensures that a value v is assigned to at least lv variables and to at most uv variables among a set of given variables where lv and uv are non-negative integers such that lv ≤ uv. The Inter-Distance constraint ensures that all variables, among a set of variables x1, . . . , xn, are pairwise distant from p, i. e. |xi - xj| ≥ p for all i ≠ j. The All-Different constraint, the GCC, and the Inter-Distance constraint are largely used in scheduling problems. For instance, in scheduling problems where tasks with unit processing time compete for a single resource, we have an All-Different constraint on the starting time variables. When there are k resources, we have a GCC with lv = 0 and uv = k over all starting time variables. Finally, if tasks have processing time t and compete for a single resource, we have an Inter-Distance constraint with p = t over all starting time variables. We present new propagators for the All-Different constraint, the GCC, and the Inter-Distance constraint i. e. , new filtering algorithms that reduce the search space according to these constraints. For a given consistency, our propagators outperform previous propagators both in practice and in theory. The gains in performance are achieved through judicious use of advanced data structures combined with novel results on the structural properties of the constraints
Speeding up weighted constraint satisfaction using redundant modeling.
Woo Hiu Chun.Thesis (M.Phil.)--Chinese University of Hong Kong, 2006.Includes bibliographical references (leaves 91-99).Abstracts in English and Chinese.Chapter 1 --- Introduction --- p.1Chapter 1.1 --- Constraint Satisfaction Problems --- p.1Chapter 1.2 --- Weighted Constraint Satisfaction Problems --- p.3Chapter 1.3 --- Redundant Modeling --- p.4Chapter 1.4 --- Motivations and Goals --- p.5Chapter 1.5 --- Outline of the Thesis --- p.6Chapter 2 --- Background --- p.8Chapter 2.1 --- Constraint Satisfaction Problems --- p.8Chapter 2.1.1 --- Backtracking Tree Search --- p.9Chapter 2.1.2 --- Local Consistencies --- p.12Chapter 2.1.3 --- Local Consistencies in Backtracking Search --- p.17Chapter 2.1.4 --- Permutation CSPs --- p.19Chapter 2.2 --- Weighted Constraint Satisfaction Problems --- p.20Chapter 2.2.1 --- Branch and Bound Search --- p.23Chapter 2.2.2 --- Local Consistencies --- p.26Chapter 2.2.3 --- Local Consistencies in Branch and Bound Search --- p.32Chapter 2.3 --- Redundant Modeling --- p.34Chapter 3 --- Generating Redundant WCSP Models --- p.37Chapter 3.1 --- Model Induction for CSPs --- p.38Chapter 3.1.1 --- Stated Constraints --- p.39Chapter 3.1.2 --- No-Double-Assignment Constraints --- p.39Chapter 3.1.3 --- At-Least-One-Assignment Constraints --- p.40Chapter 3.2 --- Generalized Model Induction for WCSPs --- p.43Chapter 4 --- Combining Mutually Redundant WCSPs --- p.47Chapter 4.1 --- Naive Approach --- p.47Chapter 4.2 --- Node Consistency Revisited --- p.51Chapter 4.2.1 --- Refining Node Consistency Definition --- p.52Chapter 4.2.2 --- Enforcing m-NC* c Algorithm --- p.55Chapter 4.3 --- Arc Consistency Revisited --- p.58Chapter 4.3.1 --- Refining Arc Consistency Definition --- p.60Chapter 4.3.2 --- Enforcing m-AC*c Algorithm --- p.62Chapter 5 --- Experiments --- p.67Chapter 5.1 --- Langford's Problem --- p.68Chapter 5.2 --- Latin Square Problem --- p.72Chapter 5.3 --- Discussion --- p.75Chapter 6 --- Related Work --- p.77Chapter 6.1 --- Soft Constraint Satisfaction Problems --- p.77Chapter 6.2 --- Other Local Consistencies in WCSPs --- p.79Chapter 6.2.1 --- Full Arc Consistency --- p.79Chapter 6.2.2 --- Pull Directional Arc Consistency --- p.81Chapter 6.2.3 --- Existential Directional Arc Consistency --- p.82Chapter 6.3 --- Redundant Modeling and Channeling Constraints --- p.83Chapter 7 --- Concluding Remarks --- p.85Chapter 7.1 --- Contributions --- p.85Chapter 7.2 --- Future Work --- p.87List of Symbols --- p.88Bibliograph