Computers Ops Res. Vol. 24, No. II. pp. 1043-1055. 1997
Pergamon
Pll: S0;]105-0548(96)~1022..-!
© 1997 Elsevier Science Lid All rights reserved. Printed in Great Britain 0305-0548/97 $17.00+0.00
EXACT SOLUTION PROCEDURES FOR CERTAIN PLANNING P R O B L E M S IN F L E X I B L E M A N U F A C T U R I N G S Y S T E M S Meltem Denizel:l: and S. Selcuk Erenguct§ Department of Decision and Information Sciences, College of Business Administration, University of Florida. Gainesville, FL 32611-2017, U.S.A.
(Received May 1995; in revised form Februao" 1997) Scope and Purlmse---The complex technology of Flexible Manufacturing Systems (FMSs) presents several planning problems to be addressed for its effective use. Prior to the start of production, the FMS must be set up according to the requirements of the parts to be processed. The limited nature of the system resources does not allow for the simultaneous manufacture of all parts in one setup. This necessitates the determination of the parts to be processed in the system and the allocation of the limited system resources to their use. In this paper, we present mixed integer programming models to address these problems, and develop efficient procedures for their solution. A b s t r a c t - - W e address certain production planning problems in a flexible manufacturing environment. We first present a single machine, mixed integer programming model for the part-type selection and the lot-sizing problems over a multi-period planning horizon. Available machine time and tool magazine capacities are the system constraints in this model. The single machine model is then extended to include multiple machines. In the extended model, in addition to the part-type selection and the lot-sizing decisions, we also address the machine loading decision. We present exact branch-and-bound procedures based on linear programming relaxations for the two models. Results of computational experiments are also reported. © 1997 Elsevier Science Ltd
I. I N T R O D U C T I O N
Flexible Manufacturing Systems (FMSs) consist of versatile Numerically Controlled (NC) machines linked by automated material handling devices, all integrated under the control of a central computer [ 1]. They are designed to efficiently handle mid-to-low volume production for a diverse range of products. FMSs can broadly be classified into Flexible Flow Systems (FFSs) and General Flexible Machining Systems (GFMSs) [2]. These systems can be viewed as the counterparts of traditional flow shops and job shops respectively. FFSs are designed to produce a few part types in relatively large volumes, and the material flow tends to be unidirectional. GFMSs permit the manufacture of a wide variety of part types simultaneously. Material flow is not unidirectional, and there are alternative routings. According to the variety and volume of part types processed, FMSs can be identified as dedicated or nondedicated. A dedicated FMS is usually a part of a larger manufacturing environment. A specific set of part types is processed in relatively high volumes in order to meet a downstream demand. In nondedicated FMSs a wider variety of part types is processed in relatively low volumes, according to customer orders. In both cases the need for effective use of this sophisticated technology makes FMS design, planning, and scheduling problems more complicated than those of conventional systems. In the literature, the FMS planning problem has been classified under various schemes. Stecke [1] identified five FMS planning subproblems as part-type selection, machine grouping (forming groups of identically tooled machines), production ratio determination, allocation of pallets and fixtures, and machine loading. These subproblems can be studied independently and solved within an iterative framework. Alternatively, the t To whom all correspondence should be addressed. Meltem Denizel is a Visiting Assistant Professor of Decision and Information Sciences in the College of Business Administration at the University of Florida. She has a B.S. and M.S. in Industrial Engineering from the Middle East Technical University in Turkey. and a Ph.D. in Business Administration from the University of Florida. She has published articles in the areas of production planning, flexible manufacturing systems, just-in-time environments, and mixed integer programming. § S. Selcuk Erenguc is Professor and Chairman of the Decision and Information Sciences Department in the College of Business Administration. at the University of Florida. He holds a DBA degree from Indiana University. His current research interests include production planning, project scheduling, lot sizing and discrete optimization. Dr. Erenguc has served on several editorial boards. His publications have appeared in many journals, including Computers and Operations Research, Decision Sciences,
International Journal of Production Research, Journal of Optimization Theol. and Applications, liE Transactions, Management Science. Naval Research Logistics, Operations Research, Operations Research Letters, and Production and Operations Management. 1043
1044
Meltem Denizel and S. Seicuk Erenguc
FMS planning problem can be dealt with in its entirety. The main disadvantage of this approach is its excessive computational requirements. Our approach is an integrated consideration of the part-type selection and machine loading subproblems. We consider a nondedicated GFMS environment where planning decisions involve the selection of part types to be simultaneously processed on the system and the allocation of various resources among the selected part types in order to meet their demands. Processing of a part type requires performing a series of operations using different sets of cutting tools. When a part type is selected, its operations must be assigned to one or more machines and the required cutting tools must be loaded on the machines' tool magazines. Assignment of operations to machines will determine the routing of a part type through the system, and it is possible to have fixed or alternative routings. Since tool magazines have limited capacities, it is not possible to simultaneously load all the cutting tools required to process all the part types. In the literature, two approaches have been developed to tackle this problem. A subset of part types is selected, the required tools are loaded on the tool magazines, and processing continues until all the selected part-type requirements are complete. Tool magazines are then reloaded for the next batch. This is known as the batching approach. The formulations of Hwang [3], Hwang and Shogan [4], Rajagopalan [5], and Tang and Denardo [6] follow this approach. An alternative is the flexible approach proposed by Stecke and Kim [7], in which new part types may be introduced into the system when the requirement of a part type is complete. In contrast to a major tool magazine setup as in the batching approach, the flexible approach requires minor tool switches as the requirement of a part type is complete and a new part type is introduced into the system. In this paper, we consider the batching approach. We present two Mixed Integer Programming (MIP) formulations. In the first model, we deal with parttype selection and lot-sizing problems in a single machine environment. This model is valid for single machine flexible cells which show a rapidly increasing trend in Japan [8]. The second model is a generalization of the first to a multi-machine environment. In addition to part-type selection and lotsizing decisions, the machine loading decisions are incorporated in the second model. We then present exact solution procedures designed to efficiently solve these problems. These procedures consist of branch-and-bound algorithms based on Linear Programming (LP) relaxations.
2. FMS SHORT-TERM PLANNING MODELS 2.1. A single machine environment In the MIP model presented below, we consider a GFMS where production orders for different part types are received continually. In this model we consider a single machine system. In Section 2.2 we present an extension of this model to include multiple machines. The decisions we are concerned with relate to short-term planning; such as selection of the part types to be processed on the GFMS, loading the required tools onto the tool magazine(s), and determining the processing lot sizes of the selected part types over a multi-period planning horizon. These decisions establish a link between the higher level decision of determining a product mix based on profit or other related criteria and the lower level decision of FMS scheduling; such as input sequencing of part types and selection of machines to process a part type in the case of alternate routings. In an FMS, the tool magazine setup is a main issue even if there is an automatic tool interchange device. Some NC machines require fine tuning during tool changes and the time needed for tuning operations may be significant relative to the processing times [9]. In our approach we allow tool magazine setups only in the beginning of each period. Therefore each period can be considered as a setup period. The length of a setup period can be determined as a day or a shift, depending on the specific characteristics of the GFMS. In an environment where processing time requirements of the part types are relatively small, the tool magazines may require more frequent setups. In such environments period lengths can even be shorter than a shift. Obviously, the best way to incorporate tool magazine setups is to define the period lengths as model variables instead of a fixed model parameter. However, this makes the problem much too difficult to lend itself to a computationally feasible solution procedure. In most of the approaches to FMS production planning, a single period problem is considered in which part-type selection and all subsequent resource allocation decisions are
Planning problems in flexible manufacturing systems
1045
made for immediate production. In these approaches the length of the setup periods is not an issue. Rajagopalan [51 presented a model which combined the part-type selection, production ratio determination, and machine loading subproblems. He considered the problem over a planning horizon which is divided into tool setup periods. The number and length of these periods are model variables. However, since this approach increases the computational requirements of the problem significantly, he suggested several heuristic procedures. With our approach of fixed-length setup periods, we construct MIP models whose structures can be exploited to develop exact solution procedures. Furthermore, the structures of the models allow us to remove any idle times that may exist in the optimal solutions we obtain. This issue will be discussed in more detail following the model presentation. Although we start with fixed-length setup periods, the manner in which the idle times are removed from the current planning horizon may lead to variable length setup periods. The selection of the number of periods, T, in the planning horizon is rather arbitrary. The idea is to solve the problem as frequently as required. Since we deal with a dynamic nondedicated GFMS environment, production orders arrive continually in a random manner. Depending upon new orders, the production schedules may need to be revised. In some cases, there may be too many new orders during the course of the current plan, so that a revision may be needed before it is implemented for T periods. In other cases, receipt of a high priority order may necessitate certain changes in the current plan. It is also possible that the schedule obtained originally may be used throughout the T periods without any revision. Such an environment requires the development of very efficient solution procedures, which can be implemented preferably on PCs and can provide solutions within reasonable times. In this paper we will present solution procedures which can be used under the circumstances described above. In a manufacturing environment as described above, minimization of total flow time of part types is a commonly used decision criterion. Using this objective function also minimizes the work-in-process inventory, which is regarded as an important scheduling criterion by FMS users [10]. Furthermore, as Stecke [ 1] noted, "the objective of a setup is system dependent but commonly it is to maximize expected production". It is also a well known result that minimization of total flow time coincides with maximization of the system's throughput. These properties motivated us to use total flow time minimization as the decision criterion in our models. Under certain circumstances a need may appear to distinguish orders based on their attributes, such as due dates or customer priorities. In such cases weights can be assigned to part types to prioritize them. Then the objective becomes one of minimizing total weighted flow time. We consider two main resources in our models: the machine time capacity and the tool magazine capacity available in each period. We are considering the situation where the tool magazines do not have enough capacity to simultaneously hold the tools required by all the part types. In Table 1 we give the definitions of the parameters and variables which are used in the two MIP formulations presented in this paper.
Table I. Model variables and parameters Indices Pan type Machine
i= I.....N j = I .....M
Tool Period
I= I,....L t= I .....T
Parameters b,=objective function weight of part type i D,=total demand for part type i over the entire planning horizon sp=number of tool slots used by tool I p,=processing time of part type i M,=aggregate tool magazine capacity in period t Mj,=tool magazine capacity on machine j in period t C,=aggregate machine capacity in period t Cj,=capacity on machine j in period t L(/)=set of part types which require tool / Variables X,,=production lot size of pan type i in period t X,,,=peoduction Ioq size of part type i on machine j in period t .v,,= I if tool / is loaded in period t, 0 o~herwise y,,= I if tool / is loaded on machine j in period t. 0 otherwise
Meltem Denizel and S. Selcuk Erenguc
1046
Problem formulation (M) Min E E - (T-t+l)b~X, t
(1)
i
subject to
Et X,<--D, Vi, py,<--C, Vt, Y. p,Xi,- C,yt,<-O Vl,t,
i~L(I)
sLV,<--M,Vt,
(2) (3) (4) (5)
X,->0 Vi,t, y,~ {0,1 } Vl,t. Constraint set (2) is for guaranteeing that the selected part types are not produced in quantities exceeding their demands. Constraint set (3) is for representing the machine time limitations for each period. Since separate variables are used to define part types and tools, their relationship is represented by constraint set (4). With these coupling constraints, we consider the tool sharing among part types and guarantee that all the required tools are loaded on the tool magazine before a part type is assigned to a machine. Constraint set (5) is for controlling the tool magazine availabilities. Formulation of the part type tool relationships in this form is different from its classical formulation in the literature [3]. Our formulation provides a structure which can be exploited when designing efficient solution procedures. We show in subsequent sections that, due to this structure, the tool magazine and the coupling constraints become redundant in the LP relaxation of the problem. In [ 11] the authors deal with a problem which consists of (1), (2), (3), and the nonnegativity restrictions on the variables. It is an LP problem which does not consider tool requirements of part types to be selected, and therefore no tool magazine restrictions exist. As shown in [11 ], the objective function (1) of M is equivalent to minimizing the total weighted flow time or maximizing the weighted throughput over the planning horizon. Here the flow time of a part type is defined as the number of periods before its production. With (i), we force part types to be processed as early as possible during the planning horizon. Those part types which are assigned higher priorities in (1) are expected to be processed earlier than those with lower priorities. Since only one tool magazine setup is allowed in each period, the optimal schedule may have some idle time left in certain periods. However, this does not appear to be a difficult concern to deal with. Any idle time left in a period can be eliminated by shifting the start of all the succeeding production periods backwards as much as the idle time. This should be done for all periods where there is idle time, starting with period l and ending with period T. By doing so, all of the idle time will be accumulated at the end of the current planning horizon. If we let TID represent the Total Idle Time accumulated (expressed in the same units as T) over the T periods, then the next production planning horizon may be started at time T - TID. In this manner, the resulting schedule may have variable length setup periods. In the literature, part-type selection for immediate production has been studied as a single period problem. Usually, tool magazine capacity is considered to be the only system limitation. Hwang and Shogan [41 considered a time capacity constraint; however, they assumed fixed lot sizes for the selected part types. In M, part types are selected on the basis of three attributes: relative importance (if positive weights are assigned to part types in the objective function), tool slot requirements, and processing time requirements. The processing lot sizes of the part types in each period are also determined within the model. In Section 3 we present a branch-and-bound algorithm which efficiently solves problem M to optimality.
2.2. A generalization of M The part-type selection and lot-sizing problems in a single machine system are dealt with in problem M. In this section, we consider an extension of M to a multi-machine system. The machines in this multimachine scenario are assumed to be identical. This assumption is not very restrictive. Based on the results of a survey of 155 FMSs, Jaikumar and Van Wassenhove [8] reported the following: "Each machine in
Planning problems in flexible manufacturing systems
1047
an FMS is becoming so versatile that most of the processes on a part can be accomplished by just one machine type, at most two, resulting in systems having identical parallel machines". Furthermore, in the case of nonidentical machines, the suggested model can easily be modified simply by defining the unit processing time of a part type on each machine separately. This will lead to a slight modification in the solution procedure, which will be discussed in detail later. In addition to part-type selection and lot-size determination, we also determine the part types to be processed on each machine and the tools to be loaded on each machine's tool magazine. Lot splitting is allowed; a part type can be assigned to more than one machine. Since we are dealing with part types rather than their operations, we implicitly assume that all the operations of a part type are assigned to the same machine. This assumption is inherent in the model, since we define the variables in terms of part types not in terms of their operations. However, the versatility of the machines in FMSs makes such an assumption realistic [12]. It should be noted, however, that this assumption does not require the whole lot of a given part type to be processed on the same machine. For the notation used in the following formulation refer to Table 1.
Problem formulation (GM). Min Y., E, - (T- t+ I)b, (Ej X~j,)
(6)
subject to
E ~ Xo,<-Di Vi,
(7)
2 p)C,j,<_cj,vj, t,
(8)
,At, p~Xot- Cj'Y'J'<--OVId, t,
(9)
s~vo,<-Mj,Vj,t,
(10)
Xq,>-O Vij,t, yo, e {0,1 } Vltj,t. Constraint set (7) is for assuring that the total size of the lots processed on different machines from the same part type does not exceed its demand. Constraint set (8) is for guaranteeing that the available machine capacities are not exceeded for each period. Constraint set (9) is the coupling constraints which provide that the required tools are loaded on the machine's magazine when a part type is assigned to that machine. These also handle tool sharing among part types. The tool magazine restrictions for each machine in each period are represented by constraint set (10). The objective function (6) has a similar interpretation to that of problem M. 3. ABRANCH-AND-BOUNDALGORITHM In this section, we will first give an informal description of the branch-and-bound algorithm developed to optimally solve problems M and GM, and a formal statement will follow.
3.1. Informal description of the algorithm In M the number of integer variables quickly becomes large for problems of real world dimensions. Therefore, it may not be possible to find even a feasible solution to the problem by using standard MIP packages. The branch-and-bound algorithm we will now present is to solve the problem optimally in a very efficient manner. At each node of the branch-and-bound tree, we solve the LP relaxation, ML~ of problem M with some of the variables fixed at certain values. It will be shown in Section 3.2 that Mta, can be solved optimally by solving a series of continuous knapsack problems with bounded variables. It can therefore be solved very efficiently. At each node of the branch-and-bound tree we need to find optimal solutions to T continuous knapsack problems with bounded variables. However, due to the branching strategy we employ, it is not required to solve all T problems at each node. At the root node, we solve all T problems with all the variables free and obtain the optimal solution values X~,. Then we branch on the variables which have positive XT, values. We branch on these variables in a nonincreasing order of their b/pi ratios,
1048
Meltem Denizel and S. Selcuk Erenguc
starting with t= 1 and continuing in a sequential manner. At each node we consider two branches. On the left branch we consider X;,>0. However, since X, is already positive at the parent node, i.e. X,=XT, then the solution obtained at the parent node is feasible for the problem with the additional constraint Xi,>0, and therefore it is also optimal. Consequently, we do not need to solve the subproblem at the left node emanating from the left branch. Furthermore, in all the subsequent nodes the subproblems will have optimal solutions in which X,=X~,. This is due to the branching strategy we employ and the knapsack structure of the subproblems. Therefore, we set X,=X, on the left branch. On the right branch we set X,=0. We store all necessary information on the right node to be considered later, and proceed branching down the left node. Before branching down the left node, we set all the tool variables of those tools required by part type i equal to 1, and check the tool magazine feasibility. If the available tool magazine capacity is sufficient to hold the required tools, we update the tool magazine capacities. While checking for the tool magazine feasibility, we consider the tools which have already been loaded on the magazine. Then we proceed branching on the part type i having the next largest b/p~ ratio and a positive X, value in period t= 1. We continue branching down the left nodes in this manner until the solution becomes infeasible in terms of the tool magazine capacity. Then we backtrack. While we are moving down the left nodes, if all the part types with positive X~, values have been fixed in a period, we continue branching on the X, variables in the next period. If all the periods have been exhausted, we backtrack. Due to this branching strategy it is necessary to explicitly solve the subproblems only at the root node and at the nodes we backtrack to. In order to solve the subproblem at a node, we need to solve a continuous knapsack problem with bounded variables for each period, starting with the time index of the branching variable selected at the parent node and ending with period T. This gives us a lower bound and, if it is greater than the current upper bound, we fathom and backtrack. Otherwise, we check the tool magazine feasibility of this lower bounding solution. If the solution is feasible an upper bound is obtained. In this case, we fathom that node, update the upper bound if necessary, and backtrack again. Otherwise, we proceed in the same manner as we did from the root node. The algorithm ends when all the nodes are fathomed.
3.2. A lower bounding scheme for problem M If the tool sharing between part types is ignored, M can be viewed as a two-dimensional bin packing problem, where processing times and tool slots represent the two dimensions [13]. Since bin packing problems are known to be NP-complete [ 14], some relaxation of problem M, which will be easier to deal with, has to be considered in the development of an efficient solution procedure. For this purpose, we consider the LP relaxation, ML~ of M, which is obtained by removing the integrality restrictions on the tool variables, y,. L e m m a 1. In problem MLe, there exists an optimal solution in which y~,= ( i~u~P~i*t) Vl,t.
c,
Proof. Let X'=(XT,: i= 1..... N, t= 1..... T) and Y=(Y#: l= 1..... L, t= 1..... 7") be an optimal solution to problem ML~ Let z*(.,.) denote the optimal value of the objective function corresponding to the solution (.,.). Then z'(X',y)= ~, ~ -(T-t+l)b¢~7,,
(11)
and
x,p:¢; c,
y~,>--- -
for all l.t [from constraint set (4)].
(12)
Assume that
Y*> X..i~,~,,p.)( for at least one I and one t.
c,
Note that if no such I and t exist, then the proof follows immediately. Now, define y~, such that
(13)
Planning problems in flexible manufacturingsystems
1049
~,, p~X; y~= i ~ t o ~ for all l,t. C,
(14)
y,>--y~, for all l,t.
(15)
Then
Since y, for all l,t is optimal to problem MLF,it satisfies constraints (5). Then, due to (15), y~, satisfies constraints (5) for all l,t. Also, yT, for all l,t satisfies constraints (4) by definition (14). Therefore, y~,, for all l,t is feasible for problem ML~ Furthermore, yt; for all l,t is also optimal for ML~ since
z'(X',y')= ~.t ~i - ( T - t+ l)b~(~,=z'(X°,y).
E pd(,,
In MLI~setting y~,= -ieL(l) -
c,
for all I and t in constraint set (4) and substituting in constraint set (5),
we get the following new constraint set (5a)
(S~)X,<-M,C, Vt,
(5a)
where S, is the total number of tool slots required by part type i. In (5a), Sp~ can be interpreted as the aggregate tool time required by part type i. Then by (5a), it is guaranteed that the total aggregate tool time required by all part types in period t is not more than the aggregate tool time available in period t.
Lemma 2. Let X= {X,,I~ piXi,<-C, Vt} and ~= {X,I Z (S~o~)Xi,<_M,C, Vt}. If Si<-M, for all i and t then XC_~(, and constraints (5a) are redundant with respect to constraints (2). Proof. Let x e X , then E" ppc,<-C, for all t. Multiplying both sides of this inequality by M,, we get Y. i (M,o~)x~,<-M,C, for all t. But for each i, (Sp~)x~,<--(Mp~)x~, for all t, since S~<-M, for all i and t. Then, Ei (S~PAx~,<-M,C, holds for all t, implying that xe,~'. • Based on Lemmas 1 and 2, problem MLp reduces to the following problem (SM).
Problem formulation (SM). Min E E -(T-t+l)b~(~, t
(16)
i
subject to
EI Xi,<-Di Vi,
(17)
~ p~,,<-c, Vt,
(18)
X~,>-O V i,t. Now consider the following subproblems MS(t) for t= 1..... T.
Subproblem formulation MS(t). Min Ei - ( T - t + l)biXi,
(19)
subject to
Xi,--D t~Vi,
(20)
~ p~,,<-C,
(21)
X.-->O Vi,t. For each i~ { 1..... N}
D~=D, and
1050
Meltem Denizel and S. Selcuk Erenguc t-I
D'~=D,- ,E=IX~, for t=2 ..... T. Note that in the above equation for D'i, t=2 ..... T, X~,, for t ' = 1..... t - i values come from the optimal solution to the previous subproblems, MS(t'), for t' = 1..... t - 1. In [ 11 ], the authors deal with problem SM and show that an optimal solution to this LP model can be found by sequentially solving problems in the form of MS(t), t= 1..... T, starting with MS(I). In our branch-and-bound procedure for solving the MIP model M, a subproblem of the form SM is solved at each node of the branch-and-bound tree. For solving these subproblems we use the efficient procedure developed in Ref. [ 11 ]. Problem MS(t) for any t e { 1..... T} is a continuous knapsack problem with bounded variables, which is very easy to solve [ 111. In the branch-and-bound algorithm, when we backtrack to a node, we check the period t' corresponding to this node. While solving the subproblem at this node, we only need to solve MS(t) for t=t',...,T, since MS(t) for t= 1..... t ' - I have already been solved before this node is reached. It is important to note that, in the implementation of the algorithm, the only optimal solutions considered for the knapsack problems are those which have at most one item whose demand is partially met in a given period. As a consequence of this, the algorithm always produces solutions where at most one item has a partially satisfied demand in a given period. We now give a formal statement of the algorithm.
3.3. A formal statement of the algorithm
Step 0.
Set n =0 (number of the stored node) and t' = 1. Set upper bound=0. Step 1. Solve the subproblems MS(t) for all t=t',...,T. Compute the lower bound. If the lower bound is greater than the upper bound, go to Step 6. If the solution is feasible, update the upper bound if necessary and go to Step 6. Otherwise, continue. Step 2. For each period t=t',...,T, find those part types that have positive optimal values in the solution obtained in Step 1. Sort these part types in a nonincreasing order of their b]pi ratios to obtain a list for each period t=t',...,T. Set t=t'. Step 3. (a) Select the first part type in the list for period t. If the list for period t is exhausted, set t=t+ 1. Go to Step 3b. Otherwise, eliminate the selected part type from the list for period t. Go to Step 4. (b) If t = T + 1, go to Step 6. Otherwise, go to Step 3a. Step 4. Branch on the selected part type i. At the left branch set Xi,=X~, and at the right branch set Xi,=O. Let n=n+ I. Store the required information at node n on the right branch. Continue to Step 5. Step 5. On the left branch, set the tool variables of those tools required by the selected part type to one. Check the tool magazine capacity considering the tools already loaded. If there is sufficient capacity, update the tool magazine capacity. To select the next part type in the list, go to Step 3a. Otherwise, go to Step 6. Step 6. Fathom that node. Backtrack to node n. If n=0, STOP, current solution is optimal. Otherwise, check the period t at node n. Set t' = t. Go to Step 1.
The algorithm presented above will yield an exact optimal solution. This follows from the validity of our lower and upper bounds and the fact that no solution is ever excluded from consideration. Note that we implicitly enumerate all the solutions by considering the two possibilities for each part type in each period: (a) part type produced at some positive level; (b) part type not produced. Lemmas 1 and 2 directly extend to problem GM. Based on these, the algorithm described above for problem M can also be used for problem GM, with slight modifications. The only difference is in the consideration of different machines to which part types are assigned. The lower bounding subproblems have the same structure in both problems, and the same branching and fathoming rules are valid. The number of variables to branch on increase by a factor of M, which is the number of machines. In the case of nonidentical machines, the processing time of a part type on each nonidentical machine may be different. Then the lower bounding subproblem SM will be solved by using an LP routine rather than by inspection, i.e. in Step 1 of the branch-and-bound algorithm, a subproblem in the form of SM will be solved and the rest of the algorithm applies with no modifications. The computational results obtained by solving randomly generated problems for both problem M and problem GM will be given in the next section.
Planning problems in flexible manufacturingsystems 4. C O M P U T A T I O N A L
105 i
RESULTS
4.1. Problem M
The branch-and-bound algorithm for problem M was programmed in C and run on an IBM PC 80386. The parameters that determine how quickly the algorithm terminates are as follows. (I) (2) (3) (4)
Problem size determined by the values of N, L, and T. Tightness of the tool magazine constraint. Tightness of the machine time constraint. Error tolerance.
We experimented with different problem sizes. For each problem size, the tool magazine capacity is r% of the total number of tool slots required by all tools, where r is set to a value in the range [50,60]. Also, the probability that a part type uses a tool is adjusted so that the expected number of tools required by a part type is in the range [ 15,20]. These two factors together determine the tightness of the tool magazine constraint. The machine time capacities are set at 960 min, so the periods are two 8 h shifts. The period lengths should be chosen appropriately to provide for machine time capacity constraints not tighter than tool magazine capacity constraints. Because, in such a case, tool magazine restrictions would become redundant and LP relaxation of the problem would be optimal. The error tolerance is set to a value in the range [0%,5%]. Termination of the algorithm is also controlled by the maximum allowable number of nodes in the branch-and-bound tree. This is set to 60,000. Other problem parameters are generated randomly as follows. Demand: Uniform between 1 and l0 units. Processing time: Uniform between 8 and 30 min. Objective function weights: Uniform between l and 10. Tool slot requirement per tool: Uniform between l and 3 slots. Table 2 shows the values of the chosen parameters and the corresponding problem sizes for ten problem sets. For each set ten problems are generated randomly. The results of the computational experiments are summarized in Table 3. Table 2. Problem parameters
Problem set
N
L
I 2 3 4 5 6 7 8 9 10
20 20 20 50 50 50 70 70 70 70
60 60 60 80 80 80 100 100 100 100
T
Tool magazine tightness
Probability of tool usage
Machine time capacity
Error tolerance*
No. of continuous variables
No. of binary variables
5 5 5 6 8 8 8 I0 10 10
60% 60% 60% 60% 60% 60% 60% 60% 60% 55%
25% 25% 25% 25% 25% 25% 25% 25% 25% 25%
960 960 960 960 960 960 960 960 960 960
5% 1% 0% 5% 5% 0% 5% 5% 0% 5%
100 100 100 250 250 400 560 700 700 700
300 300 300 400 400 640 800 1000 1000 1000
* Error tolerance->[(Iower bound - upper bound)/upper bound] x 100.
Table 3. Computational results for problem M
Problem set
No. of problems solved
I 2 3 4 5 6 7 8 9 10
10 10 9 9 10 9 7 l0 10 6
Average list size
Average no. of nodes
Average no. of knapsack problems solved
Average CPU (s)
Range CPU (s)
14.2 16 16.6 19.2 18.1 21 22.4 20.8 23.1 20.3
322.6 4162.0 1848.8 2432 190.2 2037.8 237.8 160 1628.6 264.66
645.0 7228.4 2510.3 5060.1 576.5 4659. I 851.3 599.2 4762.7 1053.83
4.51 62.11 26.79 75.15 6.60 72.45 12.36 7.90 85.32 12.91
[0.27,28.41] [0.22,565.66] [0.77,80+71] [4.62,358.30] [0.82,20.27] [0.82,260,.01] [2.80,22,42] [ 1.70.15.98] [2.14,226.15] [2.03,29.29]
1052
Meltem Denizel and S. Selcuk Erenguc
The second column in Table 3 shows the number of problems that could be solved within the specified error tolerance. As mentioned before, there are ten randomly generated problems in each set. However, some of these may not be solved, either because the computer runs out of memory or because the upper limit on the number of nodes is reached. When this happens, we disregard those problems and take all the averages over the problems that can be solved. The third column shows the average maximum number of unfathomed nodes. The average total number of nodes opened are shown in the fourth column. It can be observed from Table 3 that the problem becomes more difficult to solve as N and L are increased. With N=20, L=60, and T=5, the average execution time is 4.51 s (problem set 1). Making N=50, L=80, and T=6 while all other parameters are constant increases the execution time to 75.15 s (problem set 4). A similar observation is true for problem sets 5 and 7. In these problem sets, N and L are increased while T and the other problem parameters are kept constant. This increases the average execution time from 6.60 to ! 2.36 s. With problem set 7, only seven out of ten problems could be solved. In three instances, the program terminated due to memory restrictions and the results were disregarded. If these problems could have been solved, the average execution time would obviously be higher. Problem size alone does not determine how quickly the algorithm terminates. Keeping N and L fixed while increasing T increases the size of the problem. But this also relaxes the problem and it becomes easier to find an optimal solution. This can be observed from problem sets 4 and 5, where the execution time decreases from 75.15 to 6.60 s when T is increased from 6 to 8. It can also be observed from problem sets 7 and 8. The tightness of the tool magazine constraint is another factor that affects termination. Setting the tool magazine capacities equal to 60% of the total number of tool slots required by all tools, while the expected number of tools required by a part type is in the range [15,25], provides reasonably tight problems. When the machine time capacity is set to 960, there is a good balance between the two capacity constraints, in the sense that neither of them is loose or too tight. In problem sets 8 and 10, it is seen that decreasing the tool magazine capacity to 55% of the total number of tool slots required by all tools increases the average execution time from 7.90 to 12.91 s. Also note that, in problem set 10, four problems could not be solved again due to lack of computer memory. We have also experimented with different error tolerances. Almost all the problems that could be solved with an error tolerance of 5% could also be solved with a zero error. Naturally this increases the execution times. However, we believe that the algorithm performs very efficiently in finding exact solutions. Among all the problems we experimented with, only in three instances did the program stop prematurely due to the limit on the number of nodes. These are the unsolved problems in problem sets 3, 4 and 6. All other instances which were disregarded are those that could not be solved due to computer memory restrictions. The availability of memory and its effective usage is very dependent on the computer environment and also the compiler. In a more effectively managed computing environment, memory availability will be much less of a restriction for the problem sizes we are dealing with. We believe that the problems that have been solved are of sizes seen in real world problems. The algorithm proved to be very efficient in solving to optimality these problems with 300 to 1000 binary variables. 4.2. Problem GM
Naturally, the problem sizes (in terms of the problem parameters) that can be solved efficiently on the PC for problem GM are smaller than those for problem M. Therefore, for problem GM, we decided to conduct some more experiments also on an IBM 3090 Model 600J mainframe computer. Since, as discussed in the previous section, the size of a problem is not the only factor that determines how quickly the algorithm terminates, it is not possible to give exact problem sizes that can be solved on a PC. As a matter of fact, the main restriction we had on the PC was the 64 Kbytes limit on the amount of memory that can be referenced. The program makes dynamic memory allocation, and as the number of unfathomed nodes and the amount of information stored at each unfathomed node reaches a certain amount, it may run out of memory. However, this limit on the memory can be overcome by using a more efficient C compiler and is not an indicator of the efficiency of the algorithm. Actually, the problems that could not be solved on the PC due to this limitation were solved very efficiently on the mainframe. We set the problem parameters similarly as we did for problem M. The tool magazine capacities are r% of the total number of tool slots required by all tools, where r is a set value in the range [50,60]. The probability that a part type uses a tool is adjusted so that the expected number of tools required by a part
Planning problems in flexible manufacturing systems
1053
Table 4. Problem parameters Problem set
Computer used
N
L
T
I 2 3 4 5 6 7 8 q I0 II 12
PC PC PC PC PC PC MFt MF MF MF MF MF
20 20 20 20 30 30 30 30 50 50 70 80
60 60 60 60 80 80 60 80 80 80 100 120
5 5 5 5 7 8 5 5 5 5 5 5
M
Tool magazine tightness
Probability of tool usage
Machine time cal~city
Error tolerance*
No. of continuous variables
No. of binary variables
3 5 5 5 5 5 5 5 5 5 5 6
60% 60% 60% 55% 60% 58% 60% 60% 60% 60% 60% 60%
30% 30% 30% 30% 25% 23% 30% 25% 25% 25% 20% 20%
480 480 480 480 480 480 480 480 480 480 960 960
1% 1% 5% 5% 5% 5% 5% 5% 5% 1% 5% 5%
300 500 500 500 1050 1200 750 750 1250 12.~) 1750 2400
900 1500 1500 1500 2800 3200 1500 2000 2000 2000 2.500 3600
* Error tolerance~l(Iower bound - upper boundYupper Ixmnd] x 100. ~"MF=mainframe computer.
type is in the range [ 18,201. As in problem M, these two parameters have a significant role in determining the difficulty of the problem. The balance between the tool magazine capacity and machine time capacity constraints is best achieved when machine time capacity is set to either 480 or 960 min. Error tolerance is in the range [1%,5%]. The limit on the number of nodes is 40,000 on the PC and 240,000 on the mainframe. All other data are randomly generated in the same manner as in problem M. We have generated six problem sets to be solved on the PC. There are ten problems in the first four sets and 20 problems in the last two. In reporting the statistics, we have disregarded those problems in which the computer runs out of memory or the upper limit on the number of nodes is reached. For the mainframe we generated six problem sets with ten problems in each set. On the mainframe no memory problems were encountered. However, for four of the 60 problems, the upper limit on the number of nodes was reached before obtaining an optimal solution. These problems were not included in the statistics reported in Table 5. Table 4 shows the chosen problem parameters for each set, problem sizes, and also the computer on which the problems are tested. The results of the computational experiments are summarized in Table 5. By analysing these results, we reach similar conclusions for the algorithm's efficiency in solving problem GM as for solving problem M. From the problem sets 2 and 3, we see that increasing the error tolerance from 1% to 5% causes a considerable decrease in the execution time. Making the tool magazine constraints tighter makes the problem more difficult to solve, and this can be observed from problem sets 3 and 4. These two sets include the same ten problems, except that the tool magazine availability is more restricted in problem set 4 than in problem set 3. In interpreting the solution effort required by these two classes of problems one should keep in mind that all of the problems in problem set 3 could be solved, whereas two out of ten problems in problem set 4 could not be solved within the imposed limits. In this case, the number of problems solved is a better indicator of problem difficulty. In problem sets 5 and 6, the size of the problem increases considerably. However, the average execution times are lower than that of the third problem set. This is because the problems generated in Table 5. Computational results
Problem
No. of problems
Average
Average no. of
Average no. of knapsack problems
Average
Range
set
solved
list size
nodes
solved
CPU (s)
CPU (s)
1 2 3 4 5 6 7 8 9 10 II 12
9 8 10 8 15 16 9 10 10 10 8 9
27.00 30.36 29.50 28.38 21.00 18.28 45.00 36.80 44.00 46.00 72.86 90.33
886.78 4590.25 958.80 185.75 145.70 153.58 230.56 171.00 213.10 2061.70 425.13 512.67
16.71 82.82 17.76 4.39 3.87 5.28 0.46 0.28 0.45 3.10 2.17 5.63
1t.70,73.351 [3.19.461.041 [2.69.143.241 [3.62.5.001 [0.77,6.151 11.15.7.641 I0.30.0.571 10.09,0.511 [0.23,0.671 [0.23,19.28] [ 1.04.3.75I [2.35,8.33]
494.88 1871.75 296.00 88.26 44.80 40.58 130.22 86.40 108.20 872.40 229.50 288.44
1054
Meltem Denizel and S. Selcuk Erenguc
problem sets 5 and 6 are somewhat looser than those in problem set 3, due to the corresponding values of T. The same problems with smaller T values or tighter tool magazine capacities cannot be solved on the PC due to memory insufficiency. In order to avoid any memory insufficiency, we tried to obtain somewhat looser problems by setting T=7 in problem set 5 and T=8 in problem set 6. With these parameters, some of the generated problems gave optimal solutions at the initial node. We disregarded those when calculating the average values. Still, there are some problem instances which cannot be solved. A general observation is that when the list size, that is the number of unfathomed nodes, becomes greater than 40, the problem becomes unsolvable on the PC due to memory restrictions. Therefore, we decided to continue our computational experiments on the mainframe with much tighter problems, without having any memory insufficiency. On the mainframe, we were able to solve much tighter problems which are also larger in size. In these problems we tried to keep the problem tightness almost the same. In problem sets 9 and 10, setting the machine time capacities to 960 provided a better balance between the tool magazine and machine time capacity constraints. As before, results show that for a given problem tightness, execution time increases as a function of the problem size. Other average values, average maximum number of unfathomed nodes, average number of nodes evaluated, and average number of knapsack problems solved, behave similarly as the average execution time. As a matter of fact, the execution time is a function of the number of nodes evaluated and the number of knapsack problems solved at these nodes. We were able to solve large MIP problems of 1500 to 3600 binary variables in very reasonable amount of CPU time within 1% to 5% of optimality. Some of those problems that could not be solved within the allowable limits, with the specified error tolerance, could be solved with an increased tolerance value. For instance, the problem that could not be solved with 5% tolerance in problem set 12 was solved with a tolerance of 6%. We believe that these results show the efficiency of the algorithm also in solving problem GM. 5. CONCLUSION We have investigated the GFMS planning problem which involves decisions about system setup prior to the start of production. Two MIP formulations are presented. We first give a single machine formulation addressing the part-type selection and lot-sizing decisions, where available machine time and tool magazine capacities represent the major system constraints. Subsequently, this formulation is generalized to include multiple machines. A consequence of multiple machines is the incorporation of the machine loading decision into the model. Both models have an objective function which minimizes total weighted flow time of the part types. We have developed a branch-and-bound algorithm for the single machine model, and then extended it to the multi-machine case. In the branch-and-bound procedure, lower bounds are obtained by solving linear programming relaxations. We have shown that, due to a special problem structure, these lower bounding problems can be solved very easily. Exploitation of this problem structure led to an efficient branch-and-bound procedure. Problems having 1500 to 3600 binary variables can be solved near optimally within an average CPU time of 2.5 to 19 s on a mainframe computer. For smaller size problems (up to 1500 binary variables) solutions can be obtained on a personal computer within 4 to 465 s of average CPU time. Acknowledgements--The authors would like to express their sincere thanks to an anonymousreferee for his/her extremely helpful
comments and suggestions. REFERENCES I. Stecke, K. E., Formulation and solution of nonlinear integer productionplanning problems for flexible manufacturingsystems. Management Science, 1983, 29, 3 273-288. 2. Rachamadugu, R. and Stecke, K. E., Classification and review of FMS scheduling procedures. Working Paper, School of Business Administration, The University of Michigan, Ann Arbor, MI, 1989. 3. Hwang, S., A constraint directed method to solve the part-type selection problem in flexible manufacturing systems. In Proceedings of the Second ORSA/TIM$ Conference on Flexible Manufacturing Systems: Operations Research Models and Applications, eds K. E. Stecke and R. Suri. Elsevier Science B.V., Amsterdam, 1986, pp. 297-309. 4. Hwang,S. and Shogan,A. W., Modelling and solvingan FMS part-typeselection problem. International Journal of Production Research, 1989, 27, 8 1349-1366.
5. Rajagopalan, S., Formulation and heuristic solutions for parts grouping and tool loading in flexible manufacturing systems, in Proceedings of the Second ORSA/TIMS Confereoce on Flexible Manufacturing Systents: Operations Research Models and Applications, eds K. E. Stecke and R. Suri. Elsevier Science B.V.,Amsterdam, 1986, pp. 311-320.
6. Tang, C. S. and Denardo, E. V., Models arising from a flexible manufacturingmachine, Part II: Minimization of the number of switching instants. Operations Research, 1988,35, 5 778-784. 7. Stecke, K. E. and Kim, 1.. A study of FMS part-type selection approaches for short-term production planning. International
Planning problems in flexible manufacturing systems
1055
Jountal of Flexible Manufacturing Systems, 1988, I, 7-29. 8. Jaikumar, R. and Van Wassenhove, L. N., A pcoduction planning framework for flexible manufacturing systems. Journal of Manu~lcturing and Operations Management, 1989. 2, I 52-79. 9. Tang, C. S. and Denardo, E. V., Models arising from a flexible manufacturing machine, Part l: Minimization of the number of tool switches. Operation.s Research, 1988, 35, 5 767-777. IO. Smith, M. S., Ramesh, R., Dudek, R. A. and Blair, E. L., Characteristics of U.S. flexible manufacturing systems - - A survey. In Proceedings of the Second ORSA/TIMS Conference on Flexible Manufacturing Systems: Operations Research Models and Applications. eds K. E. Stecke and R. Suri. El~vier Science B.V., Amsterdam, 19860 pp. 478-486. I I. Dcnizel-Sivrio M. and Erenguc. S. S., A polynomial algorithm for a multi-item capacitated production planning problem. Operations Research Letters, 1993, 13, 5 287-293. 12. Stecke, K. E., Algorithms to efficiently plan and operate a particular FMS. Working Paper No. 566. School of Business Administration, The University of Michigan, Ann Arbor, MI. 1988. 13. Kim, Y.-D° and Yano. C. A., A heuristic approach for loading problems of flexible manufacturing systems. Technical Report 87-2 I, Department of Industrial and Operations Engineering, The University of Michigan. Ann Arbor, MI, 1987. 14. Garey, M. R. and Johnson, D. S., Computers atut Imractabili~.'. W. H. Freeman and Co., San Francisco, 1979.