Download presentation
Presentation is loading. Please wait.
Published byClinton Pope Modified over 8 years ago
1
1 Job Shop Scheduling
2
2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily the same for each job Machine can be visited once or more than once (recirculation)
3
3 Job Shop Problem Network Formulation Let us consider the example with 4 m/c & 3 jobs The route of the jobs as well as their processing times are given below Job m/c sequence Processing time 1 1- 2 -3 P 11 =10 P 21 =8 P 31 =4 2 2-1-4-3 P 22 =8 P 12 =3 P 42 =5 P 32 =6 3 1-2-4 P 13 =4 P 23 =7 P 43 =3 where P ij job J processed on m/c i
4
4 Construction of the Network S 1,3 1,1 2,2 2,1 1,2 2,3 3,1 T 4,3 4,23,2 000000
5
5 Problem : Jm | | C max Node (i, j) represents the operation of j th job on i th machine P ij processing time of job j on machine i G = (N, A B) A: Solid (Conjunctive) arcs represent the precedence relationships between operation of a single job. Operation (i, j) precedes (k, j)
6
B: Broken (Disjunctive) arcs represent the precedence relationships between operation of a single machine. Disjunctive arcs B represent conflicts on machines. Two operations (i, j) and (i, l) are connected by two arcs going in opposite direction. Two dummy nodes S and T representing source and sink. Arcs from S to all first operations of jobs. Arcs from all last operations of jobs to T A feasible schedule corresponds to a selection of at most one (disjunctive) broken arcs from each such pair such that the resulting directed graph is acyclic 6
7
7 How to construct a feasible schedule? Select D - a subset of disjunctive arcs (one from each pair) such that the resulting directed graph G(D) has no cycles. Graph G(D) contains conjunctive arcs + D. D represents a feasible schedule. A cycle in the graph corresponds to a schedule that is infeasible.
8
8 S 1,3 1,1 1,2 2,3 2,1 4,2 4,3 3,1 3,2T 2,2 108 0 4 0 0 8356 47 3 The makespan of a feasible schedule is determined by the longest path in G(D) from S to T. Minimise makespan: find a selection of disjunctive arcs that minimises the length of the longest path (the critical path).
9
9 Selection A subset is called a selection if it contains from each pair of disjunctive arcs exactly one. A selection D is feasible if the resulting directed graph G (D) = (N, A D) i.e. graph with conjunctive and selected disjunctive arcs is acyclic.
10
10 Remarks 1.A feasible selection leads to a sequence in which operations have to be processed on machines. 2.Each feasible selection leads to a feasible schedule.
11
11 Ex. Machines – M 1, M 2, M 3 Jobs J 1 where (3, 1) (2, 1) (1, 1) J 2 where (1, 2) (3, 2) J 3 where (2, 3) (1, 3) (3, 3) Duration P 31 = 4P 21 = 2 P 11 = 1 P 12 = 3P 32 = 3 P 23 = 2P 13 = 4 P 33 = 1
12
12 Feasible Selection Represents conjunctive arcs Selection u 2,3 3,1 1,2 2,1 3,2 1,3 1,1 v 3,3
13
13 J 3 J 1 J 2 J1J1 J 1 J 3 J 2 J 3 M1M1 M3M3 M2M2 5 10 15 20 Make Span C max = 20 Corresponding Schedule
14
14 Selection for given schedule Selection u 2,3 3,1 1,2 2,1 3,2 1,3 1,1 v 3,3
15
15 J 1 J 2 J3J3 M1M1 M3M3 M2M2 J 1 J 3 5 10 12 J 3 J 1 J 2 Make Span C max =12
16
16 Disjunctive Programming Formulation Minimizing C max Subject to where y ij denotes starting time of operation (i, j) } for all (i, l) & (i, j) i = 1, 2, …..,m for all C max
17
17 Some ordering must exists among operation of different job that are processed on same machine. Solution procedures for J m / C max are based either on enumerative or heuristic. No standard solution procedure available that will work satisfactory. Two popular heuristic algorithms: (i) schedule generation algorithm. (ii) shifting bottleneck heuristic algorithm;
18
18 Algorithm for Non Delay Schedule Generation - A partial schedule containing t scheduled operations - The set of schedulable operations at stage t corresponding to a given - The earliest time at which operation could be started - The earliest time at which operation could be completed
19
19 is determine by the completion time of the direct predecessor of operation J and latest completion time on the machine required by operation J –The larger of these quantities is –The potential finish time where is processing time of operation J Here (i, j, k) represents job i operation J on machine k
20
20 Algorithm Step 1 – Let t = 0 and includes all operations with no predecessor. Step 2 – Determine and the machine on which could be realized Step 3 – For each operation that requires machine and for which create a new partial schedule in which operation J is added to and started at time
21
21 Step 4 – For each new partial schedule created in step 3, update the data set as follows (a) Remove operation J from (b) Form by adding the direct successor of operation J to (c) Increment t by 1 Step 5 – Return to step 2 for each created in step 3 and continue in this fashion until all non delay schedules have been generated. The quality of the solution obtained by the heuristic mainly depends on the effectiveness of priority rules which are used in them.
22
22 A Sample Set of Priority Rules 1.SPT – Select the job with min. processing time 2.FCFS – Select the operation that entered earliest 3.MWKR – (Most work remaining) – Select the operation associated with the job having the most work remaining to be processed 4.MOPNR – (Most operation remaining) – Select the operation that has the largest number of successor operation 5.Random – Select the operation at random
23
23 Ex. Find the schedule using non delay schedule generation heuristic with following primary rules First level priority rule – MWKR (Most work remaining) Second level priority rule – SPT Third level priority rule – Random order
24
24 Processing time Routing 12341234 1 2 3 12341234 2 3 4 4 4 1 2 2 3 3 3 1 1 2 3 3 2 1 2 3 1 1 3 2 Job Operation Job Operation
25
25 At t = 0 for all *Therefore, priority rule must be involved to select among all four operation [MWKR] Earliest time at which operation could be started JobOperation M/c
26
26 R 1 = 9 R 2 = 9 R 3 = 7 R 4 = 7 MWKR = 9 is not unique. This is occurring for job 1 and job 2 Now, a tie breaking rules is needed SPT is used as tie breaking rule Now t 111 < t 213
27
27 This means PS 1 consists of operation {(1, 1, 1)} started at time 0 PS 1 = {(1, 1, 1)} f 1 = 2, f 2 = 0, f 3 = 0 M/c1 M/c3 M/c2 (1, 1, 1) 2 4 6
28
28 At this stage for two operations in S 1. Thus priority rule must be involved to choose between (2, 1, 3) and (3, 1, 2)
29
29 By applying MWKR, we get R 2 = 9 R 3 = 7 since R 2 > R 3 (2, 1, 3) is added to PS 1 to form PS 2 = {(1, 1, 1), (2, 1, 3)} f 1 = 2, f 2 = 0, f 3 = 4 M/c1 M/c3 M/c2 (1, 1, 1) 2 4 6 (2, 1, 3)
30
30 Now Operation 1 of job 2 is to be completed in M/c 3
31
31 *The minimum is for & it is unique. Add this to partial schedule PS 3 PS 3 = {(1, 1, 1), (2, 1, 3), (3, 1, 2)} f 1 = 2, f 2 = 2, f 3 = 4 M/c1 M/c3 M/c2 (1, 1, 1) 2 4 6 (2, 1, 3) (3, 1, 2)
32
32
33
33 At this stage for two operation Thus priority rule must e involved to choose between (1, 2, 2) and (4, 1, 1) R 1 = 7 R 4 = 7 MWKR is not unique. Now SPT is used as tie breaker & t 122 = t 411 After it is resolved randomly in favor of (4, 1, 1) PS 4 = {(1, 1, 1), (2, 1, 3), (3, 1, 2), (4, 1, 1)} f 1 = 5, f 2 = 2, f 3 = 4
34
34 S4 = {(1, 2, 2), (2, 2, 2), (3, 2, 3), (4, 2, 3)} Operation 1 of job 4 in M/c 1 takes 5 minutes
35
35 Now (1, 2, 2) is added to PSt Thus PS 5 = {(1, 1, 1), (2, 1, 3), (3, 1, 2), (4, 1, 1), (1, 2, 2)} f 1 = 5, f 2 = 5, f 3 = 4 Now S 5 = {(1, 3, 3), (2, 2, 2), (3, 2, 3), (4, 2, 3)}
36
36 This minimum corresponds to (3, 2, 3) only partial schedule PS 6 = {(1, 1, 1), (2, 1, 3), (3, 1, 2), (4, 1, 1), (1, 2, 2), (3, 2, 3)} In this way we have to proceed to stage to complete the entire schedule The final schedule is given as P 12 = {(1, 1, 1), (2, 1, 3), (3, 1, 2), (4, 1, 1), (1, 2, 2), (3, 2, 3) (2, 2, 2), (2, 3, 1), (4, 2, 3), (3, 3, 1), (1, 3, 3), (4, 3, 2)}
37
37 M/c1 M/c3 M/c2 (1, 1, 1) (4, 1, 1) 2 5 9 10 13 (2, 1, 3) (3, 2, 3) (4, 2, 3) (1, 3, 3) (3, 1, 2) (1, 2, 2) (2, 2, 2) (4, 3, 2) (2, 3, 1) (3, 3, 1) 2
38
38 Further Reading 1. Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995, or new: Second Addition, 2002 Chapter 6 or 2. Operations Scheduling with Applications in Manufacturing and Services, Michael Pinedo and Xiuli Chao, McGraw Hill, 2000 Chapter 5
39
THANKS 39
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.