Project Plan 365 Scheduling Engine
Project Plan 365 version 2018 introduces a new scheduling engine which provides immense value to our customers in order to meet the needs of their businesses. This new engine dramatically reduces the number of recalculation and it's based on a highly researched method.
Project Plan 365 uses an enhanced scheduling engine starting from Precedence Diagram Method. Precedence Diagram Method (PDM) is a method for scheduling projects based on project start date and tasks duration and predecessors. The PDM algorithm allows only auto-scheduled tasks and all tasks need to be on the same indent level. Summary tasks, manual tasks, or other constraints like calendars and tasks constraints are not allowed. This algorithm is used to calculate early start date, early finish date, late start date, late finish date, and slack.
The diagram below is an example of a project starting on January 1st 2018 having five tasks, together with the precedence graph:
We enhanced this method in order to be used on general projects, where we can have any type of tasks (auto tasks, manual tasks, placeholder tasks, split tasks, null tasks and summary tasks). Also, this new method allows having constraints and takes into account calendars and resources. Also, all the constraints for a task and all types of predecessors are taken into consideration. For this, we create multiple graphs of tasks which allow us to find the optimal way to schedule a project.
The first step of the algorithm is to create a directed acyclic graph where nodes are tasks and edges are precedence relations between tasks. Because this digraph is acyclic, we can do a topological sort and get the order in which we should process the tasks. Based on this order, and on other fields like constraint date, constraint type, calendar, predecessors, we calculate early start dates and early finish dates. The next step is to create another graph for successors of tasks and calculate the late start dates and the late finish dates. Based on these dates, we can calculate the real start and finish date of tasks and slack. If a task has zero slack (early start date is equal to late start date) it is critical. Using this approach, we managed to obtain project duration, project finish date and critical path with better accuracy. The last step is to compute other task fields like cost, work and make sure that resource assignments are calculated correctly.
Workflow below describes the main steps in our schedule engine.
Using this method, Project Plan 365 has obtained a scheduling engine which can be used on any type of project, starting from small projects up to very big projects which can have many different tasks, resources, resource assignments, calendars and other constraints. This new scheduling engine was tested on multiple real projects and had obtained very good results.