Omega-lambda trees for computing ect of task sets. More...
#include <unary.hh>
Public Member Functions | |
OmegaLambdaTree (Region &r, const TaskViewArray< TaskView > &t, bool inc=true) | |
Initialize tree for tasks t with all tasks included, if inc is true. More... | |
void | shift (int i) |
Shift task with index i from omega to lambda. More... | |
void | oinsert (int i) |
Insert task with index i to omega. More... | |
void | linsert (int i) |
Insert task with index i to lambda. More... | |
void | lremove (int i) |
Remove task with index i from lambda. More... | |
bool | lempty (void) const |
Whether has responsible task. More... | |
int | responsible (void) const |
Return responsible task. More... | |
int | ect (void) const |
Return earliest completion time of all tasks. More... | |
int | lect (void) const |
Return earliest completion time of all tasks excluding lambda tasks. More... | |
Additional Inherited Members | |
![]() | |
int | n_inner (void) const |
Return number of inner nodes. More... | |
int | n_nodes (void) const |
Return number of nodes for balanced binary tree. More... | |
bool | n_leaf (int i) const |
Whether node i is leaf. More... | |
OmegaLambdaNode & | leaf (int i) |
Return leaf for task i. More... | |
const OmegaLambdaNode & | root (void) const |
Return root node. More... | |
void | update (int i, bool l=true) |
Update tree after leaf for task i has changed (l whether i refers to a leaf) More... | |
void | update (void) |
Update all inner nodes of tree after leaves have been initialized. More... | |
void | init (void) |
Initialize tree after leaves have been initialized. More... | |
TaskTree (Region &r, const TaskViewArray< TaskView > &t) | |
Initialize tree for tasks t. More... | |
TaskTree (Region &r, const TaskTree< TaskView, Node2 > &t) | |
Initialize tree using tree t. More... | |
![]() | |
static bool | n_root (int i) |
Whether node i is index of root. More... | |
static int | n_left (int i) |
Return index of left child of node i. More... | |
static bool | left (int i) |
Test whether node i is a left child. More... | |
static int | n_right (int i) |
Return index of right child of node i. More... | |
static bool | right (int i) |
Test whether node i is a right child. More... | |
static int | n_parent (int i) |
Return index of parent of node i. More... | |
![]() | |
const TaskViewArray< TaskView > & | tasks |
The tasks from which the tree is computed. More... | |
OmegaLambdaNode * | node |
Task nodes. More... | |
int * | _leaf |
Map task number to leaf node number in right order. More... | |
Omega-lambda trees for computing ect of task sets.
Gecode::Int::Unary::OmegaLambdaTree< TaskView >::OmegaLambdaTree | ( | Region & | r, |
const TaskViewArray< TaskView > & | t, | ||
bool | inc = true |
||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |