A recursive operator allocation approach for assembly line-balancing optimization problem with the consideration of operator efficiency

A recursive operator allocation approach for assembly line-balancing optimization problem with the consideration of operator efficiency

Computers & Industrial Engineering 51 (2006) 585–608 www.elsevier.com/locate/dsw A recursive operator allocation approach for assembly line-balancing...

648KB Sizes 0 Downloads 57 Views

Computers & Industrial Engineering 51 (2006) 585–608 www.elsevier.com/locate/dsw

A recursive operator allocation approach for assembly line-balancing optimization problem with the consideration of operator efficiency B.L. Song *, W.K. Wong, J.T. Fan, S.F. Chan Institute of Textiles and Clothing, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong, China Received 13 January 2006; received in revised form 16 May 2006; accepted 20 May 2006 Available online 28 July 2006

Abstract This paper addresses an optimization model for assembly line-balancing problem in order to improve the line balance of a production line under a human-centric and dynamic apparel assembly process. As the variance of operator efficiency is vital to line imbalance in labor intensive industry, an approach is proposed to balance production line through optimal operator allocation with the consideration of operator efficiency. Two recursive algorithms are developed to generate all feasible solutions for operator allocation. Three objectives, namely, the lowest standard deviation of operation efficiency, the highest production line efficiency and the least total operation efficiency waste, are devised to find out the optimal solution of operator allocation. The method in this paper improves the flexibility of the operator allocation on different sizes of data set of operations and operators, and enhances the efficiency of searching for the optimal solution of big size data set. The results of experiments are reported. The performance comparison demonstrates that the proposed optimization method outperforms the industry practice. Ó 2006 Elsevier Ltd. All rights reserved. Keywords: Assembly line-balancing; Combinatorial optimization; Operator efficiency; Recursive algorithm

1. Introduction Assembly line-balancing (ALB) problem has been widely studied (Becker & Scholl, 2006; Erel & Sarin, 1998; Hoffmann, 1992; Pinto, Dannenbring, & Khumawala, 1983) since the first analytical statement of the ALB problem was formulated by Bryton (1954) and published in mathematical form by Salveson (1955). ALB problems can be classified into single model and multi/mixed model according to the number of products being produced on a single line. There is another classification of deterministic or stochastic model based on the operation performance time being constant or variable (Erel & Sarin, 1998; Ghosh & Gagnon, 1989). The single model deterministic (SMD) version of ALB problem introduces the concept of single model assembly *

Corresponding author. Tel.: +852 27666453; fax: +852 27731432. E-mail address: [email protected] (B.L. Song).

0360-8352/$ - see front matter Ó 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2006.05.002

586

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Nomenclature Production line Sopr = the set of all operators, Sopt = the set of all operations, N S opr = the total number of all operators, N S opt = the total number of all operations, N(Soprj1!j) = the total number of operators left to be allocated when the previous operations from 1 to j have been arranged, N(Soprj1!j[i]) = the total number of operators left to be allocated in operation i when the previous operations from 1 to j have been arranged, SAM[i] = the standard allowed minutes to finish processing a fixed quantity of garments in the ith operation (e.g., 100 pieces), TSAM = the total SAM of all operations, TSAMj1!j = the total SAM left of all operations when the previous operations from 1 to j have been arranged, Sopr[i] = the set of all operators who can do operation i, N S opr ½i = the number of elements in set Sopr[i], that is the quantity of all operators who can do operation i, Ssopr[i] = the set of single-skilled operators in operation i, N S sopr ½i = the number of elements in set Ssopr[i], that is the number of the single-skilled operators who can do operation i, Smopr[i] = the set of multiple-skilled operators in operation i, N S mopr ½i = the number of elements in set Smopr[i], that is the number of the multiple-skilled operators who can do operation i, Snopr[i] = the set of the operators really needed for operation i in a new production order, N S nopr ½i = the number of elements in set Snopr[i], that is the number of the operators really needed for operation i. Snmopr[i] = the set of the multiple-skilled operators really needed for operation i in a new production order, and N S nmopr ½i = the number of elements in set Snmopr[i], that is the number of the multiple-skilled operators really needed for operation i. Allocation A = operator allocation, Ai = a particular allocation of the ith operation, A1!n = one specific allocation from the first operation to the nth operation, SA = the set of A, SA = {A}, as,i = the ith element in set S, S = {as,1, as,2 + 1, . . ., as,N(s)}, N(S) = the total number of the elements in the set S, A1!iÆAi+1 = the operation of uniting A1!i and Ai+1, S Aiþ1 jA1!i = the set of allocations of the (i + 1)th operation given the condition that one specific allocation from the first operation to the ith operation is obtained as A1!i, S Aiþ1 jA1!i ¼ fAiþ1 jA1!i g, S A1!n jA1!i = the set of all possible allocations for all operations from the first to the last given the condition of A1!i, S A1!n jA1!i ¼ fA1!n jA1!i g, and S A1!n = the set of all possible allocations for all operations from the first to the last, S A1!n ¼ fA1!n g.

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

587

Combination Si!N(s) = the subset of set S including the elements from as,i to as,N(s) continuously, that is: {as,i, as,i+1, . . ., as,N(s)}, as,i Æ as,j = the union operation of the element as,i with as,i, and CSm = the set of all combinations combined by any m elements in the set S. S Optimization t = operation time (e.g., 1 min), Q[i,j] = the garment quantity finished by the jth operator in the ith operation during time t, Eopr[i,j] = the jth operator’s efficiency in the ith operation, El = the assembly sewing line’s efficiency, Ebn = the lowest operation efficiency of a production line (called bottleneck efficiency), Ew[i] = the ith operation’s wasted efficiency, Ew = the total operations’ wasted efficiency, Eopt = the sample mean of operations’ efficiency, and Stdopteff = the sample standard deviation of operation’s efficiency.

line where the operation performance time is fixed, while the single model stochastic (SMS) problem introduces the concept of operation time variability. As a general ALB problem, numerous researches were conducted on SMD (Baybars, 1986; Erel & Sarin, 1998; Jin & Wu, 2003; Simaria & Vilarinho, 2001), whereas research for the stochastic model is relatively limited. The reason is that SMS problem is difficult to be formulated because constraints are very specific to the situations. Efforts were put into recognizing and stating the stochastic operation time by several authors such as Moodie and Young (1965), Silverman and Carter (1986). Most of them, however, assumed that operation time is normally or asymmetrically distributed. It is not realistic because operator performance is directly influenced by the skill level and experience of doing the similar operation previously when learning and forgetting processes are considered. SMS problems were studied mainly from three categories. The first category involved the modified versions of the procedures developed for the SMD problem. For instance, Shin (1990) developed a procedure to minimize the expected total cost arising from the labor and incomplete task. Suresh and Sahu (1994) used simulated annealing to minimize the smoothness index and the probability of stopping the line. Suresh, Vinod, and Sahu (1996) presented two versions of Genetic algorithm (GA) to solve the SMS problem. The second category involved the examination of the problem characteristics via simulation (Buxey, Slack, & Wild, 1973). The third category consisted of procedures specifically developed for the stochastic problem, such as an enumeration-based approximation methodology by Sarin, Erel, and Dar-El (1997) that makes use of some insights and effective solutions to sub problems of the SMS problem, an ant technique-based approach to solve the assembly line-balancing problem by McMullen and Tarasewich (2003), a bidirectional heuristic for stochastic assembly line-balancing type II problem by Erel, Sabuncuoglu, and Sekerci (2005) and a beam search method for stochastic assembly line-balancing by Liu, Ong, and Huang (2005). Most of the previous line-balancing approaches attempted to solve the same problem, which is defined as how to assign the tasks to an ordered sequence of stations so that the precedence relations are satisfied and some measure of effectiveness is optimized (Ghosh & Gagnon, 1989; Tiwari, Prakash, & Mileham, 2005). They started from either the objective of minimization of total idle time given a desired cycle time or that of minimization of the cycle time for a fixed number of stations (Erel & Sarin, 1998; Ghosh & Gagnon, 1989; Lee, Khoo, & Yin, 2000; Lee, Kim, & Kim, 2001; Mills & McClain, 1961). But the operator factors were seldom considered in solving the ALB problem. It is widely ignored that in real life situations of labor intensive industry, such as apparel manufacturing, even with the optimal task sequence employed, and minimized idle time (or cycle time) obtained, the production line still cannot be balanced in most cases because of the efficiency variance among operators and uncertain efficiency of the same operator in different situations. The operator

