Class 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
    • 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 the Domain of the Variable 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 class PropAllDiffAC
        Parameters:
        evtmask - type of propagation event this must consider.
        Throws:
        ContradictionException - when a contradiction occurs, like domain wipe out or other incoherencies.