Critical Path Analysis - Auckland Mathematical … · Critical Path Analysis (CPA) A complex...

Preview:

Citation preview

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.

Any activity can be represented as a project: planning a party building a house/factory planning a conference

So what is a project?

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 prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8

E Erect walls 10

F Plaster ceiling 2

G Erect roof 5

H Install door and windows 8

I Fit gutters and pipes 2

J Paint outside 3

Some of these activities must be completed before others can start.

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8

E Erect walls 10

F Plaster ceiling 2

G Erect roof 5

H Install door and windows 8

I Fit gutters and pipes 2

J Paint outside 3

You can’t erect the roof (G) before you have erected the walls (E)

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8

E Erect walls 10

F Plaster ceiling 2

G Erect roof 5

H Install door and windows 8

I Fit gutters and pipes 2

J Paint outside 3

Precedence

D must follow E

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10

F Plaster ceiling 2

G Erect roof 5

H Install door and windows 8

I Fit gutters and pipes 2

J Paint outside 3

E must follow A and B

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10 A, B

F Plaster ceiling 2

G Erect roof 5

H Install door and windows 8

I Fit gutters and pipes 2

J Paint outside 3

F must follow D and G

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10 A, B

F Plaster ceiling 2 D, G

G Erect roof 5

H Install door and windows 8

I Fit gutters and pipes 2

J Paint outside 3

G must follow E

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10 A, B

F Plaster ceiling 2 D, G

G Erect roof 5 E

H Install door and windows 8

I Fit gutters and pipes 2

J Paint outside 3

H must follow G

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10 A, B

F Plaster ceiling 2 D, G

G Erect roof 5 E

H Install door and windows 8 G

I Fit gutters and pipes 2

J Paint outside 3

I must follow C, F

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10 A, B

F Plaster ceiling 2 D, G

G Erect roof 5 E

H Install door and windows 8 G

I Fit gutters and pipes 2 C, F

J Paint outside 3

J must follow H and I

Task Duration (days)

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10 A, B

F Plaster ceiling 2 D, G

G Erect roof 5 E

H Install door and windows 8 G

I Fit gutters and pipes 2 C, F

J Paint outside 3 I

We call this a precedence table

Task Duration (days)

Precedence

A prepare foundations 7

B Make and position door frame 2

C Lay drains, floor base and screed 15

D Install services and fittings 8 E

E Erect walls 10 A, B

F Plaster ceiling 2 D, G

G Erect roof 5 E

H Install door and windows 8 G

I Fit gutters and pipes 2 C, F

J Paint outside 3 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 B

Task A Task B

Task C

Task C

Task B

Task A

Task B depends upon Task A; B cannot start until A is finished

Task C depends upon Task A and B; C cannot start until both A and B are 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

more unusual links and relationships

so far all links have been finish-start links...

Task A Task B

Task A

Task C

Task C

Task A

Task B depends upon Task A, but with a 3 day delay; B cannot start until 3 days after A is finished

The finish of Task C depends upon the finish of Task A

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

3 days

Drawing a NETWORK – how do we get here?

Algorithm

Draw in the links

Task Precedence

A

B

C

D E

E A, B

F D, G

G E

H G

I C, F

J 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

task number and/or name

duration early start time

late start time

early finish time

late finish time

float

slack

Example

Task A

7

Task B

2

Task C

15

Task E

10

Task D

8

Task G

5

Task F

2

Task H

8

Task I

2

Task J

3

Finish

Duration

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

Task 06

2

Task 01

3

Task 04

6

Task 03

3

Task 08

2

Task 02

4

Task 09

1

Task 05

3

Task 07

5

Practice 1

Task 06

2

Task 01

3 0 Task 04

6

Task 03

3

Task 08

2

Task 02

4

Task 09

1

Task 05

3

Task 07

5

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6

Task 03

3

Task 08

2

Task 02

4

Task 09

1

Task 05

3

Task 07

5

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6 3

Task 03

3

Task 08

2

Task 02

4 3

Task 09

1

Task 05

3

Task 07

5

3

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6 3 9

Task 03

3

Task 08

2

Task 02

4 3 7

Task 09

1

Task 05

3

Task 07

5

3 5

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6 3 9

Task 03

3 7

Task 08

2 5

Task 02

4 3 7

Task 09

1

Task 05

3 9 Task 07

5

3 5

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6 3 9

Task 03

3 10 7

Task 08

2 7 5

Task 02

4 3 7

Task 09

1

Task 05

3 9 12 Task 07

5

3 5

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6 3 9

Task 03

3 10 7

Task 08

2 7 5

Task 02

4 3 7

Task 09

1

Task 05

3 9 12 Task 07

5 12

3 5

Take the largest value

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6 3 9

Task 03

3 10 7

Task 08

2 7 5

Task 02

4 3 7

Task 09

1

Task 05

3 9 12 Task 07

5 12 17

3 5

Practice 1

Task 06

2

Task 01

3 3 0 Task 04

6 3 9

Task 03

