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

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.ForbiddenIntervals
All Implemented Interfaces:
IExtensionnable, IPretty, IResource<TaskVar>, IResourceParameters, SConstraint<IntDomainVar>, IntPropagator, TaskPropagator, Serializable, Cloneable, EventListener

public class ForbiddenIntervals
extends AbstractResourceSConstraint

specialized filtering for makespan minimization on unary resource. The rules is efficient on Open-Shop problem. It is better if the ratio load/makespan is high.

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

Field Summary
 
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
ForbiddenIntervals(Solver solver, String name, TaskVar[] taskvars, IntDomainVar upperBound)
           
 
Method Summary
 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 awakeOnSup(int idx)
          Default propagation on improved upper bound: propagation on domain revision.
 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 !
 void propagate()
          Empty method.
 void readOptions(List<String> options)
           
 
Methods inherited from class choco.cp.solver.constraints.global.scheduling.AbstractResourceSConstraint
asRTaskList, asTaskList, awake, awakeOnBounds, 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, isTaskConsistencyEnforced, 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
 

Constructor Detail

ForbiddenIntervals

public ForbiddenIntervals(Solver solver,
                          String name,
                          TaskVar[] taskvars,
                          IntDomainVar upperBound)
Method Detail

readOptions

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

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 AbstractResourceSConstraint
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 AbstractResourceSConstraint
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 AbstractResourceSConstraint
Throws:
ContradictionException

propagate

public void propagate()
               throws ContradictionException
Empty method.

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

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.