Download presentation
Presentation is loading. Please wait.
Published byMavis Casey Modified over 8 years ago
1
Product A Product B Product C A1A1 A2A2 A3A3 B1B1 B2B2 B3B3 B4B4 C1C1 C3C3 C4C4 Turret lathes Vertical mills Center lathes Drills From “Fundamentals of Operations Management” by Davis, Aquilano, Chase (1999) Flow Shop A4A4 C3C3
2
Product A Product B Product C A1A1 A2A2 A3A3 B1B1 B2B2 B3B3 B4B4 B5B5 C1C1 C2C2 C3C3 C4C4 A4A4 A5A5 Turret lathes Vertical mills Center lathes Drills Horizontal mills Shapers Grinders From “Fundamentals of Operations Management” by Davis, Aquilano, Chase (1999) Job Shop
3
Complexity Polynomially solvable m =2 m =3 n =2 n =3 NP-hard
4
Job Shop: Two Machines Consider now problem J 2| | C max. The set of jobs N= {1,…,n } can be split into two subsets: N AB - the jobs that consist of two operations with the processing route ( A, B ) N BA - the jobs that consist of two operations with the processing route ( B, A ) B A N AB N BA The algorithm presented below is due to R. Jackson (1956). Jackson's Algorithm 1.Run Johnson's algorithm with the set of jobs N AB and find the corresponding sequence R AB. 2.Run Johnson's algorithm with the set of jobs N BA and find the corresponding sequence R BA. 3.On machine A, first schedule N AB according to R AB and then N BA according to R BA. 4.On machine B, first schedule N BA according to R BA and then N AB according to R AB. N AB N BA
5
Job Shop: Two Machines Example Consider Problem J2 | | C max j 1234567891011 ajaj 321124312 bjbj 212148921
6
p 32 Job Shop: Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 Disjunctive Graph Model Job 1 Job 2 Job 3 2,13,1 1,11,23,2 2,2 4,2 2,34,3 1,3 p 11 p 21 p 31 ST p 22 p 12 p 42 p 13 p 23 p 43
7
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
8
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
9
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
10
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
11
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
12
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
13
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
14
Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
15
Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,2 3,2 2,2 4,2 2,3 4,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
16
Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,2 3,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
17
Job Shop: Disjunctive Graph Model 2,1 3,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
18
Job Shop: Disjunctive Graph Model 2,13,1 1,1 1,23,2 2,2 4,2 2,34,3 1,3 S T Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3 p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
19
Job Shop: Disjunctive Graph Model 2,13,1 1,11,23,2 2,2 4,2 2,34,3 1,3 S T Disjunctive graph G =( N, A, B ): Nodes N correspond to all operations Conjunctive arcs A represent the precedence relations between operations of a single job Disjunctive arcs B link the operations processed by the same machine p 32 p 11 p 21 p 31 p 22 p 12 p 42 p 13 p 23 p 43
20
Job Shop: Branch & Bound 23 157 4 6 910 8 S T - Operations 1, 2, …, q - O denotes the set of “schedulable operations” (whose predecessors have already been scheduled ) - “Scheduling” of operation i means replacing each pair of disjunctive arcs incident to i by a conjunctive arc starting from i p7p7 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p8p8 p9p9 p 10
21
Job Shop: Branch & Bound 23 1 57 4 6 910 8 ST 23 1 57 4 6 9 8 ST 23 1 57 4 6 9 8 ST 23 1 57 4 6 9 8 ST 23 1 57 4 6 9 8 ST 23 1 57 4 6 9 8 ST 23 1 57 4 6 9 8 ST
22
Job Shop: Branch & Bound 23 157 4 6 910 8 ST 8 356 84 473 Jobs Machine sequence Processing times 11, 2, 3 p 11 =10, p 21 =8, p 31 =4 22, 1, 4, 3 p 12 =3, p 22 =8, p 32 =6, p 42 =5 31, 2, 4 p 13 =4, p 23 =7, p 43 =3
23
0 LB=22 4 LB=22 4 LB=22 LB=max{10+8+4, 10+3+5+6, 10+4+7+3 8+3+5+6, 4+7+3} 23 157 4 6 910 8 ST 8 356 84 473 LB = max{10+8+4, 8+3+5+6, 4+7+3} =22 1 LB=24 8 LB=26 Operation scheduled
24
23 157 4 6 910 8 ST 8 356 84 473 LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 10
25
23 157 4 6 9 8 ST 8 356 84 473 LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 10
26
23 1 57 4 6 9 8 ST 8 356 84 473 LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 1 LB=24 8 LB=26 1 LB=24 5 LB=33 10
27
23 1 57 4 6 9 8 ST 8 356 84 473 LB=22 1 LB=24 8 LB=26 4 LB=22 4 LB=22 1 LB=24 8 LB=26 1 LB=24 5 LB=33 10
28
1 LB=24 4 LB=22 23 1 57 4 6 910 8 ST 8 356 84 473 LB=22 1 LB=24 8 LB=26 8 LB=26 5 LB=33 2 LB=28 8 LB=28 5 LB=27 5 LB=27 10
29
1 LB=24 4 LB=22 23 1 57 4 6 910 8 ST 8 356 84 473 LB=22 1 LB=24 8 LB=26 8 LB=26 5 LB=33 2 LB=28 8 LB=28 5 LB=27 5 LB=27 10
30
1 LB=24 4 LB=22 23 1 57 4 6 910 8 ST 8 356 84 473 LB=22 1 LB=24 8 LB=26 8 LB=26 5 LB=33 2 LB=28 8 LB=28 5 LB=27 5 LB=27 10
31
0 22 124124 4 22 8 26 124124 5 33 8 26 228228 5,8 27 8 28 228228 6 27 2,9,10 28 7 28 9 28 3 28 7 28 128128 5 33 9 27 1 28 5 33 2 40 4 24 8 28 128128 4 26 9 33 128128 5 33 9 33 3 28 Similar 228228 5,8 27 8 28 228228 6 27 2,9,10 28 7 28 9 28 3 28 7 28 3 28
32
Job Shop: Branch & Bound Advantages of Branch & Bound algorithm: -Finds an optimal solution Disadvantages of Branch & Bound algorithm: -Extremely time-consuming: the number of nodes in a branching tree can be too large. Algorithm can construct several feasible schedules and then develop “bad” branches of the tree. The number of the nodes grows exponentially without improving the best solution obtained.
33
Job Shop: Branch & Bound 10 10 = 930 -Fischer and Thompson (1963) posed a small example of the jobs shop problem with 10 jobs and 10 machines. -The example remained open for more than 25 years. -It was finally solved by - Carlier & Pinson (1989) - Applegate & Cook (1991) - Brucker, Jurisch & Sievers (1994) Job shop problem remains one of the most difficult combinatorial problems to date, and always arouses new research interest.
34
Job Shop: Branch & Bound With Beam Search only the most promising nodes at level k are selected as nodes to branch from. The remaining nodes at that level are discarded permanently. The beam width of the search is the number of nodes retained in the tree. The choice of the promising nodes is crucial. - Evaluating each node carefully is time-consuming. - A crude prediction is quick but it may result in discarding good solutions. Beam Search Two-Stage Approach: 1.For all bodes generated at a particular level of the tree, do a crude evaluation (speed). 2.Select the best nodes for the thorough evaluation (accuracy). 3.After thorough evaluation is done, select the most promising nodes. The number of nodes selected is the filter width. The number of nodes selected is the beam width.
35
Beam Search Job Shop: Example of crude prediction: the contribution of the partial schedule to the objective function (the length of the critical path in the graph after some operation has been scheduled). Example of thorough evaluation: all the jobs that have not yet been scheduled are scheduled according to composite dispatching rule.
36
0 22 124124 4 22 8 26 No filtering. Beam width = 2
37
0 22 124124 4 22 8 26 No filtering. Beam width = 2 124124 5 33 8 26 2 40 4 24 8 28
38
0 22 124124 4 22 8 26 No filtering. Beam width = 2 124124 5 33 8 26 2 40 4 24 8 28 228228 5,8 27 8 28 228228 5,8 27 8 28
39
0 22 124124 4 22 8 26 No filtering. Beam width = 2 124124 5 33 8 26 2 40 4 24 8 28 228228 5,8 27 8 28 228228 5,8 27 8 28 228228 6 27 228228 6 27
40
0 22 124124 4 22 8 26 No filtering. Beam width = 2 124124 5 33 8 26 2 40 4 24 8 28 228228 5,8 27 8 28 228228 5,8 27 8 28 228228 6 27 228228 6 27 2,9,10 28 7 28 9 28 2,9,10 28 7 28 9 28
41
9 28 0 22 124124 4 22 8 26 No filtering. Beam width = 2 124124 5 33 8 26 2 40 4 24 8 28 228228 5,8 27 8 28 228228 5,8 27 8 28 228228 6 27 228228 6 27 2,9,10 28 7 28 9 28 2,9,10 28 7 28
42
9 28 0 22 124124 4 22 8 26 No filtering. Beam width = 2 124124 5 33 8 26 2 40 4 24 8 28 228228 5,8 27 8 28 228228 5,8 27 8 28 228228 6 27 228228 6 27 2,9,10 28 7 28 9 28 2,9,10 28 7 28 7 28 3 28 3 28 7 28 3 28
43
9 28 0 22 124124 4 22 8 26 No filtering. Beam width = 2 124124 5 33 8 26 2 40 4 24 8 28 228228 5,8 27 8 28 228228 5,8 27 8 28 228228 6 27 228228 6 27 2,9,10 28 7 28 9 28 2,9,10 28 7 28 7 28 3 28 3 28 7 28 3 28
44
Dispatching Rules A dispatching rule is a rule that prioritises all the jobs that are awaiting for processing on a machine. Whenever a machine has been freed, a dispatching rule inspects the waiting jobs and selects the job with the highest priority.
45
Dispatching Rules Rules dependent on processing times and weights
46
tt + p j djdj Slack j Dispatching Rules Rules dependent on release and due dates M1M1 j
47
Dispatching Rules The basic dispatching rules are of limited use: —when a complex objective has to be minimised, none of the basic dispatching rules can perform effectively; —combination of basic dispatching rules can perform significantly better. Composite Dispatching Rules —It is a ranking expression that combines a number of basic dispatching rules. —Each basic rule in the composite dispatching rule has its own scaling parameter that is chosen to properly scale the contribution of the basic rule to the total ranking expression.
48
Dispatching Rules Consider 1 || w j T j, which is NP-hard in the strong sense. A heuristic is needed which provides a reasonably good solution with a reasonable computational effort. Appropriate basic dispatching rules: — WSPT (optimal for w j C j ), — EDD, MS (optimal when due dates are loose and spread out) Example:
49
Dispatching Rules Composite Dispatching Rule ATC - Apparent Tardiness Cost - combines WSPT and MS - jobs are scheduled one at a time: every time the machine becomes free, a ranking index is computed for each remaining job and the job with the highest ranking index is then selected to be processed next.
50
Dispatching Rules Advantages of dispatching rules: Very simple to implement Fast Can find a reasonably good solution in a relatively short time Optimal for special cases Disadvantages of dispatching rules: Limited use in practice Can find unpredictably bad solution
51
Scheduling Algorithms Algorithms Classification Exact Algorithms Heuristic Algorithms Approximation Algorithms Construction Heuristics Improvement Heuristics Exact Algorithms
52
Scheduling Algorithms Johnson’s algorithm Branch & Bound Dispatching rules Local Search Algorithms Classification Exact Algorithms Heuristic Algorithms Approximation Algorithms Construction Heuristics Improvement Heuristics
53
Choosing an Algorithm Time 40% 30% 20% 10% Dispatching rules Branch & BoundLocal Search Feasible Solutions Error bound
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.