You are on page 1of 16

J Intell Manuf DOI 10.

1007/s10845-009-0244-3

A new bottleneck detecting approach to productivity improvement of knowledgeable manufacturing system


Hong-Sen Yan Yu-Wei An Wen-Wu Shi

Received: 24 May 2008 / Accepted: 26 January 2009 Springer Science+Business Media, LLC 2009

Abstract Manufacturing systems are usually restricted by one or more bottlenecks. Identication of bottleneck is a key factor to improving the throughput of a production system. However, locating the bottleneck is no easy task. This paper proposes a novel method of bottleneck detecting for knowledgeable manufacturing system (KMS). Presented a net-like model of the knowledgeable manufacturing system for bottleneck detection, which adapts well to the bottleneck analysis in exible product lines. Based on the model, the concept of entire production net is dened and an approach to identifying bottlenecks in entire production nets is developed and proven effective theoretically. A self-learning method is introduced for storing the knowledge of bottlenecks and their conditions in the knowledge base to detect which cells are required to upgrade their capacity. Validity of the approach is veried by the numerical experiment. Keywords Knowledgeable manufacturing system Production bottleneck Self-learning Knowledgeable manufacturing cell

Introduction From the rapid development of manufacturing technology, emerge various innovative manufacturing modes, among which are concurrent engineering, agile manufacturing, intelligent manufacturing, knowledgeable manufacturing, etc. The knowledgeable manufacturing system (KMS) is highly intelligent, characterized by its self-adaptation, self-learning,
H.-S. Yan (B) Y.-W. An W.-W. Shi Key Laboratory of Measurement and Control of CSE, School of Automation, Southeast University, Ministry of Education, Nanjing, Jiangsu 210096, China e-mail: hsyan@seu.edu.cn

self-evolution, self-reconguration, self-training and selfmaintenance (Yan and Liu 2001; Yan 2006). Self-learning is one of KMSs key merits, applicable to many problems, such as selection of production style selection,production bottleneck analysis, price forecasting, fault diagnosis, inventory management and so on (Shi 2007). This paper proposes a novel approach to KMS shifting bottleneck analysis along with a self-learning method for storing the knowledge of bottlenecks and their conditions in the knowledge base. In light of the theory of constraints, in the process of production, if the capacity of one production cell is weak enough, it will become a bottleneck to restrict the full utilization of the other production cells (Goldratt 1990; Verma 1997). Therefore, it is necessary to locate and improve the bottlenecks in the system for the enhancement of production performance. Bottleneck detecting plays an important role in the design of a complex production system (Jacobs et al. 1993; Banaszak 1997; Radovilsky 1998), distributed planning and control systems for the virtual enterprise (Soares et al. 2000), and evaluation of manufacturing process analysis (HernandezMatias et al. 2006), simulation improvement of production management at appliance manufacturer (Kale et al. 2007), etc. To cope with rapid product demand changes, enterprises prefer to employ more intelligent and exible manufacturing systems (Kusiak 2000). And with the changes of product styles, batches and sequences, bottlenecks tend to shift from one manufacturing cell to another (Moss and Yu 1999). Different methods are also proposed to detect the bottlenecks in serial production lines. Generally, a definition of bottleneck (BN) in serial production lines is presented and identication rules are developed, with the general assumption that a machine is the bottleneck if the sensitivity of the systems performance index to its production rate in isolation is the greatest, as compared to all other machines

123

J Intell Manuf

(Kuo et al. 1996). This definition captures the system nature of BN, but it is conned to Bernoulli production lines. One common method is set to analyze the queue lengths of the manufacturing cells (Zhuang et al. 1998). In this case, with either the queue length or waiting time determined, the entity with the longest queue length or waiting time is considered to be bottleneck. This method is suitable for analyzing production systems with innite buffers or at least of very large buffer sizes. For systems containing only limited buffers (i.e., limited buffer sizes) or systems without buffers, the results are of insufcient accuracy. Furthermore, this approach is incapable of analyzing other elements but the processing machines. For example, the AGV system itself is a type of queue, yet it does not have a queue length or waiting time in the classical sense, so we cannot rely upon the queue length for bottleneck detection. But in the AGV system, bottlenecks still exist. For example, according to Rosers definition (Roser et al. 2002), the AGV with the longest active period (the period of moving to a pickup location, moving to a drop off location, recharging, and being repaired while waiting time is referred to inactive period) can be considered as bottleneck. Chiang et al. (1998) propose a system-theoretic approach to bottlenecks in Markovian production lines, which is based on the sensitivity of the system production rate to machines reliability parameters. This bottleneck detecting method relies either on the data available on the factory oor through real time measurements or on the data that can be constructively calculated using the machines and buffers parameter, but the definition is not applicable to systems with arbitrary number of machines or to those in the automotive industry. Chiang et al. (2000) also come up with a method for down-time bottleneck identication which is developed in the framework of serial production lines with unreliable machines and nite buffers, and the identication tool is designed in light of the probabilities of machine blockages and starvations; this paper provides a practical tool for BN identication in large volume manufacturing environment. Li and Meerkov (2000) present a definition of due-time performance bottlenecks and propose a method for their identication. The identifying tool of the method is based on the data available on the factory oor through real time measurements. The defect of the method is that it is not proved analytically and only numerical justication is obtained. In the papers written by Kuo et al. (1996), Chiang et al. (1998), Chiang et al. (2000), and Li and Meerkov (2000), production systems with linear topology (i.e., serial production lines) are analyzed, in which single-product is processed. In this model, parts are processed sequentially on machines: pieces ow from the rst machine to the last machine where the process cycle is completed. When a machine is not available, parts wait in the buffer immediately upstream the machine. However, modern production systems, such as

exible manufacturing systems, are assuming more and more complex non-linear structures, and they are capable of manufacturing a broad range of products, and of changing their characteristics quickly and frequently by machines executing split and merge operations or modifying the route that the product follows through a set of system resources (such production systems will be introduced in the following section). It is thus difcult to apply methods mentioned above to exible manufacturing systems, quite significant theoretically and practically to develop an effective bottleneck detecting method for these systems. Roser et al. (2001) come up with another method for shifting bottleneck detection based on the duration during which a manufacturing cell is active without interruption, but their method has not been strictly proved. Roser et al. (2002) propose a method for shifting bottleneck detection by measuring the utilizations of the different manufacturing cells, this method is targeted directly at the machine, and the bottleneck can be detected for any given period of time. The shifting bottleneck detection method can also be employed to detect short term or instantaneous bottlenecks or the nonbottlenecks reliably. However, it aws in being slightly more difcult to implement than other methods. In summary, there are various methods presented in literature, most of which, however, fail to address the production conditions concerning bottlenecks and KMSs great exibility, falling far short of the requirements to be met. To solve the existing problems, this paper proposes a netlike model of KMS for shifting bottleneck detection, on the basis of which, the concept of entire production net and a method for identifying bottlenecks in entire production nets are proposed. Furthermore, a self-learning method is introduced for storing the knowledge of shifting bottlenecks and their conditions in the knowledge base to determine what cells require to be improved under varying conditions.

Net-like model of KMS In order to meet the ever-changing market demands, the exible manufacturing system suitable for small batch production is adopted by more and more enterprises. KMS is known to be a highly exible and intelligent manufacturing system. Due to the changes of product styles, batches and sequences, bottlenecks tend to shift from one manufacturing cell to another. Thus it is impossible to design an ideal manufacturing system that can eliminate all production bottlenecks. As mentioned before, the existing methods of shifting bottleneck analysis fail to take production condition changes and KMSs great exibility into consideration, thus incapable of adjusting the production capacity and production process to attain the optimal objective. As a feasible solution to the defect, the netlike model of KMS is proposed here in Fig. 1. It is actually a

