CPM, Crashing, Resource Leveling
using MS Excel & MS Project
David S.W. Lai
Sept 24, 2013
1
Scope
•
•
Critical Path Analysis
Crashing
•
Resource leveling
Linear Programming (LP) approach
MS Excel 2010
MS Project 2010
2
Critical Path Method
A Linear Programming Approach
3
Example Problem
The Build-Rite Construction Company has identified the following ten activities
that take place in building a house.
Activity
Immediate
Predecessors
Expected Time
(days)
1
Walls and Ceiling
2
5
2
Foundation
-
3
3
Roof Timbers
1
2
4
Roof Sheathing
3
3
5
Electrical Wiring
1
4
6
Roof Shingles
4
8
7
Exterior Siding
8
5
8
Windows
1
2
9
Paint
6, 7, 10
2
10
Inside Wall Board
8, 5
3
Determine the critical path and the critical activities.
4
The example description is modified from the exercises described in Moore and Weatherford, Decision Modelling, Pearson 2001.
Solution
Activity
1
2
3
4
5
6
7
8
9
10
Early Start Schedule
ES
EF
3
0
8
10
8
13
10
8
21
12
8
3
10
13
12
21
15
10
23
15
Late Start Schedule
LS
LF
3
0
8
10
14
13
16
14
21
18
8
3
10
13
18
21
21
16
23
21
Total Slacks
0
0
0
0
6
0
6
6
0
6
Critical activities: 1, 2, 3, 4, 6, 9
The project manager should adjust accordingly the budgets and
resource allocations to avoid any delay on these activities.
5
Critical Path Method
• Step 1: Forward pass
• Step 2: Backward pass
• Step 3: Calculating slacks
Early Start Schedule
Late Start Schedule
Slacks
6
A LP Model for CPM analysis
Precedence Constraints
Predecessor
Successor
2
1
Duration of the
Predecessor
3
1
3
5
3
4
2
1
5
5
4
6
3
8
7
2
1
8
5
6
9
8
7
9
5
10
9
3
5
10
4
8
10
2
Objective
Function
minimize the project
duration.
Constraints
e.g. activity 6 precedes
activity 9
Decision
Variables
start times of the
activities
7
AON network & LP Model
Nodes
Decision Variables
Precedence Constraints
Arcs
Optimal Solution
Longest Path
3
2
5
1
2
3
8
3
4
6
2
4
3
5
10
2
5
8
7
9
Note that an alternative LP model can be derived from the AOA network.
Critical activities can then be identified via sensitivity analysis.
8
Parameters
• The start time of the project
• The (expected) times of the activities
• Precedence Relations of two activities
1
2
3
4
5
6
7
8
9
10
Activity
Walls and Ceiling
Foundation
Roof Timbers
Roof Sheathing
Electrical Wiring
Roof Shingles
Exterior Siding
Windows
Paint
Inside Wall Board
Project Start Time
Time (days)
5
3
2
3
4
8
5
2
2
3
0
Precedence Constraints
Predecesor
Successor
2
1
1
3
3
4
1
5
4
6
8
7
1
8
6
9
7
9
10
9
5
10
8
10
9
A Linear Programming Approach for
Critical Path Analysis
A Spreadsheet Implementation
Activity
1
Walls and Ceiling
2
Foundation
3
Roof Timbers
4
Roof Sheathing
5
Electrical Wiring
6
Roof Shingles
7
Exterior Siding
8
Windows
9
Paint
10
Inside Wall Board
Project Start Time
Objective Value
Time (days)
5
3
2
3
4
8
5
2
2
3
Start time
30810
813
10
821
12
Finish time
8310
13
12
21
15
10
23
15
0
23 days
10
• Early start schedule
Any activity will be started at its earliest start time.
• Late start schedule
Any activity will be started at its latest start time.
ES
3
0
8
10
8
13
10
8
21
12
LS
3
0
8
10
14
13
16
14
21
18
EF
8
3
10
13
12
21
15
10
23
15
LF
8
3
10
13
18
21
21
16
23
21
11
Critical Activities
Since the total slacks can be determined using the early start schedule
and the late start schedule, the critical activities can be identified as
well.
Activity
1
2
3
4
5
6
7
8
9
10
ES
3
0
8
10
8
13
10
8
21
12
Early Start/Late Start Schedule
EF
LS
8
3
3
0
10
8
13
10
12
14
21
13
15
16
10
14
23
21
15
18
LF
8
3
10
13
18
21
21
16
23
21
Total Slacks
0
0
0
0
6
0
6
6
0
6
Critical activities: 1, 2, 3, 4, 6, 9
12
Demo
• To enable the solver in EXCEL 2010
– File  Options Add-Ins  Select “Solver Add-in”  Go
Select “Solver Add-in”  OK
• You may find the solver in
– Data  Solver
Objective
Function
Decision
Variables
Constraints
Use simplex method for
the LP models
13
Crashing
A Linear Programming Approach
14
Example Problem
Activity
Normal
Time
Normal
Cost
Crash
Time
Crash
Cost
1
5
50
3
72
2
3
20
2
30
3
2
15
1
30
4
3
8
1
20
5
4
30
4
30
6
8
13
4
21
7
5
45
1
65
8
2
45
1
52
9
2
40
2
40
10
3
22
2
34
Cost
Build-Rite’s engineers have calculated the cost of completing each activity.
Their results are given below.
e.g. Cost for Activity 1
80
70
60
50
40
2
3
4
5
Activity Time
6
How much would it cost to complete the project within 22 days? 21
days? 20 days?...
15
Solution: Time-Cost Trade-Off
380
360
Project
Cost
340
The normal schedule
obtained using CPM
320
300
280
13
18
23
each activity is performed
at its lowest cost and at a
normal duration.
Project Duration
The crashing process has revealed a relationship between the cost and the
schedule of the project, which allows us to prepare our budget by considering
the possible trade-offs between cost and time.
16
Notations
crash
Max. Crash Days
17
A LP Model for Crashing
with a fixed project due date
Minimize the
cost for crashing
Precedence
Constraints
No. of days
to crash
Start times
of the
activities.
Max. Clashed
Days
Project due
date
18
A Linear Programming Approach
for Crashing
A Spreadsheet Implementation
Crashing
Crashing Normal Normal
(days)
Time
Cost
1
5
50
?2
2
3
20
?1
3
2
15
?1
4
3
8
?2
5
4
30
?0
6
8
13
?4
7
5
45
?1
8
2
45
?0
9
2
40
?0
10
3
22
?1
Crash Cost
?
84
Project Cost
?
288
Activity
Obj. Value
Crash
Time
3
2
1
1
4
4
1
1
2
2
Crash
Cost
72
30
30
20
30
21
65
52
40
34
Max. Crash Cost per
Days
Crash Day
2
11
1
10
1
15
2
6
0
0
4
2
4
5
1
7
0
0
1
12
?
372.1
19
Demo
20
Resource Leveling
MS Project 2010
21
Example
The working hours requirements of the activities are estimated.
They are described below.
Activity
Immediate
Predecessors
Expected Time
(days)
Work hours
30 hrs
22 hrs
8 hrs
16 hrs
6 hrs
4 hrs
6 hrs
12 hrs
8 hrs
4 hrs
1
Walls and Ceiling
2
5
2
Foundation
-
3
3
Roof Timbers
1
2
4
Roof Sheathing
3
3
5
Electrical Wiring
1
4
6
Roof Shingles
4
8
7
Exterior Siding
8
5
8
Windows
1
2
9
Paint
6, 7, 10
2
10
Inside Wall Board
8, 5
3
The example question is modified from Project Management (Shtub, Bard, Globerson) Exercise 10.1
22
Resource leveling
The reallocation of slacks in activities to minimize
fluctuations in resource requirement profile.
The resource profile before leveling.
• large resource fluctuation
• Overallocation of resource
The resource profile after leveling.
• Minimized resource fluctuation
• No delay in the project
23
Demo
24
1. Create a Project.
1. File  New  Blank
Project
2. File  Options 
Schedule
Set the working hours
per day. E.g. 8 hours.
The durations of
activities (or tasks)
are fixed in our case.
25
2. Input the task information
1. Task  Gantt Chart
2. Input the task information
3. Select all the tasks and then
press “Auto Schedule”
26
3. Set the Project Start Date
• Project  Project Information  Statistics
27
3. Identify the critical path
• Task  Gantt Chart  Network Diagram
• Gantt chart  Add New Column  “total slack”
Note that the project can be
finished within 23 days.
28
4. Add a renewable resource
• Task  Gantt Chart  Resource Sheet
• In the first row, input
Examples of renewable
– Resource Name: Manpower
– Type: work
– Max. Units: 100%
resource
• Manpower
• Materials
• Machines
29
5. Type in the resource usage
• Input the work hours of the activities
• Select the column  right click  Assign Resources 
Select “Manpower”  Assign
Task
Work hour
1
2
3
4
5
6
7
8
9
10
30 hrs
22 hrs
8 hrs
16 hrs
6 hrs
4 hrs
6 hrs
12 hrs
8 hrs
4 hrs
30
6. Resource Graph
• Task  Gantt chart  Resource Graph
Large frustration
31
7. Resource Leveling
• Resource  Leveling Options  tick “level
only within available slack.
• Resource  level all
Smaller f
frustration
• Frustration is minimized.
• No over-allocation
• The project duration
remains the same (total
slacks are reduced )
32
Download

Project Management using MS Project 2010