Commit 3951cadf authored by Romain WALLON's avatar Romain WALLON

Clarifies that propagating on PB constraints does not guarantee to

detect all conflicts
parent 73a0a8f7
Pipeline #7857 passed with stages
in 190 minutes and 3 seconds
......@@ -181,7 +181,7 @@ public final class MaxWatchPb extends WatchPb {
* the solver
* @param p
* the propagated literal (it must be falsified)
* @return false iff there is a conflict
* @return false if a conflict is detected
*/
public boolean propagate(UnitPropagationListener s, int p) {
this.voc.watch(p, this);
......@@ -249,6 +249,8 @@ public final class MaxWatchPb extends WatchPb {
assert this.learnt || this.watchCumul.compareTo(computeLeftSide()) >= 0;
assert this.watchCumul.compareTo(computeLeftSide()) >= 0;
// No conflict was detected, but this does NOT mean that the constraint
// is not conflictual.
return true;
}
......
......@@ -185,7 +185,7 @@ public final class MaxWatchPbLong extends WatchPbLong {
* the solver
* @param p
* the propagated literal (it must be falsified)
* @return false iff there is a conflict
* @return false if a conflict is detected
*/
@Override
public boolean propagate(UnitPropagationListener s, int p) {
......@@ -252,6 +252,8 @@ public final class MaxWatchPbLong extends WatchPbLong {
assert this.learnt || this.watchCumul >= computeLeftSide();
assert this.watchCumul >= computeLeftSide();
// No conflict was detected, but this does NOT mean that the constraint
// is not conflictual.
return true;
}
......
......@@ -175,7 +175,7 @@ public final class MaxWatchPbLongCP extends WatchPbLongCP {
* the solver
* @param p
* the propagated literal (it must be falsified)
* @return false iff there is a conflict
* @return false if a conflict is detected
*/
public boolean propagate(UnitPropagationListener s, int p) {
this.voc.watch(p, this);
......@@ -241,6 +241,8 @@ public final class MaxWatchPbLongCP extends WatchPbLongCP {
assert this.learnt || this.watchCumul >= computeLeftSide();
assert this.watchCumul >= computeLeftSide();
// No conflict was detected, but this does NOT mean that the constraint
// is not conflictual.
return true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment