]po[ Gantt Editor Scheduler
The "scheduler" algorithm is the 2nd iteration of a scheduling algorithm that has the purpose to move Gantt activitites in the Gantt Editor so that all constraints are met.
Constraints
Supported constraints (2019-03-21):
- Duration = Work / Resources: This constraint determines the duration of a task if work and resources are defined.
- Only Finish-to-Start constraints are supported.
- FS constraints can be applied between activities and summary tasks
- Summary tasks should move with the contained activities
Constraints not yet supported:
- Start-to-start, Start-to-Finish and Finish-to-Finish will be supported later
- Resource Calendar: The Gantt Editor currently calculates hard-coded with 8 hours per day from 9:00 to 17:00.
Scheduling Algorithm
- Create a list of leaf activities that have to predecessors
- For each activity:
- Calculate the length of the activity
- Calculate a list of all successors
- For each successor:
- Fix the start_date so that the successor starts after the activity
- Calculate the length of the successor
- Add the successor to the list of activities