123

J Intell Manuf
output
...

output

cn
input

Front and rear cells: If KMC cm transfers part p j to KMC cn , and then cm is the front cell of cn relative to p j , and cn is the rear cell of cm relative to p j , denoted as N odeCm N odeCn . One KMC may have a number of front and rear cells. Start and nish cells: If KMC ci has no front cell relative to part p j , then the KMC ci is a start cell relative to part p j , i.e., S(ci , p j ); if KMC ci has no rear cell relative to p j , the KMC ci is a nish cell relative to p j , i.e., F(ci , p j ). The entire production net: In KMS shown in Fig. 1, under the condition of F(ci , p j ), all the manufacturing cells (which transfer parts to KMC ci directly or indirectly for manufacturing part p j ) plus the ow of these parts form the entire production net relative to p j , denoted by N et (ci , p j ), and the set of nodes (i.e., vertexes composed of the manufacturing cells described above) in N et (ci , p j ) is denoted by VNet(ci , p j ). Bottleneck cells and bottlenecks: To improve the production capacity of the entire production net N et (ci , p j ), the production capacities of manufacturing cells in the set CB = {cb1 , cb2 , . . . , cb } and CB VNet(ci , p j ) must be improved simultaneously, while the others need no change. CB is the set of bottleneck cells, that is, B(ci , p j ), and its corresponding processors cb1 , cb2 , . . . , and cb are referred to as bottlenecks.
Pj

c1

...

c7 c2 c6 c5

c3
input

c4

input

Fig. 1 Net-like model of KMS


front buffer processor rear buffer

input

output

Fig. 2 Knowledgeable manufacturing cell (KMC)

generalization of the complex manufacturing system, in which manufacturing cells perform different production operations and are decoupled by intermediate buffers. Manufacturing cells take parts from the front buffer, execute a specic operation on them, and place the worked parts in the rear buffer. Though KMS is similar to the exible manufacturing system (FMS), the former is of higher intelligence than the latter. The net-like model can be established by determining the layout of nodes in the model, and relationships between them, according to the real layout of manufacturing cells, product assembly structure and part processing routes. As is shown in Fig. 1, the KMS is a multiple-input and multiple-output (MIMO) dynamic system running in rules. The KMS consists of knowledgeable manufacturing cells f cu , u = 1, . . . , , and each cell cu has a front buffer bu , a r and a processor (also denoted as c ), as shown rear buffer bu u in Fig. 2. Two buffers in different knowledgeable manufacr turing cells can overlap. For instance, the rear buffer ba of f of manmanufacturing cell ca can overlap the front buffer bb f r ufacturing cell cb , i.e., ba = bb . If a part is transferred from f r ca to cb directly, the virtual buffers ba and bb are set up for manufacturing cells ca and cb . In this case,when ca is prof r ducing, the buffers ba and bb are considered to be empty; and when ca completes the process and waits to transfer the part f r to cell cb , the buffers ba and bb are considered to contain the part. In the following, four types of cells relative to a part, the entire production net, and bottleneck cells are dened in brief:

Many production systems, such as assembly/disassembly networks system and non-linear multi-product multi-stage lines system (Helber 1998; Colledani et al. 2008) can be considered as the net-like model of KMS. An illustration (taking from Colledani et al. 2008) is depicted in Fig. 3, where the squares represent machines and the circles denote buffers. To the best of our knowledge, no bottleneck detecting method for such systems has yet been reported. Let Cc denote the intersection of VNet(ci , pl ) and VNet (c j , pg ), i.e., Cc = VNet(ci , pl ) VNet(c j , pg ). If Cc = , Cc is called coupling set of VNet(ci , pl ) and VNet(c j , pg ), and Cc = , VNet(ci , pl ) and VNet(c j , pg ) are considered to be independent. In the period of time ts , if none of the structures of entire production nets changes in the whole KMS, i.e., neither new product is produced nor product structure changes, ts is called a stable period. Any unstable period can be divided into a number of stable periods. The bottleneck cell B(ci , p j ) is changeable in different time slots of one stable period or in different stable periods. So the bottleneck cell may shift from one KMC to another in different time periods. In this paper, the shifting bottleneck cell is investigated in one stable period. The general description about shifting bottleneck is (according to Roser et al. 2002): bottleneck shift may be due to a system random failure event or due to a gradual change

123

J Intell Manuf Fig. 3 Five-stage non-linear system

M1

B1

M4

B4
M6

B 6,1

M7

B7
M9

M2

B2

M5

B5

B6,2

M8

B8

M3

B3

of the manufacturing system with time. At a given moment, the capacity of one production cell will be too weak to work, causing production delays, whereas only several hours or days later non-bottleneck production cell may become a new bottleneck. Frequently, upon controlling a system bottleneck, new ones keep emerging one by one, that is to say the bottleneck is shifting from cell to cell. We now present a simple example to illustrate the aforementioned shifting bottleneck. Production cell which has the longest process time to produce unit product is dened as theoretical production bottleneck. The physical layout of production system is shown in Fig. 4, and the ow of material follows the arrows. In this case, production cells c2 , c3 , c4 and c5 are dedicated cells, i.e., each can produce assemble only one type of parts. On the contrary, c1 is a exible cell and can process assemble simultaneously both part types p11 and p21 . The product structure is shown in Fig. 5. Processing time of each part and its corresponding production cell are given in Table 1, where the expectation value of processing time in the third row is required for performing only one operative task in its corresponding cell, and in the last row, it is given for performing simultaneously two operative tasks in its corresponding cell. Assuming that planning horizon consists of two time periods, in the rst period, two products p1 and p2 are processed at the same time, while only p1 is processed in the second period. The theoretical production bottlenecks can be determined by the expectation of production time. In the rst period, due to max{2t11 , 5t12 , t1 , 3t22 , 3t21 , t2 } = max{2 12, 5 3, 20, 3 28, 3 34, 75} = 3t21 (where ti j and ti denote processing times of part pi j and product pi respectively), product p21 is processed in the cell c1 , so c1 can be determined as theoretical production bottleneck, while in the second period, max{2t11 , 5t12 , t1 } = t1 and product p1 is processed in the cell c3 , so c3 can be determined as theoretical production bottleneck. Bottleneck cell shifts from c3 to c1 in different periods. For the application of group technology and numerical control technology, one knowledgeable manufacturing cell can process parts of different types. Let index represent the quantity of part types in KMS shown in Fig. 1, index the quantity of knowledgeable manufacturing cells, and p =

c1

c4
c5

c3

c2

Fig. 4 Physical layout of production system

p1 c3 2 p11 c1 5 p12 c 2

p2 3

c5 5 p 202

p 22 c 4

1
p 21

c1

Fig. 5 Product structure with product processing (rectangle representing component)

Table 1 Expectation value of processing time and corresponding production cell Production cell: Parts and products: Sole part or product processed Multi-parts or products simultaneously produced p11 8 12 c1 p21 25 34 c2 p12 3 c3 p1 20 c4 p22 28 c5 p2 75

[ p1 . . . pw . . . p ]T (w = 1, . . . , ) denote the part vector, c = [c1 . . . cu . . . c ]T (u = 1, . . . , ) the vector of manufacf f turing cells. Let vector bf (t) = [bu ( p1 , t) . . . bu ( pw , t) . . . u f ( p , t)]T denote the state of front buffer of c , br (t) = bu u u r r r [bu ( p1 , t) . . . bu ( pw , t) . . . bu ( p , t)]T the state of rear buffer f of cu , where bu ( pw , t) represents the quantity of part pw in

