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

java.lang.Object
  extended by choco.cp.solver.constraints.global.scheduling.disjunctive.AbstractDisjRules
All Implemented Interfaces:
IDisjRules
Direct Known Subclasses:
AltDisjRules, DisjRules

public abstract class AbstractDisjRules
extends Object
implements IDisjRules

Since:
version 2.0.3
Version:
2.0.3
Author:
Arnaud Malapert

Field Summary
protected  IRMakespan makespan
           
protected  IRTask[] rtasks
           
protected  choco.cp.solver.constraints.global.scheduling.disjunctive.UpdateManager updateManager
           
 
Constructor Summary
AbstractDisjRules(IRTask[] rtasks, IRMakespan makespan, boolean enableRemove)
           
 
Method Summary
 boolean detectablePrecedence()
           
 boolean edgeFinding()
           
 void fireDomainChanged()
           
protected  ITask[] getTaskArray()
           
 void initialize()
           
 boolean notFirstNotLast()
           
protected  void setMakespanLB(IThetaTree tree)
           
protected  void setupMasterTree(IVilimTree tree, IVilimTree.TreeMode mode)
           
protected static
<E> void
sortQueue(choco.cp.solver.constraints.global.scheduling.disjunctive.IBipartiteQueue<E> queue, Comparator<E> cmp)
           
protected  void sortRTasks(Comparator<IRTask> cmp)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface choco.cp.solver.constraints.global.scheduling.disjunctive.IDisjRules
detectablePrecedenceEST, detectablePrecedenceLCT, edgeFindingEST, edgeFindingLCT, isActive, notFirst, notLast, overloadChecking, remove
 

Field Detail

rtasks

protected final IRTask[] rtasks

updateManager

protected final choco.cp.solver.constraints.global.scheduling.disjunctive.UpdateManager updateManager

makespan

protected final IRMakespan makespan
Constructor Detail

AbstractDisjRules

public AbstractDisjRules(IRTask[] rtasks,
                         IRMakespan makespan,
                         boolean enableRemove)
Method Detail

getTaskArray

protected final ITask[] getTaskArray()

initialize

public void initialize()
Specified by:
initialize in interface IDisjRules

fireDomainChanged

public void fireDomainChanged()
Specified by:
fireDomainChanged in interface IDisjRules

sortRTasks

protected void sortRTasks(Comparator<IRTask> cmp)

sortQueue

protected static final <E> void sortQueue(choco.cp.solver.constraints.global.scheduling.disjunctive.IBipartiteQueue<E> queue,
                                          Comparator<E> cmp)

setupMasterTree

protected final void setupMasterTree(IVilimTree tree,
                                     IVilimTree.TreeMode mode)

setMakespanLB

protected final void setMakespanLB(IThetaTree tree)
                            throws ContradictionException
Throws:
ContradictionException

detectablePrecedence

public final boolean detectablePrecedence()
                                   throws ContradictionException
Specified by:
detectablePrecedence in interface IDisjRules
Throws:
ContradictionException

edgeFinding

public final boolean edgeFinding()
                          throws ContradictionException
Specified by:
edgeFinding in interface IDisjRules
Throws:
ContradictionException

notFirstNotLast

public final boolean notFirstNotLast()
                              throws ContradictionException
Specified by:
notFirstNotLast in interface IDisjRules
Throws:
ContradictionException


Copyright © 2012. All Rights Reserved.