choco.cp.solver.constraints.integer
Class DistanceXYC

java.lang.Object
  extended by choco.kernel.solver.propagation.Propagator
      extended by choco.kernel.solver.constraints.AbstractSConstraint<IntDomainVar>
          extended by choco.kernel.solver.constraints.integer.AbstractIntSConstraint
              extended by choco.kernel.solver.constraints.integer.AbstractBinIntSConstraint
                  extended by choco.cp.solver.constraints.integer.DistanceXYC
All Implemented Interfaces:
IExtensionnable, IPretty, SConstraint<IntDomainVar>, IntPropagator, Cloneable, EventListener

public final class DistanceXYC
extends AbstractBinIntSConstraint


Field Summary
protected  int cste
           
static int EQ
           
static int GT
           
static int LT
           
static int NEQ
           
protected  int operator
           
 
Fields inherited from class choco.kernel.solver.constraints.integer.AbstractBinIntSConstraint
v0, v1
 
Fields inherited from class choco.kernel.solver.constraints.AbstractSConstraint
cIndices, constraintType, extensions, vars
 
Fields inherited from class choco.kernel.solver.propagation.Propagator
active, constAwakeEvent, priority, propagationEngine
 
Fields inherited from interface choco.kernel.solver.constraints.SConstraint
LOGGER
 
Constructor Summary
DistanceXYC(IntDomainVar v1, IntDomainVar v2, int c, int oper)
           
 
Method Summary
 void awake()
          Default initial propagation: full constraint re-propagation.
 void awakeOnInf(int idx)
          Default propagation on improved lower bound: propagation on domain revision.
 void awakeOnInst(int idx)
          Default propagation on instantiation: full constraint re-propagation.
 void awakeOnRem(int idx, int x)
          Default propagation on one value removal: propagation on domain revision.
 void awakeOnSup(int idx)
          Default propagation on improved upper bound: propagation on domain revision.
 void filterFromVarToVar(IntDomainVar var1, IntDomainVar var2)
          Initial propagation in case of EQ and enumerated domains
 void filterGT()
          In case of a GT
 void filterGTonVar(IntDomainVar vv0, IntDomainVar vv1)
          In case of a GT, due to a modification on vv0 domain
 void filterLT()
          In case of a LT
 void filterLTonVar(IntDomainVar vv0, IntDomainVar vv1)
          In case of a LT, due to a modification on vv0 domain
 void filterNeq()
           
 void filterOnInf(IntDomainVar vv0, IntDomainVar vv1)
          In case of a EQ, due to a modification of the lower bound of vv0
 void filterOnInst(IntDomainVar v, int val)
          In case of a EQ, due to the instantion to one variable to val
 void filterOnSup(IntDomainVar vv0, IntDomainVar vv1)
          In case of a EQ, due to a modification of the upper bound of vv0
 int getFilteredEventMask(int idx)
           
 Boolean isEntailed()
          Indicates if the constraint is entailed, from now on will be always satisfied
 boolean isSatisfied(int[] tuple)
          TEMPORARY: if not overriden by the constraint, throws an error to avoid bug using reified constraints in constraints that have not been changed to fulfill this api yet !
 String pretty()
          pretty printing of the object.
 void propagate()
          Propagation: Propagating the constraint until local consistency is reached.
 String toString()
           
 
Methods inherited from class choco.kernel.solver.constraints.integer.AbstractIntSConstraint
awakeOnBounds, awakeOnRemovals, getConstraintType, isConsistent, isSatisfied
 
Methods inherited from class choco.kernel.solver.constraints.AbstractSConstraint
addExtension, addListener, clone, getAbstractSConstraintExtensionNumber, getConstraintIdx, getExtension, getFineDegree, getNbVarNotInst, getNbVars, getVar, getVarQuick, isCompletelyInstantiated, opposite, setConstraintIndex, setExtension, setVar
 
Methods inherited from class choco.kernel.solver.propagation.Propagator
activate, constAwake, fail, getEvent, getPriority, isActive, setActive, setActiveSilently, setEntailed, setPassive, setPropagationEngine
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

operator

protected int operator

cste

protected final int cste

EQ

public static final int EQ
See Also:
Constant Field Values

LT

public static final int LT
See Also:
Constant Field Values

GT

public static final int GT
See Also:
Constant Field Values

NEQ

public static final int NEQ
See Also:
Constant Field Values
Constructor Detail

DistanceXYC

public DistanceXYC(IntDomainVar v1,
                   IntDomainVar v2,
                   int c,
                   int oper)
Method Detail

getFilteredEventMask

