Production Scheduling (For People Who Really Have To Do It) Robert E.D. (Gene) Woolsey, Ph.D., F.I.D.S. With Ruth Maurer, Ph.D. Volume I in the Useful Management Series
© 2000 Lionheart Publishing, Inc. Printed in USA All rights reserved. No part of this publication may be reproduced or transmitted, in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or stored in any retrieval system of any nature, without written consent of the copyright holder. Portable Document Format (PDF) version may be printed no more than twice. Purchaser may make one electronic copy of the file for backup purposes. This file should not be placed in a network accessable directory. This file must not be redistributed or republished by any means without written consent of the copyright holder.
Contents
Production Scheduling (For People Who Really Have To Do It) Robert E.D. (Gene) Woolsey, Ph.D., F.I.D.S. With Ruth Maurer, Ph.D. Volume I in the Useful Management Series Preface: Questions and Answers About this Book . . . . . . . . . . . . . . . . . . . . . . . . 3 Chapter 1. Quick and Dirty Multiple Process Scheduling . . . . . . . . . . . . . . . . . . 5 • The Beginning: The Two-Machine Job Shop • Three-Machine Job Shop (With Dominance) • M-Machine Job Shop, Gupta’s Method • Two-Machine Job Shop with Technological Ordering • M-Machine Job Shop with Technological Ordering • Synopsis • References • Quick and Dirty Methods for Multiple Process Scheduling I • Quick and Dirty Methods for Multiple Process Scheduling II • Multiple Process Scheduling Practice Problems I • Multiple Process Scheduling Practice Problems II Chapter 2. Obtaining Data You Can Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 • Time and Motion Studies and Other Amusements • Example of a Company Doing It Dead Wrong • Example of a Company That Is Still Learning • Example of a Company Doing It Dead Right Chapter 3. Quick and Dirty Single Process Scheduling . . . . . . . . . . . . . . . . . . . 24 • The Beginning: Treating The Shop As A Single Process • Minimizing the Average Completion Time; Minimizing The Average Flow Time; Minimizing The Average Waiting Time • Minimizing the Maximum Tardiness • Maximizing the Minimum Tardiness • Minimizing the Number of Late Jobs • Van Drew’s Chart • Minimizing the Average Completion Time with Priority; Minimizing the Average Flow Time with Priority; Minimizing the Average Waiting Time with Priority • Reducing Maximum Tardiness with Priority • Increasing Minimum Tardiness with Priority • Reducing the Average Completion Time with Precedence; Reducing the Average Flow Time with Precedence; Reducing the Average Waiting Time with Precedence • Minimizing Maximum Tardiness with Precedence • Maximizing Minimum Tardiness with Precedence • Minimizing Set-Up, Tear-down Time on One Process • References • Quick and Dirty Methods For Single Process Scheduling I • Quick and Dirty Methods For Single Process Scheduling II • Single Process Scheduling Practice Problems I
1 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Contents
• Single Process Scheduling Practice Problems II • Single Process Scheduling Practice Problems III Chapter 4. Survival Scheduling with Hodgson’s Rule or See How Those Salesmen Love One Another . . . . . . . . . . . . . . . . . . . . . . . . 47 • Hodson’s Rule • References Chapter 5. Quick and Dirty Parallel Machine Scheduling . . . . . . . . . . . . . . . . . 51 • The Beginning: Bedworth & Bailey’s Methods • Method 1: Minimizing Mean Flow Time on M Parallel Machines • Method 2: Reducing Makespan and Mean Flow Time on M Parallel Machines • Method 3: Reducing Maximum Tardiness on M Parallel Machines • Method 4: Reducing Tardiness on M Parallel Machines • Method 5: Reducing Number of Late jobs on M Parallel Machines • Final Comments • References • Quick and Dirty Methods For Parallel Process Scheduling I • Parallel Process Scheduling Practice Problems I • Parallel Process Scheduling Practice Problems II Chapter 6. Scheduling in the Real World, Final Warnings . . . . . . . . . . . . . . . . . 61 • Multiple Process Politics • Single Process Politics • Parallel Process Politics • (Computer) Systems and Politics • Final Words: Fredrick Taylor was Right • Getting System Acceptance • Reference Chapter 7. On System Acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 • Homework • The Beginning • The Middle • The End
Dedication This book is dedicated to our spouses, we are both a lot to put up with, we know it, and we are grateful.
2 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Preface
Questions and Answers About This Book What is this book for? This is a cookbook of Quick and Dirty Methods for solving problems in realworld, no-nonsense production scheduling. Who is this book for? This book is for bottom- to middle-level managers, management in third-world countries, and small businesses where computers are either too expensive or labor is too cheap or too uneducated to justify anything but the use of common sense. Although the material here is taught at the graduate level at schools in four countries, it is also aimed at unpretentious colleges and business schools that want to teach people something they can use! How smart does the reader have to be? Smart enough to know that there are no pure technical problems in this world. There are just technical problems inbedded in political problems. This book is dedicated to the idea that if you don’t deal with the political problems as well as you deal with the technical problems, the political problems will deal with YOU! Does this imply that politics will be covered too? You bet! At the end of each method there will be a “political discussion” covering the political good news and bad news you might run into when using that particular method. Every other chapter is a political chapter. These chapters will discuss political realities with guidance and/or one or more war stories of application or misapplication of the previously covered techniques for the amusement and edification of the user. Most of these have appeared over the last 20 years in a journal called Interfaces, the journal of practice of INFORMS (the Institute for Operations Research and Management Science). Most of the stories happened to the first author and contributed greatly to his survival skills. Do I need calculus, algebra, or statistics to use this book? NO! Only common sense is required. Does this book come with computer programs and/or a diskette? NO, the methods are so straightforward that any person with some elementary programming skills would probably be able to bring them up in BASIC or LOTUS 1-2-3 in less than half an hour. I’m an assistant professor at a business school, can I teach from this book? YES, if you ever met a payroll in the real world. Otherwise, NO! This book is only an outline. Actual experience is an absolute requirement to flesh out this book enough for classroom use. Also, if you want to get promoted, and are resident at a
3 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Preface
school with pretensions to academic respectability rather than utility, you don’t want to be found dead in a field with this book! Have the authors done this stuff for money in the real world? You bet! The first author has only worked on a money-back guarantee plus interest on payments at the prime rate if not satisfied. No requests for refunds to date. He has worked for more than 60 of the Fortune 400 and has worked in the United States, Australia, Canada, Denmark, England, Israel, Macao, Mexico, The Netherlands, New Zealand, South Africa, Sweden and the United Kingdom. Has the first author every really blown it? Big Time! In those cases, no fee or expenses were required or accepted. Anyone that says they have never made a mistake in this field, lies about their sex life TOO! Why did the authors write this book and/or start this series? To have the cheapest, most readable books in quantitative management that would GET USED, make a few bucks, spread their fame further, get their students work, and most of all: generate more chances for us and our students to DO THEIR THING! Biographies Gene Woolsey is the director of the Management Science/Operations Research Program at the Colorado School of Mines. He is past elected International President of the Institute of Management Sciences. He is the first recipient of the Harold Larnder Prize for Distinguished International Achievement in Operations Research. He was formerly the editor of the Production and Inventory Management Journal (72,000 circulation in 125 countries). He also holds teaching positions at seven other universities in four countries. For the past decade, he has worked Pro Bono for any government agency of any government of sufficiently conservative, capitalist form with which he politically agrees. For this work he was decorated by the government of Israel and holds the Distinguished Civilian Service Medal of the United States. Ruth Maurer is associate professor of mathematics (Operations Research/Applied Probability) at the Colorado School of Mines. She is former mayor of the city of Golden. She was the consulting energy economist for the First Interstate Bank of Denver and was visiting professor of engineering at the United States Military Academy at West Point. For her Pro Bono consulting work for the Department of the Army, she was awarded the Outstanding Civilian Service Medal and the Commander’s Medal. She led the effort to implement emergency telephone service in Jefferson County.
4 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
Quick and Dirty Multiple Process Scheduling
The Beginning: The Two-Machine Job Shop This chapter is virtually word-for-word of an initial lecture I gave on production scheduling. I have long believed that the fundamental method of production scheduling is the Johnson Two-Machine Job Shop [1]. Once upon a time there was a young, poverty-stricken Ph.D. who had obtained a job at a local state university and realized that unless he found some consulting somewhere that he was going to have to start selling blood to supplement his food stamps. He was well-grounded in the mysteries of scheduling that he had been taught in college. More importantly, he had been brought up on a cotton farm and well understood that first you must pick the cotton and then gin it, field by field. In short, he had common sense in abundance plus a southern accent that would come to serve him well. He found himself a local machine shop, sought out the foreman and asked if he might help him. The foreman, a man of some girth and formidable presence, replied: “Help me do what, boy?” The professor replied respectfully: “Sir, I notice that you have a great number of jobs that have to go through your mill and then your lathe. I also note that your lathe crew, all smiles, seem to be forced to bide their time (at union scale) waiting for the mill crew (who are completely overloaded) to give them another job to work on. I also note that (having been in such shops myself) the more senior machinists are (surprise) uniformly on the lathe crew and junior machinists populate the mill crew. “Let me propose to take one particular batch of jobs and schedule them in such a way as to minimize the total idle time on both machines. If I cannot show you immediately a method you can use to improve any schedule running right now, I have in my car a bottle of Jack Daniels Black Label that’s yours, and I’m out of here and out of your hair.” The foreman replied: “What’s this going to cost me, if you do improve it?” The professor replied that he would charge him a flat rate of 50 bucks or 10 percent of whatever cost savings he generated on that job. The foreman then shrewdly asked the prof how long this instruction would take. The prof told him 10 minutes. The foreman laughed and told him that 50 bucks for 10 minutes work was “too close to union scale.” And that as he was a professor (who obviously had no real-world experience) that he would take the percentage. The contrived problem selected for the test follows:
5 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
Now say that we now have six jobs that may be done in 1 120 10 any sequence, with the requirement that the job must be 2 90 20 finished on the mill before it can go on the lathe. 3 20 30 Let’s also agree that the stupidest possible way to do these 4 30 40 jobs is exactly as they fall in the sequence. Which was hap5 50 70 pily what they were doing then. 6 10 120 What the prof did next was to lay out a time line or Gantt chart of the problem above. This is just a time line of the two machines above with the jobs laid out on them in the sequence 1, 2, 3, 4, 5, 6. In these charts to follow, the job number will be in BOLD FACE above the line of the machine, and the completion time of that particular job will be below the line and to the right. Job
Mill
Lathe
1
2
3
4
5
6
Mill
+
+
+
+
+
+ +
120
210 230 260
Lathe
+
+
+
+
130
230 260
310 320 +
+
+
310
380
500
A quick look at the above chart will show that job 1 will run 120 hours on the mill before it is finished. This means if it is first, that the lathe crew will either have nothing to do or had better be otherwise employed for 120 hours. This is called initial idle time. We also note that if we run job 2 next that the lathe crew has another 80 hours to plot the next strike, play cards, or otherwise amuse themselves before they have to do any work again. Now it is admitted that as jobs 3, 4, 5 and 6 come on stream that the lathe crew is working flat out. Further, it is noticed that, finally, the mill crew gets to watch them do it for the last 180 hours (unless something else is found to keep them busy). This is called ending idle time. Now we don’t have to be too smart to realize that what we might want to do is to schedule the jobs in such a way that we minimize initial and final idle. Also note that reality dictates that the job that just finished on these machines, or is still running, will have a considerable influence on what follows. This is equivalent to scheduling in such a way that both machine crews start and stop working much closer in time than we have seen before. Virtually anyone can see that it is a good idea to start the mill with a short job so as to get the lathe crew working as soon as possible. Any fool can see that this has to minimize initial idle. The same logic compels us to note that if the shortest job on the lathe is run dead last that this would have to minimize final idle time. From this blinding common sense we derive Johnson’s Rule. Note that all this method requires is that you know that one number is larger than another, up from down, and right from left.
6 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
Johnson’s Two-Machine Job Shop 1. Find the least processing time for any job on any machine. 2. If the least time is on machine 1, schedule it on the left. 3. If the least time is on machine 2, schedule it on the right. 4. Cross off this job and go to step 1. Now, let’s apply the above rule to the problem above, step by step. Job
Mill
Lathe
1
120
10
2
90
20
3
20
30
4
30
40
5
50
70
6
10
120
Job
Mill
Lathe
1
120
10
2
90
20
3
20
30
4
30
40
5
50
70
6
10
120
Job
Mill
Lathe
1
120
10
2
90
20
3
20
30
4
30
40
5
50
70
6
10
120
Using the above rule, we realize that the least amount of processing time happens on two jobs, job 1 and job 6. But note that the least time on job 1 is on the right, so we should schedule it on the right, giving the sequence _ _ _ _ _ 1. Also the least time on job 6 is on the left, so we should schedule it from the left, giving the sequence 6 _ _ _ _ 1. Crossing through the scheduled jobs, job 1 and job 6, we get the problem seen on the left. We now note that we again have the least amount of processing time on two jobs. This time they are jobs 2 and 3. Again we notice that as the least time on job 2 is on the right, we should schedule it on the right, giving the sequence 6 _ _ _ 2 1. And the least time on job 3 is on the left, so we schedule it on the left, which gives the sequence 6 3 _ _ 2 1. Crossing through the scheduled jobs, jobs 2 and 3, we get the problem on the left. The least processing time of 30 hours is now found on the left of job 4, so it is scheduled on the left, giving the sequence 6 3 4 _ 2 1. As the only job left is job 5, it clearly goes into the spot remaining, giving us the optimum sequence: 6 3 4 5 2 1.
If we now Gantt chart this sequence, we get the time line shown below: Mill
6 3
4
5
2
1
+ + +
+
+
+
60
110
10 30 Lathe
+
200
320
6
3
4
5
2
+ +
+
+
+
+
10
130 160 200
1 +
+
+
270 290 320 330
7 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
We now notice at once that the initial idle is only 10 hours before the lathe crew starts working on the second part of job 6. We also notice at once that the ending idle is only 10 hours as the lathe crew finishes up with the second part of job 1. Finally, we note that the total idle from start to finish of all the jobs is 50 hours. Recall now that the original schedule of 1, 2, 3, 4, 5, 6 gave us a total completion time of 500 hours and 210 hours of idle (waiting) time on the lathe. However, this schedule gives us a total time of 330 hours with 40 hours of idle. In short, we have now saved 170 hours of idle time on this problem alone. The professor turned to the foreman and said: “Let’s see, you’ve got two master machinists at 30 bucks an hour times 170 hours. That makes about 12,200 bucks. My tiny percentage of 10 percent makes you owe me about 1,220 bucks. By the way, is there anything else I might teach you for a percentage?” The answer was, excluding the profanity, “NO! I’ve got some other problems, but you had just better believe, prof, that from now on you’re on flat rate.” It is important to remember that the Johnson Two-Machine Job Shop doesn’t care how many jobs you have. It is optimal even if you have a thousand. It does care that you have only two processes and that all jobs must go in the order: machine one followed by machine two. Also we should notice that the above method is absolutely symmetric. That is, it works from both left to right and right to left. We will see this property again. I cannot resist adding that you can program this method, but why? I should like to point out that for virtually any size problem, that I will give you the answer while you are still entering data into your computer. Another important point here is to realize that the only way to come up with processing times on which you can rely is to do the work yourself under the same conditions as the worker. Three-Machine Job Shop (With Dominance) An obvious question now should be, “But what happens if you have three processes or machines — what then?” Let’s take the case of three machines and five jobs where, as before, everything has to go from left to right through the machines. Job
Mill
Lathe
Borer
1
7
5
10
2
8
2
10
3
7
6
9
4
13
1
8
5
7
2
11
Now, before we do anything else, look at the processing times. Do you see anything that leaps out at you? You should! Notice that the biggest processing time of the lathe is smaller than the least time on the mill. Also note that the biggest time on the lathe is smaller than the least time on the borer.
This situation above is called dominance. We may proceed with this method if either the mill dominates the lathe or the borer dominates the lathe, but not necessarily both. Now if the biggest time on the lathe is always less than the smallest time on the mill — this means that if we Gantt chart any sequence of the mill and lathe
8 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
that the borer seldom waits on the lathe, it just more often waits on the mill. Further, by symmetry, if the processing time on the borer is always greater than the processing time on the lathe, we may make the same argument from another direction. Further, if this was a two-machine problem, we would know how to do that. So, what is the dumbest possible way we can convert a three-machine problem into a two-machine problem? We now must take a great step forward from merely knowing up from down, left from right, and one number larger than another. We must now use (gasp) addition. Simply add the mill and lathe time together and add the lathe and borer time together as follows.
Johnson’s Method for the Three-Machine Job Shop (With Dominance) RULE: Given a three-machine job shop, check to see if: The smallest time on Machine 1 is ≥ the biggest time on Machine 2 or the smallest time on Machine 3 is ≥ the biggest time on Machine 2. It must be true that the maximum processing time on the second process is less than or equal to the minimum time on either the first or the third process. 1. From the three-machine problem, form a new two-machine problem. The sum of the first two times go into the new first column. The sum of the second two times go into the new second column. 2. Solve the two new columns above as a two-machine job shop. Job
M
L
B
Mill+Lathe
Lathe+Borer
1
7
5
10
12
15
2
8
2
10
10
12
3
7
6
9
13
15
4
13
1
8
14
9
5
7
2
11
9
13
We now just apply the good old Johnson Two-Machine Job Shop Method again. As job 5 has the least time of 9 on the left, we schedule it on the left, giving the sequence 5 _ _ _ _. Job 4 now has the least time of 9 on the right giving: 5 _ _ _ 4. Crossing off as we go, our next candidate is job 2 with a least value of 10 on the left, giving: 5 2 _ _ 4. We may see at once that job 1 with 12 on the left, followed by job 3 with 13 on the left gives the optimum of 5 2 1 3 4. As before, it is very important to note that the Johnson Three-Machine Job Shop Method doesn’t care how many jobs you have. It does care that you have only three processes and that all jobs go from left to right and you have dominance.
9 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
M-Machine Job Shop, Gupta’s Method The obvious next step is to ask: “What do you do when you have three or more machines and no dominance. For this, we turn to the brilliant work of J.N.D. Gupta. Say that we have a problem with five machines, which we will call A, B, C, D and E and four jobs such as this are seen below. Again everything has to go from left to right. Job
A
B
C
D
E
1
4
3
7
2
8
2
3
7
2
8
5
3
1
2
4
3
7
4
3
4
3
7
2
Gupta noticed that we needed some way to sort these jobs so the ones with small starting processing times are made candidates for initial jobs, and jobs with small ending processing times are good candidates for final jobs. After doing this, we need another method to decide in what order to choose them.
If the initial processing time for any job is less than the ending processing time, this is a good candidate for being a starting job. Let us give these jobs a numerator of -1. In short, we have shoved all of those jobs to the left. By the same logic, if the final processing time for any job is less than or equal to the initial time, this is a good candidate for being an ending job. Let us give these jobs a numerator of +1. Clearly, we have shoved this group of jobs to the right. We now have divided our jobs into the first two groups. As we have shoved them there, the only question left is how far to shove them. Gupta then said add up all pairs of processing times, from left to right, such as A+B, B+C, C+D, and D+E. Now choose the minimum of these sums for the denominator of the job. In short, the numerator tells us which direction to shove a job, and the denominator tells us how far to shove it. For this reason, I usually refer to this method as the “Shove It” method.
Gupta’s Method for the M-Machine Job Shop RULE: Given an M-machine job shop, each job has a job value with a numerator and a denominator. If the processing time on the first process is ≥ the last process, the numerator is +1, otherwise it is -1. The denominator is the smallest sum of pairs of processing times reading from left to right. The best sequence is the one that goes from least to greatest job value. Job
A
B
C
D
E
Value
1
4
3
7
2
8
-1
2
3
7
2
8
5
-1
3
1
2
4
3
7
-1
4
3
4
3
7
2
+1
For job 1, as the time on A is 4 and the time on E is 8, the numerator is -1. For job 2 as 3<5, and for job 3 as 1<7, the numerators are -1 also. For job 4 as 3>2, the numerator is +1.
10 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
Job
A
B
C
D
E
Value
1
4
3
7
2
3
7
2
2
8
-1/7
8
5
-1/9
3
1
2
4
3
4
4
3
7
-1/3
3
7
2
+1/7
Now for job 1, the minimum of 4+3, 3+7, 7+2 and 2+8 is 7. For job 2, it’s 3+7, 7+2, 2+8, or 8+5, which is 9. For job 3, it’s 1+2, 2+4, 4+3, or 3+7, which gives 3. For job 4, it’s 3+4, 4+3, 3+7, or 7+2, giving 7.
Ordering these job values from least to greatest gives: -1/3, -1/7, -1/9, and +1/7, which implies the best job sequence to be 3, 1, 2, 4. The reader is warned here that Gupta’s method is not optimal. However, my personal experience with it over the world has shown that, interestingly enough, it gets better answers as the problems get larger. I have heard this attributed to the effects of the central limit theorem. I, however, suspect that this is more due to the increasing number of combinations that takes place as the problem gets larger. Again, as before, note that Gupta’s method doesn’t care how many jobs you have; and it doesn’t care how many processes you have; but it does care that everything goes from left to right. Also remember, in a real shop, while you are scheduling this set of jobs, new jobs to be done (and scheduled) are constantly appearing. Two-Machine Job Shop With Technological Ordering So far you will notice that we have made the assumption that all of the jobs must go through the shop from left to right. We now are going to relax that assumption but regress back to two machines so that the logic for the M-machine job shop that follows will be more clear. Let us consider the situation below where we must schedule the ordered jobs on two machines to minimize total processing time through the shop. The method used is due to Jackson.
Jackson’s Two-Machine Job Shop With Ordering 1. Put the jobs done only on the first machine “A” in any order. 2. Put the jobs done only on the second machine “B” in any order. 3. For the jobs done on both machines in the order A, B, find the best schedule by Johnson’s Two-Machine Method. 4. For the jobs done on both machines in the order B, A, find the best schedule by Johnson’s Two-Machine Method. 5. The optimal order on machine A, is the order from step 3, next the order from step 1, next the order from step 4. 6. The optimal order on machine B, is the order from step 4, next the order from step 2, next the order from step 3.
11 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
Job#
Mill
Lathe
Order
1
20
0
M
2
70
40
M-L
3
30
60
M-L
4
0
70
L
5
10
30
M-L
6
30
10
L-M
7
20
70
L-M
8
0
40
L
9
40
0
M
First off, let’s pick off the jobs done only on the mill. As they all must be done sometime, put them in any order. The mill-only jobs are (1, 9). Next, let’s pick off the jobs done only on the lathe, as they also must be done sometime; put them in any order also. The lathe-only jobs are (4, 8).
Now let’s pick off the two-machine job shop problems. Choose first the mill-lathe jobs. As there are three of them, we have the two-machine problem below: As job 5 has the least processing time, on the left, Job# Mill Lathe Order it goes first. Then as job 3 has the least time of 30 on 2 70 40 M-L the left, it goes next on the left. Finally, only job 2 3 30 60 M-L remains, so we get the sequence of mill-lathe jobs of 5 10 30 M-L (5, 3, 2). Now the other set of two-machine problems are 6 and 7 as shown below: The first thing you should notice is that we have Job# Lathe Mill Order changed the order of the jobs from the problem 6 10 30 L-M above, as the order is reversed. Solving this two7 70 20 L-M machine job shop, we quickly know that the lathemill order of jobs is (6, 7). We now have classified all of the jobs into mill only (M), lathe only (L), mill-lathe (M-L) and lathe-mill (L-M). Using common sense, it should be clear that we want to start that set of jobs on the mill that will give the lathe something to do, that is, the mill-lathe jobs. As they have already been optimized by using the two-machine job shop method, we know that they are in the optimal order, so our Gantt chart of the two machines looks like that below. (5, 3, 2) Mill +----------------------+ Lathe +----------------------+
By symmetry, if we start the first set of mill-lathe jobs on the mill, we should start the first set of jobs on the lathe with the lathe-mill jobs giving a Gantt chart looking like the one below: (5, 3, 2) Mill +----------------------+ (6, 7) Lathe +----------------------+
12 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
The question now is: “What set of jobs do we put next on the mill?” A moment’s thought will show that job 6 might still be running on the lathe, so the safe bet is to put the mill-only jobs next to “take up the slack,” which gives: (5, 3, 2)(1, 9) Mill +----------------------+ (6, 7) Lathe +----------------------+
Again, by symmetry, we do the same thing on the lathe with the lathe-only jobs, which gives: (5, 3, 2)(1, 9) Mill +----------------------+ (6, 7)(4, 8) Lathe +----------------------+
A moment’s reflection will now show that the only thing left to schedule on the mill is the lathe-mill jobs from the lathe. By symmetry, the only thing left to schedule on the lathe is the mill-lathe jobs from the mill which gives the optimal schedule below: (5, 3, 2)(1, 9)(6, 7) Mill +----------------------+ (6, 7)(4, 8)(5, 3, 2) Lathe +----------------------+
This method works because we have optimized both two-machine job shops, and filled in the possible slack time in the middle with the jobs to be done only on one machine. This method doesn’t care how many jobs you have, and doesn’t care what the order of the jobs is, but it does care that there are only two machines or processes. M-Machine Job Shop With Technological Ordering We now have come to the end of the trail in multiple-machine scheduling. This is the situation where we have N jobs on M machines with all possible orderings. We will now use Jackson’s rule above (which is optimum) to derive our own rule (which is not optimum). However, again the good news is that this method, from our experience, does better and better as the problem gets larger and larger. From the last problem we realize that what we have done is optimize the twomachine jobs on the mill and the lathe, thus minimizing total time through the shop for those jobs. We then followed these optimized jobs on each machine with the mill-only and lathe-only jobs to “take up any slack” while one or the other
13 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
machine might be still finishing a job. We then put on each remaining machine, the optimized schedule from the previous machine. Let us use this same logic with the addition of another machine, say a router. Let us now consider the three-machine job shop with ordering shown below: Job#
Mill
Lathe
Router Order
1
20
10
30
M-L-R
2
50
20
10
M-R-L
3
40
60
50
L-M-R
4
60
70
20
L-R-M
5
50
10
20
R-L-M
6
80
20
10
R-M-L
7
40
60
0
M-L
8
40
0
70
M-R
9
0
40
40
L-R
10
20
30
0
L-M
11
20
0
40
R-M
12
0
60
50
R-L
13
100
0
0
M
14
0
120
0
L
15
0
0
90
R
A quick look will show that I have loaded the dice by having one, and only one, example of each possible combination of job ordering possible. Let’s let common sense be our guide and logic it out as follows: The mill: Start the job on the mill with the most operations remaining that will get another machine going as quickly as possible. As the only two combinations available to start on the mill are M-L-R and M-R-L, and job 1 will get the lathe started 40 hours faster than job 2, we schedule them in that order. (Actually we would use Gupta’s method here with more combinations.) This gives the starting schedule on the mill of: (MLR), (MRL). Having scheduled all of the three-machine jobs starting on the mill, we now do the same with the two-machine jobs starting with the mill which are M-L and MR. The schedule on the mill is now: (MLR), (MRL), (ML), (MR). We now fill in the middle with the mill-only jobs which gives: (MLR), (MRL), (ML), (MR), (M). The lathe: Precisely the same process as above for the lathe gives the schedule: (LMR), (LRM), (LM), (LR), (L).
14 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
The router: Precisely the same process as above for the router gives the schedule: (RML), (RLM), (RM), (RL), (R). The next step of this logical process is this: We now have “taken up the slack” by putting the single process jobs in the middle. Logically, it should now seem reasonable to take up some more slack by putting the two-machine jobs next. This now gives the schedules for the three machines below: Mill: (MLR), (MRL), (ML), (MR), (M), (LM), (RM). Lathe:(LMR), (LRM), (LM), (LR), (L), (ML), (RL). Router:(RML), (RLM), (RM), (RL), (R), (MR), (LR). We now note that the only thing left is to schedule the three-machine jobs, following the same logical process which gives: Mill: (MLR), (MRL), (MR), (ML), (M), (LM), (RM), (RML), (LMR), (LRM), (RLM). Lathe: (LMR), (LRM), (LM), (LR), (L), (ML), (RL), (MLR), (RLM), (MRL), (RML). Router: (RML), (RLM), (RM), (RL), (R), (MR), (LR), (MRL), (LRM), (MLR), (LMR) Two points must be made here: First: This method may be logically extended to as many jobs in different orders on as many machines as you like. Second: If you were to treat each one of the job types above as an already optimized set of jobs, the logic still holds. In short, if we optimized the two-machine job shop combinations with Johnson’s rule, and sequenced the three or more machine job shop combinations with Gupta’s rule, we have now defined a (clearly suboptimal) method to do the M-Machine Job Shop With N Jobs and Ordering. As scheduling problems go, this is about as bad as it gets before you start talking about limited capacity and start and stop time windows. The above heuristic is presented as a (not very good) way to (at least) get a feasible method that the naked eyeball could quickly improve. As this is a Quick and Dirty Manual, this is the edge of our competence and therefore we stop. To those wishing to go further, you must look elsewhere such as at the list of references at the end of this chapter done by those greater than we. Synopsis The alert reader should realize that we started in the center of the onion with Johnson’s Two-Machine Job Shop Method. The next layer was Johnson’s ThreeMachine Job Shop Method with Dominance. This was followed, logically, by Gupta’s M-Machine Method. Up to this point all of the ordering was left to right.
15 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
We then followed with Jackson’s Two-Machine Ordered Job Shop, where ordering was left to right or right to left. The chapter then culminated in a step-by-step discussion of how we might logically extend Jackson’s rule to the case of ultimate complexity, that is, the M-Machine, N-Job Problem with Ordering. The reader is expressly warned that only Johnson’s methods and Jackson’s method are optimal. When you use Gupta’s method, or the Woolsey’s Heuristic above, you are in a twilight zone and indiscriminate use without careful consideration may be dangerous to your continued rise and/or retention in your corporation or agency. What has been provided in this chapter is not a cathedral, not a building of any kind, not even a wall, but simply a pile of bricks. To build a method for your particular problem with these bricks requires mortar, which must come from you.
References 1. Johnson, S. M., “Optimal Two and Three Stage Production Schedules With Set-Up Times Included,” Naval Research Logistics Quarterly, Vol. 1, 1954, pp. 61-68. 2. Gupta, J. N. D. “A Functional Heuristic Algorithm For The Flowshop Scheduling Problem,” Operational Research, Vol. 22, No. 1, March 1971, pp. 39-48. 3. Jackson, J. R. “An Extension of Johnson’s Result on Job-Lot Scheduling,” Naval Research Logistics Quarterly, Vol. 3, No. 3, Sept. 1956, pp. 201-204.
Quick and Dirty Methods for Multiple Process Scheduling I Minimize Total Processing Time for N Jobs on Two Processes Method: Johnson’s Two-Machine Job Shop 1. Find the least processing time for any job on any machine. 2. If the least time is on machine 1, schedule it on the left. 3. If the least time is on machine 2, schedule it on the right. 4. Cross off this job and go to step 1. Minimize Total Processing Time for N Jobs on Three Machines (Second Process Dominated) Method: Johnson’s Three-Machine Job Shop Note: It must be true that the maximum processing time on the second process is less than or equal to the minimum time on either the first or the third process. 1. From the three-machine problem, form a new two-machine problem. The sum of the first two times go into the new first column. The sum of the second two times go into the new second column. 2. Solve the two new columns above as a two-machine job shop.
16 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
Reduce Total Processing Time for N Jobs on M Machines Method: Gupta’s Method 1. For each job find a job value fraction as follows: a) If the processing time on the first machine is ≥ the time on the last process, the numerator is +1; otherwise the numerator is -1, unless the times are equal, in which case the denominator is set to zero. b) The denominator is the minimum of the sum of the first two processing times or the next two processing times or… the sum of the last two processing times. 2. Now put the job values in increasing order from smallest (most negative) to largest (most positive). This is a good, but not necessarily optimum, schedule. Quick and Dirty Methods for Multiple Process Scheduling II Minimize Total Processing Time for N Ordered Jobs on Two Machines Method: Jackson’s Method 1. Put the jobs done only on the first machine “A” in any order. 2. Put the jobs done only on the second machine “B” in any order. 3. For the jobs done on both machines in the order A, B, find the best schedule by Johnson’s Two-Machine Method. 4. For the jobs done on both machines in the order B, A, find the best schedule by Johnson’s Two-Machine Method. 5. The optimal order on machine A, is the order from step 3, next the order from step 1, next the order from step 4. 6. The optimal order on machine B, is the order from step 4, next the order from step 2, next the order from step 3. Reduce Total Processing Time for N Ordered Jobs on M Machines Method: Woolsey’s Heuristic Use the same logic as in Jackson’s Rule above for the single and two-machine jobs and use Gupta’s method above for three or more machines to find an order for each combination of job types. The order on each individual machine starts with the set of jobs requiring the greatest number of machines, down to the set requiring only that machine alone. For example, if you had three machines A, B and C, you could have jobs in the following combinations: A only, B only, C only, AB, AC, BC, BA, CA, CB, ABC, ACB, BCA, BAC, CAB, and CBA. You would use a two-machine job shop on AB, AC, BC, BA, CA and CB. You would use Gupta’s method on the combinations ABC, ACB, BCA, BAC, CAB, and CBA.
17 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
The schedule on machine A would be: ABC, ACB, AB, AC, A, BA, CA, BAC, CAB, BCA, CBA The schedule on machine B would be: BAC, BCA, BA, BC, B, AB, CB, ABC, CBA, CAB, ACB The schedule on machine C would be: CAB, CBA, CB, CA, C, AC, BC, ACB, BCA, ABC, BAC Clearly, the logic may be extended to any number of machines. Again, the central limit theorem seems to ensure that as the number of machines and jobs increase, the quality of the answer does also. Multiple Process Scheduling Practice Problems I 1.
Job
Mill
Lathe
Job
Mill
Lathe
1
23
45
2.
1
160
143
2
34
90
2
45
64
3
67
63
3
7
93
4
92
78
4
89
82
5
34
12
5
4
52
6
67
6
6
35
42
7
83
9
7
29
31
8
72
24
8
56
70
Optimal Sequence ___________ 3.
Optimal Sequence ___________
Job
Mill
Lathe
Borer
Mill+Lathe Lathe+Borer
1
34
27
196
_______
_______
2
79
10
64
_______
_______
3
54
20
73
_______
_______
4
93
17
65
_______
_______
5
46
6
103
_______
_______
Optimal Sequence _____________________________ 4.
A
B
C
D
Value
5.
A
B
C
D
Value
1
2
4
6
3
_____
1
3
8
9
2
_____
2
1
1
4
7
_____
2
2
4
8
9
_____
3
5
4
3
8
_____
3
4
6
9
6
_____
4
7
5
3
2
_____
4
6
4
10 8
_____
5
6
0
5
16 _____
5
5
8
7
7
_____
6
8
0
1
0
6
3
6
8
5
_____
_____
Best Sequence ____________
Best Sequence ____________
18 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 1
6.
A
B
C
D
Value
7.
A
B
C
D
E
Value
1
4
5
3
6
_____
1
3
7
9
7
5
_____
2
5
7
3
2
_____
2
6
8
7
3
2
_____
3
6
2
9
6
_____
3
9
0
7
0
0
_____
4
4
2
7
9
_____
4
0
0
6
4
6
_____
5
10 7
5
2
_____
5
9
6
3
5
2
_____
6
8
1
0
_____
6
3
6
8
5
4
_____
0
Best Sequence ____________
Best Sequence ____________
Multiple Process Scheduling Practice Problems II 8. Schedule the ordered jobs below on two machines to minimize total processing time. Job #
Mill
Lathe
Order
1
60
50
M-L
2
0
60
L
3
70
0
M
4
20
80
M-L
5
50
20
L-M
6
10
80
L-M
Using Jackson’s rule we get that: The Optimal Mill Sequence is ______________________________ The Optimal Lathe Sequence is ______________________________ 9. Given the above jobs plus the ones below, schedule as above on three machines: Job #
Mill
Lathe
Router
Order
7
50
20
70
M-L-R
8
20
70
30
M-L-R
9
20
80
40
R-L-M
10
0
0
50
R
11
40
0
100
R-M
12
0
40
90
L-R
A good (but not optimal) sequence using the chapter’s last rule is: Mill ______________________________________________________ Lathe _____________________________________________________ Router __________________________________________________
19 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 2
(Political) Obtaining Data You Can Trust Time and Motion Studies and Other Amusements Have you noticed that in all of the other textbooks that the data is always there? If you are given a problem, all of the numbers are always present. In the usual text in operations management there is often some explanation such as: “This data is derived from JOB STANDARDS which come from time and motion studies done by people called Industrial Engineers.” As a senior member in the American Institute of Industrial Engineers and the past editor-in-chief of Transactions of the IIE, may I inject a little truth into this folklore. Let us assume that we have a typical machinist doing his thing on a numerically controlled floor lathe. He is happily contemplating a brew in a nearby bar as the machine shaves another thousandth of an inch off of the large chunk of steel revolving in front of him. He has that best of all possible worlds for a machinist, a job that took a short amount of set-up and then will run for a long time, giving him little to do but watch it for problems, make occasional adjustments, and make sure that the cutting oil is flowing at the appropriate rate. While he is in this happy state, we have, entering stage right, the INDUSTRIAL ENGINEER, clipboard and stopwatch at the ready who will say something like: “Excuse me sir, but I will now be doing a time and motion study on you to reset the job standards on this job, so please ignore me and my ticking stopwatch for the next few minutes.” Now both sides really know what is happening here. The industrial engineer is doing this study because the company usually believes that the union members are capable of much more productivity and wants to tighten up on the processing time. The machinist usually believes that the company is sucking the blood of the fine, upstanding, hardworking union members who have the misfortune to be employed in this particular sweatshop. The industrial engineer punches his stopwatch, and the machinist turns into a very good representation of Marcel Marceau miming Mikhail Baryshnikov moving in Jell-O. After an appropriate amount of time, the industrial engineer punches his stopwatch again, and notes the time to four decimal places. Both of the players smile at each other and the industrial engineer exits stage left. The time actually taken will always be about a standard deviation above the last job standard taken. But, no matter, these data will be appropriately massaged, statisticized, tested, entered into a database, and forgotten. The shop steward will shortly know that management is concerned about this particular production process. If the foreman of that particular part of the shop is viewed as a reasonable human being by the shop steward, a conversation will shortly take place that will go something like this: Shop Steward: “You getting some pressure on the wheel production?” Foreman: “Yep.” Shop Steward: “How hard do you want to push on Charlie’s suspension after coming to work drunk yesterday?”
20 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 2
Foreman: “Haven’t written it up yet, still thinking about it.” Shop Steward: “How many more wheels a day do you need?” Foreman: “Another half would get them off my case.” Shop Steward: “That’s possible.” A look of limpid understanding is exchanged; it’s a done deal. But what happens if the foreman is not viewed as a reasonable human being? In this case, the union begins to do what is most feared by management. Little by little, they follow the work rules to the letter. They do all of the operations with all of the safety equipment in place, they take their breaks no matter what the status of the machine is, and so forth. The whole factory rapidly looks like some place under water. Things can only get worse.
How to Get the Real Data The only answer to this question is: Learn to do it yourself, under the supervision of worker bees under their working conditions for long enough until they will let you do it alone. If anybody tells you that you can learn as much by watching, ask him if he has the same attitude about his sex life. Example of a Company Doing it Dead Wrong A nameless local company ran an advertisement for a systems analyst to do a study of its warehouse operations. The company wanted a master’s degree in O.R., I.E., or systems analysis. It was interesting to note that previous industrial experience while nice, was not really required. This kind of assumption is something I have for years called the “O.R. Theory Syndrome.” Succinctly stated, the O.R. Theory Syndrome states that if you have sufficient education in the theory of anything, that the application and implementation process is trivial. I must admit that I have no quarrel with these people, so long as all they are allowed to do is TEACH. Their ability to do any harm is sufficiently reduced in this environment that there is no real danger to the public good. But, back to the story. One of my students was approaching graduation, noticed the ad and applied for the job. He was interviewed and got a munificent offer which he accepted. Everything was looking good, until he made the following request. He told the personnel man that he would like to delay his starting date for about a month. This was no problem until he told him why. He told the personnel man that he would like to spend a month in the warehouse as a forklift driver, for free (actually for $1 so he would be covered by the company insurance in case of an accident). He produced his certificate of forklift driver training from a nearby technical institute and pronounced himself ready to go. The personnel man just had kittens over this idea. He told the student that there was just no way that the policy manual could be bent sufficiently to cover this kind
21 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 2
of situation. The student then offered to start immediately, as a warehouse analyst, so long as he could still drive his forklift for a month. The personnel man was visibly horrified that an “exempt (salaried) employee” would be so déclassé as to work as a forklift driver. It was clear that our hero would “lose caste” and never be trusted by management as the Brahmin that he clearly was. The two of them resolved the matter by my student telling the personnel man where he could put his job. It was not long after this that I received a call from the vice president of production of this company to get “my side of the story.” I simply told him that it was clear that his company didn’t want to allow anyone to learn enough about a problem to know enough to fix it, even for free! His response was profane and visceral. He asked me to send over the student to talk to him, as he thought it was a great idea. I told him that that student was already employed by one of his competitors, but I would be happy to send him another if I had his personal assurance that this wouldn’t happen again. He couldn’t assure me of it, so that was that. Example of a Company That is Still Learning Some time ago I was invited to speak to the assembled analysts of a division of AT&T in my capacity as president of The Institute of Management Sciences. My talk was given in my usually provocative style, and my insistence on getting your own data struck a nerve with one of the young analysts present. He told me that he was at that time doing a statistical study of mean time to failure of a particular (very expensive) electronic part that appeared in virtually all of their switching centers. He told me that by the time he received the data from the operating divisions through the usual corporate hierarchy, that it had been so distorted that he (rightly) had no faith in it at all. But, it was equally clear that his report was due, and that his stockage levels would be imposed on the districts — and that, if his stockage levels were wrong, that he would be road kill. After this recitative, he plaintively asked: “How do you find the person with the data in this situation?” I asked him if he knew where the nearest switching station was. He said that it was but a few blocks away. I told him to go there, and show them his AT&T badge to get in. Walk around the building until he found one of those parts. When he did find it, and if it was safe, put his hand on it. At this point, shortly a person would appear and say: “What the devil do you think you’re doing?” This is the person who has the data! Example of a Company Doing it Dead Right A nearby paper box plant of Boise Cascade wanted a study done of the inventory control and production scheduling in its plant. Knowing of our approach to these matters, and knowing that the price was right (free), they contacted my faculty colleague, Ruth Maurer. Shortly thereafter, she and Saul Grandinetti, one of our students, went over and spoke with them about the process. When the student told them that he expected to work every step of the production process in the plant
22 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 2
before he would consider proposing anything, the unbelief was palpable. The production supervisor told him: “Well, I get here at 5:30 in the morning, when will I expect to see you?” The production supervisor never beat him to work for the two months they worked together. At the student’s final presentation to the assembled management, his credibility and the acceptance of his proposals were wonderful to behold. Go Thou and do like Saul Grandinetti did!
23 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Quick and Dirty Single Process Scheduling The Beginning: Treating the Shop as a Single Process In this chapter we will consider that we have the eight jobs as shown below. We also assume that they are all ready to be processed with due dates in days from now and processing times in days as shown. We will do about 22 different things to this batch of jobs. We also note, in passing, that as there are eight jobs that they could be scheduled no less than 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 = 40,320 different ways. We will also discuss the different scheduling methods in light of the politics in which the problem might be imbedded. THE PROBLEM Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
Minimizing the Average Completion Time Minimizing the Average Flow Time Minimizing the Average Waiting Time You may be surprised to know that one method does all of the above. Let us derive it as follows: If we want the second job to wait the least amount of time to be processed, what job do we put first? You shouldn’t have to think too long to answer: “Any fool can plainly see, it’s the shortest job.” If we now ask, given that the shortest job is scheduled first, what job do we schedule second to make the third job wait the least time? Again, everybody answers: “Clearly, the second shortest job.” The method then is: Shortest Processing Time (SPT) Do the jobs in increasing order of processing time. Enter your optimum order on the line below: _______________________________________________ The correct answer is the sequence: 2, 4, 1, 5, 6, 7, 3, 8. Political Discussion Now this method is often known as the “before the auditors come method.” Assume that we are out in the shop and we get the word that we are about to be visited by a corporate auditor (whose interest is in our productivity level measured in jobs out the door per unit time). If we want to look instantly good, we get the bullhorn and tell everybody to do the jobs in SPT order. It is easy to see that if we do all the short jobs today that today our productivity looks super. Let us refer to this as the “Good News.” But, if we do all of the short jobs today, it is immediately clear that tomorrow all we have is loooong jobs left to do. The “Bad News” is that our pro-
24 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
ductivity tomorrow will be in the toilet. In short, with the above schedule, the good news is a short-term productivity gain, and the bad news is a long-term productivity loss, with an average of zero. Recall also, that an auditor is defined as: “A person, who, after the battle is lost, comes and bayonets the wounded.” Also note that auditors only get to become corporate comptrollers by killing things, like maybe you. Some Definitions Before we go further, it is useful to define some terms that will often follow in the rest of this book. We define for job i that Pi is the processing time; Di is the due date; Wi is the priority; Ci is the completion time; and Li is the lateness; and Ti is the tardiness. These last two definitions, lateness and tardiness, need some further explanation. Lateness is usually defined as Completion Time-Due Date. Clearly lateness can be either positive (it’s late) or it can be negative (it’s early). Tardiness is usually defined as the maximum of either zero or lateness. Minimizing Maximum Tardiness A way to think of this problem is to assume that, associated with each late delivery, is the scream of either an outraged customer or a salesman who has blown his commission over a late delivery. Clearly, we wish to minimize the maximum scream. We don’t have to be too bright to realize that if we want to minimize the maximum lateness of the second job that we should do the job that’s due first, first. We should then follow this by doing the job that’s due next, next, and so on, which gives the: Due Date Rule (DDR) Do the jobs in increasing order of due date. Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
For the above problem, the optimum order is: 2, 1, 4, 5, 6, 3, 7, 8. A little checking will show that the completion times of the above sequence are: 10, 30, 41, 62, 84, 134, 174, 234 which would cause tardiness of 0, 0, 0, 0, 10, 54, 81, 126. Political Discussion A quick look at the above schedule will show you two things: First, it isn’t the same one we got before. In short, only in the case where all of the due dates and processing times are in exactly increasing order will these two methods give the same answer. Secondly, we see that the good news is, sure enough, that nothing is very late. But, the bad news is that everything can be late, and notice the ramp of tardiness as we go.
25 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Maximizing the Minimum Tardiness It is an unnerving truth that this is one of the most used scheduling methods in the world. However, stated as above, it is hard to see why anyone in his right mind would want to do this. There is a folklore that this method in some sense “minimizes the chance of a late job.” The method used is that you subtract the processing time from the due date and do the jobs in increasing order of the difference. This difference being called the “Slack Time.” Now, clearly if we have a job that is due in two days and it takes three days to do, we will probably put it first to minimize the lateness, as it has a slack of 2 - 3 = -1 days. And, if we have a job that takes five days to do and it’s due in 90 days, we really cannot get too concerned about it relative to the others. This argument gives us the: Slack Rule (Slack) Do the jobs in increasing order of the difference between the due date and the processing time. Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
For the above problem, the optimum order is: _______________________________________________ Political Discussion The good news of this method is that you have a feeling that you are minimizing the chance of a late job. The bad news is that when you get a late job, it is really going to be late. Because this method, out of all the 40,320 different sequences, will find the one that makes the late job the worst. Another way to look at this method is to think of using it to buy “fire insurance” against late jobs. Unfortunately, the result is that the one super late job is the one most likely to do you in. Also, please note the two jobs below: Job #
1
2
2
1
Due Date
90
10
10
90
Proc. Time
5
5
5
5
Compl. Time
5
10
5
10
Slack
85
5
5
85
In this case the slack time order would say do a sequence of job 2 followed by job 1, as seen above on the right. We see in the other sequence on the left that if anything happens to the processing times of either job, that the second job will be late.
26 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
On the other hand, if we used the sequence of job 1 followed by job 2, we have slack time coming out of our ears. Look now at the example below. Note that the slack time order couldn’t tell the difference between the two sequences as the slack is the same for both jobs. The bad news here is that the tardiness of the second sequence is zero, but the tardiness of the first sequence is 80 days. Job #
1
2
2
1
Due Date
90
10
10
90
Proc. Time
85
5
5
85
Compl. Time
85
90
5
90
Slack
5
5
5
5
Lateness
0
80
0
0
What to Do About Ties A good question that arises is what to do when you have ties in processing times or due dates. Remember, scheduling is a political process. Given that you know the first political priority in a particular scheduling situation, it is good to search out the second political priority to use when the first priority gives ties. Another point is that the “hidden requirement” for this method to be optimal is that neither machine is ever kept idle. Minimizing the Number of Late Jobs This sounds like something everybody is just dying to do. Of course we want to minimize the number of late jobs. We don’t want any late jobs at all. The problem with this method, however, is that you may pay a greater price for this wonderful result than you can afford. Let’s restate our original problem below: Job # 1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
It should be logical that our first step is to put the jobs in due date order because if we want to have no late jobs and the Due Date Rule minimizes the maximum tardiness, this would be a good place to start. Now record the jobs with accompanying due dates and processing times below, and we will start the method. Note that DD=Due Date, PT=Processing Time, and CT=Completion Time. Hodgson’s Rule for Minimizing the Number of Late Jobs 1. Put the jobs in increasing order of due date. 2. Start doing the jobs from left to right until you get a late one.
27 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
3. From all of the jobs up to and including the late one, find the one with the biggest processing time and put it last. 4. Go back to step 2, until you run out of jobs. Job #__________________________________________________________ DD __________________________________________________________ PT __________________________________________________________ CT __________________________________________________________
Political Discussion As the above problem is real, we see at once that the best we can hope for is four jobs out of eight on time. Now you have maximized on-time performance (good news), but the price you paid for it is to have an on-time performance percentage of only 50 percent (bad news). I would be hard pressed to think of a better way to get fired. We also should note that we have now taken the same eight jobs and scheduled them four different ways which results in three different schedules (because DDR and Hodgson’s Rule give the same sequence). By this time the alert reader will realize Woolsey’s Great Theorem of Scheduling which is: “You can’t win. You might, at best, break even.” Now, given this unfortunate situation above, is there anything we might be able to do to make it better? Well, we could minimize the maximum lateness of the already late jobs. Note that this is the good old Due Date Rule applied to the jobs 6, 3, 7, 8. For the above problem’s late jobs the optimum order is: __________________________. Surprise, they already were in due date order, so no rearrangement is necessary. Another thing we might try is to minimize the waiting time of the on-time jobs above which are: 2, 1, 4, 5. This requires that we use the Shortest Processing Time Rule: For the above problem’s on-time jobs, the optimum order is: __________________________. We see at once that the shortest processing time order will give us the above answer of 2, 4, 1, 5. This does indeed minimize waiting time and, therefore, probably the amount of in-process inventory on the floor. Unfortunately, we have also now made job 1 late, thus reducing our on-time performance to 38 percent. For another example of just how bad things can be, try this one, which also happened to me. (Note that it’s already in Due Date Order.) Job #
1
2
3
4
5
6
__________________
Due Date
9
13
16
22
35
40
__________________
Proc. Tme.
6
8
4
7
21
22
__________________
28 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
If you did it right, you get the exact same schedule you started with. You applied the method and are no better off than before. Van Drew’s Chart A very nice way to convince ourselves that the methods covered above really do what we say they do is by defining Van Drew’s Charts for them as follows. Some definitions that will be helpful are listed. Average flowtime is important because it usually is directly related to in-process inventories. Completion time for a job = waiting time for that job + processing time for that job. Lateness = completion time - due date Average tardiness = sum of tardiness/(# of jobs) Average flow time = sum of completion times/(# of jobs) Average waiting time = sum of waiting times/(# of jobs) Makespan = time required to complete all jobs Once more let us display the problem, which is: Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
The Van Drew Chart for the Shortest Processing Time (SPT) schedule is: Job #
2
4
1
5
6
7
3
8
Due Date
20
42
40
68
74
93
80
108
50
60
Proc. Tme.
10
11
20
21
22
40
Comp. Tme.
10
21
41
62
84
124 174 234
Waiting Tme.
0
10
21
41
62
84
124 174
Tardiness
-10
-21
1
-6
10
31
94
Number of Late Jobs = 5 Average Lateness = 225/8 = 28.125 Average Flow Time = 750/8= 93.75 Makespan = 234
126
Maximum Lateness = 126 Minimum Lateness = -21 Average Waiting Time = 516/8 = 64.5 Average Processing Time = 234/8 =29.25
It should also be noticed that average lateness may be more important than average tardiness (where lateness is calculated by assigning a value of zero to any job which is not late). Say that we have just scheduled these jobs in the order they arrived, which is usually called first-come, first served. Since first-come, first served (FCFS) makes no attempt to optimize anything, except perceived fairness to the customer, it is seldom
29 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
used in a real job shop; and, it generally does poorly on most other criteria. Service operations, though, might want to pay particular attention to the perceived fairness aspect if they want to keep their customers. The Van Drew Chart for the First-Come, First Served (FCFS) schedule is: Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
40
60
Proc. Tme.
20
10
50
11
21
22
Comp. Tme.
20
30
80
91
112
134 174 234
Waiting Tme.
0
20
30
80
91
112 134 174
Lateness
-20
10
0
49
44
60
Number of Late Jobs = 6 Average Tardiness = 350/8 = 43.75 Average Flow Time = 875/8=109.375 Makespan = 234
81
126
Maximum Lateness = 126 Minimum Lateness = -20 Average Waiting Time = 641/8 = 80.125 Average Processing Time = 234/8 =29.25
The Van Drew Chart for the Due Date Rule (DDR) schedule is: Job #
2
1
4
5
6
3
7
8
Due Date
20
40
42
68
74
80
93
108
Proc. Tme.
10
20
11
21
22
50
40
60
Comp. Tme.
10
30
41
62
84
134 174 234
Waiting Tme.
0
10
30
41
62
84
134 174
Lateness
-10
-10
-1
-7
10
54
81
Number of Late Jobs = 4 Average Lateness = 243/8 = 30.375 Average Flow Time = 769/8=96.125 Makespan = 234
126
Maximum Lateness = 126 Minimum Lateness = -10 Average Waiting Time = 535/8 = 66.875 Average Processing Time = 234/8 = 29.25
The Van Drew Chart for the slack schedule is: Job #
2
1
3
4
5
8
Due Date
20
40
80
42
68
108 74
6
93 40
22
7
Proc. Tme.
10
20
50
11
21
60
Comp. Tme.
10
30
80
91
112
172 194 194
Waiting Tme.
0
10
30
801
91
112 172 194
Lateness
-10
-10
0
49
44
64
120 141
Number of Late Jobs = 5 Maximum Lateness = 141 Average Lateness = 398/8 = 49.75 Minimum Lateness = -10 Average Flow Time = 923/8=115.375 Average Waiting Time = 689/8 = 86.125
30 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Makespan = 234
Average Processing Time = 234/8 = 29.25
The Van Drew Chart for the Minimizing # of Late Jobs (Hodgson’s Rule) is: Job #
2
1
4
5
6
3
7
8
Due Date
20
40
42
68
74
80
93
108
40
60
Proc. Tme.
10
20
11
21
22
50
Comp. Tme.
10
30
41
62
84
134 174 234
Waiting Tme.
0
10
30
41
62
84
134 174
Lateness
-10
-10
-1
-7
10
54
81
Number of Late Jobs = 4 Average Tardiness = 243/8 = 30.375 Average Flow Time = 769/8=96.125 Makespan = 234
126
Maximum Lateness = 126 Minimum Lateness = -10 Average Waiting Time = 535/8 = 66.875 Average Processing Time = 234/8 =29.25
Analysis We notice, looking at the above, that SPT does indeed minimize average flow time, average waiting time, and by implication, average completion time. Due date does indeed minimize the maximum tardiness. Slack maximizes the minimum tardiness. Hodgson’s Rule does find a sequence for the minimum number of late jobs. The user is cautioned that these methods will find one sequence that will do what is stated, but it is good to remember that there may be others. For example, there may be more than one way to minimize the number of late jobs. If the best you can do is to get four jobs on time, you may be very interested in alternate schedules that minimize, say, in-process inventory cost. Minimizing the Average Completion Time with Priority Minimizing the Average Flow Time with Priority Minimizing the Average Waiting Time with Priority You should recall that this chapter started with the SPT or Shortest Processing Time Rule that did all of the above without priority. So far, we have made the hilarious assumption that all of the jobs with which we have been working have the same importance. In the real world, there is no way that this will happen. Let us redisplay the problem data with which we have been working, but now we will add a weight or priority factor (the bigger the weight, the more important the job) as shown below: Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
Weight
5
2
4
3
7
8
1
6
Ratio __________________________________________________________
31 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Now for the above problem, fill in the bottom line with the ratio of the processing time divided by the priority (the bigger the priority, the more important the job). Having done this, let’s now see if we can logic out the correct rule. Case I. All jobs have the same priority with different processing times. To minimize the average time any job waits, use the SPT rule. Put the jobs in order of shortest to longest processing time. Case II. All jobs have different priorities and the same processing times. To minimize politics, schedule from largest to smallest priority. Case III. All jobs have different priorities and different processing times. Common sense says schedule the job first with the biggest priority and smallest processing time. Also schedule that job last with the smallest priority and biggest processing time. Clearly the smallest ratio found above gives the first job, and you simply schedule in order of the increasing ratios. The method is: Ratio Rule (Ratio) Schedule the jobs in increasing order of the ratio of (Processing time/Priority). For the above problem the optimum order is: _________________________________________________ Political Discussion Now, with this method we are creeping up on reality. In my experience, there was never a time when we could just happily assume that all of the jobs are of the same importance. However, remember that as this method is based on SPT, that the good news is that we have a short-term productivity gain balanced by the bad news of a long-term productivity loss. You can look real good today, but beware of tomorrow. Notice that if we just “rank” the priorities that we are assuming linearity of the priorities. My own experience is that, as a rule, priorities are non-linear with respect to each other. Never forget that scheduling is usually judged by “perception,” not rationality. Reducing Maximum Tardiness with Priority This is simplicity itself, all we do here is make exactly the same argument as in the cases above, but now we use, instead of the processing times, the due date. Immediately, we have the ratio rule restated as: Ratio Rule (Ratio) Schedule the jobs in increasing order of the ratio of (Due Date/Priority). Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
Priority
5
2
4
3
7
8
1
6
Ratio __________________________________________________________ 32 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
For the above problem, and method, the order is: _________________________________________________ Technical Point Notice that this method should (hopefully) reduce maximum tardiness. An optimum method for this problem may be found in the Lawler reference at the end of this chapter. The methods in this book are not necessarily optimal, unless they are labeled as such. They are just gleaned from my experience and that of others who do scheduling in the real world, and are hopefully easy to understand and use. Political Discussion Remember, as this method is based on the Due Date Rule, nothing is very late, but everything can be late. I recall an incident when I was consulting for a Mexican Machine Shop that was running around the clock but seemed to have a severe cash flow problem. It quickly became apparent that they were using the due date rule to get all of their jobs out. It was clear that some kind of priority rule was needed other than the decibel level of salesmen screaming about a late job to the foreman. I suggested that we divide the due dates by a priority equal to the peso value of the job. When this was done, the machine shop went from loss to profit within a week. Increasing Minimum Tardiness with Priority Here we go again, in this case, we just alter the Ratio Rule like this: Ratio Rule (Ratio) Schedule the jobs in increasing order of the ratio of (Slack Time/Priority). Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
Slack Tme.
20
10
30
31
47
52
53
48
Priority
5
2
4
3
7
8
1
6
Ratio __________________________________________________________
For the above problem, and method, the order is: _________________________________________________ Political Discussion Recall that, stated as above, it is hard to see why anyone would want to do this. However, remember the Slack Rule appears to be buying fire insurance, but with priorities, the occasional really late job may just happen on one of the important jobs; and, you will be hung out to dry. Also, you will have a fine time explaining how a job that is more important has to wait for one less important. Good luck!
33 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Reducing the Average Completion Time with Precedence Reducing the Average Flow Time with Precedence Reducing the Average Waiting Time with Precedence We now add some new constraints to the data shown below and they are: Job 1 must be done before you can do jobs 2, 3 and 4. Job 2 must be done before you can do job 6. Job 3 must be done before you can do jobs 4 and 6. Job 7 must be done before you can do jobs 2 and 4. Job 8 must be done before you can do jobs 1 and 2. Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
Now we may draw a precedence diagram as shown below. 5 4 2
8
4 6
7 1
3 4
It should be immediately clear that if we wish to minimize the averages given above relative to precedence, we should work only with those jobs that have no jobs following them. For those jobs, choose the one with the biggest processing time, put it dead last, and cross it off. Now from among those jobs that now have no jobs following them, choose the one with the biggest processing time, put it next to last and cross it off. Quickly we derive the following rule: Lawler’s Precedence Rule (SPT) Order the jobs from last to first, always choosing from among the jobs currently available (jobs with no jobs to be done after them) the job with the largest possible processing time. For the above problem, and method, the order is: _________________________________________________ Political Discussion Recall, as it is based on SPT, the good news is short-term productivity gain, and the bad news is long-term productivity loss.
34 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Minimizing Maximum Tardiness with Precedence We do exactly what we did in the previous example, but now we will use due dates instead of processing times. The revised rule is: Lawler’s Precedence Rule (DDR) Order the jobs from last to first, always choosing the job with the latest possible due date from among the jobs currently available (jobs with no jobs to be done after them). Job 1 must be done before you can do jobs 2, 3 and 4. Job 2 must be done before you can do job 6. Job 3 must be done before you can do jobs 4 and 6. Job 7 must be done before you can do jobs 2 and 4. Job 8 must be done before you can do jobs 1 and 2. Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
Now redrawing the precedence diagram with due dates we have: 5 4 2
8
4 6
7 1
3 4
For the above problem, the optimum order is: _________________________________________________ Political Discussion It is based on the Due Date rule, so not much is very late; but, everything can be late. Maximizing the Minimum Tardiness with Precedence We do exactly what we did in the previous example, but now we will use slack times instead of processing times. The revised rule is: Lawler’s Precedence Rule (Slack) Order the jobs from last to first, always choosing the job
35 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
with the largest possible slack time from among the jobs currently available (jobs with no jobs to be done after them). Job 1 must be done before you can do jobs 2, 3 and 4. Job 2 must be done before you can do job 6. Job 3 must be done before you can do jobs 4 and 6. Job 7 must be done before you can do jobs 2 and 4. Job 8 must be done before you can do jobs 1 and 2. Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Tme.
20
10
50
11
21
22
40
60
Slack Tme. _____________________________________________________
Now redrawing the precedence diagram with slack times we have: 5 4 2
8
4 6
7 1
3 4
For the above problem, the optimum order is: _________________________________________________ Political Discussion It is based on the Slack Rule, so the (hopefully) rare late job is a killer. Minimizing Set-up/Tear-down Time on One Process Let’s say that we have an extremely expensive machine that turns out to be a bottleneck through which virtually everything in the shop must pass, such as a spray dryer in a nearby ceramics plant such as Coors Porcelain. Let’s say that after we process a given material through this spray dryer that we are forced to a) clean the machine and b) get it set up in terms of temperature and pressure adjustments for the next material. Notice that if we follow one batch of material with the same stuff, that we don’t have to change anything. It is also possible that we may only have to change the pressure settings or the temperature settings for certain materials that follow one another. Assume that we have researched this information and have
36 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
derived a table of times it will take to tear-down from one material and set-up for another as shown below: To Job
1
2
3
4
5
1
x
1
5
7
3
2
x
x
2
4
6
3
x
8
x
6
3
4
x
5
4
x
8
5
x
8
2
3
x
From Job
We will assume that some job 1 is presently running on the machine. The question is what is the next job that we should schedule to (hopefully) minimize the total set-up/tear-down time to get them all through the machine. Surely, a simple thing we could do is to just look across the first row and move to the job that would cost the least. It is clear that going to job 2 from job 1 will only cost us one hour of time. Now, moving down to the second row, we are now at the “x” in that row which is equal to saying that we are “doing job 2.” The cheapest way out of job 2 is to go to job 3. We now have the sequence 1-2-3-x-x, and a total cost of three hours. Continuing on to the third row, the cheapest way out of job 3 is to go to job 5, at a cost of three hours, for a total of six. As we presently have only one other place to go, this gives the final sequence of 1-2-3-5-4 with a cost of nine hours. This method just outlined is called the: Next Best Rule Start with the job running now. Find the cheapest move you can make to another job in that row, record it. Now go to the “x” in the row of the job just chosen, choose the cheapest job in that row, record it. Continue until you are out of jobs. Branch and Bound Revelaed With the above method, what we get is a very bad answer quickly. My experience says that as soon as you show this answer to the shop foreman, usually named Virgil or Joe Bob, they ask the next question which is: “How do we know that that answer is worth a sh--?” At this point, you move to your work desk on the side of which sits a big roll of butcher paper. You deftly pull over about three feet of paper across your desk, rip it off and begin thusly. First grab a big RED Marks-A-Lot and draw the picture that you see below:
37 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
1 3
1
7
5
5
2 3
4
This picture shows that you are presently running on job 1 and can choose to go to either job 2 at a cost of one, job 3 at a cost of five, job 4 at a cost of seven, or job 5 with a cost of three. You ask Virgil to tell you which move is clearly the wrong move. Now as you and he already know that you can get through the whole shebang and do all the jobs for nine hours SU/TD time, he sure as the devil isn’t going to choose going to job 4 at a cost of seven. However, you do just that and add to the drawing above what we have below: 7 4 8
5
4 5 15>9
2 3
12>9
11>9
This shows that if we go from job 4 to job 2, our total cost is 12 hours (greater than the 9 from the next best rule), so we cross it off. If we go from job 4 to job 3, total cost is 11, also bigger than 9, so cross it off. If we go from job 4 to job 5 , we get a total cost of 15. With this we cross off job 5, and as we have crossed off everything out of job 4, let’s cross off job 4 also. Now as the next stupidest thing we could do is to go from job 1 to job 3 at a cost of five, we have the drawing seen below: 5 3 8 6
3
8 5
3
4 11>9
8
2 13>9
4
2
11>9
16>9
38 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
If we go from job 3 to job 4, we get 11; so cross it off. If we go from job 3 to job 2, we get 13; so cross it off. If we then go from job 3 to job 5, we get eight which is less than nine; BUT a quick look at our table above shows that the cheapest we can get out of job 5 is three more, giving a total of 11, which is (surprise) greater than nine. With this, we cross off job 5; and, as we have crossed off everything out of job 3, we cross off job 3 also. As two choices are now history, we continue our elimination by looking at moving from job 1 to job 5, which gives the drawing shown below: 3 5
3
1 1
11 2 11>9
1 2
6 4
3 2
13 2 13>9
5 3
8
6
11 4 11>9
4
11 5 2 11>9
10 3 10>9
If we first try going from job 5 to 2, we get 11>9, so cross it off. Next we try going from job 5 to job 3 for a total of five hours, so keep it. Next we try job 5 to job 4 for a total of six, so again we keep it. If we now go from job 3 to job 2, we get a total of 13>9, so eliminate it. A quick look at going from job 3 to job 4 is 11>9, so eliminate job 4 as a possibility — and as this is all that’s possible out of 1-5-3, cross off job 3 also. The only live possibility now from 1-5 is 1-5-4 for a total of six. To move from job 4 to job 3 gives a total of 10>9, so cross off job 3. As job 4 can now only go to job 2, giving a total of 11>9, cross off job 2. As we have now eliminated all schedules from job 4, cross it off; and, as this eliminates all possible better schedules out of job 5, cross it off. At this point in time if somebody runs in and says “Job 1 is finished, what do we run next?”, you can (without hesitation) say: “Do job 2.” How smart do we have to be if there is a cheaper way to do these jobs with a set-up/tear-down time less than nine — it has to lie further down the sequence starting with 1-2. We now have the final illustration below, dealing with the remaining possibilities. 1
1 3 3 6 9 4 9=9
1 2
2
4
3 6 5
3
9 4
7 5
6
9 3 9=9
4
5 4
2 8
13 5 13>9
9 3 9=9
39 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
3
10 4 10>9
Chapter 3
From job 2, we may go to job 3 at a total cost of three; from job 2 to job 4, at a total cost of five; from job 2 to job 5, at a total cost of seven; so keep them all. Always looking to eliminate the worst case, we look now at job 5 to job 3 which gives a total of nine, with one step left to go. As there are no moves we can make at no cost in hours, cross it off. If we go from job 5 to job 4, we get 10>9; so job 4 in this sequence is crossed off. As we now have eliminated all possibilities of the sequence 1-2-5, cross off job 5. Now let’s try the sequence 1-2-4-3, for a cost of 9, with one step to go as before, so cross it off. Now trying 1-2-4-5, we get a total of 13>9, so job 5 is crossed off in this sequence. We quickly conclude that 1-2-4 has no better solution, so eliminate this possibility. At this point in time someone runs in and says: “Job 2 has just finished, what now?” Tell them “Do job 3.” Note that we now only have 1-2-3-4, which cost nine hours with one more step to go so it is eliminated, and 1-2-3-5-4 which is what we got from the next best rule. We now have a red-and-white butcher paper that shows that we did it right the first time, and it’s so stupid that you even taught Virgil to do it along the way. Political Discussion The fact that the next best rule and branch and bound came up with the same answer is not surprising. You are likely to get the same answer with these two techniques than you are with branch and bound and (for example) the next-worst rule. Examples can be easily constructed where after a few good steps, you fall over a cliff, as will be seen in the next example. Getting Smarter with Set-up/Tear-down Incremental Costing What we have now seen is the next best rule, a quick and dirty method that gives bad answers quickly. We have also seen branch and bound, a slow and clean method which will (eventually) find the right answer, but it takes a long time to do it. Let’s see if we cannot come up with a compromise method that is slightly more work than the next best rule, but gives much better answers. Let’s consider the problem below: To Job
1
2
3
4
5
MIN.
NXT
MAX NXT-MIN
1
x
5
8
4
3
_____________________________
2
x
x
1
10
15
_____________________________
3
x
5
x
12
5
_____________________________
4
x
7
9
x
3
_____________________________
5
x
3
7
13
x
_____________________________
From Job
For each row, starting with the first:
40 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
a) Record under MIN, the cheapest cost to move from that job to another. b) Record under NXT, the next cheapest cost. c) Record under MAX, the biggest cost. d) Record under NXT-MIN, the incremental difference between NXT and MIN. Now let’s do the next best rule on the above problem. The next best rule gives the sequence: _____________________________ and a total elapsed time of __________. Notice that this problem is a perfect example of what I mentioned before. The steps 1-5-2-3 only totaled seven, but the last step added 12. We now have an upper bound on the optimum solution, but let’s use the table above to smarten up our answer. Looking at the table above, we should be able to see, at once, that some sequences are ones we want and some are ones we don’t want. Let’s record them in the tables below: WE WANT
WE DON’T WANT
For 1
________________
_______________
For 2
________________
_______________
For 3
________________
_______________
For 4
________________
_______________
For 5
________________
_______________
If you did it right, you should have what is shown below: To Job
1
2
3
4
5
From Job
We Want
We Don’t Want
1
x
5
8
4
3
For 1
1-4,1-5
1-3
2
x
x
1
10
15
For 2
2-3
all else
3
x
5
x
12
5
For 3
3-2,3-5
all else
4
x
7
9
x
3
For 4
4-5
all else
5
x
3
7
13
x
For 5
5-2
all else
Looking at row one in the table up above, we see that to move from job 1, we definitely would want 1-5 or 1-4, recorded under WE WANT as the best and next best moves we could make out of job 1. We certainly don’t want to go from job 1 to job 3, so we record 1-3 under DON’T WANT. By the same logic, the only thing WE WANT out of job 2 is 2-3, and we DON’T WANT everything else. For job 3, we WANT 3-2 or 3-5 and DON’T WANT everything else. For job 4, we WANT 4-5 and DON’T WANT everything else. For job 5, we WANT 5-2 and DON’T WANT everything else. Note that the move 2-3, if not taken, will cost us an additional cost of nine hours. As this is almost half of the next best cost of 19, we have a pretty clear indication that this is a sequence that we must have. If this is true, the only sequences
41 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
open for serious consideration are: a) 1-2-3-x-x, b) 1-x-2-3-x, and c) 1-x-x-2-3. Looking at what we WANT and what we DON’T WANT for 1-2-3-x-x, we see at once that we DON’T WANT 3-4. Sure enough, the sequence 1-2-3-4-5 gives a cost of 21, which is greater than the 19 found by next best. The only other case here is 1-2-3-5-4, which gives us 24 hours, worse than before. We now are pretty confident that any sequence 1-2-3-x-x is no help, so proceed to 1-x-2-3-x. The next best rule gave us 1-5-2-3-4, so we press on to 1-4-2-3-5, which gives us 17, so we have now beat next best. Finally, looking at 1-x-x-2-3, we try first 1-5-4-2-3. This uses the 1-5 from WANT but also uses the 5-4 from DON’T WANT, and which gives 24>19. Let’s now look at the only thing left, which is 1-4-5-2-3, giving 11 hours, the optimum, which may be shown by branch and bound. Political Discussion When you are minimizing set-up/tear-down time on one machine, it cannot be too strongly emphasized that even though you have 60 jobs to do, that you are only scheduling the next one. As soon as you put one job on the machine, another five may be dumped on you. If you, at once, reschedule, you will spend your life scheduling the schedule you just rescheduled. Minimizing the set-up/tear-down time and getting most of the jobs out when you are supposed to may have no relationship at all. You must always keep one eye on the due dates, and most importantly, you must know how you are being measured for success. If you minimize the number of late jobs when the measure is cost, and you cost the company more than your annual salary doing it, you are road kill. If you resolutely minimize cost when customer relations is the measure, you once more become an instant target for marketing’s wolves. DO YOUR POLITICAL HOMEWORK. References 1. Smith, W. E., “Various Optimizers for Single Stage Production,” Naval Research Logistics Quarterly, Vol. 3, 1956, pp. 55-66. 2. Moore, J. M. “A N-Job, One Machine Sequencing Method For Minimizing The Number of Late Jobs,” Management Science, Vol. 15, No. 1, Sept. 1968, pp. 102-109. 3. Gavett, J. W., “Three Heuristic Rules for Sequencing Jobs to a Single Production Facility,” Management Science, Vol. 11, No. 8, June 1965, pp. 166-176. 4. Conway, R. W., Maxwell, W. L., and Miller, L. W., “Theory of Scheduling,” Addison Wesley Publishing Co., Don Mills, Ontario, 1967, pp. 31-32. 5. Lawler, E. L., “Optimal Sequencing of a Single Machine Subject To Precedence Constraints,” Management Science, Vol. 19, No. 5, Jan. 1973, pp. 544. 6. Monma, C.L. and Sydney, J. B. “Sequencing With Series-Parallel Precedence Constraints,” Mathematics of O.R., Vol. 4, No. 3, August 1979.
42 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Quick and Dirty Methods for Single Process Scheduling I Minimizing the Average Processing Time Minimizing the Average Flow Time Minimizing the Average Waiting Time Method: Shortest Processing Time Do the jobs in increasing order of processing time. Minimizing Maximum Tardiness Method: Due Date Rule Do the jobs in increasing order of due date. Maximizing Minimum Tardiness Method: Slack Rule Do the jobs in increasing order of (due date - processing time) Minimizing Number of Late Jobs Method: Hodgson’s Rule: 1. Put the jobs in increasing order of due date. 2. Start doing the jobs from left to right until you get a late one. 3. From all of the jobs up to and including the late one, find the one with the biggest processing time and put it last. 4. Go back to step 2, until you run out of jobs. Minimizing the Average Processing Time with Priority Minimizing the Average Flow Time with Priority Minimizing the Average Waiting Time with Priority Method: Ratio Rule Schedule the jobs in increasing order of the ratio of (Processing Time/Priority).
Quick and Dirty Methods for Single Process Scheduling II Reducing Maximum Tardiness with Priority Method: Ratio Rule Schedule the jobs in increasing order of the ratio of (Due Date/Priority) Increasing Minimum Tardiness with Priority Method: Ratio Rule Schedule the jobs in increasing order of the ratio of (Slack/Priority)
43 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Reducing the Average Completion Time with Precedence Reducing the Average Flow Time with Precedence Reducing the Average Waiting Time with Precedence Method: Lawler’s Rule (SPT) Order the jobs from last to first, always choosing the job with the latest possible processing time from among the jobs currently available (jobs with no jobs to be done after them). Minimizing the Maximum Tardiness with Precedence Method: Lawler’s Rule (DDR) Order the jobs from last to first, always choosing the job with the latest possible due date from among the jobs currently available (jobs with no jobs to be done after them). Maximizing the Minimum Tardiness with Precedence Method: Lawler’s Rule (Slack) Order the jobs from last to first, always choosing the job with the largest possible slack time from among the jobs currently available (jobs with no jobs to be done after them) Minimizing Set-up/Tear-down Time on One Process Method: Next Best Rule Start with the job running now. Find the cheapest move you can make to another job in that row, record it. Now go to the “x” in the row of the job just chosen, choose the cheapest job in that row, record it. Continue until you are out of jobs. Minimizing Set-Up/Tear-Down Time on One Process Method: Branch and Bound First use the next best rule above. Draw a tree diagram of the possibilities. Cross off any branch of the tree that costs more than the best solution so far found. (Note: This sounds easy doesn’t it. But remember, a problem with 15 jobs has 14! or more than 87,178,291,200 possible branches, so you better have a large piece of butcher paper.
Single Process Scheduling Practice Problems I Job #
1
2
3
4
5
6
7
8
Due Date
18
20
42
36
69
83
27
104
Proc. Tme.
2
13
27
17
31
42
25
60
Slack Tme.
_________________________________________________
Priority
5
2
4
3
7
8
1
6
44 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Ratio __________________________________________________________ Ratio __________________________________________________________ Ratio __________________________________________________________T
The schedule to: 1. Minimize average processing time is ___________________________________ 2. Maximize minimum tardiness is ______________________________________ 3. Minimize average waiting time is ______________________________________ 4. Minimize maximum tardiness is ______________________________________ 5. Minimize average flow time is ________________________________________ 6. Minimize average processing time with priority is ________________________ 7. Minimize maximum tardiness with priority is ___________________________ 8. Maximize minimum tardiness with priority is ___________________________ 9. Minimize average completion time is __________________________________ 10. Minimize average flow time with priority is ____________________________ 11. Minimize average completion time with priority is _______________________ 12. Minimize average waiting time with priority is __________________________
Single Process Scheduling Practice Problems II Job #
1
2
3
4
5
6
7
8
Due Date
18
20
42
36
69
83
27
104
Proc. Tme.
2
13
27
17
31
42
25
60
If the above jobs had the precedence relations as below: Job 1 must be done before jobs 6 and 5. Job 3 must be done before jobs 4 and 1. Job 4 must be done before job 7. Job 8 must be done before job 5.
The schedule to: 13. Minimize average waiting time with precedence is _______________________ 14. Minimize average completion time with precedence is ____________________ 15. Minimize average flow time with precedence is __________________________ 16. Minimize maximum tardiness with precedence is ________________________ 17. Maximize minimum tardiness with precedence is _________________________
45 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 3
Single Process Scheduling Practice Problems III 18. Find the minimum set-up/tear-down time for the example below: To Job
1
2
3
4
5
MIN NXT
MAX NXT-MIN
1
x
10
7
7
13
_________________________________
2
x
x
12
4
26
_________________________________
3
x
34
x
6
15
_________________________________
4
x
23
14
x
38
_________________________________
5
x
9
4
9
x
_________________________________
From Job
WE WANT
WE DON’T WANT
For 1
________________
_______________
For 2
________________
_______________
For 3
________________
_______________
For 4
________________
_______________
For 5
________________
_______________
The next best rule schedule is _________________, at cost of _______ hours. The incremental costing schedule is _________________, at cost of _______ hours. The branch and bound schedule is _________________, at cost of _______ hours.
46 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 4
(Political) Survival Scheduling with Hodgson’s Rule or See How Those Salesmen Love One Another Once upon a time there was a trailer manufacturer somewhere in the southwestern part of this great country. They had recently hired a new production scheduler, and he started off his day with a briefing from the sales and production managers as to the lay of the land. The briefing informed him that attached to each trailer order was a salesman who only got his full commission if that order of trailers was delivered on time. The commission continued to slide down to some minimum as the delivery got later and later. Needless to say, this created a burning interest on the part of the salesman in every schedule produced. The new scheduler was about to find out how much interest. He seated himself at his desk looked at the processing times predicted and due dates for the 15 jobs presently moving through the shop. He shortly came up with a schedule which, if it did not satisfy everyone, at least it distributed the pain equally. He stepped out in the hall and posted his new schedule on the spot where he had been told to post it, and returned to his cubby hole for a restful cup of coffee. Shortly afterwards, the door swung open with a crash and an angry salesman entered with these words: “Are you the $#@&*%!@ that made up this schedule? “Well, MY JOB IS LATE!!! CLOWN, DO YOU SEE THAT PHONE ON YOUR DESK, THAT PHONE WILL RING!!! IT WILL BE THE VOICE OF THE PLANT MANAGER TELLING YOU THAT MY JOB WILL BE ON %$#@*& TIME!!!” He left, slamming the door with such force that the glass fell out onto the floor. While the scheduler was picking up the pieces, the phone did indeed ring. It was indeed the voice of the plant manager saying, with embellishments, pretty much what had been predicted. The scheduler was ordered by the plant manager to make up a new schedule in which the person’s order who just visited was splendidly on time. This did not take too long, and shortly another schedule was posted in the accustomed spot; somewhat battered, he returned to his cubicle. Shortly afterwards, the door swung open with a crash and a different angry salesman entered with these words: “You $#@&*%!@, you got it right the first time. Well, NOW MY JOB IS LATE!!! CLOWN, DO YOU SEE THAT PHONE ON YOUR DESK, THAT PHONE WILL RING!!! IT WILL BE THE VOICE OF THE PLANT MANAGER TELLING YOU THAT MY JOB WILL BE ON %$#@*& TIME!!!” He left, slamming the door with such force that the remainder of the glass joined brethren on the floor.
47 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 4
The scheduler found that he could not take his eyes off of the phone, which shortly thereafter (surprise) rang. The plant manager was reaching new heights of invective that now this was the crucial job of jobs and a new schedule would damn well be forthcoming to take care of this problem. The groveling scheduler began rescheduling the schedule that he had just rescheduled. When he went home that night his little seven-year-old daughter asked him seriously: “Daddy for show and tell tomorrow I need to tell the class what my daddy does. What do you do, Daddy?” Daddy took his little blue-eyed child in his lap and told her softly: “Honey, every day Daddy goes to an office full of excrement right up to the bottom of his nose. The only thing Daddy is sure of, my darling, is that that excrement will rise. Daddy’s only job, precious, is to stay just ahead of the excrement. One other concern I have is that if the excrement is up to Daddy’s nose, Daddy doesn’t want some fool making waves in it.” The quick result of this was his child bride snatching the baby away and a night in the dog house for him. At this point, a great peace came upon the scheduler as he realized that this wasn’t a technical problem at all — this was a political problem. It really didn’t make any difference what his schedule was. No matter what sequence he put up, the salesman whose job was late would go and bitch to the sales manager, and the sales manager with the salesman in tow would storm the plant manager’s office with reasons why this order was the hot one. It was patently easier for the plant manager to come and dump on him than to tell the sales manager and his minion that their job wasn’t really sufficiently important to change the schedule. Given this situation he could just run down to Kmart, buy a dart board with 15 circles on it and be reasonably assured that the dump level would be about the same. This looked like a job for… Hodgson’s Rule Return with me now to those days of yesteryear and Hodgson’s Rule, [1], which tells us that if we want to minimize the number of late jobs, all we have to do is: 1. Put the jobs in increasing order of due date. 2. Start doing the jobs from left to right until you get a late job. 3. From all of the jobs up to and including the late one, find the one with the biggest processing time and put it last. 4. Go back to step 2, until you run out of jobs. Now the good news about this method is that you do, indeed, maximize on-time performance. The bad news, however, is that the late jobs will tend to be really late. With malice aforethought, our intrepid scheduler waited until he had a situation using Hodgson’s rule where 14 of the salesmen’s jobs would be on time and only one late. But that job had a delivery date some 36 months out. He also added a small note on the bottom of the schedule that he could prove that the above schedule was OPTIMUM. Now, also, it was the end of the month and on-time delivery meant
48 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 4
immediate reflection in the salesman’s paycheck. He took the schedule to the accustomed place, just where the salesmen would pass it going to their end-of-the-month three martini lunch, and retired to his office. Fourteen salesmen stopped, looked, and continued on to lunch. The remaining salesman’s scream penetrated two layers of cinderblock, and… Shortly afterwards, the door swung open with a crash and an angry salesman entered with these words: “You $#@&*%!@, what are you DOING!!! EVERY OTHER $%^#$* salesman’s job is on time, and MINE IS LATE!!! CLOWN, DO YOU SEE THAT PHONE ON YOUR DESK, THAT PHONE WILL RING!!! IT WILL BE THE VOICE OF THE PLANT MANAGER TELLING YOU THAT MY JOB WILL BE ON %$#@*& TIME!!!” He left, slamming the door..... The scheduler calmly dialed the plant manager’s extension, told him that the salesman was on his way and expressed his perfect willingness to make sure that the right honorable gentleman’s job was on time. The plant manager was a little taken aback that he was rolling over so easily, but he agreed that it should be done. The scheduler then asked, silkily, if it would be unreasonable for him to bring an order to that effect over for the plant manager to sign. By this time the sales manager with salesman in tow could be seen approaching the plant manager’s office. The plant manager, sensing quick action, agreed, and the scheduler hied himself over there; the sales manager and the salesman had the great satisfaction of seeing the order signed in their presence. Our hero at once posted the new (already prepared) schedule, in day-glo orange, so that the somewhat bagged salesmen wouldn’t miss it upon their return from a hopefully very liquid lunch. He, with a beautific smile, retired to his office, knowing well what was about to happen. The salesmen returned about 2:30, after making a serious dent in their (anticipated) end-of-month commissions. When they saw the revised schedule, and realized that now seven jobs were late, the anger of the seven shafted salesmen knew no bounds. Independent observers confirm that… Shortly afterwards, the door swung open with a crash and seven angry salesmen entered (one with a rope) with these words: “You $#@&*%!@, you got it right the first time. Well, NOW OUR JOBS ARE LATE!!! CLOWN, DO YOU SEE THAT PHONE ON YOUR DESK, THAT PHONE WILL RING!!! IT WILL BE THE VOICE OF THE PLANT MANAGER TELLING YOU THAT YOU WILL &%$# WELL GO BACK TO THE FIRST SCHEDULE.” There is an unconfirmed rumor that the scheduler rose from his desk, wearing a roman toga. A dancing girl in diaphanous garments, entered, stage right, bearing a silver basin. She poured scented soap over his hands, and he solemnly washed them in the silver basin. Drying his hands, he turned to the assembled salesmen with great dignity and showing them the signed document obtained above, and suggested that an “appeal to the emperor was certainly in order.” In scheduling circles this is known
49 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 4
as “Doing a Pontius Pilate” [2]. The salesmen retired in some disorder, until they realized two things: 1. The total value of their combined orders was considerably greater than the order that had been forced on time, and also… 2. Didn’t that clown of a scheduler say that the old schedule was OPTIMUM. Shortly thereafter, the seven salesmen appeared in the sales manager’s office and forcefully made the two points above. Firstly, that it was clearly better to torque off one customer at X dollars then to torque off seven customers at 3X dollars, and secondly that the “good” schedule was OPTIMUM. The plant manager, knowing when he was beaten, called the scheduler, who shortly appeared with a ready-to-sign order rescinding the previous order. There is a rumor that the new schedule posted was literally chiseled on a stone tablet obtained in advance from a monument shop next to a nearby cemetery. It drew quite a crowd when the forklift slid it onto the one-inch bolts that had been thoughtfully pre-installed in the wall to hold it. The seven salesmen watched this installation with some satisfaction — especially when the complaining salesman was summoned to see it. Upon realizing that his job was now still going to be 36 months late, he became somewhat abusive to all and sundry. The rumor that someone offered to knife him if he complained again is completely unsubstantiated. In any case he retired, mumbling imprecations, to his office in salesman’s row. The seven salesmen also retired, laughing and joking about how they really “Did it to ol’ Joe Bob.” After sitting in their offices for a few minutes, they all realized at about the same time that ... NEXT time, it might be their turn in the barrel. Isn’t it wonderful how a little management science can encourage the salesmen to work together. No one has protested the schedule in years. I wonder why? References 1. Moore, J. M., “An N Job, One Machine Sequencing Method for Minimizing the Number of Late jobs,” Management Science, Vol. 15, No. 1, Sept. 1968, pp. 109. 2. “Holy Bible,” King James Version, Gospel According to St. Matthew, Chapter 27, Verse 24.
50 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
Quick and Dirty Parallel Machine Scheduling The Beginning: Bedworth and Bailey’s Methods Ever since Bedworth and Bailey wrote “Integrated Production Control Systems,” [1], I have been gratefully using their various methods for parallel scheduling as an addition to my own quick and dirty presentation of other people’s methods of scheduling for single machines. I take the liberty here of rewriting, only slightly, their outstanding work into the usual utilitarian quick and dirty format people expect of me. Over the last few years of using and teaching their methods, it became clear that there were, perhaps, some insights that I had derived that might justify a more careful presentation. In short, the excellent and useful methods discussed in this note are entirely due to Bedworth and Bailey; my contribution is just commentary and presentation. At this point it is good to remind the readers of the PushDown, Pop-Up Principle of Production Scheduling mentioned in [6]. “Any time you push something down in production scheduling, something will pop up and bite you in a vulnerable spot.” What this really means, from my experience, is that scheduling is almost never an activity in which there is just one goal. If, for example, you minimize the average time it takes to do any job, you may have all of your jobs late. If you schedule to minimize the late jobs, you may have most on time, but the late job is into next year. The alert production scheduler is one who realizes that scheduling is not just a technical problem but really a first-class challenge in political perception. The scheduler who survives is the one who ferrets out the perception of the biggies and gives them that result. By parallel scheduling we mean that you have two or more identical machines available for scheduling. For all the methods to follow we will use the same set of jobs, culled from the bitter experience of the author, as follows: Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Time
20
10
50
11
21
22
40
60
In the figures which follow, the job number will be in BOLD FACE above the line of the machine, and the completion time of that particular job will be below the line and to the right. Method 1: Minimizing Mean Flow Time on M Parallel Machines Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Time
20
10
50
11
21
22
40
60
Method: SPT (Shortest Processing Time)
51 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
How: A. Put all of the jobs in increasing order of processing time. B. Starting with the shortest job, put them on the machine with the least time assigned. Break ties arbitrarily. The SPT order for the jobs in our example is: 2, 4, 1, 5, 6, 7, 3, 8. We now load them on three machines as shown in Figure 1. 2 M1
4 M2
5
3
+-----+-----------+---------------------+--------------------+ 10
31
6
8
+------+-----------+---------------------------+-------------+ 11 1
M3
81
33
93
7
+-----------+---------------------+---------------------------+ 20
60
Figure 1: Shortest Processing Time
Political Discussion The beauty of SPT scheduling is that everybody can understand it, and if your aim is to maximize production per unit time, this method is for you. The problem is, what this method really does is load the short jobs first no matter what their realworld priority is. Now this method has indeed, for this problem, minimized the average waiting time for each job on each machine. We notice, however, that the set of these jobs is not complete until the 93rd hour after starting the batch. One could argue that since the first machine stops processing this batch at the 81st hour, that you have 12 hours of “idle” on the first machine. By the same argument, the last machine is through processing this batch at the 60th hour, yielding another 33 hours of “idle” for a grand total of 45 idle hours. Production schedulers that I have dealt with around the world have problems with the above schedule; they seem to think that they would be happier if everything, somehow, ended at more nearly the same time. This point of view is taken in spite of the common situation where there are enough new jobs coming along to eat up the scheduled slack. This attitude may seem strange to academics, but scheduling is not a rational process anyway, as will be discussed later. Bedworth and Bailey’s next method will help us deal with exactly that problem.
52 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
Method 2: Reducing Makespan and Mean Flow Time on M Parallel Machines Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Time
20
10
50
11
21
22
40
60
Method: LPT: (Longest Processing Time) How: A. Put all of the jobs in decreasing order of processing time. B. Starting with the longest job, put them on the machine with the least time already assigned. C. Now reverse the order on each machine, putting the jobs on each machine in SPT order. The LPT order is : 8, 3, 7, 6, 5, 1, 4, 2. Now load them on three machines as shown in Figure 2, using steps A and B above. 8 M1
1
+------------------------------+----------+ 60 3
M2
5
2
+------------------------+-----------+-----+ 50 7
M3
80
6
71
81
4
+-------------------+-----------+-----+ 40
62
73
Figure 2: Longest Processing Time
The first thing you notice is that the last job in this batch is finished at the 81st hour, a gain over the previous method of 12 hours. Further, the first machine stops processing at the 80th hour, yielding one hour of idle. The third machine stops processing at the 73rd hour, yielding eight hours of idle, giving us a grand total of nine hours of idle. The bad news, however, is that the second job on each machine had sure better have cheap in-process costs associated with it, since the second jobs will be waiting a long time to be processed. We now do step C, reversing the order of the jobs on each machine, shown below in Figure 3.
53 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
1 M1
8
+-----------+------------------------------+ 20 2
M2
5
3
+----+-------+------------------------------+ 10 4
M3
80
21
81
6
7
+-----+---------------+----------------+ 11
33
73
Figure 3: Longest Processing Time With Orders Reversed
Political Discussion Notice that things are definitely coming out more evenly, but we have paid a small price by having one more step in our method. It is important to realize using these methods that there is a profound difference between a method that says “minimize” and a method that says “reduce.” In the above method there is no argument for optimality, just that things have been reduced. Method 3: Reducing Maximum Tardiness on M Parallel Machines Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Time
20
10
50
11
21
22
40
60
Method: DDR (Due Date Rule) How: A. Put all the jobs in increasing order of due date. B. Starting with the earliest due date job, put them on the machine with the least time already assigned. The due date order for these jobs is: 2, 1, 4, 5, 6, 3, 7, 8. Now load them on the three machines below as shown in Figure 4. 2 M1
5
7
+----+-----------+-------------------+ 10 1
M2
31 3
+----------+-------------------------+ 20 4
M3
71
6
70 8
+-----+-----------+-----------------------------+ 11
33
93
Figure 4: Due Date Rule
54 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
Political Discussion What this method really does is make sure that nothing is very late. In our case, nothing is late. The bad news, of course, is that everything may be late. Well, we may have done that, but you notice that total machine times didn’t come out very even again, if this is important in your particular work situation. I recall a consulting engagement at FAMA in Monterey, Mexico, where we were able to drop the inventory carrying cost of the company by an order of magnitude. This was also mentioned in the previous chapter. They were already using the due date rule, with the expected result that all of their customers complained because they were always late on everything. To compound this situation, their in-process inventory costs were eating them alive. What we did was simply weight the due dates of the orders by the Net Present Value of the value of their inventory, and schedule them that way. All of the customers still complained because of the lateness, but inprocess costs dropped like a stone. Of course, if we just want to reduce tardiness, we move to the next method. Method 4: Reducing Average Tardiness on M Parallel Machines Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Time
20
10
50
11
21
22
40
60
Slack Time
20
10
30
31
47
52
53
48
Method: Slack (Slack Rule). Increasing Order of (Due Date-Processing Time) How: A. Put all of the jobs in increasing order of slack time. B. Starting with the first job, put them on the machine with the least time assigned. The slack order for these jobs is 2, 1, 3, 4, 5, 8, 6, 7. We now load them on the three machines below, which gives: 2 M1
4
8
+-----+-----+------------------------------+ 10 1
M2
21 5
6
+-----------+-----------+-----------+ 20 3
M3
81
41
63 7
+-----------------------------+---------------------+ 50
90
Figure 5: Slack Rule
55 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
Political Discussion Scheduling with slack time order has great appeal to our common sense. As the job with the least slack time is the one most likely to be late, we want to put it earliest in the sequence. In our example, there are no late jobs. Painfully, we discover that this method also has a tendency to make the late job, when you get one, to be a real wowser. The single machine example I like to use on this follows. Say that we have two jobs, which may be scheduled in two ways as shown: (also looking at completion time for each job.) Job #
1
2
2
1
Due Date
30
10
10
30
Proc. Time
5
5
5
5
Compl. Time
5
10
5
10
Slack Time
25
5
5
25
Notice that, in the above example, everything is on time, scheduling the jobs in either order 1, 2 or 2, 1. The slack order schedule, however, is 2, 1, which is perfectly consistent with common sense; scheduling the jobs in the order 1, 2 is just asking for trouble. If anything goes wrong with the processing time for job 1, job 2 is sure to be late. The real flaw in this method becomes immediately apparent with a second example. When you realize that job 1 and job 2 have the same slack time scheduled in either order 1, 2 or 2, 1. Job #
1
2
2
1
Due Date
10
100
100
10
Proc. Time
5
95
95
5
Compl. Time
5
100
95
100
Slack Time
5
5
5
5
The order 1, 2 gives an average completion time of 105/2= 52.5 while the order 2, 1 gives an average completion time of 195/2= 97.5, an almost two-fold increase. From my experience increasing slack time order is one of the most used scheduling methods in the world. Every time I find someone using it, I try to point out what this method does is schedule a batch of jobs in such a way that you have maximized the minimum tardiness. It is a good idea to contrast this method with the due date rule, that minimizes the maximum tardiness. If you ask your boss if he wants you to MINIMIZE maximum lateness or MAXIMIZE minimum lateness, you learn fast that he needs more information as to what the implications are. If you don’t have enough stress in your life, try it. Now, only one more method remains. The experience of Bedworth and Bailey was that the slack rule works well only
56 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
when the processing times or due dates of the jobs are very similar. Otherwise, they assert that the SPT or DDR rules are better. A good rule of thumb is to simulate the schedule with all three rules for a sample of jobs and simply pick the one that does the best within your political situation. Method 5: Reducing Number of Late Jobs on M Parallel Machines Job #
1
2
3
4
5
6
7
8
Due Date
40
20
80
42
68
74
93
108
Proc. Time
20
10
50
11
21
22
40
60
Method: Modified Due Date Rule How: A. Load jobs on the machines in order of increasing due date (Method 3). B. For each machine, starting with the first job, look at all of the jobs until you find a late one (if there is one). C. If one is found, look at all of the jobs up to and including the late job. Pick out the job with the biggest processing time and put it last. Revise completion time and return to Step B unless you already have all late jobs last on each machine. It should be clear by inspection that scheduling all of these jobs on three machines will result in no late jobs. Therefore, this time we will load the above jobs on two machines, giving the result shown below in Figure 6. 2 M1
4 10
1 M2
6
7
8
+-----+-----+---------+----------------+-----------------+ 21
43
5
3
83
143
+----------+---------+----------------------+ 20
41
91
Figure 6: Reducing Number of Late Jobs
Political Discussion If you had tried to do all of these jobs on one machine, you would have had, no matter what schedule you tried, four late jobs. When you are consistently getting late jobs in production, you begin to argue for increasing capacity. You do this because you know that there is no hope of forcing the clowns in marketing to come up with a more accurate forecast. It is, however, important to remember that there is one thing worse than not getting your wish for more capacity: getting what you asked for and still having late jobs. Say that you had argued that doubling your capacity from one to two machines would result in greatly diminished late jobs, and
57 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
you had been granted your wish. Looking at the above schedule, you have now doubled your capacity and still have, for this batch, TWO late jobs, 3 and 8. Scott Healy at this point reminded me gently that one should not follow any method too slavishly. He noted that by simply moving job 7 down onto the second machine that we get the following schedule with only one job late. Readers take note. 2 M1
4
8
+-----+-----+---------+---------------------------+ 10 1
M2
6 21
43
5
7
103 3
+----------+---------+------------------+----------------+ 20
41
81
131
Acknowledgment is hereby made to Scott Healy for his careful and thorough error-checking of this book. Final Comments The last paragraph above is really a gentle warning that the best use for these methods may not necessarily be for scheduling but for testing the results of increased capacity. For example, take your last few periods’ schedules on the number of machines you have now and lay them out by hand or by spreadsheet, with increased capacity, using the methods above. You should get a pretty good feel, rather quickly, of just how much that increased capacity is going to do for you. It is also good to remember that the amount of savings you can generate in decreased delivery time and increased productivity is often a very squishy number next to the rock-hard cost of that much-desired additional capacity. As a final comment, remember that justification of new equipment will fly with the bean counters only if you can show that you are better off at present value AFTER TAX. For a quick and dirty to do this, see [7]; those desiring total information should see [2]. Never forget Stermole’s great law of equipment justification: “Don’t count it till you DISCOUNT it.” References 1. Bedworth, David E. and Bailey, James E., “Integrated Production Control Systems,” John Wiley & Sons, NY, NY (1982), pp. 316-323. 2. Stermole, F., “Economic Evaluation and Investment Decision Methods,” Investment Evaluation Corp., Golden, Colo. (1988). 3. Woolsey, Robert E. D., “A Survey of Quick and Dirty Methods For Production Scheduling,” Production & Inventory Management, Vol. 12, First Quarter (1971), pp. 60-68. 4. Woolsey, Robert E. D., “Quick & Dirty Scheduling,” Tooling & Production, Vol. 39, No. 2, (May 1973), pp. 58-59.
58 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
5. Woolsey, Robert E. D., “Production Scheduling As It Really Is,” Interfaces, Vol. 12, No. 6 (December 1982), pp. 114-118. 6. Woolsey, Robert E. D. and Swanson, H. S., “Operations Research For Immediate Application — A Quick & Dirty Manual,” Harper & Row NY, NY (1975), pp. 1-37. 7. Woolsey, Robert E. D. and Lienert, Charles E., “Purchasing The Computer On A Present Worth Basis: A Quick & Dirty Approach,” Production & Inventory Management, Vol. 25, Fourth Quarter (1984), pp. 126-132.
Quick and Dirty Methods for Parallel Process Scheduling I Minimizing Mean Completion Time or Mean Flow Time or Mean Waiting Time on M Parallel Machines Method: Shortest Processing Time A. Put all of the jobs in increasing order of processing time. B. Starting with the shortest job, put them on the machine with the least time assigned. Break ties arbitrarily. Reduce Makespan and Mean Flow Time on M Parallel Machines Method: Longest Processing Time A. Put all of the jobs in decreasing order of processing time. B. Starting with the longest job, put them on the machine with the least time already assigned. Break ties arbitrarily. C. Now reverse the order on each machine, putting the jobs on each machine in SPT order. Reduce Maximum Tardiness on M Parallel Machines Method: Due Date Rule A. Put all the jobs in increasing order of due date. B. Starting with the earliest due date job, put them on the machine with the least time already assigned. Break ties arbitrarily. Reduce Average Tardiness on M Parallel Machines Method: Slack Rule A. Put all of the jobs in increasing order of slack time. B. Starting with the first job, put them on the machine with the least time already assigned. Reduce Number of Late Jobs on M Parallel Machines Method: Hodgson’s Rule A. Load jobs on the machines in order of increasing due date (see above). B. For each machine, starting with the first job, look at all of the jobs until you find a late one, (if there is one).
59 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 5
C. If one is found, look at all of the jobs up to and including the late job. Pick out the job with the biggest processing time and put it last. Revise completion times if necessary and return to step B, unless you already have all late jobs last on each machine.
Parallel Process Scheduling Practice Problems I Job #
1
2
3
4
5
6
7
8
Due Date
18
20
42
36
69
83
27
104
Proc. Tim.
2
13
27
17
31
42
25
60
Slack Time ________________________________________________________
Assume that all work is to be done on two parallel machines. The schedule to: 1. Minimize mean flow time is _________________________________________ 2. Reduce makespan and mean flow time is _______________________________ 3. Reduce maximum tardiness is ________________________________________ 4. Reduce tardiness is _________________________________________________ 5. Reduce number of late jobs is ________________________________________
Parallel Process Scheduling Practice Problems II Job #
1
2
3
4
5
6
7
8
Due Date
27
56
82
51
94
23
79
52
Proc. Time
12
14
45
31
64
8
22
51
Slack Time ________________________________________________________
Assume that all work is to be done on two parallel machines. The schedule to: 1. Minimize mean flow time is _________________________________________ 2. Reduce makespan and mean flow time is _______________________________ 3. Reduce maximum tardiness is ________________________________________ 4. Reduce tardiness is _________________________________________________ 5. Reduce number of late jobs is ________________________________________
60 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 6
Scheduling in the Real World, Final Warnings If you find one of the methods in this book that EXACTLY fits your situation, I am only sure of one thing: You don’t understand the situation! From my experience, the single most difficult thing to figure out for the production scheduler is what the devil the MEASURE is by which he or she gets to keep his or her job! Multiple Process Politics For multiple process scheduling, minimizing makespan is neat, if that is the right measure! Makespan basically is trying to schedule the multiple processes so a given batch of jobs fall off of the machines on or about the same time. This is undeniably tidier than having a wide variance of when a given batch of jobs is completed. The hidden assumption is that the scheduler can then put another batch of somewhat related jobs on the same set of machines and do it again. This assumption is virtually never true in practice. Machines break down, workers are absent, parts are missing because the bill of materials in the computer and the bill you really make that part from are, somehow, different. The real measure of the good production schedule is how easily it may be changed to cope with the LATEST foul up elsewhere. There is also a folklore that “a machine is only paying for itself when it is running.” This is, however, NOT SMART if by having that (batch) of machines running all the time that you idle a (batch) of machines that are worth 30 times as much! It is often painfully true that if some stages of the production facility work TOO efficiently that you may be much worse off than before. A good way to remember this is to consider a sewer plant. If the early (cheap) stages are TOO efficient, the later (and more expensive) stages don’t have enough material to work with to run at any acceptable level of efficiency. Single Process Politics A moment’s reflection will show that minimizing the flow time is great if you can wait forever for the long jobs. Due date rule is super if you can live with EVERYTHING being, from time to time, LATE! The slack rule is wonderful for reducing tardiness if you won’t get fired because the occasional late job is into the next century. Modifying any of these with priorities gets you even further out on a limb as every player has their own well ordering of what THEY think the priority ought to be. Precedence rules work only if you have bothered to check that those rules are REALLY what the worker bees are doing on the line. Remember, the worker bees do whatever is easiest for THEM, disregarding safety and other such trivialities. The FIRST thing that a machinist does with new equipment is to run it once, decide if the guards to keep him or her from slicing off various parts of their anatomy are in the way, and REMOVE THEM. If you don’t believe me, you have never worked in a production facility. What can make this exciting is when you are machining something really fun such as Beryllium or Uranium, hopefully in a laminar-downflow environment.
61 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 6
Parallel Process Politics Once more, may I remind you that the parallel machining methods should not be used so much to schedule the shop as to find out if another machine will, on a discounted cash flow basis, make you more profitable. As mentioned in the previous chapter, it is a simple process indeed to imagine that there is another machine and schedule a few day’s work as if there were. The results may often save your company a bundle for a machine they don’t need and also save your job, which would be in considerable jeopardy if you talked them into ordering it and things didn’t get better. Remember, Confucius once said: “There is only one thing more perilous to a man’s soul than not getting what he wants: GETTING IT!” If you think you have troubles without the new equipment, what if you get it (at great cost) and you still have the same number of late jobs? (Computer) Systems and Politics The professional manufacturing magazines are replete with ads for “the scheduling system to solve all of your problems.” We all would like to believe that if we bought just one piece of software that our job would be easier. It is important to recall, again, that it may take longer to input the data into the computer than it would take you to solve the schedule using most of the methods presented in this book. We have offered no systems here, just building blocks much like a Lego set. It requires that you have to cut and fit and combine them into something that fits your particular situation. No computer programs were presented because the methods are so straightforward. Remember, you may only justify a computer system to do scheduling if: 1. The worker bees understand it. 2. The worker bees can see that they will be better off with it. If you are approached by companies peddling a total scheduling system and you want to get the right one, just do the following: Require that the company send people who will work your process end to end under the same conditions that your workers do, on their company’s time. If they do that, you have some hope that they might get it right because now they know what’s happening. The requirements to get the above done requires that we return to the writings of Frederick Winslow Taylor. Final Words: Frederick Taylor was Right Frederick Winslow Taylor has been blamed for just about everything that is considered wrong with American business. He has been cheerfully lumped in with all of the other authoritarian, theory-x, soulless, inhumane management methods of which we have heard. May I take a moment and review what he really said: 1. Scientifically study the work. 2. Scientifically select the workman best able to do the work.
62 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 6
3. Scientifically train the workman, one on one, to take advantage of individual ability. 4. Manage with cheerful cooperation in such a way that the workers perceive that management is doing at least 50 percent of the work. I have now asked worker bees about rule 4 in a number of countries around the world with a response that is statistically independent of location, cultural background and level of development. The response was LAUGHTER (with two exceptions): 1. FAMA and Fernando Fernandez Martinez in Monterrey, Mexico and 2. The entire management team at A. O. Smith’s auto frame plant in Granite City, Ill. May I suggest that what happened in many firms is that your management has no trouble with rules 1 and 2, gags a bit on rule 3 and chokes to death at the thought of operating according to rule 4. The reasons are clear. Rule 3 requires that management knows how to do the job. Rule 4 requires that they constantly be studying the process so as to make it safer, easier, and more (dare I say it) FUN for the worker. And maybe even make the process more profitable on a Discounted Cash Flow Rate of Return basis. Getting System Acceptance The single greatest problem we have run into in our combined careers is simply getting the system ACCEPTED! For that reason, we conclude with the following chapter, published before, about a real person. His approach is a perfect example of Frederick Taylor’s principles in action. His name is Jack Burlingame, and he designed and implemented a multi-million dollar production scheduling system by, in my opinion, doing it all dead right! Reference Taylor, Frederick Winslow, Principles of Scientific Management, W.W. Norton & Co., New York, ISBN 0-393-00398-1, 1964.
63 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 7
On System Acceptance Common folklore among the members of our profession holds that the only absolute requirement for system acceptance is “top management commitment.” May I respectfully suggest that, in my experience, another requirement is equally absolute: user (bottom-level) acceptance. I have now seen the spectacle, in a number of countries and cultures, of splendid systems for scheduling and inventory control going down the toilet and taking the committed top management right down with them. The hard facts are these: If the people at the bottom of the managerial heap, who will have the joy of facing the green screens every day don’t see the system as a help, they will slowly, and with malice, ignore it to death. It is not my purpose to discuss how system acceptance may be done wrong. On the contrary, I will now present a true story about a gentleman who did it stylishly right. He was hired as a systems czar by a large midwestern manufacturing firm to design, build, and gain acceptance for a wall-to-wall production control and reporting system for the whole plant. He was given carte blanche to do it any way he wanted, a munificent salary, all the subordinates he needed, a budget, expected results, and a deadline. Clearly here was an opportunity to become famous or notorious, with his preference definitely for the former. Homework Now the first thing our paladin did was to study carefully why other large systems of this type failed. Good detective work showed that whatever the level of acceptance by top management, the nonacceptance by the troops that had to deal with the system on a day-to-day basis was the key. More study showed that invariably the CRT displays and the listing to be used by the grunts down below were presented to them as a big surprise with the (usually implied) understanding that they should take it because “mother knows best.” Then there was the customary tap dancing that their inputs were earnestly solicited, so long as they understood that any desired changes were already impossible due to reprogramming costs. Based on this information, our systems czar took a slightly different approach. He also took a in-depth look at exactly how this particular manufacturing plant operated. The plant was a building a couple of football fields long and roughly a field and a half wide. Raw material literally came in one end of the plant, and finished product came out the other. For each of the various products made, flow sheets through different machine groups were easy to construct and to follow. The machine groups were numbered from one to nine within the plant. A machine group was under the absolute control of a floor supervisor. Typically, his domain of influence stretched from one side of the plant to the other and was about 30 yards long for each group. The group areas were demarcated by brightly colored and painted lines on the floor. Often floor supervisors were seen discussing production problems with each other, but interestingly enough, in most cases, they were careful to stand only on their own sides of the line when doing so. Our hero
64 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 7
sensed that the floor supers had rather powerful senses of territoriality, shared by their subordinates, much like bull elk in mating season. Finishing his extensive homework, he discovered what appeared to be a common thread among the sequence of failed systems that had been tried at that plant before. In every case where failure resulted, when the customary exercise of “soliciting lower management commitment” was finished, only the sharpest and most open-tochange management was tapped. The reasons are obvious: a) who wants to listen to dummies, and b) it’s always easier working with people ready for change. He had accurately observed that the subtraction of the above subsets from the set of management left those people most likely to sabotage the system to death, that is: a) the dummies, and b) the people who never wanted the new system at all! The Beginning He therefore requested for his test case two floor supervisors who met the following requirements: a) Must be in adjoining machine groups, b) Had already voiced violent opposition to any new system, and c) Were not considered to be rocket scientists. Top management reacted negatively to his initial request, quoting the reasons stated above. However, he persisted, finally stating his case as: “I want the Archie Bunkers.” Top management, predicting disaster, took care to give him exactly what he asked for: Virgil and Joe Bob. Now these two gentlemen can best be described as follows. They had bowling trophies on their desks, and the Rigid tool calendar (you know the one I mean) above their desks. They used smokeless tobacco, and had mesomorphic builds, lifetime memberships in the NRA, and the bumper sticker on their identical big-wheeled pickups that said: “They Can Have My Gun When They Peel My Cold Dead Fingers From Around It.” Our winner made an appointment to meet with them on neutral ground, the canteen that their two machine groups shared in the plant. The meeting started with Virgil and Joe Bob telling our hero exactly what they thought of the whole idea of computerizing the production scheduling of the plant in general and especially what they thought of him starting with them in particular. They discoursed with feeling about having things shoved down their throats, with strong implications of assured sabotage of anything they didn’t like. After giving them sufficient time to complete their spleen venting, our hero asked them what information they would like to have the proposed system provide to make their jobs easier. Stunned silence resulted from both supervisors, until Joe Bob broke it with the comment that the reason that they didn’t have a quick answer was simply
65 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 7
because they had never been asked that question before. It took considerable time to convince them that this particular systems person didn’t have a form ready for them to comment on, that he would then ignore, as had happened before. The discussion continued over lunch during which Joe Bob and Virgil discovered that this particular systems czar was a dove hunter of ability and also an NRA life member. The openness of discussion that afternoon was of considerable contrast to that of the morning. Joe Bob and Virgil revealed that what they would really like to have was a list of all the jobs coming at them at least two machine groups away. It seems that for more than 20 years they had been coming to work an hour early (5:30 a.m.) and sitting down over coffee and scheduling their two machine groups to try to minimize both setups and hassle to themselves. The systems type asked them how they would like these jobs sorted, anticipating something like due date, priority, machining requirements, or size of job. He was rather startled to find that their primary interest was knowing the metallurgy of the parts. It turned out that the metallurgy dictated more than anything else the setup time for the particular kinds of machine groups managed by our two supervisors. He then spent considerable time laying out a report format exactly as Joe Bob and Virgil wanted to see it. After three tries, he presented them with a computer-generated form in precisely the format that they could mark up in the most effective way for their schedules. He also spent many late hours modifying the existing reporting system to generate this form. After about three weeks of tinkering, the systems man appeared in the canteen at 5:30 a.m. to present Joe Bob and Virgil with the information they wanted, in the form that they wanted. He watched happily as Virgil and Joe Bob really went to work, and by 5:48 or so, they had essentially scheduled their two machine groups for the day. They also generated some changes they wanted in the form, which generated a few more wee hours of programming by our hero and his minions to get it back to them. Suffice it to say that, within a week, the form seemed to stabilize, and a week later it was dove season, so Joe Bob and Virgil took off a few days for their annual hunting trip. While they were gone, our change agent was summoned to tell his boss of progress on the supersystem to come. The boss was not pleased to hear that the only result of some weeks’ work was that a new report was now being generated at great cost for two floor supervisors. “Why good heavens man, those two aren’t even middle management!” The biggy was told to have faith; our man knew what he was doing. The routine was this: The DP department generated the form the previous night, and it was delivered to the desks of Virgil and Joe Bob no later than 7 a.m. Our hero emphasized the importance of the delivery time to the head of ADP, who was not particularly thrilled at the whole idea of this process. Strange events, however, began to happen down on the shop floor during the next few weeks.
66 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 7
The Middle Virgil and Joe Bob really began to get off on the use of their new toy. Our hero knew it was all over when Virgil and JoeBob asked for one small change to be made in the report. Joe Bob said, “Could the top line say: ‘MACHINE GROUP REPORT FOR MR. JOE BOB STUCKER,’ for me, and for Virgil it should say the same except for ‘MR. VIRGIL UPCHURCH.’” This was quickly done and our protagonist sat back to watch what he knew would soon occur. We must remember that there was a certain spirit of territorially (and competition) among the floor supervisors. If Virgil (who supplies Joe Bob) suddenly can load his machines to near optimality, and Joe Bob is fitting his schedule to Virgil’s supply to do the same, funny things begin to happen. The machine group supervisor who supplies Virgil’s group suddenly finds Virgil (standing on his own side of the line) loudly asking: “When are you going to get off your backside, AND GET ME SOME MORE MATERIAL?” After all, Virgil is all caught up and is just waiting for the person being yelled at to get his act together and get with it. In short, Virgil is sucking harder than his supplier can blow. Meanwhile, the poor supervisor supplied by Joe Bob suddenly finds that he is unable to see his machines behind the mounting in-process inventory supplied daily through the incredible productivity of Joe Bob’s group. He is not amused by Joe Bob (standing on his own side of line, of course) loudly wondering when he and his crew are going to get their stuff together and move some of that ever-increasing in-process inventory. We now have Joe Bob blowing harder than his receiver can suck. It does not take long for the macho men, Joe Bob and Virgil, to become royal pains to any floor supervisor who supplies them or receives work from them. They receive monthly productivity awards three months running, and for maximizing quarterly productivity to undreamed-of heights, are presented (appropriately) with a matching pair of Parker Shotguns, suitably engraved. It is not long before the two supervisors who have been most abused and yelled at by Joe Bob and Virgil come in, roll over, and ask to be let in on the secret. Graciously, Joe Bob and Virgil suggest a talk with our hero, who is delighted to oblige. Suitable product lines are chosen to make these two converts also look like the winners that Joe Bob and Virgil already are. At this point the conversion is clearly sure to spread (eventually) to both doors of the plant. The End At this point in the exercise, the head of ADP, still unconvinced that these reports are the right way to go (could be the “not invented by me” syndrome) gets rather behind in his work. Degradation of response time of his beloved system is noticeable as the modular bills of materials required by the new system increase. On his way out the door one evening, he is faced with dropping some tasks to be done overnight in order to cover himself with “top management.” There is just too much
67 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 7
work and too little time. As he scans the list of jobs scheduled, his eyes light upon the reports for our (now) four supervisors. He instructs one of his nerd minions to “call those guys in the morning and tell them that they will have their reports by 9 a.m.,” and he leaves. The next morning Virgil, Joe Bob, Billy Jim and Bobby Gene show up at 7 a.m. only to get phone calls from ADP informing them that they (might) get their reports by nine. Upon receiving this information, after a council of war, they call back and casually inquire as to when the ADP manager gets to work and would the nerd answering the phone happen to know “where he parks?” Now it just so happened that our systems czar happened to be in the computer center that morning on other business and overheard the last conversation. He requested clarification from the computer minion and realized, in a blinding flash of insight, what was about to happen. He runs for the door and is sprinting across the parking lot as our story plays itself out. He sees the ADP manager zip his Porsche 928 into his designated, nameplated parking place in the executive parking lot. He also sees two massive high-rise pickup trucks with loaded window gunracks immediately pull in behind the Porsche and two large, angry Southerners alight. By the time he reaches the scene, badly out of breath, Virgil has the miscreant spread-eagled against his Porsche, while Joe Bob holds his Parker (fully choked) shotgun on him, and both are screaming: “WHERE’S OUR (Expletive Deleted) FORM???” This, dear readers, is: SYSTEMS ACCEPTANCE. This article originally appeared in Interfaces, a journal of INFORMS, in Vol. 16, No. 3, MayJune 1986.
68 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Chapter 7
Acknowlegement is gratefully made here to individuals in companies below that have brought the first author to the beliefs he has: Acres Ltd., Canada Alyeska Pipeline Company American Airlines American Car & Foundry American Metals Climax Ansett Airways, Australia A.O. Smith ARCO AT&T Aurrera, Mexico Bechtel Bell Canada Broken Hill Pty., Australia Caterpillar Corp., Canada Control Data Coors Industries Fabricas Implementos Petroleous S.A., Mexico FAMA, Mexico Frontier Airlines General Motors General Electric Granite City Steel Great Canadian Tar Sands, Canada Hylsa Steel, Mexico Illinois Central Infoplan, South Africa Iskor Steel, South Africa Kelly Cable Kodak Kerr-McGee Lumex, South Africa MAPCO
Martin-Marietta Metron Steel Minerales Para Industria, Mexico MINPROC, Australia MINTECH Mobil Coal National Steel Norgren Valves Peerless-Tisa, Mexico Perkin-Elmer, The Netherlands Pillsbury Rand Mines, South Africa Reunert Components, South Africa Qantas Airways, Australia Research Analysis Corp. Sandia Laboratories SASOL, South Africa Simpson-Pope Pty., Australia Southwest Tube Mfg. Standard Oil of Indiana Union Carbide Nuclear U.S. Steel Vidrio Plano De Mexico Western Electric Weyerhaeuser
69 • Production Scheduling (For People Who Really Have To Do It) • eBooks Series
Lionheart Publishing, Inc. 2555 Cumberland Parkway Suite 299 Atlanta, Georgia 30339 Phone: 770.431.0867 Fax: 770.432.6969 E-mail:
[email protected] URL: http://lionheartpub.com/books.html