Package | Description |
---|---|
org.sat4j |
Contains a command line launcher for the SAT solvers.
|
org.sat4j.core |
Implementation of the data structures available in org.sat4j.specs.
|
org.sat4j.csp |
Classes needed for CSP to SAT translation.
|
org.sat4j.csp.constraints |
Classes needed for CSP to SAT translation.
|
org.sat4j.csp.encodings | |
org.sat4j.maxsat |
MAXSAT and Weighted Max SAT framework.
|
org.sat4j.minisat |
Implementation of the MiniSAT specification in Java.
|
org.sat4j.minisat.core |
Implementation of the MiniSAT solver skeleton.
|
org.sat4j.opt |
Built-in optimization framework.
|
org.sat4j.pb |
Implementations of pseudo boolean solvers
|
org.sat4j.pb.core |
Implementations of pseudo boolean solvers
|
org.sat4j.pb.tools |
Implementation of different tools for pseudo boolean solvers
|
org.sat4j.reader |
Some utility classes to read problems from plain text files.
|
org.sat4j.sat |
Implementation of a sat4j Launcher.
|
org.sat4j.specs |
Those classes are intended for users dealing with SAT solvers as black boxes.
|
org.sat4j.tools |
Tools to be used on top of an
ISolver . |
org.sat4j.tools.encoding |
Implementation of different encodings.
|
org.sat4j.tools.xplain |
Implementation of an explanation engine in case of unsatisfiability.
|
Modifier and Type | Class and Description |
---|---|
class |
BasicLauncher<T extends ISolver>
Very simple launcher, to be used during the SAT competition or the SAT race
for instance.
|
Modifier and Type | Field and Description |
---|---|
protected ISolver |
AbstractLauncher.solver |
Modifier and Type | Method and Description |
---|---|
protected <T extends ISolver> |
AbstractLauncher.showAvailableSolvers(ASolverFactory<T> afactory) |
protected <T extends ISolver> |
AbstractLauncher.showAvailableSolvers(ASolverFactory<T> afactory,
String framework) |
Modifier and Type | Method and Description |
---|---|
protected abstract ISolver |
AbstractLauncher.configureSolver(String[] args) |
protected ISolver |
BasicLauncher.configureSolver(String[] args) |
protected ISolver |
MUSLauncher.configureSolver(String[] args) |
ISolver |
LightFactory.defaultSolver() |
ISolver |
LightFactory.lightSolver() |
Modifier and Type | Method and Description |
---|---|
protected abstract Reader |
AbstractLauncher.createReader(ISolver theSolver,
String problemname) |
protected Reader |
BasicLauncher.createReader(ISolver theSolver,
String problemname) |
protected Reader |
MUSLauncher.createReader(ISolver theSolver,
String problemname) |
void |
ILauncherMode.displayResult(ISolver solver,
IProblem problem,
ILogAble logger,
PrintWriter out,
Reader reader,
long beginTime,
boolean displaySolutionLine)
Output of the launcher when the solver stops
|
Modifier and Type | Class and Description |
---|---|
class |
ASolverFactory<T extends ISolver>
A solver factory is responsible for providing prebuilt solvers to the end
user.
|
Modifier and Type | Method and Description |
---|---|
void |
ConstrGroup.removeFrom(ISolver solver) |
Modifier and Type | Method and Description |
---|---|
protected ISolver |
CSPLauncher.configureSolver(String[] args) |
ISolver |
SolverFactory.defaultSolver() |
ISolver |
SolverFactory.lightSolver() |
static ISolver |
SolverFactory.newCuttingPlanes() |
static ISolver |
SolverFactory.newDefault()
Default solver of the SolverFactory.
|
static ISolver |
SolverFactory.newDimacsOutput() |
static ISolver |
SolverFactory.newLight()
Small footprint SAT solver.
|
static ISolver |
SolverFactory.newSAT() |
static ISolver |
SolverFactory.newUNSAT() |
Modifier and Type | Method and Description |
---|---|
protected Reader |
CSPLauncher.createReader(ISolver aSolver,
String problemname) |
void |
Encoding.onFinish(ISolver solver,
IVec<Var> scope) |
void |
Encoding.onInit(ISolver solver,
IVec<Var> scope) |
void |
Encoding.onNogood(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
void |
Encoding.onSupport(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
void |
Var.toClause(ISolver solver) |
void |
Constant.toClause(ISolver solver) |
void |
Evaluable.toClause(ISolver solver)
Translates a variable over a domain into a set a clauses enforcing that
exactly one value must be chosen in the domain.
|
void |
Predicate.toClause(ISolver solver,
IVec<Var> vscope,
IVec<Evaluable> vars) |
void |
Clausifiable.toClause(ISolver solver,
IVec<Var> scope,
IVec<Evaluable> vars) |
Modifier and Type | Method and Description |
---|---|
void |
Nogoods.toClause(ISolver solver,
IVec<Var> scope,
IVec<Evaluable> vars) |
void |
AllDiff.toClause(ISolver solver,
IVec<Var> scope,
IVec<Evaluable> vars) |
void |
AllDiffCard.toClause(ISolver solver,
IVec<Var> scope,
IVec<Evaluable> vars) |
void |
Supports.toClause(ISolver solver,
IVec<Var> scope,
IVec<Evaluable> vars) |
Modifier and Type | Method and Description |
---|---|
void |
GeneralizedSupportEncoding.onFinish(ISolver solver,
IVec<Var> scope) |
void |
BinarySupportEncoding.onFinish(ISolver solver,
IVec<Var> scope) |
void |
DirectEncoding.onFinish(ISolver solver,
IVec<Var> scope) |
void |
GeneralizedSupportEncoding.onInit(ISolver solver,
IVec<Var> scope) |
void |
BinarySupportEncoding.onInit(ISolver solver,
IVec<Var> scope) |
void |
DirectEncoding.onInit(ISolver solver,
IVec<Var> scope) |
void |
GeneralizedSupportEncoding.onNogood(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
void |
BinarySupportEncoding.onNogood(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
void |
DirectEncoding.onNogood(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
void |
GeneralizedSupportEncoding.onSupport(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
void |
BinarySupportEncoding.onSupport(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
void |
DirectEncoding.onSupport(ISolver solver,
IVec<Var> scope,
Map<Evaluable,Integer> tuple) |
Modifier and Type | Class and Description |
---|---|
class |
MinCostDecorator
A decorator that computes minimal cost models.
|
class |
WeightedMaxSatDecorator
A decorator for solving weighted MAX SAT problems.
|
Modifier and Type | Method and Description |
---|---|
protected ISolver |
GenericOptLauncher.configureSolver(String[] args) |
Modifier and Type | Method and Description |
---|---|
protected Reader |
GenericOptLauncher.createReader(ISolver aSolver,
String problemname) |
Modifier and Type | Method and Description |
---|---|
ISolver |
SolverFactory.defaultSolver() |
ISolver |
SolverFactory.lightSolver() |
static ISolver |
SolverFactory.newDefault()
Default solver of the SolverFactory.
|
static ISolver |
SolverFactory.newDimacsOutput() |
static ISolver |
SolverFactory.newLight()
Small footprint SAT solver.
|
static ISolver |
SolverFactory.newMinOneSolver() |
static ISolver |
SolverFactory.newParallel() |
static ISolver |
SolverFactory.newSATUNSAT()
Two solvers are running in //: one for solving SAT instances, the other
one for solving unsat instances.
|
static ISolver |
SolverFactory.newStatistics() |
Modifier and Type | Interface and Description |
---|---|
interface |
ICDCL<D extends DataStructureFactory>
Abstraction for Conflict Driven Clause Learning Solver.
|
Modifier and Type | Class and Description |
---|---|
class |
Solver<D extends DataStructureFactory>
The backbone of the library providing the modular implementation of a MiniSAT
(Chaff) like solver.
|
Modifier and Type | Method and Description |
---|---|
ISolver |
Solver.getSolvingEngine() |
Modifier and Type | Class and Description |
---|---|
class |
AbstractSelectorVariablesDecorator
Abstract class which adds a new "selector" variable for each clause entered
in the solver.
|
class |
MaxSatDecorator
Computes a solution that satisfies the maximum of clauses.
|
class |
MinOneDecorator
Computes a solution with the smallest number of satisfied literals.
|
Constructor and Description |
---|
AbstractSelectorVariablesDecorator(ISolver solver) |
MaxSatDecorator(ISolver solver) |
MaxSatDecorator(ISolver solver,
boolean equivalence) |
MinOneDecorator(ISolver solver) |
Modifier and Type | Interface and Description |
---|---|
interface |
IPBSolver
A solver able to deal with pseudo boolean constraints.
|
Modifier and Type | Class and Description |
---|---|
class |
ConstraintRelaxingPseudoOptDecorator |
class |
LPStringSolver
Solver used to display in a string the pb-instance in OPB format.
|
class |
OPBStringSolver
Solver used to display in a string the pb-instance in OPB format.
|
class |
OptToPBSATAdapter
Utility class to use optimization solvers instead of simple SAT solvers in
code meant for SAT solvers.
|
class |
PBSolverDecorator
A decorator for the PB solvers.
|
class |
PseudoBitsAdderDecorator
A decorator that computes minimal pseudo boolean models.
|
class |
PseudoIteratorDecorator
A decorator that computes all pseudo boolean models.
|
class |
PseudoOptDecorator
A decorator that computes minimal pseudo boolean models.
|
class |
UserFriendlyPBStringSolver<T>
Solver to display SAT instances using domain objects names instead of Dimacs
numbers.
|
Modifier and Type | Method and Description |
---|---|
protected ISolver |
LanceurPseudo2007Eclipse.configureSolver(String[] args) |
protected ISolver |
LanceurPseudo2005.configureSolver(String[] args) |
Modifier and Type | Method and Description |
---|---|
BigInteger |
ObjectiveFunction.calculateDegreeImplicant(ISolver solver)
Compute the degree of the objective function using a prime implicant.
|
protected Reader |
LanceurPseudo2007Eclipse.createReader(ISolver theSolver,
String problemname) |
protected Reader |
LanceurPseudo2005.createReader(ISolver theSolver,
String problemname) |
protected Reader |
LanceurPseudo2007.createReader(ISolver theSolver,
String problemname) |
Modifier and Type | Interface and Description |
---|---|
interface |
IPBCDCLSolver<D extends PBDataStructureFactory>
Abstraction for Conflict Driven Clause Learning PBSolver.
|
Modifier and Type | Class and Description |
---|---|
class |
ObjectiveReducerPBSolverDecorator |
class |
PBSolver |
class |
PBSolverCautious |
class |
PBSolverClause |
class |
PBSolverCP |
class |
PBSolverResCP |
class |
PBSolverResolution |
class |
PBSolverWithImpliedClause |
Modifier and Type | Method and Description |
---|---|
ISolver |
ObjectiveReducerPBSolverDecorator.getSolvingEngine() |
Modifier and Type | Class and Description |
---|---|
class |
ClausalConstraintsDecorator |
class |
LexicoDecoratorPB |
class |
ManyCorePB |
class |
PBAdapter
Allow to put a ISolver when an IPBSolver is required.
|
class |
SteppedTimeoutLexicoDecoratorPB |
class |
XplainPB |
Constructor and Description |
---|
PBAdapter(ISolver solver) |
Modifier and Type | Class and Description |
---|---|
class |
JSONReader<S extends ISolver>
Simple JSON reader for clauses and cardinality constraints.
|
Modifier and Type | Field and Description |
---|---|
protected S |
JSONReader.solver |
protected ISolver |
DimacsReader.solver |
Modifier and Type | Method and Description |
---|---|
protected ISolver |
DimacsReader.getSolver() |
ISolver |
JSONReader.parseString(String json) |
Constructor and Description |
---|
CSPExtSupportReader(ISolver solver,
boolean allDiffCard) |
CSPInstanceReader(ISolver solver,
boolean allDiffCard) |
CSPReader(ISolver solver,
boolean allDiffCard) |
CSPSupportReader(ISolver solver,
boolean allDiffCard) |
DimacsReader(ISolver solver) |
DimacsReader(ISolver solver,
String format) |
InstanceReader(ISolver solver) |
LecteurDimacs(ISolver s) |
XMLCSPReader(ISolver solver,
boolean allDiffCard) |
Modifier and Type | Method and Description |
---|---|
static <T extends ISolver> |
Solvers.showAvailableSolvers(ASolverFactory<T> afactory,
ILogAble logger) |
static <T extends ISolver> |
Solvers.showAvailableSolvers(ASolverFactory<T> afactory,
String framework,
ILogAble logger) |
Modifier and Type | Method and Description |
---|---|
protected ISolver |
Launcher.configureSolver(String[] args)
Configure the solver according to the command line parameters.
|
ISolver |
DetailedCommandPanel.getSolver() |
Modifier and Type | Method and Description |
---|---|
protected Reader |
DetailedCommandPanel.createReader(ISolver theSolver,
String problemname) |
protected Reader |
Launcher.createReader(ISolver theSolver,
String problemname) |
protected Reader |
Lanceur.createReader(ISolver theSolver,
String problemname)
Deprecated.
|
Modifier and Type | Interface and Description |
---|---|
interface |
IGroupSolver
Represents a CNF in which clauses are grouped into levels.
|
Modifier and Type | Method and Description |
---|---|
ISolver |
ISolver.getSolvingEngine()
Retrieve the real engine in case the engine is decorated by one or
several decorator.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractClauseSelectorSolver<T extends ISolver> |
class |
ClausalCardinalitiesDecorator<T extends ISolver>
A decorator for clausal cardinalities constraints.
|
class |
FullClauseSelectorSolver<T extends ISolver> |
class |
GroupClauseSelectorSolver<T extends ISolver> |
class |
LexicoDecorator<T extends ISolver> |
class |
ManyCore<S extends ISolver>
A class allowing to run several solvers in parallel.
|
class |
NegationDecorator<T extends ISolver>
Negates the formula inside a solver.
|
class |
SolverDecorator<T extends ISolver>
The aim of that class is to allow adding dynamic responsibilities to SAT
solvers using the Decorator design pattern.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractClauseSelectorSolver<T extends ISolver> |
class |
AbstractMinimalModel |
class |
AbstractOutputSolver |
class |
ClausalCardinalitiesDecorator<T extends ISolver>
A decorator for clausal cardinalities constraints.
|
class |
DimacsOutputSolver
Solver used to display in a writer the CNF instance in Dimacs format.
|
class |
DimacsStringSolver
Solver used to write down a CNF into a String.
|
class |
FullClauseSelectorSolver<T extends ISolver> |
class |
GateTranslator
Utility class to easily feed a SAT solver using logical gates.
|
class |
GroupClauseSelectorSolver<T extends ISolver> |
class |
LexicoDecorator<T extends ISolver> |
class |
ManyCore<S extends ISolver>
A class allowing to run several solvers in parallel.
|
class |
Minimal4CardinalityModel
Computes models with a minimal number (with respect to cardinality) of
negative literals.
|
class |
Minimal4InclusionModel
Computes models with a minimal subset (with respect to set inclusion) of
negative literals.
|
class |
ModelIterator
That class allows to iterate through all the models (implicants) of a
formula.
|
class |
ModelIteratorToSATAdapter
This class allow to use the ModelIterator class as a solver.
|
class |
NegationDecorator<T extends ISolver>
Negates the formula inside a solver.
|
class |
OptToSatAdapter |
class |
SingleSolutionDetector
This solver decorator allows to detect whether or not the set of constraints
available in the solver has only one solution or not.
|
class |
SolutionCounter
Another solver decorator that counts the number of solutions.
|
class |
SolverDecorator<T extends ISolver>
The aim of that class is to allow adding dynamic responsibilities to SAT
solvers using the Decorator design pattern.
|
class |
StatisticsSolver |
Modifier and Type | Field and Description |
---|---|
protected ISolver |
DimacsArrayReader.solver |
Modifier and Type | Method and Description |
---|---|
<T extends ISolver> |
AllMUSes.getSolverInstance()
Gets an instance of ISolver that can be used to compute all MUSes
|
Modifier and Type | Method and Description |
---|---|
protected ISolver |
DimacsArrayReader.getSolver() |
ISolver |
AbstractOutputSolver.getSolvingEngine() |
ISolver |
ManyCore.getSolvingEngine() |
ISolver |
StatisticsSolver.getSolvingEngine() |
ISolver |
SolverDecorator.getSolvingEngine() |
ISolver |
DimacsArrayReader.parseInstance(int[] gateType,
int[] outputs,
int[][] inputs,
int maxVar) |
Modifier and Type | Method and Description |
---|---|
static IVecInt |
RemiUtils.backbone(ISolver s)
Compute the set of literals common to all models of the formula.
|
static IVecInt |
Backbone.compute(ISolver solver)
Computes the backbone of a formula following the algorithm described in
João Marques-Silva, Mikolás Janota, Inês Lynce: On Computing Backbones of
Propositional Theories.
|
static IVecInt |
Backbone.compute(ISolver solver,
int[] implicant) |
static IVecInt |
Backbone.compute(ISolver solver,
int[] implicant,
IVecInt assumptions) |
static IVecInt |
Backbone.compute(ISolver solver,
IVecInt assumptions)
Computes the backbone of a formula following the algorithm described in
João Marques-Silva, Mikolás Janota, Inês Lynce: On Computing Backbones of
Propositional Theories.
|
static IVecInt |
AbstractMinimalModel.negativeLiterals(ISolver solver) |
static IVecInt |
AbstractMinimalModel.positiveLiterals(ISolver solver) |
Constructor and Description |
---|
AllMUSes(ASolverFactory<? extends ISolver> factory) |
AllMUSes(boolean group,
ASolverFactory<? extends ISolver> factory) |
CheckMUSSolutionListener(ASolverFactory<? extends ISolver> factory) |
Modifier and Type | Method and Description |
---|---|
IConstr |
Policy.addAtLeast(ISolver solver,
IVecInt literals,
int n) |
IConstr |
EncodingStrategyAdapter.addAtLeast(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
EncodingStrategyAdapter.addAtLeastOne(ISolver solver,
IVecInt literals) |
IConstr |
Sequential.addAtMost(ISolver solver,
IVecInt literals,
int k)
This encoding adds (n-1)*k variables (n is the number of variables in the
at most constraint and k is the degree of the constraint) and 2nk+n-3k-1
clauses.
|
IConstr |
Policy.addAtMost(ISolver solver,
IVecInt literals,
int k) |
IConstr |
EncodingStrategyAdapter.addAtMost(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Product.addAtMost(ISolver solver,
IVecInt literals,
int k) |
IConstr |
Commander.addAtMost(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Binary.addAtMost(ISolver solver,
IVecInt literals,
int k) |
IConstr |
Binomial.addAtMost(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Product.addAtMostNonOpt(ISolver solver,
IVecInt literals,
int k) |
IConstr |
Sequential.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Ladder.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
EncodingStrategyAdapter.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Product.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Commander.addAtMostOne(ISolver solver,
IVecInt literals)
In this encoding, variables are partitioned in groups.
|
IConstr |
Binary.addAtMostOne(ISolver solver,
IVecInt literals)
p being the smaller integer greater than log_2(n), this encoding adds p
variables and n*p clauses.
|
IConstr |
Binomial.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Sequential.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Policy.addExactly(ISolver solver,
IVecInt literals,
int n) |
IConstr |
EncodingStrategyAdapter.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Product.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Commander.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Binary.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Binomial.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Sequential.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Ladder.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
EncodingStrategyAdapter.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Product.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Commander.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Binary.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Binomial.addExactlyOne(ISolver solver,
IVecInt literals) |
Modifier and Type | Class and Description |
---|---|
class |
HighLevelXplain<T extends ISolver>
Computation of MUS in a structured CNF, i.e. the clauses belong to
components, the explanation is to be extracted in terms of components.
|
class |
Xplain<T extends ISolver>
Explanation framework for SAT4J.
|
Modifier and Type | Class and Description |
---|---|
class |
HighLevelXplain<T extends ISolver>
Computation of MUS in a structured CNF, i.e. the clauses belong to
components, the explanation is to be extracted in terms of components.
|
class |
Xplain<T extends ISolver>
Explanation framework for SAT4J.
|
Modifier and Type | Method and Description |
---|---|
IVecInt |
QuickXplainStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
QuickXplain2001Strategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
MinimizationStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
DeletionStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
InsertionStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
Copyright © 2013 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.