280 likes | 454 Views
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 , some of which must be completed before others can be started.
E N D
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, 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 ActivityDescription A Prototype model design B Purchase of materials Manufacturing C Manufacture of prototype model activities D Revision of design E Initial production run F Staff training Training activitiesG Staff input on prototype models H Sales training I Pre-production advertising Advertising activitiescampaign J Post-redesign advertising campaign
Precedence Relations Activity Starts after Completion Days Immediate Predecessor's) A-Prototype Design 90 NONE B-Purchase Materials Starts After 15 A-Prototype Design C-Manufacture Prototypes 5 Starts After B-Purchase Materials D-Design Revision Starts After 20 C-Manufacture Prototypes and G-Staff Input E-Initial Production Run Starts After 21 D-Design Revision F-Staff Training Starts After 25 A-Prototype Design G-Staff Input Starts After 14 C-Manufacture Prototypes and F-Staff Training H-Sales Training Starts After 28 D-Design Revision Starts After I-Pre-Production Advertising 30 A-Prototype Design J-Post Redesign Advertising 45 Starts After D-Design Revision and I-Pre-Production Advertising
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 E 21 B 15 C 5 H 28 F 25 G 14 D 20 J 45 I 30 A 90
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) andEarliest 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 E 21 B 15 C 5 MAX(110,115) H 28 A 90 F 25 G 14 D 20 MAX(120,149) J 45 I 30 • We enter these as (ES,EF) above each node. 170) (149, 110) (105, (90, 105) 21 15 5 (149, 177) 115) 90) (90, (0, 149) (129, 129) (115, 28 90 14 25 20 194) (149, 120) (90, 45 30 Earliest Project completion time = MAX(EF) =194
Latest Start (LS) andLatest 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 (149, 170) E 21 110) (105, (90, 105) B 15 C 5 (149, 177) 115) 90) (90, (0, 149) (129, 129) (115, H 28 A 90 F 25 G 14 D 20 194) (149, 120) J 45 (90, MIN(173, 166, 149) MIN(95, 90, 119) I 30 • We enter these as (LS,LF) below each node. 21 15 5 194) (173, 110) (95, (110, 115) 28 90 20 14 25 194) (166, (115, 115) (90, 129) (0, 90) 149) (129, 45 30 (149, 194) (119, 149)
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, 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 - - - - - - - - - - ES 90 90 0 90 115 105 129 149 149 5 0 0 0 29 SLACK 17 24 5 0 B G A F H C I E Activity D LS 129 115 90 0 173 119 95 110 166 = = = = = = = = = = Critical Activities - 149 0 J 149 = • Slack time = LS - ES Critical Path A F G D J
The Critical Path (149, 170) 110) (105, (90, 105) E 21 B 15 C 5 (149, 177) 115) (90, (0, 90) 194) 149) (173, (129, 129) (115, 110) (95, (110, 115) H 28 A 90 F 25 G 14 D 20 194) (166, (115, 115) (90, 129) (0, 90) 149) (129, 194) (149, 120) (90, J 45 I 30 (149, 194) (119, 149)
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 • 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 L M • 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 • For each arc a constraint states that the start time of M must not occur before the finish time of its immediate predecessor, L.
The Linear Program C 5 G F 25 XG START TIME FOR G ≥ XC + 5 Finish time for C START TIME FOR G XG ≥ Finish time for F XF + 25 Minimize X(FIN) ST X(FIN) ³ XE + 21 X(FIN) ³ XH + 28 X(FIN) ³ XJ + 45 XE³ XD + 20 XG³ XC+ 5 XH ³ XD + 20 XG³ XF+ 25 XJ ³ XD + 20 XI³ XA+ 90 XJ³ XI + 30 XF³ XA+ 90 XC ³ XB+ 15 XD³ XG+ 14 XB³ XA+ 90 Example ofConstraints Start Time for C + C’s Duration and Start Time for F + F’s Duration All X’s ³ 0
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