hese elements can be summarized and visualized by a precedence graph. It contains a node for each task, node weights for the task times and arcs for the precedence constraints. Fig. 1 shows a precedence graph with n = 10 tasks having task times between 1 and 10 (time units). The precedence constraints for, e.g., task 5 express that its processing requires the tasks 1 and 4 (direct predecessors) and 3 (indirect predecessor) be completed. The other way round, task 5 must be completed before its (direct and indirect) successors 6, 8, 9, and 10 can be started.