choco.cp.solver.constraints.global.scheduling.cumulative
Class AbstractCumulativeSConstraint

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.cumulative.AbstractCumulativeSConstraint
All Implemented Interfaces:
IExtensionnable, IPretty, ICapacitedResource<TaskVar>, ICumulativeResource<TaskVar>, IResource<TaskVar>, IResourceParameters, SConstraint<IntDomainVar>, IntPropagator, TaskPropagator, Serializable, Cloneable, EventListener
Direct Known Subclasses:
Cumulative

public abstract class AbstractCumulativeSConstraint
extends AbstractResourceSConstraint
implements ICumulativeResource<TaskVar>

Since:
23 janv. 2009 version 2.0.3
Version:
2.0.3
Author:
Arnaud Malapert
See Also:
Serialized Form

Field Summary
protected  int indexCapacity
           
protected  int indexConsumption
           
static StringMask TASK_INTERVAL
           
static StringMask TASK_INTERVAL_SLOW
           
static StringMask VHM_CEF_ALGO_N2K
           
static StringMask VILIM_CEF_ALGO
           
 
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
AbstractCumulativeSConstraint(Solver solver, String name, TaskVar[] taskvars, int nbOptionalTasks, IntDomainVar consumption, IntDomainVar capacity, IntDomainVar uppBound, IntDomainVar... otherVars)
           
 
Method Summary
 IntDomainVar getCapacity()
           
 IntDomainVar getConsumption()
           
 IntDomainVar getHeight(int idx)
           
 int getMaxCapacity()
           
 int getMaxConsumption()
           
 int getMinCapacity()
           
 int getMinConsumption()
           
 boolean hasOnlyPosisiveHeights()
           
 Boolean isEntailed()
          Indicates if the constraint is entailed, from now on will be always satisfied
 boolean isInstantiatedHeights()
           
 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 readOptions(List<String> options)
           
 boolean updateMaxCapacity(int val)
           
 boolean updateMaxConsumption(int val)
           
 boolean updateMinCapacity(int val)
           
 boolean updateMinConsumption(int val)
           
 
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, opposite, setConstraintIndex, setExtension, setVar, toString
 
Methods inherited from class choco.kernel.solver.propagation.Propagator
activate, constAwake, fail, getEvent, getPriority, isActive, propagate, 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
asRTaskList, asTaskList, getNbTasks, getRTask, getRTaskIterator, getTask, getTaskIterator
 
Methods inherited from interface choco.kernel.solver.constraints.global.scheduling.IResourceParameters
getNbOptionalTasks, getNbRegularTasks, getRscName
 

Field Detail

TASK_INTERVAL

public static final StringMask TASK_INTERVAL

TASK_INTERVAL_SLOW

public static final StringMask TASK_INTERVAL_SLOW

VILIM_CEF_ALGO

public static final StringMask VILIM_CEF_ALGO

VHM_CEF_ALGO_N2K

public static final StringMask VHM_CEF_ALGO_N2K

indexConsumption

protected final int indexConsumption

indexCapacity

protected final int indexCapacity
Constructor Detail

AbstractCumulativeSConstraint

public AbstractCumulativeSConstraint(Solver solver,
                                     String name,
                                     TaskVar[] taskvars,
                                     int nbOptionalTasks,
                                     IntDomainVar consumption,
                                     IntDomainVar capacity,
                                     IntDomainVar uppBound,
                                     IntDomainVar... otherVars)
Method Detail

readOptions

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

isTaskConsistencyEnforced

public boolean isTaskConsistencyEnforced()
Overrides:
isTaskConsistencyEnforced in class AbstractTaskSConstraint

updateMinCapacity

public final boolean updateMinCapacity(int val)
                                throws ContradictionException
Throws:
ContradictionException

updateMaxCapacity

public final boolean updateMaxCapacity(int val)
                                throws ContradictionException
Throws:
ContradictionException

updateMinConsumption

public final boolean updateMinConsumption(int val)
                                   throws ContradictionException
Throws:
ContradictionException

updateMaxConsumption

public final boolean updateMaxConsumption(int val)
                                   throws ContradictionException
Throws:
ContradictionException

getCapacity

public final IntDomainVar getCapacity()
Specified by:
getCapacity in interface ICapacitedResource<TaskVar>

getMaxCapacity

public final int getMaxCapacity()
Specified by:
getMaxCapacity in interface ICapacitedResource<TaskVar>

getMinCapacity

public final int getMinCapacity()
Specified by:
getMinCapacity in interface ICapacitedResource<TaskVar>

getConsumption

public final IntDomainVar getConsumption()
Specified by:
getConsumption in interface ICapacitedResource<TaskVar>

getMaxConsumption

public final int getMaxConsumption()
Specified by:
getMaxConsumption in interface ICapacitedResource<TaskVar>

getMinConsumption

public final int getMinConsumption()
Specified by:
getMinConsumption in interface ICapacitedResource<TaskVar>

getHeight

public final IntDomainVar getHeight(int idx)
Specified by:
getHeight in interface ICumulativeResource<TaskVar>

isInstantiatedHeights

public final boolean isInstantiatedHeights()
Specified by:
isInstantiatedHeights in interface ICumulativeResource<TaskVar>

hasOnlyPosisiveHeights

public final boolean hasOnlyPosisiveHeights()
Specified by:
hasOnlyPosisiveHeights in interface ICumulativeResource<TaskVar>

isSatisfied

public final 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

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


Copyright © 2012. All Rights Reserved.