Job shop bottleneck detection based on orthogonal experiment

Job shop bottleneck detection based on orthogonal experiment

Computers & Industrial Engineering 61 (2011) 872–880 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: ...

302KB Sizes 0 Downloads 12 Views

Computers & Industrial Engineering 61 (2011) 872–880

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Job shop bottleneck detection based on orthogonal experiment q Yingni Zhai ⇑, Shudong Sun, Junqiang Wang, Ganggang Niu Institute of System Integration and Engineering Management, Northwestern Polytechnical University, Xi’an 710072, China Key Lab. of Contemporary Design and Integrated Manufacturing Technology, MOE, China

a r t i c l e

i n f o

Article history: Received 16 November 2010 Received in revised form 25 May 2011 Accepted 30 May 2011 Available online 1 July 2011 Keywords: Job shop Prior-to-run Bottleneck detection Orthogonal experiment

a b s t r a c t A new prior-to-run bottleneck detection method based on orthogonal experiment (BD–OE) is proposed for job shop from the perspective of scheduling. It is built according to a new bottleneck definition which is proposed based on the principle of ‘‘Bottlenecks determine the performance of manufacturing systems’’ in TOC. The method takes the scheduling objective as estimated index, and constructs orthogonal trials by orthogonal array and dispatching rules to detect the bottleneck machine which has the greatest effect on the estimated index. It can detect the bottleneck machine before manufacturing systems run, and guide the following production process for the improvement of the performance of manufacturing systems. In order to evaluate the performance of the proposed method, different scales of job shop scheduling instances and two existing bottleneck detection methods are selected for simulation. The results show that the prior-to-run bottleneck detection method is feasible, efficient and easily implemented. Ó 2011 Elsevier Ltd. All rights reserved.

1. Introduction Each manufacturing system has bottleneck which constrains the performance of the system. According to the Theory of Constraints (TOC) (Goldratt & Cox, 1986; Watson, Blackstone, & Gardiner, 2007), the throughput of manufacturing systems is constrained by the capacity of bottleneck machines. In most situations, the final throughput of manufacturing systems could be notably improved if the bottleneck machines are well scheduled and controlled. However, how to define the bottleneck and how to design an easily-implemented bottleneck detection method are still problematic at present. There are two frequently-used methods for bottleneck detection in manufacturing systems. One method detects bottleneck by measuring the utilization or workload of each machine (Kasemset & Kachitvichyanukul, 2007; Zuo, Gu, & Xi, 2007). The machine with the highest utilization or workload is considered to be bottleneck. This method is very simple and can be implemented easily. However it cannot make sure which machine is the bottleneck when more than one machine has the same utilization or workload. Another approach detects bottleneck by measuring the waiting time or queue length of the unprocessed jobs in front of each machine (Lawrence & Buss, 1994; Zhuang, Wong, Fuh, & Yee, 1998). The machine with the longest waiting time or queue q

This manuscript was processed by Area Editor T.C. Edwin Cheng.

⇑ Corresponding author. Address: P.O. Box 554, School of Mechatronics, Northwestern Polytechnical University, Youyixilu 127, Xi’an, Shaanxi Province 710072, China. Tel.: +86 13484467975. E-mail addresses: [email protected], [email protected] (Y. Zhai). 0360-8352/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2011.05.021

is considered to be bottleneck. However, the accuracy of the approach is compromised if the number of the unprocessed jobs exceeds the maximum buffer size. Furthermore, the approach analyzes only the processing machines of the manufacturing system. Some system-theoretical approaches are proposed for bottleneck detection. Li, Chang, and Ni (2009) propose a data driven bottleneck detection method which utilizes the blockage and starvation probabilities and buffer content records in production line to detect bottleneck. Sengupta, Das, and VanTil (2008) analyzes the inter-departure time from different machines to identify and rank the bottlenecks. The machine with minimum total time spent in blocked-up and blocked-down states is the number one bottleneck machine. Ching, Meerkov, and Zhang (2008) provides a bottleneck detection method using the frequencies of machine blockages and starvations in assembly systems. These system-theoretical approaches usually need to accumulate and process a lot of production data to detect bottlenecks, such as the blockage possibilities/time/frequencies of each machine, the starvation possibilities/time/frequencies of each machine, and the inter-departure time of each machine. They can detect bottleneck only if manufacturing systems have run for a long time. Also the bottleneck detection process of the system-theoretical approaches is very complicated. Usually they are used in production lines which consist of machines arranged in consecutive order and buffers separating each two adjacent machines. It is not easy for the system-theoretical bottleneck detection approaches to be implemented in the more complex job shop environment. Roser, Nakano, and Tanaka (2001) divides all the possible states of machines into two groups, being either active states or inactive states. The machine with the longest average active period is

873

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880

