Ledelse og Erhvervsøkonomi/Handelsvidenskabeligt Tidsskrift/Erhvervsøkonomisk Tidsskrift, Bind 28 (1964)Basic Concepts for Production Control as Applied to Job Shops.Robert F. Williams *) This paper discusses a number of characteristics and parameters of Job Shop Scheduling, how these relate to the concept of optimum, and how these were satisfied in a recently installed scheduling system for a large scale job shop in Go teborg, Sweden. A Job Shop is defined as a multiple product factory, performing diverse operations in small series using heterogeneous and unrelated pieces of equipment. A large Job Shop requires the most complex form of Production Planning and Scheduling. In the plant for which the system was developed, the products are prototype production machine tools and special equipment for automating production processes. The small series requirement of the definition is satisfied since no more than one of a kind is manufactured. If the prototype proves successful, subsequent series manufacture is performed in a different plant in another part of Sweden. The factory consists of a large number of standard, general purpose machine tools for metal working such as turning, pressing, milling, grinding and drilling equipment. These were classified into 152 groups called Load Centers each of which saitisfies Queue theory requirements of homogenuity, i. e. a job coming to such a load center can be run on any one of these machines (service units) in the group without restriction. These load centers consist of from one to nine individual machines. The products
consist of assemblies of up to 600 manufactured details
*) Partner, Parsons & Williams, Copenhagen and Los Angeles. Side 8
Many details are very complex with 35 or 40 operations required to complete them. Details are usually assembled into sub-assemblies which are brought together into the final assembly. There can be several generations of sub-assemblies. In all, 125,000 separate and distinct operationsare performed per year. The sequence of operations is random so that a detail leaving one Load Center has an almost equal probcibility of going to any one of the other 151 Load Centers. Turret Lathes were often a first operation and assembly operation last. The scheduling
system is designed for an IBM 1401 computer with Reliability in a Job Shop Scheduling SystemIn order to
appraise the problem, reliability theory was used. The
Reliability theory can be used to examine the effectiveness of a rigid*) form of production planning in a Job Shop. It will be shown that, in order to obtain the desired results, it is necessary to "build in" a large amount of flexibility. This flexibility can be obtained by the use of waiting time allowances at each operation, by making delivery promises within the known capacity of the work shops and by limiting the scheduling of new work to carefully controlled, available capacity. A theoretical
discussion of reliability is included here to illustrate
In the factory studied 125,000 operations are completed each year. We have assumed for purposes of this evaluation, 500 per day. We look at each operation as an interaction of men, machines and time standards. The practical shop man knows intuitively that it is difficult, even impossible, to predict exactly what jobs will run on which machines, by whom, a few days in the future. The mathematician, through reliability theory, can prove the shop man's intuition to be correct and to evaluate the degree of unreliability. To evaluate the
level of reliability which should be expected in the
*) In the periods between off-line computer runs the schedule is fixed except for "'hior" decisions. Side 9
further assumed
that, in reliability terminology, they are redundant
With even such a
high system, reliability, after one day or 500
interactions If the system reliability is only 99 %, the predictability will drop to less than 50 % in two years (see Reliability Decay Curve on following page). This would mean that less than half of the jobs can be run exactly as planned after two hours. The above
evaluation does not take into consideration the problem
In order to plan
effectively under these conditions of high
unreliability, This reliability analysis is not intended to be exhaustive or precise but rather to give a general indication of the nature of the problem and to establish an upper bound beyond which readability cannot be expectedto extend. It makes the assumption that there is an effect between Side 10
any one
interaction and every other interaction in the system
within a From the above
analysis it was decided that computer runs should Overcoming UnreliabilityTo overcome the natural unreliability (with off-line data processing), many special features can be included in the planning system. One of the most important of these is flexibility, that is, to provide alternatives for use in the event of system failure. A second very important provision is Production Smoothing. This is clone in three steps. The first step is in Gross Planning, where all incoming orders are roughly planned and compared with the total existing load (see F-17, Page 35). At this step, delivery promises are made so that gross capacity it not exceeded. The second smoothing is done in the fine planning system after order preparation is complete, and time standards have been set. With precise time requirements known, final loading is done so that the load by week is not allowed to exceed the detail Load Center capacity. Finally, all past due orders at each detail Load Center must be accounted for, before disposable capacity can be allocated to new incoming orders. Side 11
This system makes a further allowance for flexibility by providing a statistical waiting time or queue between each operation. This time is taken from standard statistical tables expressed in Figure 2 at the end of this paper. These smoothing amd waiting time techniques allow us to obtain a feasible schedule or load. Optimizing the ScheduleThis feasible schedule is further optimized by establishing priority decisions to determine a "sequence to run". Here decision rules are based on economic principles which are intended to optimize inventory carrying costs and other operating costs within certain limits. Two additional optimizing features are provided. "Look Ahead" which speeds up orders in prior Load Centers when it is found that a particular Load Center will have insufficient work to keep it busy and "Pull Ahead" which advances certain jobs in time. Here we are optimizing utilization. Limitation on the SystemAn optimum Production Planning system for a large Job Shop has been beyond the horizon of present day technology. Much discussion has appeared in the literature, but insofar as this author knows, no practical installation exists today wherein an optimum is achieved. In this case study, a step is made toward optimization in that as orders appear in the near term (ten week) schedule an optimum selection is made of the sequence in which they should be run. At the end of this paper is included a discussion of requirements for an algorithm which will produce an optimum as far in the future as it is desired. In this case study, optimization efforts take place on a ten week period and are limited to those orders which had been previously scheduled for the particular period in question. In this system, if an order has once been scheduled, its position in the total plan is not changed, except as it appears in the current schedule. Total schedule optimization would require a re-examination of all the orders in the system at each planning period. Basic Systems ConceptsThe Production
Planning System which was developed is based on Side 12
certain basic
principles which are discussed below. These basic
principlesare: Optimum Inventory Carrying Costs Rank (Ordning) Planning Priority Decision Rules Front/Back Loading Look Ahead Planning To illustrate the
interactions and effects of planning, scheduling and
Figure 1A on Page 13 shows the way in which the value of a detail grows as it proceeds through the manufacturing operations. In this example we have used 100 Kr. per day (9 production hours) as the rate at which value is added to the detail. Figure IB shows
the ordinary GANTT chart type of visual representation
Figure 1A also shows the accumulated inventory carrying costs for the detail, In this instance, which can be considered more or less normal, the total carrying costs are 10.90 kr. In this example we have used a carrying cost rate of 0.1 % per day. Figure 2 on Page 14 shows the same detail if it were processed in the theoretical minimum time. This time the
carrying costs are 4.50 Kr. In both Figure 1 and Figure 2 we have assumed that the detail is shipped as soon as it is completed and therefore carrying costs stop. It is important to note that, in either case, each day of delay in shipment, after completion, we have a carrying cost of 0.90 Kr. Therefore, rushing an order to completion will not give a minimum cost condition if the detail is not shipped immediately. If the detail of our example were processed in the theoretical minimum time but earlier than necessary, we would have the condition of Figure 3, Page 15, providing it could not be shipped before day 23. This time we see that the carrying costs incurred at the rate of 0.90 kr. per day for the 13 days from day 9 to day 23 increase the total accumulated carrying costs to 16.20 kr. This is the penalty of finishing our detail early. Due to many
factors it is not possible, in a system as large as the
one Side 13
Side 14
Side 15
passing through the system. In designing this system, these other factors have been carefully evaluated and weighed, always attempting to come as near as possible to the theoretical minimum carrying costs, within the limits of the system as stated. From the foregoing example it can be seen that reducing unnecessary waiting time is equivalent to reducing in-process-inventory carryingcosts. One of the devices used to minimize unnecessary waiting time is RANKING. RankingA second simple
example is taken in which we have several details
Side 16
to finish all
details at the same time as shown in Figure 4A above.
In Figure 4B Detail is finished five days early and must wait those five days. Since it is at its maximum added value, the rate at which it incurs inventory carrying costs is also at a maximum. However, the assembly is not delayed so that the promised delivery date, if any, can still be met. Details 1, 2 and 3 are properly ranked. Side 17
A worse condition is shown in Figure 4G. Here Detail 3 is five days late and Details, 1, 2 and 4 must wait. Details 1, 2 and 4 are at their maximum added value and the rate at which they are incurring carrying costs is at a maximum. It can be seen that the cost of the condition of Figure 4C is roughly proportional to the number of details in the assembly. This case presents an additional problem in that the assembly is also five days late and customer good-will may be lost. The degree to which ranking can be achieved when there are assemblies and sub-assemblies is very important in achieving an optimum inventory carrying cost. With single details it is necessary for them to be ranked with their shipping date. Note: In those
cases where details are stored in a finished parts
inventory, We can now state
the first Axiom and its corollaries which were
Axiom I:
All details and
sub-assemblies are to be ranked as closely as
Corollary I:
Late arrivals to a
rank date are worse than early arrivals and Corollary II:
Single details and
multiple-detail-non-assembled orders are to Excess Carrying CostsIn Figure 1A we
have seen that the waiting time (Tw) between operations
Waiting time after
Operation 1 is 5 days. Waiting timt after
Operation 2 is 5 days Waiting time after
Operation 3 is 3 days Side 18
To calculate the
excess carrying costs or costs incurred during waiting
so that Minimum Cost + Gost of
Waiting = Total Cost We are now ready
to state a second axiom Axiom 11:
The Carrying Costs
during waiting time are undesirable. Stated Note: This is a
multiple objective system. Front LoadAll new orders being introduced into the fine planning system are first tested against the existing load to determine its earliest possible completion date. This is done by a scheduling technique which is called Front Loading. In this technique all first operations on details are assumed to begin immediately or just as soon as tools, materials and capacity are available. In this way the details finish at different times so that they are not properly ranked. As stated, the purpose of the Front Load is to determine when the order can be complete. For this purpose Ranking is not necessary. It is necessary, however, to find the longest or Critical Path which determines the completion date. By referring to the accompanying Front Load System Diagram, Page 19, the critical path and its effect on the completion can be seen. Side 19
Side 20
Back LoadThe completion date found in the Front Load is compared with the delivery date previously promised to the customer. Based on a set of decision rules a completion date is now selected by the computer and the order is actually scheduled beginning with this selected completion date, scheduling backward in time. In Back Loading all details and sub-assemblies are automatically ranked and all excess waiting times are automatically eliminated except those waiting times caused when a machine group is fully loaded and no capacity is available at the desired time. By referring to
the accompanying Back Load System Diagram, Page It should be noted
that the length of the critical path has not changed
Looking AheadDue to the diverse type of operations performed in the Job Shop under study it is impossible to expect that all load centers will always be 100 % utilized. The scheduling procedure provides a means to look ahead so that temporary low utilization can be avoided. Moving jobs ahead In time creates an "excess" carrying cost because that part will have to wait at a later date under the rank planning and fixed delivery date concepts. Such moving ahead must therefore be controlled within economic bounds. It has been demonstrated that one day's work (100 kr.) costs about 10 øre per day in inventory carrying costs. On the other hand, it can be said that a day of lost production on a machine would cost about 10 kr. This is true if the day is really lost. Using these two figures, 10 kr. and 10 øre, we would assume that if a one-day job is performed 100 days early, we would exactly break even. That is the trade-off rate is 100 : 1. There is a danger in such an assumption since moving the job ahead, thus incurring excess carrying costs, may only postpone the lost production time, and it would still be lost, but at a later date. This is done in the computer by a look ahead technique where we analyze the future load on each load center and not try to utilize it for a short time at a rate more than we can expect work for it in the long run. The immediate (2 weeks) load is compared to the intermediate Side 21
Side 22
(10 weeks) load and, if it can be seen that a heavier load is coming soon, work will be speeded up in prior load centers, thus utilizing the available capacity now and making more capacity available later. By operating in this way we avoid lost machine time due to temporary under-utilization and also avoid excess carrying costs incurred under the false assumption that the machine time could be utilized later. In the computer program the effect of the "Look Ahead" is to give a high priority to orders in prior load centers when the succeeding load center will be temporarily underloaded thus making it possible to avoid a temporary loss of available capacity. Pull AheadWith an indicated
upper bound of 68 % reliability, it was decided to
The orders thus pulled ahead are chosen so as to give a minimum of excess waiting time. That is, the lower value jobs are pulled ahead. The trade-off between the two objective functions, inventory cost and utilization, is satisfied by limiting the pull ahead to 50 days. Waiting TimeIt is known that when an order arrives at a Load Center, it may find another order in the machine being worked on. In this case the new order must wait until the one in the machine is complete. It may also find that other orders have arrived at the LC earlier and are waiting to be serviced. These concepts
have been extensively studied under the name of
In designing this
system, use has been made of these theories to give
A calculated amount of waiting time is allowed for each operation. The amount allowed is based on well known operation research principles, which have been widely applied in Job Shops. This type of waiting time is referred to as Q in this paper and can be seen in the GANNT chart loading example, Page 38. Waiting time also occurs when a load center is fully loaded with previously scheduled orders. In this case it is necessary to move to another earlier work period to find available capacity. This type of waiting time is referred to as SKIP. A third type of
waiting time occurs when an order is performed earlier
Side 23
than necessary
for the purpose of utilizing available machine capacity
All of these types of
waiting time are generally referred to as SLACK.
Q and Skip are
planned slack. Pull is unplanned, but occurs when
Priority DecisionsEach week, the
operations which are scheduled or which may otherwise
Priority
assignments are based on the objectives for the system
as All of Priority
Group 1 must be completed before any lower priority
Running of
Priority Group 1 first, together with the proper use of
Stated in a different way, Priority Group 1 will prevent lost capacity in a Load Center resulting from a temporary lack of work. Since time really lost means a loss of capacity and this means a loss of money, work going to underloaded Load Centers is given first priority. Second priority is given to orders which are past due since their being late can result in two conditions held to be undesirable. First, they would be late for their next rank date thus delaying other common parts on that order which would be waiting at their highest rate of inventory carrying costs. Second, by being late the order may not be delivered when it was promised. By management policy this is considered to be an unallowable condition. The third priority
group consists of the orders which must be run in
Side 24
The fourth and
last priority group consists of orders which may be
Within each
priority group the orders are arranged according to
rules Priority Group 1Priority Group 1
is a special case in that the decision to assign this
The orders are first arranged in Groups 2, 3 and 4 according to the proper rules. Afterwards they are selected as required (low load center signal) and moved up to Priority Group 1. In moving them up to Group 1 they retain their original order of run, that is Group 2 first, 3 second, etc., and the order within each group stays the same. The rules for this
arrangement within the other groups are discussed In the improbable
case that all orders in the production schedule were
Priority Group 2Priority Group 2
consists of those orders whose scheduled end week
For the past due orders, the costs associated with late deliveries or failure to meet rank dates are considered to far outweigh possible savings in inventory carrying costs. These orders are therefore run in ascending order of their scheduled end week plus slack. This arrangement ensures that the most past due is run first. Stated in another way, the order with the highest negative current slack is run first, the highest positive current slack last and the rest properly distributed in between. [f two or more orders have the same end week plus slack, the one with the least added value (run time) is run first and so on in ascending order of added value. This will tend to release more orders faster for meeting other details which may be waiting for a common rank date. Priority Group 3These are the
orders scheduled for completion in the current week
Side 25
ingsininventory carrying costs. Group 3 orders are therefore run in ascending order of their slack. Since they all have the same scheduled end week (the current week) this is the same as saying that they are run in ascending order of their scheduled end week plus slack (same rule as for Group 2). Again, if two or more orders have the same scheduled end week plus slack, they are run in ascending order of added value. This is the same rule which was applied to Group 2 orders. Priority Group 4The orders in Priority Group 4 are those orders which may be run this week, but for which the scheduled end week is later than the current week. These are included in the current production schedule in order to ensure enough work for the load center (flexibility). They will include orders with their scheduled end week in the week after the current week plus clear-to-run orders with even later scheduled end weeks. Clear to run means that the prior operation has been reported as complete. These are the orders pulled ahead. All orders in Group 4, if run in the current week, will be run before it is necessary and will therefore involve excess carrying costs. The decision to run in the current week involves the value to be added and the waiting time for that added value. The excess inventory carrying costs are measured by the product of the added value and the current slack which is called the slack product. The objective is to minimize this product. The rule to apply is illstrated in the following example: Added value (Va)
is the MTM hours of the current operation. Resorting these
orders on the ascending value of slack product gives
Side 26
In summary, feeding work to underloaded machine groups is given the highest priority (Group 1). Past due orders are second and current week orders are third. Priority Group 4 is included to ensure sufficient work for each load center and arrangement within Group 4 is intended to minimnze excess carrying costs. Arrangement within Group 2 and 3 are intended to minimize costs associated with late deliveries and missed rank dates. Arrangement within Group 1 is by a re-application of the rules of Groups 2, 3 and 4. HOW THE SYSTEM WORKSSystem SummaryAfter a new order
is received, a considerable amount of time usually
Phase 1 - Delivery
Promise Phase Phase 2 - Order
Preparation Phase Phase 3 — Order in
Process Phase Any order may be
removed from the system by one of three actions.
Phase 4 -
Completed Phase 5 - Order Placed
Outside Phase 6 -
Cancelled The following page
shows in bar chart form how the various phases Phase 1. At first it is necessary to make a rough estimate of the time which will be required to produce an order. The future shop load is then examined to find when capacity will be available. Based on this information, a delivery promise is made. Such a delivery promise means that machine capacity during a certain period has been promised. Therefore, a sufficient amount of capacity must be reserved in order that we do not promise more capacity than we have available. Some problems will
arise in that all delivery promises will not be
Side 27
Side 28
Phase 2. If the promised delivery date is acceptable to the customer, the order then becomes a real order and it is now necessary to hold the required capacity available so that the delivery promise can be kept. The order now passes into Phase 2 when drawings are prepared, production methods established and production times determined. This work in Phase 2 sometimes requires up to six or seven months and it is necessary to hold capacity available all during this period. A follow-up report
notifies the planning department 21 days before A problem arises here in that the only thing we know about capacity requirements of these orders is from the gross estimate. One of the last steps of Phase 2 is time setting, which establishes precise capacity requirements. When order
preparation is complete and the order is released to the
Phase 3. During
Phase 3 the order is being worked on in the workshops
Phases 4, 5 and 6. When an order is completed, it is removed from our gross plannig system and schematically passes into Phase 4. Two other circumstances can remove an order from the system. If the order is in Phase 1, promised, and the customer does not accept the promise, it is removed from the gross planning system. In this case the order passes from Phase 1 to Phase 5 or 6. A possible but
unusual case would be when an order is cancelled for
Small OrdersAn analysis was
made of value of orders which disclosed that 50 % The system
contemplates that orders under an expected value of
Gross Planning SystemThe Gross Planning
System has to do with Phases 1 and 2. This part Side 29
Side 30
The Gross Planning System is for the purpose of reserving time for orders based on gross estimates and to establish delivery dates, which can be achieved. The Gross Planning smoothes out the incoming work load so that "bottle necks" are avoided. As an aid to the Gross Planner, Load Summary F-17, Page 29, gives him a weekly picture of the future work load. Fine Planning SystemWhen Order Preparation is complete, the detail of the planning is typed on an operation list (OL) by use of an IBM typewriter, which also produces Detail Load Card C-2, Page 31. This card is the primary input to the Fine Planning System. The new orders are scheduled by a Front Load - Back Load technique, which is discussed in detail earlier in this report. The result of this scheduling is to establish a realistic schedule and delivery date based on Fine Time Setting. Each week a
Production Schedule F-22, Page 32, gives a list of the
Master Control Report F-21, Page 33, gives the Planning Chief and the methods planners a 10-week view of the work load i all work centers. This will be used as a guide in planning overtime and second shift work. It can also be used by methods planners in the choice of machines. When two or more different machines may be used for a particular operation, the machine with the least load (F-21) should be used. This will result in a higher overall utilization of the equipment and a lower rate of fixed cost per machine hour. There are only
three operating reports required in this Fine Planning
Master Control Report
F-21 Production Schedule
F-22 Inspection Expedite
List F-25 The Inspection
Expedite List F-25, Page 35, is used to give priority
Side 31
Side 32
Side 33
Side 34
There is one non-operating report: Delivery Schedule F-20, Page 36, which notifies Planning when it is impossible to meet a promised delivery date. This occurs immediately after the order is released to the work shops and serves as an early warning. Based on this warning there is time to notify the customer or to take other measures to improve the delivery, if necessary. One very important
part of this system will still depend on follow-up
When orders become behind schedule (those orders in Priority Group 2 on Production Schedule F-22), it will be necessary to find the cause and to expedite these orders. The system can only report which orders are behind schedule, - it is necessary that follow-up work be done by human beings. However, this work is made much easier by listing the order identification and LC, where the order can be found. An Optimum ScheduleThe system discussed here yields less than optimum because once an order is scheduled it is not changed except as it becomes almost due. Limitations of computer size have so far prevented the development of a practical scheduling system which will do better. Nevertheless, it is interesting to discuss the requiremnts of such a system. If all existing
orders are back loaded without consideration of
capacity, The problem is now to fit Smin to the available capacity, creating Skip Slack which will result in Excess Carrying Costs, Ce. This might be done through relaxation of Smin to yield a feasible schedule with the relaxation rules designed to minimuze a new measure of excess carrying costs which we will term slack moment. If the Smin load for a particular Load period is less than capacity, no problem occurs. If load is greater than capacity, it will be necessary to perform some operations at an earlier time, since no operation is allowed to be performed later than Smin. This also means that all preceeding operations on this order must be performed early. If the assumption is made that the operation in question is moved to the left in the time series, the decision rule can be stated. Side 35
Side 36
Side 37
If by scheduling order i to be performed at time t (the time given by S min), orders ;", ; = 1, , n are forced to skip to the left because of limited load center capacity at time t, and the excess carrying costs will be: where Ti is the
time required to perform the zth job and By selecting the
minimum Cep excess carrying costs are minimized,
The objective function of utilization must also be satisfied. This is probably done best as far as scheduling is concerned on a short range basis by the "Look Ahead" and "Pull. Ahead" techniques in the attached case study. Longer range optimization of utilization can be better performed by capacity adjustment, methods planning and directed sales effort. Side 38
Side 39
Side 40
|