Modifier and Type | Method and Description |
---|---|
void |
PropNogoods.propagate(int evtmask) |
void |
PropSat.propagate(int evtmask) |
void |
PropNogoods.propagate(int idxVarInProp,
int mask) |
void |
PropSat.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Field and Description |
---|---|
protected ContradictionException |
Solver.exception
Internal unique contradiction exception, used on propagation failures
|
Modifier and Type | Method and Description |
---|---|
ContradictionException |
Solver.getContradictionException() |
Modifier and Type | Method and Description |
---|---|
void |
Model.postTemp(Constraint... cs)
Posts constraints
cs temporary, that is, they will be unposted upon backtrack. |
void |
Solver.propagate()
Propagates constraints and related events through the constraint network until a fix point is find,
or a contradiction is detected.
|
void |
Solution.restore()
Restore the solution in
Solution.model . |
void |
Solver.throwsException(ICause c,
Variable v,
String s) |
Modifier and Type | Method and Description |
---|---|
void |
ReificationConstraint.activate(int idx) |
void |
Propagator.doFinePropagation()
Apply fine event propagation of this.
|
void |
Propagator.fails()
Throws a contradiction exception
|
void |
Propagator.forcePropagate(PropagatorEventType evt)
Schedules a coarse propagation to filter all variables at once.
|
abstract void |
Propagator.propagate(int evtmask)
Call the main filtering algorithm to apply to the
Domain of the Variable objects. |
void |
Propagator.propagate(int idxVarInProp,
int mask)
Incremental filtering algorithm defined within the
Propagator , called whenever the variable
of index idxVarInProp has changed. |
Modifier and Type | Method and Description |
---|---|
void |
PropDistanceXYC.filterFromVarToVar(IntVar var1,
IntVar var2)
Initial propagation in case of EQ and enumerated domains
|
void |
PropDistanceXYC.filterGT()
In case of a GT
|
void |
PropDistanceXYC.filterGTonVar(IntVar v0,
IntVar v1)
In case of a GT, due to a modification on v0 domain
|
void |
PropDistanceXYC.filterLT()
In case of a LT
|
void |
PropDistanceXYC.filterLTonVar(IntVar v0,
IntVar v1)
In case of a LT, due to a modification on v0 domain
|
void |
PropDistanceXYC.filterNeq() |
void |
PropDistanceXYC.filterOnInf(IntVar v0,
IntVar v1)
In case of a EQ, due to a modification of the lower bound of v0
|
void |
PropDistanceXYC.filterOnInst(IntVar v,
int val)
In case of a EQ, due to the instantion to one variable to val
|
void |
PropDistanceXYC.filterOnSup(IntVar v0,
IntVar v1)
In case of a EQ, due to a modification of the upper bound of v0
|
void |
PropNotEqualX_Y.propagate(int evtmask) |
void |
PropScale.propagate(int evtmask) |
void |
PropGreaterOrEqualX_YC.propagate(int evtmask) |
void |
PropGreaterOrEqualXY_C.propagate(int evtmask) |
void |
PropDistanceXYC.propagate(int evtmask) |
void |
PropLessOrEqualXY_C.propagate(int evtmask) |
void |
PropEqualX_YC.propagate(int evtmask) |
void |
PropAbsolute.propagate(int evtmask) |
void |
PropGreaterOrEqualX_Y.propagate(int evtmask) |
void |
PropNotEqualXY_C.propagate(int evtmask) |
void |
PropNotEqualX_YC.propagate(int evtmask) |
void |
PropEqualX_Y.propagate(int evtmask) |
void |
PropSquare.propagate(int evtmask) |
void |
PropEqualXY_C.propagate(int evtmask) |
void |
PropGreaterOrEqualX_YC.propagate(int idxVarInProp,
int mask) |
void |
PropGreaterOrEqualXY_C.propagate(int idxVarInProp,
int mask) |
void |
PropDistanceXYC.propagate(int varIdx,
int mask) |
void |
PropLessOrEqualXY_C.propagate(int idxVarInProp,
int mask) |
void |
PropEqualX_YC.propagate(int varIdx,
int mask) |
void |
PropAbsolute.propagate(int varIdx,
int mask) |
void |
PropGreaterOrEqualX_Y.propagate(int varIdx,
int mask) |
void |
PropEqualX_Y.propagate(int varIdx,
int mask) |
void |
PropSquare.propagate(int varIdx,
int mask) |
void |
PropEqualXY_C.propagate(int varIdx,
int mask) |
protected void |
PropSquare.updateHoleinX(int remVal) |
protected void |
PropSquare.updateHoleinY(int remVal) |
protected void |
PropSquare.updateHolesinX() |
protected void |
PropSquare.updateHolesinY() |
protected void |
PropSquare.updateLowerBoundofX() |
protected void |
PropSquare.updateLowerBoundofY() |
protected void |
PropSquare.updateUpperBoundofX() |
protected void |
PropSquare.updateUpperBoundofY() |
Modifier and Type | Method and Description |
---|---|
void |
PropElement.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropBinAC3.propagate(int evtmask) |
void |
PropBinAC2001.propagate(int evtmask) |
void |
PropBinAC3rm.propagate(int evtmask) |
void |
PropBinAC3bitrm.propagate(int evtmask) |
void |
PropBinFC.propagate(int evtmask) |
void |
PropBinAC3.propagate(int idxVarInProp,
int mask) |
void |
PropBinAC2001.propagate(int idxVarInProp,
int mask) |
void |
PropBinAC3rm.propagate(int idxVarInProp,
int mask) |
void |
PropBinAC3bitrm.propagate(int idxVarInProp,
int mask) |
void |
PropBinFC.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Method and Description |
---|---|
void |
PropLargeGAC2001.propagate(int evtmask) |
void |
PropLargeGACSTRPos.propagate(int evtmask) |
void |
PropLargeGAC3rmPositive.propagate(int evtmask) |
void |
PropLargeMDDC.propagate(int evtmask) |
void |
PropTableStr2.propagate(int evtmask) |
void |
PropLargeGAC3rm.propagate(int evtmask) |
void |
PropCompactTable.propagate(int evtmask) |
void |
PropLargeFC.propagate(int evtmask) |
void |
PropLargeGAC2001Positive.propagate(int evtmask) |
void |
PropLargeGAC2001.propagate(int idxVarInProp,
int mask) |
void |
PropLargeGACSTRPos.propagate(int idxVarInProp,
int mask) |
void |
PropLargeGAC3rmPositive.propagate(int vIdx,
int mask) |
void |
PropLargeGAC3rm.propagate(int idxVarInProp,
int mask) |
void |
PropCompactTable.propagate(int vIdx,
int mask) |
void |
PropLargeFC.propagate(int idxVarInProp,
int mask) |
void |
PropLargeGAC2001Positive.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Method and Description |
---|---|
protected void |
PropDiffN.filterFromBox(int i) |
void |
PropDiffN.propagate(int evtmask) |
void |
PropKnapsack.propagate(int evtmask) |
void |
PropKLoops.propagate(int evtmask) |
void |
PropIntValuePrecedeChain.propagate(int evtmask) |
void |
PropDiffN.propagate(int varIdx,
int mask) |
void |
PropKLoops.propagate(int idV,
int mask) |
void |
PropIntValuePrecedeChain.propagate(int i,
int mask) |
Modifier and Type | Method and Description |
---|---|
protected void |
PropAllDiffInst.fixpoint() |
void |
PropAllDiffAC.propagate(int evtmask) |
void |
PropAllDiffAdaptative.propagate(int evtmask) |
void |
PropAllDiffInst.propagate(int evtmask) |
void |
PropAllDiffBC.propagate(int evtmask) |
void |
PropAllDiffInst.propagate(int varIdx,
int mask) |
Modifier and Type | Method and Description |
---|---|
void |
AlgoAllDiffBC.filter() |
boolean |
AlgoAllDiffAC.propagate() |
Modifier and Type | Method and Description |
---|---|
protected void |
PropCondAllDiffInst.fixpoint() |
void |
PropCondAllDiff_AC.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropAmongGAC.propagate(int evtmask) |
void |
PropAmongGAC.propagate(int vidx,
int evtmask) |
Modifier and Type | Method and Description |
---|---|
protected void |
PropMultiCostRegular.checkWorld() |
void |
PropMultiCostRegular.computeSharpBounds()
Iteratively compute upper and lower bound for the underlying RCSPP
|
protected void |
PropMultiCostRegular.delayedGraphUpdate()
Updates the graphs w.r.t.
|
protected void |
PropMultiCostRegular.filterDown(double realsp)
Filters w.r.t.
|
protected void |
PropMultiCostRegular.filterUp(double reallp)
Filters w.r.t.
|
void |
PropMultiCostRegular.forcePathRecomputation() |
protected void |
PropMultiCostRegular.initialize()
Build internal structure of the propagator, if necessary
|
protected void |
PropCostRegular.initialize()
Build internal structure of the propagator, if necessary
|
protected boolean |
PropMultiCostRegular.prefilter()
Performs cost based filtering w.r.t.
|
void |
PropMultiCostRegular.propagate(int evtmask) |
void |
PropRegular.propagate(int evtmask) |
void |
PropCostRegular.propagate(int evtmask) |
void |
PropMultiCostRegular.propagate(int varIdx,
int mask) |
void |
PropRegular.propagate(int varIdx,
int mask) |
void |
PropCostRegular.propagate(int varIdx,
int mask) |
void |
PropMultiCostRegular.rebuildCostRegInfo() |
protected void |
PropMultiCostRegular.updateLowerBound()
Performs a lagrangian relaxation to compute a new Lower bound of the underlying RCSPP problem
Each built subproblem is a shortest path one can use to perform cost based filtering
|
protected void |
PropMultiCostRegular.updateUpperBound()
Performs a lagrangian relaxation to compute a new Upper bound of the underlying RCSPP problem
Each built subproblem is a longest path one can use to perform cost based filtering
|
Modifier and Type | Method and Description |
---|---|
void |
StoredValuedDirectedMultiGraph.removeArc(int arcId,
gnu.trove.stack.TIntStack toRemove,
Propagator<IntVar> propagator,
ICause aCause) |
Modifier and Type | Method and Description |
---|---|
void |
FastPathFinder.computeLongestPath(gnu.trove.stack.TIntStack removed,
double lb,
double[] u,
boolean lagrange,
boolean max,
int resource,
PropMultiCostRegular propagator) |
boolean[] |
FastPathFinder.computeShortestAndLongestPath(gnu.trove.stack.TIntStack removed,
IntVar[] z,
PropMultiCostRegular propagator) |
void |
FastPathFinder.computeShortestPath(gnu.trove.stack.TIntStack removed,
double ub,
double[] u,
boolean lagrange,
boolean max,
int resource,
PropMultiCostRegular propagator) |
boolean |
StoredDirectedMultiGraph.removeArc(int arcId,
gnu.trove.stack.TIntStack toRemove,
gnu.trove.stack.TIntStack[] updateLeft,
gnu.trove.stack.TIntStack[] updateRight,
Propagator<IntVar> propagator) |
void |
StoredDirectedMultiGraph.updateLeft(gnu.trove.stack.TIntStack updateLeft,
gnu.trove.stack.TIntStack toRemove,
int dim,
boolean[] modBound,
Propagator<IntVar> propagator) |
void |
StoredDirectedMultiGraph.updateRight(gnu.trove.stack.TIntStack updateRight,
gnu.trove.stack.TIntStack toRemove,
int dim,
boolean[] modBound,
Propagator<IntVar> propagator) |
Modifier and Type | Method and Description |
---|---|
void |
StoredDirectedMultiGraph.clearSupports(int idxVar,
int val,
Propagator<IntVar> p) |
Modifier and Type | Method and Description |
---|---|
void |
PropItemToLoad.propagate(int evtmask) |
void |
PropLoadToItem.propagate(int evtmask) |
void |
PropItemToLoad.propagate(int item,
int evtmask) |
void |
PropLoadToItem.propagate(int vIdx,
int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropBitChanneling.propagate(int evtmask) |
void |
PropClauseChanneling.propagate(int evtmask) |
void |
PropInverseChannelAC.propagate(int evtmask) |
void |
PropInverseChannelBC.propagate(int evtmask) |
void |
PropEnumDomainChanneling.propagate(int evtmask) |
void |
PropBitChanneling.propagate(int idxVarInProp,
int mask) |
void |
PropClauseChanneling.propagate(int vidx,
int mask) |
void |
PropInverseChannelAC.propagate(int varIdx,
int mask) |
void |
PropInverseChannelBC.propagate(int varIdx,
int mask) |
void |
PropEnumDomainChanneling.propagate(int varIdx,
int mask) |
Modifier and Type | Method and Description |
---|---|
protected void |
PropCircuit_AntiArboFiltering.filterFromDom(int duplicatedNode) |
protected void |
PropCircuit_ArboFiltering.filterFromDom(int duplicatedNode) |
void |
PropCircuitSCC.filterFromSource(int source) |
void |
PropSubcircuitDominatorFilter.propagate(int evtmask) |
void |
PropNoSubtour.propagate(int evtmask) |
void |
PropSubcircuit.propagate(int evtmask) |
void |
PropCircuit_ArboFiltering.propagate(int evtmask) |
void |
PropCircuitSCC.propagate(int evtmask) |
void |
PropNoSubtour.propagate(int idxVarInProp,
int mask) |
void |
PropSubcircuit.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Method and Description |
---|---|
void |
PropSignedClause.propagate(int evtmask) |
void |
ClauseStore.propagate(int evtmask) |
void |
ClauseStore.SignedClause.propagate(int evtmask) |
void |
ClauseStore.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Method and Description |
---|---|
void |
PropTrue.propagate(int evtmask) |
void |
PropFalse.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropCountVar.propagate(int evtmask) |
void |
PropCount_AC.propagate(int evtmask) |
void |
PropCount_AC.propagate(int varIdx,
int mask) |
Modifier and Type | Method and Description |
---|---|
abstract void |
CumulFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause)
Filters the cumulative constraint over the subset of tasks induced by tasks
|
void |
TimeCumulFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause) |
void |
SweepCumulFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause) |
void |
SweepHeiSortCumulFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause) |
void |
NRJCumulFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause) |
void |
NaiveTimeCumulFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause) |
void |
DefaultCumulFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause) |
void |
DisjunctiveTaskIntervalFilter.filter(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
ISet tasks,
Propagator<IntVar> aCause) |
void |
PropCumulative.filter(ISet tasks) |
protected void |
PropGraphCumulative.filterAround(int taskIndex) |
protected void |
TimeCumulFilter.filterInf(IntVar start,
int elb,
int dlb,
int hlb,
int min,
int max,
int[] time,
int capaMax,
Propagator<IntVar> aCause) |
protected void |
TimeCumulFilter.filterSup(int sub,
IntVar end,
int dlb,
int hlb,
int min,
int max,
int[] time,
int capaMax,
Propagator<IntVar> aCause) |
void |
PropGraphCumulative.propagate(int evtmask) |
void |
PropCumulative.propagate(int evtmask) |
void |
PropGraphCumulative.propagate(int varIdx,
int mask) |
protected void |
PropCumulative.propIni() |
protected void |
HeightCumulFilter.pruneMax(IntVar[] e) |
protected void |
SweepCumulFilter.pruneMax(IntVar[] e,
Propagator<IntVar> aCause) |
protected void |
HeightCumulFilter.pruneMin(IntVar[] s) |
protected void |
SweepCumulFilter.pruneMin(IntVar[] s,
Propagator<IntVar> aCause) |
protected boolean |
SweepCumulFilter.sweep(IntVar capamax,
IntVar[] h,
int nbT,
Propagator<IntVar> aCause) |
protected boolean |
SweepHeiSortCumulFilter.sweep(IntVar capamax,
IntVar[] h,
int nbT,
Propagator<IntVar> aCause) |
protected boolean |
HeightCumulFilter.sweep(IntVar capamax,
IntVar[] h,
int nbT,
Propagator<IntVar> aCause) |
protected void |
PropCumulative.updateMaxCapa() |
Modifier and Type | Method and Description |
---|---|
void |
PropElementV_fast.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropFastGCC.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropLex.propagate(int evtmask) |
void |
PropLexInt.propagate(int evtmask) |
void |
PropLexChain.propagate(int evtmask) |
void |
PropLex.propagate(int vIdx,
int mask) |
void |
PropLexInt.propagate(int vIdx,
int mask) |
void |
PropLexChain.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Method and Description |
---|---|
void |
PropBoolMin.filter() |
void |
PropBoolMax.filter() |
void |
PropBoolMin.propagate(int evtmask) |
void |
PropMin.propagate(int evtmask) |
void |
PropBoolMax.propagate(int evtmask) |
void |
PropMax.propagate(int evtmask) |
void |
PropBoolMin.propagate(int idxVarInProp,
int mask) |
void |
PropBoolMax.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Method and Description |
---|---|
void |
PropAMNV.propagate(int evtmask) |
void |
PropAtMostNValues.propagate(int evtmask) |
void |
PropAtLeastNValues_AC.propagate(int evtmask) |
void |
PropAtLeastNValues.propagate(int evtmask) |
void |
PropAtMostNValues_BC.propagate(int evtmask) |
void |
PropAMNV.propagate(int idxVarInProp,
int mask) |
void |
PropAtLeastNValues_AC.propagate(int varIdx,
int mask) |
Modifier and Type | Method and Description |
---|---|
protected void |
R3.enforceEq(int i,
int j,
IntVar[] vars,
Propagator aCause) |
void |
R2.filter(IntVar[] vars,
UndirectedGraph graph,
F heur,
Propagator aCause) |
void |
R4.filter(IntVar[] vars,
UndirectedGraph graph,
F heur,
Propagator aCause) |
void |
R1.filter(IntVar[] vars,
UndirectedGraph graph,
F heur,
Propagator aCause) |
void |
R3.filter(IntVar[] vars,
UndirectedGraph graph,
F heur,
Propagator aCause) |
void |
R.filter(IntVar[] vars,
UndirectedGraph graph,
F heur,
Propagator aCause) |
Modifier and Type | Method and Description |
---|---|
void |
PropSort.propagate(int evtmask) |
void |
PropKeysorting.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
protected void |
PropSum.filter()
Execute filtering wrt the operator
|
protected void |
PropSumFullBool.filterOnEq() |
protected void |
PropScalar.filterOnEq() |
protected void |
PropSum.filterOnEq()
Apply filtering when operator is EQ
|
protected void |
PropSumBool.filterOnEq() |
protected void |
PropSumFullBool.filterOnGeq() |
protected void |
PropScalar.filterOnGeq() |
protected void |
PropSum.filterOnGeq()
Apply filtering when operator is GE
|
protected void |
PropSumBool.filterOnGeq() |
protected void |
PropSumFullBool.filterOnLeq() |
protected void |
PropScalar.filterOnLeq() |
protected void |
PropSum.filterOnLeq()
Apply filtering when operator is LE
|
protected void |
PropSumBool.filterOnLeq() |
protected void |
PropScalar.filterOnNeq() |
protected void |
PropSum.filterOnNeq()
Apply filtering when operator is NE
|
void |
PropSum.propagate(int evtmask) |
void |
PropSumFullBoolIncr.propagate(int evtmask) |
void |
PropSumBoolIncr.propagate(int evtmask) |
void |
PropSumFullBoolIncr.propagate(int idxVarInProp,
int mask) |
void |
PropSumBoolIncr.propagate(int idxVarInProp,
int mask) |
Modifier and Type | Method and Description |
---|---|
void |
PropAntiArborescences.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
protected void |
PropScalarMixed.filter()
Execute filtering wrt the operator
|
protected void |
PropScalarMixed.filterOnEq() |
protected void |
PropScalarMixed.filterOnGeq() |
protected void |
PropScalarMixed.filterOnLeq() |
void |
IbexHandler.injectDomain() |
void |
PropScalarMixed.propagate(int evtmask) |
void |
RealPropagator.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropXeqYCReif.propagate(int evtmask) |
void |
PropOpposite.propagate(int evtmask) |
void |
PropXeqCReif.propagate(int evtmask) |
void |
PropConditionnal.propagate(int evtmask) |
void |
PropXltCReif.propagate(int evtmask) |
void |
PropReif.propagate(int evtmask) |
void |
PropLocalConDis.propagate(int evtmask) |
void |
PropXltYCReif.propagate(int evtmask) |
void |
PropXinSReif.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
void |
PropNbEmpty.filter() |
void |
PropAllEqual.propagate(int evtmask) |
void |
PropIntEnumMemberSet.propagate(int evtmask) |
void |
PropNotMemberSetInt.propagate(int evtmask) |
void |
PropNbEmpty.propagate(int evtmask) |
void |
PropMinElement.propagate(int evtmask) |
void |
PropAllDiff.propagate(int evtmask) |
void |
PropElement.propagate(int evtmask) |
void |
PropAtMost1Empty.propagate(int evtmask) |
void |
PropMaxElement.propagate(int evtmask) |
void |
PropIntBoundedMemberSet.propagate(int evtmask) |
void |
PropNotMemberIntSet.propagate(int evtmask) |
void |
PropInverse.propagate(int evtmask) |
void |
PropSumOfElements.propagate(int evtmask) |
void |
PropIntCstNotMemberSet.propagate(int evtmask) |
void |
PropAllDisjoint.propagate(int evtmask) |
void |
PropSymmetric.propagate(int evtmask) |
void |
PropUnion.propagate(int evtmask) |
void |
PropIntCstMemberSet.propagate(int evtmask) |
void |
PropBoolChannel.propagate(int evtmask) |
void |
PropSetIntValuesUnion.propagate(int evtmask) |
void |
PropSubsetEq.propagate(int evtmask) |
void |
PropNotEmpty.propagate(int evtmask) |
void |
PropCardinality.propagate(int evtmask) |
void |
PropIntersection.propagate(int evtmask) |
void |
PropIntChannel.propagate(int evtmask) |
void |
PropIntersectionFilterSets.propagate(int evtmask) |
void |
PropOffSet.propagate(int evtmask) |
void |
PropAllEqual.propagate(int idxVarInProp,
int mask) |
void |
PropIntEnumMemberSet.propagate(int i,
int mask) |
void |
PropNotMemberSetInt.propagate(int idxVarInProp,
int mask) |
void |
PropNbEmpty.propagate(int v,
int mask) |
void |
PropAllDiff.propagate(int idx,
int mask) |
void |
PropAtMost1Empty.propagate(int v,
int mask) |
void |
PropNotMemberIntSet.propagate(int vidx,
int evtmask) |
void |
PropInverse.propagate(int idxVarInProp,
int mask) |
void |
PropAllDisjoint.propagate(int idxVarInProp,
int mask) |
void |
PropSymmetric.propagate(int idxVarInProp,
int mask) |
void |
PropUnion.propagate(int idxVarInProp,
int mask) |
void |
PropBoolChannel.propagate(int i,
int mask) |
void |
PropSubsetEq.propagate(int i,
int mask) |
void |
PropIntersection.propagate(int idxVarInProp,
int mask) |
void |
PropIntChannel.propagate(int idxVarInProp,
int mask) |
void |
PropIntersectionFilterSets.propagate(int idxVarInProp,
int mask) |
void |
PropOffSet.propagate(int v,
int mask) |
Modifier and Type | Method and Description |
---|---|
boolean |
AbstractPropDistanceXYZ.filterFromXYtoLBZ(int delta)
Update lower bound of Z if X != Y
|
boolean |
AbstractPropDistanceXYZ.filterFromXYtoUBZ(int delta)
update upper bound of Z as max(|Y.sup - X.inf|, |Y.inf - X.sup|) - delta
|
protected boolean |
PropGEDistanceXYZ.filterFromXYtoZ() |
protected boolean |
PropEQDistanceXYZ.filterFromXYtoZ() |
protected boolean |
PropLTDistanceXYZ.filterFromXYtoZ() |
protected abstract boolean |
AbstractPropDistanceXYZ.filterFromXYtoZ() |
protected boolean |
PropGTDistanceXYZ.filterFromXYtoZ() |
protected boolean |
PropLEDistanceXYZ.filterFromXYtoZ() |
protected boolean |
PropGEDistanceXYZ.filterFromXZToY() |
protected boolean |
PropEQDistanceXYZ.filterFromXZToY() |
protected boolean |
PropLTDistanceXYZ.filterFromXZToY() |
protected abstract boolean |
AbstractPropDistanceXYZ.filterFromXZToY() |
protected boolean |
PropGTDistanceXYZ.filterFromXZToY() |
protected boolean |
PropLEDistanceXYZ.filterFromXZToY() |
protected boolean |
PropGEDistanceXYZ.filterFromYZToX() |
protected boolean |
PropEQDistanceXYZ.filterFromYZToX() |
protected boolean |
PropLTDistanceXYZ.filterFromYZToX() |
protected abstract boolean |
AbstractPropDistanceXYZ.filterFromYZToX() |
protected boolean |
PropGTDistanceXYZ.filterFromYZToX() |
protected boolean |
PropLEDistanceXYZ.filterFromYZToX() |
boolean |
AbstractPropDistanceXYZ.filterGreaterFromIZToJ(int i,
int j,
int delta)
update bounds of X (resp.
|
boolean |
AbstractPropDistanceXYZ.filterLowerFromIZToJ(int i,
int j,
int delta)
update bounds of X (resp.
|
protected boolean |
PropDivXYZ.oppSign(IntVar a,
IntVar b)
A take the opposite signs of B
|
void |
AbstractPropDistanceXYZ.propagate() |
void |
PropXplusYeqZ.propagate(int evtmask) |
void |
PropEQDistanceXYZ.propagate(int evtmask) |
void |
PropMaxBC.propagate(int evtmask) |
void |
PropTimesNaive.propagate(int evtmask) |
void |
PropLTDistanceXYZ.propagate(int evtmask) |
void |
AbstractPropDistanceXYZ.propagate(int evtmask) |
void |
PropDivXYZ.propagate(int evtmask)
The main propagation method that filters according to the constraint defintion
|
void |
PropLEDistanceXYZ.propagate(int evtmask) |
void |
PropMinBC.propagate(int evtmask) |
void |
AbstractPropDistanceXYZ.propagate(int idxVarInProp,
int mask) |
protected boolean |
PropDivXYZ.sameSign(IntVar a,
IntVar b)
A take the signs of B
|
Modifier and Type | Method and Description |
---|---|
void |
PropNotEqualXC.propagate(int evtmask) |
void |
PropLessOrEqualXC.propagate(int evtmask) |
void |
PropGreaterOrEqualXC.propagate(int evtmask) |
void |
PropMember.propagate(int evtmask) |
void |
PropEqualXC.propagate(int evtmask) |
void |
PropNotMember.propagate(int evtmask) |
Modifier and Type | Method and Description |
---|---|
ContradictionException |
ContradictionException.set(ICause c,
Variable v,
String s)
Throws the unique
ContradictionException filled with the specified parameters. |
Modifier and Type | Method and Description |
---|---|
void |
LazyImplications.collectNodesFromConflict(ContradictionException cft,
ValueSortedMap<IntVar> front) |
abstract void |
Implications.collectNodesFromConflict(ContradictionException conflict,
ValueSortedMap<IntVar> front)
Fill set with indices of nodes that throws the conflict
|
void |
ExplanationForSignedClause.learnSignedClause(ContradictionException cex)
From a given conflict, defined by cex and the current implication graph mIG,
this method will compute the signed clause inferred from the conflict.
|
Modifier and Type | Method and Description |
---|---|
void |
IObjectiveManager.postDynamicCut()
Prevent the model from computing worse quality solutions
|
Modifier and Type | Method and Description |
---|---|
void |
PropagationEngine.execute(Propagator propagator)
Execute 'coarse' propagation on a newly added propagator
or one that should be propagated on backtrack
|
void |
PropagationEngine.propagate()
Launch the proapagation, ie, active propagators if necessary, then reach a fix point
|
Modifier and Type | Method and Description |
---|---|
void |
RandomNeighborhood.fixSomeVariables() |
void |
PropagationGuidedNeighborhood.fixSomeVariables() |
void |
SequenceNeighborhood.fixSomeVariables() |
abstract void |
Neighbor.fixSomeVariables()
Freezes some variables in order to have a fast computation.
|
void |
Neighbor.freeze(int i)
Freeze variable at position 'i' to its value in that recorded solution.
|
protected void |
PropagationGuidedNeighborhood.update()
Create the fragment
|
protected void |
ReversePropagationGuidedNeighborhood.update() |
Modifier and Type | Method and Description |
---|---|
void |
SearchMonitorList.onContradiction(ContradictionException cex) |
void |
IMonitorContradiction.onContradiction(ContradictionException cex) |
Modifier and Type | Method and Description |
---|---|
void |
Propagate.execute(Solver solver)
Propagate information throughout the constraint network, that is, apply decision and post dynamic cut (if any).
|
void |
PropagateBasic.execute(Solver solver)
Basic propagation:
First, prepare the decision (to ensure good behavior of the
Move.repair(Solver) call)
then, a first propagation ensures that, if learning is on,
the unit nogood learnt on failure filters,
the cut is posted before applying the decision to ensure good nogood,
and a second propagation ensures the cut is taken into account
the decision is applied (if learning is on and the decision is refuted,
it is bypassed by the learnt unit nogood),
finally, a fix point is reached.
|
Modifier and Type | Method and Description |
---|---|
boolean |
DecisionOperator.apply(V var,
int value,
ICause cause) |
boolean |
DecisionOperator.unapply(V var,
int value,
ICause cause) |
Modifier and Type | Method and Description |
---|---|
void |
IntDecision.apply() |
void |
IbexDecision.apply() |
void |
SetDecision.apply() |
void |
DecisionPath.apply()
Apply decision pushed since the last call to this method.
|
void |
RootDecision.apply() |
abstract void |
Decision.apply()
Apply the current decision
|
void |
RealDecision.apply() |
Modifier and Type | Method and Description |
---|---|
void |
ImpactBased.onContradiction(ContradictionException cex) |
void |
DomOverWDeg.onContradiction(ContradictionException cex) |
Modifier and Type | Method and Description |
---|---|
void |
ConflictOrderingSearch.onContradiction(ContradictionException cex) |
void |
LastConflict.onContradiction(ContradictionException cex) |
Modifier and Type | Method and Description |
---|---|
void |
SearchViz.onContradiction(ContradictionException cex) |
Modifier and Type | Method and Description |
---|---|
void |
Variable.contradiction(ICause cause,
String message)
Throws a contradiction exception based on
|
void |
Task.ensureBoundConsistency()
Applies BC-filtering so that start + duration = end
|
boolean |
SetVar.force(int element,
ICause cause)
Adds element to the lower bound, i.e.
|
boolean |
SetVar.instantiateTo(int[] value,
ICause cause)
Enforces the set variable to contain exactly the set of integers given in parameter
|
boolean |
IntVar.instantiateTo(int value,
ICause cause)
Instantiates the domain of
this to value . |
void |
Variable.notifyMonitors(IEventType event)
Notify monitors of observed variable modifications
|
void |
Variable.notifyPropagators(IEventType event,
ICause cause)
If
this has changed, then notify all of its observers.Each observer has its update method. |
void |
Variable.notifyViews(IEventType event,
ICause cause)
Notify views of observed variable modifications
|
void |
IVariableMonitor.onUpdate(V var,
IEventType evt)
Operations to execute after updating the domain variable
|
boolean |
SetVar.remove(int element,
ICause cause)
Removes element from the upper bound, i.e.
|
boolean |
IntVar.removeAllValuesBut(IntIterableSet values,
ICause cause)
Removes all values from the domain of
this except those in values . |
boolean |
IntVar.removeInterval(int from,
int to,
ICause cause)
Removes values between [
from, to ] from the domain of this . |
boolean |
IntVar.removeValue(int value,
ICause cause)
Removes
value from the domain of this . |
boolean |
IntVar.removeValues(IntIterableSet values,
ICause cause)
Removes the value in
values from the domain of this . |
boolean |
BoolVar.setToFalse(ICause cause) |
boolean |
BoolVar.setToTrue(ICause cause) |
boolean |
RealVar.updateBounds(double lowerbound,
double upperbound,
ICause cause)
Updates the bounds of the domain of
this to value . |
boolean |
IntVar.updateBounds(int lb,
int ub,
ICause cause)
Updates the lower bound and the upper bound of the domain of
this to, resp. |
boolean |
RealVar.updateLowerBound(double value,
ICause cause)
Updates the lower bound of the domain of
this to value . |
boolean |
IntVar.updateLowerBound(int value,
ICause cause)
Updates the lower bound of the domain of
this to value . |
boolean |
RealVar.updateUpperBound(double value,
ICause cause)
Updates the upper bound of the domain of
this to value . |
boolean |
IntVar.updateUpperBound(int value,
ICause cause)
Updates the upper bound of the domain of
this to value . |
Modifier and Type | Method and Description |
---|---|
void |
ISetDeltaMonitor.forEach(IntProcedure proc,
SetEventType evt)
Apply 'proc' on each value store
|
void |
IIntDeltaMonitor.forEachRemVal(IntProcedure proc)
Apply 'proc' on each value removed.
|
Modifier and Type | Method and Description |
---|---|
void |
SetDeltaMonitor.forEach(IntProcedure proc,
SetEventType evt) |
void |
IntervalDeltaMonitor.forEachRemVal(IntProcedure proc) |
void |
EnumDeltaMonitor.forEachRemVal(IntProcedure proc) |
void |
OneValueDeltaMonitor.forEachRemVal(IntProcedure proc) |
Modifier and Type | Method and Description |
---|---|
void |
AbstractVariable.contradiction(ICause cause,
String message) |
boolean |
SetVarImpl.force(int element,
ICause cause) |
boolean |
SetVarImpl.instantiateTo(int[] value,
ICause cause) |
boolean |
BitsetArrayIntVarImpl.instantiateTo(int value,
ICause cause)
Instantiates the domain of
this to value . |
boolean |
FixedIntVarImpl.instantiateTo(int value,
ICause cause) |
boolean |
BitsetIntVarImpl.instantiateTo(int value,
ICause cause)
Instantiates the domain of
this to value . |
boolean |
IntervalIntVarImpl.instantiateTo(int value,
ICause cause)
Instantiates the domain of
this to value . |
boolean |
BoolVarImpl.instantiateTo(int value,
ICause cause)
Instantiates the domain of
this to value . |
void |
FixedIntVarImpl.notifyMonitors(IEventType event) |
void |
FixedRealVarImpl.notifyMonitors(IEventType event) |
void |
AbstractVariable.notifyMonitors(IEventType event) |
void |
FixedIntVarImpl.notifyPropagators(IEventType event,
ICause cause) |
void |
AbstractVariable.notifyPropagators(IEventType event,
ICause cause) |
void |
FixedIntVarImpl.notifyViews(IEventType event,
ICause cause) |
void |
AbstractVariable.notifyViews(IEventType event,
ICause cause) |
boolean |
SetVarImpl.remove(int element,
ICause cause) |
boolean |
BitsetArrayIntVarImpl.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
FixedIntVarImpl.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
BitsetIntVarImpl.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
IntervalIntVarImpl.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
BoolVarImpl.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
BitsetArrayIntVarImpl.removeInterval(int from,
int to,
ICause cause) |
boolean |
FixedIntVarImpl.removeInterval(int from,
int to,
ICause cause) |
boolean |
BitsetIntVarImpl.removeInterval(int from,
int to,
ICause cause) |
boolean |
IntervalIntVarImpl.removeInterval(int from,
int to,
ICause cause) |
boolean |
BoolVarImpl.removeInterval(int from,
int to,
ICause cause) |
boolean |
BitsetArrayIntVarImpl.removeValue(int value,
ICause cause)
Removes
value from the domain of this . |
boolean |
FixedIntVarImpl.removeValue(int value,
ICause cause) |
boolean |
BitsetIntVarImpl.removeValue(int value,
ICause cause)
Removes
value from the domain of this . |
boolean |
IntervalIntVarImpl.removeValue(int value,
ICause cause)
Removes
value from the domain of this . |
boolean |
BoolVarImpl.removeValue(int value,
ICause cause)
Removes
value from the domain of this . |
boolean |
BitsetArrayIntVarImpl.removeValues(IntIterableSet values,
ICause cause) |
boolean |
FixedIntVarImpl.removeValues(IntIterableSet values,
ICause cause) |
boolean |
BitsetIntVarImpl.removeValues(IntIterableSet values,
ICause cause) |
boolean |
IntervalIntVarImpl.removeValues(IntIterableSet values,
ICause cause) |
boolean |
BoolVarImpl.removeValues(IntIterableSet values,
ICause cause) |
boolean |
FixedBoolVarImpl.setToFalse(ICause cause) |
boolean |
BoolVarImpl.setToFalse(ICause cause) |
boolean |
FixedBoolVarImpl.setToTrue(ICause cause) |
boolean |
BoolVarImpl.setToTrue(ICause cause) |
boolean |
FixedRealVarImpl.updateBounds(double lowerbound,
double upperbound,
ICause cause) |
boolean |
RealVarImpl.updateBounds(double lowerbound,
double upperbound,
ICause cause) |
boolean |
BitsetArrayIntVarImpl.updateBounds(int aLB,
int aUB,
ICause cause) |
boolean |
FixedIntVarImpl.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
BitsetIntVarImpl.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
IntervalIntVarImpl.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
BoolVarImpl.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
FixedRealVarImpl.updateLowerBound(double value,
ICause cause) |
boolean |
RealVarImpl.updateLowerBound(double value,
ICause cause) |
boolean |
BitsetArrayIntVarImpl.updateLowerBound(int value,
ICause cause)
Updates the lower bound of the domain of
this to value . |
boolean |
FixedIntVarImpl.updateLowerBound(int value,
ICause cause) |
boolean |
BitsetIntVarImpl.updateLowerBound(int value,
ICause cause)
Updates the lower bound of the domain of
this to value . |
boolean |
IntervalIntVarImpl.updateLowerBound(int value,
ICause cause)
Updates the lower bound of the domain of
this to value . |
boolean |
BoolVarImpl.updateLowerBound(int value,
ICause cause)
Updates the lower bound of the domain of
this to value . |
boolean |
FixedRealVarImpl.updateUpperBound(double value,
ICause cause) |
boolean |
RealVarImpl.updateUpperBound(double value,
ICause cause) |
boolean |
BitsetArrayIntVarImpl.updateUpperBound(int value,
ICause cause)
Updates the upper bound of the domain of
this to value . |
boolean |
FixedIntVarImpl.updateUpperBound(int value,
ICause cause) |
boolean |
BitsetIntVarImpl.updateUpperBound(int value,
ICause cause)
Updates the upper bound of the domain of
this to value . |
boolean |
IntervalIntVarImpl.updateUpperBound(int value,
ICause cause)
Updates the upper bound of the domain of
this to value . |
boolean |
BoolVarImpl.updateUpperBound(int value,
ICause cause)
Updates the upper bound of the domain of
this to value . |
Modifier and Type | Method and Description |
---|---|
protected boolean |
ScaleView.doInstantiateVar(int value) |
protected boolean |
OffsetView.doInstantiateVar(int value) |
protected boolean |
MinusView.doInstantiateVar(int value) |
protected boolean |
IntView.doInstantiateVar(int value)
Action to execute on
IntView.var when this view requires to instantiate it |
protected boolean |
ScaleView.doRemoveIntervalFromVar(int from,
int to) |
protected boolean |
OffsetView.doRemoveIntervalFromVar(int from,
int to) |
protected boolean |
MinusView.doRemoveIntervalFromVar(int from,
int to) |
protected boolean |
IntView.doRemoveIntervalFromVar(int from,
int to)
Action to execute on
IntView.var when this view requires to remove an interval from it |
protected boolean |
ScaleView.doRemoveValueFromVar(int value) |
protected boolean |
OffsetView.doRemoveValueFromVar(int value) |
protected boolean |
MinusView.doRemoveValueFromVar(int value) |
protected boolean |
IntView.doRemoveValueFromVar(int value)
Action to execute on
IntView.var when this view requires to remove a value from it |
protected boolean |
ScaleView.doUpdateLowerBoundOfVar(int value) |
protected boolean |
OffsetView.doUpdateLowerBoundOfVar(int value) |
protected boolean |
MinusView.doUpdateLowerBoundOfVar(int value) |
protected boolean |
IntView.doUpdateLowerBoundOfVar(int value)
Action to execute on
IntView.var when this view requires to update its lower bound |
protected boolean |
ScaleView.doUpdateUpperBoundOfVar(int value) |
protected boolean |
OffsetView.doUpdateUpperBoundOfVar(int value) |
protected boolean |
MinusView.doUpdateUpperBoundOfVar(int value) |
protected boolean |
IntView.doUpdateUpperBoundOfVar(int value)
Action to execute on
IntView.var when this view requires to update its upper bound |
void |
ViewDeltaMonitor.forEachRemVal(IntProcedure proc) |
boolean |
LeqView.instantiateTo(int value,
ICause cause) |
boolean |
BoolNotView.instantiateTo(int value,
ICause cause) |
boolean |
EqView.instantiateTo(int value,
ICause cause) |
boolean |
IntView.instantiateTo(int value,
ICause cause) |
void |
IView.notify(IEventType event)
To notify a view that the variable is observed has been modified.
|
void |
RealView.notify(IEventType event) |
void |
IntView.notify(IEventType event) |
boolean |
BoolNotView.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
IntView.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
IntBoolView.removeAllValuesBut(IntIterableSet values,
ICause cause) |
boolean |
BoolNotView.removeInterval(int from,
int to,
ICause cause) |
boolean |
IntView.removeInterval(int from,
int to,
ICause cause) |
boolean |
IntBoolView.removeInterval(int from,
int to,
ICause cause) |
boolean |
BoolNotView.removeValue(int value,
ICause cause) |
boolean |
IntView.removeValue(int value,
ICause cause) |
boolean |
IntBoolView.removeValue(int value,
ICause cause) |
boolean |
BoolNotView.removeValues(IntIterableSet values,
ICause cause) |
boolean |
IntView.removeValues(IntIterableSet values,
ICause cause) |
boolean |
IntBoolView.removeValues(IntIterableSet values,
ICause cause) |
boolean |
BoolNotView.setToFalse(ICause cause) |
boolean |
IntBoolView.setToFalse(ICause cause) |
boolean |
BoolNotView.setToTrue(ICause cause) |
boolean |
IntBoolView.setToTrue(ICause cause) |
boolean |
RealView.updateBounds(double lowerbound,
double upperbound,
ICause cause) |
boolean |
BoolNotView.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
MinusView.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
IntView.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
IntBoolView.updateBounds(int lb,
int ub,
ICause cause) |
boolean |
RealView.updateLowerBound(double value,
ICause cause) |
boolean |
BoolNotView.updateLowerBound(int value,
ICause cause) |
boolean |
IntView.updateLowerBound(int value,
ICause cause) |
boolean |
IntBoolView.updateLowerBound(int value,
ICause cause) |
boolean |
RealView.updateUpperBound(double value,
ICause cause) |
boolean |
BoolNotView.updateUpperBound(int value,
ICause cause) |
boolean |
IntView.updateUpperBound(int value,
ICause cause) |
boolean |
IntBoolView.updateUpperBound(int value,
ICause cause) |
Modifier and Type | Method and Description |
---|---|
void |
Procedure.execute(E e)
Action to execute in a
Delta object, within the forEachRemVal method. |
void |
IntProcedure.execute(int i)
Action to execute in a
Delta object, within the forEachRemVal method. |
void |
PairProcedure.execute(int i,
int j)
Action to execute in a
GraphDelta object, within the forEachRemVal method. |
Copyright © 2018. All rights reserved.