588

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

efficiency is revealed to be greatly influenced by such factors as operator’s emotion, motivation, health, skill level and experience of doing the similar operation previously (Kannan & Jensen, 2004). Based on the fact that the variance of operator efficiency leads to production line imbalance in those industries that still heavily rely on labor skills, the problem to balance assembly production line optimally with the consideration of operator efficiency variance is thus raised. As right operator allocation, that is to allocate operators to operations so that each operation can have the same efficiency, is vital to keep line-balancing, this paper proposes an optimization solution to solve the above problem by obtaining an optimal operator allocation before production based on predicted operator efficiency. This paper is organized as follows. The problem is described briefly and three objective functions are formulated in Section 2. Section 3 presents the proposed assembly line-balancing optimization (ALBO) procedure. The recursive operator allocation algorithm and recursive combinatorial algorithm are presented in Section 4 in order to obtain all feasible operator allocation solutions. Section 5 describes the method to achieve the optimal solution. Section 6 reports the results of the experiment in which the performance of the proposed optimization method is compared with that of the industry practice. Finally, conclusions are drawn and future research is discussed in Section 7. 2. Problem formulation 2.1. Constraints and assumptions There are some assumptions and constraints in describing the assembly line to be studied. (1) Assembly line structure. In the recent decades, many apparel manufactures have installed the automated Unit Production System (UPS) on their apparel assembly line. The assembly line to be discussed in this paper is a UPS system. Similar to other assembly lines, a UPS has three structure models, namely, series, parallel and hybrid model. In the parallel model, two identical workstations have a local cycle time of twice the regular cycle time and are fed with work pieces and release them alternatively. Due to the increased local cycle time, the number of feasible loads is greatly enlarged for parallel stations (Becker & Scholl, 2006; McMullen & Frazier, 1998; Vilarinho & Simaria, 2002). In this paper, the hybrid structure is studied. Fig. 1a shows one specific hybrid structure of a UPS system, where the operation process sequence is serial, while in a particular operation operators operate in parallel order. (2) Operation. The precedence relations between the operations are known before production. The performance time of each operation is stochastic. Each operation does not include any sub-operations. Each unit of garment will be processed through all operations in the same precedence order. (3) Machine. The machines are sufficient to be allocated for a new order. The state of a specific machine is stable once it is assigned to a production line. (4) Operator. All of the operators who are selected will be allocated for the new job. Each operator will only work on one machine at a time. Operator allocation will be represented in a simplified model shown in Fig. 1b. In the apparel industry, the machine’s efficiency is determined by the operator’s performance. There is no precedence order among operators working on the same operation. Each operator has his/her own skill inventory. An operator who is able to do more than one operation is called a multiple-skilled operator, while an operator who is able to do only one operation is called a single-skilled operator. An operator’s efficiency varies in different operations. It is not stable even when working in the same operation due to human factors such as operator’s emotion, motivation, skill level and experience or other uncertainties like machine breakdowns. Different operators might have different efficiency on a same operation. 2.2. Formulation The addressed problem in this paper is to balance an assembly production line optimally with the consideration of operator efficiency variance. Related terms and concepts about operator efficiency are defined first as below.

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

589

Fig. 1. (a) A hybrid SMS assembly line model. (b) An operator allocation example in a hybrid SMS assembly line.

The jth operator’s efficiency in the ith operation is defined as the ratio of the garment quantity finished by jth operator in ith operation during time t divided by time t. That is, Eopr ½i; j ¼ Q½i; j=t

ð1Þ

A particular operation’s efficiency can be calculated as the ratio of total garment quantity done by operators who work on this operation over time t. Hence, it is the sum of all operators’ efficiency on this operation, thus, Eopt ½i ¼

N ðS opr ½iÞ X

Eopr ½i; j

ð2Þ

j¼1

The efficiency of bottleneck operation is the minimum efficiency of a sewing production line: Ebn ¼ MinfEopt ½1; . . . Eopt ½i; . . . Eopt ½N ðS opt Þg

ð3Þ

The efficiency of an assembly line greatly depends on the bottleneck’s efficiency. A production line with a higher bottleneck efficiency will have a higher line efficiency. Supposing there is no WIP in workstations, the value of the line efficiency is defined equal to that of the bottleneck efficiency. El ¼ Ebn The balancing status can be reflected by sample standard deviation as follows:.5 vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi u NX ðS opt Þ u 1 2 t Stdopteff ¼ ðEopt ½i  Eopt Þ N ðS opt Þ  1 i¼1

ð4Þ

ð5Þ

The efficiency waste of the ith operation (Ew[i]) is defined as the efficiency difference between the ith operation and the bottleneck operation. Ew ½i ¼ Eopt ½i  Ebn

ð6Þ

590

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

The total operation efficiency waste (Ew) is the sum of efficiency waste of each operation. Ew ¼

NX ðS opt Þ

Ew ½i

ð7Þ

i¼1

In this paper, the ALBO problem with the consideration of operator efficiency variance is solved by allocating operators to operations optimally so as to obtain the most balanced production line with the highest line efficiency and least operator efficiency waste. The objectives can be formulated as below: (1) Standard deviation represents the variance of the each operation’s efficiency. The production line is more balanced when a lower standard deviation of operator efficiency is obtained. So the first objective is to minimize variance of operation efficiency (Stdopteff) to generate the most balanced line. The objective function has the form of

Z 1 ¼ Min Stdopteff

vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi u NX ðS opt Þ u 1 2 ¼ Min t ðEopt ½i  Eopt Þ N ðS opt Þ  1 i¼1

ð8Þ

(2) The second objective is to maximize efficiency of the bottleneck operation to achieve the highest line efficiency (El). The objective function is Z 2 ¼ Max El ¼ Max Ebn

ð9Þ

(3) The efficiency of an operation is the sum of all operators’ efficiency in this operation. Nowadays, the labor cost occupies a higher proportion in total cost. The less operator efficiency waste, the more labor cost is saved. Hence the third objective is to minimize the total operation efficiency waste (Ew). So we have, Z 3 ¼ Min Ew ¼ Min

NX ðS opt Þ

Ew ½i

ð10Þ

i¼1

3. Solution representation Assigning the appropriate operators to the appropriate operations before production starts can achieve a balanced assembly line. Although the line might be imbalanced again over time during production, the further worker turnover adjustment can be greatly reduced. The importance of operator performance on production has been realized for proper labor allocations in some industries (Mosier & Mahmood, 2002; Russell, Huang, & Leu, 1991). A recursive solution of optimal operator allocation is therefore proposed as follows to solve the ALBO problem having the stochastic time with the consideration of operator efficiency variance. The operator efficiency is predicted on the basis of the available historical efficiency data captured by the automated UPS. Fig. 2 illustrates the flow of recursive operator allocation solution for ALBO. The basic procedure is described as follows: 3.1. Step 1. Calculating theoretic optimal needed operator number for each operation As processing time on each operation is different, an optimal allocation of operators to keep line-balancing is required. Normally the theoretic optimal needed operator number for each operation ðN S nopr ½i Þ can be derived by considering both the Standard Allowed Minutes (SAM), which is a factor reflecting the operation processing time, and the total number of available operators. The method is demonstrated as follows:

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Calculate needed operator number for each operation based on SAM and operators available

Analyze skill inventory, separate single-skilled and multiple-skilled operators into different sets

Assign the single-skilled operator to the only operation that he/she can do first

Calculate needed multiple-skilled operator number for each operation

Initialize combinatorial and operator allocation arrangement algorithm

Combination is possible?

No

Adjust to meet combination conditions