public int getFilteredEventMask(int idx)
Overrides:
getFilteredEventMask in class Propagator

filterFromVarToVar

public void filterFromVarToVar(IntDomainVar var1,
                               IntDomainVar var2)
                        throws ContradictionException
Initial propagation in case of EQ and enumerated domains

Throws:
ContradictionException

filterGT

public void filterGT()
              throws ContradictionException
In case of a GT

Throws:
ContradictionException

filterGTonVar

public void filterGTonVar(IntDomainVar vv0,
                          IntDomainVar vv1)
                   throws ContradictionException
In case of a GT, due to a modification on vv0 domain

Throws:
ContradictionException

filterLT

public void filterLT()
              throws ContradictionException
In case of a LT

Throws:
ContradictionException

filterLTonVar

public void filterLTonVar(IntDomainVar vv0,
                          IntDomainVar vv1)
                   throws ContradictionException
In case of a LT, due to a modification on vv0 domain

Throws:
ContradictionException

filterOnInf

public void filterOnInf(IntDomainVar vv0,
                        IntDomainVar vv1)
                 throws ContradictionException
In case of a EQ, due to a modification of the lower bound of vv0

Throws:
ContradictionException

filterOnSup

public void filterOnSup(IntDomainVar vv0,
                        IntDomainVar vv1)
                 throws ContradictionException
In case of a EQ, due to a modification of the upper bound of vv0

Throws:
ContradictionException

filterOnInst

public void filterOnInst(IntDomainVar v,
                         int val)
                  throws ContradictionException
In case of a EQ, due to the instantion to one variable to val

Throws:
ContradictionException

filterNeq

public void filterNeq()
               throws ContradictionException
Throws:
ContradictionException

awake

public void awake()
           throws ContradictionException
Default initial propagation: full constraint re-propagation.

Overrides:
awake in class Propagator
Throws:
ContradictionException - contradiction exception

propagate

public void propagate()
               throws ContradictionException
Description copied from class: Propagator
Propagation: Propagating the constraint until local consistency is reached.

Specified by:
propagate in class Propagator
Throws:
ContradictionException - contradiction exception

awakeOnRem

public void awakeOnRem(int idx,
                       int x)
                throws ContradictionException
Description copied from class: AbstractIntSConstraint
Default propagation on one value removal: propagation on domain revision.

Specified by:
awakeOnRem in interface IntPropagator
Overrides:
awakeOnRem in class AbstractIntSConstraint
Throws:
ContradictionException

awakeOnSup

public void awakeOnSup(int idx)
                throws ContradictionException
Description copied from class: AbstractIntSConstraint
Default propagation on improved upper bound: propagation on domain revision.

Specified by:
awakeOnSup in interface IntPropagator
Overrides:
awakeOnSup in class AbstractIntSConstraint
Throws:
ContradictionException

awakeOnInf

public void awakeOnInf(int idx)
                throws ContradictionException
Description copied from class: AbstractIntSConstraint
Default propagation on improved lower bound: propagation on domain revision.

Specified by:
awakeOnInf in interface IntPropagator
Overrides:
awakeOnInf in class AbstractIntSConstraint
Throws:
ContradictionException

awakeOnInst

public void awakeOnInst(int idx)
                 throws ContradictionException
Description copied from class: AbstractIntSConstraint
Default propagation on instantiation: full constraint re-propagation.

Specified by:
awakeOnInst in interface IntPropagator
Overrides:
awakeOnInst in class AbstractIntSConstraint
Throws:
ContradictionException

toString

public String toString()
Overrides:
toString in class AbstractSConstraint<IntDomainVar>

pretty

public String pretty()
Description copied from interface: IPretty
pretty printing of the object. This String is not constant and may depend on the context.

Specified by:
pretty in interface IPretty
Overrides:
pretty in class AbstractSConstraint<IntDomainVar>
Returns:
a readable string representation of the object

isEntailed

public Boolean isEntailed()
Description copied from class: AbstractSConstraint
Indicates if the constraint is entailed, from now on will be always satisfied

Overrides:
isEntailed in class AbstractSConstraint<IntDomainVar>
Returns:
wether the constraint is entailed

isSatisfied

public boolean isSatisfied(int[] tuple)
Description copied from class: AbstractIntSConstraint
TEMPORARY: if not overriden by the constraint, throws an error to avoid bug using reified constraints in constraints that have not been changed to fulfill this api yet !

Specified by:
isSatisfied in interface IntPropagator
Overrides:
isSatisfied in class AbstractIntSConstraint


Copyright © 2012. All Rights Reserved.