Download presentation
Presentation is loading. Please wait.
1
Spring 2002IE 5141 Topic 11 Basic Project Scheduling
2
Spring 2002IE 5142 Project Scheduling zJobs subject to precedence constraints zJob on arc format (most common) 25 14 3 6 72 0
3
Spring 2002IE 5143 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
Spring 2002IE 5144 Planning a Concert
5
Spring 2002IE 5145 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
Spring 2002IE 5146 Changing a Tire
7
Spring 2002IE 5147 Job on Arc Network A B C D E Is this correct?
8
Spring 2002IE 5148 Job on Arc Network AB CD E
9
Spring 2002IE 5149 Job on Node Network ABE DC zNo need for a dummy node zLess used traditionally zRecently more popular
10
Spring 2002IE 51410 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
Spring 2002IE 51411 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
Spring 2002IE 51412 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
Spring 2002IE 51413 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
Spring 2002IE 51414 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
Spring 2002IE 51415 Example 1 2 3 69 58 47 1110121413
16
Spring 2002IE 51416 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
Spring 2002IE 51417 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
Spring 2002IE 51418 1 69 1214 Critical Path 2 3 58 47 11 1013
19
Spring 2002IE 51419 Topic 12 Variable Processing Times
20
Spring 2002IE 51420 Time/Cost Trade-Offs zAssumed the processing times were fixed zMore money shorter processing time zStart with linear costs zProcessing time zMarginal cost
21
Spring 2002IE 51421 Linear Costs Resources (money) Processing time
22
Spring 2002IE 51422 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
Spring 2002IE 51423 Sources, Sinks, and Cuts Source (dummy) node Sink node Minimal cut set Cut set
24
Spring 2002IE 51424 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
Spring 2002IE 51425 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 2
26
Spring 2002IE 51426 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
Spring 2002IE 51427 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
Spring 2002IE 51428 Example
29
Spring 2002IE 51429 Maximum Processing Times 1 2 3 69 58 47 1110121413
30
Spring 2002IE 51430 Maximum Processing Times 1 2 3 69 58 47 1110121413
31
Spring 2002IE 51431 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
Spring 2002IE 51432 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
Spring 2002IE 51433 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 =14 Reduce processing time until = 4
34
Spring 2002IE 51434 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
35
Spring 2002IE 51435 Linear Programming Formulation zThe heuristic does not guaranteed optimum zHere total cost is linear zWant to minimize
36
Spring 2002IE 51436 Linear Program Minimize subject to
37
Spring 2002IE 51437 Topic 13 PERT
38
Spring 2002IE 51438 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
Spring 2002IE 51439 Expected Makespan zEstimate expected processing time zApply CPM with expected processing times zLet J cp be a critical path zEstimate expected makespan
40
Spring 2002IE 51440 Distribution of Makespan zEstimate the variance of processing times zand the variance of the makespan zAssume it is normally distributed
41
Spring 2002IE 51441 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
Spring 2002IE 51442 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
Spring 2002IE 51443 Topic 14 Adding Resource Constraints
44
Spring 2002IE 51444 Resource Constraints zRenewable resources zVery hard problem zNo LP zCan develop an IP zLet job n+1 be dummy job (sink) and
45
Spring 2002IE 51445 Makespan zLet H bound the makespan, e.g. zCompletion time of job j is and the makespan
46
Spring 2002IE 51446 IP Formulation Minimize Subject to
47
Spring 2002IE 51447 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
Spring 2002IE 51448 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
Spring 2002IE 51449 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
Spring 2002IE 51450 Example: One Resource Uses resource 3 611 6 6 2 9 Time 10 20 30 Resource Profile Capacity
51
Spring 2002IE 51451 Topic 15 Job Shop Scheduling
52
Spring 2002IE 51452 Job Shop Scheduling zHave m machines and n jobs zEach job visits some or all of the machines zCustomer order of small batches yWafer fabrication in semiconductor industry yHospital zVery difficult to solve
53
Spring 2002IE 51453 Job Shop Example zConstraints yJob follows a specific route yOne job at a time on each machine (1,1) (2,3) (3,1) (4,3) (1,2)(1,3) (2,1)(2,2) (4,2) (3,3) Machine 1 Machine 2 Machine 3 Machine 4
54
Spring 2002IE 51454 Graph Representation Each job follows a specific route through the job shop... (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source (Conjuctive arcs)
55
Spring 2002IE 51455 Graph Representation Machine constraints must also be satisfied... (Disjunctive arcs) (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source
56
Spring 2002IE 51456 Solving the Problem zSelect one of each pair of disjunctive arcs zThe longest path in this graph G(D) determines the makespan (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source
57
Spring 2002IE 51457 Feasibility of the Schedule zAre all selections feasible? (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source
58
Spring 2002IE 51458 Disjunctive Programming Minimize Subject to
59
Spring 2002IE 51459 Solution Methods zExact solution yBranch and Bound y20 machines and 20 jobs zDispatching rules (16+) yShifting Bottleneck zSearch heuristics yTabu, SA, GA, etc.
60
Spring 2002IE 51460 Topic 16 Types of Schedules
61
Spring 2002IE 51461 Definitions zA schedule is nondelay if no machine is idled when there is an operation available zA schedule is called active if no operation can be completed earlier by altering the sequence on machines and not delaying other operations zFor “regular” objectives the optimal schedule is always active but not necessarily nondelay
62
Spring 2002IE 51462 Schedule Space Nondelay Active Semiactive All Schedules Optimum
63
Spring 2002IE 51463 Nonactive Schedule (3,2) Machine 2 Machine 1 Machine 3 (1,1) (2,3) (2,2)(2,1) 0 2 4 6 8 (2,1)
64
Spring 2002IE 51464 Active Schedule, not Nondelay (3,2) Machine 2 Machine 1 Machine 3 (1,1) (2,3) (2,2)(2,1) 0 2 4 6 8
65
Spring 2002IE 51465 Nondelay schedule (3,2) Machine 2 Machine 1 Machine 3 (1,1) (2,3)(2,2)(2,1) 0 2 4 6 8
66
Spring 2002IE 51466 Topic 17 Branch & Bound for Job Shops
67
Spring 2002IE 51467 Branch and Bound zOperation (i,j) with duration p ij zMinimize makespan zBranch by generating all active schedules zNotation Let denote operations whose predecessors have been scheduled Let r ij be the earliest possible starting time of (i,j) in .
68
Spring 2002IE 51468 Generating Active Schedules Step 1. (Initialize) Let contain the first operation of each job Let r ij = 0 for all (i,j) . Step 2. (Machine selection) Compute the current partial schedule and let i * denote the machine where minimum achieved
69
Spring 2002IE 51469 Generating Active Schedules Step 3. (Branching) Let ’ denote all operations on machine i such that For each operation in ’ consider a partial schedule with that operation next on i * For each partial schedule, delete operation from and include immediate follower in . Go back to Step 2.
70
Spring 2002IE 51470 Branching Tree Selection of (i *,j) Selection of (i *,l)
71
Spring 2002IE 51471 Example (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) 0 108 4 8356 4 7 3 0 0
72
Spring 2002IE 51472 Partitioning Tree zLevel 1
73
Spring 2002IE 51473 Level 1: select (1,1) (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) 0 108 4 8356 4 7 3 0 0 Disjunctive Arcs 10
74
Spring 2002IE 51474 Level 1: select (1,3) (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) 0 108 4 8356 4 7 3 0 0 Disjunctive Arcs 4 4
75
Spring 2002IE 51475 Branching Tree (1,1) scheduled first on machine 1 LB = 24 (1,3) scheduled first on machine 1 LB = 26 No disjunctive arcs
76
Spring 2002IE 51476 Branching Tree zLevel 2:
77
Spring 2002IE 51477 Level 2: Select (2,2) (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) 0 108 4 8356 4 7 3 0 0 Disjunctive Arcs 10
78
Spring 2002IE 51478 Branching Tree (1,1) scheduled first on machine 1 LB = 24 (1,3) scheduled first on machine 1 LB = 26 No disjunctive arcs (1,1) first on M1 and (2,2) first on M2
79
Spring 2002IE 51479 Lower Bounds zLower bounds yThe length of the critical path in G(D’) xQuick but not very tight yLinear programming relaxation yA maximum lateness problem (see book)
80
Spring 2002IE 51480 Topic 18 The Shifting Bottleneck Heuristic
81
Spring 2002IE 51481 Shifting Bottleneck zMinimize makespan in a job shop zLet M denote the set of machines zLet M 0 M be machines for which disjunctive arcs have been selected zBasic idea: ySelect a machine in M - M 0 to be included in M 0 ySequence the operations on this machine
82
Spring 2002IE 51482 Example
83
Spring 2002IE 51483 Iteration 1 (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) 0 108 4 8356 4 7 3 0 0
84
Spring 2002IE 51484 Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 1: Optimum sequence is 1,2,3 with L max (1)=5
85
Spring 2002IE 51485 Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 2: Optimum sequence is 2,3,1 with L max (2)=5
86
Spring 2002IE 51486 Selecting a Machine zSimilarly, Either Machine 1 or Machine 2 is the bottleneck
87
Spring 2002IE 51487 Iteration 2 (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) 0 108 4 8356 4 7 3 0 0 3
88
Spring 2002IE 51488 Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 2: Optimum sequence is 2,1,3 with L max (2)=1
89
Spring 2002IE 51489 Selecting a Machine Similarly, Either Machine 2 or Machine 3 is the bottleneck
90
Spring 2002IE 51490 Iteration 3 (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) 0 108 4 8356 4 7 3 0 0 3 88
91
Spring 2002IE 51491 Discussion zProcedure continues until all the disjunctive arcs have been added zExtremely effective yFast yGood solutions z‘Just a heuristic’ yNo guarantee of optimum
92
Spring 2002IE 51492 Solving the Maximum Lateness Problem (,,) (1,,)(2,,)(3,,) (1,2,3)(1,3,2)(3,1,2)(3,2,1)
93
Spring 2002IE 51493 Discussion zThe solution is actually a little bit more complicated than before zPrecedence constraints because of other (already scheduled) machines zDelay precedence constraints (see example in book)
94
Spring 2002IE 51494 Discussion zShifting bottleneck can be applied generally zBasic idea ySolve problem “one variable at a time” yDetermine the “most important” variable yFind the best value of that variable yMove on to the “second most important” …. yHere we treat each machine as a variable
95
Spring 2002IE 51495 Topic 19 Shifted Bottleneck for Total Weighted Tardiness Objective
96
Spring 2002IE 51496 Total Weighted Tardiness zWe now apply a shifted bottleneck procedure to a job shop with total weighted tardiness objective yNeed n sinks in disjunctive graph yMachines scheduled one at a time yGiven current graph calculate completion time of each job ySome n due dates for each operation yPiecewise linear penalty function
97
Spring 2002IE 51497 Cost Function for Operation (i,j)
98
Spring 2002IE 51498 Machine Selection zMachine criticality ySolve a single machine problem yPiecewise linear cost function yMay have delayed precedence constraints yGeneralizes single-machine with n jobs, precedence constraints, and total weighted tardiness objective yATC rule
99
Spring 2002IE 51499 Generalized ATC Rule Earliest time machine can be used Scaling constant Ranks jobs good schedule
100
Spring 2002IE 514100 Criticality of Machines zCriticality = subproblem objective function ySimple zMore effective ways, e.g. yAdd disjunctive arcs for each machine yCalculate new completion times and
101
Spring 2002IE 514101 Example (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) 5 5104 456 5 37 0 0 Sink
102
Spring 2002IE 514102 Subproblem: Machine 1
103
Spring 2002IE 514103 Subproblem: Machine 2
104
Spring 2002IE 514104 Subproblem: Machine 3
105
Spring 2002IE 514105 Subproblem Solutions zSolve using dispatching rule yUse K=0.1 yHave t = 4, zFor machine 1 this results in Schedule first
106
Spring 2002IE 514106 Solution to Subproblems Schedule first
107
Spring 2002IE 514107 First Iteration (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) 5 5104 456 5 37 0 0 Sink 5 5
108
Spring 2002IE 514108 Subproblem: Machine 2
109
Spring 2002IE 514109 Subproblem: Machine 3
110
Spring 2002IE 514110 Solution to Subproblems Schedule first
111
Spring 2002IE 514111 Second Iteration (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) 5 5104 456 5 37 0 0 Sink 5 5 3 10
112
Spring 2002IE 514112 Subproblem: Machine 3
113
Spring 2002IE 514113 Third Iteration (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) 5 5104 456 5 37 0 0 Sink 5 5 3 10 5 4
114
Spring 2002IE 514114 Final Schedule 0 5 10 15 20 25 30 3,33,2 2,3 1,11,2 2,12,2 3,1 1,3 Machine 1 Machine 2 Machine 3
115
Spring 2002IE 514115 Performance zObjective function zTry finding a better schedule using LEKIN (optimal value = 18)
116
Spring 2002IE 514116 Topic 20 Random Search for Job Shop Scheduling
117
Spring 2002IE 514117 Random Search Methods zPopular to use genetic algorithms, simulated annealing, tabu search, etc. zDo not work very well yProblems defining the neighborhood yDo not exploit special structure
118
Spring 2002IE 514118 Defining the Neighborhood zApproximately nm neighbors! zSimply too inefficient (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) 5 5104 456 5 37 0 0 Sink 5 5 3 10 5 4
119
Spring 2002IE 514119 Job Shop with Makespan zRandom search methods can be applied yUse ‘critical path’ neighborhood yCan eliminate many neighbors immediately zSpecialized methods usually better yRandom search = ‘giving up’ ! yTraveling Salesman Problem (TSP) xVery well studied xLin-Kernighan type heuristics (1970) xOrder of 1000 times faster than random search
120
Spring 2002IE 514120 Comparison of Methods Percentage over known optimum: Winner
121
Spring 2002IE 514121 The Nested Partitions Method zPartitioning yby scheduling the bottleneck machine first zRandom sampling yusing randomized dispatching rules zCalculating the promising index yincorporating local improvement heuristic zCan incorporate any special structure!
122
Spring 2002IE 514122 Topic 21 Special Case: Flow Shops
123
Spring 2002IE 514123 A Flexible Flow Shop with Setups Stage 1 Stage 2 Stage 3 Stage 4
124
Spring 2002IE 514124 Applications zVery common in applications: yPaper mills ySteel lines yBottling lines yFood processing lines
125
Spring 2002IE 514125 Classical Literature zExact solutions ySimple flow shop with makespan criterion yTwo machine case (Johnson’s rule) zRealistic problems require heuristic approaches
126
Spring 2002IE 514126 Objectives zMultiple objectives usual yMeet due dates yMaximize throughput yMinimize work-in-process (WIP) Setting for job j on Machine i
127
Spring 2002IE 514127 Generating Schedules zIdentify bottlenecks zCompute time windows at bottleneck stage zCompute machine capacity at bottleneck zSchedule bottleneck stage zSchedule non-bottlenecks
128
Spring 2002IE 514128 Identifying Bottlenecks zIn practice usually known zSchedule downstream bottleneck first zDetermining the bottleneck yloading ynumber of shifts ydowntime due to setups zBottleneck assumed fixed
129
Spring 2002IE 514129 Identifying Time Window zDue date yShipping day yMultiply remaining processing times with a safety factor zRelease date Status j of job j Release date if j = l Decreasing function - determined empirically
130
Spring 2002IE 514130 Computing Capacity zCapacity of each machine at bottleneck ySpeed yNumber of shifts ySetups zTwo cases: yIdentical machines yNon-identical machines
131
Spring 2002IE 514131 Scheduling Bottleneck zJobs selected one at a time ySetup time yDue date yCapacity zFor example ATCS rule
132
Spring 2002IE 514132 Schedule Remaining Jobs zDetermined by sequence at bottleneck stage zMinor adjustments yAdjacent pairwise interchanges to reduce setup
133
Spring 2002IE 514133 Summary: Job Shops zRepresentation: graph w/disjoint arcs zSolution methods yBranch-and-bound yShifted bottleneck heuristic yBeam search xCan incorporate bottleneck idea & dispatching rules yRandom search methods zSpecial case: flow shops
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.