123

J Intell Manuf
r the front buffer of cu at time t, and bu ( pw , t) the quantity of part pw in the front buffer of cu at time t. Let pm (t) = u m m m pu ( p1 , t) . . . pu ( pw , t) . . . pu ( p , t) denote the state of m ( p , t) represents the quantity production of cu , where pu w of part pw being processed in cu at time t. Let briu (t) = f ri ri ri bfu ( p1 , t) . . . bfu ( pw , t) . . . bfu ( p , t) denote the parts transferred from the rear buffer of ci to the front one of cu , ri where bfu ( pw , t) represents the quantity of pw transferred from the rear buffer of ci to the front one of cu . The state of front buffers is T T

As the quantity of parts is unlikely to be negative in Eqs. 14, so we obtain


f r bu ( pw , t) 0, bu ( pw , t) 0, ri m pu ( pw , t) 0, bfu ( pw , t) 0.

Suppose the stable period is t0 t1 . Then according to Eqs. 1 4, the following formula can be established: B f (t1 ) = B f (t0 ) +
eE m (t eE bb (t
0 ,t1 )

Bfr (t)
eE in (t0 ,t1 )

0 ,t1 )

P m (t) +

(t)

(5)

B f (t) = [bf (t) . . . bf (t) . . . bf (t)] u 1 f f b1 ( p1 , t) . . . bu ( p1 , t) . . . ... ... f f = b1 ( pw , t) . . . bu ( pw , t) . . . ... ... f f b1 ( p , t) . . . bu ( p , t) The state of rear buffers is B r (t) = [br (t) . . . br (t) . . . br (t)] u 1 r r ( p , t) b1 ( p1 , t) . . . bu 1 . . . ... ... r r = b1 ( pw , t) . . . bu ( pw , t) . . . ... ... r r b1 ( p , t) . . . bu ( p , t) The state of production is P m (t) = [pm (t) . . . p m (t) . . . pm (t)] u 1 m m
p1 ( p1 , t) . . . m = p1 ( pw , t) . . . m p1 ( p , t) ... ... ... ... ... pu ( p1 , t) ... m pu ( pw , t) ... m pu ( p , t)

... ... ... ... ...

f b ( p1 , t)

... f b ( pw , t). (1) ... f b ( p , t)

... ... ... ... ...

r b ( p1 , t) ... r ( p , t) b w . (2) ... r b ( p , t)

where e denotes event, for instance, parts sent from rear buffer to front buffer, parts to be processed, and input parts sent from outside to the KMS buffers, etc. E bb (t0 , t1 ) denotes that parts are transferred between two buffers in the period of t0 t1 ; E m (t0 , t1 ), the set of events that parts are to be processed in the period of t0 t1 ; E in (t0 , t1 ), the set of events that parts are sent from outside to the KMS buffers in the period of t0 t1 ; (t), which is a matrix, represents the quantity of parts, arriving from outside of the entire production net at time t in the period t0 t1 . The left side of Eq. 5 is a matrix, in which the vector of u rank is bf (t1 ) = bf (t0 ) + u u
bb eE u (t0 ,t1 )

bru (t) f p m (t) + u u (t)


in eE u (t0 ,t1 )

m eE u (t0 ,t1 )

= bf (t0 ) + u
... ... ... ... ...
m p ( p1 , t) ... m p ( pw , t). (3) ... m p ( p , t)

briu (t) f
bb i=1 eE u (t0 ,t1 )

m eE u (t0 ,t1 )

p m (t) + u
in eE u (t0 ,t1 )

u (t)

(6)

The state of parts transferred form rear buffers to front buffers is Bfr (t) = = br1 (t) . . . bru (t) . . . br (t) f f f

i=1

bri1 (t) . . . f

i=1

briu (t) . . . f

i=1

bri (t) f
i=1 ri bf ( p1 , t)

i=1 . . . i = bfr1 ( pw , t) i=1 . . .


i=1 ri bf1 ( p , t)

ri bf1 ( p1 , t) . . .

... ... ...

i=1

ri bfu ( p1 , t) . . .

bb where E u (t0 , t1 ) denotes the set of events that parts are transferred from the rear buffers of the other manufacturing cells m to the front ones of cell cu in the period of t0 t1 ; E u (t0 , t1 ), the set of events that parts begin to be processed in the manin ufacturing cell cu in the period of t0 t1 ; E u (t0 , t1 ), the set of events that parts are sent from outside to the front buffer of cu in the period of t0 t1 ; u (t) = [u ( p1 , t) . . . u ( pw , t) . . . u ( p , t)]T denotes the quantity of parts sent from outside of the entire production net to cu at time t in the period t0 t1 .

... ...
ri bfu ( pw , t)

... ...

... ... ...

i=1

i=1

ri bfu ( p , t)

...

ri bf ( pw , t). i=1 ...


i=1 ri bf ( p , t)

Buffer states of KMS Due to the product diversity and small batch production of KMS, its modes of material stream are not xed. Moreover, products are processed simultaneously in a large number of types, leading to the fact that many manufacturing cells alter-

(4)

123

J Intell Manuf

nate between idle state and working state frequently. As a result, it is hard to detect the shifting bottlenecks. Moreover, most of the existing bottleneck detection methods fall far short of the expectation (see section Introduction). Therefore, this paper sets up a net-like model of KMS, in which the knowledgeable manufacturing cells are classied into four types according to the four different states: (a) front and rear buffers both enabled; (b) front buffer enabled while rear buffer non-enabled; (c) front buffer non-enabled while rear buffer enabled; (d) front and rear buffers both nonenabled. Buffer enabled means that the adequate quantity of parts must be stored in the corresponding buffers in order to keep manufacturing cells working continuously. If a buffer is enabled, processor can be operative or prepared (maybe in working or not in working). If a buffer is non-enabled, processor can also be operative or prepared, but not in working for unprepared parts because there is not enough quantity of parts to meet production requirements. Buffer capacity is measured by the numbers of items stored in buffers. In this paper, buffer capacities are nite, so that they may be constraints of production system. Based on the four states, a method for detecting bottlenecks in an entire production net is proposed. The present bottleneck detecting method determines whether to generate a bottleneck through estimating work in process Method for acquiring the entire production nets Knowledgeable manufacturing cells include assembly cells, machining cells, etc. If a KMC is an assembly cell, it usually has multi-inputs and single output. The input and output involve many different parts (nished product is viewed as a special part). For instance, let M(ci , { p j , pk , . . . , pr }, pl ) denote that the parts { p j , pk , . . . , pr } are assembled to part pl by cell ci ; and then M(ci , { p j , pk , . . . , pr }, pl ) is called one of the task modes of ci . The inputs of task mode M(ci , { p j , pk , . . . , pr }, pl ) are { p j , pk , . . . , pr }, and its output is pl . Let M(cq , { pm }, pn ) denote that part pm is machined to part pn by cq (for the sake of convenience, the denotations pm and pn represent the different process steps of the same part). And M(cq , { pm }, pn ) is called a task mode of cell cq , in which the input is pm and output pn . As transport tools and production cells may become bottlenecks and both have the same ow of material, if we suppose that the front buffers of transport tools overlap with the rear ones of manufacturing cells and the rear buffers of transport tools overlap with the front ones of manufacturing cells, transport tools can be regarded as special manufacturing cells. Thus, transport tools and production cells go by the general name of general manufacturing cells. For example, let M(ct , { pw }, pw ) denote that pw is transferred by transport tool ct , and M(ct , { pw }, pw ) is called a task mode of ct . The buffers of transport tools consist of those of manufacturing

