Table 2 ILP-based problem statement for peer-dependent scheduling and allocation scheme.
Component | Mathematical formulation | Description |
---|---|---|
Decision variables | \({x}_{ij}\in \left\{\text{0,1}\right\}\) \({y}_{ij}\in \left\{\text{0,1}\right\}\) \({C}_{i}\in {\mathbb{Z}}^{+}\) | \({x}_{ij}=1\) if task \({T}_{i}\) is assigned to processor \({P}_{j}\) \({y}_{ij}=1 \text{if task }{T}_{j}\) depends on task \({T}_{i}\) |
Objective function | \(min\sum_{i=1}^{n}{C}_{i}\,or\,\text{min}\,{max}_{i}{C}_{i}\) | Minimize total completion time or makespan |
Constraint 1: task assignment | \(\sum_{j=1}^{m}{x}_{ij}=1 {\forall }_{i}\epsilon \{1,\dots .,n\}\) | Each task is assigned to exactly one processor |
Constraint 2: peer dependency | \({C}_{i}\ge {C}_{i}+{t}_{i}-M\left(1-{y}_{ij}\right) \forall (i,j)\in D\) | Task \({T}_{j}\) must execute after dependent task \({T}_{i}\); M is a large constant |
Constraint 3: resource limitation | \(\sum_{i=1}^{n}{{r}_{i}x}_{ij}\le {R}_{j} {\forall }_{j}\epsilon \{1,\dots .,m\}\) | Total resource usage must not exceed capacity of each processor |
Constraint 4: execution time bounds | \({C}_{i}\ge\) \({t}_{i}\) \({\forall }_{i}\) | Each task’s completion time must be at least its execution time |
Constraint 5: binary nature | \({x}_{ij},{y}_{ij}\in\) \(\left\{\text{0,1}\right\}\) | Binary decisions for assignment and dependencies |