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

java.lang.Object
  extended by choco.cp.solver.constraints.global.scheduling.disjunctive.AbstractDisjRules
      extended by choco.cp.solver.constraints.global.scheduling.disjunctive.AltDisjRules
All Implemented Interfaces:
IDisjRules, IStateIntProcedure, Iterable<IRTask>

public final class AltDisjRules
extends AbstractDisjRules
implements Iterable<IRTask>, IStateIntProcedure

Since:
2 mars 2009 version 2.0.3
Version:
2.0.3
Author:
Arnaud Malapert

Field Summary
protected  AltDisjTreeTL altDisjTreeTL
           
protected  AltDisjTreeTLTO altDisjTreeTLTO
           
 
Fields inherited from class choco.cp.solver.constraints.global.scheduling.disjunctive.AbstractDisjRules
makespan, rtasks, updateManager
 
Constructor Summary
AltDisjRules(IRTask[] rtasks, IRMakespan makespan, IEnvironment environment)
           
 
Method Summary
 void apply(int oldVal, int newVal)
          call during backtrack if necessary
 boolean detectablePrecedenceEST()
           
 boolean detectablePrecedenceLCT()
           
 boolean edgeFindingEST()
          Edge Finding supporting optional activities reasoning by Sebastian Kuhnert
 boolean edgeFindingLCT()
           
 boolean isActive()
           
 Iterator<IRTask> iterator()
           
 boolean notFirst()
           
 boolean notLast()
           
 void overloadChecking()
           
 void remove(IRTask rtask)
          optional operation
protected  void sortRTasks(Comparator<IRTask> cmp)
           
 
Methods inherited from class choco.cp.solver.constraints.global.scheduling.disjunctive.AbstractDisjRules
detectablePrecedence, edgeFinding, fireDomainChanged, getTaskArray, initialize, notFirstNotLast, setMakespanLB, setupMasterTree, sortQueue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

altDisjTreeTL

protected AltDisjTreeTL altDisjTreeTL

altDisjTreeTLTO

protected AltDisjTreeTLTO altDisjTreeTLTO
Constructor Detail

AltDisjRules

public AltDisjRules(IRTask[] rtasks,
                    IRMakespan makespan,
                    IEnvironment environment)
Method Detail

sortRTasks

protected void sortRTasks(Comparator<IRTask> cmp)
Overrides:
sortRTasks in class AbstractDisjRules

apply

public void apply(int oldVal,
                  int newVal)
call during backtrack if necessary

Specified by:
apply in interface IStateIntProcedure
Parameters:
oldVal - the value before backtracking
newVal - the value after backtracking

isActive

public boolean isActive()
Specified by:
isActive in interface IDisjRules

remove

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

Specified by:
remove in interface IDisjRules

detectablePrecedenceEST

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

detectablePrecedenceLCT

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

notFirst

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

notLast

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

overloadChecking

public void overloadChecking()
                      throws ContradictionException
Specified by:
overloadChecking in interface IDisjRules
Throws:
ContradictionException

edgeFindingEST

public boolean edgeFindingEST()
                       throws ContradictionException
Edge Finding supporting optional activities reasoning by Sebastian Kuhnert

Specified by:
edgeFindingEST in interface IDisjRules
Returns:
true if filtering takes place
Throws:
ContradictionException

edgeFindingLCT

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

iterator

public Iterator<IRTask> iterator()
Specified by:
iterator in interface Iterable<IRTask>


Copyright © 2012. All Rights Reserved.