My sandbox for experimenting with solver algorithms.
ToySolver.SAT.Encoder.Tseitin
into ToySolver.SAT.Formula
(#74)megaparsec
as default PB parser and add --pb-fast-parser
option to use attoparsec
(#71)--maxsat-compact-v-line
option for printing MaxSAT solution in the new compact format (#65)ToySolver.SAT
.Printer and its toysat's output for Max-SAT problems (#64)Release description* add toysat-ipasir
foreign library which implements IPASIR API for incremental SAT solving.
ToySolver.SAT
ToySolver.SAT.Solver.*
SequentialCounter
, ParallelCounter
and Totalizer
as methods for encoding cardinality constraintsPackedLit
type to reduce memory footprintsetLearnCallback
/clearLearnCallback
and setTerminateCallback
/clearTerminateCallback
which correspond to IPASIR's ipasir_set_learn()
and ipasir_set_terminate()
.clearLogger
getFailedAssumptions
and getAssumptionsImplications
to return IntSet
instead of [Int]
ToySolver.Data.MIP.*
into new MIP package's Numeric.Optimization.MIP.*
ToySolver.Data.Polynomial.Interpolation.Hermite
ToySolver.Graph.Base
and ToySolver.Graph.MaxCut
ToySolver.Converter.SAT2MIS
ToySolver.Graph.ShortestPath
: fix vertex type to Int
instead of arbitrary Hashable
typeExtraBoundsChecking
flag for debuggingToySolver.SAT.SLS.ProbSAT
and sample probsat
programToySolver.Converter.NAESAT
ToySolver.Converter.SAT2MaxCut
ToySolver.Converter.SAT2MaxSAT
: SAT and 3-SAT to Max-2-SAT converterToySolver.Converter.QBF2IPC
ToySolver.Converter.QUBO
: QUBO↔IsingModel converterToySolver.Text.MaxSAT
, ToySolver.Text.GCNF
, ToySolver.Text.QDimacs
, and ToySolver.Text.CNF
info ToySolver.FileFormat
and ToySolver.FileFormat.CNF
gzip
ped CNF/WCNF/GCNF/QDimacs/LP/MPS filesToySolver.Arith.Simplex2
to ToySolver.Arith.Simplex
ToySolver.Arith.MIPSolver2
to ToySolver.Arith.MIP
ToySolver.Data.Var
to ToySolver.Data.IntVar
ToySolver.SAT
:
cancel
function for interruptionPackedClause
typeToySolver.Arith.Simplex
Config
data typeSystem.Console.GetOpt
to optparse-applicative
ToySolver version 0.4.0 release.
The highlight of this release is the introduction of SMT (Satisfiablity Modulo Theories) solver 'toysmt'. At the moment, toysmt is very experimental and only supports the theory of uninterpreted functions and the theory of linear real arithmetic.