Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)

Similar presentations


Presentation on theme: "1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)"— Presentation transcript:

1 1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)

2 2 Job shop (Jm) m machines, n jobs m machines, n jobs Each job has its own routing on the machines Each job has its own routing on the machines –The flow shop is a special case where all the jobs follow the same route (recall F3||C max is NP-hard) –If a job is to be processed on the same machine more than once => recirculation

3 3 Section 7.1. Disjunctive graph for Jm||C max In Jm||C max there is no recirculation In Jm||C max there is no recirculation All jobs start at a source node U and finish at the sink node V All jobs start at a source node U and finish at the sink node V Node (i,j) is the processing of job j on machine i Node (i,j) is the processing of job j on machine i –Let N denote the set of nodes The arc from node (i,j) has weight p ij The arc from node (i,j) has weight p ij –The arcs going out of the source node have zero weights –Let A denote the set of arcs

4 4 Disjunctive graph (2) For each machine i connect all nodes of the form (i,j) and (i,k) with two arcs (one going in each direction) For each machine i connect all nodes of the form (i,j) and (i,k) with two arcs (one going in each direction) –The arcs for each machine form a clique, i.e., a sub-graph in which any two nodes are connected to one another The two arcs are disjunctive, i.e., only one of them is utilized The two arcs are disjunctive, i.e., only one of them is utilized –If the operation (i,j) precedes operation (i,k) then only the arc from (i,j) to (i,k) and not the arc from (i,k) to (i,j) is utilized –Let B denote the set of disjunctive arcs

5 5 Using the graph to find a feasible schedule Select one disjunctive arc from each pair of disjunctive arcs Select one disjunctive arc from each pair of disjunctive arcs If the selection results in an acyclic graph, i.e., contains no cycles, then the corresponding schedule is feasible If the selection results in an acyclic graph, i.e., contains no cycles, then the corresponding schedule is feasible The makespan of the schedule is determined by the critical path method The makespan of the schedule is determined by the critical path method

6 6 Minimizing the makespan To minimize the makespan we need to select the arcs that results in a schedule that minimizes the makespan To minimize the makespan we need to select the arcs that results in a schedule that minimizes the makespan Disjunctive program Disjunctive program –y ij is the starting time of operation (i,j) minimize C max subject to y kj -y ij ≥p ij  (i,j)  (k,j) C max -y ij ≥ p ij  (i,j) y ij -y il ≥p il or y il -y ij ≥p ij  (i,l) and (i,j), i=1,…,m y ij ≥0  (i,j)

7 7 Minimizing the makespan (2) Solving this problem can be achieved by a branch and bound algorithm Solving this problem can be achieved by a branch and bound algorithm –The algorithm is computationally expensive even for a problem with a modest number of jobs and machines Use heuristic methods instead Use heuristic methods instead

8 8 Section 7.2: The shifting bottleneck heuristic Example 7.2.2 Example 7.2.2 job machine sequence processing times 1 1, 2, 3 p 11 =10, p 21 =8, p 31 =4 2 2, 1, 4, 3 8, 3, 5, 6 3 1, 2, 4 4, 7, 3

9 9 Example 7.2.2: Disjunctive graph U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,3 0 0 10 0 8 4 8 3 5 6 4 7 3

10 Example 7.2.2: Iteration 1 M 0 =Set of machines already scheduled=  M 0 =Set of machines already scheduled=  Only include the conjuctive arcs Only include the conjuctive arcs Compute C max (M 0 )=22 Compute C max (M 0 )=22 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,3 0 0 10 0 8 4 8 3 5 6 4 7 3

11 11 Ex. 7.2.2: Iter. 1 Which machine to sched. first? Solve 1|r j |L max for each machine i Solve 1|r j |L max for each machine i –Release dates r ij =longest path from U to node (i,j) r ij =longest path from U to node (i,j) –Due dates d ij = C max (M 0 ) d ij = C max (M 0 ) - longest path from (i,j) to V - longest path from (i,j) to V + p ij + p ij The machine with the largest minimum L max is the bottleneck machine The machine with the largest minimum L max is the bottleneck machine

12 12 Ex. 7.2.2: Iter. 1. 1|r j |L max Machine 1: Machine 1: –How do we solve this problem? –Branch and bound algorithm gives L max (1)=5 Machine 2: Machine 2: –Branch and bound algorithm gives L max (2)=5 job j 123 p 1j 1034 r 1j 080 d 1j 101112 job j 123 p 2j 887 r 2j 1004 d 2j 18819

