Project Scheduling

advertisement
Project Scheduling
Project Scheduling (PS)
To determine the schedules to perform the
various activities (tasks) required to complete
the project, subject to all constraints such as
the technological limits on the activities of the
project, the availability of resources and
budget, and the due date requirements.
Project Scheduling
SEEM 3530
2
Important Questions on Time
1.
If each of the activities goes according to
plan, when will the project be completed ?
2. Which activities are most critical to ensure
the timely completion of the project ?
3. Which activities can be delayed, if
necessary, without delaying project
completion, and by how much ?
4. Specifically, at what times should each
activity begin and end ?
Project Scheduling
SEEM 3530
3
Trade-off between Time and Money
1.
At any given time during the project, what
is the range of dollars that should be
spent ?
2. Is it worthwhile to incur extra costs to
accelerate some of the activities ?
Project Scheduling
SEEM 3530
4
Main PS Approaches
 When activity times are deterministic, Critical
Path Method (CPM) is applied
 When the time to complete a task as a random
variable, Program Evaluation and Review
Technique (PERT) is adopted .
 Both approaches work on a project network,
which graphically portrays the activities of the
project and their relationships.
 Linear Programming (LP) is also used when
there are other constraints e.g. resource
limitations.
Project Scheduling
SEEM 3530
5
CPM Analysis: Network Approach
A network approach, to model the activities
and their precedence relationships, and to
perform scheduling analysis based on the
network
Activity-on-node approach: use a node to
represent an activity.
Activity-on-arrow approach: use an arc to
represent an activity.
Project Scheduling
SEEM 3530
6
Network Construction
 A node represents an activity of the project
 An arc represents the precedence
relationship between activities (i.e. indicating
that an activity must be finished before the
“following” activity can start).
Project Scheduling
SEEM 3530
7
Rules to Construct Project Network
 Rule 1. Each activity is represented by one and only
one node in the network.
 Rule 2. As each activity is added to the network,
use arcs to represent precedence:
 Which activities must be completed immediately before
this activity can start ?
 Which activities must immediately follow this activity?
 Rule 3. All activities that have no predecessors
should be connected to a common start node, while
all activities that have no successors should have a
common end node.
Project Scheduling
SEEM 3530
8
Rules to construct AON networks
 There should be a single start node and a single end node to
identify these milestones.
 All nodes, except the end node, must have at least one
successor.
 All nodes, except the start node, must have at least one
predecessor.
 No arrows should be left dangling. Every arrow must have a
head and a tail.
 An arrow specifies only the precedence relations; its length
has no significance with respect to the time duration of
either of the activities it connects.
 Cycles or close-loop paths through the network are not
permitted. They imply that an activity is a successor that
depends on it.
Project Scheduling
SEEM 3530
9
Example: Construct Project Network
Project Scheduling
SEEM 3530
10
Rules to Construct Project Network
 The process begins by identifying all
activities that have no predecessors and
joining them to a unique start node:
A
C
B
E
Project Scheduling
SEEM 3530
11
Rules to Construct Project Network
 Before starting activity F, activities C, E,
and D must be completed. Therefore, an
arc should be introduced to represent the
precedence relationships of these
activities:
A
B
Project Scheduling
D
F
SEEM 3530
G
End
12
Example: Network Construction
 A project has activities A,B,C,…, L, which
have the following relationships:
 A, B, and C, the first activities of the project
that can start simultaneously.
 A and B precede D.
 B precedes E, F, and H.
 F and C precede G.
 E and H precede I and J.
 C, D, F, and J precede K.
 K precedes L.
 I, G, and L are the terminal activities of the
project.
Project Scheduling
SEEM 3530
13
Example: Project Network
Project Scheduling
SEEM 3530
14
Questions to be Answered by PS
1.
2.
3.
4.
If each of the activities goes according to
plan, when is the earliest time that the project
can be completed ?
Which tasks are the bottleneck (critical) tasks
that directly affect the timely completion of
the project ?
Which “non-critical” tasks be delayed, if
necessary, without delaying project completion,
and by how much ?
What should be the scheduled start and finish
times for each activity?
…...
Project Scheduling
SEEM 3530
15
Answer Approach
Determine
 the earliest start time and
 the latest finish time
