Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.

Similar presentations


Presentation on theme: "1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily."— Presentation transcript:

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


Download ppt "1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily."

Similar presentations


Ads by Google