Computers & Industrial Engineering 50 (2006) 488–502 www.elsevier.com/locate/dsw
Analysis and design of self-balancing production line Daisuke Hirotani, Myreshka, Katsumi Morikawa, Katsuhiko Takahashi
*
Department of Artificial Complex Systems Engineering, Graduate School of Engineering, Hiroshima University, 1-4-1, Kagamiyama, Higashi-Hiroshima, Japan Available online 4 August 2006
Abstract In a ‘‘self-balancing production line’’, each worker is assigned work dynamically. In previous research, maximum production rates can be achieved if the workers are arranged in sequence from slowest to fastest [Bartholdi, J. J., & Eisenstein, D. D. (1996). A production line that balances itself, Operations Research, 44(1), 21–34]. However, the conditions are extremely limited, and it is necessary to conduct further research with three or more workers to find the maximum production rate. In this paper, we examine other less restrictive conditions that can achieve the same self-balancing effect, and furthermore, characteristics of this line are analyzed by deriving the imbalance condition and analyzing the influence of initial position. In addition, a method for designing a self-balancing line based on our results is proposed. Ó 2006 Elsevier Ltd. All rights reserved. Keywords: Self-balancing; Blocking; Production line
1. Introduction In a traditional assembly line, each worker is usually assigned to a particular task, with the most demanding task determining the production rate. In this type of line, assigning a worker to balance the line was studied by Scholl (1995). However, his system proved to be inflexible. In this kind of line, when an imbalance between the workers’ speed exists, the slowest worker slows down the entire line. As a result, the production rate for that particular line will also decrease. To solve this problem, the ‘‘self-balancing production line’’ was introduced. This method has been used in at least two commercial environments: apparel manufacturing and distribution warehousing (Bartholdi & Bunimovich, 1999). In this type of production line, each worker is assigned work dynamically. When the last worker completes an item, he/she walks back and takes over the next item from his/her predecessor, who relinquishes it, walks back, takes over the next item of his/her predecessor, and so on until the first worker walks back and starts a new item. Since a faster worker is assigned more time to process an item, and a slower worker is assigned less, they balance each other. In this line, maximum production rates are achieved if the workers are sequenced from slowest to fastest (Bartholdi & Eisenstein, 1996). Also, other conditions were found numerically, by simulation, for three workers (Bartholdi & Bunimovich, 1999). *
Corresponding author. Tel.: +81 82 424 7705; fax: +81 82 422 7024. E-mail address:
[email protected] (K. Takahashi).
0360-8352/$ - see front matter Ó 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2005.06.008
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
489
However, the conditions are extremely limited, and it is necessary to conduct further research with three or more workers to find the maximum production rate. It is because it can be not sequenced from slowest to fastest when any worker must be assigned to particular work, or manager wants to assign the work to particular worker. In this paper, we present and analyze other conditions that can achieve the same self-balancing effect, and furthermore, characteristics of this line are analyzed by deriving the imbalance condition and analyzing the influence of initial position. In addition, a method for designing a self-balancing line based on our results is proposed. This paper is organized as follows: In Section 2, we examine the underlying assumptions and characteristics of this production line, to derive behavior and then formulate this model. In Section 3, we analyze this line. In Section 4, we show the design of this line, and, in Section 5, we present our conclusions. 2. The production line In this section, we will explain the underlying assumptions, and show an example of workers’ behavior. 2.1. Assumptions We assume a production line with the following assumptions. 1. The production line produces one kind of item. Each item is produced by n workers on the production line. 2. Each worker processes only one identical item, in sequence, while on the line. Workers are arranged in sequence from one to n like a flow shop production line, where worker i processes at a constant velocity. In other word, each worker processes while walking with constant velocity vi. Workers cannot pass the down-stream worker. This assumption is different from Bartholdi and Eisenstein (1996). We consider the line that the worker processes along the line. This assumption is applied to fast-food industry in reality for example (On the Bartholdi’s web page: http://www.isye.gatech.edu/people/faculty/John_Bartholdi/ bucket-brigades.html). In this case, if there are fewer workers, the item makes with moving towards the cashier. However, the result is almost the same as Bartholdi and Eisenstein (1996), and Bartholdi and Bunimovich (1999). 3. Once the last worker finishes processing an item, at the same instant, worker n walks back to worker n 1 and takes over. Then, worker n 1 walks back to worker n 2 and takes over from worker n 2. Similarly, all the workers walk back to the worker immediately preceding them to take over the next item while worker 1 introduces a new item into the system. The time required to walk back and take over is ignored. 4. The position of worker i when he/she starts the process is given by xi (Fig. 1). It is defined in iteration t as ðtÞ ðtÞ xi , and the position of worker i when he/she finishes the task is given by xi;e . 2.2. Blocking When workers are not sequenced from slowest to fastest, the slower worker may slow the process by preventing faster workers to continue. This phenomenon is called blocking. After a blocking occurs, the faster worker processes the item moving at the same velocity as the slower worker, until the last worker finishes the item. Under these conditions, the position of the workers will not converge to a fixed point, and conse-
v1 x1
v2
x2
vn
xn 1
Fig. 1. Production line and position of n workers.
490
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
quently, the production rate decreases. It is noted that if all the workers have to process with the slowest worker’s velocity, this is also called blocking although positions of all workers converge to a fixed point (i.e., xi = 0 for all worker i). For example, there are only two workers and the faster one is after slower one. Two kinds of blocking exist: one is the blocking caused by a worker’s initial position; and, another is the blocking caused by a worker’s velocity. The former means that even if the convergence condition is satisfied, blocking occurs with the worker’s initial position. The latter means that blocking frequently occurs because of imbalance of worker’s velocity. Section 3.1 analyses blocking phenomena. 2.3. Self-balancing and convergence It has been proven that when workers are sequenced from slowest to fastest, they will maintain the balance (Bartholdi & Eisenstein, 1996) and the position of workers will converge to a unique fixed point (Bokkobas, 1990). The convergence point of worker i, defined as xi , is shown as the ratio of the worker’s velocity, as follows: i1 P
xi ¼ k¼1 n P
vk : vk
k¼1
Under these conditions, the production rate can be calculated as the sum of each worker’s velocity vi (i = 1, 2, . . ., n) as follows (Bartholdi & Eisenstein, 1996): n X vi : i¼1
Other self-balancing conditions are not mentioned in their work, and they describe the conditions for three workers. However, the conditions were only shown numerically, by simulation (Bartholdi & Bunimovich, 1999). Section 3.2 describes the self-balancing conditions, including the slowest to fastest sequence. 2.4. Behavior and formulation of the model Fig. 2 shows the time chart for three workers. In Fig. 2, the horizontal axis represents the worker’s position and the vertical axis represents time. The zero at the horizontal axis denotes the head of the line and the one denotes the end. Since each worker works by changing his/her position in a down-stream direction, the diagonal lines can represent the worker that is working, according to his/her velocity. Also, since the time to walk back and take over is ignored, a straight line represents the worker who is walking back and taking over. When worker 3 finishes an item in position one, he/she walks back to worker 2 and takes over the next item,
1.4 1.2
cycle time
time
1 0.8 0.6 0.4 (1) 0.2 x 1
x 2(1)
worker2 x 3(1)
worker3
worker1
0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
position x Fig. 2. Example of a time chart for three workers (h: blocking).
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
491
as shown in Fig. 2. At the same instant, worker 2 walks back to worker 1 and takes over the next item. Then, worker 1 walks back and the position reaches zero, and he/she starts to process a new item. Using the position of worker i at iteration t and worker i’s velocity when no blocking occurs, the position of the worker at the next iteration can be shown as follows (Bartholdi & Eisenstein, 1996): 8 < xðtþ1Þ ¼0 1 ðtÞ ð1Þ ðtþ1Þ ðtÞ n : xi ¼ xi1 þ vi1 1x ði ¼ 2; 3; . . . ; nÞ: vn These equations mean that the other workers process only the time for the last worker’s work. If blocking occurs between workers i and i 1, the positions where the workers start to process at the next iteration will depend on whether the person who caused the blocking is the last worker or not. If the worker who caused the blocking is worker i (except in the case where i is the last worker), the position of worker i and i 1 are the same when he/she finishes processing in this iteration (Fig. 3(a)). Then, worker i 1 goes back to worker i 2, and starts to process from that position. Worker i starts to process from the same position, without going back, because worker i 1 remains in the same position (Fig. 3(b)). On the other hand, when the worker who caused the blocking is the last worker, worker n and n 1 will be at position 1 when they finish processing at this iteration (Fig. 4(a)). In this case, the processing of two items is finished at the same time. Therefore, worker n goes back to worker n 2’s position, and worker n 1 goes back to worker n 3’s position. Similarly, each worker goes back to the position of two more preceding workers even if three or more workers are at the same position. In this case, if two more preceding workers is the same position, the worker
i-1 i
i-2
i+1
a
i-1
i i+1
i+2
b Fig. 3. Workers’ position after processing, when blocking occurs except for the last worker (a), and the next position at start processing point (b).
1
n-2 n-1 n
a
1
2
3
n
b
Fig. 4. Workers’ position after processing, when blocking occurs with the last worker (a), and the next position at start processing point (b).
492
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
doesn’t walk back and start to process at the same position. At the same time, worker 1 and worker 2 start to process new items from the same position (Fig. 4(b)). Therefore, if the blocking occurs, the start position of the worker is changed. It is noted that if no blocking occurs, the position where worker i finishes the process at iteration t and ðtÞ ðtþ1Þ worker i + 1 starts to process at iteration t + 1 are the same. In other words, xi;e ¼ xiþ1 . After the workers’ positions have been determined, the iteration time can be derived by calculating the time ðtÞ spent in one iteration. When there is no blocking, the iteration time ai of worker i, at iteration t, is as follows: ðtÞ
ðtÞ ai
ðtÞ
xi;e xi ¼ vi
ði ¼ 1; 2; . . . ; nÞ:
ð2Þ
By using the derived iteration time, the steady-state of iteration time defined as ai is derived. From this, the production rate can be calculated as the reciprocal of the iteration time, as follows: minf1=ai gði ¼ 1; 2; . . . ; nÞ:
ð3Þ
i
In the square area shown in Fig. 2, blocking is caused by workers 1 and 2. After the blocking, worker 1 processes at the same velocity as the slower worker 2, until worker 3 finishes an item. Then, worker 2 starts to process without changing position. Therefore, the iteration time increases because of worker 2, and the production rate decreases. If blocking does not occur, self-balancing and the convergence of each worker’s position occurs, and production achieves the maximum production rate. Next, we analyze the conditions for selfbalancing and convergence. 3. Analysis In this section, blocking and convergence are analyzed. In addition, we will show some special cases. 3.1. Blocking Blocking occurs only when the preceding worker is faster than the following worker. When the workers’ positions at iteration t are given, the workers’ positions at the next iteration can be derived. Based on the positions, the blocking caused by the velocity between workers i 1 and i at iteration t + 1 can be evaluated, and the conditions are shown as follows: 1 xðtÞ n ðtÞ xi
ðtÞ xi1
>
vn : vi1 vi
ð4Þ
Proof 1. Based on the definition of blocking, the blocking condition can easily be derived from the position of ðtÞ the worker when he/she finishes processing, defined as xi;e , as follows: ðiÞ if i < n and vi1 > vi ðiiÞ if vn1 > vn
ðtÞ
ðtÞ
xi1;e > xi;e ðtÞ
xn1;e > 1
This can be proven as follows: ðtÞ ðtÞ Assume that worker i* is the slower worker and causes the blocking. If i* 5 n and xi 1;e > xi ;e at iteration t, when he/she finishes the item, the position of worker i* 1 will be in front of worker i*. However, worker i* 1 cannot pass worker i* because of assumption 2, shown in Section 2.1. Therefore, blocking occurs. If i* = n and ðtÞ xn1;e > 1 at iteration t, worker n 1 will arrive at position 1 faster than the last worker. However, based on assumption 1, shown in Section 2.1, worker n 1 cannot pass the down-stream worker n. Thus, worker n causes the blocking at iteration t. Using the above conditions, the blocking condition can be derived by substituting Eq. (1).
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
493
1 xðtÞ 1 xðtÞ ðtÞ n n þ vi1 > xi þ vi vn vn 1 xðtÞ ðtÞ ðtÞ n ðvi1 vi Þ > xi xi1 vn
ðtÞ xi1
1 xðtÞ n ðtÞ xi
ðtÞ xi1
>
vn : vi1 vi
In relation to condition (ii), if substituting i = n in the above formula, the blocking condition can be derived. h
worker 3's position
Satisfying Eq. (4) is effected by the velocities and initial positions of two consecutive workers. In order to analyze the influence of the initial positions, we must investigate the first blocking caused during the worker’s original position. Several iterations are required to find the initial position where no blockings have occurred. For production lines with three workers, Figs. 5 and 6 show the initial positions where the first blocking occurred. In these figures, the hatched area shows the area where no blockings have occurred, and the clear area shows the area where blocking has occurred once or more. In Fig. 5, a blocking occurred between workers 1 and 2 because of the worker’s velocity (v1 = 2,v2 = 1,v3 = 3). Similarly, in Fig. 6, a blocking only occurred between workers 2 and 3 (v1 = 2,v2 = 4,v3 = 3). Areas (a), (b), (c) in Figs. 5 and 6 illustrate the initial positions where the first blockings occurred at iteration one, two, and three, respectively. The boundary conditions for areas (a), (b), (c) are shown as follows: In Fig. 5: ð0Þ ð0Þ ð0Þ ð0Þ ð0Þ ð0Þ Area (a): x3 < 3x2 þ 1, Area (b): x3 > 37 x2 þ 47, Area (c): x3 < 21x2 11 In Fig. 6: ð0Þ ð0Þ ð0Þ ð0Þ ð0Þ ð0Þ Area (a): x3 < 34 x2 þ 14, Area (b): x3 > 65 x2 þ 107 , Area (c): x3 > 158 x2 165 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
b c a no blocking area convergence point
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
worker 2's position
worker 3's position
Fig. 5. Area of the first blocking caused by workers 1 and 2.
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
b
c
no blocking area convergence point
a
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
worker 2's position Fig. 6. Area of the first blocking caused by workers 2 and 3.
494
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
To explain the process necessary to derive the boundary conditions, area (a) in Fig. 5 is used as an example. The positions of worker 1 and 2, when he/she finishes processing at iteration 1 are shown as follows: ! ð0Þ 1 x3 ð1Þ x1;e ¼ v1 v3 ! ð0Þ 1 x3 ð1Þ ð0Þ x2;e ¼ x2 þ v2 v3 ðtÞ
ðtÞ
x1;e > x2;e is the condition of blocking under the above conditions. Therefore, ð0Þ
v1
1 x3 v3
!
ð0Þ
ð0Þ >x2 ð0Þ
x3 <
1 x3 v3
þ v2
!
v3 ð0Þ x þ 1: v1 v2 2
Substituting the numerical values for velocity (v1 = 2, v2 = 1,v3 = 3), the boundary conditions shown above can be derived. The boundary conditions of other areas can also be calculated. The boundary conditions in both figures at iteration four are calculated and shown as follows: ð0Þ ð0Þ ð0Þ ð0Þ Fig. 5: x3 < 413 x2 þ 418 , Fig. 6: x3 > 12x2 þ 194 These results show that the boundary condition derived from iteration 4 did not restrict the previous area, and is shown as follows: ð0Þ ð0Þ ð0Þ ð0Þ ð0Þ ð0Þ Fig. 5: x3 < 413 x2 þ 418 < 3x2 þ 1, Fig. 6: x3 > 12x2 þ 194 > 65 x2 þ 107 Also, the boundary conditions from iterations of more than four did not restrict the previous area. Therefore, blocking occurred only until iteration three, for the three workers. Similar investigations were also conducted for four workers, resulting in four iterations. Thus, it can be concluded that for n workers, n iterations are required to evaluate whether blocking occurs or not. This can be proven as follows: Proof 2. Eq. (1) is rewritten at iteration n + 1 by sum of workload for each worker as follows: 8 ðtÞ > x1 ¼ 0 > > > > i1 > < xðtÞ ¼ P 1xðtiþjÞ n vj i vn j¼1 > > > i1 ðtiþjÞ > P ðtÞ ð0Þ > 1xn > vj : xi ¼ xit þ j ¼ it
vn
ði 6 t þ 1;
i ¼ 2; 3; . . .Þ
ði > t þ 1;
i ¼ 2; 3; . . .Þ:
Using above equations and the proof described in Section 3.1, differences from the blocking condition is calculated as follows: ðnþ1Þ xi1;e
ðnþ1Þ xi;e
i1 X 1 xðnþ1iþjÞ
i X 1 xðniþjÞ n ¼ vj vj vn vn j¼1 j¼1 i1 X 1 xnðniþjþ1Þ 1 xnðniþ1Þ ¼ ðvj vjþ1 Þ v1 : vn vn j¼1 n
If the above formula is negative, blocking condition is not satisfied. Necessary condition for blocking is vi1 < vi between worker i and i 1. However, this is not shown in above formula. Moreover, blocking should not be occurs in any workers. Therefore, above formula is negative, and blocking never occurs. h
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
495
3.2. Self-balancing and convergence For n workers, conditions where the positions of workers converge to a fixed point are derived from two independent aspects, i.e., the velocity and the initial positions. First, the convergence point is defined as x ¼ ðx1 ; x2 ; . . . ; xn Þ, where x1 ¼ 0. The relations to the convergence point are as follows: 1 xn xi ¼ xi1 þ vi1 : vn The convergence point can be derived by substituting Eq. (2). 0 1 i2 nP 1 i2 P P v v vk k kC B 1 xn vi1 B vi1 vn C k¼1 k¼1 k¼1 right hand side ¼ xi1 þ vi1 þ þ ¼P B1 P C¼P n n n n A vn vn @ vn P vk vk vk vk k¼1 i1 P
¼
k¼1 n P
k¼1
k¼1
k¼1
vk ¼ xi ¼ left hand side vk
k¼1 ðtÞ
Also, when an error by worker i at iteration t from a convergence point defined as ei , then, using these notations, we can consider how the error changes. For convergence to a fixed point, this error should decrease for all workers, as the number of iterations increases. At first, worker 1 always starts the process at position 0. Based on the position of worker 1, the position of worker 2 is considered, and Eq. (1) is substituted by assuming the position at iteration t as ðtÞ ðtÞ xi ¼ xi þ ei . Then, the position of worker 2 can be shown as follows: 1 xðtÞ 1 ðxn þ eðtÞ 1 xn v1 v1 ðtÞ ðtþ1Þ n n Þ ¼ v1 e : x2 ¼ v1 ¼ v1 eðtÞ n ¼ x2 vn vn vn vn vn n The first term in the above equation is the convergence point of worker 2, and the second term is the error from the convergence point, based on the last worker in iteration t. From this result, worker 2’s error can ðtÞ be expressed with worker n’s error. Using this, the term of e2 can be derived as follows: v1 ðtÞ e2 ¼ eðtÞ : vn n ðtÞ
Then, the derived error e2 , based on the last worker in iteration t, is used to calculate worker 3’s error by substituting worker 2’s error into Eq. (1) as follows: 1 xðtÞ 1 ðxn þ eðtÞ 1 xn v2 v1 ðtÞ ðtþ1Þ ðtÞ ðtÞ n n Þ ¼ x 2 þ v2 en x3 ¼ x 2 þ e 2 þ v2 ¼ x 2 þ v2 vn vn vn vn v2 v1 ðtÞ ¼ x3 en : vn ðtÞ
From this, the term e3 can be derived as follows: v2 v1 ðtÞ ðtÞ e3 ¼ en : vn ðtÞ
Similarly, errors can be derived for all workers. Consequently, error ei for each worker i (i = 2,3, . . . ,n) at iteration t can be derived as follows: i1 P ð1Þiþk1 vk k¼1 eðtÞ n : vn If the coefficient of all errors is less than one, the error decreases and converges to zero as the iteration increases. Therefore, the convergence condition for the velocity of worker i (i = 2, 3, . . ., n) can be shown as follows:
496
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502 i1 P
ð1Þiþk1 vk
k¼1
ð5Þ
< 1:
vn
From this result, the condition derived by Bartholdi and Bunimovich (1999) is also derived. Furthermore, other conditions were able to find the last worker’s error by developing also to other workers. Secondly, the convergence conditions from the initial position are considered. When every worker starts to process at a convergence point, the workers’ positions always converge to a fixed point, regardless of the worker’s velocity. That is, in this condition, the initial position can be represented by the following equation: i1 P
vk
ð0Þ
xi ¼ xi ¼ k¼1 n P
ði ¼ 2; 3; . . . ; nÞ:
ð6Þ
vk
k¼1
This can be proven by substituting Eq. (6) for Eq. (1). 0 1 i1 nP 1 i1 P P v v vk k k B C 1 xðtÞ vi B vi vn C ðtþ1Þ ðtÞ k¼1 k¼1 n xiþ1 ¼ xi þ vi ¼ þ 1 þ P ¼ k¼1 B C n n n P P P A vn vn @ vn n vk vk vk vk k¼1 i1 P
¼
vk þ vi
k¼1 n P
vk
k¼1
i P
¼ k¼1 n P
k¼1
k¼1
k¼1
vk ð0Þ
¼ xiþ1 : vk
k¼1
For example, a production line with three workers is used to illustrate the above conditions and show the differences from the previous research. The convergence conditions for the three workers derived from Eq. (5) can be represented as follows: v1 v2 v1 < 1; < 1: v3 v3 Furthermore, the above conditions can be re-written as follows: the first formula is equivalent to v1 < v3, and the second formula is equivalent to v1 + v3 > v2. Then, the worker’s velocity is considered, and the convergence conditions of the worker’s velocity for the three workers is derived as follows: 1. Slowest to fastest: v1 < v2 < v3 2. (a) v1 < v3 and v1 + v3 > v2 and v2 > v3 3. (b) v1 < v3 and v1 > v2 In the above convergence, condition 3 v1 + v3 > v2 can be omitted, since v1 > v2. Furthermore, the convergence conditions for the three workers from Eq. (6) can be written, as follows: ð0Þ
x2 ¼
v1 ; v1 þ v2 þ v3
ð0Þ
x3 ¼
v1 þ v2 : v1 þ v2 þ v3
Fig. 7 shows areas (a) and (b), and line (c) is derived from Eq. (6), respectively. In this figure, line (c) shows the ð0Þ ð0Þ convergence condition, assuming that the convergence point is x2 ¼ 0:5, x3 ¼ 0:75. By comparing these results with previous research by Bartholdi and Bunimovich (1999), it can be shown that the conditions derived for the three workers, (i.e. slowest to fastest, (a), and (b)) are the same. However, in the previous research, the results are only shown numerically. By comparison, this paper shows them mathematically. Furthermore, a new condition, (c) is derived and is included in our results. The production rate, based on the above conditions, is also analyzed. The results for the production rate and the ratio of the maximum production rate are shown in Figs. 8 and 9, respectively. These figures are
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
Fig. 7. Convergence conditions for three workers.
v2 10
5
v1 5
10
Fig. 8. Production rate.
v2
a c slowest to fastest
b
v1 Fig. 9. Ratio of the production rate to the maximum production rate.
497
498
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
obtained under v3 = 5. Fig. 9 also shows the convergence conditions for three workers. In Figs. 8 and 9, the black area illustrates the area with a low production rate, while the white area illustrates the area with a high production rate. Fig. 9 shows that the area where the maximum production rate achieved is the same as the convergence area. Therefore, we can assume that the maximum production rate is achieved by satisfying the convergence conditions. Otherwise, the production rate decreases, as the velocity conditions move further from the convergence area. Furthermore, the convergence conditions for four workers are shown. The following three formulas can be derived from Eq. (5), as follows: v1 v2 v 1 v3 v2 þ v1 < 1; < 1; < 1: v4 v4 v4 Considered in both the above conditions and the relationship of worker’s velocity v1 to v4, the eleven formulas can be derived, as follows: (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k)
v1 < v2 < v3 < v4 (from slowest to fastest) v 1 < v 2 < v 4 < v 3, v 1 + v 3 < v 2 + v 4 v1 < v 3 < v2 < v4 v 1 < v 3 < v 4 < v 2, v 2 < v 1 + v 4 v 1 < v 4 < v 2 < v 3, v 2 < v 1 + v 4, v 1 + v 3 < v 2 + v 4 v 1 < v 4 < v 3 < v 2, v 2 < v 1 + v 4 v 2 < v 1 < v 3 < v 4, v 1 + v 3 < v 2 + v 4 v 2 < v 3 < v 1 < v 4, v 1 + v 3 < v 2 + v 4 v3 < v 1 < v2 < v4 v 3 < v 1 < v 4 < v 2, v 2 < v 1 + v 4 v3 < v 2 < v1 < v4
Each area is shown in Fig. 10, and more convergence conditions for the four workers are shown in Fig. 11. The same conditions are shown in Fig. 11 when all, i.e. areas (a), (b), . . ., and (k) are combined, where ri = vi/v4 (i = 1, 2, 3). 3.3. Special cases Under the boundary conditions for the convergence conditions shown in Fig. 7, special behavior can be obtained, and some of the boundary conditions in Fig. 7 are shown as special cases in this sub-section. 3.3.1. Same velocity When all the workers’ velocities are the same, no blocking occurs. When the number of workers is n, n items are processed at the same speed in the same time frame. Since each worker processes n items per time unit, the production rate can be calculated as nv (v = v1 = v2 = = vn). This is the same as the convergence condition. However, the positions do not converge to a fixed point. An example for three workers is shown. The initial positions of workers 2 and 3 are assumed to be X, and Y, respectively. Thus, the workers’ positions are moved as 1 Y, and 1 + X Y, X + Y and 1 X, and X, and Y, respectively, and the positions shown by the three points, are located cyclically. Fig. 12 shows this arrangement. Here, the initial positions of workers 2 and 3 are assumed to be X = 0.5, Y = 0.75, and worker’s velocity is assumed to be v = 2, respectively. Then, the production rate is calculated as 3, and this is the same as the maximum production rate. 3.3.2. Same velocity for the first and last workers In Section 3.2, we demonstrated that, in order to converge to a fixed point and achieve the maximum production rate, the first worker’s velocity should be slower than the last worker’s. When the first and the last workers’ velocities are the same, the workers’ positions do not converge to a fixed point. Fig. 13 shows an example of this condition. Worker’s velocities are assumed to be v1 = 2, v2 = 1, v3 = 2, respectively. Under this
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
Fig. 10. Area of convergence conditions for four workers.
Fig. 11. Convergence conditions for four workers.
499
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
worker 3's position
500
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
worker 2's position
worker 3's position
Fig. 12. Positions for three workers, when all the workers’ velocities are the same.
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
worker 2's position Fig. 13. Positions for three workers, when the first and the last worker work at the same velocity.
condition, the workers’ positions locate around the periphery of an ellipse. The production rate can be calculated at nearly the maximum rate. We found that, although the maximum production rate could not be achieved, a near maximum value could be obtained. 4. Design of the self-balancing line Based on the previous analysis, the following techniques can be used to design the self-balancing line by considering the limitations of the workers’ positions. Assuming that n0 workers exist, the decision maker evaluates the worker’s velocity (vA, vB, . . .) at first. Second, to achieve the production rate with the fewest possible number, the following problems should be solved. 9 n0 P > > minimize yi > > > i¼1 = n 0 P ; ð7Þ > subject to y i v i P h0 > > > i¼1 > ; y i ¼ 0 or 1; i ¼ 1; . . . ; n0 where yi is a 0–1 variable, and yi = 1 if worker is assigned, otherwise yi = 0. Also, vi is the velocity of worker i, h0 the production rate, and n0 is the total number of workers. Thus, the number of workers, Pnexpected 0 n ¼ i¼1 y i , and the solution set, Y, can be derived by solving the problem in Eq. (7). After the number of workers has been decided, each solution in set Y can be chosen, and the workers can then be sequenced from slowest to fastest, i.e. v1 < v2 < < vn. Then, the initial position of each worker can be calculated by Eq. (6) and the expected production rate can be derived immediately. However, in this problem, the position limitations for each worker are considered since there may be an impossible work for each worker. Let xLi and xUi be the maximum and minimum positions where worker i can process. When the sequence of workers is from slowest to fastest, the workers’ processing areas, calculated by Eq. (6) are evaluated by comparison with
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
501
the limitations. If satisfied, delayed starts are used in order to arrange the initial position to satisfy the convergence condition shown as Eq. (6). If worker n starts to process at the head of the line, 0 position at a time, the times when the other workers can start processing can be derived by Eq. (8). Then, using this delayed start, all the workers will simultaneously reach the expected initial positions shown in Eq. (6). nP 1
i1 P
vk
k¼1 n P
vn
vk
vk
k¼1 n P
vi
k¼1
ði ¼ 2; 3; . . . n 1Þ:
ð8Þ
vk
k¼1
If the initial position obtained does not satisfy the position limitations, another sequence should be arranged. In Eq. (5), the last worker’s velocity, vn, is important in deciding the convergence conditions. Therefore, at first, the last worker n is selected as the position satisfies the limitation. Next, worker 1 can be selected, as the position satisfies the limitation. Then, the convergence condition, using the velocities of both workers shown in Eq. (5), is compared to see whether the convergence condition has been satisfied or not. If it has not been satisfied, another worker is chosen. When no other worker can be selected, he/she returns and chooses one or more worker. Similarly, all the workers are selected and arranged as the positions satisfy the limitations, and the obtained velocities satisfy the convergence conditions. If Y 5 {/}, when any sequence of workers in the solutions cannot satisfy both the limitations and convergence conditions, another solution in Y is chosen, and the above procedure is repeated. Otherwise, we must increase h0, to solve the problem shown in Eq. (7) again, and repeat the above procedure. Therefore, the algorithms can be proposed as follows: Step 0: Evaluate the workers’ velocity (vA, vB,. . .) for n0 workers, and decide the expected production rate h0. Step 1: Solve the optimization problem shown in (7). Thus, the number of workers, n, and the solution set, Y, can be derived. Step 2: One of the solutions in solution set Y is chosen, and the workers are sequenced from slowest to fastest. Assuming that the worker’s initial position is the convergence point, you must evaluate whether the positions satisfy the limitations or not. If satisfied, workers are assigned to the initial position shown by (6), and start to process at the time shown in (8). Otherwise, you must go to Step 3. Step 3: Worker n is selected to satisfy the position limitations, and worker 1 is selected once the position satisfies the limitations. Then, the results are compared with the convergence conditions using the velocities of both workers, shown in Eq. (5), and evaluated as to whether the convergence condition has been satisfied or not. If it has not satisfied, another worker must be selected. When no other worker can be selected, the last worker in the arrangement is replaced, and the evaluation is tried again. If neither the limitations of each worker nor the convergence conditions can be satisfied by rearranging the workers, go to Step 4. Otherwise, this sequence must be accepted. Step 4: If Y = /, decrease h0, and go to Step 1. Otherwise, remove the above solutions from Y, and go to Step 2. Here is an example. The velocities, limitations, and the expected production rate are assumed as follows: n0 = 5, h0 = 16, (vA, vB, vC, vD, vE) = (1, 3, 5, 7, 9), ðxLA ; xLB ; xLC ; xLD ; xLE Þ ¼ ð0; 0; 0:1; 0; 0:4Þ, U U U U U ðxA ; xB ; xC ; xD ; xE Þ ¼ ð1; 0:5; 1; 0:45; 1Þ. First, the optimization problem shown by Eq. (7) is solved, and following solutions are derived. n ¼ 3; Y ¼ ffvA ; vD ; vE g; fvB ; vC ; vE g; fvB ; vD ; vE g; fvC ; vD ; vE gg: Here, supposing {vA, vD, vE} is chosen, and {vA, vD, vE}={v1, v2, v3}={1, 7, 9} is rewritten, the convergence points derived by Eq. (6) will be as follows: x1 ¼ 0; x2 ¼
1 1 1þ7 8 ¼ ; x ¼ ¼ : 1 þ 7 þ 9 17 3 1 þ 7 þ 9 17
Therefore, the workers’ processing areas are [0, 1/17], [1/17, 8/17], and [8/17, 1], respectively. They are L then compared to the limitations of positions xL1 ¼ 0 ¼ ½0; 1=17 < xU 1 ¼ 1, x2 ¼ 0 < ½1=17; 8=17,
502
D. Hirotani et al. / Computers & Industrial Engineering 50 (2006) 488–502
U U xL3 ¼ 0:4 < ½8=17; 1 ¼ xU 3 ¼ 1. However, x2 is still not satisfied. That is ½1=17; 8=17 > x2 ¼ 0:45. Thus, another sequence should be assigned. Next, the worker E is assigned to be the last worker, worker 3. Compared to the limitations of the positions, the processing area for worker 3 is [8/17, 1], and thus, the limitations are satisfied. When worker A is assigned to be worker 1, the sequence remains the same as in the sequence from slowest to fastest, and the worker D is assigned to worker 1. The processing area for worker 1 is [0, 7/17], and the convergence condition derived by Eq. (5) is v1 < v3, and is then compared with the limitations of positions, and convergence conditions, xL2 ¼ 0 ¼ ½0; 7=17 < xU 2 ¼ 0:45, v1 = 7 < v3 = 9, respectively. Thus, both the workers’ position limitations and the convergence conditions are satisfied. Finally, worker A is selected to be worker 2. Similarly, the processing area for worker 2 is [7/17, 8/17], and the convergence condition derived by Eq. (5) is v1 + v3 > v2, and is then compared with the position limitations, and convergence condition, xL1 ¼ 0 < ½7=17; 8=17 < xU 1 ¼ 1, v1 + v3 = 7 + 9 > v2 = 1, respectively. Thus, both the position limitations of the worker and the convergence condition are satisfied. Therefore, the optimal solution is {v1, v2, v3} = {7, 1, 9}.
5. Concluding remarks This paper focuses on a self-balancing line, and the characteristics of this line are analyzed in order to obtain the most efficient production conditions for this line. For the production line with n workers, the blocking condition and the convergence condition are formulated. From this formulation, conditions can be obtained mathematically except in cases where workers are sequenced from slowest to fastest. The results obtained are consistent with the previous conditions in their convergence to a fixed point derived numerically for a line with only three workers, and the results obtained can extend the previous conditions. In addition, this paper describes how to design a self-balancing line. In this paper, the worker’s velocity is assumed to be constant. However, in actual situations, the worker’s velocity is not constant, and changes according to the process. Therefore, a formula that considers changes in the worker’s velocity is suggested as a topic for future research work. References Bartholdi, J. J., & Bunimovich, L. A. (1999). Dynamics of two- and three-worker ‘‘Bucket Brigade’’ production lines. Operations Research, 47(3), 488–491. Bartholdi, J. J., & Eisenstein, D. D. (1996). A production line that balances itself. Operations Research, 44(1), 21–34. Bokkobas, B. (1990). Linear analysis. Cambridge: Cambridge University Press. Scholl, A. (1995). Balancing and sequencing of assembly lines. Physica-Verlag.