Yes Find all feasible allocation arrangements for needed multiple-skilled operators using recursive combinatorial algorithm and recursive operator allocation arrangement algorithm.

Obtain the set of all arrangements for all operators by set plus single-skilled operators and multiple-skilled operators. S nopr[i]= S sopr [i] set plus Snmopr[i] Most Balanced Line Find the optimal solution using optimization method with three indices

Highest Line Efficiency Least Efficiency Waste

Fig. 2. Flow chart of recursive operator allocation solution for ALBO.

Quasi-C code of obtaining N S nopr ½i : N ðS oprj1!0 Þ : N S opr ; for i :=1 to N S opr do if N S opr ½i ¼¼ 0 then begin N(Soprj1!j):= N(Soprj1!j)  1; end; TSAMk1!0:¼TSAM; TSAMj1!j for i:¼1 to N S opt do begin N S nopr ½i : round ðSAM½i=T SAMk1!i1  N ðS oprj1!i1 ÞÞ; TSAMk1!i1:¼TSAMk1!i1  SAM[i]; N ðS oprj1!i1 Þ :¼ N ðS oprj1!i1 Þ  N S nopr ½i ; end;

591

592

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

An example is used in this section to analyze the line-balancing problem and demonstrate the procedure. Supposing in a sewing line, eight operators, i.e., Oprs 1–8, need to be allocated to do three operations, namely, JOIN SHOULDER, SET SLEEVE and SEW SIDESEAM (simplified as Opt1, Opt2 and Opt3 later), for a new production order. If the SAMs for each operation (SAM[i]) are 1.20, 0.60 and 1.8 (seconds), respectively, then the needed operator number for each operation ðN S noprj ½i Þ is: three for Opt1, one for Opt2 and four for Opt3 based on the above method. The production line is supposed to be optimally balanced in the ideal situation that operators work on each operation with the same time (i.e., SAM) in the above allocation proportion. But in real life the operation time is impossible to be constant because the operator efficiency is uncertain and changed over time. Things become more complicated if there exist multiple-skilled operators. A solution to balance production line by allocating operators optimally based on the optimal allocation proportion is thus proposed. 3.2. Step 2. Obtaining single-skilled operator set and multiple-skilled operator set When the operators of an assembly line consist of single-skilled operators and multiple-skilled operators, the set of all operators can be expressed as the set of single-skilled operators plus the set of multiple-skilled operators. The numbers of elements in these sets have the same relationship as Eq. (11). S opr ½i ¼ S sopr ½i set plus S mopr ½i; and

ð11Þ

N S opr ½i ¼ N S sopr ½i þ N S mopr ½i

ð12Þ

The Eqs. (11) and (12) can be changed to obtain multiple-skilled operators by: S mopr ½i ¼ S opr ½i set minus S sopr ½i; and N S mopr ½i ¼ N S opr ½i  N S sopr ½i :

ð13Þ ð14Þ

(Note: set plus and set minus are plus and minus operations of sets). The analysis of the skill inventory which is shown in Part A in Fig. 3 is as follows: four operators (Opr1, Opr4, Opr5 and Opr7) can do Opt 1, 3 operators can work on Opt2 and 6 operators have the skills to process Opt3. Among them, Opr4 can only do Opt1 while Opr3 and 6 can work only for Opt3. There is no singleskilled operator for Opt2. The sets of all possible operators for each operation and sets of single-skilled operators for each operation can then be obtained. The sets of multiple-skilled operators are obtained by using Eq. (4). The results are Smopr[1] = {1,5,7}, Smopr[2] = {1,2,8}, and Smopr[3] = {2,5,7,8}. All these results are illustrated in Fig. 3, where three columns denote the three operations in this example. The number of cells in each column expresses the number of needed operators in that particular operation. The sets of single-skilled and multiple-skilled operators for each operation are listed below the corresponding operation. The process of filling a number into a cell represents allocating the corresponding operator to the specific operation. 3.3. Step 3. Allocating single-skilled operators An optimal operator allocation, that is to allocate operators to operations so that each operation will have the same efficiency, is the key issue to keep line-balancing and to achieve the highest production line efficiency and lowest efficiency waste. As single-skilled operators can only do one fixed operation and they must be allocated to avoid labor waste, they will be assigned to the operations first in order to reduce the combinatorial problem size. This step is shown in Part B of Fig. 3. 3.4. Step 4. Obtaining the number of multiple-skilled operator needed for each operation Similar to Eqs. (11)–(14) there is a relationship among the needed operators, the single-skilled operators and needed multiple operators as follows:

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

593

Fig. 3. Recursive operator allocation solution illustration for ALBO problem.

S nopr ½i ¼ S sopr ½i set plus S nmopr ½i; and N S nopr ½i ¼ N S sopr ½i þ N S nmopr ½i

ð15Þ ð16Þ

This can be changed to Eqs. (17) and (18) to obtain the sets of needed multiple-skilled operators. S nmopr ½i ¼ S nopr ½i set minus S sopr ½i;

ð17Þ

N S nmopr ½i ¼ N S nopr ½i  N S sopr ½i ;

ð18Þ

Part C in Fig. 3 illustrates the process to obtain the set of needed multiple-skilled operators, Snmopr[i], for each operation. The problem of operator allocation is thus simplified as the problem of allocating needed multiple-skilled operators. 3.5. Step 5. Generating all feasible allocations for needed multiple-skilled operators A possible multiple-skilled operator allocation of a production line can be generated by sequencing each set of needed multiple-skilled operators in a fixed precedence order. Normally, there is more than one allocation. Any feasible needed multiple-skilled operator allocation for each operation should be based on a combinatorial condition, that is, total operator number in a specific operation > actual operator number needed for this operation > single-skilled operator number for this operation. Its mathematical equation is: N S opr ½i > N S nopr ½i > N S sopr ½i :

ð19Þ

Otherwise, an adjustment will be conducted till this condition is satisfied. Although the problem size is reduced greatly by assigning single-skilled operators firstly, the allocation of needed multiple-skilled operators is still quite complicated. Every multiple-skilled operator has more than one

594

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

position to be possibly allocated. Multiple combinations of needed multiple-skilled operator might be generated for each operation. With the constraints of precedence order of operation and no repetition of operator, the operator who has been allocated in a previous operation cannot be assigned to a following one. The biggest problem is that it is difficult to set an optimal rule to search for the optimal operator allocation during the process of finding an operator allocation. It is because that the performance of an operator allocation has to be evaluated after all operators have been assigned to all operations. Based on these difficulties, the optimal operator allocation solution will be realized by generating all possible allocations firstly and finding out the optimal one secondly. The method to generate all possible allocations for needed multiple-skilled operator by recursive operator allocation and combinatorial algorithms will be discussed in Section 4. 3.6. Step 6. Generating final allocations for all needed operators For each allocation obtained based on needed multiple-skilled operators, the final allocation based on all needed operators will be achieved by plus single-skilled operators set with the needed multiple-skilled operators set for each operation according to Eq. (16). 3.7. Step 7. Determining the optimal operator allocation Finally, the best solution will be achieved from the set of final allocations using the optimization method which is based on the three optimal indices. The details of this step are presented in Section 5. 4. Operator allocation The optimal arrangement of operator allocation belongs to the field of combinatorial optimization. Combinatorial optimization is an area at the intersection of three fields – operations research, applied mathematics and computer science (Du, 1999). In the last four decades, combinatorial optimization has grown to become a popular area with elegant theory and wide applications. Four major heuristic methods, neural networks, simulated annealing, genetic algorithms and tabu search, are considered to be related to the field of artificial intelligence, and used as frameworks for solving difficult combinatorial optimization problems (Derigs, 1985; Gupta, 1975; Ponnambalam, Aravindan, & Naidu, 2000; Salcedo-Sanz & Bouson˜o-Calzo´n, 2005; Shen, Xu, & Zheng, 2005; Smith, 1999; Wan & Ji, 2001; Wong, Kwong, Mok, Ip, & Chan, 2004). Heuristic procedures are extensively proposed to solve line-balancing optimization problems (Anderson & Ferris, 1994; Jin & Wu, 2003; McMullen & Tarasewich, 2003; Mendes, Ramos, Simaria, & Vilarinho, 2005; Wong, Leung, & Mok, 2005). They utilize principles or devices to reduce the search in the problem solving activity while at a cost of not guaranteeing an optimal solution (Bhattacharjee & Sahu, 1987; Erel & Sarin, 1998; Glover & Markland, 1990; Ponnambalam, Aravindan, & Naidu, 1999). In case the optimal solution is not applicable, no alternative solution is available (Bhattacharjee & Sahu, 1987). Moreover, the heuristic procedures published in the literature have difficulties in modeling the actual conditions of assembly lines with big problem size and high flexibility. Recursive algorithms have advantages of dealing with combinatorial optimization complexities in some situations (Chakravarty & Shtub, 1985; Hua & Banerjee, 2000; Quintana, Lambert, & Roderick, 1997; Sharadapriyadarshini & Rajendran, 1996). A description of something that refers to itself is called a recursive definition. In mathematics, certain recursive definitions are used all the time, and they can be quite handy and surprisingly powerful. Each recursion always occurs on a smaller version of the original problem. A very small version of the problem that can be solved without recursion then becomes the base case. All good recursive definitions have two key characteristics: (1) There can be one or more base cases for which no recursion is required. (2) All chains of recursion eventually end up at one of the base cases.

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

