Show simple item record

Files in this item


Item metadata

dc.contributor.authorNightingale, Peter
dc.contributor.authorAkgun, Ozgur
dc.contributor.authorGent, Ian P.
dc.contributor.authorJefferson, Christopher
dc.contributor.authorMiguel, Ian
dc.contributor.editorO'Sullivan, Barry
dc.identifier.citationNightingale , P , Akgun , O , Gent , I P , Jefferson , C & Miguel , I 2014 , Automatically improving constraint models in Savile Row through associative-commutative common subexpression elimination . in B O'Sullivan (ed.) , Principles and Practice of Constraint Programming : 20th International Conference, CP 2014, Lyon, France, September 8-12, 2014. Proceedings . Lecture Notes in Computer Science , vol. 8656 LNCS , Springer , Cham , pp. 590-605 , 20th International Conference on the Principles and Practice of Constraint Programming (CP 2014) , Lyon , France , 8/09/14 .
dc.identifier.otherPURE: 160060146
dc.identifier.otherPURE UUID: 4d61e32b-3892-47fe-8490-54856b224aa1
dc.identifier.otherWOS: 000345088200043
dc.identifier.otherScopus: 84906240678
dc.identifier.otherORCID: /0000-0002-5052-8634/work/34029953
dc.identifier.otherORCID: /0000-0001-9519-938X/work/33210110
dc.identifier.otherORCID: /0000-0003-2979-5989/work/60887569
dc.identifier.otherORCID: /0000-0002-6930-2686/work/68281461
dc.descriptionWe would like to thank the Royal Society for funding through Dr Jefferson’s URF, and the EPSRC for funding this work through grant EP/H004092/1.en
dc.description.abstractWhen solving a problem using constraint programming, constraint modelling is widely acknowledged as an important and difficult task. Even a constraint modelling expert may explore many models and spend considerable time modelling a single problem. Therefore any automated assistance in the area of constraint modelling is valuable. Common sub-expression elimination (CSE) is a type of constraint reformulation that has proved to be useful on a range of problems. In this paper we demonstrate the value of an extension of CSE called Associative-Commutative CSE (AC-CSE). This technique exploits the properties of associativity and commutativity of binary operators, for example in sum constraints. We present a new algorithm, X-CSE, that is able to choose from a larger palette of common subexpressions than previous approaches. We demonstrate substantial gains in performance using X-CSE. For example on BIBD we observed speed increases of more than 20 times compared to a standard model and that using X-CSE outperforms a sophisticated model from the literature. For Killer Sudoku we found that X-CSE can render some apparently difficult instances almost trivial to solve, and we observe speed increases up to 350 times. For BIBD and Killer Sudoku the common subexpressions are not present in the initial model: an important part of our methodology is reformulations at the preprocessing stage, to create the common subexpressions for X-CSE to exploit. In summary we show that X-CSE, combined with preprocessing and other reformulations, is a powerful technique for automated modelling of problems containing associative and commutative constraints.
dc.relation.ispartofPrinciples and Practice of Constraint Programmingen
dc.relation.ispartofseriesLecture Notes in Computer Scienceen
dc.rightsCopyright © 2014, Springer International Publishing Switzerland. This work has been made available online in accordance with the publisher's policies. This is the author created accepted version manuscript following peer review and as such may differ slightly from the final published version. The final published version of this work is available at
dc.subjectQA75 Electronic computers. Computer scienceen
dc.titleAutomatically improving constraint models in Savile Row through associative-commutative common subexpression eliminationen
dc.typeConference itemen
dc.contributor.institutionUniversity of St Andrews.School of Computer Scienceen
dc.contributor.institutionUniversity of St Andrews.Centre for Interdisciplinary Research in Computational Algebraen

This item appears in the following Collection(s)

Show simple item record