cells; for instance, ct transfers pw from the rear buffers of c1 , c2 and c3 to the front buffers of c4 and c5 . Then the following formulas can be obtained:
r r r btf ( pw , t) = b1 ( pw , t) + b2 ( pw , t) + b3 ( pw , t), f f btr ( pw , t) = b4 ( pw , t) + b5 ( pw , t).

Let Ui denote the set of the task modes of KMC ci , and U the set of task modes of all manufacturing cells, i.e., U = r U1 , . . . , U . Let adjoining function bfiv ( p j , t0 , t1 ) denote whether or not the part p j is transferred from the rear buffer of KMC cv to the front buffer of ci in the stable period of r r bfiv ( p j , t)=0, then bfiv ( p j , t0 , t1 ) = 0; t0 t1 . If If
eE ibb (t0 ,t1 ) r bfiv ( p j , t) bb (t ,t ) eE i 0 1 r > 0, then bfiv ( p j , t0 , t1 ) = 1.

According to the set of task modes U and adjoining functions, the entire production nets can be detected by the following method (assuming the stable period is t0 t1 ): Algorithm 1 The method for obtaining the entire production nets Step 1: Get the set of nish cells according to their definition. Step 2: Select a nish cell F(ci , pl ) from the set of nish cells, and set N odeCi as the root node of an entire production net of pl . Step 3: Detect the input set { p j , pk , . . . , pr } of task mode M(ci , { p j , pk , . . . , pr }, pl ) of ci , and the value of r adjoining function bfiv ( p j , t0 , t1 ), v = 1 . . . . If rv bfi ( p j , t0 , t1 ) = 1, then set cv as the child node of N odeCi , that is, N odeCv N odeCi , and examine r the values of adjoining function bfiv ( pk , t0 , t1 ),, r bfiv ( pr , t0 , t1 ) in sequence, to require all child nodes of N odeCi . Step 4: If the child node ck of N odeCi serves for the production of part p j in the entire production net N et (ci , pl ), and ck is not a start cell relative to p j , then obtain the child nodes of N odeCk via the method presented in Step 3, and repeat Steps 34 until all start cells in N et (ci , pl ) have been detected. Step 5: Repeat Steps 24 until all entire production nets have been obtained. The aim of Algorithm 1 is to nd the structure of product manufactured in the whole production system. In this process, it is irrelevant to buffers capacity. Buffer states of KMC Suppose N odeCv N odeCi in the stable period t0 t1 , and t0 , t1 [t0 , t1 ]. Let the front buffer state function
pj pj

123

J Intell Manuf

bif ( p j , t0 , t1 ) denote the state of part p j in the front buffer of general manufacturing cell ci . If t[t0 , t1 ], bif ( p j , t) < n i ( p j ) and pim ( p j , t) = 0, then set bif ( p j , t0 , t1 ) = 0, where n i ( p j ) denotes the least quantity of p j required by ci to start or maintain production. If , bif ( p j , t) n i ( p j ) or pim ( p j , t) > 0, then set bif ( p j , t0 , t1 ) = 1. If bif ( p j , t0 , t1 )=0, it means that the part p j in the front buffer of ci is discontinuously enabled in the stable period [t0 , t1 ]; if bif ( p j , t0 , t1 ) = 1, it means that the part p j in the front buffer of ci is continuously enabled in [t0 , t1 ]. r Let bv (ci , p j , t) denote the state of p j in the rear buffer of general manufacturing cell. If cv is a manufacturing cell, r r then set bv (ci , p j , t) = bv ( p j , t); if cv is a transport tool, r set bv (ci , p j , t) = bif ( p j , t). Similarly, let rear buffer state r function bv (ci , p j , t0 , t1 ) denote the state of p j in the rear r buffer of ci . If t t0 , t1 and bv (ci , p j , t) < n i ( p j ), r (c , p , t , t ) = 0; If t t , t , br (c , p , t) then bv i j 0 1 j v i 0 1 r r n i ( p j ), then bv (ci , p j , t0 , t1 ) = 1. If bv (ci , p j , t0 , t1 ) = 0, which means that the part p j in the rear buffer of cv is discontinuous enabled for the requirement of ci in the stable r period [t0 , t1 ]; if bv (ci , p j , t0 , t1 ) = 1, it means that the part p j in rear buffer of general manufacturing cell cv is continuously enabled for the requirement of general manufacturing cell ci in the stable period [t0 , t1 ]. Due to the states of front and rear buffers, the general manufacturing cell has four states to one task mode. If one task mode has multiinputs, then the general manufacturing cell is continuously enabled on condition that all inputs of the task mode are continuously enabled. For example, if one task mode of ci is M(ci , { p j , pk , . . . , pr }, pl ) under the condition of N odeCi N odeCk , then the following results can be obtained (where & denotes logic operator and): State 1. Front and rear buffers are both continuously enabled, marked by M(ci , { p j , pk , . . . , pr }, pl ) = FF, i.e., bif ( p j , t0 , t1 ) & bif ( pk , t0 , t1 ) & & bif ( pr , t0 , t1 ) = 1 and bir (ck , pl , t0 , t1 ) = 1. State 2. Front buffer is continuously enabled, but rear buffer discontinuously enabled, marked by M(ci , { p j , pk , . . . , pr }, pl ) = FE, i.e., bif ( p j , t0 , t1 )&bif ( pk , t0 , t1 )&. . .&bif ( pr , t0 , t1 ) = 1 and bir (ck , pl , t0 , t1 ) = 0. State 3. Front buffer is discontinuously enabled, but rear buffer continuously enabled, marked by M(ci , { p j , pk , . . . , pr }, pl ) = EF, i.e., bif ( p j , t0 , t1 )&bif ( pk , t0 , t1 )&. . .&bif ( pr , t0 , t1 ) = 0 and bir (ck , pl , t0 , t1 ) = 1.
pl

State 4. Front and rear buffers are both discontinuously enabled, marked by M(ci , { p j , pk , . . . , pr }, pl ) = EE, i.e., bif ( p j , t0 , t1 ) & bif ( pk , t0 , t1 ) & . . . & bif ( pr , t0 , t1 ) = 0 and bir (ck , pl , t0 , t1 ) = 0. If ci is a nish cell relative to pl , then its output is nished goods, as a result of which the upper limitation of nished goods warehouse can be allowed to be innite and bir (. . . , pl , t0 , t1 ) can be set to zero, that is, bir (. . . , pl , t0 , t1 ) = bir (0, pl , t0 , t1 ) = 0.

Method for shifting bottleneck analysis As the changes of production conditions, such as the change of manufacturing products, may lead to the change of entire production nets, and some manufacturing cells are coupled in different entire production nets, so when a new entire production net comes out or an old entire production net disappears, many other entire production nets may change as well. The knowledge of production bottlenecks under different conditions exists in production data. In this paper, a new method is proposed to detect the shifting bottlenecks under different production conditions according to the buffer states of general manufacturing cells. And a machine learning method is adopted to store the knowledge of bottlenecks and their conditions in the knowledge base. Relations between buffer states and bottlenecks The states of one task mode are FF, FE, EF and EE. If the state of KMC cv is FF, then the rear buffer of cv is continuously enabled for the rear general manufacturing cell ci , which means the production capacity of cv is large enough, that is, cv cannot be bottleneck; if the state of cv is FE, it means cv is continuously busy for the lack of production capacity; but it depends on the front buffer state of ci to determine whether cv is bottleneck; when the states of direct or indirect rear general manufacturing cell are FF, FE or EF, cv is not considered to be a bottleneck; cv is a bottleneck only when the states of direct or indirect rear general manufacturing cell is EE. Therefore, when the state of cv is FE, it only meets a necessary condition but not a sufcient one for cv to become a bottleneck. Proposition 1 SupposeN odeCv NodeCi . If bif ( p j , t0 , t1 ) = 0 in the stable period t0 t1 , then M(cv , {. . .}, p j ) = EE or M(cv , {. . .}, p j ) = FE. Proof For bif ( p j , t0 , t1 ) = 0, it can be concluded that t0 , t1 [t0 , t1 ] , t t0 , t1 , bif ( p j , t ) < n i ( p j ) and pim ( p j , t ) = 0. According to Eq. 6, we obtain
pj