that each activity can take place to
complete the project at the earliest
possible time.
Project Scheduling
SEEM 3530
16
Terms Used in Scheduling
 Earliest Start time, ESj, of activity j is
defined as the earliest time at which the
activity can start, provided all previous
activities were completed at their earliest
possible times.
 Latest Finish time, LFi, of activity i is
defined as the latest time at which the
activity can be completed without delaying
the (earliest) completion of the project.
Project Scheduling
SEEM 3530
17
Terms Used in Scheduling
 Earliest Finish time, EFj, of activity j is
defined as the earliest time at which the
activity can finish, provided all previous
activities were completed at their earliest
possible times.
Project Scheduling
SEEM 3530
18
Calculating early start and early finish
times
 A forward pass is used to determine the
earliest start (ES) time and the earliest finish
(EF) time for each activity:
ES(K) = max{EF(J): J is an immediate
predecessor of K}
EF(K) = ES(K) + L(K), where L(K) denotes the
duration of activity K.
Project Scheduling
SEEM 3530
19
Example: Activities and Network
Project Scheduling
SEEM 3530
20
A
B
Project Scheduling
D
F
SEEM 3530
G
n
21
Example: Calculating Earliest Times
ESj = max i{ ESi + Li }
-------------------------------ESA =
ESB =
ESC =
ESD =
ESE =
ESF =
ESG =
-------------------------------Project Scheduling
What is the earliest
project completion time?
SEEM 3530
22
Example:
ES(K) = max{EF(J): J an immediate predecessor of K}
-------------------------------ES(A)=ES(B)=ES(E)= 0.
EF(A)=5, EF(B)=3, EF(E)=7
ES(C)=EF(A)=5,
EF(C)=5+8=13
ES(D)=max{EF(A), EF(B)}
=max{5, 3}=5.
EF(D)=5+7=12
ES(F)=max{EF(C), EF(D), EF(E)}
=max{13, 5, 7}=13
EF(F)=13+4=17
ES(G)=17, EF(G)=17+5=22
----------------------------------------
A
B
D
F
G
End
Note: The above shows that the earliest time that the project can be
finished is 22 weeks.
Project Scheduling
SEEM 3530
23
Early start and early finish times: An
example
Project Scheduling
SEEM 3530
24
Terms Used in Scheduling
 Latest Start time, Ti, of activity i is
defined as the latest time at which the
activity can start without delaying the
(earliest) completion of the project.
 Latest Finish time, LFi, of activity i is
defined as the latest time at which the
activity can be completed without delaying
the (earliest) completion of the project.
Project Scheduling
SEEM 3530
25
Calculating late finish times of activities
 A backward pass is used to determine the latest start
(LS) time and the latest finish (LF) time for each
activity.
z Let LFEnd = ESEnd (earliest project completion time) or,
if there is a due date, d, for the project, and d >
ESEnd,, then LFEnd can be set as d.
LF(K) = min{LS(J): J is a successor of K}
LS(K) = LF(K) - L(K),
where L(K) denotes the duration of activity K.
Project Scheduling
SEEM 3530
26
Example:
LF(K) = min{LS(J): J is a successor of K}
-----------------------------------LF(G)=EF(G)=22; LS(G)=22-5=17.
LF(F)=LS(G)=17; LS(F)=17-4=13.
LF(C)=LS(F)=13; LS(C)=13-8=5.
LF(D)=LS(F)=13; LS(D)=13-7=6.
LF(A)=min{LS(C), LS(D)}
=min{5, 6}=5;
LS(A)=5-5=0.
LF(B)=LS(D)=6; LS(B)=6-3=3.
LF(E)=LS(F)=17; LS(E)=17-7=6.
-------------------------------------------
Note: If there is a due date d, then: LF(G)=max{EF(G), d}.
Project Scheduling
SEEM 3530
27
Late start and late finish times: An
example
Project Scheduling
SEEM 3530
28
Activity Slack
 Slack of an activity is defined as the
difference between the latest start
(finish) time and the earliest start
(finish) time of the activity.
Project Scheduling
SEEM 3530
29
A Critical Path
 If the earliest time and the latest time
for an activity is equal, the activity has
zero slack. It means that this activity
cannot be delayed
 If all activities on a path have zero