595

A recursive operator allocation algorithm is introduced in Section 4.1 to generate all feasible allocations of needed multiple-skilled operators. As combination is a basic application in recursive operator allocation algorithm, and it is applied for multiple times, a recursive combinatorial algorithm is devised as an independent module in Section 4.2 4.1. Recursive operator allocation algorithm All feasible allocations of needed multiple-skilled operators will be generated by employing the concept of recursion. Here this recursive problem can be detailed as to achieve the set of all possible allocations for all operations from the first to the last one given a particular operator allocation for operations from the first to the ith. Given the number of operations in an assembly line to be N S opt (simplified as n), A represents operator allocation. Ai represents a particular operator allocation for the ith operation. A1!i denotes a particular operator allocation from the first operation to the ith operation. A1!iÆAi+1 is an operation which unites A1!i with Ai+1ÆA1!i+1 = A1!iÆAi+1. SA denotes a set of operator allocations of A. as,i is the ith element in set S. N(S) is the number of elements in set S. S Aiþ1 jA1!i denotes the set of all possible operator allocations for the (i + 1)th operation under the condition that the previous i operations have been arranged as A1!i. S A1!n jA1!i denotes the set of all possible operator allocations for all operations if A1!i is given. The operator allocation problem is to find S A1!n . 4.1.1. Initialization At the beginning, as there is no operator allocation, set i = 0, A1!i = U. 4.1.2. Recursive definition Given the previous i operations have been arranged as A1!i, we continue to arrange the i + 1th operation. The recursive definition is presented in Eq. (20) to find S A1!n jA1!i . 8 i¼n fA1!i g > > ( ) > > < S A1!n jðA1!i aSA jA ;1 Þ þ S A1!n jðA1!i aSA jA ;2 Þ þ    iþ1 1!i iþ1 1!i i < n and N ðS Aiþ1 jA1!i Þ > 0 ð20Þ S A1!n jA1!i ¼ þS > A jðA a ðS Þ ;N S 1!n 1!i Ai jA1!i Þ > Aiþ1 jA1!i > > : fUg i < n and N ðS Aiþ1 jA1!i Þ ¼ 0 If i = n, all the previous n operations have been arranged as A1!i. That means the allocation for the whole assembly line S A1!n jA1!i is {A1!i}. This situation becomes a base case because it can be solved without recursion. When i < n, there are two possible situations according to whether there exists any possible allocation for the i + 1th operation. If there is no possible allocation for the i + 1th operation, that is N ðS Aiþ1 jA1!i Þ ¼ 0, the operator allocation for the entire line is failed. S A1!n jA1!i ¼ fUg. This is the second base case in this recursive definition. Otherwise, if N ðS Aiþ1 jA1!i Þ > 0, there is at least one allocation Ai+1 existing for the i + 1th operation. The corresponding allocation set is S Aiþ1 jA1!i . The jth element in set S Aiþ1 jA1!i is presented as aS Aiþ1 jA1!i ;j . Based on the equation of A1!i+1 = A1!i. Ai+1, the set of S A1!iþ1 jA1!i can be obtained by uniting A1!i with each element in S Aiþ1 jA1!i , that is S A1!iþ1 jA1!i ¼ fA1!i  aS Aiþ1 jA1!i ;j jj ¼ 1::N ðS Aiþ1 jA1!i Þg. Now obtaining S A1!n jA1!i can be derived by obtaining each set of S A1!n jA1!i aSA jA ;j first, then plus all the sets together. iþ1 1!i

4.1.3. Recursive functions If we write the operator allocation solution as a separate function, the recursive definition translates directly into code. To obtain S A1!n jA1!i using function of Lines (A1!i, i, Production Line L); Set Lines (A1!i, i, Production Line L)

596

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

{ If (i = = n) Return {A1!i}; Else if (i < n) { Arrange the ith operation, obtain S Aiþ1 jA1!i ; If N ðS Aiþ1 jA1!i Þ ¼¼ 0 Return {U}; S = {U}; For ðj ¼ 0; j < N ðS Aiþ1 jA1!i Þ; j++) { A1!iþ1 ¼ A1!i  aS Aiþ1 jA1!i ;j ; S = S+ Line (A1!i+1, i + 1 L); } Return S; } }

4.1.4. Recursive computation Fig. 4 shows the sequence of recursive calls that compute S A1!n (n = 3), an example for allocating multipleskilled operators in Part C of Fig. 3 in Section 3. Root node: The numbers of cells in each column denote the numbers of needed operators for each operation which are 2, 1 and 2, respectively. The sets of multiple-skilled operators for each operation are {1,5,7}, {1,2,8} and {2,5,7,8}, respectively, which are listed under the corresponding columns. The process of recursive calls will form a tree structure, where nodes on a same layer are generated by the recursive combinatorial algorithm while layers are controlled by recursive allocation algorithm.

Fig. 4. Computation of recursive operator allocation algorithm.

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

597

Layer 1. The operator allocation for the first operation A1 is generated by using recursive combinatorial algorithm. A1!1 = A1. Three combinations for the first operation are achieved as {1, 7}, {1, 5} and {5, 7}. To be consistent with the expression on Fig. 3, the set of A1 is denoted as { Layer 2. Take the situation (A1 = {

,

,

}.

}) which is highlighted with the dotted lines for instance to illustrate the

recursive operator allocation procedure. As operators 1 and 5 are allocated for operation 1, then the set of multiple-skilled operators left to be allocated for operation 2 is {1,2,8}  {1,5} = {2,8}, to operation 3, it is {2,5,7,8}  {1,5} = {2,7,8}. According to A1!2jA1!1 = A2 Æ A1!1, generating A1!2 based onA1!1 should }, two allocations of A1!2jA1!1,

