Project Scheduling Basic Approach Introduction A project is
Project Scheduling Basic Approach
Introduction • A project is a collection of tasks that must be completed in minimum time or at minimal cost. • It is made up by a set of tasks or activities, activities some of which must be completed before others can be started. • The ones that must be completed before a particular activity can be started are called 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.
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
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.
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
Detailed Activities Activity Description Manufacturing model activities Training activities models A B Prototype model design Purchase of materials C Manufacture of prototype D E F G Revision of design Initial production run Staff training Staff input on prototype IH Sales training advertising Pre-production campaign Post-redesign advertising campaign Advertising activities J
Precedence Relations Activity Starts after A-Prototype Design B-Purchase Materials C-Manufacture Prototypes D-Design Revision E-Initial Production Run F-Staff Training G-Staff Input H-Sales Training I-Pre-Production Advertising J-Post Redesign Advertising Starts After Starts After Starts After Immediate Predecessor's) Completion Days NONE 90 A-Prototype Design 15 B-Purchase Materials 5 C-Manufacture Prototypes and G-Staff Input 20 D-Design Revision 21 A-Prototype Design 25 C-Manufacture Prototypes and F-Staff Training 14 D-Design Revision 28 A-Prototype Design 30 D-Design Revision and I-Pre-Production Advertising 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.
The PERT/CPM Network B 15 A 90 E 21 C 5 F 25 G 14 I 30 D 20 H 28 J 45
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 • 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. (90, 105) (149, 170) (105, 110) B 15 15 E 21 21 C 55 MAX(110, 115) (0, 90) A 90 90 (90, 115) (115, 129) (129, 149) F 25 25 G 14 14 D 20 20 (149, 177) H 28 28 MAX(120, 149) (90, 120) I 30 30 (149, 194) J 45 45 Earliest Project completion time = MAX(EF) = 194
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
Latest Start and Finish Times • We enter these as (LS, LF) below each node. B 15 15 A 90 90 (0, 90) MIN(95, 90, 119) E 21 21 C 5 5 (95, 110) (0, 90) (149, 170) (105, 110) (90, 105) (173, 194) (110, 115) (90, 115) (115, 129) (129, 149) F 25 25 G 14 14 (90, 115) (90, 120) I 30 30 (119, 149) (115, 129) D 20 20 (129, 149) MIN(173, 166, 149) (149, 177) H 28 28 (166, 194) (149, 194) J 45 45 (149, 194)
Slack Times • 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. • The effects of these delays can be determined by the slack time, time for each activity. Slack time for an activity = LS-ES or LF-EF
The 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 Activity LS - ES = SLACK - 0 A 0 = 0 B 95 - 90 = 5 C 110 - 105 = 5 D 129 - 129 = 0 E 173 - 149 = 24 F 90 - 90 = 0 G 115 - 115 = 0 H 166 - 149 = 17 Critical Path I 119 - 90 = 29 J 149 - 149 = 0 A F G D J Critical Activities
The Critical Path B 15 E 21 C 5 (95, 110) (0, 90) (149, 170) (105, 110) (90, 105) (173, 194) (110, 115) (90, 115) (115, 129) (129, 149) A 90 F 25 G 14 (0, 90) (90, 115) (115, 129) (90, 120) I 30 (119, 149) D 20 (129, 149) (149, 177) H 28 (166, 194) (149, 194) J 45 (149, 194)
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 resolved!
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 – E has 24 days of slack so the project will not be delayed • Activity B is delayed 15 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 – 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 – 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 – B and C are on the same path with no critical activity in between. They share the same 5 days of slack. So since 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 – Xi = 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 M a constraint states that the – For each arc L start time of M must not occur before the finish time of its immediate predecessor, L.
The Linear Program Minimize X(FIN) ST X(FIN) ³ XE + 21 X(FIN) ³ XH + 28 X(FIN) ³ XJ + 45 XE ³ XD + XH ³ X D + XJ ³ X I + 20 20 20 30 C 5 F 25 X G ³ X C+ 5 XG ³ XF+ 25 XI ³ XA+ 90 XF ³ XA+ 90 XC ³ XB+ 15 XD ³ XG+ 14 XB ³ XA+ 90 All X’s ³ Example of Constraints G XG FOR G START TIME ≥ C Start Time XC Finish for C+ +time C’s Duration 5 for and XG FOR G START TIME ≥ for F Start Time XF Finish for F++time F’s 25 Duration
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
- Slides: 24