|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.sat4j.tools.SolverDecorator<IPBSolver> org.sat4j.pb.PBSolverDecorator org.sat4j.maxsat.WeightedMaxSatDecorator
public class WeightedMaxSatDecorator
A decorator for solving weighted MAX SAT problems. The first value of the list of literals in the addClause() method contains the weight of the clause.
Field Summary | |
---|---|
protected int |
nbnewvar
|
static BigInteger |
SAT4J_MAX_BIG_INTEGER
|
protected BigInteger |
top
|
Constructor Summary | |
---|---|
WeightedMaxSatDecorator(IPBSolver solver)
|
Method Summary | |
---|---|
IConstr |
addClause(IVecInt literals)
Add a soft clause to the solver. |
IConstr |
addHardClause(IVecInt literals)
Add a hard clause in the solver, i.e. a clause that must be satisfied. |
void |
addLiteralsToMinimize(IVecInt literals)
Set some literals whose sum must be minimized. |
IConstr |
addSoftAtLeast(BigInteger weight,
IVecInt literals,
int degree)
Allow adding a new soft cardinality constraint in the solver. |
IConstr |
addSoftAtLeast(int weight,
IVecInt literals,
int degree)
Allow adding a new soft cardinality constraint in the solver. |
IConstr |
addSoftAtLeast(IVecInt literals,
int degree)
Allow adding a new soft cardinality constraint in the solver. |
IConstr |
addSoftAtMost(BigInteger weight,
IVecInt literals,
int degree)
Allow adding a new soft cardinality constraint in the solver. |
IConstr |
addSoftAtMost(int weight,
IVecInt literals,
int degree)
Allow adding a new soft cardinality constraint in the solver. |
IConstr |
addSoftAtMost(IVecInt literals,
int degree)
Allow adding a new soft cardinality constraint in the solver. |
IConstr |
addSoftClause(BigInteger weight,
IVecInt literals)
|
IConstr |
addSoftClause(int weight,
IVecInt literals)
Add a soft clause to the solver. |
IConstr |
addSoftClause(IVecInt literals)
Add a soft clause in the solver, i.e. a clause with a weight of 1. |
void |
addWeightedLiteralsToMinimize(IVecInt literals,
IVec<BigInteger> coefficients)
Set some literals whose sum must be minimized. |
void |
addWeightedLiteralsToMinimize(IVecInt literals,
IVecInt coefficients)
Set some literals whose sum must be minimized. |
void |
forceObjectiveValueTo(Number forcedValue)
|
void |
reset()
|
void |
setExpectedNumberOfClauses(int nb)
|
void |
setTopWeight(BigInteger top)
|
Methods inherited from class org.sat4j.pb.PBSolverDecorator |
---|
addAtLeast, addAtLeast, addAtMost, addAtMost, addExactly, addExactly, addPseudoBoolean, getObjectiveFunction, setObjectiveFunction |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.sat4j.specs.IProblem |
---|
findModel, findModel, isSatisfiable, isSatisfiable, isSatisfiable, isSatisfiable, model, model, nConstraints, newVar, nVars, primeImplicant, printInfos |
Field Detail |
---|
public static final BigInteger SAT4J_MAX_BIG_INTEGER
protected int nbnewvar
protected BigInteger top
Constructor Detail |
---|
public WeightedMaxSatDecorator(IPBSolver solver)
Method Detail |
---|
public void setExpectedNumberOfClauses(int nb)
setExpectedNumberOfClauses
in interface ISolver
setExpectedNumberOfClauses
in class SolverDecorator<IPBSolver>
public void setTopWeight(BigInteger top)
public IConstr addClause(IVecInt literals) throws ContradictionException
addClause
in interface ISolver
addClause
in class SolverDecorator<IPBSolver>
literals
- a weighted clause, the weight being the first element of the
vector.
ContradictionException
#setTopWeight(int)
public IConstr addHardClause(IVecInt literals) throws ContradictionException
literals
- the clause
ContradictionException
public IConstr addSoftClause(IVecInt literals) throws ContradictionException
literals
- the clause.
ContradictionException
public IConstr addSoftClause(int weight, IVecInt literals) throws ContradictionException
weight
- the weight of the clauseliterals
- the clause
ContradictionException
public IConstr addSoftClause(BigInteger weight, IVecInt literals) throws ContradictionException
ContradictionException
public IConstr addSoftAtLeast(IVecInt literals, int degree) throws ContradictionException
literals
- the literals of the cardinality constraint.degree
- the degree of the cardinality constraint.
ContradictionException
- if a trivial contradiction is found.public IConstr addSoftAtLeast(int weight, IVecInt literals, int degree) throws ContradictionException
weight
- the weight of the constraint.literals
- the literals of the cardinality constraint.degree
- the degree of the cardinality constraint.
ContradictionException
- if a trivial contradiction is found.public IConstr addSoftAtLeast(BigInteger weight, IVecInt literals, int degree) throws ContradictionException
weight
- the weight of the constraint.literals
- the literals of the cardinality constraint.degree
- the degree of the cardinality constraint.
ContradictionException
- if a trivial contradiction is found.public IConstr addSoftAtMost(IVecInt literals, int degree) throws ContradictionException
literals
- the literals of the cardinality constraint.degree
- the degree of the cardinality constraint.
ContradictionException
- if a trivial contradiction is found.public IConstr addSoftAtMost(int weight, IVecInt literals, int degree) throws ContradictionException
weight
- the weight of the constraint.literals
- the literals of the cardinality constraint.degree
- the degree of the cardinality constraint.
ContradictionException
- if a trivial contradiction is found.public IConstr addSoftAtMost(BigInteger weight, IVecInt literals, int degree) throws ContradictionException
weight
- the weight of the constraint.literals
- the literals of the cardinality constraint.degree
- the degree of the cardinality constraint.
ContradictionException
- if a trivial contradiction is found.public void addLiteralsToMinimize(IVecInt literals)
literals
- the sum of those literals must be minimized.public void addWeightedLiteralsToMinimize(IVecInt literals, IVec<BigInteger> coefficients)
literals
- the sum of those literals must be minimized.coefficients
- the weight of the literals.public void addWeightedLiteralsToMinimize(IVecInt literals, IVecInt coefficients)
literals
- the sum of those literals must be minimized.coefficients
- the weight of the literals.public void reset()
reset
in interface ISolver
reset
in class SolverDecorator<IPBSolver>
public void forceObjectiveValueTo(Number forcedValue) throws ContradictionException
ContradictionException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |