|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectchoco.cp.solver.constraints.global.scheduling.cumulative.CumulRules
public class CumulRules
Field Summary | |
---|---|
protected long[][] |
R
temporary data for edge finding (initialized by dynprog) to store the inner maximization of the edge finding bound on the start/end variables of each task. |
AbstractCumulativeSConstraint |
rsc
|
protected choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption[] |
Sc
The different ressource consumptions of all tasks. |
protected choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption[] |
taskheights
Reference to the consumption object related to each task |
protected LinkedList<IRTask> |
tasksLX
|
protected List<IRTask> |
tasksLY
|
protected CumTreeT<TaskVar> |
thetatree
|
Constructor Summary | |
---|---|
CumulRules(AbstractCumulativeSConstraint rsc)
|
Method Summary | |
---|---|
boolean |
calcEF_end()
Edge finding algorithm for ending dates in O(n^2 \times k) where k is the number of distinct heights. |
boolean |
calcEF_start()
Edge finding algorithm for starting dates in O(n^2 \times k) where k is the number of distinct heights. |
protected void |
calcR_end(choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption cons)
precomputation for the edge finding using dynamic programming this method assumes that the task intervals have not failed ! |
protected void |
calcR_start(choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption cons)
Lazy computation of the inner maximization of the edge finding. |
void |
initializeEdgeFindingData()
Initialize some data structure for the edge finding. |
void |
initializeEdgeFindingEnd()
|
void |
initializeEdgeFindingStart()
|
void |
oldSlowTaskIntervals()
|
void |
reinitConsumption()
reset all the flags for dynamic computation of R |
void |
slowTaskIntervals()
a basic n^2 tasks interval |
void |
taskIntervals()
fast task intervals in n*log(n) |
boolean |
vilimEndEF()
Edge finding algorithm for ending dates in O(n^2 \times k) where k is the number of distinct heights. |
boolean |
vilimStartEF()
Edge finding algorithm for starting dates in O(n^2 \times k) where k is the number of distinct heights. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final AbstractCumulativeSConstraint rsc
protected final LinkedList<IRTask> tasksLX
protected final List<IRTask> tasksLY
protected CumTreeT<TaskVar> thetatree
protected choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption[] Sc
protected choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption[] taskheights
protected long[][] R
Constructor Detail |
---|
public CumulRules(AbstractCumulativeSConstraint rsc)
Method Detail |
---|
public void initializeEdgeFindingData()
ICumulRules
initializeEdgeFindingData
in interface ICumulRules
public void initializeEdgeFindingEnd()
initializeEdgeFindingEnd
in interface ICumulRules
public void initializeEdgeFindingStart()
initializeEdgeFindingStart
in interface ICumulRules
public void reinitConsumption()
ICumulRules
reinitConsumption
in interface ICumulRules
public void oldSlowTaskIntervals() throws ContradictionException
ContradictionException
public void slowTaskIntervals() throws ContradictionException
ICumulRules
slowTaskIntervals
in interface ICumulRules
ContradictionException
public void taskIntervals() throws ContradictionException
ICumulRules
taskIntervals
in interface ICumulRules
ContradictionException
protected void calcR_start(choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption cons)
public boolean calcEF_start() throws ContradictionException
ICumulRules
calcEF_start
in interface ICumulRules
ContradictionException
public boolean vilimStartEF() throws ContradictionException
ICumulRules
vilimStartEF
in interface ICumulRules
ContradictionException
protected void calcR_end(choco.cp.solver.constraints.global.scheduling.cumulative.CumulRules.Consumption cons)
public boolean calcEF_end() throws ContradictionException
ICumulRules
calcEF_end
in interface ICumulRules
ContradictionException
public boolean vilimEndEF() throws ContradictionException
ICumulRules
vilimEndEF
in interface ICumulRules
ContradictionException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |