choco.cp.solver.constraints.global.scheduling.cumulative
Interface ICumulRules

All Known Implementing Classes:
CumulRules

public interface ICumulRules


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.
 void initializeEdgeFindingData()
          Initialize some data structure for the edge finding.
 void initializeEdgeFindingEnd()
           
 void initializeEdgeFindingStart()
           
 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.
 

Method Detail

taskIntervals

void taskIntervals()
                   throws ContradictionException
fast task intervals in n*log(n)

Throws:
ContradictionException

slowTaskIntervals

void slowTaskIntervals()
                       throws ContradictionException
a basic n^2 tasks interval

Throws:
ContradictionException

reinitConsumption

void reinitConsumption()
reset all the flags for dynamic computation of R


initializeEdgeFindingData

void initializeEdgeFindingData()
Initialize some data structure for the edge finding. If the height are constant, this is done only once at the beginning, otherwise it has to be recomputed at each call. Shall we maintain it incrementally ?


initializeEdgeFindingStart

void initializeEdgeFindingStart()

initializeEdgeFindingEnd

void initializeEdgeFindingEnd()

calcEF_start

boolean calcEF_start()
                     throws ContradictionException
Edge finding algorithm for starting dates in O(n^2 \times k) where k is the number of distinct heights.

Throws:
ContradictionException

vilimStartEF

boolean vilimStartEF()
                     throws ContradictionException
Edge finding algorithm for starting dates in O(n^2 \times k) where k is the number of distinct heights. Vilim version based on the theta- lambda tree.

Throws:
ContradictionException

calcEF_end

boolean calcEF_end()
                   throws ContradictionException
Edge finding algorithm for ending dates in O(n^2 \times k) where k is the number of distinct heights.

Throws:
ContradictionException

vilimEndEF

boolean vilimEndEF()
                   throws ContradictionException
Edge finding algorithm for ending dates in O(n^2 \times k) where k is the number of distinct heights. Vilim version based on the theta- lambda tree.

Throws:
ContradictionException


Copyright © 2012. All Rights Reserved.