Download PDFOpen PDF in browser

NACRE - A Nogood And Clause Reasoning Engine

11 pagesPublished: May 27, 2020

Abstract

NACRE, for Nogood And Clause Reasoning Engine, is a constraint solver written in C++. It is based on a modular architecture designed to work with generic constraints while implementing several state-of-the-art search methods and heuristics. Interestingly, its data structures have been carefully designed to play around nogoods and clauses, making it suit- able for implementing learning strategies. NACRE was submitted to the CSP MiniTrack of the 2018 and 2019 XCSP3 [8] competitions where it took the first place. This paper gives a general description of NACRE as a framework. We present its kernel, the available search algorithms, and the default settings (notably, used for XCSP3 competitions), which makes NACRE efficient in practice when used as a black-box solver.

Keyphrases: clauses, Constraint Programming, nogoods, SAT, solver

In: Elvira Albert and Laura Kovács (editors). LPAR23. LPAR-23: 23rd International Conference on Logic for Programming, Artificial Intelligence and Reasoning, vol 73, pages 249--259

Links:
BibTeX entry
@inproceedings{LPAR23:NACRE__Nogood_And,
  author    = {Gael Glorian and Jean-Marie Lagniez and Christophe Lecoutre},
  title     = {NACRE - A Nogood And Clause Reasoning Engine},
  booktitle = {LPAR23. LPAR-23: 23rd International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
  editor    = {Elvira Albert and Laura Kovacs},
  series    = {EPiC Series in Computing},
  volume    = {73},
  pages     = {249--259},
  year      = {2020},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/rN67},
  doi       = {10.29007/dxnb}}
Download PDFOpen PDF in browser