123

J Intell Manuf

bif ( p j , t ) = bif ( p j , t0 ) +
eE im (t0 ,t ) k=1 eE bb (t ,t ) 0 i m pi ( p j , t)

r bfik ( p j , t)

+
eE iin (t0 ,t )

i ( p j , t)

(7) pim

processor (or machine) i has been in bottleneck (or failure) for a long enough time, its upstream machines will be blocked and product capacity of its downstream machines will be weakened or starved. In this case, state of cell ci (which consists of processor i and its front and rear buffers) is FE, while states of other cells may be FF or EE. Algorithm 2 can identify bottleneck cells based these state of all cells. Algorithm 2 Method for busy nodes detection in N et (ci , pl ) in t0 t1 Step 1: Initialize the set of busy nodes CS =, and temporary stack variable St = . Step 2: If M(ci , { p j , pk , . . . , pr }, pl ) = FE, then set CS = ci and go to Step 5; otherwise go to Step 3. Step 3: If M(ci , { p j , pk , . . . , pr }, pl ) = EE, then examine the front buffer state function bif ( p , t0 , t1 ), = j, k,,r ; if bif ( p , t0 , t1 ) = 0, then St = St {(ci , p )}. Step 4: Select (ci , p ) from stack St , St = St \{(ci , p )}, search the child nodes of manufacturing cell ci on condition ofN odecu N odeCi . (According to Proposition 1, M(cu , {. . .}, p ) = EE or FE.) If M(cu , {. . .}, p ) = FE, then set CS = CS {cu }; if M(cu , {. . .}, p ) = EE, then examine front buffer f f state function bu (. . . , t0 , t1 ); if bu (. . . , t0 , t1 ) = 0, set St =St {(cu , . . .)}, and repeat Step 4 until St =. Step 5: Output the set of busy nodes CS . Proposition 2 General manufacturing cells in the set of busy nodes CS in entire production net N et (ci , pl ), obtained by Algorithm 2, are the production bottlenecks in the period t0 t1 , that is CS B(ci , pl ). Proof 1) As we know, the nish cell has only two states: FE and EE. If M(ci , { p j , pk , . . . , pr }, pl ) = FE, cv N et (ci , pl ), v = i, one task mode of cv is M(cv , {. . .}, fm fm p j ), and pv ( p j , t) > pv ( p j , t) in the period t0 t1 , then r ( p , t) br ( p , t) brv ( p , t) brv ( p , t), where bv j j j j v fi fi fm ( p , t) denotes the quantity of p output by c at time t pv j j v fm before the capacity of cv is improved, pv ( p j , t) the quantity of p j output by cv at time t after the capacity of cv is r improved, bv ( p j , t) that of p j in the rear buffer of cv at time t r after the capacity of cv is improved, and bfiv ( p j , t) that of p j transferred from the rear buffer of cv to the front buffer of ci at time t after the capacity of cv is improved. Then we obtain
p

As t t0 , t1 and pim ( p j , t) = 0, we get ( p j , t) = 0. As bif ( p j , t0 ) 0, i ( p j , t)


)

eE im (t0 ,t ) 0, brfki ( p j , t)

0, k = 1, . . . , , so
eE iin (t0 ,t )

i ( p j , t) 0. Thus Eq. 8 can be derived from Eq. 7:

k=1 eE bb (t ,t 0 i

r bfik ( p j , t) 0 and

bif ( p j , t ) = bif ( p j , t0 ) +
k=1 eE bb (t ,t ) 0 i

r bfik ( p j , t)

+
eE iin (t0 ,t )

i ( p j , t) < n i ( p j ),

(8)

k=1 eE ibb (t0 ,t )

r bfik ( p j , t) < n i ( p j ), r bfiv ( p j , t) eE ibb (t0 ,t )

(9) (10)

< n i ( p j ).

Because the transport tool is regarded as a special manufacturing cell, as has been said before, the front buffers of transport tools overlap with the rear ones of manufacturing cells and the rear buffers of transport tools overlap with the front ones of manufacturing cells. Thus, if cv is a manufacturing r r r bfiv ( p j , t); cell, then bv (ci , p j , t ) = bv ( p j , t ) =
eE ibb (t0 ,t )

p j , t ) = bif ( p j , t ), if cv is a transport tool, then r (c , p , t ) < n ( p ), as a result of which br (c , p , and bv i j i j j v i t0 , t1 ) = 0, no matter whether cv is a manufacturing cell or transport tool, that is, M(cv , {. . .}, p j ) = EE or M(cv , {. . .}, p j ) = FE under the condition of N odeCv N odeCi . If the capacity of the transport tool is large enough, then its part-carrying time can be omitted. On this condition, only manufacturing cells are considered for production bottleneck detection, and Proposition 1 is still applicable. In an entire production net, there are many routes from a nish cell to start cells, the rst manufacturing cell, whose state is FE in each route, called busy node. The present bottleneck detecting method determines whether to generate a bottleneck through estimating work in process. Processing times and machine failures may propagate through the entire production net. For example, if the
pj