slack, it is a critical path – no activity
along this path can be delayed.
Project Scheduling
SEEM 3530
30
Example: Finding a Critical Path
 Identify the path(s), of which all activities have
zero slack.
Project Scheduling
SEEM 3530
31
Example: Finding a Critical Path
 For the example, the activities: A, C, F,
and G have zero slack and thus the path
(1 - A - C - F – G - n) is a critical path of
the project. No activity along this path
can be delayed.
Project Scheduling
SEEM 3530
32
Use Slack to Find a Critical Path
To identify the critical path of a project,
we can use the following simple method:
1.
Compute the slack for each activity in the
network.
2. Connect the activities that have zero slacks.
The path(s) generated is a (are) critical path(s).
Project Scheduling
SEEM 3530
33
Properties of Critical Paths
z A critical path is a sequence of activities that
establishes the earliest project completion time.
z The delay of any activity on a critical path will cause
a delay of the completion of the entire project.
z A critical path is a longest path (w.r.t. time) through
the network. The length (in time) of a critical path
represents the shortest duration of the project.
z Any increase in the duration of an activity on a
critical path results in the same increase in the
duration of the project.
z Every project network has (at least) one critical path.
Some networks have several critical paths, but all
critical paths are of the same length.
Project Scheduling
SEEM 3530
34
Managerial Use of Activity Slacks
 Information about the amount of slack in each
activity is very important for the project manager, as
this will allow him/her to know which activity can be
delayed without delaying the completion of the
project.
 After knowing which activities could be adjusted,
he/she could adjust accordingly the budgets and
resource allocations so as to make the project to stay
on schedule. He/she could also determine whether
he/she could reduce the resources needed to meet
the project completion due date.
Project Scheduling
SEEM 3530
35
Free Slack and Total Slack
1. Free slack denotes the amount of time that
an activity can be delayed without delaying
both the start of any succeeding activity
and the completion of the project.
2. Total slack denotes the amount of time that
the completion of an activity can be delayed
without delaying the completion of the
project.
Project Scheduling
SEEM 3530
36
Calculating Total Slacks
 The total slack (TS) of an activity is
calculated as the difference between its
late start (or finish) and its early start
(or finish) times.
TS(K) = LS(K)-ES(K), or = LF(K)-EF(K).
 Note: This is equivalent to the difference
between the maximum amount of time we can use
to perform the activity and the duration of the
activity. (Total slack: the maximum slack to delay
an activity).
Project Scheduling
SEEM 3530
37
Calculating Free Slacks
 The free slack (FS) of an activity is
calculated as the difference between the
earliest start time of its successors and its
early finish time.
FS(K) = min{ES(J): J is a successor of K} - EF(K).
 (Free slack: the maximum slack to delay an
activity without delaying the start of the
succeeding activities).
Project Scheduling
SEEM 3530
38
Slacks: An example
--------------------------------------------------Activity
Total slack
Free slack
Start
0
0
A
0
0
B
3
2
C
0
0
D
1
1
E
6
6
F
0
0
G
0
0
End
0
0
--------------------------------------------------Project Scheduling
SEEM 3530
39
Effect on Succeeding Activities
 If an activity is delayed within its free slack,
no notification to its successors is required
to be made.
 If an activity is delayed longer than its free
slack but shorter than its total slack, its
successors must be informed as this will
affect the slacks of the successors.
Project Scheduling
SEEM 3530
40
Critical Path Method (Recap):
1.
2.
3.
4.
5.
6.
Define the project and all its significant
activities.
Determine which activities must precede
and/or follow others.
Draw the network connecting all the
activities.
Assign time estimates to each activity.
Find the critical path.
Determine project duration, critical
activities, slack, etc.
Project Scheduling
SEEM 3530
41
Activity Start and Finish Times
 ESi = Earliest start time of activity i, which is
defined as the earliest time that the activity can
start without violating any precedence relation.
 EFi = Earliest finish time of activity i, which is
defined as the earliest time that the activity can
finish without violating any precedence relation.
 LSi = Latest start time of activity i, which is
defined as the latest time that the activity can start
without delaying the completion of the project.
 LFi = Latest finish time of activity i, which is
defined as the latest time that the activity can
finish without delaying the completion of the project.
Project Scheduling
SEEM 3530
42
Download