A Modelling Pearl with Sortedness ConstraintsShow others and affiliations
2015 (English)In: GCAI 2015. Global Conference on Artificial Intelligence / [ed] Georg Gottlob, Geoff Sutcliffe, Andrei Voronkov, 2015, 9, Vol. 36, p. 27-41Conference paper, Published paper (Refereed)
Abstract [en]
Some constraint programming solvers and constraint modelling languages feature the Sort(L,P,S) constraint, which holds if S is a nondecreasing rearrangement of the list L, the permutation being made explicit by the optional list P. However, such sortedness constraints do not seem to be used much in practice. We argue that reasons for this neglect are that it is impossible to require the underlying sort to be stable, so that Sort cannot be guaranteed to be a total-function constraint, and that L cannot contain tuples of variables, some of which form the key for the sort. To overcome these limitations, we introduce the StableKeysort constraint, decompose it using existing constraints, and propose a propagator. This new constraint enables a powerful modelling idiom, which we illustrate by elegant and scalable models of two problems that are otherwise hard to encode as constraint programs.
Place, publisher, year, edition, pages
2015, 9. Vol. 36, p. 27-41
Series
EPiC Series in Computing, ISSN 2398-7340 ; 36
Keywords [en]
constraint decomposition, Constraint Modelling, Constraint Programming, constraint propagator, sortedness constraints, stable sort
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:ri:diva-24472DOI: 10.29007/b4dzOAI: oai:DiVA.org:ri-24472DiVA, id: diva2:1043556
Conference
Global Conference on Artificial Intelligence
Projects
SICStus Prolog2016-10-312016-10-312023-05-05Bibliographically approved