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

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

public final class DisjRules
extends AbstractDisjRules

Since:
version 2.0.0
Version:
2.0.3
Author:
Arnaud Malapert

Field Summary
protected  IThetaTree disjTreeT
          The data structure used for Not-First/Not Last, overload checking and detectable precedence rules.
protected  IThetaLambdaTree disjTreeTL
          The data structure used for EdgeFinding rule.
protected  choco.cp.solver.constraints.global.scheduling.disjunctive.IBipartiteQueue<ITask> queue
           
protected  choco.cp.solver.constraints.global.scheduling.disjunctive.IBipartiteQueue<IRTask> rqueue
           
 
Fields inherited from class choco.cp.solver.constraints.global.scheduling.disjunctive.AbstractDisjRules
makespan, rtasks, updateManager
 
Constructor Summary
DisjRules(IRTask[] rtasks, IRMakespan makespan)
          Instantiates a new disjunctive.
 
Method Summary
 boolean detectablePrecedenceEST()
          DetectablePrecedence rule.
 boolean detectablePrecedenceLCT()
          symmetric DetectablePrecedence rule.
 boolean edgeFindingEST()
          EdgeFinding rule.
 boolean edgeFindingLCT()
          symmetric EdgeFinding rule.
 boolean isActive()
           
 boolean notFirst()
           
 boolean notLast()
          NotLast rule.
 void overloadChecking()
          Overload checking rule.
 void remove(IRTask rtask)
          optional operation
 
Methods inherited from class choco.cp.solver.constraints.global.scheduling.disjunctive.AbstractDisjRules
detectablePrecedence, edgeFinding, fireDomainChanged, getTaskArray, initialize, notFirstNotLast, setMakespanLB, setupMasterTree, sortQueue, sortRTasks
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rqueue

protected final choco.cp.solver.constraints.global.scheduling.disjunctive.IBipartiteQueue<IRTask> rqueue

queue

protected final choco.cp.solver.constraints.global.scheduling.disjunctive.IBipartiteQueue<ITask> queue

disjTreeT

protected final IThetaTree disjTreeT
The data structure used for Not-First/Not Last, overload checking and detectable precedence rules.


disjTreeTL

protected final IThetaLambdaTree disjTreeTL
The data structure used for EdgeFinding rule.

Constructor Detail

DisjRules

public DisjRules(IRTask[] rtasks,
                 IRMakespan makespan)
Instantiates a new disjunctive.

Parameters:
tasks - the vars the tasks involved in the constraint
constraint - their processing times
Method Detail

isActive

public final boolean isActive()

remove

public void remove(IRTask rtask)
Description copied from interface: IDisjRules
optional operation


overloadChecking

public void overloadChecking()
                      throws ContradictionException
Overload checking rule.

Throws:
ContradictionException

notFirst

public boolean notFirst()
                 throws ContradictionException
Throws:
ContradictionException

notLast

public boolean notLast()
                throws ContradictionException
NotLast rule.

Throws:
ContradictionException

detectablePrecedenceEST

public boolean detectablePrecedenceEST()
                                throws ContradictionException
DetectablePrecedence rule.

Throws:
ContradictionException

detectablePrecedenceLCT

public boolean detectablePrecedenceLCT()
                                throws ContradictionException
symmetric DetectablePrecedence rule.

Throws:
ContradictionException

edgeFindingEST

public boolean edgeFindingEST()
                       throws ContradictionException
EdgeFinding rule.

Throws:
ContradictionException

edgeFindingLCT

public boolean edgeFindingLCT()
                       throws ContradictionException
symmetric EdgeFinding rule.

Throws:
ContradictionException


Copyright © 2012. All Rights Reserved.