3 10 7

Task 08

2 7 5

Task 02

4 3 7

Task 09

1

Task 05

3 9 12 Task 07

5 12 17

3 5

Take the largest value

Forward pass complete

Duration = 18

Task 06

2

Task 01

3 3 0

3

Task 04

6 3 9

Task 03

3 10 7

5

Task 08

2 7 5

Task 02

4 3 7

Task 09

1 18 17

Task 05

3 9 12

Task 07

5 12 17

Backward pass

Task 06

2

Task 01

3 3 0

3

Task 04

6 3 9

Task 03

3 10 7

5

Task 08

2 7 5

Task 02

4 3 7

Task 09

1 18 17

Task 05

3 9 12

Task 07

5 12 17

18

Task 06

2

Task 01

3 3 0

3

Task 04

6 3 9

Task 03

3 10 7

5

Task 08

2 7 5

Task 02

4 3 7

Task 09

1 18 17

Task 05

3 9 12

Task 07

5 12 17

18 17 0

Float

Task 06

2

Task 01

3 3 0

3

Task 04

6 3 9

Task 03

3 10 7

5

Task 08

2 7 5

Task 02

4 3 7

Task 09

1 18 17

Task 05

3 9 12

Task 07

5 12 17

18 17 0

17

17

Task 06

2

Task 01

3 3 0

3

Task 04

6 3 9

Task 03

3 10 7

5

Task 08

2 7 5

Task 02

4 3 7

Task 09

1 18 17

Task 05

3 9 12

Task 07

5 12 17

18 17 0

17

17

12

15

0

10

Task 06

2

Task 01

3 3 0

3

Task 04

6 3 9

Task 03

3 10 7

5

Task 08

2 7 5

Task 02

4 3 7

Task 09

1 18 17

Task 05

3 9 12

Task 07

5 12 17

18 17 0

17

17

12

15

0

10

12

12

9

9 0

2

15 13 10

9

9 3 0

5 2

Forward pass complete

Task 06

2

Task 01

3 3 0

3

Task 04

6 3 9

Task 03

3 10 7

5

Task 08

2 7 5

Task 02

4 3 7

Task 09

1 18 17

Task 05

3 9 12

Task 07

5 12 17

18 17 0

17

17

12

15

0

10

12

12

9

9 0

2

15 13 10

9

9 3 0

5 2

Take the smallest

Critical Path – float = 0

Task 06

2 3 5

13 15 10

Task 09

1 18 17

18 17 0

Task 07

5 12 17

17 12 0

Task 05

3 9 12

12 9 0

Task 04

6 3 9

9 3 0

Task 01

3 3 0

3 0 0

Task 08

2 7 5

17 15 10

Task 03

3 10 7

12 9 2

Task 02

4 3 7

9 5 2

Your turn

Task A

7

Task B

2

Task C

15

Task E

10

Task D

8

Task G

5

Task F

2

Task H

8

Task I

2

Task J

3

Finish

Example 1 – Forward pass

Task A

7 0

Task B

2 0

Task C

15 0

Task E

10

Task D

8

Task G

5

Task F

2

Task H

8

Task I

2

Task J

3

Finish

Example 1 – Forward pass

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10

Task D

8

Task G

5

Task F

2

Task H

8

Task I

2

Task J

3

Finish

Example 1 – Take the largest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 7

Task D

8

Task G

5

Task F

2

Task H

8

Task I

2 ?

Task J

3

Finish

Example 1 – Take the largest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 17

Task G

5 17

Task F

2

Task H

8

Task I

2 ?

Task J

3

Finish

Example 1 – Take the largest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2

Task H

8

Task I

2 ?

Task J

3

Finish

Example 1 – Take the largest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 25

Task H

8 22

Task I

2 ?

Task J

3

Finish

Example 1 – Minimum 32

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

Example 1 – Backward pass

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

Example 1 – Take lowest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

Example 1 – Take lowest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

29 27 0

Example 1 – Take lowest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

29 27 0

27 25 0

Example 1 – Take lowest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

29 27 0

27 25 0 25 17 0

24 19 2

Example 1 – Take lowest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

29 27 0

27 25 0 25 17 0

24 19 2

17 7 0

Example 1 – Take lowest value

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

29 27 0

27 25 0 25 17 0

24 19 2

17 7 0

27 12 12

7 0 0

7 5 5

Example 1 – Critical Path – zero float

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

29 27 0

27 25 0 25 17 0

24 19 2

17 7 0

27 12 12

7 0 0

7 5 5

Example 1 – Critical Path – A-E-D-F-I-J

Task A

7 7 0

Task B

2 2 0

Task C

15 15 0

Task E

10 17 7

Task D

8 25 17

Task G

5 22 17

Task F

2 27 25

Task H

8 30 22

Task I

2 29 27

Task J

3 32 29

Finish 32

32

32

32

29

0

24 2

29 27 0

27 25 0 25 17 0

24 19 2

17 7 0

27 12 12

7 0 0

7 5 5

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

Recommended