Critical Path Analysis There are no pre-requisites for this Achievement Standard so it can be placed in any course. No knowledge is pre-supposed. Methods include a selection from those related to: precedence tables network diagrams critical events scheduling float times Critical Path Analysis (CPA) A complex project must be well planned, especially if a number of people are involved. CPA is used to ensure that the complete scheme is completed in the minimum time. It is used to schedule the projects. So what is a project? Any activity can be represented as a project: planning a party building a house/factory planning a conference What do the projects have in common? Each project can be broken down into tasks. Each task takes time and uses resources. Tasks are structured Step 1 – Precedence table • To identify actual tasks that make up a project • To identify the order these tasks need to be in • To decide how long each task will take Example: Constructing a garage Task Duration (days) A B C prepare foundations Make and position door frame Lay drains, floor base and screed 7 2 15 D E F Install services and fittings Erect walls Plaster ceiling 8 10 2 G H I J Erect roof Install door and windows Fit gutters and pipes Paint outside 5 8 2 3 Some of these activities must be completed before others can start. Task Duration (days) A B C prepare foundations Make and position door frame Lay drains, floor base and screed 7 2 15 D E F Install services and fittings Erect walls Plaster ceiling 8 10 2 G H I J Erect roof Install door and windows Fit gutters and pipes Paint outside 5 8 2 3 You can’t erect the roof (G) before you have erected the walls (E) Task Duration (days) A B C prepare foundations Make and position door frame Lay drains, floor base and screed 7 2 15 D E F Install services and fittings Erect walls Plaster ceiling 8 10 2 G H I J Erect roof Install door and windows Fit gutters and pipes Paint outside 5 8 2 3 Precedence D must follow E Task A B prepare foundations Make and position door frame Duration (days) 7 2 C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 F G H Plaster ceiling Erect roof Install door and windows 2 5 8 I J Fit gutters and pipes Paint outside 2 3 E E must follow A and B Task A B prepare foundations Make and position door frame Duration (days) 7 2 C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 F G H Plaster ceiling Erect roof Install door and windows 2 5 8 I J Fit gutters and pipes Paint outside 2 3 E A, B F must follow D and G Task A B prepare foundations Make and position door frame Duration (days) 7 2 C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 F G H Plaster ceiling Erect roof Install door and windows 2 5 8 I J Fit gutters and pipes Paint outside 2 3 E A, B D, G G must follow E Task A B prepare foundations Make and position door frame Duration (days) 7 2 C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 F G H Plaster ceiling Erect roof Install door and windows 2 5 8 I J Fit gutters and pipes Paint outside 2 3 E A, B D, G E H must follow G Task A B prepare foundations Make and position door frame Duration (days) 7 2 C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 E A, B F G H Plaster ceiling Erect roof Install door and windows 2 5 8 D, G E G I J Fit gutters and pipes Paint outside 2 3 I must follow C, F Task A B prepare foundations Make and position door frame Duration (days) 7 2 C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 E A, B F G H Plaster ceiling Erect roof Install door and windows 2 5 8 D, G E G I J Fit gutters and pipes Paint outside 2 3 C, F J must follow H and I Task A B prepare foundations Make and position door frame Duration (days) 7 2 C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 E A, B F G H Plaster ceiling Erect roof Install door and windows 2 5 8 D, G E G I J Fit gutters and pipes Paint outside 2 3 C, F I We call this a precedence table Task Duration Precedence (days) 7 2 A B prepare foundations Make and position door frame C D E Lay drains, floor base and screed Install services and fittings Erect walls 15 8 10 E A, B F G H Plaster ceiling Erect roof Install door and windows 2 5 8 D, G E G I J Fit gutters and pipes Paint outside 2 3 C, F I • Precedence diagrams are not that useful. • A useful visual representation of a project is a network diagram. Sequence the most common sequences / dependencies Task A Task A Task B Task B Task C Task A Task C Task B Task B depends upon Task A; B cannot start until A is finished Tasks B and C depend on Task A; neither can start until A is finished, but B and C are independent of each other Task C depends upon Task A and B; C cannot start until both A and B are finished more unusual links and relationships so far all links have been finish-start links... Task A 3 days Task B Task A Task C Task A Task C Task B depends upon Task A, but with a 3 day delay; B cannot start until 3 days after A is finished The start of Task C depends on the start of Task A; this is a start-to-start link; it may also incorporate a delay The finish of Task C depends upon the finish of Task A Drawing a NETWORK – how do we get here? Algorithm Draw in the links Task Precedence A B C D E F G H I J E A, B D, G E G C, F I Draw in A, B, C on a rough diagram STEP 1- original vertices with no arcs STEP 2 - delete all arcs incident on A, B, C and redraw as shown STEP 3 - repeat iteration STEP 1- original vertices with no arcs STEP 2 - delete all arcs incident on E and redraw as shown STEP 3 - repeat iteration STEP 1- original vertices with no arcs STEP 2 - delete all arcs incident on D, G and redraw as shown STEP 3 - repeat iteration STEP 1- original vertices with no arcs STEP 2 - delete all arcs incident on F and H and redraw as shown STEP 3 - repeat iteration STEP 1- original vertices with no arcs STEP 2 - delete all arcs incident on I and redraw as shown STEP 3 - STOP Converting to a usable diagram Proposed method Now draw the network diagram using boxes early start time duration early finish time task number and/or name late start time float late finish time slack Example Duration 15 2 Task I Task C 8 2 Task D Task F 7 Task A 3 Task J 10 Task E 2 5 8 Task B Task G Task H Finish Critical Path • Find the earliest possible start for each activity, by going forwards through the network. • Secondly, the latest possible start time for each activity is found by going backwards through the network. • Activities which have equal earliest and latest start time are on the critical path. Practice 1 4 3 Task 02 Task 03 5 Task 07 3 6 3 1 Task 01 Task 04 Task 05 Task 09 2 2 Task 06 Task 08 Practice 1 4 3 Task 02 Task 03 5 Task 07 0 3 6 3 1 Task 01 Task 04 Task 05 Task 09 2 2 Task 06 Task 08 Practice 1 4 3 Task 02 Task 03 5 Task 07 3 0 Task 3 01 6 3 1 Task 04 Task 05 Task 09 2 2 Task 06 Task 08 Practice 1 3 4 3 Task 02 Task 03 5 Task 07 3 3 0 Task 01 3 3 6 3 1 Task 04 Task 05 Task 09 2 2 Task 06 Task 08 Practice 1 3 4 7 Task 02 3 Task 03 5 Task 07 3 3 0 Task 01 3 6 9 Task 04 3 2 Task 06 5 3 1 Task 05 Task 09 2 Task 08 Practice 1 3 4 7 Task 02 7 3 Task 03 5 Task 07 3 3 0 Task 01 3 6 9 Task 04 3 2 Task 06 5 9 3 1 Task 05 Task 09 5 2 Task 08 Practice 1 3 4 7 Task 02 7 3 10 Task 03 5 Task 07 3 3 0 Task 01 3 6 9 Task 04 3 2 Task 06 9 3 12 1 Task 05 5 Task 09 5 2 Task 08 7 Practice 1 3 4 7 Task 02 7 3 Take the largest value 10 Task 03 12 5 Task 07 3 3 0 Task 01 3 6 9 Task 04 3 2 Task 06 9 3 12 1 Task 05 5 Task 09 5 2 Task 08 7 Practice 1 3 4 7 Task 02 7 3 10 Task 03 12 5 17 Task 07 3 3 0 Task 01 3 6 9 Task 04 3 2 Task 06 9 3 12 1 Task 05 5 Task 09 5 2 Task 08 7 Practice 1 3 4 7 Task 02 7 3 Take the largest value 10 Task 03 12 5 17 Task 07 3 3 0 Task 01 3 6 9 Task 04 3 2 Task 06 9 3 12 1 Task 05 5 Task 09 5 2 Task 08 7 Forward pass complete 3 4 7 7 Task 02 3 10 Task 03 12 5 17 Task 07 0 3 3 3 Task 01 6 9 Task 04 3 2 Task 06 9 3 12 17 Task 05 5 1 18 Task 09 5 2 7 Task 08 Duration = 18 Backward pass 3 4 7 7 Task 02 3 10 Task 03 12 5 17 Task 07 0 3 3 3 Task 01 6 9 Task 04 9 3 12 17 Task 05 1 18 Task 09 18 3 2 Task 06 5 5 2 Task 08 7 3 4 7 7 Task 02 3 10 Task 03 12 5 17 Task 07 0 3 3 3 Task 01 6 9 Task 04 9 3 12 17 Task 05 1 Task 09 17 0 3 2 Task 06 5 18 5 2 7 Task 08 Float 18 3 4 7 7 Task 02 3 10 Task 03 12 5 17 Task 07 0 3 3 3 Task 01 6 9 Task 04 9 3 12 17 Task 05 17 1 Task 09 17 0 3 2 Task 06 5 18 5 2 7 Task 08 17 18 3 4 7 7 Task 02 3 10 Task 03 12 5 17 Task 07 0 3 3 3 Task 01 6 9 Task 04 9 3 12 12 0 17 Task 05 17 1 Task 09 17 0 3 2 Task 06 5 18 2 5 7 Task 08 15 10 17 18 3 4 7 7 Task 02 5 2 3 10 Task 03 9 9 12 2 12 5 17 Task 07 0 3 3 3 Task 01 6 9 9 Task 04 12 12 0 17 Task 05 3 0 9 3 2 5 Task 06 13 10 3 15 9 0 17 1 18 Task 09 12 17 0 2 5 7 Task 08 15 10 17 18 Forward pass complete Take the smallest 3 4 7 7 Task 02 5 2 3 10 Task 03 9 9 12 2 12 5 17 Task 07 0 3 3 3 Task 01 6 9 9 Task 04 12 12 0 17 Task 05 3 0 9 3 2 5 Task 06 13 10 3 15 9 0 17 1 18 Task 09 12 17 0 2 5 7 Task 08 15 10 17 18 Critical Path – float = 0 3 4 7 7 Task 02 5 2 3 10 Task 03 9 9 2 12 12 5 17 Task 07 0 3 3 3 Task 01 0 0 6 9 9 Task 04 3 12 12 0 17 Task 05 3 0 9 3 2 5 Task 06 13 10 3 9 0 1 18 Task 09 12 17 0 5 2 7 Task 08 15 17 15 10 17 18 Your turn 2 15 Task I Task C 8 2 Task D Task F 7 Task A 3 Task J 10 Task E 2 5 8 Task B Task G Task H Finish Example 1 – Forward pass 0 2 15 Task I Task C 0 8 2 Task D Task F 7 Task A 3 Task J 10 Task E 0 2 5 8 Task B Task G Task H Finish Example 1 – Forward pass 0 2 15 15 Task I Task C 0 7 8 2 Task D Task F 7 Task A 3 Task J 10 Task E 0 2 Task B 2 5 8 Task G Task H Finish Example 1 – Take the largest value 0 ? 15 15 Task I Task C 0 7 2 8 2 Task D Task F 7 Task A 3 7 Task J 10 Task E 0 2 Task B 2 5 8 Task G Task H Finish Example 1 – Take the largest value 0 ? 15 15 Task I Task C 8 2 Task D Task F 17 0 7 2 7 Task A 3 7 Task J 10 17 Task E 0 2 Task B 2 17 5 8 Task G Task H Finish Example 1 – Take the largest value 0 ? 15 15 Task I Task C 8 17 25 Task D 0 7 2 2 Task F 7 Task A 3 7 Task J 10 17 Task E 0 2 Task B 2 17 5 Task G 22 8 Task H Finish Example 1 – Take the largest value 0 ? 15 15 Task I Task C 8 17 25 Task D 0 7 2 2 25 Task F 7 Task A 3 7 Task J 10 17 Task E 0 2 Task B 2 17 5 Task G 22 22 8 Task H Finish Example 1 – Minimum 32 0 27 15 15 8 17 25 Task D 7 29 Task I Task C 0 2 2 25 27 Task F 7 Task A 29 7 3 32 Task J 10 17 Task E 0 2 Task B 2 17 5 Task G 22 22 8 Task H 30 32 Finish Example 1 – Backward pass 0 27 15 15 8 17 25 Task D 7 29 Task I Task C 0 2 2 25 27 Task F 7 Task A 29 7 3 32 Task J 10 17 Task E 0 2 Task B 2 17 5 Task G 22 22 8 Task H 30 32 Finish 32 Example 1 – Take lowest value 0 27 15 15 8 17 25 Task D 7 29 Task I Task C 0 2 2 25 27 Task F 7 Task A 29 7 2 Task B 2 32 Task J 10 17 2 9 Task E 0 3 17 5 22 22 Task G 8 2 32 30 Task H 24 0 32 32 Finish 32 Example 1 – Take lowest value 0 27 15 15 27 0 8 17 25 Task D 7 29 Task I Task C 0 2 2 25 29 27 Task F 7 Task A 29 7 2 Task B 2 32 Task J 10 17 2 9 Task E 0 3 17 5 22 22 Task G 8 2 32 30 Task H 24 0 32 32 Finish 32 Example 1 – Take lowest value 0 27 15 15 27 0 8 17 25 Task D 7 2 25 7 25 0 27 27 29 7 Task B 2 3 32 Task J 10 17 2 9 Task E 2 29 Task F Task A 0 29 Task I Task C 0 2 17 5 22 22 Task G 8 2 32 30 Task H 24 0 32 32 Finish 32 Example 1 – Take lowest value 0 27 15 15 27 0 8 17 25 Task D 7 7 17 0 Task A 2 25 7 Task F 25 25 0 27 Task B 2 3 32 Task J 10 17 2 9 Task E 2 29 27 29 0 29 Task I Task C 0 2 17 5 22 22 Task G 19 2 8 24 2 32 30 Task H 24 0 32 32 Finish 32 Example 1 – Take lowest value 0 27 15 15 27 0 8 17 25 Task D 7 7 17 Task A 0 2 25 7 Task F 25 25 0 27 2 2 0 3 32 Task J 10 17 2 9 Task E 7 29 27 29 0 29 Task I Task C 0 2 17 17 Task B 5 22 22 Task G 19 2 8 24 2 32 30 Task H 24 0 32 32 Finish 32 Example 1 – Take lowest value 27 15 15 0 27 0 27 8 17 25 Task D 0 7 7 17 Task A 0 0 0 2 25 Task F 25 25 0 27 29 2 2 0 2 9 17 17 Task B 5 5 5 22 22 Task G 7 3 32 Task J 10 17 Task E 7 29 27 7 7 0 29 Task I Task C 12 12 2 19 2 8 24 2 32 30 Task H 24 0 32 32 Finish 32 Example 1 – Critical Path – zero float 27 15 15 0 27 0 27 8 17 25 Task D 0 7 7 17 Task A 0 0 0 2 25 Task F 25 25 0 27 29 2 2 0 2 9 17 17 Task B 5 5 5 22 22 Task G 7 3 32 Task J 10 17 Task E 7 29 27 7 7 0 29 Task I Task C 12 12 2 19 2 8 24 2 32 30 Task H 24 0 32 32 Finish 32 Example 1 – Critical Path – A-E-D-F-I-J 27 15 15 0 27 0 27 8 17 25 Task D 0 7 7 17 Task A 0 0 0 2 25 Task F 25 25 0 27 29 2 2 0 2 9 17 17 Task B 5 5 5 22 22 Task G 7 3 32 Task J 10 17 Task E 7 29 27 7 7 0 29 Task I Task C 12 12 2 19 2 8 24 2 32 30 Task H 24 0 32 32 Finish 32 Using the outputs • Gantt Charts • optimising the schedule Gantt: Critical path in red Gantt: Critical path in red Scheduling: Move the critical path along the top Now fit the other activities like a puzzle Now fit the other activities like a puzzle Schedule Any delay on the critical path causes a delay in the entire project There is a 2-day float on the non-critical path Definitions • Critical Path Those activities that can not over run without effecting the total length of the project, are those where the EST = LFT (Total float = 0). • Total Float LFT of the activity- the duration- EST of the activity. This shows how much ´slack´ there is on a particular route of the network. If the total float is 0 then an activity lies on the critical path. • Free Float EST of the next activity – Duration – EST of this activity. This shows the ´slack´ on an individual activity before it delays the start of the next activity. • EES = Earliest early start time • LLF = latest late finish time Free float: The amount of time that a schedule activity can be delayed without delaying the early start date of any immediately following schedule activities. Free Float = EESsuccessor – EF • EES = Earliest early start time • LLF = latest late finish time Independent float is that portion of the total float within which an activity can be delayed for start without affecting the float of the preceding activities. Independent Float = EESsuccessor-LLFpredecessor-duration