Source: chuffed Section: math Priority: optional Maintainer: Debian Science Maintainers Uploaders: Kari Pahula , Rules-Requires-Root: no Build-Depends: debhelper-compat (= 13), cmake, bison, flex, zlib1g-dev, libmurmurhash-dev, pkgconf, Standards-Version: 4.6.2 Homepage: https://github.com/chuffed/chuffed Vcs-Browser: https://salsa.debian.org/science-team/chuffed Vcs-Git: https://salsa.debian.org/science-team/chuffed.git Package: chuffed-flatzinc Architecture: any Multi-Arch: foreign Depends: ${shlibs:Depends}, ${misc:Depends}, Recommends: minizinc, Description: lazy clause generation FlatZinc implememntation Chuffed is a state of the art lazy clause solver designed from the ground up with lazy clause generation in mind. Lazy clause generation is a hybrid approach to constraint solving that combines features of finite domain propagation and Boolean satisfiability. It combines some of the advantages of finite domain constraint programming (high level model and programmable search) with some of the advantages of SAT solvers (reduced search by nogood creation, and effective autonomous search using variable activities). . Chuffed only supports 3 different propagator priorities. Chuffed implements a number of global propagators (alldiff, inverse, minimum, table, regular, mdd, cumulative, disjunctive, circuit, difference). It also only supports two kinds of integer variables. Small integer variables for which the domain is represented by a byte string. And large integer variables for which the domain is represented only by its upper and lower bound (no holes allowed). All boolean variables and boolean constraints are handled by the builtin SAT solver. . The solver, when run with lazy clause generation disabled, is somewhat comparable in speed with older versions of Gecode. The overhead from lazy clause generation ranges from negligible to perhaps around 100%. The search reduction, however, can reach orders of magnitude on appropriate problems. Thus lazy clause generation is an extremely important and useful technology. . This package provides a FlatZinc implementation, to be used as a MiniZinc backend.