8 research outputs found
Filtering Algorithms for the Multiset Ordering Constraint
Constraint programming (CP) has been used with great success to tackle a wide
variety of constraint satisfaction problems which are computationally
intractable in general. Global constraints are one of the important factors
behind the success of CP. In this paper, we study a new global constraint, the
multiset ordering constraint, which is shown to be useful in symmetry breaking
and searching for leximin optimal solutions in CP. We propose efficient and
effective filtering algorithms for propagating this global constraint. We show
that the algorithms are sound and complete and we discuss possible extensions.
We also consider alternative propagation methods based on existing constraints
in CP toolkits. Our experimental results on a number of benchmark problems
demonstrate that propagating the multiset ordering constraint via a dedicated
algorithm can be very beneficial
Extension and evaluation of the global cardinality constraints functionality of the Gecode open source toolkit
Ο Προγραμματισμός με Περιορισμούς είναι μια μεθοδολογία της Τεχνητής Νοημοσύνης
που αποσκοπεί να επιλύσει πραγματικά προβλήματα με αποτελεσματικό τρόπο. Σε αυ-
τή την διπλωματική εργασία, επεκτείνουμε τον επιλυτή προβλημάτων ικανοποίησης περιορισμών ανοιχτού κώδικα Gecode, συνεισφέροντας στις δυνατότητές του σχετικά με Καθολικούς Περιορισμούς, συγκεκριμένα περιορισμούς Global Cardinality. Ένας Global Cardinality περιορισμός περιορίζει τον αριθμό εμφάνισης τιμών μέσα σε μια συλλογή μεταβλητών, ώστε να βρίσκεται μεταξύ συγκεκριμένων ορίων. Αναπτύσσουμε τον περιορισμό Global Cardinality With Costs, ο οποίος είναι παρόμοιος του Global Cardinality και επιπλέον συσχετίζει ένα κόστος με κάθε ανάθεση τιμής σε μεταβλητή, ενώ ταυτόχρονα απαιτεί το άθροισμα των κοστών να μην ξεπερνάει ένα όριο. Στη συνέχεια προσθέτουμε τον περιορισμό Symmetric Global Cardinality, ο οποίος ορίζεται πάνω σε μεταβλητές που αφορούν σύνολα, δίνοντας επιπλέον περιορισμούς γύρω από τον πληθικό αριθμό του κάθε συνόλου, πέραν των περιορισμών που αφορούν τις τιμές. Ερευνούμε τη βελτιστοποίηση της επίδοσής τους, πειραματιζόμενοι με διάφορες εναλλακτικές επιλογές υλοποίησης, και τελικά τους συγκρίνουμε ώστε να ανακαλύψουμε κάτω από ποιές συνθήκες είναι ωφέλιμοι, σε σχέση με την αποσύνθεσή τους σε περισσότερους απλούστερους περιορισμούς.Constraint Programming is an Artificial Intelligence methodology that aims to solve real
world problems in an efficient way. In this work, we extend the open source constraint solver Gecode by expanding its features concerning Global Constraints, specifically Global Cardinality Constraints. A Global Cardinality Constraint restricts the value occurrences among a collection of variables, to be between certain bounds. We develop the Global Cardinality Constraint With Costs, which is similar to the Global Cardinality Constraint and additionally associates a cost with each variable-value assignment, while further restricting the sum of the costs related to the assigned variable-value pairs to not exceed a given cost bound. Moreover, we add the Symmetric Global Cardinality Constraint, which is defined on Set variables and introduces additional restrictions on the cardinality of each set, aside from the value occurrences. We attempt to optimize their performance by experimenting with various different implementation choices, and finally we evaluate our constraints to discover under which conditions they are beneficial compared to decomposing them to multiple simpler ones
Complete Bound Consistency for the Global Cardinality Constraint
We show an algorithm for bound consistency of {\em global cardinality constraints}, which runs in time plus the time required to sort the assignment variables by range endpoints, where is the number of assignment variables and is the number of values in the union of their domains. It is the first efficient algorithm that achieves bound consistency for all variables, and not only the assignment variables
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
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