considered to be the bottleneck. The bottleneck detection method is improved by distinguishing between shifting bottlenecks and sole bottlenecks (Roser, Nakano, & Tanaka, 2002). The machine with the largest total percentage of sole bottleneck and shifting bottleneck over a period of time is the primary bottleneck. The method can be easily implemented, and is also reliable to detect bottleneck in job shops. But it needs much time to get the information describing the change in the status of the different machines. Most of the existing bottleneck detection methods are posterior-to-run approaches which detect the bottlenecks after manufacturing systems run. Usually, the accumulation and processing of production data are time-consuming. Also, the accuracy of these methods depends on the amount of the production-data accumulated for each machine. If the period of the production-data accumulation is too long, then the data of the prophase would be invalid since production environment is dynamic, changing from time to time. If the period of the production-data accumulation is too short, then it cannot detect the bottleneck accurately for insufficient production-data accumulation. Moreover the posterior-to-run bottleneck detection approaches just concentrate on the characters of the machines, and do not take the production objectives of manufacturing systems into account. So the effect of the bottleneck machines on the improvement of the production objectives will be compromised. In this paper, a new prior-to-run bottleneck detection method for job shop is proposed. The method is based on orthogonal experiment, and takes the scheduling objective of the manufacturing system as the estimated index. By combining different dispatching rules according to the orthogonal array, a finite number of typical orthogonal trials are carried out to detect bottleneck. The bottleneck detected in advance can guide the following planning, scheduling, and preparation to make the manufacturing system run more efficiently. Also, the method does not require a long time of production data accumulation. So it can detect the bottleneck quickly and efficiently, and is more suitable for the dynamic production environment of job shop. Moreover it takes the production objective of the manufacturing system into account adequately. In order to analyze the performance of the prior-to-run bottleneck detection method based on orthogonal experiment (BD–OE), we choose the shifting bottleneck detection method (SBD) (Roser et al. 2002) which is a posterior-to-run bottleneck detection method but with high accuracy for comparison. Moreover the frequently-used bottleneck detection method which regards the machine with the maximum workload as the bottleneck is also selected for comparison, and we call it MWL for short. We use the three bottleneck detection methods of MWL, BD–OE and SBD to detect the bottlenecks in different scales of job shop scheduling instances. The results show the efficiency of BD–OE is worse than MWL, but far better than SBD, and the reliability of BD–OE is the best among the three bottleneck detection methods. Furthermore, BD–OE is implemented according to the bottleneck definition which reflects the objective of the manufacturing system, so we also analyzed the influence of objective variation on the bottleneck shifting. Several scheduling objectives, including makespan and total weighted tardiness with different due-date tightnesses, are selected and used for the bottleneck detection. The detection results show that the objective variation does have an effect on the bottleneck shifting. Variations of the objectives which have no complete linear correlation between each other may cause the shifting of bottleneck. This paper is organized as follows: The definition of bottleneck for job shop is described in Section 2. Section 3 gives the principle and procedure of BD–OE. The performance of BD–OE and the influence of objective variation on the bottleneck shifting are analyzed in Section 4. Finally, some conclusions are given in Section 5.

2. The definition of bottleneck and the correlative theorem For the job shop, the schedule of machines greatly affects the objective of the manufacturing system. Different schedule for each machine could produce different objective values. According to TOC, bottlenecks determine the performance of manufacturing systems, so the alteration of the schedule of bottleneck machine will bring about the maximum change of the objective value. In other words, bottleneck is the machine whose schedule alteration has the greatest influence on the objective value of the manufacturing system. Therefore, the bottleneck can be defined as follows: Definition 1. Let m be the number of the machines in the manufacturing system, si denote the schedule of machine i, i = 1, 2, . . ., m, and f denote the objective value. Then the sensitivity of the objective value’s change to the schedule alteration for machine i is

ei ¼

Df i ; Dsi

i ¼ 1; 2; . . . ; m

ð1Þ

Definition 2. The machine with the largest ei is the bottleneck (BN). Namely,

BN ¼ arg



max ei

 ð2Þ

i¼1;2;;m

From the definitions above, it can be easily known that bottleneck is closely related to the objective of the manufacturing system. Because different objectives of the manufacturing system have different optimized schedules, the optimization performance of a schedule on one objective is not equal to another objective. Then the effect of the schedule alteration on one objective is not equal to another objective, and a machine whose schedule alteration has the greatest influence on the objective value may not have the greatest influence on another objective value. So if the objective of the manufacturing system varies, then the bottleneck may shift accordingly. Therefore we have the theorem as follows: Theorem 1. If there is a complete linear correlation between different objectives of the manufacturing system, then the bottleneck cannot shift when the objective varies. On the contrary, bottleneck may shift if there is no complete linear correlation between different objectives. Proof. Suppose f, g are the two different objectives of the manufacturing system, and there is a complete linear correlation between them. Therefore:

f ðsÞ ¼ agðsÞ þ b

ð3Þ

where a and b are constants, s is the schedule for the machines of the manufacturing system. Then

Dfi Dg ¼a i Ds i Dsi

ð4Þ

max

ð5Þ

  Df i Dg ¼ max a i Dsi Ds i     Dfi Dg arg max ¼ arg max a i Ds i Ds i     Dg Dg * arg max a i ¼ arg max i Dsi Ds i     Dfi Dg i ) arg max ¼ arg max Ds i Ds i

ð6Þ ð7Þ 

ð8Þ

874

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880

According to Definition 2

  Dfi ; BNðf Þ ¼ arg max Ds i



 Dg BNðgÞ ¼ arg max i ; Dsi

i ¼ 1; 2; . . . ; m

ð9Þ

Thus

BNðf Þ ¼ BNðgÞ

ð10Þ

It means that the bottleneck will not shift with the variation of objective if there is a complete linear correlation between the objectives. On the contrary, if there is no complete linear correlation between f and g, then Eq. (3) will not come into existence. Therefore the Eqs. (4)–(6) are not always valid. So BN(f) and BN(g) cannot be always equal. So the bottleneck may shift if there is no complete linear correlation between different objectives. 3. The prior-to-run bottleneck detection method Orthogonal experiment (Shi, Wei, & Yingchao, 2009) is an effective and scientific method for the multi-level factorial experimental design. It is based on the principle of probability theory, mathematical statistics and orthogonality. By selecting a finite number of typical trials from the numerous trials, it offers excellent fractional-factorial design for investigating the effect of each factor on the estimated index in order of priority.

