Download presentation
Presentation is loading. Please wait.
Published byAbraham Austin Modified over 9 years ago
1
1 Operation Scheduling- II The Multi-Machine Case Look! There are two machines.
2
2 Chuck. Before you go to the highly interesting multi- machine case, could you show us a real-world single machine scheduling problem having makespan as a meaningful criteria? C max = max i=1,n {C i }, makespan C i = completion time of job i
3
3 A Real-World Example The machine: LeBlond Makino 5, axis CNC Wire EDM (Electronic Discharge Machining) Objective: Maximize machine utilization rate (machine can run unattended)
4
4 Electronic Discharge Machining (EDM) A machining process that uses an electrode to remove metal, or any other conductive material, from a workpiece by generating sparks between conducting surfaces. The electrode is the cutting tool for the EDM process and cuts the workpiece with the shape of the electrode. This material removal technique uses electricity to remove metal by means of spark erosion. During this process, sparks are created between the electrode and the workpiece. The energy from the electrode dissipates the workpiece and the desired shape is formed.
5
5 Data for a Real-World Example Jobs: Received in batches. Set-up times are estimated. Machine processing times are based upon path length and work thickness. Example: Job 3 has a machining path length of 49.05 inches and a work thickness of 2.5 inches. Linear machine speed at this thickness is.05 inches per minute. Estimated setup time is 180 minutes. Total job time is 49.05/.05 + 180 = 1161 minutes.
6
6 The Problem: 0 0800 16002400 machine attended 0703 1730 Job #SetupMachineProcessProcess TimeTimeTime (min.)Time (hr.) J1180981116119.35 J24560565010.83 J3453213666.1 J47566774212.37 J590974106417.73 J67563671111.85 total78.23 = 3.26 days FCFS: 1 –2 –3 – 4 – 5 –6 C max = 7090 min. (4.9 days) and I = 2426 min. Optimal: 1 – 4 – 5 –3 – 6 – 2 ; C max = 4763 min. (3.3 days), I = 99 min.
7
7 Scheduling on Parallel Machines jobs … assumptions: 1.any job can be processed on any machine. 2.process time is identical on each machine (i.e. they are identical machines). 3.once a job is processed on a machine, it is completed. Machine m Machine 1 Machine 2
8
8 List schedules 0. let H i = 0, i=1,2,…,m be the assigned workload on machine i 1.Assign job j to machine i: then H’ i = H i + t j 2.set C j = H’ i 3.once a job has been assigned to each machine, then assign the next job to the machine having the smallest H i. Minimize Flowtime: Schedule jobs in ascending order of their processing times (SPT). Minimize Makespan: Schedule jobs in descending order of their processing times (LPT). (good heuristic with bound given by C max (LPT) / C* max <= 4/3 – 1/(3m)
9
9 Example Problem – FCFS (SPT) job12345678 time13456101011 job9101112131415 time12131314161819 m = 3 Machine 1Machine 2Machine 3 jt j C j jt j C j jt j C j 111233344111233344 467591261014 710178112391226 101330111336121440 131646141854151959 F = 372 and makespan = 59
10
10 More Example Problem - LPT job12345678 time13456101011 job9101112131415 time12131314161819 m = 3 Machine 1Machine 2Machine 3 jt j C j jt j C j jt j C j 151919141818131616 101332111331121430 710428114291242 6105259514648 115323543452 F = 582 and makespan = 54
11
11 m = 3 Machine 1Machine 2Machine 3 jt j C j jt j C j jt j C j 111233344 6101159124610 710218112391222 101334111336121436 151953141854131652 F = 372 and makespan = 54 Apply SPT to each machine: Hey, that is pretty neat. You have minimized flowtime without the makespan getting larger. Will that always happen?
12
12 Flow Shops Machine 1 Machine 2 Machine m jobs … … The two-machine problem: Johnson’s algorithm Schedule n jobs on two machines to minimize makespan or flowtime The optimal schedule is always a permutation. Therefore, there are n! alternates and the two machine problem is roughly of the same order of difficulty as the single machine problem.
13
13 2-job, 2-machine problem Machine A Machine B Machine A Machine B Machine A Machine B Machine A Machine B 12 12 2 2 2 1 1 1 2 2 2 1 1 1
14
14 Non-permutation Schedules Different job sequences occur on different machines. Machine 1 Machine 2 Machine 3 2 4 3 15 5 1 3 2 4 4 2 3 5 1 Oh I get it. The job order is different on each machine.
15
15 The Two Machine Problem Theorem: The optimal sequence of jobs is always the same on both machines. Machine 1 Machine 2 i i j j reverse i – j on either machine to decrease flowtime Machine 1 Machine 2 i j j i Machine 1 Machine 2 j i i j
16
16 Johnson’s Algorithm (1954) Label machine 1 – A and machine 2 – B: Rule: Job i precedes job i+1 if min {t i,A, t i+1,B } < min {t i+1,A t i,B } 1.List the values of t i,A and t i,B in two columns 2.Find the smallest remaining time in the two columns. a.If it appear in Col A, then schedule that job next. b.If it appears in Col B, then schedule that job just prior to the previous last job 3.Cross off the jobs as they are scheduled. Stop once all jobs have been scheduled. The two Machine problem
17
17 Johnson’s Algorithm - Example n =5 ; m = 2 JobA B 1.52 2.16 3.97 4.38 5.104 214 5 3 first: last 1 2 39 64 105 87 C max = 30
18
18 Anybody can do two machines. What about three? Bet you can’t do three!
19
19 The Three Machine Problem If min t i,1 >= max t i,2 or min t i,3 >= max t i,2 convert to a 2-machine problem by setting t’ i,1 = t i,1 + t i,2 and t’ i,2 = t i,2 + t i,3 If the middle machine is dominated by either the 1 st or 3 rd, then it cannot cause a delay in the schedule. A job starts on a machine as soon as the previous job on the machine has completed or as soon as its operation on the previous machine has completed. A permutation schedule is optimal in general for the 3-machine problem if the objective is to minimize makespan or total flowtime!
20
20 The Three Machine Problem - Example JobM1M2M3 J1539 J2725 J3437 J4843 J5622 J6708 min {t i, 1 ; i = 1,6} = 4 max {t i, 2 ; i = 1,6} = 4 JobM’1M’2 J1812 J297 J3710 J4127 J584 J678 Johnson’s algorithm: 3 – 6 – 1 – 2 – 4 - 5
21
21 m-machine Heuristics The Cambell, Dudek, & Smith (CDS) heuristic: convert m-machine problem into a 2-machine problem. 1.set k = 1 and l = m and generate a Johnson schedule. 2.set k = 2 and l = m-1 and repeat 3.continue until k = m-1 and l = 2. 4.the best of the m-1 schedules is used.
22
22 m-machine Heuristics - Example JobMachine 1Machine 2Machine 3Machine 4 J15645 J24735 J39553 J46841 k = 1; m = 4 JobMachine 1Machine 4 J155 J245 J393 J461 Johnson’s algorithm: 2 – 1 – 3 – 4 C max = 37
23
Finding Cmax 23 job2 job 1 job 3 job 4 startt2finishstartt1finishstartt3finishstartt4finish Machine 1 0444599918 624 Machine 2 4711 6171852328836 Machine 3 11314174212352833437 Machine 4 14519215262833134135 2 – 1 – 3 – 4 C max = 37 JobM1M2M3M4 J15645 J24735 J39553 J46841
24
24 m-machine Heuristics - Example JobMachine 1Machine 2Machine 3Machine 4 J15645 J24735 J39553 J46841 k = 2; m = 3 JobM1/2M3/4 J1119 J2118 J3148 J4145 Johnson’s algorithm: 1 – 2 – 3 – 4 C max = 37
25
25 m-machine Heuristics - Example JobMachine 1Machine 2Machine 3Machine 4 J15645 J24735 J39553 J46841 k = 3; m = 2 JobM1/2/3M2/3/4 J11515 J21415 J31913 J41813 Johnson’s algorithm: 2 – 1 – 3 – 4 C max = 37
26
26 More m-machine Heuristics Gupta’s algorithm: permutation sequence determined by: s [1] >= s [2] >= … >= s [n] Don’t let this happen to you! I didn’t use the Gupta heuristic. Now my makespan is too long! Form a relationship which holds for Johnson’s algorithm (when m=2)
27
27 Gupta’s Algorithm - Example Job12345 t i,1 64395 t i,2 81956 t i,3 21586 s 1 = -1/10;s 2 = -1/2;s 3 = 1/12;s 4 = -1/13;s 5 = 1/11 sequence:5 – 3 – 4 – 1 –2C max = 36 53 1 2 9 6 64 958 6581 27 34 36
28
28 Job Shops Machine A Machine DMachine C Machine B Job 1 Job 2 (N!) M Sequences Job 3
29
29 Two-machine Job Shop Jackson’s algorithm to minimize makespan: {A} – jobs processed only by machine A {B} – jobs processed only by machine B {AB} – jobs processed by machine A then B {BA} – jobs processed by machine B then A rules for machine A: 1.jobs in {AB} should precede jobs in {BA} 2.jobs in {A} should precede jobs{BA} 3.No {A} job should precede {AB} on machine A therefore ordering for A: {AB}{A}{BA} and ordering for B: {BA}{B}{AB}
30
30 Jackson’s Algorithm to determine the order within a set: Machine A: {AB} jobs ordered by Johnson’s algorithm, then {A} in any order, followed by {BA} jobs in reverse Johnson’s order. Machine B: {BA} jobs ordered by reverse Johnson’s algorithm, then {B} in any order, followed by {AB} jobs in Johnson’s order.
31
31 Two-machine Job Shop - Example 12345678910 BAABBABAABBBABAAB 311103908132 8101310861066 Job route t i,1 t 1,2 {A} = {5};{B} = {4,7};{AB} = {2,6,10};{BA} = {1,3,8,9} Machine A: {AB} Job2610 t i,1 192 t i.2 1086 Johnson’s algorithm: 2 – 10 - 6
32
32 Two-machine Job Shop - Example 12345678910 BAABBABAABBBABAAB 311103908132 8101310861066 Job route t i,1 t 1,2 {BA} Job1389 t i,1 311813 t i.2 813106 Johnson’s algorithm: 1 – 8 – 3 – 9 reverse: 9 – 3 – 8 - 1 A: 2 – 10 – 6 – 5 – 9 – 3 – 8 – 1 B: 9 – 3 – 8 – 1 – 4 – 7 – 2 – 10 – 6C max = 67 {A} = {5};{B} = {4,7};{AB} = {2,10,6};{BA} = {1,8,3,9}
33
33 2-job, m-machine problem machine jobabcdtotalordering 1253212a-b-c-d 2352616d-b-a-c job 1 job 2 02468101214 20 15 10 5 - a b c d cabdcabd a b c d. (12,16)
34
34 Dispatching Rules 1.SPT 2.FCFS 3.MWKR – most work remaining 4.EDD 5.SLK (slack): s = d – t p – t (t is current time) 6.CR (critical ratio) 7.SLK/OP – slack to operations remaining (d – t p – t ) / ( m – j + 1) Schedule an operation as soon as possible. If more than one job waiting to be processed at the same machine, schedule the one with the best priority. The Human Machine
35
35 Results for Multiple Machines Parallel Machines Use SPT (min flowtime) or LPT (min makespan) Flow Shops The optimal solution for scheduling n jobs on two machines is always a permutation schedule (that is, jobs are done in the same order on both machines). (This is the basis for Johnson’s algorithm.) For three machines, a permutation schedule is still optimal if we restrict attention to total flow time only. Under rare circumstances, the two machine algorithm can be used to solve the three machine case. Use Cambell, Dudek, & Smith (CDS) or Gupta heuristic for n jobs, m machines Job Shops When scheduling n jobs on 2 machines, use Jackson’s algorithm When scheduling two jobs on m machines, the problem can be solved by graphical means.
36
36 The scheduling but not the discussion ends… Is not. Cambell, Dudek, & Smith (CDS) heuristic is better. The Gupta algorithm is best!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.