choco.cp.solver.constraints.global.scheduling.precedence
Class VariablePrecedenceDisjoint

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.AbstractLargeIntSConstraint
                  extended by choco.cp.solver.constraints.global.scheduling.precedence.AbstractPrecedenceSConstraint
                      extended by choco.cp.solver.constraints.global.scheduling.precedence.VariablePrecedenceDisjoint
All Implemented Interfaces:
ITemporalSRelation, IExtensionnable, IPretty, ITemporalRelation<TaskVar<?>,IntDomainVar>, SConstraint<IntDomainVar>, IntPropagator, Cloneable, EventListener

public class VariablePrecedenceDisjoint
extends AbstractPrecedenceSConstraint

Let b be a boolean variables; x0, x1 be two integer variables and k1, k2 two integers. This constraint enforce x0 before x1 if b is true or x1 before x0 if b is false. b0 = 1 <=> x0 + d0 <= x1 b0 = 0 <=> x1 + d1 <= x0


Field Summary
 
Fields inherited from class choco.cp.solver.constraints.global.scheduling.precedence.AbstractPrecedenceSConstraint
BIDX, k1, k2, reuseBool, task1, task2
 
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.cp.solver.constraints.global.scheduling.precedence.ITemporalSRelation
PRESERVED_PRECISION
 
Fields inherited from interface choco.kernel.model.constraints.ITemporalRelation
BWD, FWD
 
Fields inherited from interface choco.kernel.solver.constraints.SConstraint
LOGGER
 
Constructor Summary
VariablePrecedenceDisjoint(IntDomainVar b, IntDomainVar s0, IntDomainVar d0, IntDomainVar s1, IntDomainVar d1)
           
 
Method Summary
 Boolean isP1Entailed()
           
 Boolean isP2Entailed()
           
 boolean isSatisfied()
          Default implementation of the isSatisfied by delegating to the isSatisfied(int[] tuple)
 String pretty()
          pretty printing of the object.
 void propagateP1()
           
 void propagateP2()
           
 
Methods inherited from class choco.cp.solver.constraints.global.scheduling.precedence.AbstractPrecedenceSConstraint
awakeOnBounds, awakeOnInf, awakeOnInst, awakeOnRemovals, awakeOnSup, backwardSetup, filterOnP1P2TowardsB, forwardSetup, getBackwardPreserved, getDestination, getDirection, getDirVal, getFilteredEventMask, getForwardPreserved, getOrigin, getTotalSlack, isEntailed, isEntailed, isFixed, isSatisfied, isSatisfied, pretty, pretty, pretty, propagate, propagate, propagate, setTasks, toString
 
Methods inherited from class choco.kernel.solver.constraints.integer.AbstractIntSConstraint
awakeOnRem, getConstraintType, isConsistent, isSatisfied
 
Methods inherited from class choco.kernel.solver.constraints.AbstractSConstraint
addExtension, addListener, clone, getAbstractSConstraintExtensionNumber, getConstraintIdx, getExtension, getFineDegree, getNbVarNotInst, getNbVars, getVar, getVarQuick, isCompletelyInstantiated, isEntailed, opposite, setConstraintIndex, setExtension, setVar
 
Methods inherited from class choco.kernel.solver.propagation.Propagator
activate, awake, 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
 

Constructor Detail

VariablePrecedenceDisjoint

public VariablePrecedenceDisjoint(IntDomainVar b,
                                  IntDomainVar s0,
                                  IntDomainVar d0,
                                  IntDomainVar s1,
                                  IntDomainVar d1)
Method Detail

propagateP1

public void propagateP1()
                 throws ContradictionException
Specified by:
propagateP1 in class AbstractPrecedenceSConstraint
Throws:
ContradictionException

propagateP2

public void propagateP2()
                 throws ContradictionException
Specified by:
propagateP2 in class AbstractPrecedenceSConstraint
Throws:
ContradictionException

isP1Entailed

public Boolean isP1Entailed()
Specified by:
isP1Entailed in class AbstractPrecedenceSConstraint

isP2Entailed

public Boolean isP2Entailed()
Specified by:
isP2Entailed in class AbstractPrecedenceSConstraint

isSatisfied

public boolean isSatisfied()
Description copied from class: AbstractIntSConstraint
Default implementation of the isSatisfied by delegating to the isSatisfied(int[] tuple)

Specified by:
isSatisfied in interface SConstraint<IntDomainVar>
Overrides:
isSatisfied in class AbstractIntSConstraint
Returns:
true if the constraint is satisfied

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


Copyright © 2012. All Rights Reserved.