r bv (ci ,

bif ( p j , t1 ) = bif ( p j , t0 ) +
k=1 eE bb (t0 ,t1 )
i

r bfik ( p j , t)

eE im (t0 ,t1 )

pim ( p j , t) i ( p j , t)
eE iin (t0 ,t1 )

123

J Intell Manuf

bif ( p j , t1 ) = bif ( p j , t0 )
1

+
k=1 eE bb (t0 ,t1 )
i

r bfik ( p j , t) r bfiv ( p j , t)

Step 3: If q < , q = q + 1, then go to Step 2; otherwise go to Step 4. Step 4: If n 1 v, then bif ( p j , t0 , t1 ) = 1, else bif ( p j , t0 , t1 ) = 0. Since production conditions change frequently, which may cause bottleneck shifts, it is necessary to adopt a machine learning method for shifting bottleneck analysis. The commonly used ones include: rote learning, learning from examples, learning by analogy, inductive learning, explanationbased learning, etc (Mitehell 1997; Michalski 1998). To set up a shifting bottleneck analysis subsystem for KMS, the rote learning method is employed in our study. The subsystem structure is shown in Fig. 6. The stable period detection agent detects the change of stable periods according to production plans, by which the new stable period will be put in the list of stable periods. The entire production net acquirement agent acquires the entire production nets by Algorithm 1 according to the list of stable periods and the states of general manufacturing cells, and then puts new entire production nets in the list of entire production nets. The production bottleneck detection agent divides stable period into many equal time slots, and acquires the values of front and rear buffer state function in every little time slot by Algorithm 3 according to the list of entire production nets and the states of general manufacturing cells, and then pinpoint the shifting production bottlenecks in each stable period by Algorithm 2. The rote-learning agent stores the information of stable periods, entire production nets, buffer states, and production bottlenecks in the database. The rote-learning process is depicted by Algorithm 4. By the cooperative work of the stable period detection agent, entire production net acquirement agent, production bottleneck detection agent and rote learning agent, the KMS shifting bottleneck analysis subsystem can update the knowledge of production bottleneck in time. Consequently, the capacity and efciency of production can be upgraded on basis of the knowledge of shifting production bottlenecks, stable periods and entire production nets in the database. Algorithm 4 The rote-learning for storing knowledge of production bottleneck Step 1: Let Bottleneck data set BDB = . Step 2: Acquire the stable periods knowledge (SPK), the entire production nets knowledge (EPNK) and the production bottleneck knowledge (PBK) from respective agents. Step 3: Construct knowledge data KD = {SPK, EPNK, PBK}. Step 4: If KDBDB, then BDB=BDBKD; otherwise / BDB = BDB.

+
eE ibb (t0 ,t1 )

+
k=v+1 eE bb (t0 ,t1 )
i

r bfik ( p j , t)

eE im (t0 ,t1 )

pim ( p j , t) i ( p j , t)
eE iin (t0 ,t1 ) f f

(11)
r bfiv

So, we have bi ( p j , t1 ) bi ( p j , t1 ) = ( p j , t)
eE ibb (t0 ,t1 ) r bfi ( p j , t)

0. As

eE ibb (t0 ,t1 ) f(p , t , t ) = bi j 0 1

1,

i.e., t [t0 , t1 ] , bif ( p j , t) n i ( p j ) or pim ( p j , t) > 0, so bif ( p j , t1 ) n i ( p j ) or pim ( p j , t) > 0, and bif ( p j , t0 , t1 ) = 1. It means that the capacity improvement of the other general manufacturing cells cannot change the FE state of ci , and only that of ci can upgrade the capacity of N et (ci , pl ), that is, ci B(ci , pl ) or CS B(ci , pl ). It can also be concluded that the other general manufacturing cells in the set of busy nodes CS = {cs1 , cs2 , . . . , csd } are bottlenecks, i.e., CS B(ci , pl ), the proof of which is similar to Step 1. and thus omitted. Machine learning method for shifting bottleneck analysis Proposition 2 describes how to detect the production bottleneck in terms of the ideal buffer states (see the subsection Buffer states of KMC). But in practice, if bif ( p j , t0 , t1 ) = 0, with a short total non-enabled time, then p j in the front buffer of ci is approximately continuously enabled in [t0 , t1 ]. Thus, the definition of the front buffer state function for application needs to be modied. First, divide the stable period [t0 , t1 ] into equal time slots, [t10 , t11 ], [t11 , t12 ], , [t1( 1) , t1 ], where t10 = t0 , t1 = t1 . Then the front buffer state in practice can be obtained by Algorithm 3 (where a (0, 1], and n 1 is called buffer ready percentage). The rear buffer state function can also be acquired in a similar way. Algorithm 3 Determination of front buffer state function in practice Step 1: Initialize the variables n 1 = 0, q = 1, and v = a. Step 2: Detect the value of bif ( p j , t1(q1) , tq ) in time slot (t1(q1) , tq ]. If bif ( p j , t1(q1) , tq )=1, then n 1 = n 1 + 1.

123

J Intell Manuf Fig. 6 Structure of KMS shifting bottleneck analysis subsystem

Agent of detecting stable periods Obtain stable periods according to production task Are new Yes stable periods obtained ? No Is the up Yes list empty ? Agent of obtaining entire No production net Production data Agent of obtaining temporary bottlenecks Yes No Is the right Algorithm 2 list empty ? Agent of obtaining shifting bottlenecks Rote-learning Algorithm 1 List of new stable periods

Bottleneck data

List of entire production nets

The knowledge of shifting production bottlenecks is exploited mainly for two ends. First, when the capacity of an entire production net needs to be improved, it is necessary to enhance that of the shifting production bottlenecks in the entire production net gradually until the entire production net capacity meets the requirement. Second, when the efciency of an entire production net needs upgrading, it is necessary to reduce the capacities of non-bottleneck general manufacturing cells gradually, provided that the bottleneck positions do not change in the entire production net.

transport tools in this example have capacities large enough, to be neglected in the entire production nets): Cell 1: Cell 2: Cell 3: Cell 4: Cell 5: M(c1 , { p101 }, p11 ), M(c1 , { p201 }, p21 ) M(c2 , { p102 }, p12 ), M(c2 , { p301 }, p31 ) M(c3 , { p11 , p12 }, p1 ) M(c4 , { p21 }, p22 ), M(c4 , { p302 }, p32 ) M(c5 , { p202 , p22 }, p2 ), M(c5 , { p31 , p32 }, p3 )