of the orthogonal experiment. Accordingly, the machines of the manufacturing system correspond to the factors of the orthogonal experiment, and the dispatching rules for each machine correspond to the levels for each factor. In this way, bottleneck detection can be corresponded to an orthogonal experiment. The corresponding relations between the elements of an orthogonal experiment and the elements of bottleneck detection are shown in Table 1. Orthogonal experiment is designed by the orthogonal array. An orthogonal experiment contains a number of orthogonal trails which can be generated by the orthogonal array. Orthogonal array has the properties of orthogonality, uniform scatterance and orderly comparability. The digit varieties of each column in the orthogonal array are the same, and the numbers of different digit pairs formed by combining two arbitrary columns in the orthogonal array are the same. So the orthogonal trials generated by orthogonal array are distributed evenly and representatively. The form of orthogonal array is Ltu ðtq Þ, and the meaning of each characters is: L—the signal of orthogonal design; t—the number of levels in the orthogonal experiment; u—the integer series, and u = 2, 3, . . .; q—the number of the factors in the orthogonal experiment or the number of columns in the orthogonal array and q = (tu  1)/(t  1); tu—the number of orthogonal trials in the orthogonal experiment or the number of rows in the orthogonal array.

3.1. The principle of BD–OE According to Definitions 1 and 2, bottleneck is the machine which has the largest ei. In order to calculate ei, it needs a variety of schedules for each machine at first. Because the scheduling problem is NP-hard problem, generating schedules by complex algorithm is costly and time-consuming. Dispatching rule is one of the most easily-implemented and efficient scheduling methods, so the combination of dispatching rules can rapidly generate different schedules for the machines. However it is still difficult to get the bottleneck according to the bottleneck definitions by processing the schedules which are generated by the combination of dispatching rules. Suppose that the number of dispatching rules is r, then the number of the combinations of dispatching rules is rm (m is the number of the machines). If the number of dispatching rules or the number of the machines is bigger, the number of the combinations of dispatching rules increases exponentially, and then the computing time for the calculation of ei is immeasurable. In addition, the schedule alteration (Dsi) in Definition 1 cannot be measured quantitatively. Therefore it is impossible to detect the bottleneck by using the two definitions directly. We propose an indirect bottleneck detection method which is based on orthogonal experiment (BD–OE). BD–OE requires neither the calculation of Dfi nor the calculation of Dsi. It treats ei as a whole, and can obtain ei of each machine by using orthogonal experiment. The essentials of orthogonal experiment are factors, levels, estimated index and key factor. The factors are the elements or cause which affect the estimated index; the states that the factors being at are the levels. Because the change of the level of each factor can bring about the change of the estimated index value, the key factor is the factor whose level change has the greatest effect on the estimated index. According to Definition 2, bottleneck is the machine whose schedule alteration has the greatest effect on the objective of the manufacturing system. So if the objective of the manufacturing system corresponds to the estimated index of an orthogonal experiment, then the bottleneck just corresponds to the key factor

For the orthogonal array of L9(34), it means that the orthogonal experiment has 3 levels, 4 factors, and 9 orthogonal trials. The content of L9(34) is shown in Table 2. (The formation, the construction method and the principle for the selection of orthogonal array are very mature which can be found in the related textbook or internet.) According to the selection principle of orthogonal arrays, if the number of dispatching rules for each machine is r, then the orthogonal array for the bottleneck detection should be Ln ðrq Þ; q P m; n ¼ rk ðk ¼ 2; 3   Þ (Shi et al., 2009); where n is the number of orthogonal trials, and q is the number of columns in orthogonal array. According to the characters of orthogonal array, each dispatching rule occurs the same n/r times in all orthogonal

Table 1 Corresponding relations between orthogonal experiment and bottleneck detection. Elements of orthogonal experiment

Elements of bottleneck detection

Factors Levels Estimated index Key factor

Machines of the manufacturing system Dispatching rules for machines Objective of the manufacturing system Bottleneck

Table 2 The orthogonal array of L9(34). Trials

1 2 3 4 5 6 7 8 9

Factors Factor1

Factor2

Factor3

Factor4

1 1 1 2 2 2 3 3 3

1 2 3 1 2 3 1 2 3

1 2 3 2 3 1 3 1 2

1 2 3 3 1 2 2 3 1

875

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880

trials for each machine. The numbers of different dispatching-rule combinational pairs for two arbitrary machines are the same. Therefore, it can exclude the interference from other machines when measuring the effect of the schedule alteration of a machine on the objective value of the manufacturing system. Since n  rm, BD–OE can reduce the experimental times and work greatly. Let yij be the estimated index value of factor i at level j in an orthogonal trial, and Ri be variance of each factor i. According to the principles of orthogonal experiment, Ri can be computed by Eq. (11) (Shi et al., 2009).

