IIE Transactions (2005) 37, 51–61 C “IIE” Copyright ISSN: 0740-817X print / 1545-8830 online DOI: 10.1080/07408170590516854
A space allocation algorithm for assembly line components YOSSI BUKCHIN1 and RUSSELL D. MELLER2,∗ 1
Department of Industrial Engineering, Tel Aviv University, Ramat Aviv 69978, Tel Aviv, P.O.B. 39040, Israel E-mail:
[email protected] 2 Grado Department of Industrial and Systems Engineering, Virginia Tech, 250 Durham Hall (0118), Blacksburg, VA 24061, USA E-mail:
[email protected] Received February 2003 and accepted May 2004
A component stockout during the assembly process is one of the most undesirable events that can occur since the resulting line stoppage is associated with extremely high costs. In this paper we address the problem of allocating space to components along the line, subject to practical constraints. The objective is to maximize the line fill-rate; namely, the probability of no line stoppages due to a lack of components between consecutive replenishments. A model for calculating the line fill-rate is presented. This model is then incorporated into a design algorithm that determines the space allocation. A large experiment for moderate-sized and large-scale problems is performed to evaluate the algorithm performance. Our experiment indicates this performance to be excellent, producing optimal solutions on moderate-sized problems in most cases and solutions that are better than three intuitive rules for most of the large-scale problems considered.
1. Introduction and motivation Assembly lines are used in many industries to produce final products to meet customer demand. To allow for some degree of responsiveness to changes in product mix, mixedmodel assembly lines are often employed. In a mixed-model assembly line, multiple models of a product (product variants) can move down the line one after the other without station setups having to be performed. In these lines, a critical trade-off is the amount of space allocated to components at each station on the line. As more space is allocated to each component, the higher the probability that the assembly line will not stop due to component shortages. However, as more space is allocated, there are increased costs due to the cost of the space and the inventory holding cost. Moreover, in most assembly lines there is a practical limit to the component space due to worker accessibility. It would be advantageous in designing assembly lines to have a model that determines the level of space to allocate to each component at each station or one that divides a given amount of space associated with a workstation between the different components. Our research provides such a model. The motivation for this model comes from two companies that employ mixed-model assembly lines to meet variable customer demand. One company assembles industrial trucks and the other company, electronic motors. Although the operation of the assembly line can be different based on ∗
Corresponding author
C 2005 “IIE” 0740-817X
the product assembled, in all cases it is of utmost importance to each company to design assembly lines that are not likely to have to stop due to component shortages. Assembly lines can be classified according to the number of models assembled on the line and according to the line pace (Scholl, 1999). According to the former, we distinguish between a line that assembles a single model (single-model line) and a line which assembles several models simultaneously (mixed-model line). Since the models assembled on mixed-model lines are quite similar, no rearrangement of the line is needed between different models. However, the design and operation of such lines is much more complicated. One complicating aspect is due to different component needs for each of the models, which then requires determining how much of each component should be stored along the line. We can also distinguish assembly lines on the basis of whether they are paced or unpaced. In paced lines, a mechanical material handling mechanism links the stations in a rigid nature and ensures that the product spends a fixed and identical amount of time at each station. This can be accomplished either when the products are fixed to the line or where the products are synchronously moved from an upstream station to the adjacent downstream station at fixed time intervals. On the other hand, in unpaced lines the products spend the time needed to complete the work at the station and are then moved downstream. In this environment, blockage and starvation may occur between stations. To decrease these phenomena, buffers are allocated between consecutive stations.
52 In this paper we address the component space-allocation problem for a mixed-model, paced assembly line, where the objective function is maximizing the line fill-rate, or minimizing the probability of line stoppages due to lack of components between consecutive replenishments. In Section 2 we review the literature associated with the problem that we formally present in Section 3. In Section 4 we present an analytical model for determining the fill-rate of a line. The model is based on the multinomial distribution. In Section 5 we present our algorithm for designing an assembly line and discuss its computational complexity. Since we cannot guarantee the performance of our algorithm, in Section 6 we test its performance against the optimal solution for moderate-sized problems and three intuitive heuristic rules for large-scale problems. Finally, in Section 7 we conclude the paper and outline future research avenues.
Bukchin and Meller parts (also spare machines in the latter reference) that are required by the customer due to a random failure rate. In each failure, a set of specific parts (i.e., a kit) is needed and the repair job can be completed only if all parts are available in the kit. The trade-off between the inventory holding cost and the service level is considered. Although the approach discussed in our paper deals with a similar situation in which each model that enters the line consumes a set of parts/components, the difference from the above is twofold. First, due to the arrival process of models to the line, the consumption-rate of each component is bounded, namely, a service level or a fill-rate of unity can be guaranteed in some cases. Secondly, the inventory holding costs are not considered here; instead, we maximize the line fill-rate subject to strict limitations on the space area as discussed below.
3. Assembly line component inventory and control 2. Literature review Note that most assembly line research addresses the line balancing problem, beginning with the simple assembly-line balancing problem. Comprehensive related surveys are presented by Baybars (1986) and Ghosh and Gagnon (1989). Since the problem is NP-hard, many heuristics have been developed in addition to the exact algorithms that can solve moderately sized problems. Recently, mixed-model assembly line research has become more and more popular since it reflects, more realistically, modern assembly environments where demand is characterized by high variability and a relatively small volume for each model (Bukchin and Rabinowitch, 2000; Bukchin et al., 2002). This phenomenon can be observed in the increased number of car models, televisions, computers, VCRs, and many other products that are available. For a recent survey of the various types of assembly-line balancing problems see Errel and Sarin (1998). The problem of component inventory control and allocation has not been specifically addressed in the literature, although inventory policies in systems with an assembly structure (but not an assembly line) have been intensively studied (see Song and Zipkin (1996) and also Agrawal and Cohen (2001) and the related references contained therein). Also, the buffer allocation problem associated with balanced and unbalanced flow lines has been addressed and some results may be applied in the component allocation problem (Conway et al. (1988); Powell and Pyke (1998) and Yamashita and Altiok (1998) among others, explore this related problem). In these papers, the allocation of space between workstations for preventing or reducing blockage and starvation between consecutive workstations was investigated. Finally, the literature of stocking spare parts, studied by Mamer and Smith (1985) and also Cohen et al. (1989), bears some resemblance to the problem we study. These papers deal with determining the inventory holding policy of spare
Nearly all manufacturing enterprises incorporate assembly operations (the joining of components to form a final product). And ever since Henry Ford introduced the moving assembly line used in the slaughterhouses to the industrial enterprise, research has been performed to design and operate assembly lines more efficiently. In today’s mass customization environment, designing and operating mixed-model assembly lines is very critical to ensuring the enterprise’s successful realization of product and service. One of the most common problems encountered in practice when designing any type of assembly line is allocating components along the line. Typically, the relatively small area next to each workstation must accommodate a large number of components. Note that in a mixed-model environment there is typically an even larger number of components. Moreover, in a mixed-model line there is also the issue of the dynamic and stochastic nature of the model arrivals, which increases the risk of stockouts and the criticality of stocking the correct components. Our goal in designing the assembly line is then to decrease the risk of line stoppage by maximizing the fill-rate of the line; i.e., maximizing the probability of zero shortages while the line is in operation. The line fill-rate is dependent on the space allocated to each station and to each component, the elapsed time between consecutive replenishments, and the arrival process of models to the line. In this paper, we address the component space-allocation problem for a mixed-model paced assembly line, where each station along the line receives one unit of work every assembly cycle, which we assume without loss of generality is one time unit long. We assume the replenishment frequency is given in terms of an integer number of assembly cycles. Sensitivity analysis on the replenishment frequency can then be performed to help determine the impact of this decision variable. The arrival process is assumed to be highly variable, with each model arrival to the first station independent of the preceding model arrivals.
53
Component space allocation on assembly lines There are many types of components that may be utilized in the assembly process. The proposed model does not consider components that are relatively large, specialized, or costly since they are typically tracked individually. For example, it is quite common in an automobile assembly plant to track each engine that is needed for each automobile and to store only the next few required engines along the line at any given time. However, parts that are smaller in size and much less expensive, such as the bolts, brackets, oil filters, and other materials used in conjunction with the engine, are not tracked so closely. Our model is developed for those items, usually called B and C items, since although they are not important or costly enough to track individually, shortages of these items can stop or delay operation of the assembly line. Initially, for discussion purposes, we make a number of assumptions regarding the assembly line: 1. The total amount of area for component storage along the assembly line, A, is fixed and given. For a particular problem, this constraint could be based on floorspace area, for another problem, it could be based on floorspace volume if the products are stacked. Thus, in this paper we use the terms area and space interchangeably. 2. The maximum amount of area available at each station j, Aj , is fixed and given (this area is later divided amongst the assigned components). Typically, A < j Aj . 3. The actual model arrival sequence to the line is randomly distributed according to the demand proportion of the different models given by the demand forecast. Consequently, if r1 , r2 , . . . , rm denote the demand proportions of models 1, 2, . . . , m, respectively, the proba-
Fig. 1. Mixed-model assembly line illustration.
4. 5.
6. 7.
bility that any arriving model is of type k is equal to pk = rk / m =1 r (k = 1, . . . , m). The arrival of each model to the first station is independent of the preceding model arrivals. The assembly line is paced and the inventory of components along the line is replenished deterministically every T assembly line cycles (no lead time is associated with replenishment and the components are replenished immediately). A component can be consumed by a single model (dedicated component) or by several models (shared component). The same component may be required at more than one station (and thus will be allocated to more than one station). However, replenishment of a component at one station with the inventory of the same component from another station is not permitted.
In general, we need to determine the area allocated to each component i at each station j. However, due to assumption 7, a component allocated to different stations will be treated as different components. Consequently, we denote the area allocation decision variable as ai , where ai is the area allocated to component i (∀i ∈ I). The design measure of interest is fill-rate, which we define as the probability of no shortages during T cycles. We denote the fill-rate for the overall assembly line fill-rate as F. Figure 1 illustrates a mixed-model assembly line with station 3 expanded to highlight the two-level nature of the space allocation problem (station space allocation and component allocation at each station). Note that the numbers on the arrows denote the number of units of component i consumed by model k, cik .
54
Bukchin and Meller
4. Fill-rate calculation In determining the fill-rate for a station along the line (or the line itself as we shall show shortly), there are various characteristics that can have an impact on this calculation. For example, whether there are two models or more than two models impacts whether or not the binomial or multinomial distribution governs the individual model arrival process. Also, whether or not the different models consume items in an equal or unequal amount or how much space each item occupies along the line has an impact on the difficulty of computing the fill-rate. In this section we present associated fill-rate calculations to illustrate this. The final fill-rate is general enough to cover any situation and is used in our design algorithm described in the next section. First let us consider a situation in which equal amounts of a single component are consumed by two models. In this situation, the fill rate associated with this component is simply equal to zero if the area assigned to it is less than T (since any combination of model arrivals will result in at least one shortage) and equal to one if the area assigned is equal to T (there is no incentive to assign more than T units of area). When each model consumes an equal, but greater than one, amount of the shared component (say, β), then we divide the area assigned by β and the same above property to calculate the fill-rate holds. Note that such a simple mixedmodel assembly line degenerates into a single-model assembly line from the component consumption point of view, as the stochastic nature of the line does not affect the component consumption rate. Hence, this logic can also be applied to the situation with more than two models when each model consumes the same amount of a shared component. Now let us consider a situation (still with two models) in which a station stores two different component types, where one unit of each is consumed by a different model (i.e., dedicated components). Since there are only two models, an arrival of one model guarantees that the other model does not arrive for that cycle. In this situation, we now use the binomial model to compute the probability of x1 arrivals of model 1 (with each consuming a unit of component 1) and x2 arrivals of model 2 (with each consuming a unit of component 2). Based on the values of x1 and x2 , and a1 and a2 , we can then determine whether or not this combination of model arrivals lead to a stockout of either of the components. In particular, for there to be no stockouts, then the conditions x1 ≤ a1 and x2 ≤ a2 must hold for components 1 and 2, respectively. Using the relationship that x1 + x2 = T, we see that T − a2 ≤ x1 ≤ a1 . Computing the probability that this relationship for x1 holds will then allow us to determine the fill-rate for this situation (which we subscript with a “B” for binomial) as shown below: a1 T i (1) p1 (1 − p1 )T−i . FB = i i=T−a 2
Note that this situation can be easily extended to a situation where the consumed quantities are different than one and that the space required by each unit of component is also different than one. Finally, let us consider situations with more than two models and a general consumption matrix; i.e., each arrival of model k consumes cik units of component i and one unit of component i occupies i units of area along the line. We will denote xk , a random variable, as the number of arrivals of model k during the T cycles. In this general situation, no cik xk ≤ ai . Likeshortage in component i occurs if i k wise, there is no shortage for the line if i k cik xk ≤ ai for all i ∈ I. Note that this result can be used for the station or line fill-rate depending on the definition of I. The probability distribution that governs the combination of model arrivals with more than two models is the multinomial distribution. The multinomial distribution can compute the probability of any combination of model arrivals: Prob(x1 = k1 , x2 = k2 , . . . , xm = km ) T km p k1 pk2 . . . pm . = k1 !k2 ! . . . km ! 1 2 Thus, the final fill-rate we present below addresses the general fill-rate calculation (although it may be simpler to compute the fill-rate in an alternate manner for some of the special cases): F(X) =
T T−k 1 −k2 1 T−k k1 =0 k2 =0
×
...
k3 =0
T−k1 −k 2 −···−km−2 k
=0
m−1 T k1 k 2 km p p . . . pm δ(X), k1 !k2 ! . . . km ! 1 2
(2)
where X represents the vector of the x values denoting the number of arrivals for each model during T periods, and δ(X) = 1 if no shortages occur in the system with this set of arrivals, and zero otherwise (i.e., δ(X) = 1 if i k cik xk ≤ ai for all i ∈ I, and zero otherwise). In summary, the fill-rate for a given space allocation can be determined by summing the probabilities associated with particular realizations of X for which δ(X) equal one. Now that we can calculate the line fill-rate, a design algorithm for the space allocation is needed. Our algorithm is presented in the next section.
5. Space allocation algorithm Our objective in the following design algorithm is to allocate space to the different components in order to maximize the fill-rate of the assembly line. A property that is used here is the “build-up property” of buffer allocation in balanced flow lines, as presented in Conway et al. (1988). This property claims that the optimal allocation of n + 1 buffers among stations can be built upon the optimal allocation
55
Component space allocation on assembly lines of n without changing the allocation at any of the first n buffers. Although, we are dealing here with the component space and not with the buffer space, we assume that the dynamic of the system is quite similar. There are two types of area constraints. The first is the constraint on the total area which cannot exceed the value of A, and the other is the constraint on the area of each station, j, which cannotexceed the valueof Aj . Consequently, we may say that i∈I ai ≤ A, and i∈Sj ai ≤ Aj ∀j, where Sj is the set of components that are located at station j (Sj ⊆ I). The proposed design algorithm, which we name the topdown algorithm, or algorithm TD, is based on the following principle. First, we relax both types of area constraints and assign sufficient area to each component in order to ensure a line fill-rate of unity. Next, units of area are taken from the initial allocation in order to satisfy both types of area constraints, while minimizing the negative impact on the fill-rate. The procedure of reducing the area considers the space required by a unit of component (i.e., the i values) and the consumption matrix (i.e., the cik values). To ensure that each unit of area can be used at the station, we consider reducing the area by the Maximum Common Divisor (MCD) of the component usage by model, where the MCD of a set of component usage values is the greatest integer that divides the set of positive component usage values without a remainder; i.e., MCD(i) = MCDk:cik >0 {cik } (e.g., if the component usage values are zero, three, six, and 12, then the MCD is three). Algorithm TD has two phases, with phase I first satisfying the station area constraints and with phase II satisfying the line area constraint. Top-down algorithm for component space allocation Step 0. Set z = 1 (phase I of the algorithm) and compute MCD(i) ∀i. Step 1. Allocate MAXi , the maximum area that may be required for component i during the replenishment period, to each component, where MAXi = Ti maxk {cik }. Set ai = MAXi for all i ∈ I. Step 2. Set the line fill-rate, F, equal to unity. Step 3. Let S represent the set of candidate components to be reduced with respect to their space allocation. First, place in S all components at stations where the station area constraint is violated; i.e., S = {i ∈ Sj | i∈Sj ai > Aj ∀j}. If S = φ (no station area constraint violations), then set z = 2 (entering phase II of the algorithm) and S = {i ∈ I} (the area allocation of any component can be reduced to satisfy the line area constraint). Step 4. For each component i that is assigned to station j, calculate the fill-rate, fi , that results from removing MCD(i) units of component i from the area allocation at station j (this results in a reduction in area of MCD(i)i ). Compute the surrogate slope of the
decreased fill-rate for the two values of z as follows: IF z = 1, then: si =
F − fi , min MCD(i)i , i ∈Sj ai − Aj
where component i is assigned to station j. The station area constraint is still violated. Consequently, according to Step 3, area is taken only from stations which violate this constraint. The denominator ensures that the surrogate slope calculation only considers a reduction to the constraint value, Aj (e.g., if the current area of station j (before reduction) is 22 units, and Aj = 20 and MCD(i)i = 3, then only two units of area reduction are considered in the slope calculation). IF z = 2, then: si =
Step 5. Step 6. Step 7. Step 8.
F − fi , min MCD(i)i , i ∈I ai − A
where component i is assigned to station j. All stations area constraints have been satisfied, and only the total area constraint is considered. The denominator ensures that the surrogate slope calculation only considers a reduction to the total area constraint, A (e.g., if the current total area (before reduction) is 112 units, and A = 110 and MCD(i)i = 3, then only two units of area reduction are considered in the slope calculation). Choose i∗ = argmini∈S {si } (tie-breaker: largest i ). Set ai∗ = ai∗ − MCD(i∗ )i∗ . Set F = fi∗ . If z = 1, go to Step 3; else continue. If i∈I ai > A, go to Step 4; else continue. Final allocation is represented by the values of ai , ∀ i ∈ I. The fill-rate of the solution is given by the fill-rate F.
Consider a simple example with two models (k = 1, 2), two stations (j = 1, 2), and four components (i = 1, . . . , 4). Components 1 and 2 are used at station 1 and components 3 and 4 are used at station 2. The component consumption matrix (the cik values), the model arrival probabilities (the pk values), and the component area values (i values) are listed in Table 1. Table 1. The model annual probabilities and component area values Component consumption (cik ) j=1 Model/comp k=1 k=2 Area (i )
j=2
i=1
i=2
i=3
i=4
Prob. (pk )
2 0 1
0 1 2
2 1 2
2 1 1
0.75 0.25
56
Bukchin and Meller
Table 2. The progress of the algorithm Area allocated to components j=1
j=2
i = 1 i = 2 i = 3 i = 4 Total area z=1 S = {1, 2, 3, 4} S = {3, 4} S = {3, 4} S = {3, 4} S = {3, 4} z=2 S = {1, 2, 3, 4} Final solution
20 20 20 20 20
20 18 18 18 18
40 40 38 38 38
20 20 20 19 18
100 98 96 95 94
18 16
18 18
38 38
18 18
92 90
F 1.000 0.999 0.943 0.943 0.755
000 999 686 686 974
0.755 974 0.755 974
The example will begin with the following parameters: T = 10, A1 = 38, A2 = 56, and A = 90. Note that the values for MAXi for the four components are 20, 20, 40, and 20, respectively. This implies that to ensure a fill-rate of unity, we would require 40 units of area at station 1 and 60 units at station 2 (and thus, 100 units of area total). Therefore, we can be assured that these constraints will play a role in the final solution. We run our algorithm and detail its progress in Table 2. The final solution has the following allocation of areas to components: a1 = 16, a2 = 18, a3 = 38, and a4 = 18 with a fill-rate of 0.755 974. Note that we can examine the impact of changing some of the parameters used in the algorithm. Namely, if T is decreased to nine, then the fill-rate increases to unity. Likewise, if the station 2 area constraint is relaxed slightly from 56 to 58 (i.e., A2 = 58), then the fill-rate increases to 0.943 271. Although we believe algorithm TD will produce the optimal allocation for most problems, it is unlikely that it will do so in all cases. Therefore, after discussing the complexity of the algorithm, we examine the performance of algorithm TD through an empirical evaluation with test problems in the next section.
between consecutive replenishments. However, if xi denotes the n number of arrivals of model i to the line, we can see that i=1 xi = T, since exactly T units arrive to the line in T cycles. The number of combinations of arrivals is the same as the number of possibilities of putting T balls into m cans, including the possibility of empty cans (or placing m − 1 dividers amongst T locations), which is equal to: T +m−1 . T Now, let us consider the number of times the fill-rate is calculated. If n is the number of different components, the fill-rate calculation is repeated n times in each area reduction. The complexity of the area reduction operation is O(nT) and hence we can see that the complexity of the algorithm is: T +m−1 2 (T + m − 1)! n T =O O n2 . T (T − 1)!(m − 1)! One can see that the algorithm is mainly affected by the number of models, m, and the number of cycles between consecutive replenishments, T, and very little by the number of components, n. Note that the main reason for the high complexity of the algorithm results from the fact that we use an exact procedure for calculating the line fill-rate. If a fast approximation procedure is used instead of the current exact procedure, then the algorithm can be polynomial in the number of models and cycles.
6. Testing the space allocation algorithm In this section we report the results of our experiment to test the performance of our space allocation algorithm with respect to maximizing the fill-rate as measured by Equation (2). For moderate-sized problems we compare the fill-rate of the solution obtained from our algorithm to the optimal solution obtained from complete enumeration (see Section 6.1). Since complete enumeration is not possible for large-scale problems, we have developed three simple, yet reasonable, rules to be used in comparison with the results from our algorithm (see Section 6.2).
5.1. Algorithm complexity
6.1. Moderate-sized problems via full enumeration
Before examining the performance of algorithm TD, it is first beneficial to discuss the complexity of the algorithm. Note that the complexity of the complete algorithm is approximately equivalent to the complexity of the fill-rate calculation, given by Equation (2), multiplied by the number of times the fill-rate is calculated. To compute the complexity of the fill-rate calculation in Equation (2), we need to consider that in Equation (2), all possible combinations of model arrivals to the line during T cycles are summed. Thus, we can say that if m model types arrive to the line, each one can arrive up to T times
In this section the performance of algorithm TD is evaluated by comparing its results with optimal solutions. To obtain the optimal solution to a problem, Full Enumeration (FE) of the area allocation was performed and the best, hence optimal, solution was recorded. Due to the computational intensity of full enumeration, only moderate-sized problems are examined here. The primary objective of our testing is to evaluate the relative performance of algorithm TD with respect to FE. To examine a wide range of problems, several parameters were defined and a full factorial experiment was conducted. Four of the parameters were
57
Component space allocation on assembly lines defined as factors, and two levels were associated with each factor. The other parameters were randomly changed via the experimentation with four replications (resulting in 64 data sets). The four factors of the experiment and their two levels are: 1. 2. 3. 4.
Number of components: four or six components. Total area: 30 or 60 units of area. Number of stations: two or three stations. Problem structure: simple or complex.
The first three factors are self-explanatory, but the fourth factor requires some discussion. A simple problem structure means that the number of components consumed by each model was set as zero or one and the area required by each component was set to one. On the other hand, for a complex problem structure, the consumption rate was set as zero, one or two and the area requirement was set as one or two. All consumption matrices and area requirements were randomly generated with an equal probability for each possible value. Other parameters that were not varied:
r Model types: three model types were considered throughout.
r Station area constraint: in addition to the total area constraint, which was considered as a factor, the area constraint of each station was randomly set. To prevent a situation in which the total area constraint dominates the station constraint or vice versa, each station’s area constraint was set equal to 60% of the total area constraint. Since only high fill-rates are permitted in real-life situations, only those data sets that led to a fill-rate between 0.97 and unity were considered. Each of the above 64 problems was run on a Pentium II 450 MHz computer with 128 Mb of RAM and the results of this testing are presented in Table 3 and summarized as follows. Results show that in 57 out of the 64 problems, algorithm TD performed as well as FE; namely, provided the optimal solution. The average difference between algorithm TD and FE was 0.04%, whereas the largest deviation observed was 0.77%. On the other hand, a large difference was observed in runtimes. The average runtime for solving a problem using algorithm TD was 0.0007 seconds, with a maximum value of 0.016 seconds (these small values resulted from the fact that for most problems the obtained runtime was smaller than the resolution of the CPU clock (0.001 seconds) and therefore was assumed to be zero). ConTable 3. Summary performance results from small problems Alg FE TD
Optimal Avg. solns. diff.(%) 64 57
— 0.04
Max Avg. runtime Max runtime diff. (%) (seconds) (seconds) — 0.77
704.2 0.0007
8638 0.016
versely, the average runtime for FE was 704.2 seconds, with a maximum value of 8638 seconds. Since the optimal solution was obtained for most problems (about 90% of the test problems), no analysis of variance could be obtained for examining the significance of the main effects and interactions (the sample size of nonoptimal solutions was too small for a meaningful statistical analysis). Still, two conclusions can be drawn from this experimentation. First, algorithm TD is a heuristic and does not necessarily provide optimal solutions (even for problems with a “simple structure”). Second, however, we can say that algorithm TD performs very well for moderatesized problems. In the next section we examine the performance of algorithm TD for large-scale problems. 6.2. Large-scale problems via three rules In this section we report the results from solving largescale problems. These problems are of sufficient size that FE could not return the optimal solution in a reasonable amount of runtime. Therefore, we developed three intuitive heuristic rules for space allocation that we believe correspond fairly well with the rules-of-thumb that are employed in practice. The performance of these rules is then compared with algorithm TD over a wide range of problems. The purpose of this experimentation is to examine to what extent and in which situations algorithm TD outperforms the rules. Rule 1: According to rule 1, the available area is initially allocated to each component according to the expected consumption rate of the component during the replenishment period. The expected consumption rate of component i, ECRi , is then: ECRi = Ti pk cik ∀i ∈ I, k
and consequently, the initial area allocated to component i will be proportional to its expected consumption rate: ECRi A ai = i ECRi
∀i ∈ I,
where A is the total available space. Since ai may be fractional, all ai should be initially rounded down. The next step is to check the station area constraint. If the area constraint of some station j is violated ( i ∈Sj ai > Aj ), the area for the components at that station should be reduced proportionally using their ECRi values by replacing A in the above allocation equation with Aj and only considering those components in Sj . These two steps (rounding down and enforcing station area constraints) may result in unallocated space in the system. In such a case, unallocated space should be given one unit at a time to the components with the highest ECRi values that are not at stations with a tight area constraint. If the station area constraint would be violated, then the unit
58
Bukchin and Meller
of area is allocated to the component with the next highest ECRi value and so on. Note that it is possible for the same component to receive more than one unit of area once all other components have received a unit (when feasible). The final allocation of area to components is guaranteed to be feasible under such an approach. Rule 2: According to rule 2, the available area is initially allocated to each component according to the maximum possible consumption rate of the component during the replenishment period. The maximum consumption rate of component i, MPC i , is then: MPCi = Ti max {cik } k
∀i ∈ I,
and consequently, the initial area allocated to component i will be proportional to its maximum consumption rate: MPCi ai = A i MPC i
∀i ∈ I.
For rule 2, the same rounding procedure to the one developed for rule 1 is applied. However, here the leftover space due to rounding and the station area constraints is allocated one at the time according to maximum MPC i (instead of the maximum ECRi as in rule 1). Rule 3: Rule 3 is a combination of rules 1 and 2. According to rule 3, the area initially allocated to each component is equal to its expected consumption rate, ECRi . The remaining available area (A − i ERC i |i ∈ I) is then allocated according to MPCi through a new variable based on the difference between MPCi and ECRi . That is, let: RISKi = MPCi − ECRi
∀i ∈ I,
and then
RISKi ECRi A− ai = ECRi + i RISKi i
∀i ∈ I.
Note that the above expression makes sense only when A ≥ i ECRi . However, since having a small fill-rate is not practical, we can assume that the total area, A, is much larger than the sum of the expected usage values, and the above expression holds. For rule 3, the same rounding procedure to the one developed for rule 1 is applied. However, here the leftover space due to rounding and the station area constraints is allocated one at the time according to maximum RISKi (instead of the maximum ECRi as in rule 1). As with the moderate-sized problems in the previous section, a full factorial experimental design has been executed. Four factors have been defined with two levels for each factor. The factors are: 1. 2. 3. 4.
Number of components: 12 and 50 components. Number of models: four and 10 models. Number of stations: four and 10 stations. Level of fill-rate: low = 0.90 to 0.95 and high = 0.97 to 1.00.
Note that the values of A and T largely dictate the fillrate. Therefore, since A is more often a constraint and T a decision variable, we set A large enough that a value of T equal to 10 achieved the high fill-rate level. For the low fill-rate, the value of T was increased to achieve a fill-rate in the low fill-rate range defined above. The initial value of A and the final value of T were achieved through trial-anderror testing. The station area constraints were set to ensure that they would be binding in some cases, but not all the cases to ensure that the problem did not degenerate into a set of independent station problems. Each of the above 64 problems was run on a Celeron 800 MHz computer with 256 Mb of RAM. Four replications were generated for each of the 16 combinations above, resulting in a total of 64 problems. The results for these problems are presented in Table 4. The first column in Table 4 denotes the experiment number. The next four columns of Table 4 denote the factors’ values (models, stations, components and fill-rate, respectively). Column 6 indicates the replication number. Next, we can see the fillrate values obtained from algorithm TD and the three rules in the following four columns. The 11th column presents the maximum fill-rate obtained by the three rules. The last four columns calculate the difference in percentage terms between the results from algorithm TD and the three rules and the maximum rule. The row at the bottom of Table 4 presents the average values of each column. As indicated earlier, the three rules are quite intuitive. Rule 1 is based on the expected consumption rate, rule 2 on the maximum consumption rate, which considers the consumption variance, and rule 3 is a combination of the above two rules. We can see that the combination rule, rule 3, provides the best results. The second best is rule 1, and then we find rule 2 with significantly inferior results (i.e., an average fill-rate of 0.479). Still, we can see that although rule 2 does poorly on average, we should not omit this rule since in some cases (seven out of 64) it gives the best result of the three rules. From the results presented in Table 4 we can see that algorithm TD outperforms all the rules in 63 out of 64 test problems. In the only case where one of the rules (rule 3) provides a better solution than algorithm TD, the difference is only 0.1%. The average difference between algorithm TD and rules 1, 2, and 3 is 15.7, 50.5, and 11.6%, respectively. Even when taking the best result from the three rules, algorithm TD still outperforms this result by 9.3%. The maximum difference between algorithm TD and rules 1, 2, and 3 is 58.8%, 100.0% (resulting from a case in which a fill-rate of zero was obtained by rule 2), and 45.5%, respectively. Even the best rule has a maximum difference of 38.5%. These results indicate that calculating all rules and taking the best result can lead to a significantly inferior solution to the one obtained by algorithm TD. Of course, in terms of runtime, the rules are very economical. The average runtime for each of the rules was approximately
59
Component space allocation on assembly lines Table 4. Summary results from large-scale problems Exp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
Mod
St
Comp
FR
Rep
Alg TD
Rule 1
Rule 2
Rule 3
Max-rule
Diff 1
Diff 2
Diff 3
Diff-max
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 Avg
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
12 12 12 12 12 12 12 12 50 50 50 50 50 50 50 50 12 12 12 12 12 12 12 12 50 50 50 50 50 50 50 50 12 12 12 12 12 12 12 12 50 50 50 50 50 50 50 50 12 12 12 12 12 12 12 12 50 50 50 50 50 50 50 50
Low Low Low Low High High High High Low Low Low Low High High High High Low Low Low Low High High High High Low Low Low Low High High High High Low Low Low Low High High High High Low Low Low Low High High High High Low Low Low Low High High High High Low Low Low Low High High High High
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
0.907 0.926 0.938 0.945 0.995 0.986 1.000 0.980 0.912 0.907 0.904 0.925 0.996 0.995 0.991 0.974 0.907 0.926 0.938 0.945 0.995 0.995 0.988 0.996 0.906 0.908 0.940 0.939 0.990 1.000 0.991 0.988 0.915 0.914 0.947 0.918 0.987 0.991 0.981 0.993 0.933 0.928 0.924 0.938 0.999 0.995 0.999 0.999 0.949 0.919 0.938 0.918 0.983 0.986 0.972 0.992 0.917 0.922 0.925 0.928 0.996 0.999 0.996 0.997 0.958
0.598 0.845 0.921 0.828 0.889 0.859 1.000 0.786 0.732 0.550 0.480 0.620 0.933 0.932 0.929 0.792 0.598 0.845 0.921 0.828 0.773 0.942 0.988 0.954 0.759 0.569 0.559 0.825 0.963 0.990 0.937 0.960 0.872 0.822 0.905 0.663 0.966 0.958 0.948 0.807 0.670 0.670 0.404 0.387 0.924 0.908 0.937 0.895 0.852 0.863 0.909 0.888 0.916 0.953 0.947 0.990 0.579 0.383 0.636 0.591 0.785 0.883 0.937 0.965 0.811
0.771 0.316 0.176 0.945 0.676 0.417 0.872 0.893 0.000 0.000 0.000 0.000 0.126 0.000 0.103 0.000 0.771 0.316 0.176 0.945 0.971 0.835 0.430 0.996 0.105 0.000 0.198 0.000 0.533 0.503 0.705 0.000 0.886 0.525 0.682 0.721 0.984 0.863 0.841 0.952 0.003 0.104 0.004 0.090 0.554 0.561 0.476 0.749 0.788 0.864 0.595 0.315 0.909 0.974 0.743 0.846 0.008 0.077 0.014 0.147 0.378 0.735 0.684 0.812 0.479
0.848 0.789 0.922 0.886 0.940 0.937 0.997 0.905 0.570 0.585 0.556 0.504 0.873 0.896 0.875 0.817 0.848 0.789 0.922 0.886 0.918 0.959 0.987 0.987 0.689 0.517 0.756 0.805 0.820 0.960 0.909 0.908 0.841 0.778 0.872 0.801 0.959 0.911 0.929 0.961 0.672 0.745 0.640 0.700 0.976 0.968 0.966 0.950 0.881 0.880 0.899 0.897 0.951 0.967 0.947 0.994 0.725 0.746 0.727 0.715 0.947 0.970 0.955 0.969 0.850
0.848 0.845 0.922 0.945 0.940 0.937 1.000 0.905 0.732 0.585 0.556 0.620 0.933 0.932 0.929 0.817 0.848 0.845 0.922 0.945 0.971 0.959 0.988 0.996 0.759 0.569 0.756 0.825 0.963 0.990 0.937 0.960 0.886 0.822 0.905 0.801 0.984 0.958 0.948 0.961 0.672 0.745 0.640 0.700 0.976 0.968 0.966 0.950 0.881 0.880 0.909 0.897 0.951 0.974 0.947 0.994 0.725 0.746 0.727 0.715 0.947 0.970 0.955 0.969 0.871
34.0 8.7 1.9 12.4 10.6 12.9 0.0 19.8 19.7 39.3 46.9 33.0 6.3 6.4 6.3 18.7 34.0 8.7 1.9 12.4 22.3 5.3 0.1 4.3 16.2 37.3 40.5 12.1 2.8 1.0 5.5 2.8 4.7 10.1 4.5 27.8 2.1 3.3 3.3 18.7 28.2 27.8 56.2 58.8 7.5 8.8 6.2 10.4 10.3 6.1 3.0 3.2 6.8 3.3 2.6 0.2 36.8 58.5 31.2 36.4 21.2 11.6 6.0 3.3 15.67
15.0 65.8 81.2 0.0 32.1 57.8 12.8 8.9 100.0 100.0 100.0 100.0 87.3 100.0 89.6 100.0 15.0 65.8 81.2 0.0 2.4 16.0 56.5 0.0 88.4 100.0 78.9 100.0 46.2 49.7 28.8 100.0 3.3 42.6 28.0 21.4 0.3 12.9 14.3 4.2 99.7 88.8 99.6 90.4 44.5 43.6 52.4 25.0 17.0 6.0 36.5 65.6 7.5 1.2 23.6 14.8 99.1 91.6 98.5 84.2 62.1 26.4 31.3 18.6 50.54
6.5 14.8 1.7 6.3 5.5 5.0 0.2 7.7 37.5 35.5 38.5 45.5 12.4 9.9 11.7 16.2 6.5 14.8 1.7 6.3 7.7 3.5 0.1 0.9 23.9 43.0 19.5 14.2 17.2 4.0 8.3 8.1 8.2 14.9 7.9 12.7 2.8 8.1 5.3 3.3 28.0 19.8 30.8 25.5 2.3 2.7 3.3 4.9 7.2 4.2 4.2 2.2 3.3 1.9 2.5 −0.1 21.0 19.1 21.4 23.0 4.9 2.9 4.1 2.9 11.56
6.5 8.7 1.7 0.0 5.5 5.0 0.0 7.7 19.7 35.5 38.5 33.0 6.3 6.4 6.3 16.2 6.5 8.7 1.7 0.0 2.4 3.5 0.1 0.0 16.2 37.3 19.5 12.1 2.8 1.0 5.5 2.8 3.3 10.1 4.5 12.7 0.3 3.3 3.3 3.3 28.0 19.8 30.8 25.5 2.3 2.7 3.3 4.9 7.2 4.2 3.0 2.2 3.3 1.2 2.5 −0.1 21.0 19.1 21.4 23.0 4.9 2.9 4.1 2.9 9.34
60 0.1 seconds, whereas the average runtime for algorithm TD was approximately 20 minutes. In addition to the above general analysis, we have also examined the effect of the individual problem parameters on the algorithm performance; namely, the differences between the algorithm results and the rules as the parameters are set to their two levels. Although we have examined the effect regarding each rule separately, we have chosen to show only the general conclusions resulting from the statistical analysis. Results show that the differences between the algorithm results and the rules increase with the number of components and decrease with the fill-rate. In other words, we can claim that the algorithm appears to be particularly beneficial in those cases with many components and where space is an issue leading to lower fill-rates (between 0.90 and 0.95 in our experiments). Moreover, the interaction between the above two factors is also noteworthy. Consider Fig. 2, which shows the difference between the algorithm results and the maximum fill-rate obtained by the rules as a function of the number of components. The upper and lower lines refer to the lower fill-rates (D−) and upper fill-rates (D+), respectively. We can see that although the number of components exhibits a positive effect in both situations (i.e., a positive slope for both lines), the effect is much stronger for lower fill-rates (i.e., the upper line has a steeper slope). Note that similar graphs were obtained for each rule separately and are available from the authors. As we know, even small differences in fill-rate can have a dramatic effect since one or two stockouts can lead to widespread disruption and large labor idleness costs. Looking at the average fill-rate from algorithm TD and the rules we can see that the rules’ fill-rates (even the maximum value) are much smaller than the one obtained by algorithm TD.
Fig. 2. The interaction between the number of components and the fill-rate.
Bukchin and Meller Furthermore, since we envision using this algorithm in the design stage, the runtimes we report are not necessarily a deterrent to the adoption of our approach. Therefore, we believe that our algorithm provides a useful tool in aiding in the design of the types of assembly lines that we consider in this paper.
7. Conclusions and future research This paper addresses one of the main risk factors in assembly line operation, which is the stockout of a component during the assembly process. The stockout of such a component may cause a line stoppage, which typically results in extremely high costs. The probability of having a stockout is dependent on the replenishment policy of components along the line and on the area allocation of these components. In this paper, a top-down algorithm for component area allocation subject to practical constraints is presented. This algorithm, algorithm TD, seeks to maximize the line fill-rate; namely, the probability that the line will operate without interruptions due to a component stockout between consecutive replenishments. This algorithm is based on an exact representation of line fill-rate. Two sets of experiments were conducted to evaluate the performance of algorithm TD. First, the algorithm is compared with optimal solutions. The optimal results are obtained from a complete enumeration of the solution space for moderate-sized problems only. Results show that algorithm TD provides an optimal solution for about 90% of the cases. Moreover, the average difference from optimal in cases for which the solution is not optimal is very low, with a maximal value of 0.77%. For large-scale problems, algorithm TD was compared with three intuitive heuristic rules. These rules, which are based on the expected component consumption, maximal component consumption, and their combination, reflect rules-of-thumb that are used in practice for this purpose. Results illustrate that algorithm TD outperforms each one of the rules separately as well as the best result from the three rules. The difference between the algorithm TD’s result and the three rules is 15.7, 50.6, and 11.65% for rules 1, 2, and 3, respectively. When choosing the best rule each time, the difference is 9.3%, which is still significantly high. Due to the fact that even a small improvement in the line fill-rate can have a dramatic financial effect on the line, we believe that the proposed methodology may be successfully implemented in real life environments. Since this research represents seminal research in this field, much still can be done. Future research will be initiated to address the model’s most limiting assumption: a deterministic lead time associated with the replenishment function. Another possible research direction is associated with the modification of the proposed fill-rate model and design algorithm into other similar environments such as the unpaced/asynchronous assembly lines.
61
Component space allocation on assembly lines Acknowledgements The authors thank Ms. Amy M. Brown, an M.S. student in the Grado Department of Industrial and Systems Engineering at Virginia Tech, for her work to code the algorithm and to perform the computational study. This study was supported in part by the awarding of NSF CAREER grants DMII 9623605 and 9996444 to Russell D. Meller.
References Agrawal, N. and Cohen, M.A. (2001) Optimal material control in an assembly system with component commonality. Technical report, Department of Operations and Management Information Systems, Santa Clara University. Santa Clara, CA. Baybars, I. (1986) A survey of exact algorithms for the simple assembly line balancing problem. Management Science, 32, 909–932. Bukchin, J. and Rabinowitch, I. (2000) A cost model for the mixed model assembly line balancing problem. Technical report, Department of Industrial Engineering, Tel Aviv University. Tel Aviv, Israel. Bukchin, Y., Dar-El, E.M. and Rubinovitz, J. (2002) Mixed model assembly line design in a make-to-order environment. Computers & Industrial Engineering, 41(4), 405–421. Cohen, M.A., Kleindorfer, P.R. and Lee, H.L. (1989) Near-optimal service constrained stocking policies for spare parts. Operations Research, 37(1), 104–117. Conway, R., Maxwell, W., McClain, J.O. and Thomas, L.J. (1988) The role of work-in-process inventory in serial production lines. Operations Research, 36(2), 229–241. Errel, E. and Sarin, S.C. (1998) A survey of the assembly line balancing procedures. Production Planning & Control, 9(5), 414–434. Ghosh, S. and Gagnon, R.J. (1989) A comprehensive literature review and analysis of the design, balancing and scheduling of assembly systems. International Journal of Production Research, 27, 637–670. Mamer, J.W. and Smith, S.A. (1985) Job completion based inventory systems: optimal policies for repair kits and spare machines. Management Science, 31(6), 703–718. Powell, S.G. and Pyke, D.F. (1998) Buffering unbalanced assembly systems. IIE Transactions, 30(1), 55–65. Scholl, A. (1999) Balancing and Sequencing of Assembly Lines, 2nd edn., Physica-Verlag, Darmstadt, Germany. Song, J.S. and Zipkin, P.H. (1996) Managing inventory with the prospect of obsolescence. Operations Research, 44(1), 215–222.
Yamashita, H. and Altiok, T. (1998) Buffer capacity allocation for a desired throughput in a production line. IIE Transactions on Scheduling & Logistics, 30, 883–892.
Biographies Yossi Bukchin is a faculty member in the Department of Industrial Engineering at Tel Aviv University. He received his B.Sc., M.Sc., and D.Sc. degrees in Industrial Engineering from the Technion Israel Institute of Technology. He is a member of IIE and INFORMS. He has been a Visiting Professor in the Grado Department of Industrial & Systems Engineering at Virginia Tech. His main research interests are in the areas of assembly systems design, assembly line balancing, facility design, design of cellular manufacturing systems, operational scheduling as well as work station design with respect to cognitive and physical aspects of the human operator. Russell D. Meller is an Associate Professor at Virginia Tech in the Grado Department of Industrial & Systems Engineering. He joined Virginia Tech after 7 years on the faculty at Auburn University. He received his B.S.E., M.S.E., and Ph.D. in Industrial and Operations Engineering from The University of Michigan. His dissertation on facility layout was awarded the 1994 Institute of Industrial Engineers Outstanding Dissertation Award and First Prize in the 1993 College on Location Analysis Dissertation Prize Competition from The Institute of Management Sciences. In 1996 he received a CAREER Development Grant from the National Science Foundation and in 2002 won IIE’s Outstanding Young Industrial Engineer Award. His professional experience includes consulting with the SysteCon Division of Coopers & Lybrand, General Electric, Cross Creek Apparel, and the Russell Corporation. His research interests include facilities layout and location, automated material handling systems, and operations research applications in forestry. His research has been supported by the National Science Foundation, General Motors, Ingersoll-Rand, and other companies. He has published his research in IIE Transactions, Manufacturing & Service Operations Management, Operations Research, Management Science, Journal of Manufacturing Systems, International Journal of Production Research, and other journals. In addition, he is a department editor for IIE Transactions and on the Editorial Board of Journal of Manufacturing Systems. He is a member of IIE, serving as a faculty advisor for over 10 years. He is also a member of INFORMS and Alpha Pi Mu, as well as being President of the College-Industry Council on Material Handling Education. Contributed by the Facility Layout and Material Handling Department