choco.cp.solver.constraints.global.scheduling.disjunctive
Class Disjunctive

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.kernel.solver.constraints.global.scheduling.AbstractTaskSConstraint
                      extended by choco.cp.solver.constraints.global.scheduling.AbstractResourceSConstraint
                          extended by choco.cp.solver.constraints.global.scheduling.disjunctive.Disjunctive
All Implemented Interfaces:
IExtensionnable, IPretty, IResource<TaskVar>, IResourceParameters, SConstraint<IntDomainVar>, IntPropagator, TaskPropagator, Serializable, Cloneable, EventListener
Direct Known Subclasses:
AltDisjunctive

public class Disjunctive
extends AbstractResourceSConstraint

Since:
version 2.0.0
Version:
2.0.3
Author:
Arnaud Malapert
See Also:
Serialized Form

Nested Class Summary
static class Disjunctive.Policy
           
 
Field Summary
static StringMask DETECTABLE_PRECEDENCE
           
static StringMask EDGE_FINDING_D
           
static StringMask NF_NL
           
static StringMask OVERLOAD_CHECKING
           
protected  Disjunctive.Policy policy
           
protected  IDisjRules rules
           
 
Fields inherited from class choco.cp.solver.constraints.global.scheduling.AbstractResourceSConstraint
flags, indexUB, makespan, name, rtasks, TASK_MASK
 
Fields inherited from class choco.kernel.solver.constraints.global.scheduling.AbstractTaskSConstraint
endOffset, startOffset, taskIntVarOffset, taskvars
 
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
protected Disjunctive(Solver solver, String name, TaskVar[] taskvars, int nbOptionalTasks, boolean enableHypotheticalDomain, IntDomainVar[] intvars)
           
  Disjunctive(String name, TaskVar[] taskvars, IntDomainVar makespan, Solver solver)
           
 
Method Summary
protected  boolean applySingleRule()
           
protected  void defaultFiltering()
           
 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 !
 boolean isTaskConsistencyEnforced()
           
 void noSingleRule()
           
 void propagate()
          Propagate.
 void readOptions(List<String> options)
           
 void setFilteringPolicy(Disjunctive.Policy rule)
           
protected  void singleRuleFiltering()
           
protected  void vilimFiltering()
           
 
Methods inherited from class choco.cp.solver.constraints.global.scheduling.AbstractResourceSConstraint
asRTaskList, asTaskList, awake, awakeOnBounds, awakeOnInf, awakeOnInst, awakeOnSup, checkTask, enforceTaskConsistency, fireTaskRemoval, getFilteredEventMask, getFlags, getHeight, getHeightIndex, getNbOptionalTasks, getNbRegularTasks, getRscName, getRTask, getRTaskIterator, getTaskIterator, getUsageIndex, indexOf, isCumulativeSatisfied, isRegular, isTaskSatisfied, pretty
 
Methods inherited from class choco.kernel.solver.constraints.global.scheduling.AbstractTaskSConstraint
addListener, awakeOnHypDomMod, awakeOnRem, awakeOnRemovals, createTaskVarArray, getDurationIndex, getEndIndex, getNbTasks, getStartIndex, getTask, getTaskIntVarOffset, makeIntVarArray, pretty
 
Methods inherited from class choco.kernel.solver.constraints.integer.AbstractIntSConstraint
getConstraintType, isConsistent, isSatisfied
 
Methods inherited from class choco.kernel.solver.constraints.AbstractSConstraint
addExtension, clone, getAbstractSConstraintExtensionNumber, getConstraintIdx, getExtension, getFineDegree, getNbVarNotInst, getNbVars, getVar, getVarQuick, isCompletelyInstantiated, isEntailed, opposite, setConstraintIndex, setExtension, setVar, toString
 
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
 
Methods inherited from interface choco.kernel.solver.constraints.global.scheduling.IResource
getNbTasks, getTask
 

Field Detail

OVERLOAD_CHECKING

public static final StringMask OVERLOAD_CHECKING

NF_NL

public static final StringMask NF_NL

DETECTABLE_PRECEDENCE

public static final StringMask DETECTABLE_PRECEDENCE

EDGE_FINDING_D

public static final StringMask EDGE_FINDING_D

policy

protected Disjunctive.Policy policy

rules

protected IDisjRules rules
Constructor Detail

Disjunctive

protected Disjunctive(Solver solver,
                      String name,
                      TaskVar[] taskvars,
                      int nbOptionalTasks,
                      boolean enableHypotheticalDomain,
                      IntDomainVar[] intvars)

Disjunctive

public Disjunctive(String name,
                   TaskVar[] taskvars,
                   IntDomainVar makespan,
                   Solver solver)
Method Detail

readOptions

public void readOptions(List<String> options)
Specified by:
readOptions in class AbstractResourceSConstraint

isTaskConsistencyEnforced

public boolean isTaskConsistencyEnforced()
Overrides:
isTaskConsistencyEnforced in class AbstractTaskSConstraint

setFilteringPolicy

public final void setFilteringPolicy(Disjunctive.Policy rule)

noSingleRule

public final void noSingleRule()

applySingleRule

protected final boolean applySingleRule()
                                 throws ContradictionException
Throws:
ContradictionException

singleRuleFiltering

protected final void singleRuleFiltering()
                                  throws ContradictionException
Throws:
ContradictionException

defaultFiltering

protected final void defaultFiltering()
                               throws ContradictionException
Throws:
ContradictionException

vilimFiltering

protected final void vilimFiltering()
                             throws ContradictionException
Throws:
ContradictionException

propagate

public void propagate()
               throws ContradictionException
Propagate. called for any bound events.

Specified by:
propagate in class Propagator
Throws:
ContradictionException - the contradiction exception
See Also:
Propagator.propagate()

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.