A tool-change scheduling model for machining centres R o b e r t P. Davis, Richard A. Wysk and Delbert L. Kimbler Department o f lndustrial Enghzeering and Operations Research, Virginia Polytechnic Institute and State University, Blacksburg, Virginia, 24061, USA (Received October 19 78; revised January 19 79)
Introduction Because of the increased cost of direct labour, as well as the shortage of competent machinists, the metal cutting industry is looking toward automation as a means to improve its stagnating productivity. Since 1950, the metal machining industry has seen the advent of Numerical Control (NC), Direct Numerical Control (DNC), Computer Numerical Control (CNC), and Computer Integrated Manufacturing Systems (CIMS). NC essentially eliminated the machinist from metal cutting. DNC and CNC facilitated part programming and increased control over NC machines. And finally, CIMS integrated material handling and machining under the control of a common central computer. Today, CIMS exist where all of the machining and material handling is done under the control of a single computer (or under the control of a network of computers), and the system is virtually devoid of expensive direct labour. 1,2 The use of automation, however, has brought about some difficult analytical problems. Many problems formerly resolved by a machinist's experience and intuition, coupled with his adaptive interpretation of the system, must now be resolved by means of a static control strategy. A particular example of this situation is that of the toot-changing cycle. In a Conventional machining system, the machine operator decided when a particular tool should be changed based on the accuracy of the last part produced, the sound produced by the metal cutting operation, and the number of parts which were left to be machined. The accuracy of the last part and the sound produced in the metal cutting operation are indicators of the extent of tool wear. The queue of parts waiting for a particular tool is viewed to determine the maximum wear rate which will allow tool replacement after the batch is completed. In today's more modern m~chining systems, an operator is seldom solely responsible for the monitoring of a single machine tool. This would be especially true for DNC, CNC and CIMS and may also be true of stand-alone NC. Because an operator is not present to monitor and 'adaptively control' the machine, a mathematical formulation of the problem is required in order to develop algorithms for the efficient operation of automated machining systems. Several models have been developed for the selection of the optimum machining parameters: feed, speed and depth of cut. 3-s All of these models employ a functional relationship between the machining parameters and 'expected tool life'. The most commonly used expression for tool life is one developed by F. Taylor6 in 1907. 0307-904X/79/030285-04/$02.00 © 1979 IPC BusinessPress
Taylor's tool life equation has been expanded to include several variables, such as workpiece hardness, tool approach angle, slenderness ratio, etc. However, for a given tool and workpiece, tool life can most simply be expressed as: C TL = Vaf#d ~ where:
Tz,
tool life a constant for specific type of tool and workpiece cutting speed (metres/minute) f feed rate (mm) depth of cut (mm) d a, 13and 7 are exponent constants determined by the tool type C V
Production time, in turn, can be expressed, per part, as:
rc Tp = Tz + TH + Tc + TcH TL
where: Tp TH Tc TCH D 1
total time per part workpiece handling time time in cut -- InD/f" V (for simple turning and drilling operations) tool change time tool or workpiece diameter length of cut
Production time (or production cost) can be expressed in terms of controllable (the machining parameters) and uncontrollable variables (tool diameter, workpiece characteristics, etc.). A minimum total production time expression can, in turn, be developed. The resulting objective function, as well as some constraints, however, are nonlinear and can prove difficult (or at least costly) to optimize. Most recently, Hayes and Davis7 have developed an iterative dynamic programming procedure which allows for efficient optimization in the selection of speed, feed and depth of cut for minimum production time (or cost). In addition to producing the optimum machining parameters, their procedure can produce a set of most-efficient operating parameters while holding a single control variable, such as tool life, ffLxed.Thus, a set of efficient machining parameters can be developed and employed to investigate further production planning activities in a complex production network.
Appl. Math. Modelling, 1979, Vol 3, August
285
Tool-change scheduling model for machining centres: R. P. Davis et aL The remainder of this paper will focus on one such activity - planned tool-change times. As was mentioned earlier, without a qualified machinist to monitor the process, selection of the time when a tool is to be changed has become an important aspect of metal machining productivity. A mathematical model for tool-change activities will be formulated and its optimization discussed. Both the duration and frequency of tool changes are important considerations in determining total processing time for several parts. The frequency of tool changes reflects the set of operating rates in use, since a high rate leads to low tool life and frequent tool changes. The desired solution to this problem is one which selects tile optimal set of processing rates and the corresponding toolchange schedule which results in the minimum total processing time. This problem can be formulated as a scheduling problem with sequence-dependent set-up times. The general class of scheduling problems is typically solved by integer linear programming a,9 or dynamic programming. 1° Although this specific problem is not found in the literature, it is similar to the bin-packing problem II and the time-dependent travelling salesman problem. 12 Model description Tile objective criterion employed in the following model description is one of minimizing the total time required to process a specified number (b) of parts (units of product). Each of these parts is identical and requires processing, in a fixed sequence, by each tool. There are M operations performed on each part, one operation per tool. Each batch of parts is processed beginning with all new (or reground) tools; consequently, when the processing of a batch begins, each of the 3I tools has 100% of its tool life available (sb/= 1 ; ] = 1. . . . . M). Tile decisions employed in accomplishing the above objective are characterized as 'yes' (1) or 'no' (0) decisions with regard to selecting operating rates for processing each part with each tool, determining when a tool should be changed, and determining when to halt the machine to allow for tool changing. Tile objective function reflecting the effect of these decisions on total processing time is as follows: rM
Min:F:~=,[i~=,(Rg~Ziigt,7~) processing
time per tool, per part
+xiici] +yih tool °
change time per tool, per part
(1)
halt a n d
restart time, per part
k=l
Next, a tool cannot be changed unless the machine has been halted:
286
q= l ..... b;] = 1. . . . . 31)
Appl. Math. Modelling, 1979, Vol 3, August
RI 0 • S(i_l),] =Xil + (1 --Xii)Sij -- 2 ZilT~dlTc k=l
(i=2 .....
b ; j = 1 . . . . . M)
(4)
Finally, tile tool life state for each tool prior to processing each part must be between zero and 100% (as a decimal fraction): ( i = 2 . . . . . b ; j = l . . . . . M)
O<~sq<<.l
(5)
and before the batch of parts is processed, all tools have been replaced: sbi = 1
(j = 1 . . . . . 31)
(6)
To complete the mathematical description of this model, there are the Boolean restrictions placed on each of the decision variables: Ziik6{O , ]}
V i,/,k
(7)
xiic{o, 1}
v i,i
(8)
y i e { O , I}
¥ i
(9)
The above model is easily recognized as a 'zero-one" integer linear program (ILP). Although a number of linear programming solution techniques can be employed to resolve such problems (i.e. branch-and-bound or implicit enumeration), it should be recognized that a practical-sized problem can easily have several thousand variables and several hundred constraints. For example, if a batch of parts consisted of 20 units and each had to be processed by 20 tools with 10 operating rates available for each tool, then the resulting ILP would contain 4800 variables (including the state variables, so, i = 2 . . . . . b; ] = 1 . . . . . 3I) and 1180 explicit constraints (not including the implicit Boolean restrictions on the decision variables). Consequently, the feasibility of using traditional ILP solution techniques to produce a solution to such problems is questionable since, for such large problems, they frequently require substantial amounts of computer time and core storage. The following section of this paper will describe a dynamic programming based heuristic which can be em. ployed to generate a good solution to the model described above. The solution which results can then, if desired, be used to initialize an ILP solution algorithm and consequently expedite the attainment of an optimum result.
A s o l u t i o n h e u r i s t i c and e x a m p l e
The decisions are restricted by the following constraining relationships which describe the system's operational characteristics. The part subscript, 'i', in these constraints reflects a backward numbering - that is, the number of parts remaining to be processed. First, there can be only one processing rate selected for each operation performed on each part: RI zii k = 1 (i = 1 . . . . . b ; ] = I , . . . , M ) (2)
xii<~yi
Then, an operating rate cannot be selected which will exhaust more than the amount of life remaining in a given tool:
(3)
The heuristic solution procedure proposed herein is now described. It consists of a two-pass iterative scheme, the first pass being a straightforward dynamic programming solution to tool change scheduling for each tool treated independently. The time required to halt-and-restart the machine is ignored in this first pass. The purpose of this problem decomposition is twofold. First, by treating the tools independently and ignoring halt-and-restart time, an optimal solution can be achieved for the case where halt-and-restart time is actually zero (i.e. the large-capacity tool carousel situation). Second, this decomposition enables the analyst to expediently generate a feasible initial solution to the integrated problem using dynamic programming.
Tool-change scheduling m o d e l f o r machining centres: R. P. Davis et aL
Tile 'traceback' process subsequently described attempts heuristically to improve on this initial solution. A typical stage description for the dynamic program is given in Figure 1, where each stage corresponds to a part in the batch. When file recursive optimizations for each tool have been completed, the second pass begins by tracing through the state transitions to recover the resultant decision policy. It is during this 'traceback' process that the effects of haltand-restart times are accounted for. In the accumulation of the optimum decisions with respect to input states in the first pass, two sets of decisions are maintained. The first set of decisions is made under the assumption that no tool changes are permitted (h t = 0) and the second set assumes that tool changing is feasible (h t = 1). Only the optimum result of these is carried backward in determining the first pass cumulative returns (fi). In the 'traceback' process, if the added time of halt-an~-restart is called for by a designated tool change (or changes) and this results in a cumulative return for all tools which is greater than that associated with no tool changing, then the decision policy is altered to coincide with this latter case (i.e. h i = 0). The traceback procedure continues in this manner until a decision policy is def'med for each stage (part). As an example of the results obtained by applying this heuristic, the following sample problem data is given in Tables 1-3. The computational results obtained for this problem using the above described heuristic are given in Table 4. This solution was obtained using an IBM370 model 158 computer and relates to a production batch size of 20 parts. The dimensionality of the ILP formulation makes a branch-and-bound solution impractical. However, a continuous LP solution was obtained, with total processing time of 514.258. This indicates that the heuristic solution of 546.996 is a good upper bound, and is very close to the optimum integer solution for the decision variables. It should be noted that the dynamic programming solution described above ceases to be a heuristic and becomes an optimizing rationale under two distinct circumstances. First, if the number of tools required is small compared to the machining centre's tool carousel capacity, then multiple tools can be stored as needed. Consequently, halt-andrestart time is very small compared to processing and tool change times (as in manually monitored systems with lowspeed cutting tools) fllen for all practical purposes these former times can be ignored. Summary The preceding discussion has presented a model which can be used to determine optimum ~ool change scheduling in a machining operation. A straightforward heuristic was presented for obtaining an approximate solution to the optimum scheduling sequence. Unfortunately, the model presented above is a large-scale integer program for most Decisions
z,, xi, ~. i
Input states .si
~I Stog~.(.port) I s(/-l)
Output stotes
t
f t =~ *-f(i-I) Returns Figure 1 A typical stage description for the dynamic program
Table I
Halt-and-restart time = 0.25rain Tool changing times
Tool No.
Change time (min)
1
1.00
2 3 4 5
1.50 0.75 1.00 1.50
Table 2 Operating rates and cutting times (min/part) Tool No. Operating rate
1
2
3
4
1 2 3 4 5
1n0 1.50 1.75 2.00 2.25
2.50 2.70 3.10 3.50 --
3.00 3.60 4.10 4.50 4~0
10.10 10.70 11.90 ---
6.10 7.00 8.10 9.30 10.10
6
--
--
5.17
--
--
Table 3 Percent of tool life absorbed at each operating rate (a decimal fraction) Tool No. Operating rate
1
2
3
4
5
1 2 3 4 5
0.75 0.60 0.50 0.35 0.25
0.70 0.50 0.30 0.15 --
0.60 0.50 0.40 0.30 0.20
0.40 0.35 0.20 ---
0.50 0A0 0.30 0.20 0.10
6
--
--
0.10
--
--
Table 4 Results of example problem solution (number indicates operating rate decision) Heuristic tool No. Part No.
1
2
3
4
5
1
1•
2
1"
1
1
2 3 4
1" 4 2*
2* 2 2*
1" 4 1"
1" 1 1"
1" 1 1"
5 6
4 2*
2 2*
4 1"
1 1"
1 1"
7 8
4 2"
2 2*
4 1"
1 1"
1 1"
9 10
4 2* 4
2 2* 2
4 1" 4
1 1" 1
1 1" 1
2* 4 2* 4 2* 4
2* 2 2* 2 2* 2
1" 4 1" 4 1" 4
1" 1 1" 1 1" 1
1" 1 1" 1 1" 1
11 12 13 14 15 16 17 18
2*
2*
1"
1"
1"
19 20
4 2*
2 2*
4 1"
1 1"
1 1"
Total processing time Execution time Core requirement
546~95 11.73 sec 513 728 bytes
• Tool change before part is processed,
A p p l . M a t h . M o d e l l i n g , 1979, V o l 3, A u g u s t
287
Tool-change scheduling model for machining centres: R. P. Davis et aL practical problems, and an efficient solution methodology is at present unavailable. The above described heuristic was shown to produce a 'good' bounding result to a typical example problem. The authors believe that a fruitful area for further research is the development o f an optimization method for this specific problem class. The impact on improving the cost-effective operation o f machining systems by such a procedure is significant and justifies the attainment of optimum scheduling decisions.
Nomenclature M b h cj Ri
t/k d/tc si/ zi/k
number o f tools used in processing number o f parts processed (batch size) time required to halt and retstart machine time required to replace tool 7" ( / = 1 . . . . ,M) set o f feasible processing rates for tool '/' (i= I . . . . . M) processing time using tool '/' at rate 'k' (keR/) percent (as a decimal fraction) o f tool life lost when tool '/' is operated at rate 'k' tool life state (percent o f useful life remaining) for tool '/' prior to processing part 'i' Boolean decision variable to indicate processing o f part 'i' using tool ' / ' at rate 'k' (ziike O, 1 )
xii Yi ri ~hi
Boolean decision variable to indicate whether tool 7' is replaced before part 'i' is processed (xije O, 1 ) Boolean decision variable to indicate whether machine is halted before processing part 'i' ( y i e O, 1 ) return function at stage 'i' cumulative return function at stage 'i' Boolean variable to indicate whether a tool change is feasible at stage 'i' (hie O, 1 )
References 1 Williams, V. A. Production, September, 1974, pp. 46-49 2 Sandford, J. E. Iron Age, October 1972, pp. 70-75 3 Hati, S. K. and Rao, S. S. Jr. Eng. for hzd., Pap. No. 75 Prod - K 4 Kimbler, D. L., Wysk, R. A. and Davis, R. P. Compttt. [tzd. Eng. 1978, 3 (4) 5 Davis,R. P. et al. Appl. 3lath. Modelling, 1978, 2, 275 6 Taylor, F. W. Trans. Am. Soc. Mech. Eng. 1907, 28, 31 7 Hayes, G. M.Masters Thesis, Virginia Polytechnic Institute and State University, Blacksburg, Virginia, 1978 8 Baker, K. R. 'Introduction to Sequencing and Scheduling', Wiley, New York, 1974 9 Conway, R. W. et al. 'Theory of Scheduling', Addison-Wesley, Reading, Ma., 1967 10 Nemhauser, G. L. 'Introduction to Dynamic Programming', Wiley, New York, 1966 11 Garry, M. R. et al. J. Combhzational Theory Set. A, 1976, 21,257 12 Picard, J. C. and Queyranne, M. Oper. Res. 1978, 26 (1), 86