Presentation on theme: "Project Scheduling Basic Approach. projectA project is a collection of tasks that must be completed in minimum time or at minimal cost. activitiesIt is."— Presentation transcript:
Project Scheduling Basic Approach
projectA project is a collection of tasks that must be completed in minimum time or at minimal cost. activitiesIt is made up by a set of tasks or activities, some of which must be completed before others can be started. predecessorsThe ones that must be completed before a particular activity can be started are called predecessors. –Immediate predecessors –Immediate predecessors are the ones that must be done just prior to the commencement of a particular activity. A feasible scheduling is one that schedules the activities without violating any of the immediate predecessor scheduling constraints.Introduction
Possible Objectives Some objectives of project scheduling include: –Completing the project as early as possible by determining an earliest start and finish time for each of the activities –Determining the likelihood a project will be completed within a certain time period –Finding a minimum cost schedule that completes the project by a certain date –Finding a minimum time to complete a project within budget restrictions –Investigating the results of possible delays in one or more of an activity’s completion time –Evaluating the costs and benefits of reducing the time of performing one or more of the activities
An activity could be: – Quite specific e.g. install light switch in third bathroom –Less detailed e.g. install electrical for the house The degree of specificity used depends on the application and availability of data. Each activity has a set of immediate predecessor activities that must be completed immediately prior to starting the activity.Activities
Activity Completion Times Associated with each activity is an estimated completion time. These time could be: –Deterministic The completion time is known with certainty –Probabilistic The completion time varies according to some probability distribution with an estimated mean and standard deviation –Determined by the amount spent to perform the activity.
Example KLONE COMPUTERS, INC. KLONE Computers manufactures computers. It is about to design, manufacture, and market the Klonepalm 2000 palmbook computer. In broad terms, the three major tasks to perform are to: – Design and manufacture the computer – Train staff and vendor representatives on the features and use of the computer – Advertise the computer
ActivityDescription APrototype model design BPurchase of materials Manufacturing Manufacturing CManufacture of prototype model activities activities DRevision of design E Initial production run ActivityDescription APrototype model design BPurchase of materials Manufacturing Manufacturing CManufacture of prototype model activities activities DRevision of design E Initial production run FStaff training Training activities Training activities GStaff input on prototype models HSales training FStaff training Training activities Training activities GStaff input on prototype models HSales training I Pre-production advertising Advertising activities Advertising activities campaign JPost-redesign advertising campaign I Pre-production advertising Advertising activities Advertising activities campaign JPost-redesign advertising campaign Detailed Activities
Precedence Relations Activity Immediate Predecessor's) Starts after Completion Days A-Prototype Design NONE 90 B-Purchase Materials A-Prototype Design Starts After 15 C-Manufacture Prototypes B-Purchase Materials Starts After 5 D-Design Revision and C-Manufacture Prototypes and G-Staff Input Starts After 20 E-Initial Production Run D-Design Revision Starts After 21 F-Staff Training A-Prototype Design Starts After 25 G-Staff Input and C-Manufacture Prototypes and F-Staff Training Starts After 14 H-Sales Training D-Design Revision Starts After 28 I-Pre-Production Advertising A-Prototype Design Starts After 30 J-Post Redesign Advertising and D-Design Revsion and I-Pre-Production Advertising Starts After 45
The PERT/CPM Approach for Project Scheduling PERT stands for Program Evaluation and Review Technique and CPM stands for critical path method. –Both were methods for project scheduling developed independently in the late 1950’s. –The concepts have merged over the years so that now we simply call the approach the PERT/CPM approach. It uses a network representation (a set of nodes and a set of arcs) of the project. –Nodes represent the activities and reflect their completion times –Arcs reflect immediate predecessor relationships with arrows PERT/CPM is used for scheduling activities such that the project’s completion time is minimized.
G 14 C5C5 The PERT/CPM Network J 45 H 28 E 21 A 90 D 20 B 15 I 30 F 25
OBJECTIVES Management at KLONE would like to schedule the activities to minimize the project completion time. Management wishes to know: –The earliest start and finish times for each activity that will allow the project to be completed in this minimal time. –The latest start and finish times for each activity which will not alter this minimal time. –Which activities must adhere to rigid schedules and which activities have slack in their schedules.
Earliest Start (ES) and Earliest Finish (EF) Times Earliest Start (ES) and Earliest Finish (EF) Times The ES and EF times are determined by making a forward pass through the network as follows: –For all the activities which have no immediate predecessors: The earliest start time (ES) = 0 The earliest finish time (EF) = the activity’s duration –Then select a node for which EF of all its immediate predecessors has been determined. ES = Max EF (of all its immediate predecessors) EF = ES + Activity Duration –Repeat this process until all nodes have been evaluated Minimum Project Completion Time is The maximum EF in the project.
Earliest Start and Finish Times We enter these as (ES,EF) above each node. H 28 E 21 G 14 J 45 A 90 B 15 D 20 I 30 F 25 C5C5 90 90) (0, (90, 105) 15 25 115) 30 120) (105, 5 110) (115, 14 129) (129, 20 149) (149, 21 170) 28 177) (149, 45 194) 194 Earliest Project completion time = MAX(EF) = 194 MAX(120,149) MAX(110,115)
Latest Start (LS) and Latest Finish (LF) Times Latest Start (LS) and Latest Finish (LF) Times The LS and LF times are determined by making a backward pass through the network as follows: –For all the activities which are not predecessors for any other activity The latest finish time (LF) = project completion time The latest start time (LS) = LF – Activity Duration –Select a node which is the immediate predecessor for nodes whose LS times have all been determined LF = Min LS (all nodes for which it is a predecessor) LS = LF - Activity Duration –Repeat this process until all nodes have been evaluated
H 28 E 21 G 14 J 45 A 90 B 15 D 20 I 30 F 25 C5C5 90) (0, (90, 105) 115) 120) (105, 110) (115, 129) (129, 149) (149, 170) 177) (149, 194) Latest Start and Finish Times We enter these as (LS,LF) below each node. 90 15 25 30 5 14 20 21 28 45 194) (173, (166, (149, 149) (119, 149) MIN(173, 166, 149) (129, 129) (115, 115) (110, (90, 110) (95, MIN(95, 90, 119) 90) (0,
Activity start time and completion time may be delayed by deliberate reasons as well as by unforeseen reasons. Some of these delays may affect the overall completion date. slack timeThe effects of these delays can be determined by the slack time, for each activity. Slack Times Slack time Slack time for an activity = LS-ES or LF-EF
The Critical Path critical path The activities with 0 slack time form at least one critical path of connected activities, each of which is an immediate predecessor for another activity on the path from the beginning (time = 0) to the end (the completion time of the project). –Critical activities must be rigidly scheduled. Any delay in a critical activity will delay the entire project. –The critical path is the longest in the network Sum of the completion times of activities on a critical path = Project completion time
Slack Time Calculations Slack time = LS - ES LSActivity ES - = SLACK 119I 90 - = 29 90F - = 0 129D - = 0 0A 0 - = 0 95B 90 - = 5 110C 105 - = 5 173E 149 - = 24 115G - = 0 166H 149 - = 17 149J - = 0 Critical Activities Critical Path A F G D J
The Critical Path The Critical Path H 28 E 21 G 14 J 45 A 90 B 15 D 20 I 30 F 25 C5C5 90) (0, (90, 105)(90, 115) (90, 120) (105, 110) (115, 129) (129, 149) (149,170) (149, 177) (149, 194) (173, 194) (166, 194) (149, 149) (119, 149) (129, 129) (115, 115) (110, 115) (90, 110) (95,90) (0,
Possible Delays There could be a delay in just one activity. –Any delay more than the slack time for the activity will delay the entire project by the difference between the activity delay and the slack time There could be delays in more than one activity. –If activities are on different paths or on the same path but separated by a critical activity, each of the delays is evaluated separately. The project delay = max (these delays – corresponding slack). –Activities on the same path which are not separated by a critical activity share the slack. Both will have the same value for the slack and any combined delays in these activities that exceed this common slack results in a project delay equal to (total activity delay) – (common slack). –Usually with multiple delays the model is simply re- solved!
Examples of Activity Delays Activity G is delayed 5 days –G is on the critical path (has 0 slack) so the project will be delayed 5 days. Activity E is delayed 15 days will not be delayed –E has 24 days of slack so the project will not be delayed Activity B is delayed 15 days delayed 10 days –B has 5 days of slack so the project will be delayed 10 days Activity E is delayed 30 days and Activity I is delayed 30 days delayed by the MAX(6,1) = 6 days. –E and I are on different paths. E has 24 days of slack which could cause a 30-24 = 6 day delay; I has 29 days of slack which could cause 30-29 = 1 day delay. The project is delayed by the MAX(6,1) = 6 days. Activity B is delayed 4 days and Activity E is delayed 4 days Net effect– No delay. –B and E are on the same path but are separated by critical activities (G and D). This is the same as the case above. B has 5 days slack so delaying it 4 days would not delay the project; E has 24 days of slack so a 4 day delay will not delay the project – Net effect– No delay. Activity B is delayed 4 days and Activity C is delayed 4 days delayed 8 – 5 = 3 days –B and C are on the same path with no critical activity in between. They share the same 5 days of slack. So sense both are delayed 4 days for a total of 8 days, the project is delayed 8 – 5 = 3 days.
A Linear Programming Approach to PERT/CPM Variables –X i = The start time of the activities for i=A, B, C, …,J –X(FIN) = Finish time of the project Objective function –Complete the project in minimum time. Constraints –For each arc a constraint states that the start time of M must not occur before the finish time of its immediate predecessor, L. M L
X(FIN) X E + 21 X(FIN) X H + 28 X(FIN) X J + 45 X D X G + 14 X E X D + 20 X G X C + 5 X H X D + 20 X G X F + 25 X J X D + 20 X I X D + 90 X J X I + 30 X F X A + 90 X C X B + 15 X D X G + 14 X B X A + 90 Minimize X(FIN) ST The Linear Program All X’s G C5C5 F 25 Example of Constraints START TIME FOR G Finish time for C ≥ and START TIME FOR G ≥ Finish time for F Start Time for C + C’s Duration Start Time for F + F’s Duration XGXG XCXC + 5 XGXG XFXF + 25
Using the PERT-CPM Template Enter activity names. Node are names automatically generated. Enter (Constant) Activity Times Enter precedence relations. If an activity has more than one immediate predecessor, input one node entry for each immediate predecessor.
Using the PERT-CPM Template It will look like nothing happened, but that’s okay. Click the PERT OUTPUT tab. Just click solve. The algorithm has been pre-programmed. Go toSolver in Tools Tools menu
Review Objectives of Project Scheduling Precedence Relation Chart showing immediate predecessors How to construct a PERT/CPM network Forward Pass for finding the earliest start/finish times (ES,EF) Backwards Pass for finding the latest start/finish times (LS,LF) Calculation and analysis of slack Finding the critical path Linear programming formulation Use of PERT-CPM template