Computersind. EngngVol.24, No. 2, pp. 249-265,1993 Printed in GreatBritain.All rightsreserved
TOOL JOB
REQUIREMENT
SHOPS:
0360-8352/93 $6.00+0.00 Copyright© 1993PergamonPressLtd
PLANNING
A SIMULATED
IN
STOCHASTIC
ANNEALING
APPROACH
JUN WANGt, JIAQIN YANG2 and VIDYARANYAB. GARGEYA3 ~Department of Industrial Technologyand 2Department of Management, Universityof North Dakota, Grand Forks, ND 58202 and 3Department of Management, University of Hartford, West Hartford, CT 06117, U.S.A. (Received for publication 17 September 1992)
Abstract--Tool management in shop floor control has been discussed widelyin the recent literature. The need for an effectivetool management systemhas been underscoredby the impact of tool availabilityin flexiblemanufacturing systems and cellular manufacturing shops. With the understanding that most job shops face a budgetary constraint on the units of tools to be maintained, this paper presents an optimization model based on queueing theory for determiningthe number of units of tools to be maintained in stochasticjob shop production systems.The optimizationmodel seeks to minimizetotal tool related cost under some managerial and operational constraints. To plan tool requirementbased on the optimization model, an improvedsimulated annealingalgorithmis presented. Startingwith an arbitrary initial solution, the algorithm searches for a solution among the combinatorial alternatives in a controlled random fashion. Unlike the iterative improvementalgorithms, the simulated annealing algorithm is applicable to multimodal objective function due to its capability of probabilistic hill-climbing. To demonstrate the performanceof the modeland the algorithm, a medium-scalenumericalexampleis also discussed in detail. 1. INTRODUCTION Traditionally, practitioners and theoreticians considered manpower, machines, and materials as primary resources in production systems. Tool availability was either considered as machine capacity or as an unconstrained resource. It was very well accepted that constraints in the form of machine capacity, manpower availability, and reduced safety stock levels in inventory lead to lowering the production capability. For the last few years, particularly in view of the heavy investment in flexible manufacturing systems (FMS) and cellular manufacturing (CM) shops, and the highly integrated just-in-time manufacturing (with reduced setup times), production managers have begun to realize that the planning and control of tooling is as important as the management of the other three resources (manpower, machines, and materials). The same concern for tool management in conventional job shops, however, has not yet been felt. Mason [l] presented the following statistics to emphasize the importance of tool management in job shop production systems. (1) Typically, 16% of scheduled production cannot be met because tools are not available. (2) In most cases, 40-80% of a foreman's time is spent on looking for and expediting materials and tools. (3) In some plants, operators spend up to 20% of their time on searching for cutting tools. (4) 30-60% of a shop's tooling inventory lies somewhere on the shop floor, lost and expended, much of it stored away in personal tool boxes. (5) Typically, a metal-working firms's annual budget for tools, jigs, fixtures, consumable supplies, and spare parts is 7-12 times larger than its entire capital-equipment budget. Strycula [2] pointed out that jobs spend as long as 7% of their total time in the shop on waiting for tools. In addition, there are some less obvious costs associated with tooling. Some of these costs, which cannot be readily quantified are as follows. (1) (2) (3) (4) (5) (6)
Value of excess tool inventory required because of hoarding and needless duplication. Value of obsolete tool inventory. Annual tool inventory loss/shrinkage. Excess charges for emergency purchases because of the lack o f necessary tooling inventory. Wasted expenses on the purchase o f incorrect tools. Market losses due to missing shipments resulted from unavailability of tools. 249
250
JUN WANGet al.
The panacea for all these problems is not only to have effective and efficient tool management systems as pointed out by Wassweiler [3], Devaney [4], Green [5], Mason [!], and Strycula [2], but also to make appropriate operational decision with regard to tooling level to be maintained during any planning period. This specific decision relates to the tool requirement planning depends on a variety of factors. The primary factors to be considered for deciding on the tooling level include the number of different types of products being produced, the number of machines in the shop, the cost of having tooling inventory on hand, and the costs of not having tools when required. Due to the fact that lack of tooling in an FMS environment can result in under-utilization of capital-intensive machines, unacceptable machine idle time, and increasing work-in-process inventories, a good deal of research has been carried out on tooling level management in FMS environments [6-12]. Even though tool management issues have been receiving increasing attention in complex automated manufacturing systems over the past few years [13], it has not received the same intensity of attention in conventional job shop environments [14]. There is no such a reported study on tool requirement planning in stochastic job shop systems. This paper addresses the specific issue associated with tool requirement planning for given product mixes in conventional job shops. The paper is organized in three sections. In Section 2, a combinatorial optimization model based on queueing theory is formulated and some practical considerations are discussed. In Section 3, an improved simulated annealing algorithm is presented and a numerical example is also given. Finally, Section 4 concludes this paper. 2. COMBINATORIALOPTIMIZATION MODEL This section presents a combinatorial optimization model based on queueing theory for tool requirement planning in stochastic job shop production systems. We will start with underlying assumptions, and then describe the model step by step. 2.1. Underlying assumptions The following assumptions on the stochastic job shop production systems have been made to describe the addressed problem. (1) The stochastic job shop production systems process a variety of products with an exponential inter-arrival time (i.e. the tool request is based on a Poisson distribution). The demand for each product over the planning period, however, can be forecast with a high degree of certainty. The tool requirement time at a machine (i.e. tool service time) is based on an exponential distribution. (2) Each product has to pass through a unique and fixed operation routing that includes one or more operations to be performed at different machines in each shop. (3) Each shop has a given number of different types of machines to perform various operations; each operation requires one specific type of tool. (4) Each shop operates under a normal workload, i.e. the job arrivals to the shop are at a stable rate so that the average shop utilization (in terms of machine capacity) is fixed (say at 75%) for a given planning period. (5) All tools are managed and maintained at a tool crib. The time required to deliver a tool to the machine (that has requested for the tool) and the time required to return the tool to the tool crib at the conclusion of the operation are assumed negligible, and hence, have not been considered in the model. (6) The requests for the tools at the tool crib are dispatched on a first-come-first-serve (FCFS) basis. 2.2. Problem description Based on the above assumptions, the problem of tool requirement planning can be stated as deciding the units of each type of tool that should be maintained over a given planning period to minimize the total tool-related cost subject to some managerial and operational constraints. Specifically, the total cost includes: (1) the cost of purchasing the tools over the planning period,
Tool requirement planning
251
(2) the cost of carrying the tools over the planning period (e.g. the cost of investing, storing, maintaining, and managing the tools), (3) the cost of delaying the job on account of waiting for the unavailable tools. The specific constraints on tooling levels include: (1) the total investment made on tools, (2) the compatibility of machines and tools, and (3) the minimum and maximum numbers of requirements for any tool at any given point of time. 2.3. Model notations
The following notations will be used thereafter: Indices:
i--index of product type (i = 1, 2 . . . . . m). j - - i n d e x of tool type (j = 1, 2 . . . . . n). k - - i n d e x of machine type (k = 1, 2 . . . . . p). Decision variable:
Xj--the number of units of tool j to be maintained over planning period. Parameters:
T - - t h e length of planning period. d~--the forecasted demand of product i over the planning period, T. D = Y.~%,d ~ t h e total forecasted demand of all products over the planning period, T. .£ = d i / D - - t h e demand percentage of product i. a~ = d i / T - - t h e mean demand rate of product i within a unit of time. R = {r~k;i = 1. . . . . m; k = 1. . . . . p } - - j o b routing matrix (e.g. r~ = 5 means that job i will route through machine k with 5 units of operation time, and if rik = 0, job i will not route through machine k). H = {h~k; i = 1. . . . . m; k = 1. . . . . p}---operation-tool requirement matrix (e.g. for all rik > 0, h~k = j (j = 1. . . . . n) means that the operation of job i on machine k requires the use of the tool of type j). G = {g~k;J = 1. . . . . n; k = 1. . . . . p }--machine-tool compatibility matrix (e.g. gjk = 1 means that tool j will be required for at least one of the operations on machine k, and g~k = 0 indicates that tool j and machine k are not compatible). B - - t h e total available budget for tooling investment over the planning period, T. ~j--the cost of purchasing one unit of tool j. flj--the cost of investing and carrying one unit of tool j over planning period, T. 7j--the cost of jobs waiting for one unit of time due to the unavailability of tool j. Qj--the maximum number of allowable requests for tool j. v~j--the number of operations of product i that require the use of tool j. 20--the mean arrival rate of requests for type j tool from product i. 2j = Ei"_-~2~--the mean "arrival" rate of requests for tool j. #j--the mean "service" rate of tool j. pj--the traffic intensity (utilization factor) of tool j. Uj--the maximum number of units of tool j. Lj--the minimum number of units of tool j. Wj--the mean waiting time of requests for tool j. 2.4. Model formulation
Since machine capacity constraints are not considered, the tool management system can be illustrated by Fig. 1. As shown in Fig. 1, the tool requirement planning problem can be viewed as a queueing system with multiple but non-parallel service centers, and each with multiple servers (i.e. tools). This approach is employed in the following model formulation process.
252
JUN W A N G et al.
I
I I I
I machine
I
machine
Mc~chine Celt
2
•
[
•
.
machine
t._..
I I I ___J
i
O
O
[
m
~
tool t
tool
2
•
*
•
tool n
I
I
I
I
1 Fig. 1. A schematic diagram for a tool managementsystem in a job shop.
To express Wj in terms of decision variables Xj, the mean "arrival" rate of requests for tool j, )v, and the mean "service" rate of tool j, #j, must be first identified. 20• can be calculated as
2#=aivU
(1)
where v~ can be obtained directly from the operation-tool requirement matrix H (e.g. v~ = number of h~ =j, k = 1..... p). Expanding equation (1) to all products, the mean arrival rate of requests for tool j is
2y= ~ 2u= ~ alva. i=1
(2)
i=1
Since tool delivery times are assumed to be negligible, the mean service time of tool j is the mean processing time of all operations that require the use of tool j. From job routing matrix R and operation-tool requirement matrix H, let O#--the mean processing time of operations for product i that require tool j. O / - - t h e mean processing time of operations for all products that require tool j. Then, 0~/can be calculated as
O~=(~r,k)/V#,hik=j;k=lk=,
..... P"
(3)
Expanding equation (3) to all products,
oj=
E" f, 0 ,j. i=1
(4)
Tool requirement planning
253
The mean service rate of a single unit of tool j can be obtained as follows
.,
= l/G
= 1
)
(5)
Ao o . i
1
With Xj units of tool j, the traffic intensity of tool j is given by
From the tool-machine compatibility matrix, the maximum number of requests for tool j can be obtained as p
My= ~., gjk,j= 1..... n.
(7)
k=l
It is assumed that a machine, while waiting for a tool after making a request for the specific tool, will not be set up for another operation• That is, for any tool at any given point of time, the number of its "customers" (i.e. tool requests), is finite, or limited to the total number of machines in the shop. In fact, the population of a specific tool's customers is limited by the number of machines that are compatible to the specific type of tool. Therefore, the M/M/s/FCFS/c/c queueing model, a classical machine-repairman formulation, can be used to describe the waiting time characteristics of tools. The probability of q units of tool request for tool j (including those in processing), P,(q), can be obtained as follows (see, e.g. Ref. [15])•
P,(O)M,! /2,~q ~(My--q)[q[t-~J)'
,,
r
P'(q) =
I
• . .,Xj;
q;u,
P,(O)M,!
( 2L"~
(8)
q =Xj ..... Mj.
[.(M, - q)!Xfl X]- X\ l~,) '
Since Zu40 P,(q)= 1, the initial condition PfiO) can be obtained from Mj
Pj(O) + ~ Pj(q)=
1.
(9)
q=l
Substituting equation (8) into equation (9), for a given Xj, Pj(0) can be explicitly expressed as
(10)
Pj(O) =
1 + q~= l
(My--q)lq; " • k/'~jJ
~-, (My_q)!Xj!Xq-Xj[ #j]
q=Xj+]
The mean waiting time for tool j is thus
M, (q X,) ~ - P,(q). _
14:1(X,)=
q=Xj+ 1
(II)
~'j
Finally, the upper and lower bounds on the number of each type of tool, U, and L,, can simply be obtained as U,=My, j=1,2 . . . . . n; (12) and from p, < 1 and equation (6),
a,vU
L j = INT(2,//~,) + 1 ---INT i
+ 1, j = 1,2 . . . . . n;
(13)
i
where "INT" indicates that only the integer part is considered. With the results of equations (1) through (12), the problem of tool requirement planning can now be formulated as the following combinatorial optimization model. min
TC= ~ fl,Xj + ~ ,=l
1=1
?, W,(Xj);
(14)
254
JUN WANG et al.
.L s.t. ~ ~jXj~< B;
(15)
j=l
2jWj<~Qj, j = l , . . . , n ;
(16)
Xj~{Lj, Lj+ I . . . . . Uj}, j = l . . . . . n.
(17)
The above optimization model is an integer programming problem with a nonlinear objective function and nonlinear constraints. The objective function to be minimized is the total tool-related cost, in which, the first term is linear, and positively related to the decision variables, and the second term is nonlinear, and inversely related to the decision variable. For a given problem, there is thus an optimal solution that minimizes the total cost. Constraint (15) enforces that the total investment for the determined number of tools is within the limited budget. Whenever such a budget limit does not exist (e.g. whenever the manager is not primarily interested in the impact of budgetary constraints), constraint (15) can then be removed. If the total budget can be reasonably allocated to each type of tool by managerial priority, the whole problem can then be divided intoj small subproblems, and solved separately with much more ease. Constraint (16) is relatively dependent upon the managerial considerations pertaining to the production lead-time (i.e. the investment requirements in different types of tools are quite different, and thereby the availabilities of different types of tools have quite varying impacts on shop performance). In fact, if these managerial considerations can be quantitatively expressed in determining the mean cost of jobs waiting at each tool center (Tj, j = 1. . . . . n), then constraint (16) becomes unnecessary. When constraint (16) is removed, the remaining functional constraint (15) is linear, which simplifies the requirement for solution procedure. In constraint (17), if the investment costs are considerably higher than the waiting costs, the upper limit Uj can be omitted due to the fact that the upper limit Uj will be "automatically" met in the minimization process. The lower limit Lj, however, must always be enforced to ensure the traffic intensity for each tool is less than unity. When the traffic intensity for each tool is less than unity, the steady state results of queueing theory are applicable.
2.5. Practical considerations Some of the practical considerations that need to be kept to adopt the tool requirement planning model are summarized as follows: (1) Two or more different types of tools may practically be substitutable for a specific processing operation, and such a substitution may become desirable if one type of tool is highly critical (and thereby constraining the system), and the other is not. This tool substitution possibility is not explicitly considered in the model formulation. If two types of tools are substitutable for most of their operations and with similar investment requirements, then the two should be grouped into one type. If the two substitutable tools have different capital requirements, then the cheaper one should be considered for the substitutable operation and the more expensive one should be used in non-substitutable operations. For the cases where the two types of tools are only exchangeable for a few operations, since the chance that one type of tool is in demand while its substitute is available will be very small in a practical production setting, there will be no significant impact on the solutions to the optimization model. For example, for two types of tool i and j, each is required in 10 different operations with an even request rate and only exchangeable for two common operations, as a tool utilization level of 6 0 0 , the probability that tool i is in demanding while tool j is available is less than 0.05. (2) The fixed cost coefficients of jobs waiting for each tool (Tj,J = 1, 2 . . . . . n) are primarily related to the costs (or the values) of the jobs that require the tool for their processing, and should be interpreted as surrogates for measuring shop leadtime performance and work-in-process (WlP) costs. The values of these coefficients have a strong impact on the final model solution and should, therefore, be determined carefully by shop management based on specific priority considerations, such as the locations of shop "bottleneck" operations and the criticality of each type of tool in terms of their impacts on important shop performance measures. A sensitivity analysis should be carried out to investigate the impact of the coefficients on the solution.
Tool requirement planning
255
(3) There exists an interactive effect between the level of machine utilization and the level of tool utilization on shop performance in the job shop production system [16]. That is, given a specific level of machine utilization, the rate of change in shop performance (e.g. mean job flow time) is greater at higher levels of tool utilization. Also, given a specific level of tool utilization, the rate of change of shop performance is greater at higher levels of machine utilization. At higher levels of both machine and tool utilizations, mean job flow time increases dramatically. This indicates that the degree of constraint in one resource interacts with the degree of constraint in the second resource enabling a sharp increase in mean job flow time. The degree of such an interaction will primarily depend on the stochastic nature of the production process (i.e. the degree of variations in both the job inter-arrival distribution and operation time distribution). In traditional job shop production systems, machines are generally considered to be much more "expensive" than tools. This leads to the fact that the primary management concern turns out to be an increase in the machine utilization, even at the expense of carrying a great number of tools with a reduced level of tool utilization. As the capital investment in tooling increases, there is an urgent need to increase the level of tool utilization so as to be more cost efficient. However, the high levels of utilization of both machine capacity and tooling capacity can be achieved simultaneously only when the stochastic variations in shop production activities are eliminated, or minimized. In fact, this underscores the need to implement the just-in-time principles of stabilizing the production process and minimizing the production variations. In the proposed model, the impact of the interaction effects between tool and machine utilization is not being considered. Such an interactive relationship between machine and tool utilizations could be investigated through simulation studies such as the one reported by Gargeya and Deane [16]. (4) In job shop production systems, jobs may have flexible routings (which require different types of tools) depending on the shop status. The routing selection issue is an important aspect of the job scheduling problem. Through appropriate modifications, it is possible to incorporate the flexible routing consideration into this model of tool requirement planning in a stochastic job shop. (5) From the job scheduling standpoint, Melnyk et al. [17] suggest that priority be given to jobs that require the same type of tool in order to reduce the setup time. The implication of such a job dispatching mechanism is that the request for each type of tools will become less frequent but with longer processing time requirement (i.e. fewer but larger "jobs" waiting in front of all tool cribs). There are obvious benefits from such a new consideration in job dispatching in practice. However, since the average traffic intensity rate (pj) at each tool crib will not change, there will be little impact on the final solution of the model presented in this paper. (6) In the proposed model, production set-up times are assumed to be a part of job operation time rik. Also, a fixed operation time for each job operation is assumed. However, the same job may arrive at the shop in different lot sizes. In such an instance, it is suggested that the average lot size be used in determining operation times for the job. / (7) Theoretically and practically, there will be an interactive effect between the waiting lines of jobs for each tool, I,Vj. In terms of model formulation, this effect should be captured in the formulation of the maximum number of requests for tool j, Mj. That is, the actual number of requests for t o o l j should be less than Mj, because when a particular machine is waiting for tool i, it is not possible for that machine to generate a request for tool j at the same time. It is believed that interactive effects between the waiting lines for each tool will have no significant impact on the final solution of the model. 3. A SIMULATED ANNEALING ALGORITHM
3.1. Computational challenge In Section 2, an optimization model based on queueing theory has been presented and some practical implications have been discussed. This section is devoted to the development of a solution procedure for tool requirement planning in stochastic job shop production systems. The formulated optimization model is a nonlinear integer programming problem. In general, it is difficult to solve the problem. In the worst cases, which happen when constraints (15) and (16) are not binding, the number of alternative solutions is l'I)'. I(Uj - Lj + 1). For example, ifn = 10, Lj = 2, Uj = 12 for j = 1, 2 . . . . . 10, then the maximal number of alternative solutions is 10'°! Since CAIE--24/2--1
256
JuN WANG et al.
the number of alternative solutions grows exponentially as the type of tools increases, there is no polynomial-time algorithm available in the literature for solving such a problem. Some search techniques have to be used or developed for solving medium-scale or large-scale management problems. 3.2. Simulated annealing The recent advances in search techniques made it possible to find satisfactory solutions to NPcomplete combinatorial optimization problems in a reasonably short time. These search techniques are of either deterministic or stochastic nature. The deterministic search techniques (the majority of them are heuristic methods) utilize some information of objective function such as gradient to approach a local minimum. The stochastic search techniques, such as simulated annealing algorithm, search for a solution in a random fashion. Because the objective function TC(X~, X2 . . . . . X,) in the formulated optimization model is not differentiable with respect to Xj due to the discrete nature of Xj f o r j = 1, 2 . . . . . n, gradient information of TC is not available. In this case, stochastic search techniques such as simulated annealing is more appropriate. Among the existing random search techniques, simulated annealing algorithm possesses several desirable characteristics for combinatorial optimization. In analogy to statistical mechanics, the search procedure in the simulated annealing algorithm proceeds according to a transition probability. The transition probability depends upon a temperature parameter and the deviation of the values of the objective function at both the current state and the previous state. At a current iteration, a simulated annealing algorithm explores the neighboring state based on a probabilistic generating rule. Given a temperature parameter, the state of the algorithm transits surely to a generated adjacent state in the neighborhood if the value of the objective function associated with the adjacent state is less than that of the current state. Conversely, the state is still likely to transit to an adjacent state in the neighborhood if the value of objective function associated with the adjacent state is greater than that of the current state. When the temperature parameter is high, the probability of moving to an adjacent state associated with a higher value of the objective function is high. It is the nonzero uphill transition probability that renders the algorithm the capability of escaping from local minima. With the gradual declining of the temperature parameter, the probability of the current state transiting to states of a higher value of the objective function becomes less and less. At the limit point, the simulated annealing algorithm behaves deterministically and becomes an iterative improvement algorithm. Compared with the iterative improvement algorithms, a salient feature of the simulated annealing algorithm is its capability to escape from local minima in minimizing an objective function due to the probabilistic transition rule. The simulated annealing algorithm has been applied to combinatorial optimization in numerous areas with varying degrees of success; see, e.g. [18-23]. The major desirable characteristics of the simulated annealing algorithm are its capability of escaping from local minima, its ease to implement algorithmically, and its robustness to types of objective functions. It has been demonstrated that the stochastic process could asymptotically reach the state with the lowest value of the objective function with probability one provided that the cooling procedure is slow enough [18]. Theoretically, the simulated annealing algorithm is able to generate an optimum in infinite time. In practice, however, such a solution procedure is infeasible due to the time limitation. To obtain a satisfactory solution within a reasonably short period, enhancement has to be made to improve the performance of the simulated annealing algorithm. In the existing simulated annealing algorithm for combinatorial optimization, the final state is considered as the solution to the problem under study. Because of the nature of probabilistic hillclimbing, the final state in a finite time is usually not a global or even local minimum. Since iterative improvement algorithms are always able to generate a nonincreasing sequence of states, integration of the simulated annealing algorithm and iterative improvement algorithms are able to improve the performance [24, 25]. In view of this argument, an improved simulated annealing algorithm is presented where three types of states are considered: current state, exploratory state, and updated state. A current state is an indicator of the current status for the search procedure at the current iteration. An explanatory state of the algorithm is a trial state adjacent to the current state. An updated state is the currently minimal state with respect to the objective function. Initially, all three states are set identical. At a given iteration, an exploratory state is generated in the neighbor-
Tool requirement planning
257
hood of the current state based on a probabilistic generating rule. An exploratory state becomes current with the transition probability. A current state becomes an updated state if the value of the objective function associated with the current state is lower than that of the updated state. Therefore, the integration of simulated annealing and iterative improvement algorithms preserves the mono-tone nonincreasing property of the iterative improvement algorithms in terms of the updated states, while still maintaining the capability of escaping from local minima in terms of the current states.
3.3 Algorithm description The improved simulated annealing algorithm that produces a monotone nondecreasing sequence of updated state with a capability of escaping from local minima is described as follows. Let t and s be respectively the counters of iterations and sequentially identical updated states generated by the algorithm, tm~ and Sm~ be the termination criteria for maximal numbers of iterations and sequentially identical solutions, respectively. Let X ( t ) = [Xl(t), X2(t) . . . . . X,(t)], Y(t) = [Ym(t), Y2(t) . . . . , Y,(t)], and Z(t) = [Z~ (t), Z2(t) . . . . . Zn (t)] be the current solution, current state, and exploratory state at iteration t, respectively. Let T(t) be the temperature parameter at iteration t. Let the transition probability be Pr[Y(t + l) = Z(t)] = Pr[(rc[z(t)] - TC[Y(t)I)/T(t)] = {1, ( exp -
TC[Z(t)]- rCtr(t)]'~ -~
.],
if TCtZ(t)] < rc[r(t)]; if TC[Z(t)] >1 TC[Y(t)].
(18)
The transition probability distribution is shown in Fig. 2.
Step O. (Initialization): Input cost coefficients; set initial values Xj(0)~{Lj, L j + I . . . . . Uj}, Yj(0)=Xj(0), for j = l , 2 . . . . . n; set initial temperature parameter T(0)>>0; set the maximal number of iterations tmax and maximal number of identical sequential solutions Sr~x; t = 0, S = 0. Step I. (Cost evaluation): Evaluate TC[Y(t)] according to equation (14). Step 2. (State generation): For i = 1, 2 . . . . . p, j = 1, 2 . . . . , q, generate a neighboring state Z(t) randomly with displacement of zero or one in one dimension without violating the feasibility constraints (15), (16), and (17). Evaluate TC[Z(t)]. Step 3. (State transition): Generate a random number ~ based on a uniform probability distribution over interval [0, 1]. If the transition probability Pr[Y(t + 1) = Z(t)]/> ~, then Y(t + 1) = Z(t) and TC[Y(t + 1)] = TC[Z(t)]; else, go to Step 6. Step 4. (Updating state): If TC[Y(t)] < TC[X(t)], then X(t + 1) = Y(t). 1.00
0.75 .¢3 D n, n
0.50
c0 Io t:
0.25
000.
,~ .......
-~o.oo
, .........
-5.oo
, . , . ., . , . . . , . . . ,,,, .
o.oo
5.oo
(rc[z(O]-rc[rCt)])/m)
•
~o.oo
Fig. 2. Transition probability distribution Pr[Y(t + 1) = Z(t)].
258
JUN WANG et al.
Step 5. (Reducing temperature):
r(t + 1)=
T(0) In (t + 1)"
Step 6. (Checking termination): If X(t + 1) = X ( t ) ; s = s + l;else s = 0. If s >is,,ax or t 1> t.... stop; else t = t + 1 and go to Step 2. In the above algorithm, the transition probability, Pr[Y(t + 1)=Z(t)], acts as the state transition rule. Specifically, the transition probability is one if TC[Z(t)] < TC[Y(t)] or less than one otherwise. In Step 3, random number ~ serves as the criterion for state transition. Since downhill transition probability is higher than uphill transition probability, descending of TC[ Y(t)] is favorable. The slope of the uphill transition probability distribution function is governed by the temperature parameter T(t). Step 4 compares and updates the current states. Step 5 specifies a temperature cooling schedule as illustrated in Fig. 3. Given the cooling schedule, the initial temperature parameter T(0) as a scaling factor controls the roughness of the state sequence. In general, the smaller the initial temperature parameter, the smoother the state sequence, since it has less probability of uphill transition. As the temperature approaches zero, i.e. as lim,~ ~oT(t) = O, the uphill transition probability becomes zero, which allows only descending transition and prohibiting ascending transition, and the algorithm becomes an iterative improvement algorithm. Step 6 checks the prespecified termination criteria. The algorithm terminates when either the number of sequentially identical updated states exceeds a predetermined criterion Smax or the number of iterations exceeds another predetermined criterion tmax.
3.4. Numerical example A computer program in C code has been developed based on the formulated optimization model and the proposed stochastic algorithm. To evaluate the performance of the proposed algorithm, simulations have been performed on an IBM-PC compatible. Results of the experiments show that the algorithm can generate high quality (if not optimal) solutions in a reasonably short time as illustrated by the following numerical example. Example. Consider a stochastic job shop environment as follows. There are 25 types of products, 20 types of tools, and 25 types of operations; i.e. n = 20, m = p = 25. The tool budget for the planning period is $22,000. The data associated with the simulated job-shop production system are shown in the Appendix. Specifically, the Appendix contains the forecasted demands for each product over the planning period di, the job routing matrix R, the operation-tool requirement matrix H, the machine-tool compatibility matrix G, and the number of operations of product i that require tool j, v,j. The investment, purchasing, and waiting costs are given as follows. [~tj] = [195.50 201.34 32.45 138.74 225.97 170.75 1.89 177.26 89.96 220.75 26.85 117.58 43.86 138.94 39.37 118.74 223.38 66.63 110.31 162.88],
E O O..
E I--
Iteration Fig. 3. Cooling schedule of the temperature parameter T(I).
259
Tool requirement planning
rc[z(t)]
40000 -
o
2(/1
37500 35000
O O
32500 O. x hd O O L.) O O )..
30000 27500
t 25000
'llllltlllllllllllll]llllllliljlllllllllll|lllllll
0
2000
4000 6000 Iteration
|
8000
10000
Tc[r(O]
40000 37500 0 In
E
35000 32500
0 (J
"5 0 I..-
30000 l~..k,..,w,.,~ ~
t
27500 25000
0
.........
i ......... i ......... , ........ i ......... i 2000 4000 6000 8000 10000 Iteration
Tc[x(O]
40000
37500 0
35000 0
X32500 30000 0
o
27500 25000 0
2000
4000 6000 Iteration
8000
10000
Fig. 4. Temporal behavior of the simulated annealing algorithm with lower bound as starting point in the example.
260
JUN WANG et al.
Tc[z(O]
40000
@
37500 35000
2 0
32500
x
o 0
o
30000 27500
3
t 25000
i i i i i i i'-[-['1
0
i i i i i i"1
2000
i i i i i i i i i l i i i i i I i I i i i i I i i i ~ i i i i i I
4000 6000 Iferofion
8000
10000
Tc[ ~(0]
40000 37500 0 V)
35000
E
32500 L~
30000 0 0
0 E--
27500
t
25000
i;Jii
l l i l l l l i l l l l l
2000
f i l l l l l l | l l l l l l l l l l l l l l l l l l i
4000 6000 Iteration
8000
]
10000
Tc[x(O]
40000 3
i[i
37500 35000
2
0
32500 30000 0
27500
\ t
0
25000
IIIIIIIIII;IITIIIIIIIIIIIIIIIIIIIIIBItI|IIIIIIIll
0
2000
4000 6000 Iterofion
[
8000
10000
Fig. 5. Temporal behavior of the simulated annealing algorithm with upper bound as starting point in the example.
Tool requirement planning
261
rc[z(O]
40000 : 37500 3
35000 2 32500
o
30000
27500
25000
i ......... ,......... , ......... ,......... ,......... I 0 2000 4000 6000 8000 10000 Iteration
rc[~'(O]
40000
37500
2 35000 E 32500
30000 0
27500
t 25000
I I I I I r l l l l l l l l l l l l l l l l l l l l , l l l l l l l l l l l l l l l l l l l l l l
0
2000
4000
6000
8000
I
10000
Iteration
Tc[x(t)]
4oooo 37500
35000
325oo 30000 0
o I
27500
0
t
25000
' l l ' l l l ' l | S l ' | l l l i ' l l l l l l l t l ' | l l l ' l
0
2000
4000 6000 Iteration
J I I l l ' l l l l ' l l
8000
I
10000
Fig. 6. Temporal behavior of the simulated annealing algorithm with random starting point in the
example.
262
JUN WANG et aL
[/~j] = [293.22 301.90 49.67 208.08 338.88 256.06 27.79 266.77 134.73 330.98 40.23 176.27 64.48 208.28 58.99 178.02 334.99 99.01 165.51 244.20], [y~] = [2280.67 2347.82 378.55 1618.49 2636.26 1990.83 21.28 2067.10 1048.18 2574.32 3312.76 1370.88 501.48 1619.94 458.78 1384.63 2604.70 777.91 1287.33 1899.38]. Based on the data matrices, 2j, #j, Mj can be calculated respectively as follows. [2j] = [6.19 3.52 5.18 4.66 3.99 5.07 7.66 3.58 6.42 8.40 7.15 5.15 2.93 2.91 4.67 6.36 8.02 4.94 7.78 5.68], [#j] = [1.78 3.12 2.23 5.03 2.48 2.91 1.29 2.49 2.09 1.28 1.63 2.56 4.12 4.03 2.28 2.31 1.55 1.96 1.39 1.82], [Mj]=[10698 7 11 9 7 9 10 1 0 7 6 5 10 10 1 2 9 9 11]. The maximum waiting lines Qj can be set to 12 f o r j = 1, 2 . . . . 20. The upper bounds Uj can be set as Mj and the lower bounds Lj can be derived based on 2j and/aj as follows. [Lj]=[4 2 3 1 2 2 6 2 4 7 5 3
1 1 336364].
In this example, the maximum number of alternative solutions is 1-I2°__l ( ~ - L j + 1)= 1.51228 An exhaustive enumeration is absolutely impossible. Simulations have been performed using the computer program. Three different initial states (starting points) have been used: upper bounds, lower bounds, and random numbers within the bounds. Figures 4, 5, and 6 illustrate the temporal behaviors of the states with three different initial states. The minimum solution at iteration 10000 is [Xl(10000), Xt(10000 ) . . . . . X20(10000)] = [7, 4, 6, 4, 5, 7, 6, 5, 6, 7, 10, 5, 3, 3, 7, 7, 9, 7, 7, 8] and the corresponding total cost is TC[Xt(IO000), Xt(10000 ) . . . . . X20(10000)] = 26967.73. Because of the computational complexity, we are unable to verify the global optimality of the solution, though local perturbation proves its local optimality. Comparing with the total costs of upper and lower bounds where TC(Ut, U2. . . . . U20) = 33205.30 and TC(LI, L2 . . . . . L2o) = 38397.20, we can see that the total cost of the solution produced by the annealing algorithm has been reduced to 70.23% of upper bound and 81.22% of lower bound. The above example shows that the optimal solution lies between the upper and lower bounds. In general, the location of the optimal solution varies with the cost coefficients Bj and y~ for j = I, 2 . . . . . n, If the investment costs are high, i.e. maintaining tools is costly, then the solution tends to be near or on the lower bounds. If the waiting costs are high, i.e., the machine times are expensive, then the solution will be near or on the upper bounds. × 1014.
4. CONCLUSIONS
In this paper, an optimization model and a simulated annealing algorithm for tool requirement planning in stochastic job shop production systems have been presented. Based on queueing theory, the formulated optimization model seeks to minimize total tool-related cost. In analogy to statistical mechanism, the simulated annealing algorithm is able to obtain a suboptimal solution among the combinatorial alternative solutions in a considerably short time. The performances of the optimization model and the annealing algorithm have been examined through an experimental study of a numerical example. The results presented in this paper provide an initiative for further investigation. Future work along this stream of research may be aimed at refinement of the cost model, enhancement of the search algorithm, sensitivity analysis of the cost model, and extensive experimental studies of the search algorithm. Acknowledgements--This work was partially supported by the University of North Dakota in the form of two faculty research grants for Jun Wang and Jiaqing Yang respectively. Jun Wang's work was also partially supported by a summer research professorship award from the Graduate School at the University of North Dakota. REFERENCES 1. F. Mason. Computerized cutting-tool management. Am. Machin. Aut. Manufact., 130, 105-132 (1986). 2. J. A. Strycula. Tool management systems. In Proc. Southern Manufacturing Technology Conf., Charlotte, NC, Vol. 3, pp. 51-62 (1987).
Tool requirement planning
263
3. W. R. Wassweiler. Tool requirements planning. In Proc. 25th Ann. Conf. American Production and Inventory Control Soc., Chicago, IL, pp. 160-162 (1982). 4. W. Devaney. Tool management systems (Abstract). In Proc. Second Biennial Int. Machine Tool Technical Conf., Chicago, IL, Voi. 1, pp. 199-200 (1984). 5. G. C. Green. Presetting systems for tool management. In Proc. Second Biennial Inter. Machine Tool Technical Conf., Chicago, IL, Vol 1, pp. 143-155 (1984). 6. K. E. Stecke. Formulation and solution of nonlinear integer production planning problems for flexiblemanufacturing systems. Mgmt Sci. 29, 273-288 (1983). 7. R. A. Walas and R. G. Askin. An algorithm for NC turret punch press tool location and hit sequencing. HE Trans. 16, 280-287 (1984). 8. C. S. Tang and E. V. Denardo. Models arising from a flexiblemanufacturing system. Part I: Minimization of the number tool switches. Working Paper, University of California, Los Angeles, CA (1986). 9. C. S. Tang and E. V. Denardo. Models arising from a flexible manufacturing system. Part 1I: Minimization of the number switching instances. Working Paper, University of California, Los Angeles, CA (1986). 10. S. Rajagopalan. Formulation and heuristic solutions for parts grouping and tool loading in flexible manufacturing systems. In Proc. Second ORSA/TIMS Conf. Flexible Manufacturing Systems: Operations Research Models and Applications (Edited by K. E. Stecke and R. Suri), Elsevier Science Publishers, Amsterdam (1986). 11. K. E. Stecke. Algorithms to efficiently plan and operate a particular FMS. Working Paper No. 566, Division of Research, GSBA, The University of Michigan, Ann Arbor, MI (March 1988). 12. C.-H Chung. Planning tool requirement for flexible manufacturing. J. Manufactur. Syst. 10, 476-483 (1991). 13. A. E. Gray, A. Seidmann and K. E. Stecke. Tool management in automated manufacturing: Operational issues and decision problems. Working Paper No. CMOM 88-03, Center for Operations and Manufacturing Management, W. E. Simon Graduate School of Business Administration, University of Rochester, Rochester, NY (1988). 14. S. A. Melnyk. Production control: issues and challenges. In Intelligent Manufacturing: Proc. First Int. Conf. Expert Systems and the Leading Edge in Production Planning and Control (edited by M. D. Oliff). Dengemin Cumming, Menlou Park, CA, pp. 199-232 (1988). 15. M. Raghavachari. Queuing theory. In Handbook oflndustrial Engineering (Edited by G. Salvendy). Wiley, New York (1982). 16. V. B. Gargeya and R. H. Deane. Auxiliary resource constraint measures in dynamic job shop scheduling. Presented at the First Annual Meeting of the Production and Operations Management Society, Washington, DC (1990). 17. S. A. Melnyk, S. Ghosh and G. L. Ragatz. Tooling constraints and shop floor scheduling: A simulation study. J. Opns Mgmt 8, 69-89 (1989). 18. S. Kirkpatrick, C. D. Gelatt and M. P. Vecchi. Optimization by simulated annealing. Science 220, 671-680 (1983). 19. M. P. Vecchi and S. Kirkpatrick. Global wiring by simulated annealing. IEEE Trnn. Computer-AidedDesign 2, 215-222 (1983). 20. R. E. Burkard and F. Rendl. A thermodynamically motivated simulation procedure for combinatorial optimization problems. Eur. J. Opl Res., 17, 167-174 (1984). 21. B. L. Golden and C. C. Skiscim. Using simulated annealing to solve routing and location problems. Nm,al Res. Log. Q. 33, 261-279 (1986). 22. M. R. Wilhelm and T. L. Ward. Solving quadratic assignment problems by 'simulated annealing', lie Trans. 19, 107-119 (1987). 23. D. S. Johnson, C. R. Aragon, L. A. McGeoch, and C. Scheron. Optimization by simulated annealing: An experimental evaluation. Part I, graph partitioning. Opns Res. 37, 865-892 (1989). 24. L. Xu and E. Oja. Improved simulated annealing, Boltzrnann machine, and attributed graph matching, in Neural Networks: Proc. EURASIP Workshop (Edited by L. B. Almeida and C. J. Wellekens) pp. 151-160. Springer, Berlin, (1990). 25. J. Wang and V. Chankong. Neurally-inspired stochastic algorithm for determining multi-stage multi-attribute acceptance sampling inspection plans. J. lntell. Manufact. 2, 327-336 (1991).
Appendix opposite
R=
0 0 1.95 0 0 0 0 0 0 0 0 1.11 2.06 2.00 0 0 0 0 0 0 0 0.82 0.47 0 0
0 0 0 0 0 0 0 0 1.42 0 0 2.11 2.01 0 2.41 0.66 0 0.81 0 1.04 0 0 0 0 0.54
0 0 0 0 1.33 0 0 2,27 0.96 0.89 0 0 1.51 0 0 0 0 0 0.91 1.99 2,03 0 0.58 0 0
0 0 0 0 2.44 0 0.36 2.12 0 0 0 0 0 0 0 0 1.32 0 1.38 0 1.56 0 2.38 0 0 0.59 1.57 0.35 2.09 0 0 0 1.86 1.13 0 0 0 0.57 0 0 0.75 0.64 1.63 0 1.55 0 0.48 0 0 0 0 0 1.50 0 0 2.20 2,43 0 0 0,56 1.96 0 0 0.36 1.38 0 2.25 1.99 0 1.59 0 0 2.27 0 0 2.45 0 0 0 0 0 1.73 0 0 1.75 0 0 0 0 0 0 1.01 0 0.65 0 1.92 0 1.56 1.30 0 0.67 0 0 0 0 1.69 0 0 1.47 0 0 2.10 0 0 0 0 0 0.46 0 1.31 0 0 0 0 0 0.54 0 0 0 2 1.93 0 0 0 1.59 1.33 0 0 0 0 0 0 0 0 1.86 1.07 0 0 0 0 0 1.45 0 0 0.39 0 0 0 0.55 0.95 0.87 2 2.46 0 0 0 0 0 0 0 0 0 2.04 0 0 2,27 2.43 0 2.48 0 0 0 0 0 0 0 0 0.46 1.06 0 0 0 1.96 2 0 0 0 1.17 0.88 1,35 0 0 1.43 0 1.85 0 0 0 0 0 1.67 0 0 2.42 0 0 2.19 0.68 0 1.35 0 1.40 1.32 0.73 1.42
1.81 0 0 0 0 0 0 0 0 0 0.96 0 0,77 1.42 0.33 0.94 0 1.80 0 0 0 1.62 0 1.40 0.65
1.24 0 0 2.44 1.49 0 1.85 0 1.73 0.75 1.86 0 0 1.60 0 0 2.12 0 0 2.04 0,89 0 0 0 0
2.17 0 0 1.64 0 0.37 0 0 0 2.28 0 1.88 0 1.57 1.05 0 0 1.26 1.58 0 1.42 0.35 0 0 0
0 0.70 0 0 0 2.48 0 0 1.95 0 2.39 1.67 0 0 2.43 0.88 0 0.75 0 0 1.21 0 0.48 0 0
0 0 0 0.80 0 0 0 0 0 0 0.82 0 0 0 1.85 0 0.44 1.13 0 0 1.94 0 0 1.30 0
0 0.82 2.08 0 0 0 0 0 2.17 0 2 1.74 1.76 1.81 0 0.52 0 0 0.81 1.80 0.68 1.22 0 0 0.58 1.72 0 0 1.96 0 0.85 0 0 0 0 2.03 0 0 0 0 0 0 1.03 0 0 1.54 0 0 0 0
0 0 0 0,72 0.63 0 0 1.99 0 0 0 0 0.63 1.18 0 0 0 0 0 1.21 0 0 2.13 0 0
0 0.74 0 1.55 0 2,47 0 1.05 0.68 0 0 0 1.20 0 0 0 0 0 0 0.58 0 0 0 0 0
1.02 0 0 0 0 0 1.85 0 1.02 0 1.03 2.16 0.96 0 0 0 0,41 0 1.09 0 1 0 0 0 1.38
0.52 0 1.73 0 0 0 0 0 1.13 0 0 1.92 0 0 0.65 0 1.74 0 0 0 0 0 0 2,16 0
0.72 0 0 0 0 0 0 0 0 0 0 0 0 1.05 1.40 0 0 1.17 0 1.62 0 0 0 0 0
[ds]=[120 650 730 490 450 110 700 530 320 530 560 670 700 740 670 450 330 160 740 540 430 510 560 740 660[
APPENDIX
2.09 1.46 0 0 0 0 0 0 0 0 0 0 0 0 2.26 2.39 1.75 0 0 0.72 0 0 0 1.82 0
;> z c~
z
0
0
0
0
0
0
0
~
0
~
0
0
0
0
~
~o~o~ooo
0
0 ~ 0 0 0 ~ 0 0
o~ooooo~
0 0 0 ~ 0 0 0 0
0 0 0 0 0 ~ 0
~oo~o~o
~ . 0 0 ~ 0 0 ~
0
~ o ~ o o o
0 0 0 ~ 0 0 0 0
0 ~ 0 ~ 0 0 0 0
0 ~ 0 0 0 0 ~ 0
0 0 0 0 0 0 ~ 0
0 0 0 0 0 0 0 ~
0 ~ 0 ~ 0 0 0
oo~o~o~
~
o~o~o~o
0 0 0 0 0 0 0 ~
0 0 0 0 0 0 0 0 0 0 0 ~
~ 0 0 0 0 0 0 0 0 0 0 ~
0 ~ 0 0 ~ 0 0 0 0 ~ 0 ~
~ooo~o~o~o~o
0 0 ~ 0 0 0 0 0 0 ~ 0 0 0
o~o~oo~ooo~o
0 ~ 0 ~ 0 0 0 ~ 0 ~ 0 0 ~
~ 0 ~ 0 0 0 0 0 0 0 0 0 ~
oooooo~ooo~oo ~ o ~ o o o o o o o ooooo©oo~o~o~ oo~ooo~o~ooo o~ooo~o~oo~ oo~oooo~oo~ oo©ooooo~o~oo
~oooooooo~oo ~oo~oooooooo ~oo~oo~oooo ~ o o ~ o o o ~ o o
~
~ 0 0 0
0
~
0
~
0
~
0
0
0
0
0
~
0
0
~
0
0
0
0 0 0 0 ~ 0 0 0 0 0 ~ 0 0 0 0 0 0 0 0 0 0 0 0 0 ~ 0 ~ 0 0 0 0 0 0 0 0 0 ~ 0 0 0 0 ~ 0 0 0 0 0 0 ~ 0 0 ~ ~ 0 ~ 0 0 0 0 0 0 0 ~ 0 0 ~ 0 ~ 0 ~ 0 0 0 ~ 0
~
0 0 0 0
0
0 0 0 ~
0
0 0 ~ 0
0 ~ 0 ~ 0 0 0 0 0 0 0 0 0 0 0 ~ 0 ~ 0 ~ 0 0 0 ~
0 0 0 0 0 ~ 0 ~ 0 0 0 0 0 ~ 0 0 0 ~ 0 ~ 0 0 0 0
H
0 ~ 0 0 ~ 0 0 0 0 0
0 0 0 ~ 0 ~ 0 0 ~ 0 0 0 ~ 0 ~ 0 ~ 0 0 ~ 0 ~ 0 ~ 0 0 0 0 0 0
0 0 0 ~ 0 0 0 0 0 0
0 0 ~ 0 0 ~ 0 0 ~ 0 ~
0 0 0 ~ 0 0 0 0 0 0 ~ ~ 0 0 ~ 0 0 0 0 ~ 0 0 0 0 ~ 0 0 0 0 0 ~ 0
0 ~ 0 0 0 ~ 0 0 0 0 0
0 ~ 0 0 0 0 0 0 ~ 0 0
II
C~
~ 0 0 0
0 0 0 0
0 ~ 0 0
0 ~ 0 0
~ 0 ~ 0
0 0 ~ 0
0 0 0 0 0 ~ 0 0 0 0 0 0 0 0
~ 0 0 0 0 ~ 0 0 0 0 0 0 ~ 0
0 ~ 0 ~
0 0 0 ~
~
0
0
0
~
0
0
0 ~ 0 0 0 0 0 0 ~
0
0 ~ 0 0 0 ~ 0 0 ~ 0 0 ~ 0 0 0 0 ~
0 0 0 ~ 0 0 0 ~ 0 0 0 ~ 0 ~ 0 0 ~ 0 0 0 0 0 0 0 ~
0 0 ~ ~
0 0 0 ~
0 0 ~ 0 0 0 0 ~ 0 0 0 0 0 ~ 0 0 0
o
0