have A2 obtained. As the set of A2 only has two elements: { and,

are thus achieved.

Layer 3. A1!3jA1!2 = A3 Æ A1!2. If A1!2 =

, the set of multiple-skilled operators left for operation 3 is

{7, 8}. As the needed operator number is 2, there is only one possible combination for operation 3. A3 =

. It

is a base case. If A1!2 =

, the set of multiple-skilled operators left for operation 3 is {2, 7}. There is also only one

possible combination for operation 3, A3 =

. This is a base case as well. No recursion function will be called

further. Two allocations of A1!3 are finally obtained as: S A1!3 ¼ f

;

and

.

g

. 4.2. Recursive combinatorial algorithm A general algorithm for finding the set of all combinations of any m elements from a set S is proposed as follows. It is used in the above operator allocation algorithm to find the set of all possible combinations of needed multiple-skilled operators for a specific operation. Given as,i represents the ith element of set S, S is {as,1, as, 2+1,. . ., as,N(s)}, where, as,i can be any type of element, whatever single element or combination. N(S) is the total number of the elements in the set S. Si!N(s) represents the subset of S including the elements from as,i to as,N(s) continuously, that is: {as,i, as,i+1, . . ., as,N(s)}, as,i Æ as,j is the union operation of the element as,i with as,i. CSmS is the set of all combinations of any m elements from the set S. If given Si!N(s), then CSmSi!N ðsÞ , the set of combinations combined by any m elements from the set Si!N(s), can be obtained by mathematical Eq. (21). 4.2.1. Recursive definition 8 f/g N ðS i!n Þ < m or m ¼ 0 > > > > fa a . . . as;N ðsÞ g N ðS i!n Þ ¼ m > > 9 8 s;i s;iþ1 >  ; > a ; as;i aCSm1 ; . . . ; as;i a a m1 s;i CS > > > > S iþ1!N ðsÞ ;1 S iþ1!N ðsÞ ;2 m1 m1 > > > CS ;N CS > > S iþ1!NðsÞ S iþ1!NðsÞ > > >> > > <   > > > > a a ; a a ; . . . ; a a ; m1 m1 s;iþ1 CS s;iþ1 CS s;iþ1 ;1 ;2 > > m S iþ2!NðsÞ S iþ2!NðsÞ m1 m1 > CSS i!NðsÞ ¼ > CS ;N CS = < S iþ2!N ðsÞ S iþ2!N ðsÞ > ...; > N ðS i!n Þ > m > > > > > > > >...; > > > > > > > > > > > > ...; > > > > > > > > :> ; : as;N ðsÞm aCSm1 ;1 S N ðsÞmþ1!NðsÞ

ð21Þ

598

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

The Eq. (21) shows that when the total number of Si!N(s) is less than m, there is no possible combination. CSmSi!N ðsÞ ¼ fUg. When the total number equals m, there is only one combination, which is {as,ias,i+1 . . . as,N(s)}. Combination stops when these two base case situations happen. Finally when the total number is larger than m, the combination CSmSi!N ðsÞ can be derived by combining as,i with each combination in the set CSSm1 , respectively. iþ1!N ðsÞ CSmS can be obtained by letting i = 1 in CSmSi!NðsÞ : CSmS ¼ CSmS1!N ðsÞ

ð22Þ

4.2.2. Recursive function The algorithm to obtain CSmSi!N ðsÞ is expressed by the following code: To obtain CSmSi!NðsÞ using function of Combination Set (i,m, S); Combination Set (i,m, S) { N(Si!n) = N(S)  i + 1; if ((N(Si!n) < m)k(m = 0)) { return {/}; } else if (N(Si!n) = m) { return {as,i as,i+1 . . . as,N(s)}; } else { for (j = i;j < N(Si!n)  m + 1;j++) CSm1 S jþ1!n ¼ Combination Set ðj þ 1; m  1; SÞ; return 9 8  ; as;i aCSm1 > > ;1 ; as;i aCSm1 ;2 ; . . . ; as;i a m1 > > S S m1 iþ1!N ðsÞ iþ1!N ðsÞ > > CSS ;N CSS > > iþ1!NðsÞ iþ1!N ðsÞ > > > >   > > a ; a ; . . . ; a ; s;iþ1 aCSm1 s;iþ1 aCSm1 s;iþ1 a > > ;1 ;2 > > S iþ2!NðsÞ S iþ2!N ðsÞ m1 m1 = < CSS ;N CSS iþ2!N ðsÞ iþ2!N ðsÞ ...; > > > > > >...; > > > > > > . . . ; > > > > > > ; : as;N ðsÞm aCSm1 ;1 S N ðsÞmþ1!NðsÞ

; } }

4.2.3. Recursive computation Given an example set of S = {a1, a2, a3, a4, a5, a6}, one of its subsets form element 3 to n is S3!n = {a3, a4, a5, a6}, n = 6. Fig. 5 illustrates the procedure to find CS33!n using recursive combinatorial algorithm. Root node: CS33!n ¼ CS3fa3 ;a4 ;a5 ;a6 g Layer 1. To CS33!n , N(Si!n) = N(S3!6) = n  i + 1 = 6  3 +1 = 4, and m = 3, so N(Si!n) > m. According to Eq. (21) we have, CS33!n ¼ a3 CS24!n [ a4 CS25!n

ð23Þ

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

599

Fig. 5. Computation of recursive combinatorial algorithm.

To generate CS33!n is thus converted to generate CS24!n and CS25!n , where CS24!n ¼ CS2fa4 ;a5 ;a6 g and CS25!n ¼ CS2fa5 ;a6 g . Layer 2. To CS25!n , N(Si!n) = N(S5!6) = n  i + 1 = 6  5 + 1 = 2, and m = 2, so N(Si!n) = m. In terms of base case condition, CS2fa5 ;a6 g ¼ fa5 ; a6 g; While to CS24!n , as N(Si!n) = N(S4!6) = 6  4 + 1 = 3, m = 2, so N(Si!n) > m. Therefore, CS24!n is to be obtained by CS24!n ¼ a4 CS15!n [ a5 CS16!n : Layer 3. To thus

CS15!n ,

CS15!n

ð24Þ

N(Si!n) = 6  5 + 1 = 2, m = 1, so N(Si!n) > m,

¼ a5 CS06!n [ a6 CS0f/g :

ð25Þ

While to CS16!n , as N(Si!n) = 6  6 + 1 = 1 = m = 1, so CS16!n ¼ fa6 g. Layer 4. m = 0, so CS06!n ¼ f/g. CS0f/g is also equal to {/}. With the values of the end nodes obtained in the three, the set on its upper layer will be achieved. In the same way, all the other set on the upper layer will be achieved with the sets of its lower layer obtained. Repeat this process till the root node CS33!n is achieved. 5. Optimization In this section, the optimization method with the consideration of the variance of operator efficiency is presented to demonstrate how to find the optimal operator allocation among the results obtained by the above algorithms. A general line-balancing condition will be established first, and the line balance optimization method with regards of three indices will be proposed. The production line is balanced when the efficiency of each operation is equal. It can be expressed as: Eopt ½1 ¼ Eopt ½2 . . . ¼ Eopt ½i . . . ¼ Eopt ½N ðS opt Þ

ð26Þ

600

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Therefore; El ¼ Ebn ¼ Eopt ½i i ¼ ð1; 2; . . . ; N ðS opt ÞÞ:

ð27Þ

Both the standard deviation and the ith operation’s wasted efficiency are equal to zero. Stdopteff ¼ 0

ð28Þ

Ew ½i ¼ Eopt ½i  Ebn ¼ 0

ð29Þ

With the line-balancing definitions above, the line-balancing optimization method is developed as follows. Let us first analyze two of possible operator allocations shown in Tables 1 and 2. As operator efficiency is the foundation to evaluate the line-balance status, its prediction result, which is achieved based on the historical operator performance, is also shown in Tables 1 and 2. Operation efficiency and operation efficiency waste are calculated to compare the performance of two allocations. Figs. 6 and 7 show the differences of two allocations. It is clear that the production lines in both operator allocations are not balanced. The situation will be more complicated if there are more operators and operations associated with uncertainties caused by machine incidents and/or inaccurate prediction of operator efficiency. Sometimes, the allocation that generates an ideal line balance may not exist at all, given a set of operator efficiency data. Encountering such a problem, the solution to achieve optimal line balance is more reasonable and feasible and hence has greater significance in real application. Three optimal indices, namely, standard deviation of operation efficiency, minimum operation efficiency and total operation efficiency waste, are thus proposed to evaluate the goodness of a specific operator allocation. The values of the three indices in the above two allocations are shown in Table 3 for comparison. Allocation 2 is better than allocation 1 with respect to the following three aspects:

Table 1 Operator allocation 1 Operation

Operator

Operator efficiency

Operation efficiency

Operation efficiency waste

Opt1

Opr1 Opr4 Opr7

0.70 0.40 0.75

0.70 + 0.40 + 0.75 = 1.85

1.85  1.20 = 0.65

Opt2

Opr8

1.20

1.20(Ebn, Eln)

1.20  1.20 = 0.00

Opt3

Opr2 Opr3 Opr5 Opr6

0.25 0.50 0.50 0.40

0.25 + 0.5 + 0.5 + 0.4 = 1.65

1.65  1.20 = 0.45

Table 2 Operator allocation 2 Operation

Operator

Operator efficiency

Operation efficiency

Operation efficiency waste

Opt1

Opr1 Opr4 Opr5

0.70 0.40 0.65

0.70 + 0.40 + 0.65 = 1.74

1.74  1.35 = 0.39

Opt2

Opr2

1.40

1.40

1.40  1.35 = 0.05

Opt3

Opr3 Opr6 Opr7 Opr8

0.50 0.40 0.25 0.20

0.50 + 0.40 + 0.25 + 0.2 = 1.35 (Ebn, Eln)

1.35  1.35 = 0.00

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

601

Fig. 6. Three indices analysis for operator allocation 1.

Fig. 7. Three indices analysis for operator allocation 2.

(1) The variance of operator efficiency, Stdopteff, of allocation 2 is 0.22 which is smaller than that of allocation 1, 0.33. (2) As allocation 2’s minimum operation efficiency (or bottleneck efficiency, Ebn) is 1.35, which is higher than allocation 1’s 1.20, allocation 2 achieves a higher production line efficiency El. (3) The total efficiency waste, Ew, of allocation 2 (0.45) is lower than that of allocation 1 (1.10).

6. Results and discussion Five sets of production data collected from one apparel assembly line of a Hong Kong owned apparel manufacturing company located in Mainland China, denoted as Cases 1–5, are used to demonstrate the proposed method. Comparison between the impact of operator allocation adopted by the industry practice and the proposed assembly line-balancing optimization (ALBO) method on the performance of production line-balancing was conducted. The needed number of operators for each operation of the five cases is calculated according to the corresponding total operator number and SAM. The results are shown in Table 4.

Table 3 Performance comparison of the allocations 1 and 2 regarding to three optimal indices Allocations

Standard deviation of operation efficiency

Minimum operation efficiency

Total operation efficiency waste

Allocation 1 Allocation 2

0.34 0.22

1.20 1.35

1.10 0.44

602

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Table 5 provides the basic operator skill inventory information for each case. For instance, in Case 1, there are four operators who are able to do Operation 1, three operators are capable of performing Operation 2, and six for Operation 3. The predicted operator efficiency based on historical data collected by UPS for each operation is also listed on the same table. Running the proposed ALBO system for the five cases yields an optimal operator allocation for each case. They are shown in Tables 6–10. The corresponding allocation by industry practice is provided in each table for comparison. Taking Case 1 as an example, the optimal solution generated by ALBO is to assign Operators 1, 4 and 7 to Operation 1, to put Operator 2 to Operation 2, and to assign Operators 3, 5, 6 and 8 to Operation 3. While in industry, Operator 8 was assigned to Operation 2 but let Operator 2 to operate Operation 3. As operation efficiency is determined by the efficiency of the operators assigned to it, the difference of operation efficiency is thus caused by different operator assignment. For example, the efficiencies of Operations 2 and 3 in solution by ALBO are 1.40 and 1.60, respectively. They change to 1.20 and 1.65 in the assignment by industrial practice. The same argument applies to other cases. Table 11 summarizes the line-balancing performance of the ALBO system and the industry practice it terms of three line-balancing indices. The values of the three indices by ALBO in Case 1 are 0.23, 1.40 and 0.65. While those by the industry practice are 0.33, 1.20 and 1.10, respectively. Obviously the production line obtained by ALBO is more balanced than industry practice because its standard deviation of operation efficiency 0.23 is lower than industry’s 0.33. The bottleneck efficiency obtained from ALBO, 1.40, is higher than

Table 4 SAM and needed operator number for each operation Total operator number Case 1 8

Case 2 8

Case 3 12

Case 4 8

Case 5 20

Operation

SAM

Needed operator number

Opt1 Opt2 Opt3

1.20 0.60 1.80

3 1 4

Opt1 Opt2 Opt3

2.00 0.50 1.50

4 1 3

Opt 1 Opt 2 Opt 3

1.50 0.90 1.20

5 3 4

Opt Opt Opt Opt Opt

1 2 3 4 5

1.00 0.50 0.60 0.55 1.20

2 1 1 1 3

Opt Opt Opt Opt Opt Opt Opt Opt Opt Opt

1 2 3 4 5 6 7 8 9 10

1.20 0.40 0.45 0.80 1.20 0.75 0.40 0.80 0.50 1.60

3 1 1 2 3 2 1 2 1 4

Table 5 Skill inventory and predicted operator efficiency Case 1

Case 2

Case 3

Case 4

Case 5

Operator

Operator efficiency

Operation

Operator

Operator efficiency

Operation

Operator

Operator efficiency

Operation

Operator

Operator efficiency

Operation

Operator

Operator efficiency

Opt1 Opt1 Opt1 Opt1 Opt2 Opt2 Opt2 Opt3 Opt3 Opt3 Opt3 Opt3 Opt3

Opr1 Opr4 Opr5 Opr7 Opr1 Opr2 Opr8 Opr2 Opr3 Opr5 Opr6 Opr7 Opr8

0.70 0.40 0.65 0.75 1.30 1.40 1.20 0.25 0.50 0.50 0.40 0.25 0.20

Opt1 Opt1 Opt1 Opt1 Opt2 Opt2 Opt2 Opt3 Opt3 Opt3 Opt3 Opt3 Opt3

Opr1 Opr4 Opr5 Opr7 Opr1 Opr2 Opr8 Opr2 Opr3 Opt5 Opr6 Opr7 Opr8

0.50 0.40 0.65 0.35 1.65 1.40 1.45 0.40 0.50 0.50 0.40 0.60 0.55

Opt1 Opt1 Opt1 Opt1 Opt1 Opt1 Opt1 Opt2 Opt2 Opt2 Opt2 Opt3 Opt3 Opt3 Opt3 Opt3 Opt3

Opr1 Opr4 Opr5 Opr7 Opr9 Opr10 Opr12 Opr1 Opr2 Opr8 Opr11 Opr2 Opr3 Opr5 Opr6 Opr7 Opr8

0.70 0.60 0.65 0.80 0.60 0.55 0.70 1.30 1.35 1.20 1.25 0.80 1.00 0.85 0.70 1.10 0.90

Opt1 Opt1 Opt1 Opt1 Opt2 Opt2 Opt2 Opt3 Opt3 Opt4 Opt4 Opt4 Opt5 Opt5 Opt5 Opt5

Opr1 Opr4 Opr5 Opr7 Opr1 Opr2 Opr8 Opr2 Opr3 Opr5 Opr6 Opr7 Opr8 Opr5 Opr3 Opr2

0.70 0.50 0.90 0.75 1.45 1.40 1.60 1.40 1.35 1.35 1.50 1.45 0.70 0.60 0.70 0.50

Opt1 Opt1 Opt1 Opt1 Opt2 Opt2 Opt2 Opt3 Opt3 Opt4 Opt4 Opt4 Opt5 Opt5 Opt5 Opt5 Opt6 Opt6 Opt6 Opt7 Opt8 Opt8 Opt8 Opt9 Opt9 Opt10 Opt10 Opt10 Opt10 Opt10

Opr1 Opr4 Opr5 Opr7 Opr1 Opr2 Opr8 Opr2 Opr3 Opr5 Opr6 Opr11 Opr12 Opr13 Opr2 Opr14 Opr9 Opr10 Opr8 Opr4 Opr3 Opr20 Opr9 Opr15 Opr1 Opr16 Opr17 Opr18 Opr19 Opr20

0.50 0.40 0.65 0.55 1.30 1.45 1.50 1.25 1.50 0.70 0.75 0.65 0.50 0.55 0.45 0.60 0.70 0.75 0.65 1.50 0.70 0.75 0.68 1.50 1.45 0.40 0.50 0.45 0.55 0.40

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Operation

603

604

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Table 6 Comparison of the operator allocation results of Case 1 Optimal operator allocation generated by ALBO

Operator allocation based on industry practice

Operation

Operator

Operator efficiency

Operation efficiency

Operation

Operator

Operator efficiency

Operation efficiency

Opt1

Opr1 Opr4 Opr7

0.70 0.40 0.75

1.85

Opt1

Opr1 Opr4 Opr7

0.70 0.40 0.75

1.85

Opt2

Opr2

1.40

1.40

Opt2

Opr8

1.20

1.20

Opt3

Opr3 Opr5 Opr6 Opr8

0.50 0.50 0.40 0.20

1.60

Opt3

Opr2 Opr3 Opr5 Opr6

0.25 0.50 0.50 0.40

1.65

Table 7 Comparison of the operator allocation results of Case 2 Optimal operator allocation generated by ALBO

Operator allocation based on industry practice

Operation

Operator

Operator efficiency

Operation efficiency

Operation

Operator

Operator efficiency

Operation efficiency

Opt1

Opr1 Opr5 Opr7 Opr4

0.50 0.65 0.35 0.40

1.90

Opt1

Opr1 Opr5 Opr7 Opr4

0.50 0.65 0.35 0.40

1.90

Opt2

Opr2

1.40

1.40

Opt2

Opr8

1.45

1.45

Opt3

Opr8 Opr6 Opr3

0.55 0.40 0.50

1.45

Opt3

Opr2 Opr6 Opr3

0.40 0.40 0.50

1.30

Table 8 Comparison of the operator allocation results of Case 3 Optimal operator allocation generated by ALBO

Operator allocation based on industry practice

Operation

Operator

Operator efficiency

Operation efficiency

Operation

Operator

Operator efficiency

Operation efficiency

Opt1

Opr7 Opr10 Opr9 Opr4 Opr12

0.80 0.55 0.60 0.60 0.70

3.25

Opt1

Opr1 Opr10 Opr9 Opr4 Opr12

0.70 0.55 0.60 0.60 0.70

3.15

Opt2

Opr1 Opr8 Opr11

1.30 1.20 1.25

3.75

Opt2

Opr2 Opr8 Opr11

1.35 1.20 1.25

3.80

Opt3

Opr2 Opr5 Opr6 Opr3

0.80 0.85 0.70 1.0

3.35

Opt3

Opr5 Opr7 Opr6 Opr3

0.85 1.10 0.70 1.0

3.65

that 1.20 from industry practice. Hence, the former has the higher production line efficiency than the latter. Furthermore, the solution by ALBO generates an operation efficiency waste of 0.65, which is less than that of 1.10 by industrial practice. The result of this comparison verifies that the ALBO generates a better allocation than industry practice. Similar conclusions are obtained from experiments on the other cases.

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

605

Table 9 Comparison of the operator allocation results of Case 4 Optimal operator allocation generated by ALBO

Operator allocation based on industry practice

Operation

Operator

Operator efficiency

Operation efficiency

Operation

Operator

Operator efficiency

Operation efficiency

Opt1

Opr5 Opr4

0.90 0.50

1.40

Opt1

Opr7 Opr4

0.75 0.50

1.25

Opt2

Opr1

1.45

1.45

Opt2

Opr1

1.45

1.45

Opt3

Opr2

1.40

1.40

Opt3

Opr2

1.40

1.40

Opt4

Opr6

1.50

1.50

Opt4

Opr6

1.50

1.50

Opt5

Opr2 Opr3 Opr8

0.50 0.70 0.70

1.90

Opt5

Opr3 Opr5 Opr8

0.70 0.60 0.70

2.0

Table 10 Comparison of the operator allocation results of Case 5 Optimal operator allocation generated by ALBO

Operator allocation based on industry practice

Operation

Operator

Operator efficiency

Operation efficiency

Operation

Operator

Operator efficiency

Operation efficiency

Opt1

Opr1 Opr5 Opr7

0.50 0.65 0.55

1.70

Opt1

Opr1 Opr5 Opr7

0.50 0.65 0.55

1.70

Opt2

Opr2

1.45

1.45

Opt2

Opr2

1.45

1.45

Opt3

Opr3

1.50

1.50

Opt3

Opr3

1.50

1.50

Opt4

Opr11 Opr6

0.65 0.75

1.40

Opt4

Opr11 Opr6

0.65 0.75

1.40

Opt5

Opr12 Opr13 Opr14

0.50 0.55 0.60

1.65

Opt5

Opr12 Opr13 Opr14

0.50 0.55 0.60

1.65

Opt6

Opr8 Opr10

0.65 0.75

1.40

Opt6

Opr8 Opr10

0.65 0.75

1.40

Opt7

Opr4

1.50

1.50

Opt7

Opr4

1.50

1.50

Opt8

Opr9 Opr20

0.68 0.75

1.43

Opt8

Opr20 Opr9

0.75 0.68

1.43

Opt9

Opr15

1.50

1.50

Opt9

Opr15

1.50

1.50

Opt10

Opr16 Opr18 Opr17 Opr19

0.40 0.45 0.50 0.55

1.90

Opt10

Opr16 Opr18 Opr17 Opr19

0.40 0.45 0.50 0.55

1.90

The proposed ALBO solution outperforming industry practice is not difficult to understand if we notice that the decision made for balancing control in industry highly depends on experts’ experience and knowledge. It tends to be unscientific and not optimal (Eom, Lee, Kim, & Somarajan, 1998). The expert is used to balance line during real production. He/she seldom pays much attention on getting an optimal allocation. Even if he/ she attempts to do so, he/she will face difficulties when there are too many allocation solutions due to the large scale of operators, operations and big skill inventory. Normally he/she just adopts a feasible allocation first and adjusts it later for balancing.

606

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Table 11 Performance comparison of the operator allocations by ALBO and industry practice regarding to three optimal indices Case

Method used for operator allocation

Standard deviation of operation efficiency

Minimum operation efficiency

Total operation efficiency waste

1

ALBO Industry practice

0.23 0.33

1.40 1.20

0.65 1.10

2

ALBO Industry practice

0.28 0.31

1.40 1.30

0.55 0.75

3

ALBO Industry practice

0.26 0.34

3.25 3.15

0.60 1.15

4

ALBO Industry practice

0.21 0.28

1.40 1.25

0.65 1.35

5

ALBO Industry practice

0.16 0.165

1.40 1.40

1.43 1.28

7. Conclusions This paper proposed an optimal operator allocation solution for solving assembly line-balancing optimization (ALBO) problems with the consideration of the operator efficiency variance. All feasible operator allocations are generated first with the use of the recursive operator allocation algorithm and recursive combination algorithm. Three indices are proposed to measure and evaluate the impact of operator allocations on line-balancing in order to find out the optimal solution having the lowest operation efficiency variance, the highest line efficiency and the least total operation efficiency waste. Experiments were conducted to validate the performance of the proposed optimization method. The results demonstrate that the proposed system outperforms the industry practice in three aspects. Another contribution of this study is that the recursive algorithms developed can eliminate the drawbacks of the existing algorithms so as to improve the flexibility of the application on different sizes of operator allocation problems, and especially to enhance the efficiency of searching for the optimal solution for large scale data set. It should be noticed that this paper only discussed the determination of a feasible operator allocation under the assumption that the combinatorial condition in Eq. (19) is satisfied. Two other situations, N S opr ½i < N S nopr ½i and N S nopr ½i < N S sopr ½i , are not considered here. The adjustment approach will be discussed in future work. Acknowledgement The work described in this paper was fully supported by a grant from the Research Grant Council of the Hong Kong Special Administrative Region, China (Project No. Polyu 5288/03E). References Anderson, E. J., & Ferris, M. C. (1994). Genetic algorithms for combinatorial optimization: the assembly line balancing problem. ORSA Journal on Computing, 6(2), 161–173. Baybars, I. (1986). A survey of exact algorithms for the simple assembly line balancing problem. Management Science, 32(8), 909–932. Becker, C., & Scholl, A. (2006). A survey on problems and methods in generalized assembly line balancing. European Journal of Operation Research, 168, 694–715. Bhattacharjee, T. K., & Sahu, S. (1987). A critique of some current assembly line balancing techniques. International Journal of Operations and Production Management, 7(6), 32–43. Bryton, B. (1954). Balancing of a Continuous Production Line. Unpublished M.S. thesis, Northwestern University. Buxey, G. M., Slack, N. D., & Wild, R. (1973). Production flow line system design – a review. AIIE Transactions, 5, 37–48. Chakravarty, A. K., & Shtub, A. (1985). Balancing mixed model lines with in-process inventories. Management Science, 31(9), 1161–1174. Derigs, U. (1985). Using confidence limits for the global optimum in combinatorial optimization. Operations Research, 33(5), 1024–1049. Du, D. Z. (1999). Combinatorial optimization. SIAM Review, 41(3), 612–613.

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

607

Eom, S. M., Lee, S. M., Kim, E. B., & Somarajan, C. (1998). A survey of decision support system applications (1988–1994). The Journal of the Operational Research Society, 49(2), 109–120. Erel, E., & Sarin, S. C. (1998). A survey of the assembly line balancing procedures. Production Planning and Control, 9(5), 414–434. Erel, E., Sabuncuoglu, I., & Sekerci, H. (2005). Stochastic assembly line balancing using beam search. International Journal of Production Research, 43, 1411–1426. Ghosh, S., & 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(4), 637–670. Glover, F., & Markland, R. E. (1990). Commentary discussant’s comments: ‘Artificial intelligence, heuristic frameworks and Tabu search’ by Fred Glover. Managerial and Decision Economics, 11(5), 377–378. Gupta, J. N. D. (1975). Analysis of a combinatorial approach to flowshop scheduling problems. Operational Research Quarterly, 26(2), 431–440, Part 2. Hoffmann, T. R. (1992). Eureka: a hybrid system for assembly line balancing. Management Science, 38(1), 39–47. Hua, Zhongsheng, & Banerjee, Prashant (2000). Aggregate line capacity design for PWB assembly systems. International Journal of Production Research, 38(11), 2417–2441. Jin, M., & Wu, S. D. (2003). A new heuristic method for mixed model assembly line balancing problem. Computers & Industrial Engineering, 44, 159–169. Kannan, V. R., & Jensen, J. B. (2004). Learning and labor assignment in a dual resource constrained cellular shop. International Journal of Production Research, 42(7), 1455–1470. Lee, S. G., Khoo, L. P., & Yin, X. F. (2000). Optimizing an assembly line through simulation augmented by genetic algorithms. The International Journal of Advanced Manufacturing Technology, 16, 220–228. Lee, T. O., Kim, Y., & Kim, Y. K. (2001). Two-sided assembly line balancing to maximize work relatedness and slackness. Computers & Industrial Engineering, 40, 273–292. Liu, S. B., Ong, H. L., & Huang, H. C. (2005). A bidirectional heuristic for stochastic assembly line balancing type II problem. International Journal of Advanced Manufacturing Technology, 25, 71–77. McMullen, P. R., & Frazier, GV. (1998). Using simulated annealing to solve a multi objective assembly line balancing problem with parallel workstations. International Journal of Production Research, 36, 2717–2741. McMullen, P. R., & Tarasewich, P. (2003). Using ant techniques to solve the assembly line balancing problem. IIE Transactions, 35, 605–617. Mendes, A. R., Ramos, A. L., Simaria, A. S., & Vilarinho, P. M. (2005). Combining heuristic procedures and simulation models for balancing a PC camera assembly line. Computers & Industrial Engineering, 49, 413–431. Mills, E. S., & McClain, H. G. (1961). A study of optimum assembly runs. Operations Research, 9(1), 30–38. Moodie, C. L., & Young, H. H. (1965). A heuristic method of assembly line balancing for assumptions of constant or variable work element times. Journal of Industrial Engineering, 16(1), 23–29. Mosier, C. T., & Mahmood, F. (2002). Work sequencing in a manufacturing cell with limited labour constraints. International Journal of Production Research, 40(12), 2883–2899. Pinto, P. A., Dannenbring, D. G., & Khumawala, B. M. (1983). Assembly line balancing with processing alternatives: an application. Management Science, 29(7), 817–830. Ponnambalam, S. G., Aravindan, P., & Naidu, G. M. (1999). A comparative evaluation of assembly line balancing heuristics. The International Journal of Advanced Manufacturing Technology, 15, 577–586. Ponnambalam, S. G., Aravindan, P., & Naidu, G. M. (2000). A multi-objective genetic algorithm for solving assembly line balancing problem. The International Journal of Advanced Manufacturing Technology, 16, 341–352. Quintana, R., Lambert, B. K., & Roderick, L. (1997). Adaptive pull-type production control using Kalman Filters. International Journal of Production Research, 35(10), 2689–2699. Russell, R. S., Huang, P. Y., & Leu, Y. Y. (1991). A study of labor allocation strategies in cellular manufacturing. Decision Sciences, 22(3), 594. Salcedo-Sanz, S., & Bouson˜o-Calzo´n, C. (2005). A portable and scalable algorithm for a class of constrained combinatorial optimization problems. Computers & Operations Research, 32(10), 2671–2687. Salveson, M. E. (1955). The assembly line balancing problem. Journal of Industrial Engineering, 6(3), 18–25. Sarin, S. C., Erel, E., & Dar-El, E. M. (1997). A methodology for solving single-model, stochastic assembly line balancing problem. Working paper. Sharadapriyadarshini, B., & Rajendran, C. (1996). Formulations and heuristics for scheduling in a buffer-constrained flowshop and flowline-based manufacturing cell with different buffer-space requirements for jobs: part 1. International Journal of Production Research, 34(12), 3465–3485. Shen, J., Xu, F., & Zheng, P. (2005). A tabu search algorithm for the routing and capacity assignment problem in computer networks. Computers & Operations Research, 32(11), 2785–2800. Shin, D. (1990). An efficient heuristic for solving stochastic assembly line balancing problems. Computers & Industrial Engineering, 18, 285–295. Silverman, F. N., & Carter, J. C. (1986). A cost-based methodology for stochastic line balancing with intermittent line stoppages. Management Science, 32, 455–463. Simaria, A. S., & Vilarinho, P. M. (2001). The simple assembly line balancing problem with parallel workstations – a simulated annealing approach. International Journal of Industrial Engineering – Theory Application and Practice, 8, 230–240. Smith, K. A. (1999). Neural networks for combinatorial optimization: a review of more than a decade of research. INFORMS Journal on Computing, 11(1), 15–34.

608

B.L. Song et al. / Computers & Industrial Engineering 51 (2006) 585–608

Suresh, G., & Sahu, S. (1994). Stochastic assembly line balancing using simulated annealing. International Journal of Production Research, 32, 1801–1810. Suresh, G., Vinod, V. V., & Sahu, S. (1996). A genetic algorithm for assembly line balancing. Production Planning & Control, 7, 38–46. Tiwari, M. K., Prakash, K. A., & Mileham, A. R. (2005). Determination of an optimal assembly sequence using the psychoclonal algorithm. Proceedings of the I MECH E Part B Journal of Engineering Manufacture, Number B1(13), 137–149. Vilarinho, P. M., & Simaria, A. S. (2002). A two-stage heuristic method for balancing mixed-model assembly lines with parallel workstations. International Journal of Production Research, 40, 1405–1420. Wan, Y. F., & Ji, P. (2001). A tabu search heuristic for the component assignment problem in PCB assembly. Assembly Automation, 21(3), 236–240. Wong, W. K., Kwong, C. K., Mok, P. Y., Ip, W. H., & Chan, C. K. (2004). Optimization of manual fabric-cutting process in apparel manufacture using genetic algorithms. International Journal of Advanced Manufacturing Technology, 1–7. doi:10.1007/s00170-0042161-0. Wong, W. K., Leung, S. Y. S., & Mok, P. Y. (2005). Development of a genetic optimization approach for balancing an apparel assembly line. International Journal of Advanced Manufacturing Technology, 1–8. doi:10.1007/s00170-004-2350-x.