Module org.chocosolver
Class LearnSignedClauses<E extends ExplanationForSignedClause>
- java.lang.Object
-
- org.chocosolver.solver.search.loop.learn.LearnSignedClauses<E>
-
- All Implemented Interfaces:
Learn
public class LearnSignedClauses<E extends ExplanationForSignedClause> extends Object implements Learn
A learn implementation that is able to learn signed clause on failure. The implication graph is recorded during propagation and then aanlysed, with the constraint in conflict as input to learn a signed clause to add to the model.The algorithm is based on :
"A Proof-Producing CSP Solver", M.Vesler and O.Strichman, AAI'10.
Project: choco-solver.
- Since:
- 27/01/2017.
- Author:
- Charles Prud'homme
-
-
Constructor Summary
Constructors Constructor Description LearnSignedClauses(Solver solver)
Build a learned able to learn signed clauses on conflicts and solutions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
forget(Solver solver)
Forget some pieces of knowledge.E
getExplanation()
protected void
onSolution()
boolean
record(Solver solver)
Validate and record a new piece of knowledge, that is, the current position is a dead-end.void
setExplanation(E explanation)
-
-
-
Constructor Detail
-
LearnSignedClauses
public LearnSignedClauses(Solver solver)
Build a learned able to learn signed clauses on conflicts and solutions.- Parameters:
solver
- the solver to exploit
-
-
Method Detail
-
setExplanation
public void setExplanation(E explanation)
-
getExplanation
public E getExplanation()
-
record
public boolean record(Solver solver)
Description copied from interface:Learn
Validate and record a new piece of knowledge, that is, the current position is a dead-end.
-
forget
public void forget(Solver solver)
Description copied from interface:Learn
Forget some pieces of knowledge.
-
onSolution
protected void onSolution()
-
-