Module org.chocosolver
Class PropAllDiffAdaptative
- java.lang.Object
-
- org.chocosolver.solver.constraints.Propagator<IntVar>
-
- org.chocosolver.solver.constraints.nary.alldifferent.PropAllDiffAC
-
- org.chocosolver.solver.constraints.nary.alldifferent.PropAllDiffAdaptative
-
- All Implemented Interfaces:
Comparable<Propagator>
,ICause
,Identity
public class PropAllDiffAdaptative extends PropAllDiffAC
Probabilistic Propagator for AllDifferent AC constraint for integer variables introduced to avoid loosing too much time in AC propagation when BC is sufficientss The more this propagator triggers filtering and failure, the more likely it will be called If it does not bring improvement, this propagator will be called less during search- Author:
- Jean-Guillaume Fages
-
-
Field Summary
-
Fields inherited from class org.chocosolver.solver.constraints.nary.alldifferent.PropAllDiffAC
filter
-
Fields inherited from class org.chocosolver.solver.constraints.Propagator
ACTIVE, constraint, DEFAULT_EXPL, model, operations, OUTPUT_DEFAULT_EXPL, priority, reactToFineEvt, state, vars
-
-
Constructor Summary
Constructors Constructor Description PropAllDiffAdaptative(IntVar[] variables)
AllDifferent constraint for integer variables enables to control the cardinality of the matching
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
propagate(int evtmask)
Call the main filtering algorithm to apply to theDomain
of theVariable
objects.-
Methods inherited from class org.chocosolver.solver.constraints.nary.alldifferent.PropAllDiffAC
isEntailed
-
Methods inherited from class org.chocosolver.solver.constraints.Propagator
addVariable, arity, compareTo, defaultExplain, doFinePropagation, doFlush, doSchedule, doScheduleEvent, dynPriority, equals, explain, fails, forcePropagate, forcePropagationOnBacktrack, forEachIntVar, getConstraint, getId, getModel, getNbVars, getPosition, getPriority, getPropagationConditions, getVar, getVars, getVIndice, getVIndices, hashCode, isActive, isCompletelyInstantiated, isPassive, isReified, isReifiedAndSilent, isScheduled, isStateLess, linkVariables, propagate, reactToFineEvent, reifiedWith, setActive, setActive0, setPassive, setPosition, setReifiedSilent, setReifiedTrue, setVIndices, toString, unlinkVariables, unschedule
-
-
-
-
Constructor Detail
-
PropAllDiffAdaptative
public PropAllDiffAdaptative(IntVar[] variables)
AllDifferent constraint for integer variables enables to control the cardinality of the matching- Parameters:
variables
- array of integer variables
-
-
Method Detail
-
propagate
public void propagate(int evtmask) throws ContradictionException
Description copied from class:Propagator
Call the main filtering algorithm to apply to theDomain
of theVariable
objects. It considers the current state of this objects to remove some values from domains and/or instantiate some variables. Calling this method is done from 2 (and only 2) steps:
- at the initial propagation step,
- when involved in a reified constraint.
It should initialized the internal data structure and apply filtering algorithm from scratch.- Overrides:
propagate
in classPropAllDiffAC
- Parameters:
evtmask
- type of propagation eventthis
must consider.- Throws:
ContradictionException
- when a contradiction occurs, like domain wipe out or other incoherencies.
-
-