Solving weighted CSPs with meta-constraints by reformulation into satisfiability modulo theories

We introduce WSimply, a new framework for modelling and solving Weighted Constraint Satisfaction Problems (WCSP) using Satisfiability Modulo Theories (SMT) technology. In contrast to other well-known approaches designed for extensional representation of goods or no-goods, and with few declarative facilities, our approach aims to follow an intensional and declarative syntax style. In addition, our language has built-in support for some meta-constraints, such as priority and homogeneity, which allows the user to easily specify rich requirements on the desired solutions, such as preferences and fairness. We propose two alternative strategies for solving these WCSP instances using SMT. The first is the reformulation into Weighted SMT (WSMT) and the application of satisfiability test based algorithms from recent contributions in the Weighted Maximum Satisfiability field. The second one is the reformulation into an operation research-like style which involves an optimisation variable or objective function and the application of optimisation SMT solvers. We present experimental results of two well-known problems: the Nurse Rostering Problem (NRP) and a variant of the Balanced Academic Curriculum Problem (BACP), and provide some insights into the impact of the addition of meta-constraints on the quality of the solutions and the solving time.

[1]  Thomas Schiex,et al.  Solving weighted CSP by maintaining arc consistency , 2004, Artif. Intell..

[2]  Patrice Boizumault,et al.  Solving Nurse Rostering Problems Using Soft Global Constraints , 2009, CP.

[3]  Pedro Barahona,et al.  PSICO: Solving Protein Structures with Constraint Programming and Optimization , 2002, Constraints.

[4]  Thomas Schiex,et al.  Soft Constraints , 2000, WLP.

[5]  Carlos Ansótegui,et al.  Satisfiability Modulo Theories: An Efficient Approach for the Resource-Constrained Project Scheduling Problem , 2011, SARA.

[6]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[7]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[8]  Miquel Bofill,et al.  A Proposal for Solving Weighted CSPs with SMT , 2011 .

[9]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[10]  Hendrik Van Landeghem,et al.  The State of the Art of Nurse Rostering , 2004, J. Sched..

[11]  Mateu Villaret,et al.  Solving constraint satisfaction problems with SAT modulo theories , 2012, Constraints.

[12]  Carlos Castro,et al.  Variable and Value Ordering When Solving Balanced Academic Curriculum Problems , 2001, ArXiv.

[13]  Ian P. Gent Proceedings of the 15th international conference on Principles and practice of constraint programming , 2009 .

[14]  Javier Larrosa,et al.  Partition-Based Lower Bound for Max-CSP , 1999, CP.

[15]  Thomas Schiex,et al.  Maintaining Reversible DAC for Max-CSP , 1999, Artif. Intell..

[16]  Simon de Givry,et al.  Existential arc consistency: Getting closer to full arc consistency in weighted CSPs , 2005, IJCAI.

[17]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[18]  Olivier Roussel,et al.  XML Representation of Constraint Networks: Format XCSP 2.1 , 2009, ArXiv.

[19]  Sharad Malik,et al.  Zchaff2004: An Efficient SAT Solver , 2004, SAT (Selected Papers.

[20]  Martin C. Cooper,et al.  Optimal Soft Arc Consistency , 2007, IJCAI.

[21]  Maria Luisa Bonet,et al.  Solving (Weighted) Partial MaxSAT through Satisfiability Testing , 2009, SAT.

[22]  Vasco M. Manquinho,et al.  Algorithms for Weighted Boolean Optimization , 2009, SAT.

[23]  Albert Oliveras,et al.  On SAT Modulo Theories and Optimization Problems , 2006, SAT.

[24]  Roberto Sebastiani,et al.  Lazy Satisability Modulo Theories , 2007, J. Satisf. Boolean Model. Comput..

[25]  Mario Vanhoucke,et al.  NSPLib: a Nurse Scheduling Problem Library: a tool to evaluate (meta-)heuristic procedures , 2007 .

[26]  Toby Walsh,et al.  Modelling a Balanced Academic Curriculum Problem , 2002 .

[27]  Miquel Bofill,et al.  W-MiniZinc: A Proposal for Modeling Weighted CSPs with MiniZinc , 2011 .

[28]  Miquel Bofill Arasa,et al.  SIMPLY: a Compiler from a CSP Modeling Language to the SMT-LIB Format , 2009 .

[29]  Christophe Lecoutre XML Representation of Constraint Networks , 2010 .

[30]  Eugene C. Freuder,et al.  Partial Constraint Satisfaction , 1989, IJCAI.

[31]  Warwick Harvey,et al.  Essence: A constraint language for specifying combinatorial problems , 2007, Constraints.

[32]  Christian Bessiere,et al.  Meta-constraints on violations for over constrained problems , 2000, Proceedings 12th IEEE Internationals Conference on Tools with Artificial Intelligence. ICTAI 2000.

[33]  Peter J. Stuckey,et al.  MiniZinc: Towards a Standard CP Modelling Language , 2007, CP.

[34]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[35]  Armin Biere,et al.  PicoSAT Essentials , 2008, J. Satisf. Boolean Model. Comput..

[36]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

[37]  Ian P. Gent,et al.  Optimising Quantified Expressions in Constraint Models , 2010 .

[38]  Christian Bessiere,et al.  Proceedings of the 13th international conference on Principles and practice of constraint programming , 2007 .

[39]  Pascal Van Hentenryck,et al.  Parallel and distributed local search in COMET , 2009, Comput. Oper. Res..