13 13 Ex. 7.2.2: Iter. 1. 1|r j |L max Machine 3: Machine 3: –Only 2 schedules! L max (3)=4 Machine 4: Machine 4: –Only 2 schedules… L max (4)=0 job j 123 p 3j 46- r 3j 1816- d 3j 2222- job j 123 p 4j -53 r 4j -1111 d 4j -1622

14 14 Ex. 7.2.2: Iter. 1 Which machine to sched. first? (2) Machines 1 and 2 both have a minimum L max of 5 Machines 1 and 2 both have a minimum L max of 5 We can choose either machine so let’s pick machine 1 => M 0 ={1} We can choose either machine so let’s pick machine 1 => M 0 ={1} U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,3 0 0 10 0 8 4 8 3 5 6 4 7 3 3

15 15 Ex. 7.2.2: Iteration 2 Compute C max (M 0 )=27 Compute C max (M 0 )=27 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,3 0 0 10 0 8 4 8 3 5 6 4 7 3 3

16 16 Ex. 7.2.2: Iteration 2. 1|r j |L max Machine 2 Machine 2 –B&b algorithm gives L max (2)=1 w/sequence 2-1-3 Machine 3 Machine 3 –L max (3)=1 w/sequences 1-2 and 2-1 Machine 4 Machine 4 –L max (4)=0 w/sequence 2-3 Add machine 2 to M 0 so M 0 ={1,2} Add machine 2 to M 0 so M 0 ={1,2} job j 123 p 2j 887 r 2j 10017 d 2j 231024 job j 123 p 4j -53 r 4j -1324 d 4j -2127

17 17 Ex. 7.2.2: Iteration 2 Resequencing Should we re- sequence machine 1 to decrease C max (M 0 )? Should we re- sequence machine 1 to decrease C max (M 0 )? 1-2-3 gives L max (1)=0 1-2-3 gives L max (1)=0 –which is optimal since lateness of job 1 increases if it is delayed Do not resequence machine 1 Do not resequence machine 1 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,3 0 0 10 0 8 4 8 3 5 6 4 7 3 8 8 job j 123 p 1j 1034 r 1j 080 d 1j 101718

18 18 Ex. 7.2.2: Iteration 3 Compute C max (M 0 )=28 Compute C max (M 0 )=28 U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,3 0 0 10 0 8 4 8 3 5 6 4 7 3 3 8 8

19 19 Ex. 7.2.2: Iteration 3. 1|r j |L max Machine 3 Machine 3 –L max (3)=0 Machine 4 Machine 4 –L max (4)=0 w/sequence 2-3 job j 123 p 3j 46- r 3j 1818- d 3j 2828- job j 123 p 4j -53 r 4j -1325 d 4j -2228

20 20 Ex. 7.2.2: Iteration 3 Conclusion Sequencing machines 3 and 4 does not increase the makespan of C max (M 0 )=28 Sequencing machines 3 and 4 does not increase the makespan of C max (M 0 )=28 –No need to try to resequence U2,21,2 1,12,13,1 4,2 V 3,2 1,32,34,3 0 0 10 0 8 4 8 3 5 6 4 7 3 3 8 8 4 5

21 21 Ex. 7.2.2: Gantt chart 123 231 12 23 0 1013 17 818222528

22 22 Algorithm 7.2.1: The shifting bottleneck heuristic 1. Initialization. Set M 0 = . Graph G contains only the conjunctive arcs 2. Solve a maximum lateness problem for each machine that has not been sequenced. 3. Sequence the machine that has the maximum minimum maximum lateness 4. Add it to M 0 and add the disjunctive arcs to G for that machine 5. Resequence all machines in M 0 one at a time, except the last added machine. Modify the disjunctive constraints accordingly 6. Stop if all machines have been sequenced, otherwise go to step 2.

23 23 An implementation issue with the heuristic Recall: The disjunctive constraints must be selected such that the resulting graph is acyclic Recall: The disjunctive constraints must be selected such that the resulting graph is acyclic In the SBH heuristic a cycle can be created In the SBH heuristic a cycle can be created This can be prevented by adding precedence constraints (arcs) having a delay (a positive weight) This can be prevented by adding precedence constraints (arcs) having a delay (a positive weight)

24 24 Example 7.2.3. Delayed precedence constraints job machine sequence processing times 1 1, 2 p 11 =1, p 21 =1 22,1 1, 1 334 434


Download ppt "1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)"

Similar presentations


Ads by Google