Automatically improving constraint models in Savile Row

Autor: Peter Nightingale, Ian Miguel, Özgür Akgün, Patrick Spracklen, Ian P. Gent, Christopher Jefferson
Přispěvatelé: EPSRC, The Royal Society, University of St Andrews. School of Computer Science, University of St Andrews. Centre for Interdisciplinary Research in Computational Algebra
Rok vydání: 2017
Předmět:
Zdroj: Artificial Intelligence. 251:35-61
ISSN: 0004-3702
DOI: 10.1016/j.artint.2017.07.001
Popis: Authors thank the EPSRC for funding this work through grants EP/H004092/1, EP/K015745/1, EP/M003728/1, and EP/P015638/1. In addition, Dr Jefferson is funded by a Royal Society University Research Fellowship. When solving a combinatorial problem using Constraint Programming (CP) or Satisfiability (SAT), modelling and formulation are vital and difficult tasks. Even an expert human may explore many alternatives in modelling a single problem. We make a number of contributions in the automated modelling and reformulation of constraint models. We study a range of automated reformulation techniques, finding combinations of techniques which perform particularly well together. We introduce and describe in detail a new algorithm, X-CSE, to perform Associative-Commutative Common Subexpression Elimination (AC-CSE) in constraint problems, significantly improving existing CSE techniques for associative and commutative operators such as +. We demonstrate that these reformulation techniques can be integrated in a single automated constraint modelling tool, called Savile Row, whose architecture we describe. We use Savile Row as an experimental testbed to evaluate each reformulation on a set of 50 problem classes, with 596 instances in total. Our recommended reformulations are well worthwhile even including overheads, especially on harder instances where solver time dominates. With a SAT solver we observed a geometric mean of 2.15 times speedup compared to a straightforward tailored model without recommended reformulations. Using a CP solver, we obtained a geometric mean of 5.96 times speedup for instances taking over 10 seconds to solve. Postprint
Databáze: OpenAIRE