Computational experiment The algorithms proposed in this paper are implemented via Delphi7.0. And the KMS shifting bottleneck analysis subsystem is developed accordingly. Our experiments are made on a Pentium 2.4 G personal computer (PC) with 512 MB memory under Win 2000. It takes 0.120 sec. to obtain the entire production nets in the following example by Algorithm 1, and 0.235 sec. to detect the shifting production bottlenecks by Algorithm 2. In this experiment, the aforementioned method has been applied at the KMS originating from an automobile enterprise. The layout of the system is shown in Fig. 7 (the squares indicate buffers and the circles represent processors), and it consists of ve knowledgeable manufacturing cells {c1 , c2 , c3 , c4 , c5 }, each of which perform complex processing or assembly manipulation; in the period of t0 t8 , the task modes of the ve cells are shown below (suppose the

The production tasks in the period of t0 t8 are shown in Table 2. Table 3 shows the adjoining functions of the ve cells. The three entire production nets are obtained by Algorithm 1 in light of the data of Tables 2 and 3: N et (c3 , p1 ), N et (c5 , p2 ) and N et (c5 , p3 ), corresponding respectively to (t0 t1 , t4 t5 , t5 t6 , t7 t8 ), (t1 t2 , t4 t5 , t6 t7 , t7 t8 ) and (t2 t3 , t5 t6 , t6 t7 , t7 t8 ), as shown in Figs. 8 10. The product structures are: one p1 is composed of two p11 and ve p12 ; one p2 is composed of three p22 and two p202 ; and one p3 is composed of four p31 and two p32 . The processing times of c1 , c2 , c3 , c4 , c5 are subject to exponential distributions, as shown in Table 4. To verify the validity of the algorithms proposed in this paper, a simulated production system is built up with the cell capacities shown in Table 4. The ready buffer percentages of general cell buffers are obtained, as shown in Fig. 11. With the threshold variable v = 0.95 in Algorithm 3, the cell buffer states are given in Fig. 12. Via Proposition 2, shifting bottlenecks in various production conditions are identied (see Fig. 13 and Table 5).

123

J Intell Manuf Fig. 7 System layout

p101

p201 p21

p202

p2

p22
c4

p201

c1

p11

p32

c5

p3

p102

p31
c3

p1

p301
Table 2 Production tasks Production Stable period t0 t1 p1 p2 p3 Yes No No t1 t2 No Yes No

c2

p12

t2 t3 No No Yes

t3 t4 No No No

t4 t5 Yes Yes No

t5 t6 Yes No Yes

t6 t7 No Yes Yes

t7 t8 Yes Yes Yes

Notes: Yes refers to product being processed, No means product not being processed Table 3 Adjoining functions of ve cells in different stable periods Adjoining function Stable period t0 t1 ts = t0 te = t1
r1 bf3 ( p11 , ts , te ) r1 bf4 ( p21 , ts , te ) r2 bf3 ( p12 , ts , te )

t1 t2 ts = t1 te = t2 0 1 0 0 1 0 0

t2 t3 ts = t2 te = t3 0 0 0 1 0 1 0

t3 t4 ts = t3 te = t4 0 0 0 0 0 0 0

t4 t5 ts = t4 te = t5 1 1 1 0 1 0 0

t5 t6 ts = t5 te = t6 1 0 1 1 0 1 0

t6 t7 ts = t6 te = t7 0 1 0 1 1 1 0

t7 t8 ts = t7 te = t8 1 1 1 1 1 1 0

1 0 1 0 0 0 0

r2 bf5 ( p31 , ts , te )

r4 bf5 ( p22 , ts , te ) r4 bf5 ( p32 , ts , te )

Fig. 8 Entire production net N et (c3 , p1 )

p 101

p 11
r

b1

c1

b1

p 11 p 12

p1
r

p 102 b2
f

p 12
r

b3

c3

b3

c2

b2

The results of bottleneck detection by a simulated experiment are presented in Fig. 13. For example, for the rst row and the rst column, T0-Tl-N31 shows that the product p1 is produced in the entire production net N et (c3 , p1 )(consists of cells c1 , c2 and c3 ) in the stable period [t0 , t1 ]. Based

on the results shown in Fig. 13, running states of production cells and results of bottleneck detection are recorded in Table 6. The results given in Table 6 indicate that production bottleneck is shifting from one cell to another in different periods.

123

J Intell Manuf Fig. 9 Entire production net N et (c5 , p2 )

p201 b1f c1

p21 b1r

p21
f b4

p22 c4
r b4

p22 p202 b5f c5

p2 b5r

p202
Fig. 10 Entire production net N et (c5 , p3 )

p 301
f

p 31
r

p 31 p 32

b2 p 302
f

c2

b2 p 32
r

p3

b5

c5

b5

b4

c4

b4

Table 4 Parameters of negative exponential distributions under different production state Processing cell: Parts and products: Sole part or product processed Multi-parts or products simultaneously produced Fig. 11 Ready buffer percentages of general manufacturing cells. Note: Tk-Tl-Nij,Front, Rear, Cm shows the entire production net N et (ci , p j ) in the stable period [tk , tl ], the front buffer, the rear buffer, and manufacturing cell cm respectively c1 p11 0.1250 0.0833 p21 0.0400 0.0294 c2 p12 0.3333 0.2000 p31 0.0833 0.0714 c3 p1 0.0500 c4 p22 0.0357 0.0286 p32 0.0667 0.0385 c5 p2 0.0133 0.0122 p3 0.0313 0.0263

Based on the product structures and parameters of negative exponential distributions for parts and products being processed in different production periods shown in Table 4, the theoretical production bottlenecks can be determined through

computing the expectation of production time (see Table 7). For instance, in the whole system, there is only one product p1 being processed in the cell c3 in the rst stable period, one product p1 consisting of two parts p11 and ve parts p12

123

J Intell Manuf Fig. 12 Buffer states of knowledgeable manufacturing cells. Note: Tk-Tl-Nij means the same as that in Fig.11., FF, FE, EF, EE represent the states of whether or not the front and rear buffer being continuously enabled, and E, F refer to the state of the buffer not being continuously enabled and continuously enabled respectively

Fig. 13 Shifting production bottlenecks under different production state. (Note: Yes means corresponding production net being manufacturing, No denotes corresponding production net being not working)

are produced in the cells c1 and c2 respectively. Since only one part or product is processed in each cell in this period, parameters of negative exponential distributions of processing time are 11 = 0.1250, 12 = 0.3333, and 1 = 0.0500 (let i j and i denote parameters of negative exponential distributions of processing time of part pi j and product pi respectively). The processing time expectation of one p11 is E(t11 ) = 1/11 = 8minutes, that of one p12 is E(t12 ) =

1/12 = 3minutes, and that of one p1 is E(t1 ) = 1/1 = 20minutes. Thus, as max{2E(t11 ), 5E(t12 ), E(t1 )} = E(t1 ) and product p1 is processed in the cell c3 ,so c3 can be determined as theoretical production bottleneck. For the stable period, the system simultaneously processes two products p2 and p3 , and related product cells are c1 , c2 , c4 and c5 . Since parts p21 and p31 are processed solely in the cells c1 and c4 respectively, parameters of negative exponential distributions

123

J Intell Manuf Table 5 Results of shifting bottleneck analysis in different stable periods Stable period t0 t1 t1 t2 t2 t3 t3 t4 t4 t5 t5 t6 t6 t7 t7 t8 Entire production net N et (c3 , p1 ) N et (c5 , p2 ) N et (c5 , p3 ) None N et (c3 , p1 ) N et (c5 , p2 ) N et (c3 , p1 ) N et (c5 , p3 ) N et (c5 , p2 ) N et (c5 , p3 ) N et (c3 , p1 ) N et (c5 , p2 ) N et (c5 , p3 ) Shifting bottleneck c3 c4 c2 None c1 c1 c2 c2 c4 c4 c2 c4 c2 Table 7 Theoretical production bottlenecks Production statement of corresponding cell p1 c1 Yes No No Yes Yes No Yes c2 c3 p2 c1 No Yes No Yes No Yes Yes c4 c5 p3 c2 No No Yes No Yes Yes Yes c4 c5 c3 c4 c2 c1 c2 c4 c 2 c4 Theoretical production bottlenecks

Notes: Yes refers to product being processed, No means product being not processed

of processing time, taken from the third row in Table 4, are 21 = 0.0400 and 31 = 0.0833, and the processing time expectations of one p21 and p31 are E(t21 ) = 1/21 = 25minutes and E(t31 ) = 1/31 = 12 minutes, while parts p22 and p32 are simultaneously processed for products p2 and p3 in the cell c4 , so that parameters of negative exponential distributions of processing time, taken from the fourth row in Table 4, are 22 = 0.0286 and 32 = 0.0385. The processing time expectations of one p22 and p32 are E(t22 ) = 1/22 = 35minutes and E(t32 ) = 1/32 = 26minutes. Also we can obtain E(t2 ) = 82minutes and E(t3 ) = 38minutes to produce one p2 and p3 respectively, while p202 is a component and its processing time expectation E(t202 ) = 0. Seen from the product structures and processing time expectations as presented above, as max{3E(t22 ), 2E(t202 ), E(t2 ), 4E(t31 ), 2E(t32 ), E(t3 )} = 3E(t22 ) and part p22 is processed in the cell c4 , so c4 can be determined as theoretical production bottleneck. Comparing Tables 5 and 7 the consistency of shifting bottlenecks with theoretical ones is conrmed, which proves the effectiveness of our method.

The shifting bottlenecks represent the manufacturing cells that impede the capacity of the production system in the strongest manner. The requirement for the capacity upgrade of the entire production net calls for the capacity improvement of shifting bottlenecks. On the other hand, when the capacity of non-bottleneck cell is reduced, the efciency of the entire production net will be improved. The proposed shifting bottleneck analysis approach works well in throwing light upon rational allocation of manufacturing cell capacity.

Conclusions Since most existing bottleneck detection methods mainly suit serial production line, a net-like model for KMS shifting bottleneck detection is proposed in this paper, which adapts well to highly exible and intelligent manufacturing systems. Based on the model, the concept of entire production net and a method for identifying bottlenecks in such nets are presented. As the transport tools are taken as special manufacturing cells, such a model can be applied to almost all kinds of production systems, for example, as has been already pointed out, assembly/disassembly networks

Table 6 Running states of production cells and results of bottleneck detection Production cells Stable period t0 t1 c1 c2 c3 c4 c5 r-n r-n r-b stopping stopping t1 t2 r-n stopping stopping r-b r-n t2 t3 stopping r-b stopping r-n r-n t3 t4 stopping stopping stopping stopping stopping t4 t5 r-b r-n r-n r-n r-n t5 t6 r-n r-b r-n r-n r-n t6 t7 r-n r-n r-n r-b r-n t7 t8 r-n r-b r-n r-b r-n

Note: r-n denotes running and non-bottleneck, r-b means running and bottleneck

123

J Intell Manuf

system, and non-linear multi-product multi-stage lines system, etc. The expected benet from the proposed approach is to redound greatly to the throughput of a production system by detecting and eliminating production bottlenecks efciently. One manufacturing cell may process a variety of products, and the same manufacturing cell can be a bottleneck to product A but non-bottleneck to product B. Since the entire production net is constructed according to product structure and if products are manufactured one kind after another, the bottlenecks detected in the entire production net correspond to the product or products being manufactured. As a result, this method can not only detect the bottleneck cell, but also determine what capacity of the manufacturing cell may result in the bottleneck. Because several kinds of products are usually manufactured in KMS at the same time and some manufacturing cells may be simultaneously connected with different entire production nets, a bottleneck may not correspond to a single kind of product, but to the joint effects of many kinds of products being simultaneously manufactured. Since the buffer states of manufacturing cells in Algorithm 2 result from many kinds of products being simultaneously manufactured, it can detect such a bottleneck. In a real manufacturing system, the production conditions may change frequently. As most existing bottleneck detection methods have one implicit assumption that the bottlenecks detected are under the constant production condition, so it is hard to apply them in practice. In this paper, a self-learning approach is applied to the storage of shifting bottleneck knowledge and their conditions in the knowledge base for mining knowledge to determine what cells need improving under such conditions. Since the rear and front buffer state functions are modied in Algorithm 3, the bottleneck detection method can still work when the capacity of one manufacturing cell is stochastic. The examples cited and analyzed help to conrm the effectiveness of this shifting bottleneck analysis method. However, with the quantitative information in Algorithm 3 neglected, only the qualitative results (i.e., those pinpointing production bottleneck cells) are obtained by the proposed approach to shifting bottleneck detection. Thus, for future study we will probe further into the way the bottleneck cell impedes the capacity of production system, based upon such the quantitative information by which the optimal capacity adjustment is calculated and made.
Acknowledgements This work is supported in part by the National Natural Science Foundation of China under Grants 60574062 and 5087 5046 and by the National High Tech R & D Program of China under Grant 2007AA04Z112. We thank the anonymous referees and Professor Li Lu very much for their valuable comments.

References
Banaszak, Z. (1997). Distributed bottleneck control for repetitive production systems. Journal of Intelligent Manufacturing, 8(5), 415 424. doi:10.1023/A:1018510300148. Chiang, S. Y., Kuo, C. T., & Meerkov, S. M. (2000). DT-bottlenecks in serial production lines: theory and application. IEEE Transactions on Robotics and Automation,16(5), 567580. doi:10.1109/70.880806. Chiang, S. Y., Kuo, C. T., & Meerkov, S. M. (1998). Bottlenecks in Markovian production lines: A systems approach. IEEE Transactions on Robotics and Automation,14(2), 352359. doi:10.1109/70. 681256. Colledani, M., Gandola, F., Matta, A., & Tollo, T. (2008). Performance evaluation of linear and non-linear multi-product multi-stage lines with unreliable machines and nite homogeneous buffers. IIE Transactions, 40(6), 612626. doi:10.1080/07408170701745345. Goldratt, E. M. (1990). Theory of Constraints. New York: North Press. Hernandez-Matias, J. C., Vizan, A., Hidalgo, A., & Rios, J. (2006). Evaluation of techniques for manufacturing process analysis. Journal of Intelligent Manufacturing, 17(5), 571583. doi:10.1007/ s10845-006-0025-1. Helber, S. (1998). Decomposition of unreliable assembly/disassembly networks with limited buffer capacity and random processing times. European Journal of Operational Research, 109(1), 2442. doi:10. 1016/S0377-2217(97)00166-5. Jacobs, D., & Meerkov, S. M. (1993). On the process of continuous improvement in production systems: fundamentals properties and guidelines. Report No.CGR-93-10, USA: Department of Electrical Engineering and Computer Science, University of Michigan. Kale, N., Zottolo, M., lgen, O. M., & Williams, E. J. (2007). Simulation improves end-of-line sortation and material handling pickup scheduling at appliance manufacturer. Proceedings of the 2007 winter simulation conference (pp. 18631868), Washington, D.C., USA. Kusiak, A. (2000). Computational Intelligence in Design and Manufacturing. John Wiley: New York. Kuo, C. T., Lim, J. T., & Meerkov, S. M. (1996). Bottlenecks in serial production lines: a systems approach. Proceedings of the 35th IEEE conference on decision and control (pp. 27512756), Kobe, Japan. Li, J. S., & Meerkov, S. M. (2000). Bottlenecks with respect to duetime performance in pull serial production lines. Proceedings 2000 ICRA. millennium conference. The IEEE international conference on Robotics & Automation (pp. 26352640), San Francisco, California, USA. Mitehell, T. M. (1997). Machine Learning. New York: Mc Graw-Hill Companies, Inc. Michalski, R. S., Bratko, I., & Kubat, M. (1998). Machine Learning and Data Mining: Methods and Applications. New York: John Wiley & Sons, Inc. Moss, H. K., & Yu, W. B. (1999). Toward the estimation of bottleneck shiftiness in a manufacturing operation. Production and Inventory Management Journal, 4(2), 5358. Radovilsky, Z. D. (1998). A quantitative approach to estimate the size of the time buffer in the theory of constraints. International Journal of Production Economics, 155(2), 113119. doi:10.1016/S09255273(97)00131-X. Roser, C., Nankano, M., & Tanaka, M. (2002). Shifting bottleneck detection. 2002 Winter simulation conference proceedings (pp. 10791086), San Diego, CA, USA. Roser, C., Nankano, M., & Tanaka, M. (2001). A practical bottleneck detection method. 2001 Winter simulation conference proceedings (pp. 949953), Arlington, Virginia, USA. Shi, W. W. (2007). Research on self-learning-based production and operations management in knowledgeable manufacturing systems. Ph.D. dissertation, Nanjiang, China: Southeast University. (in Chinese).

123

J Intell Manuf Soares, A. L., Azevedo, A. L., & Sousa, J. P. D. (2000). Distributed planning and control systems for the virtual enterprise: Organizational requirements and development life-cycle. Journal of Intelligent Manufacturing, 11(3), 253270. doi:10.1023/A: 1008967209167. Verma, R. (1997). Management science, the theory of constraints/optimized production technology and local optimization. Omega, 25(2), 189200. doi:10.1016/S0305-0483(96)00060-6. Yan, H. S., & Liu, F. (2001). Knowledgeable manufacturing system a new kind of advanced manufacturing system. Computer Integrated Manufacturing System-CIMS, 7(8), 711. (in Chinese). Yan, H. S. (2006). A new complicated-knowledge representation approach based on knowledge meshes. IEEE Transactions on Knowledge and Data Engineering, 18(1), 4762. doi:10.1109/ TKDE.2006.2. Zhuang, L., Wong, Y. S., Fuh, J. Y. H., & Yee, C. Y. (1998). On the role of a queueing network model in the design of a complex assembly system. Robotics and Computer Integrated Manufacturing, 14(2), 153161. doi:10.1016/S0736-5845(97)00023-9.

123