(

Iij ¼ Ri ¼

P

yij

maxðIij ÞminðIij Þ n=r

i ¼ 1; 2; . . . ; m;

j ¼ 1; 2; . . . ; r

ð11Þ

where Iij is the sum of yij for factor i at level j in all orthogonal trials. Ri reflects the effect of different levels of factor i on the estimated index. If the R of one factor is big, it means different levels of this factor have the great effect on the estimated index value. Usually this factor is the main factor. On the contrary, if the R of one factor is small, then it means different levels of this factor have less effect on the estimated index value. Usually this factor is the minor factor. The factor with max (Ri) is the key factor whose level change has the greatest effect on the estimated index. According to Definitions 1 and 2, bottleneck is the machine whose schedule alteration has the greatest effect on the objective of the manufacturing system. So if the elements of an orthogonal experiment are corresponded to the elements of bottleneck detection according to Table 1, then the machine with max (Ri) is the bottleneck in Definition 2. Thus bottleneck detection can be neatly and simply implemented by orthogonal experiment. 3.2. The procedure of BD–OE 3.2.1. Selecting factors, levels and appropriate orthogonal array In the orthogonal experiment of BD–OE, the factors are the machines in the manufacturing system. We adopted 13 dispatching rules (Haupt, 1989) which are displayed in Table 3 as the levels for each factor. The estimated index is the scheduling objective of the manufacturing system. The orthogonal array can be selected or constructed according to the number of machines and dispatching rules in the specific detection problem. 3.2.2. Constructing the orthogonal trials in the orthogonal experiment of BD–OE By transforming the digits of the orthogonal array into the dispatching rules, the corresponding orthogonal trials can be acquired. For example, a bottleneck detection problem with three machines and three dispatching rules corresponds to an orthogonal experiment including three factors and three levels, and the L9(34) orthogonal array should be selected. The parameters and the orthogonal trials are shown in Tables 4 and 5. Table 3 Dispatching rules for the orthogonal experiment. No.

Rule

Description Jobs selected which has . . .

1 2 3 4 5 6 7 8 9 10 11 12 13

FCFS SPT LPT LWR MWR LOR MOR NINQ WINQ EDD ODD SL OSL

Arrived at queue first; (‘‘first come, first serve’’) The shortest processing-time The longest processing-time The least work remaining The most work remaining The fewest number of operations remaining The greatest number of operations remaining The least number of jobs in the queue of its next operation The least total work in the queue of its next operation The earliest due date The earliest operation due date The smallest slack The smallest operation slack

Table 4 The parameters of the orthogonal experiment. Levels

Factors Machine 1

Machine 2

Machine 3

1 2 3

FCFS SPT LPT

FCFS SPT LPT

FCFS SPT LPT

Table 5 The orthogonal trials in the orthogonal experiment. Trial

Factors Machine 1

Machine 2

Machine 3

Index value yi

1 2 3 4 5 6 7 8 9 Ii1 Ii2 Ii3 R

1(FCFS) 1(FCFS) 1(FCFS) 2(SPT) 2(SPT) 2(SPT) 3(LPT) 3(LPT) 3(LPT) I11 I12 I12 R1

1(FCFS) 2(SPT) 3(LPT) 1(FCFS) 2(SPT) 3(LPT) 1(FCFS) 2(SPT) 3(LPT) I21 I22 I23 R2

1(FCFS) 2(SPT) 3(LPT) 2(SPT) 3(LPT) 1(FCFS) 3(LPT) 1(FCFS) 2(SPT) I31 I32 I33 R3

y1 y2 y3 y4 y5 y6 y7 y8 y9 – – – –

3.2.3. Carrying out the trials in the orthogonal experiment of BD–OE The work of this step is to obtain the estimated index value of each orthogonal trial. The estimated index value is the scheduling objective value which can be obtained by decoding the combination of dispatching rules. The decoding algorithm is as follows (Wang, 2003). Suppose that (r1, r2, . . . , rm) represents an orthogonal trial in the orthogonal experiment of BD–OE. Where m is the number of the machines, ri(i = 1, 2, . . ., m) is the dispatching rule for machine i. Let PS denote the set of the operations which are scheduled, and S denote the set of operations to be scheduled currently. The earliest start time for operations i in S is ri, and the earliest predicted completion time for operations i in S is /i. C denotes the set of conflicting operations which satisfy the schedule condition. Step 1: Let PS £. Let S be the operation set which has no previous operations. Step 2: Get /⁄ = min ieS{/i}, and the corresponding machine m⁄. If there is more than one machine, choose one machine randomly. Step 3: Establish C by the operations which are processed on m⁄ and satisfy the condition of ri < /⁄(i e S). Select one operation s from C according to rm (the dispatching rule for m⁄). If there is more than one operation, choose one operation randomly. Step 4: PS PS [ s. Update S. Step 5: If S = £, then the algorithm stops and gives the scheduling objective value. Otherwise go to step 2. 3.2.4. Analyzing the results of the orthogonal trials to detect bottleneck After the estimated index value of each orthogonal trial is obtained, the effect of each machine’s schedule alteration on the manufacturing system’s objective can be got by calculating the variance of each factor according to Eq. (11). The machine with the biggest variance value is the bottleneck. 4. Simulation and analysis In order to analyze the performance of BD–OE and the influence of the objective variation on the bottleneck shifting, we adopt the

876

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880

job shop scheduling benchmark instances for simulation; including different scales of 50, 75, 100, 150, 200, 300 operations; 24 instances in sum. Each scale contains 4 instances. The simulation details of each instance (such as the number of machines, the number of jobs, the number of operations, the processing time for each operation, and the processing routine) are showed on http:// people.brunel.ac.uk/~mastjjb/jeb/orlib/files/jobshop1.txt. 4.1. Analyzing the performance of BD–OE We select the frequently-used bottleneck detection method (MWL) which regards the machine with the maximum workload as the bottleneck for comparison. On the other hand, because shifting bottleneck detection method (SBD) has better reliability among the existing bottleneck detection methods (Lima, Chwif, & Barreto, 2008; Roser, Nakano, & Tanaka, 2003), we also select SBD to evaluate the performance of BD–OE. SBD is a posterior-to-run bottleneck detection method, so an optimal schedule should be computed in advance to calculate the active periods of each machine for the bottleneck detection. Since CHIEA (Clonal selection and hyper mutations based immune evolution algorithm), which is developed by Niu, Sun, Yu, and Ma (2006), has better performance in terms of time-consuming and solutionquality for solving JSP (Job shop scheduling problem) with the objective of Cmax. So we adopt CHIEA to compute the optimal schedule for SBD. For each instance, we select the top 10 best solution in the 100 runs to calculate the average active periods of each machine. The selected dispatching rules for BD–OE include FCFS, SPT, LPT, LWR, MWR, LOR, MOR, NINQ, and WINQ. The orthogonal array is L81(910). The simulation results of MWL, BD–OE and SBD are shown in Table 6 (in Table 6 the column of ‘‘Bottleneck’’ is the machine number). From Table 6, we can see that there are 10 instances for which the bottlenecks detected by the three methods are different. Among the 10 inconsistent instances, the bottlenecks detected by MWL and BD–OE are the same for two instances (LA04 and LA16), and the bottlenecks detected by BD–OE and SBD are the same for 5 instances (LA21, LA22, LA26 and LA27).

Because the bottleneck definition is based on the job shop schedule and one of the purposes of bottleneck detection is to guide the job shop scheduling, we adopt the degree of scheduling optimization using the detected bottlenecks for the 10 inconsistent instances to judge the three methods. For example, if the scheduling result of one instance using the bottleneck detected by BD–OE is better than MWL, then BD–OE is more reliable than MWL for this instance. According to TOC, ‘‘Bottlenecks determine the performance of manufacturing systems’’, so more attention should paid to the bottleneck machines in manufacturing systems, and bottleneck machines should be scheduled more deeply than non-bottleneck machines in the job shop scheduling problems. We choose the standard Genetic Algorithm (GA) for the thorough and optimized scheduling of the bottleneck machines, and the dispatching rule of SPT for the fast scheduling of the non-bottleneck machines to satisfy the schedules of the bottleneck machines. The scheduling objective is still makespan (Cmax). As for GA, the operation-based representation method is used to perform the encoding operation; the LOX method is used to perform the crossover operation and the SWAP method is used to perform the mutation operation (Cheng, Gen, & Tsujimura, 1996, 1999). The parameters of GA are as follows: The The The The

crossover probability pc = 0.9; mutation probability pm = 0.1; population size popsize = 50; number of generations GN = 200;

Table 7 gives the scheduling results of the 10 inconsistent instances using the bottlenecks detected by the three methods, and Fig. 1 gives the line graph of the results for comparison. 4.1.1. Analysis of the reliabilities of the three methods From Table 7 and Fig. 1, we can see that there are three instances in the 10 inconsistent instances which get the better scheduling optimization values for MWL, nine instances for BD– OE, five instances for SBD. Therefore there is more probability to get better optimization value for Job shop scheduling problem by

Table 6 Bottleneck detection results of MWL, BD–OE and SBD. Instance

LA01 LA02* LA03 LA04* LA06 LA07 LA08* LA09 LA16* LA17 LA18 LA19* LA21* LA22* LA23 LA24 LA26* LA27* LA28 LA29 LA31 LA32* LA33 LA34

Size n  m

10  5 10  5 10  5 10  5 15  5 15  5 15  5 15  5 10  10 10  10 10  10 10  10 15  10 15  10 15  10 15  10 20  10 20  10 20  10 20  10 30  10 30  10 30  10 30  10

MWL

BD–OE

Bottleneck

Bottleneck

Computing time (s)

Bottleneck

Computing time (s)

5 4 2 5 1 1 5 2 1 4 1 7 1 8 7 10 1 7 2 4 1 7 4 7

5 1 2 5 1 1 3 2 1 4 1 2 10 5 7 10 5 4 2 4 1 9 4 7

0.2188 0.2188 0.2656 0.25 0.3438 0.3594 0.3594 0.3594 0.4219 0.375 0.3438 0.4219 0.5781 0.5313 0.5469 0.5781 0.75 0.7813 0.8125 0.7813 1.1719 1.2031 1.2188 1.1719

5 4 2 3 1 1 5 2 3 4 1 7 10 5 7 10 5 4 2 4 1 7 4 7

7.5 43.7 47.9 46.6 56.2 55.6 65.3 47.4 89.2 112.6 134.9 171.5 263.6 240.6 208.1 251.6 380.3 376.8 356.4 340.8 623.4 585.5 632.2 633.2

Instances with * express that the bottlenecks detected by the three methods are different.

SBD

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880 Table 7 The scheduling results using the bottlenecks detected by the three methods. Instance

MWL

BD–OE

SBD

LA02 LA04 LA08 LA16 LA19 LA21 LA22 LA26 LA27 LA32

870 702.6 1137.9 1102.3 1060 1512.5 1344.4 1780.2 1944.4 2540.9

821.8 702.6 1007.4 1102.3 951 1428 1258.9 1716.3 1835.7 2593.8

870 760.4 1137.9 1327 1060 1428 1258.9 1716.3 1835.7 2540.9

2500

MWL BDOE SBD

Value

1. For MWL, it only needs computing the workload of each machine to detect bottleneck, therefore the bottlenecks can be detected very quickly. 2. For BD–OE, the number of orthogonal trials determines the running time. Because the orthogonal array for each instance is L81(910), BD–OE just needs 81 orthogonal trials to detect bottleneck. In addition, the estimated index value of each orthogonal trial can be fast obtained by decoding the combination of dispatching rules. Therefore the running time of BD–OE is very short. 3. For SBD, it requires the optimal schedule in advance, and the computing process for optimal schedule is Time-consuming. Also the calculating time and iterative times for optimal schedule depends on the performance of the solving algorithm and the corresponding parameters. So the computing time of SBD is much longer than BD–OE. And the detection process of SBD is more complicated than BD–OE and SBD. Because the situation of the manufacturing environment is dynamic for the job shops, the more quickly the bottlenecks are detected, the more meaningful the bottlenecks can effect on the objective of the manufacturing system. According the analysis above, the computing efficiency of BD–OE is much better than SBD, furthermore BD–OE has more reliability than the other two methods; therefore BD–OE will be more suitable for the real-time bottleneck detection requirement.

2000

1500

1000

500

877

LA02 LA04 LA08 LA16 LA19 LA21 LA22 LA26 LA27 LA32

Instance Fig. 1. The scheduling results using the bottlenecks detected by the three methods.

using the bottleneck which is detected by BD–OE. It is easily to get that the order of the reliability of the three bottleneck detection methods is BD–OE > SBD > MWL. As for the differences of the bottlenecks detected by the three methods, the reasons can be analyzed as follows: 1. MWL detects bottleneck based on the workload of each machine, and the measurement of bottleneck is the amount of workload. 2. BD–OE detects bottleneck based on orthogonal experiment. Each orthogonal trial of orthogonal experiment acquires the estimated index value by decoding the combination of dispatching rules. And the measurement of bottleneck is the effect of each machine’s schedule alteration on the objective of manufacturing system. 3. SBD is a posterior-to-run bottleneck detection method. It detects bottleneck based on the active periods which are obtained by the optimal schedule. And the measurement of bottleneck is the active periods of each machine. So, the differences of data basis and the measurement of the three methods determine the existence of the differences in the detection results.

4.1.2. Analysis of the computing time of the three methods Because the computing time of MWL is very short, only a few milliseconds, far less than the other two methods, we did not give the computing time of MWL in Table 6. However, it can be easily seen from Table 6 that the efficiency of BD–OE outperforms SBD, so the efficiency order of the three bottleneck detection methods is MWL > BD–OE > SBD. It can be analyzed as follows:

4.2. Analyzing the influence of objective variation on the bottleneck shifting According to Theorem 1 in Section 2, the variation of the manufacturing system’s objective may have influence on the bottleneck shifting. In order to analyze the influence of objective variation on bottleneck shifting, we detect the bottlenecks using BD–OE for the instances in Section 4.1 with different objectives. The objectives are commonly used in job shop scheduling problems including P makespan (Cmax) and total weighted tardiness ( xiTi) with different due-date tightnesses. The different due-date tightnesses of P xiTi are setup according to Feng, Leung, & Tang 2005, and they are as follows:

di ¼ ri þ AP i ;

i ¼ 1; 2; . . . ; n

ð12Þ

where Pi is the total processing time of job i; ri is the arriving time of job i (We assume it to be 0 in the paper); A is the due-date coefficient increasing from 1.4 to 3.0 in step of 0.2 (The total number is P 9). The due date of xiTi varies from tight to loose when the due-date coefficient varies from 1.4 to 3.0. For BD–OE, the selected dispatching rules for Cmax are the same P to Section 4.1, and the selected dispatching rules for xiTi include FCFS, SPT, LWR, LOR, WINQ, EDD, ODD, SL, and OSL. Fig. 2 shows the tendency of bottleneck shifting with the variation of objective for each instance. The instances are grouped into six scales which have 50, 75, 100, 150, 200, 300 operations. In P Fig. 2, the abscissa is the objective: Cmax (A = 0) and xiTi with different due-date coefficient (A is from 1.4 to 3.0), and the ordinate is the bottleneck machine. From Fig. 2, it can be easily seen that bottleneck does shift when P the objective changes from Cmax to xiTi or the due-date coeffiP cient of xiTi varies. It can be analyzed as follows: According to Theorem 1 in Section 2, if there is no complete linear correlation between the objectives, then the bottleneck may shift when the objective varies. Let f and g denote the two objecP tives of Cmax and xiTi. Suppose that there is a complete linear correlation between them. Then:

f ðsÞ ¼ agðsÞ þ b

ð13Þ

878

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880

Number of oprations:75

Number of oprations:50 la01

la04

Bottleneck machine

6 4 2

0

6 4 2

0

1.41.61.8 2 2.22.42.62.8 3

A Number of oprations:150

la17

la18

la19

2

0

la21

10

4

2

0

1.41.61.8 2 2.22.42.62.8 3

A

la28

Number of oprations:300

la29

8 6 4 2

0

la31

10

Bottleneck machine

Bottleneck machine

la27

la24

4

Number of oprations:200 la26

la23

6

0

1.41.61.8 2 2.22.42.62.8 3

la22

8

A

0

la09

Number of oprations:100

6

10

la08

A

8

0

la07

8

0

1.41.61.8 2 2.22.42.62.8 3

la16

10

la06

10

8

0

Bottleneck machine

la03

Bottleneck machine

Bottleneck machine

10

la02

1.41.61.8 2 2.22.42.62.8 3

la32

la33

la34

8 6 4 2 0

0

1.41.61.8 2 2.22.42.62.8 3

A

A Fig. 2. Bottleneck shifting with the variation of objective.

where a and b are constants, s denotes the schedule for the machines. Therefore

Suppose that there is a complete linear correlation between them, then:

f ðsj Þ  f ðsi Þ ¼ a; gðsj Þ  gðsi Þ

g ðpÞ ðsÞ ¼ ag ðqÞ ðsÞ þ b

i–j

ð14Þ

where si and sj are two different schedules for each objective. If Eq. (13) is true for all simulation instances, then there is comP plete linear correlation between the objectives of Cmax and xiTi; Otherwise there is no complete linear correlation between the P objectives of Cmax and xiTi, and the bottleneck may shift. We randomly choose LA34 to judge Eq. (13). The different objective values of f and g can be obtained by orthogonal trials in the bottleneck detection process using BD–OE. By calculation according to Eq. (14), we get that a is in the range of [286–115.75], and not a constant. So the Eq. (13) is not true. So there is no complete P linear correlation between the objectives of C max and xi T i . Therefore bottleneck shifts when the objective changes from C max P to xi T i . Let g ðpÞ ; g ðqÞ ; p ¼ 1; 2; . . . ; 9; q ¼ 1; 2; . . . ; 9; p–q denote the P objectives of xi T i with two different due-date coefficients.

ð15Þ

where a and b are constant, s denotes the schedule for the machines. So

g ðpÞ ðsj Þ  g ðpÞ ðsi Þ ¼a g ðqÞ ðsj Þ  g ðqÞ ðsi Þ

ð16Þ

where si and sj are two different schedules for each objective. We randomly choose LA34 with due-date coefficient of 1.4 and 1.6 for analysis. The different objective values of g ðpÞ and g ðqÞ can be obtained by orthogonal trials in the bottleneck detection process using BD–OE. By calculation according to Eq. (16), we get that the value a which is in the range of [641.5–436.571] is also not a constant. So the supposition that there is a complete linear correlation between g ðpÞ and g ðqÞ does not come into existence. It means that there is no P complete linear correlation between the objectives of xi T i with

879

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880 Table 8 The linear correlation coefficients of (f, g) and 8ðg ðpÞ ; g ðqÞ Þ. Instance

Size n  m

g/f

g2/g1

g3/g2

g4/g3

g5/g4

g6/g5

g7/g6

g8/g7

g9/g8

Average

la01 la02 la03 la04 la06 la07 la08 la09 la16 la17 la18 la19 la21 la22 la23 la24 la26 la27 la28 la29 la31 la32 la33 la34

10  5 10  5 10  5 10  5 15  5 15  5 15  5 15  5 10  10 10  10 10  10 10  10 15  10 15  10 15  10 15  10 20  10 20  10 20  10 20  10 30  10 30  10 30  10 30  10

0.134 0.128 0.001 0.029 0.092 0.167 0.094 0.004 0.104 0.120 .308** 0.031 0.047 0.040 0.153 0.173 0.084 0.078 0.057 0.080 0.156 0.159 0.157 0.080

0.857 0.936 0.957 0.917 0.914 0.824 0.864 0.918 0.864 0.903 0.872 0.849 0.836 0.745 0.786 0.800 0.707 0.759 0.848 0.816 0.800 0.823 0.788 0.870

0.848 0.886 0.932 0.866 0.897 0.908 0.896 0.947 0.885 0.864 0.882 0.874 0.775 0.839 0.734 0.869 0.817 0.589 0.861 0.802 0.840 0.806 0.809 0.823

0.921 0.851 0.948 0.853 0.865 0.950 0.882 0.905 0.901 0.827 0.898 0.801 0.884 0.855 0.849 0.852 0.797 0.735 0.743 0.751 0.848 0.776 0.800 0.811

0.935 0.944 0.955 0.907 0.905 0.946 0.938 0.886 0.862 0.935 0.908 0.787 0.808 0.897 0.885 0.908 0.804 0.781 0.739 0.759 0.890 0.844 0.818 0.857

0.940 0.966 0.964 0.835 0.953 0.851 0.916 0.862 0.921 0.931 0.911 0.694 0.841 0.863 0.818 0.814 0.889 0.784 0.799 0.821 0.833 0.889 0.888 0.795

0.933 0.965 0.972 0.946 0.955 0.940 0.941 0.929 0.910 0.907 0.836 0.791 0.810 0.860 0.894 0.851 0.892 0.899 0.874 0.888 0.897 0.863 0.848 0.934

0.939 0.961 0.978 0.963 0.963 0.930 0.953 0.957 0.767 0.900 0.923 1.000 0.790 0.953 0.806 0.890 0.926 0.888 0.897 0.931 0.878 0.914 0.882 0.885

0.968 0.974 0.985 0.939 0.967 0.953 0.937 0.965 – 0.755 1.000 – 0.744 0.944 0.810 0.936 0.865 0.874 0.898 0.869 0.921 0.902 0.930 0.880

0.918 0.935 0.961 0.903 0.927 0.913 0.916 0.921 0.873 0.878 0.904 0.828 0.811 0.870 0.823 0.865 0.837 0.789 0.832 0.830 0.863 0.852 0.845 0.857

–: The linear correlation cannot be computed because one of the variables is 0.

different due-date coefficients. Therefore bottleneck may shift for P the objective of xi T i when the due-date coefficient varies. From Fig. 2, we can obtain that the probability of bottleneck P shifting caused by objective change from C max to xi T i is not P equal to the due-date coefficient variation of xi T i . The former is 75% and the latter is 25%. (The probability is calculated as follows: If the bottleneck shifts when the objective varies from one to another, then the bottleneck shifting time is 1; otherwise 0. The bottleneck shifting probability is the ratio of the total bottleneck shifting times to the objective varying times.) In addition, the probability of bottleneck shifting varies with the scales of the P instances when the due-date coefficient of xi T i varies. For the small-scale instances (The number of operations is less than 100), the bottleneck shifting is not significant, and the probability of shifting is 1.56% on average. For other instances, bottleneck shifting is very significant, and the probability of shifting is 36.72% on average. The reasons can be analyzed as follows: According to Theorem 1 in Section 2, the bottleneck cannot shift with the variation of objective if there is a complete linear correlation between different objectives; otherwise the bottleneck may shift. It implies that the probability of bottleneck shifting depends on the significance of the linear correlation between different objectives. The more significant the linear correlation between different objectives is, the smaller the probability of bottleneck shifting will be. On the contrary, the less significant the linear correlation between different objectives is, the larger the probability of bottleneck shifting will be. The linear correlation coefficient r between the paired x- and y-quantitative values in a sample can be computed by Eq. (17) (Triola, 2008):

P P P nð xyÞ  ð xÞð yÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi r ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi P P P P nð x2 Þ  ð xÞ2 nð y2 Þ  ð yÞ2

ð17Þ

where n denotes the number of pairs of x and y. The value of r always falls between 1 and 1. r ¼ 1 represents that there is a complete linear correlation between x and y. The nearer the absolute value of r is close to 1, the more significant the linear

correlation between x and y is. There is no linear correlation between x and y if r ¼ 0. By Eq. (17) and the results of orthogonal trials, the linear correlation coefficients of ðf ; gÞ and 8ðg ðpÞ ; g ðqÞ Þ for each instance are calculated and given in Table 8. The column of Average in Table 8 is the average value of the linear correlation coefficients between 8ðg ðpÞ ; g ðqÞ Þ. It can be easily seen that the absolute value of the linear correlation coefficients between ðf ; gÞ is smaller than 8ðg ðpÞ ; g ðqÞ Þ for all instances. It means that the linear correlation between C max and P P xi T i is less significant than xi T i with different due-date coefficients. Therefore, the probability of bottleneck shifting P caused by the objective change from C max to xi T i is larger than P the due-date coefficient variation of xi T i . From Table 8, we can also see that the Average value of the small-scale instances is larger than the larger-scale instances. It indicates that the linear correlation between 8ðg ðpÞ ; g ðqÞ Þ of the small-scale instances is more significant than the larger-scale instances. Therefore the bottleneck shifting probability of small-scale instance is smaller than larger-scale instances when the due-date P coefficient of xi T i varies.

5. Conclusion In this paper, a new prior-to-run bottleneck detection method based on orthogonal experiment (BD–OE) is proposed for job shop. It is built according to a new bottleneck definition which reflects the scheduling objective of the manufacturing system. In this method, the machines, dispatching rules and the objective of the manufacturing system respectively correspond to the factors, levels and estimated index of orthogonal experiment. By combining different dispatching rules according to the orthogonal array, bottleneck detection can be implemented by carrying out a finite number of orthogonal trials. We choose different scales of job shop scheduling benchmark instances to analyze the performance of BD–OE. Also the posterior-to-run bottleneck detection method of SBD and the frequently-used bottleneck detection method of MWL are chosen for comparison. The simulation results show that the efficiency

880

Y. Zhai et al. / Computers & Industrial Engineering 61 (2011) 872–880

of BD–OE is inferior to MWL, however its reliability outperforms the other two methods. Furthermore, in order to analyze the influence of the objective variation on the bottleneck shifting, we select makespan and total weighted tardiness with different due-date coefficients as the objectives. The simulation results show that the bottleneck may shift if there is no complete linear correlation between different objectives. The more significant the linear correlation between different objectives is, the smaller the probability of bottleneck shifting will be. On the contrary, the less significant the linear correlation between different objectives is, the larger the probability of bottleneck shifting will be. Acknowledgment The authors gratefully acknowledge the financial supports for this research from National Natural Science Foundation of China (50705076, 50705077 and 51075337), National Hi-Tech R & D Program of China (2007AA04Z187), and Natural Science Foundation of Shaanxi Province, China (2009JQ9002). References Cheng, R., Gen, M., & Tsujimura, Y. (1996). A tutorial survey of job-shop scheduling problems using genetic algorithms—Part I: Representation. Computers & Industrial Engineering, 34(4), 983–997. Cheng, R., Gen, M., & Tsujimura, Y. (1999). A tutorial survey of job-shop scheduling problems using genetic algorithms—Part II: Hybrid genetic search strategies. Computers & Industrial Engineering, 36(2), 343–364. Ching, S., Meerkov, S. M., & Zhang, L. (2008). Assembly systems with nonexponential machines: Throughput and bottlenecks. Nonlinear Analysis: Theory, Methods & Applications, 69(3), 911–917. Feng, X., Leung, H., & Tang, L. (2005). An effective algorithm based on GENET neural network model for job-shop scheduling with release dates and due dates. Berlin/ Heidelberg: Springer-Verlag. Goldratt, E. M., & Cox, J. (1986). The goal: A process of ongoing improvement. Crotonon-Hudson, NY: North River Press.

Haupt, R. (1989). A survey of priority rule-based scheduling. OR Spektrum, 11(1), 3–16. Kasemset, C., & Kachitvichyanukul, V. (2007). Simulation-based procedure for bottleneck identification. In J. W. Park, T. G. Kim, & Y. B. Kim (Eds.), AsiaSim 2007 (pp. 46–55). Berlin/Heidelberg: Springer-Verlag. Lawrence, S. R., & Buss, A. H. (1994). Shifting production bottlenecks: Causes, cures, and conundrums. Production and Operations Management, 3(1), 21–37. Li, L., Chang, Q., & Ni, J. (2009). Data driven bottleneck detection of manufacturing systems. International Journal of Production Research, 47(18), 5019–5036. Lima, E., Chwif, L., & Barreto, M. R. P. (2008). Metodology for selecting the best suitable bottleneck detection method. In Proceedings of the 40th conference on winter simulation (pp. 1746–1751). Miami, Florida: Winter Simulation Conference. Niu, G., Sun, S., Yu, J., & Ma, Y. (2006). Immune evolution algorithm for deterministic job-shop scheduling. Jixie Gongcheng Xuebao/Chinese Journal of Mechanical Engineering, 42(5), 87–91. Roser, C., Nakano, M., & Tanaka, M. (2001). A practical bottleneck detection. In Proceedings of the 33rd conference on Winter simulation (pp. 949–953). Arlington, Virginia: IEEE Computer Society. Roser, C., Nakano, M., & Tanaka, M. (2002). Shifting bottleneck detection. In Proceedings of the 34th conference on Winter simulation: exploring new frontiers (pp. 1079–1086). San Diego, California: Winter Simulation Conference. Roser, C., Nakano, M., & Tanaka, M. (2003). Comparison of bottleneck detection methods for AGV systems. In Proceedings of the 35th conference on Winter simulation: Driving innovation (pp. 1192–1198). New Orleans: Louisiana Winter Simulation Conference. Sengupta, S., Das, K., & VanTil, R. P. (2008). A new method for bottleneck detection. In Proceedings of the 40th conference on Winter simulation (pp. 1741–1745). Miami, Florida: Winter Simulation Conference. Shi, Y., Wei, X., & Yingchao, Q. (2009). Mathematical statistic. Beijing: Science. Triola, M. F. (2008). Elementary statistics. Beijing: Tsinghua University Press. Wang, L. (2003). Shop scheduling with genetic algorithms. Beijing: Tsinghua University Press. Watson, K. J., Blackstone, J. H., & Gardiner, S. C. (2007). The evolution of a management philosophy: The theory of constraints. Journal of Operations Management, 25(2), 387–402. 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), 153–161. Zuo, Y., Gu, H., & Xi, Y. (2007). Modified bottleneck-based heuristic for large-scale job-shop scheduling problems with a single bottleneck. Journal of Systems Engineering and Electronics, 18(3), 556–565.