Job Shop Scheduling 1 Job shop environment m
Job Shop Scheduling 1
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) 2
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 Pij job J processed on m/c i 3
Construction of the Network 1, 1 2, 1 3, 1 2, 2 1, 2 4, 2 1, 3 2, 3 4, 3 0 S 0 3, 2 T 0 4
Problem : Jm | | Cmax Node (i, j) represents the operation of jth job on ith machine • Pij 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) 5
• 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
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. 7
10 1, 1 8 2, 1 3, 1 4 0 S 0 8 2, 2 1, 2 3 4, 2 5 T 3 0 1, 3 • 3, 2 6 4 2, 3 7 4, 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). 8
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. 9
Remarks 1. 2. A feasible selection leads to a sequence in which operations have to be processed on machines. Each feasible selection leads to a feasible schedule. 10
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 = 4 P 21 = 2 P 12 = 3 P 32 = 3 P 23 = 2 P 13 = 4 P 11 = 1 P 33 = 1 11
Feasible Selection u 3, 1 2, 1 1, 2 3, 2 2, 3 1, 1 v 3, 3 Represents conjunctive arcs Selection 12
M 1 Corresponding Schedule J 3 M 2 M 3 J 1 J 2 J 3 5 10 15 20 Make Span Cmax = 20 13
Selection for given schedule u 3, 1 2, 1 1, 2 3, 2 2, 3 1, 1 v 3, 3 Selection 14
M 1 M 2 M 3 J 2 J 1 J 3 J 1 J 2 5 J 3 10 12 Make Span Cmax =12 15
Disjunctive Programming Formulation Minimizing Cmax Subject to for all where yij denotes starting time of operation (i, j) Cmax for all } for all (i, l) & (i, j) i = 1, 2, …. . , m for all 16
• Some ordering must exists among operation of different job that are processed on same machine. • Solution procedures for Jm / Cmax 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; 17
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 completed could be started could be 18
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 19
Algorithm Step 1 – Let t = 0 and includes all operations with no predecessor. Step 2 – Determine on which and the machine 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 20
Step 4 – For each new partial schedule update the data set as follows created in step 3, (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. v The quality of the solution obtained by the heuristic mainly depends on the effectiveness of priority rules which are used in them. 21
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 22
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 23
Processing time Routing Operation 1 2 3 4 2 4 4 3 2 4 3 Job 1 2 3 2 1 2 3 3 2 3 1 4 1 3 2 Job 24
At Job Operation t=0 M/c for all *Therefore, priority rule must be involved to select among all four operation [MWKR] Earliest time at which operation could be started 25
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 26
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/c 1 (1, 1, 1) M/c 2 M/c 3 2 4 6 27
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) 28
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/c 1 (1, 1, 1) M/c 2 M/c 3 (2, 1, 3) 2 4 6 29
Now Operation 1 of job 2 is to be completed in M/c 3 30
*The minimum is for schedule PS 3 & it is unique. Add this to partial PS 3 = {(1, 1, 1), (2, 1, 3), (3, 1, 2)} f 1 = 2, f 2 = 2, f 3 = 4 M/c 1 (1, 1, 1) M/c 2 (3, 1, 2) M/c 3 (2, 1, 3) 2 4 6 31
32
• 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 33
S 4 = {(1, 2, 2), (2, 2, 2), (3, 2, 3), (4, 2, 3)} Operation 1 of job 4 in M/c 1 takes 5 minutes 34
• 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)} 35
• 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 the entire schedule stage to complete 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)} 36
M/c 1 (1, 1, 1) (4, 1, 1) 2 M/c 2 (3, 1, 2) (2, 3, 1) 5 (1, 2, 2) 9 (2, 2, 2) 10 (3, 3, 1) 13 (4, 3, 2) 2 M/c 3 (2, 1, 3) (3, 2, 3) (4, 2, 3) (1, 3, 3) 37
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, Mc. Graw Hill, 2000 Chapter 5 38
THANKS 39
- Slides: 39