Download presentation
Presentation is loading. Please wait.
Published byHouston Feathers Modified over 9 years ago
1
IEOR 44051 Basic Project Scheduling
2
IEOR 44052 Project Scheduling zJobs subject to precedence constraints zJob on arc format (most common) 25 14 3 6 72 0
3
IEOR 44053 Overview Project Scheduling No resource Constraints Resource Constraints Critical Path Method (CPM) Program Evaluation and Review Technique (PERT) Heuristic Resource Leveling Integer Programming Formulations
4
IEOR 44054 Planning a Concert
5
IEOR 44055 Job on Arc Network zNot allowed: no two jobs can have the same starting and ending node! zNeed to introduce a dummy job. A B D C A B D C
6
IEOR 44056 Changing a Tire
7
IEOR 44057 Job on Arc Network A B C D E Is this correct?
8
IEOR 44058 Job on Arc Network AB CD E
9
IEOR 44059 Job on Node Network ABE DC zNo need for a dummy node zLess used traditionally zRecently more popular
10
IEOR 440510 Critical Path Method (CPM) zThink of unlimited machines in parallel z… and n jobs with precedence constraints zProcessing times p j as before zObjective to minimize makespan
11
IEOR 440511 Critical Path Method zForward procedure: yStarting at time zero, calculate the earliest each job can be started yThe completion time of the last job is the makespan zBackward procedure yStarting at time equal to the makespan, calculate the latest each job can be started so that this makespan is realized
12
IEOR 440512 Forward Procedure Step 1: Set at time t = 0 for all jobs j with no predecessors, S j ’ =0 and set C j ’ = p j. Step 2: Compute for each job j C j ’ = S j ’ + p j. Step 3: The optimal makespan is STOP
13
IEOR 440513 Backward Procedure Step 1: Set at time t = C max for all jobs j with no successors, C j ’’ = C max and set S j ’’ = C max - p j. Step 2: Compute for each job j S j ’’ = C j ’’ - p j. Step 3: Verify that STOP
14
IEOR 440514 Comments zThe forward procedure gives the earliest possible starting time for each job zThe backwards procedures gives the latest possible starting time for each job zIf these are equal the job is a critical job. zIf these are different the job is a slack job, and the difference is the float. zA critical path is a chain of jobs starting at time 0 and ending at C max.
15
IEOR 440515 Example 1 2 3 69 58 47 1110121413
16
IEOR 440516 Forward Procedure 1 2 3 69 58 47 1110121413 5 5+6=1111+12=2323+10=33 5+9=14 14+12=26 14+7=21 26+10=36 26+6=32 36+7=43 43+7=50 33+9=42 43+8=51 51+5=56
17
IEOR 440517 Backwards Procedure 1 2 3 69 58 47 1110121413 14-9=5 24-12=1234-10=2443-9=34 26-12=14 36-10=26 35-10=26 43-7=36 51-8=43 56-5=51 51-8=43 56-5=51 56
18
IEOR 440518 1 69 1214 Critical Path 2 3 58 47 11 1013
19
IEOR 440519 Variable Processing Times
20
IEOR 440520 Time/Cost Trade-Offs zAssumed the processing times were fixed zMore money shorter processing time zStart with linear costs zProcessing time zMarginal cost
21
IEOR 440521 Linear Costs Resources (money) Processing time
22
IEOR 440522 Solution Methods zObjective: minimum cost of project zTime/Cost Trade-Off Heuristic yGood schedules yWorks also for non-linear costs zLinear programming formulation yOptimal schedules yNon-linear version not easily solved
23
IEOR 440523 Sources, Sinks, and Cuts Source (dummy) node Sink node Minimal cut set Cut set
24
IEOR 440524 Time/Cost Trade-Off Heuristic Step 1: Set all processing times at their maximum Determine all critical paths with these processing times Construct the graph G cp of critical paths Continue to Step 2
25
IEOR 440525 Time/Cost Trade-Off Heuristic Step 2: Determine all minimum cut sets in G cp Consider those sets where all processing times are larger than their minimum If no such set STOP; otherwise continue to Step 3
26
IEOR 440526 Time/Cost Trade-Off Heuristic Step 3: For each minimum cut set: Compute the cost of reducing all processing times by one time unit. Take the minimum cut set with the lowest cost If this is less than the overhead per time unit go on to Step 4; otherwise STOP
27
IEOR 440527 Time/Cost Trade-Off Heuristic Step 4: Reduce all processing times in the minimum cut set by one time units Determine the new set of critical paths Revise graph G cp and go back to Step 2
28
IEOR 440528 Example
29
IEOR 440529 Maximum Processing Times 1 2 3 69 58 47 1110121413
30
IEOR 440530 Maximum Processing Times 1 2 3 69 58 47 1110121413
31
IEOR 440531 Critical Path Subgraph (G cp ) 1 3 69 111214 C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 Minimum cut set with lowest cost Cut sets: {1},{3},{6},{9}, {11},{12},{14}.
32
IEOR 440532 Critical Path Subgraph (G cp ) 1 3 69 111214 C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 13 Cut sets: {1},{3},{6},{9}, {11},{12,13},{14}. C 13 =4 Minimum cut set with lowest cost
33
IEOR 440533 Critical Path Subgraph (G cp ) 1 3 69 111214 C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 13 Reduce processing time next on job 6 C 13 =4 Processing time at minimum
34
IEOR 440534 Critical Path Subgraph (G cp ) 1 3 69 111214 C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 13 C 13 =4 247 10 C 2 =2 C 4 =3 C 7 =4 C 10 =5 This set cannot be decreased, Choose 2 and 6 instead
35
IEOR 440535 Linear Programming Formulation Objective is weighted avg. of makespan and cost zHere total cost is linear zWant to minimize
36
IEOR 440536 Linear Program Minimize subject to
37
IEOR 440537 PERT
38
IEOR 440538 Program Evaluation and Review Technique (PERT) zAssumed processing times deterministic Processing time of j random with mean j and variance j 2. zWant to determine the expected makespan zAssume we have p j a = most optimistic processing time p j m = most likely processing time (mode) p j b = most pessimistic processing time
39
IEOR 440539 Expected Makespan zEstimate expected processing time zApply CPM with expected processing times zLet J cp be a critical path zEstimate expected makespan
40
IEOR 440540 Distribution of Makespan zEstimate the variance of processing times zand the variance of the makespan zAssume it is normally distributed
41
IEOR 440541 Discussion zPotential problems with PERT: yAlways underestimates project duration xother paths may delay the project yNon-critical paths ignored xcritical path probability xcritical activity probability yActivities are not always independent xsame raw material, weather conditions, etc. yEstimates by be inaccurate
42
IEOR 440542 Discussion zNo resource constraints: yCritical Path Method (CPM) ySimple deterministic yTime/cost trade-offs xLinear cost (heuristic or exact) xNon-linear cost (heuristic) yAccounting for randomness (PERT)
43
IEOR 440543 Adding Resource Constraints
44
IEOR 440544 Resource Constraints zRenewable resources zVery hard problem zNo LP zCan develop an IP zLet job n+1 be dummy job (sink) and
45
IEOR 440545 Makespan zLet H bound the makespan, e.g. zCompletion time of job j is and the makespan
46
IEOR 440546 IP Formulation Minimize Subject to If j prec k For each job Each resource used
47
IEOR 440547 In Practice zThe IP cannot be solved z(Almost) always resource constraints z Heuristic: Resource constraint Precedence constraint zExample: pouring foundation and sidewalk yboth require same cement mixer ydelaying foundation delays building yprecedence constraint: pour foundation first ynot a logical constraint
48
IEOR 440548 Optimality of Heuristic zSay n jobs need the same resource zCould otherwise all be done simultaneously zAdd (artificial) precedence constraints zHave n! possibilities zWill we select the optimal sequence?
49
IEOR 440549 Decision Support zResource leveling ySolve with no resource constraints yPlot the resource use as a function of time yIf infeasible suggest precedence constraints xLongest job xMinimum slack yUser adds constraints yStart over
50
IEOR 440550 Example: One Resource Uses resource 3 611 6 6 2 9 Time 10 20 30 Resource Profile Capacity
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.