# Precise and Accurate Job Cycle Time Forecasting in a Wafer Fabrication Factory with a Fuzzy Data Mining Approach

Authors: Toly Chen; Richard Romanowski
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

Many data mining methods have been proposed to improve the precision and accuracy of job cycle time forecasts for wafer fabrication factories. This study presents a fuzzy data mining approach based on an innovative fuzzy backpropagation network (FBPN) that determines the lower and upper bounds of the job cycle time. Forecasting accuracy is also significantly improved by a combination of principal component analysis (PCA), fuzzy c-means (FCM), and FBPN. An applied case that uses data collected from a wafer fabrication factory illustrates this fuzzy data mining approach. For this applied case, the proposed methodology performs better than six existing data mining approaches.


---

## Body

## 1. Introduction

To forecast the job cycle time in a wafer fabrication factory is difficult because each wafer fabrication factory is a complicated production system with idiosyncratic features such as changing demand, a variety of product types and priorities, equipment unreliability, unbalanced capacity, job reentry into machines, alternative machines, sequence-dependent setup times, and shifting bottlenecks.An average job cycle time is several months with hundreds of hours of standard deviation. Many studies have shown that accurately predicting the cycle/completion times for such large systems is very difficult [2–4].There are two approaches to forecasting the cycle time of a job. The first approach, the input-output relationship approach, is to determine certain factors (e.g., average waiting time, queuing length, utilization, future release plans, bottlenecks, etc.) that influence the job cycle time, and then to apply different approaches (e.g., multiple linear regression (MLR), artificial neural networks (ANN), etc.) to model the relationship between the job cycle time and these factors, in order to forecast the cycle time of a new job. The second approach, the time-series approach, is to treat fluctuations in the job cycle time as a type of time series. Many approaches, for example, moving average (MA), weighted moving average (WMA), exponential smoothing (ES), MLR, ANN, autoregressive integrated moving average (ARIMA), and others, can be applied to forecast the cycle time of a new job. The cycle time of a job is usually predicted when the job is released into the factory, but several months are required for the job to complete all operations. In such a case, the production controller may need to forecast the cycle time of job numberk+10000 according to the historical data of jobs 1~k. This is a difficult problem for time-series methods; the present study contributes a useful approach to this problem.Existing approaches to job cycle time estimation for a wafer fabrication factory can be classified into six categories: statistical analysis, production simulation (PS), ANN, case-based reasoning (CBR), fuzzy modeling methods, and hybrid approaches [5]. Many approaches are in fact special types of data mining methods. Table 1 summarizes references related to these categories. Data mining methods that have been extensively applied to job cycle time forecasting include clustering, genetic algorithms (GA), ANNs, decision trees, and hybrid approaches. The relevant references are reviewed below.Table 1
References relevant to the six categories.
Category
Related references
Statistical analysis
Pearn et al. [2], Chien et al. [4], and Tai et al. [16]
PS
Sivakumar and Chong [17], Okumura [18], and Veeger et al. [19]
ANN
Chen [5], Chang and Hsieh [9],  Sha and Hsu [10], Chang et al. [8], Backus et al. [1], Chien et al. [4], Meidan et al. [6], and Tirkel [15]
CBR
Chang et al. [20], Chiu et al. [21], and Chang et al. [22]
Fuzzy modeling
FBPN [5], Chang et al. [8], kM-FBPN [11], look-ahead SOM-FBPN [3, 23, 24], post-classifying FBPN-BPN [13, 14], and bi-directional classifying FCM-FBPN-RBF [25]
Hybrid methods
SOM-WM [26], SOM-BPN [27], kM-FBPN [11], FCM-FBPN [28, 29], look-ahead SOM-FBPN [3, 23, 24], post-classifying FBPN-BPN [13, 14], and bi-directional classifying FCM-FBPN-RBF [25]Backus et al. [1] compared the performances of clustering, K-nearest neighbors (i.e., CBR), classification and regression tree (CART), and ANN; CART gave the best performance of that experiment. Meidan et al. [6] focused on the choice of key factors in cycle time forecasting. They compared multiple linear regression (i.e., statistical analysis), ANN, and a selective naive Bayesian classifier (SNBC); they found that their ANN had the best performance.Wang and Mendel [7] proposed a fuzzy modeling method called the WM method; the first step of that method was partitioning the range of each input variable into several fuzzy intervals. Chang et al. [8] modified the first step of the WM method with a simple GA and proposed an evolving fuzzy rule (EFR) approach to predict the cycle time of a job in a wafer fabrication factory. Their EFR approach outperformed CBR and ANN in terms of forecasting accuracy.A BPN is an effective tool for modeling complex physical systems described by sets of different equations. BPNs are useful for prediction, control, and design purposes; they can offer both effectiveness (high forecasting accuracy) and efficiency (short execution time). Chang and Hsieh [9], Chang et al. [8], and Sha and Hsu [10] all predicted the cycle times of jobs in wafer fabrication factories with backpropagation networks (BPNs) that each had a single hidden layer. These BPNs delivered better average forecasting accuracy than statistical analysis approaches, as measured by root mean squared error (RMSE). For example, an improvement of about 40% in RMSE was achieved in Chang et al. [8]. Chen [5] constructed a fuzzy backpropagation network (FBPN) that incorporated expert opinions to modify the inputs of the FBPN. Chen’s FBPN surpassed a crisp BPN especially with respect to efficiency. Chen [11] incorporated the job release plan of a wafer fabrication factory into a BPN, and constructed a “look-ahead” BPN for the same purpose, which led to an average reduction of 12% in RMSE. Beeg [12] and Chen et al. [13, 14] predicted the cycle time of a job in a ramping-up wafer fabrication factory. Chen et al. used a BPN-based method; Beeg tried to figure out the impact of utilization for the cycle time. Tirkel [15] applied two data mining approaches—decision trees and ANN—and concluded that ANN was more accurate.Chang and Liao [26] combined a self-organizing map and the Wang and Mendel method (SOM-WM); a job was classified using a SOM before the job cycle time was predicted by the WM method. Chen [11] constructed a look-ahead k-means-fuzzy backpropagation network (kM-FBPN) for the same purpose and discussed the effects of using different look-ahead functions. More recently, Chen et al. [23] proposed a look-ahead SOM-FBPN approach for job cycle time forecasting in a semiconductor factory; a set of fuzzy inference rules was developed to evaluate the achievability of a cycle time forecast. Subsequently, Chen et al. [3] added a selective time allowance to the look-ahead SOM-FBPN approach to determine internal due dates. Further, Chen [24] showed that a combined SOM and FBPN could be improved by feeding back the forecasting error by the FBPN to adjust the classification results of the SOM. Chen et al. [13, 14] proposed a postclassification FBPN-BPN approach in which a job was not preclassified; the job was classified after the cycle time had been predicted. Experimental results showed that the post-classification approach was better than some preclassification approaches in some cases. In order to combine the advantages of preclassifying and post-classifying approaches, Chen [25] proposed a bidirectional classifying approach that combined FCM, FBPN, and a radial basis function network (RBF), in which jobs are not only preclassified but also postclassified. Instead of bi-directional classification, Chien et al. [4] used nonlinear regression equations and then related the forecasting error to some factory conditions and job attributes with a backpropagation network (BPN) to improve the forecasting accuracy.Table2 summarizes the data mining methods in this field. The advantages and disadvantages of these methods are compared in Table 3.Table 2
Data mining methods for job cycle time forecasting.
Category
Examples
Clustering
Backus et al. [1], Meidan et al. [6]
GA
Chang et al. [8]
Decision trees
CART [1], SNBC [6], and Tirkel [15]
ANN
Chen [5], Chang and Hsieh [9], Sha and Hsu [10],Chang et al. [8], Backus et al. [1], Chien et al. [4], Meidan et al. [6], and Tirkel [15]
Hybrid approaches
SOM-WM [26], kM-FBPN [11, 29], look-ahead SOM-FBPN [3, 23, 24], post-classifying FBPN-BPN [13, 14], and bi-directional classifying FCM-FBPN-RBF [25]Table 3
Advantages and disadvantages of various data mining approaches for job cycle time forecasting.
Approach
Advantages
Disadvantages
Clustering
(i) Easiest to use(ii) Can be used with other methods
(i) Not accurate(ii) No method to determine the optimal number of clusters
GA
(i) Accurate(ii) Can be used with other methods
Time-consuming iterations
Decision trees
(i) Handles missing values well(ii) Robust to outliers
High variance of tree structure
ANN
(i) Accurate(ii) Robust to outliers
(i) Difficult to use(ii) Time-consuming training(iii) Possible overfitting
Hybrid approaches
Very accurate
(i) Very difficult to use(ii) Very time consumingTo improve the precision and accuracy of job cycle time forecasting in a wafer fabrication factory, this study presents a fuzzy data mining approach that emphasizes both accuracy and precision.(1)
Accuracy: the forecast value should be as close as possible to the actual value.(2)
Precision: a narrow interval containing the actual value should be established.Chen [30] defined several methods to measure the precision and accuracy of a fuzzy forecasting method and noted that precision has seldom been considered. However, past studies have confirmed that precision and accuracy are closely related. Song and Chissom [31] proposed a first-order time-variant model to forecast enrollment and considered the effect of the model basis on the forecasting precision. Specifically, if the space of feasible solutions is narrowed, it becomes more likely that the actual value can be found [30, 32].The fuzzy data mining approach has the following innovative characteristics(1)
Some factors used to estimate the cycle time are dependent on each other, which may cause problems in classifying jobs and in fitting the relationship between the job cycle time and these factors. To solve this problem, PCA, FCM, and FBPN are combined to predict the job cycle time, which is an innovation in this field.(2)
The job cycle time is predicted by an effective FBPN approach. For the job cycle time, there are upper and lower bounds that constrain the forecast to be within a possible range. The FBPN approach from Chen and Wang’s FBPN research [33] has been modified for this purpose. In Chen and Wang’s FBPN approach two nonlinear programming (NP) models are solved to determine the upper and lower bounds of the job cycle time. However, the NP models involve complicated constraints and therefore are difficult to solve. In addition, the NP models will become too huge if many jobs are to be considered. To solve these problems, in this study, the upper and lower bounds are determined in a simpler way.The differences between the proposed methodology and various previous methods are summarized in Table 4.Table 4
The differences between the proposed methodology and the previous methods.
Method
Variable replacement
Job pre-classification
Job post-classification
Determining the bounds
SOM-WM, kM-FBPN, Look-ahead SOM-FBPN
No
Yes
No
Not discussed
Post-classifying FBPN-BPN
No
No
Yes
Not discussed
Bi-directional classifying FCM-FBPN-RBF
No
Yes
Yes
Not discussed
BPN-NP
No
No
No
Difficult
The proposed methodology
Yes
Yes
Yes
EasyThe remainder of this paper is organized as follows. Section2 introduces the proposed methodology, which is composed of six steps. Section 3 demonstrates the proposed method with an illustrative example, then presents another case with data collected from a real wafer fabrication factory, and makes comparisons with some existing approaches. Finally, concluding remarks and directions for future research are given in Section 4.


## 2. Methodology

The fuzzy data mining procedure consists of several steps.Step 1.
Replacing parameters using PCA.Step 2.
Classifying jobs using fuzzy c-means (FCM).Step 3.
Forecasting the cycle times of jobs in each category using a FBPN.Step 4.
Updating the upper and lower bounds.Step 5.
Evaluating and comparing the forecasting precision and accuracy of the proposed methodology.Step 6.
If the improvement in the forecasting precision or accuracy becomes negligible, stop; otherwise, return to Step3.A flow chart of the proposed methodology is shown in Figure1. These steps can be compared to the basic steps of data mining, as shown in Table 5.Table 5
The proposed methodology compared to data mining.
Data mining steps
The proposed methodology
Application domain identification
Job cycle time forecasting for a wafer fabrication factory
Target dataset selection
The most recent PROMIS data of a major product type with normal priority
Data preprocessing
PCA, partial normalization
Data mining
(i) FCM for job classification(ii) FBPN to model the relationship between the job cycle time and six job parameters
Knowledge extraction
Training data (3/4 of the collected data)
Knowledge application
Testing data (the remaining data)
Knowledge evaluation
Forecasting precision (the average range) and accuracy (MAE, MAPE, RMSE)
*PROMIS: production management information system; MAE: mean absolute error; MAPE: mean absolute percentage error.Figure 1
The flowchart of the proposed methodology.


### 2.1. Step1: Variable Replacement Using PCA

First, PCA is used to replace the inputs to the FBPN. A series of linear combinations of the original variables forms a new variable so that these new variables are as unrelated to each other as possible. Although there are more advanced applications of PCA, in this study PCA is used to enhance the efficiency of FBPN training. PCA consists of the four following steps.(1)
Raw data standardization: to eliminate dimensional differences and large numerical differences the original variables are standardized [13, 14]:
(1)xji*=xji-x-iσi,x-i=∑j=1nxjin,σi=∑j=1n(xji-x-i)2n-1,
where xji is the ith attribute of job j, j=1~n; x-i and σi indicate the mean and standard deviation of variable i, respectively.(2)
Establishment of the correlation matrixR is as follows:
(2)R=1n-1X*TX*,
where X* is the standardized data matrix. The eigenvalues and eigenvectors of R are calculated and represented as λ1~λm and u1~um, respectively; λ1≥λ2≥⋯≥λm.(3)
Determination of the number of principal components: the variance contribution rate is calculated as(3)ηq=λq∑r=1mλr·100%,
and the accumulated variance contribution rate is
(4)ηΣ(p)=∑q=1pηq.
Choose the smallest P value such that ηΣ(p) rangesfrom 85% to 90%. A Pareto analysis chart can be used to show the percentage of variability that can be attributed to each principal component.(4)
Formation of the following matrices:(5)Um×p=[u1,u2,…,up],Zn×p=Xn×m*Um×p.Zn×p=[zjq]  (j=1~n;q=1~p) are the component scores. These scores contain the coordinates of the original data in the new coordinate system defined by the principal components. They will be used as the new inputs to the FBPN.


### 2.2. Step2: Classifying Jobs Using FCM

After PCA, examples are classified by FCM. If a crisp clustering method is applied instead, then it is possible that some clusters will have very few examples. FCM avoids the problems of crisp clustering, because in FCM, an example belongs to multiple clusters to different degrees. Similarly, in probability theory the naïve Bayes method provides a probability that each item belongs to a class. However, the classification of jobs in FCM can include subjective judgments.FCM classifies jobs by minimizing the following objective function:(6)Min∑k=1K∑j=1nμj(k)mej(k)2,
where K is the required number of categories; n is the number of jobs; μj(k) indicates the degree of membership that job j has in category k; ej(k) measures the distance from job j to the centroid of category k;  m∈[1,∞) is a parameter to adjust the fuzziness and is usually set to 2. The procedure of FCM is as follows.(1)
Normalize the input data.(2)
Produce a preliminary clustering result.(3)
Iterations calculate the centroid of each category as(7)z-(k)={z-(k)q},k=1~K,z-(k)q=∑j=1nμj(k)mzjq∑j=1nμj(k)m,k=1~K,q=1~p,μj(k)=1∑g=1K(ej(k)/ej(g))2/(m-1),j=1~n,k=1~K,ej(k)=∑q=1p(zjp-z-(k)p)2,j=1~n,k=1~K,
where z-(k) is the centroid of category k. μj(k)(t) is the degree of membership that job j has in category k after the tth iteration.(4)
Remeasure the distance from each job to the centroid of each category and then recalculate the corresponding membership.(5)
Stop if the following condition is met. Otherwise, return to Step (3):(8)maxkmaxj|μj(k)(t)-μj(k)(t-1)|<d,
where d is a real number representing the membership convergence threshold.The performance of FCM is affected by the settings of the initial values; initialization can be repeated multiple times in order to find the optimal solution. Finally, the separate distance test (S test) proposed by Xie and Beni [34] can be applied to determine the optimal number of categories K:
(9)MinsubjectSsubjecttoJm=∑k=1K∑j=1nμj(k)mej(k)2,subjecttoemin2=mink1≠k2(∑q=1p(z-(k1)q-z-(k2)q)2),subjecttoS=Jmn×emin2,K∈Z+.
The K value that minimizes S determines the optimal number of categories.


### 2.3. Step3: Forecasting the Cycle Times of Jobs in Each Category Using a FBPN

All categories in the present study are considered by the FBPN. There are different types of FBPNs, for example, Nomura et al. [35], Chen [5], Lin [36], and Chen and Wang [33]. Among them, Chen and Wang’s FBPN is unique since it is aimed at optimizing precision. For this reason, it is chosen for this study. This FBPN is a proven technology that has incorporated many features of prior artificial neural networks, which have solved a wide variety of problems characterized by sets of different equations. Some special problems can benefit from specialized tools, such as compositional pattern-producing networks, cascading neural networks, and dynamic neural networks, but for the present job cycle time problem, a well-trained FBPN with an optimized structure can still produce very good results. All parameters in the FBPN are expressed in triangular fuzzy numbers (TFNs). There are various types of fuzzy numbers with different shapes; among them, the triangular type is easily implemented and has been universally applied to numerous applications (e.g., [37, 38]). Although the proposed methodology uses TFNs, it can be easily modified to use other types of fuzzy numbers, such as trapezoidal fuzzy numbers or bounded LR-type fuzzy numbers.The FBPN is configured as follows.(1)
Inputs: there arej sets of inputs; each set consists of the new factors determined by PCA from the jth job. These factors have to be partially normalized so that their values fall within [0.1, 0.9] [13, 14].(2)
Single hidden layer: generally one hidden layer gives the best convergence results for the FBPN.(3)
For simplicity, the number of neurons in the hidden layer is twice the number in the input layer. An increase in the number of hidden-layer nodes lessens the output errors for the training examples, but increases the errors for novel examples. This phenomenon is often called “overfitting.” Some research has considered the connections between the complexity of a FBPN, the performance for the training data, and the number of examples; noteworthy research includes Akaike’s information criterion (AIC) [39] and Rissanen’s minimum description length (MDL) [40].(4)
Output: the (normalized) cycle time forecast of the example.The procedure for determining the parameter values is now described. After pre-classification, a portion of the adopted examples in each category is fed as “training examples” into the FBPN to determine the parameter values. Two phases are involved at the training stage. First, in the forward phase, inputs are multiplied with weights, summed, and transferred to the hidden layer. Then, activated signals are outputted from the hidden layer as(10)h~l=(hl1,hl2,hl3)=11+e-n~lh=(11+e-nl1h,11+e-nl2h,11+e-nl3h),
where
(11)n~lh=(nl1h,nl2h,nl3h)=I~lh(-)θ~lh=(Il1h-θl3h,Il2h-θl2h,Il3h-θl1h),I~lh=(Il1h,Il2h,Il3h)=∑allkw~klh·xk=(∑allkmin(wkl1hxk,wkl3hxk),∑allkwxk2hxk,∑allkmax(wkl1hxk,wkl3hxk))h~l is the output from hidden-layer node l,l=1~L;  θ~lh is the threshold for screening out weak signals by hidden-layer node l; w~klh is the weight of the connection between input node k and hidden-layer node l,k=1~p;l=1~L;  xij is the kth input, k=1~p. The remaining parameters are transition variables. (-) and (×) denote fuzzy subtraction and multiplication, respectively.h
~
ls are also transferred to the output layer with the same procedure. Finally, the output of the FBPN is generated as follows:
(12)o~j=(oj1,oj2,oj3)=11+e-n~o=(11+e-n1o,11+e-n2o,11+e-n3o),
where
(13)n~o=(n1o,n2o,n3o)=I~o(-)θ~o=(I1o-θ3o,I2o-θ2o,I3o-θ1o),(14)I~o=(I1o,I2o,I3o)=∑alllw~lo(×)h~l≅(∑alllmin(wl1ohl1,wl3ohl3),∑alllwl2ohl2,∑alllmax(wl1ohl1,wl3ohl3)).o~j is the network output, which is the normalized value of the cycle time forecast of job j; θ~o is the threshold for screening out weak signals by the output node; w~lo is the weight of the connection between hidden-layer node l and the output node;  l=1~L.Subsequently, in the backward phase, the training of the FBPN is decomposed into three subtasks: determining the center value and upper and lower bounds of the parameters.First, to determine the center of each parameter (such aswkl2h, θl2h, wl2o, and θ2o), the FBPN is treated as a crisp network. Algorithms applicable for this purpose include the gradient descent algorithms, the conjugate gradient algorithms, the Levenberg-Marquardt algorithm, and others. In this study, the Levenberg-Marquardt algorithm is applied. The Levenberg-Marquardt algorithm was designed for training with second-order speed without having to compute the Hessian matrix. It uses approximation and updates the network parameters in a Newton-like way, as described below.The network parameters are placed in vectorβ=[w11h,…,wpLh,θ1h,…,θLh,w1o,…,wLo,θo]. The network output oj can be represented with f(xj,β). The objective function of the FBPN is to minimize RMSE or equivalently the sum of squared error (SSE):
(15)SSE(β)=∑j=1n(N(CTj)-f(xj,β))2.The Levenberg-Marquardt algorithm is an iterative procedure. In the beginning, the user should specify the initial values of the network parameter vectorβ. It is a common practice to set βT=(1,1,…,1). In each step, the parameter vector β is replaced by a new estimate β+δ, where δ=[Δw11h,…,ΔwpLh,Δθ1h,…,ΔθLh,Δw1o,…,ΔwLo,Δθo]. The network output becomes f(xj,β+δ); it is approximated by its linearization as
(16)f(xj,β+δ)≈f(xj,β)+Jjδ,
where
(17)Jj=∂f(xj,β)∂β
is the gradient vector of f with respect to β. Substituting (16) into (15) gives
(18)SSE(β+δ)≈∑j=1n(N(CTj)-f(xj,β)-Jjδ)2.
When the network reaches the optimal solution, the gradient of SSE with respect to δ will be zero. Taking the derivative of SSE(β+δ) with respect to δ and setting the result to zero gives
(19)(JTJ)δ=JT(N(CTj)-f(xj,β)),
where J is the Jacobian matrix containing the first derivative of network error with respect to the weights and biases. Equation (19) includes a set of linear equations that can be solved for δ.


### 2.4. Step4: Determining the Upper Bounds of Parameters in the FBPN

In Chen and Wang [33] and Chen and Lin [41], an NP model is constructed to adjust the connection weights and thresholds in the FBPN; such an NP model is not easy to solve. The proposed methodology only makes iterative adjustments to the threshold on the output node. This way is much simpler and can also achieve good results.Substituting (13) into (12) gives
(20)oj2=11+e-nj2o=11+e-(Ij2o-θ2o)=11+eθ2o-Ij2o.
Therefore,
(21)ln(1oj2-1)=θ2o-Ij2o.
So
(22)Ij2o=θ2o-ln(1oj2-1).Assume that the adjustment made to the output node threshold is denoted asΔθo=θ3o-θ2o. After adjustment, the output from the new FBPN, oj3, determines the upper bound of the cycle time:
(23)oj3=11+e-nj3o,
where
(24)nj3o=Ij3o-θ3o=Ij3o-(θ2o+Δθo).
Substituting (24) into (23) gives
(25)oj3=11+e-(Ij3o-θ2o-Δθo),
and substituting (22) into (25) gives
(26)oj3=11+e-(θ2o-ln(1/oj2-1)-θ2o-Δθo)=11+eln(1/oj2-1)+Δθo=11+eΔθo(1/oj2-1).
Obviously, the maximum of Δθo determines the lowest upper bound, since oj3 is the upper bound of the cycle time, oj3≥N(CTj),
(27)11+eln(1/oj2-1)+Δθo≥N(CTj),(28)Δθo≤ln(1N(CTj)-1)-ln(1oj2-1).
Equation (28) holds for all jobs, so
(29)Δθo≤minj(ln(1N(CTj)-1)-ln(1oj2-1)).
According to (26), the optimal value of Δθo should be set to the maximum possible value:
(30)Δθo*=minj(ln(1N(CTj)-1)-ln(1oj2-1)).Then the FBPN’s optimization results depend on the initial conditions and therefore are different at every iteration. Assume that the optimal value ofoj3 in the tth iteration is denoted by oj3(t), then, after some iterations,
(31)oj3(alliterations)=mintoj3(t).
In this way, the upper bound of the cycle time is decreased gradually (see Figure 2). Another merit of this approach is that it does not rely on the parameters of the FBPN.Figure 2
Iterative reduction of the upper bound.Theorem 1.
The upper bound can be found by considering only jobs withN(CTj)≥oj2.Proof.
Divide jobs into two categoriesC1 (jobs with N(CTj)<oj2) and C2 (jobs with N(CTj)≥oj2). Equation (30) becomes
(32)Δθo*=min(minj∈C1(ln(1N(CTj)-1)-ln(1oj2-1)),minj∈C2(ln(1N(CTj)-1)-ln(1oj2-1))).
If N(CTj)<oj2, then
(33)ln(1N(CTj)-1)-ln(1oj2-1)>0.
Therefore,
(34)minj∈C1(ln(1N(CTj)-1)-ln(1oj2-1))>0.
In contrast, if N(CTj)≥oj2, then
(35)ln(1N(CTj)-1)-ln(1oj2-1)≤0,minj∈C2(ln(1N(CTj)-1)-ln(1oj2-1))≤0.
Finally,
(36)Δθo*=minj∈C2(ln(1N(CTj)-1)-ln(1oj2-1)).
Theorem 1 is proved.


### 2.5. Step4: Determining the Lower Bounds of Parameters in the FBPN

In a similar way, the threshold on the output node can be modified to determine the lower bound of the cycle time forecast so that the actual value will be greater than the lower bound of the network output. The optimal value ofΔθo can be obtained as
(37)Δθo*=maxj(ln(1N(CTj)-1)-ln(1oj2-1)).Theorem 2.
The lower bound can be found by considering only jobs withN(CTj)<oj2.The proof of Theorem2 resembles that of Theorem 1.Proof.
Assume that the optimal value ofoj1 in the tth replication is indicated with oj1(t), then after some iterations,
(38)oj1(alliterations)=maxtoj1(t).
In this way, the upper bound of the cycle time is increased gradually. Δθo*does not rely on the parameters of the FBPN.


## 2.1. Step1: Variable Replacement Using PCA

First, PCA is used to replace the inputs to the FBPN. A series of linear combinations of the original variables forms a new variable so that these new variables are as unrelated to each other as possible. Although there are more advanced applications of PCA, in this study PCA is used to enhance the efficiency of FBPN training. PCA consists of the four following steps.(1)
Raw data standardization: to eliminate dimensional differences and large numerical differences the original variables are standardized [13, 14]:
(1)xji*=xji-x-iσi,x-i=∑j=1nxjin,σi=∑j=1n(xji-x-i)2n-1,
where xji is the ith attribute of job j, j=1~n; x-i and σi indicate the mean and standard deviation of variable i, respectively.(2)
Establishment of the correlation matrixR is as follows:
(2)R=1n-1X*TX*,
where X* is the standardized data matrix. The eigenvalues and eigenvectors of R are calculated and represented as λ1~λm and u1~um, respectively; λ1≥λ2≥⋯≥λm.(3)
Determination of the number of principal components: the variance contribution rate is calculated as(3)ηq=λq∑r=1mλr·100%,
and the accumulated variance contribution rate is
(4)ηΣ(p)=∑q=1pηq.
Choose the smallest P value such that ηΣ(p) rangesfrom 85% to 90%. A Pareto analysis chart can be used to show the percentage of variability that can be attributed to each principal component.(4)
Formation of the following matrices:(5)Um×p=[u1,u2,…,up],Zn×p=Xn×m*Um×p.Zn×p=[zjq]  (j=1~n;q=1~p) are the component scores. These scores contain the coordinates of the original data in the new coordinate system defined by the principal components. They will be used as the new inputs to the FBPN.


## 2.2. Step2: Classifying Jobs Using FCM

After PCA, examples are classified by FCM. If a crisp clustering method is applied instead, then it is possible that some clusters will have very few examples. FCM avoids the problems of crisp clustering, because in FCM, an example belongs to multiple clusters to different degrees. Similarly, in probability theory the naïve Bayes method provides a probability that each item belongs to a class. However, the classification of jobs in FCM can include subjective judgments.FCM classifies jobs by minimizing the following objective function:(6)Min∑k=1K∑j=1nμj(k)mej(k)2,
where K is the required number of categories; n is the number of jobs; μj(k) indicates the degree of membership that job j has in category k; ej(k) measures the distance from job j to the centroid of category k;  m∈[1,∞) is a parameter to adjust the fuzziness and is usually set to 2. The procedure of FCM is as follows.(1)
Normalize the input data.(2)
Produce a preliminary clustering result.(3)
Iterations calculate the centroid of each category as(7)z-(k)={z-(k)q},k=1~K,z-(k)q=∑j=1nμj(k)mzjq∑j=1nμj(k)m,k=1~K,q=1~p,μj(k)=1∑g=1K(ej(k)/ej(g))2/(m-1),j=1~n,k=1~K,ej(k)=∑q=1p(zjp-z-(k)p)2,j=1~n,k=1~K,
where z-(k) is the centroid of category k. μj(k)(t) is the degree of membership that job j has in category k after the tth iteration.(4)
Remeasure the distance from each job to the centroid of each category and then recalculate the corresponding membership.(5)
Stop if the following condition is met. Otherwise, return to Step (3):(8)maxkmaxj|μj(k)(t)-μj(k)(t-1)|<d,
where d is a real number representing the membership convergence threshold.The performance of FCM is affected by the settings of the initial values; initialization can be repeated multiple times in order to find the optimal solution. Finally, the separate distance test (S test) proposed by Xie and Beni [34] can be applied to determine the optimal number of categories K:
(9)MinsubjectSsubjecttoJm=∑k=1K∑j=1nμj(k)mej(k)2,subjecttoemin2=mink1≠k2(∑q=1p(z-(k1)q-z-(k2)q)2),subjecttoS=Jmn×emin2,K∈Z+.
The K value that minimizes S determines the optimal number of categories.


## 2.3. Step3: Forecasting the Cycle Times of Jobs in Each Category Using a FBPN

All categories in the present study are considered by the FBPN. There are different types of FBPNs, for example, Nomura et al. [35], Chen [5], Lin [36], and Chen and Wang [33]. Among them, Chen and Wang’s FBPN is unique since it is aimed at optimizing precision. For this reason, it is chosen for this study. This FBPN is a proven technology that has incorporated many features of prior artificial neural networks, which have solved a wide variety of problems characterized by sets of different equations. Some special problems can benefit from specialized tools, such as compositional pattern-producing networks, cascading neural networks, and dynamic neural networks, but for the present job cycle time problem, a well-trained FBPN with an optimized structure can still produce very good results. All parameters in the FBPN are expressed in triangular fuzzy numbers (TFNs). There are various types of fuzzy numbers with different shapes; among them, the triangular type is easily implemented and has been universally applied to numerous applications (e.g., [37, 38]). Although the proposed methodology uses TFNs, it can be easily modified to use other types of fuzzy numbers, such as trapezoidal fuzzy numbers or bounded LR-type fuzzy numbers.The FBPN is configured as follows.(1)
Inputs: there arej sets of inputs; each set consists of the new factors determined by PCA from the jth job. These factors have to be partially normalized so that their values fall within [0.1, 0.9] [13, 14].(2)
Single hidden layer: generally one hidden layer gives the best convergence results for the FBPN.(3)
For simplicity, the number of neurons in the hidden layer is twice the number in the input layer. An increase in the number of hidden-layer nodes lessens the output errors for the training examples, but increases the errors for novel examples. This phenomenon is often called “overfitting.” Some research has considered the connections between the complexity of a FBPN, the performance for the training data, and the number of examples; noteworthy research includes Akaike’s information criterion (AIC) [39] and Rissanen’s minimum description length (MDL) [40].(4)
Output: the (normalized) cycle time forecast of the example.The procedure for determining the parameter values is now described. After pre-classification, a portion of the adopted examples in each category is fed as “training examples” into the FBPN to determine the parameter values. Two phases are involved at the training stage. First, in the forward phase, inputs are multiplied with weights, summed, and transferred to the hidden layer. Then, activated signals are outputted from the hidden layer as(10)h~l=(hl1,hl2,hl3)=11+e-n~lh=(11+e-nl1h,11+e-nl2h,11+e-nl3h),
where
(11)n~lh=(nl1h,nl2h,nl3h)=I~lh(-)θ~lh=(Il1h-θl3h,Il2h-θl2h,Il3h-θl1h),I~lh=(Il1h,Il2h,Il3h)=∑allkw~klh·xk=(∑allkmin(wkl1hxk,wkl3hxk),∑allkwxk2hxk,∑allkmax(wkl1hxk,wkl3hxk))h~l is the output from hidden-layer node l,l=1~L;  θ~lh is the threshold for screening out weak signals by hidden-layer node l; w~klh is the weight of the connection between input node k and hidden-layer node l,k=1~p;l=1~L;  xij is the kth input, k=1~p. The remaining parameters are transition variables. (-) and (×) denote fuzzy subtraction and multiplication, respectively.h
~
ls are also transferred to the output layer with the same procedure. Finally, the output of the FBPN is generated as follows:
(12)o~j=(oj1,oj2,oj3)=11+e-n~o=(11+e-n1o,11+e-n2o,11+e-n3o),
where
(13)n~o=(n1o,n2o,n3o)=I~o(-)θ~o=(I1o-θ3o,I2o-θ2o,I3o-θ1o),(14)I~o=(I1o,I2o,I3o)=∑alllw~lo(×)h~l≅(∑alllmin(wl1ohl1,wl3ohl3),∑alllwl2ohl2,∑alllmax(wl1ohl1,wl3ohl3)).o~j is the network output, which is the normalized value of the cycle time forecast of job j; θ~o is the threshold for screening out weak signals by the output node; w~lo is the weight of the connection between hidden-layer node l and the output node;  l=1~L.Subsequently, in the backward phase, the training of the FBPN is decomposed into three subtasks: determining the center value and upper and lower bounds of the parameters.First, to determine the center of each parameter (such aswkl2h, θl2h, wl2o, and θ2o), the FBPN is treated as a crisp network. Algorithms applicable for this purpose include the gradient descent algorithms, the conjugate gradient algorithms, the Levenberg-Marquardt algorithm, and others. In this study, the Levenberg-Marquardt algorithm is applied. The Levenberg-Marquardt algorithm was designed for training with second-order speed without having to compute the Hessian matrix. It uses approximation and updates the network parameters in a Newton-like way, as described below.The network parameters are placed in vectorβ=[w11h,…,wpLh,θ1h,…,θLh,w1o,…,wLo,θo]. The network output oj can be represented with f(xj,β). The objective function of the FBPN is to minimize RMSE or equivalently the sum of squared error (SSE):
(15)SSE(β)=∑j=1n(N(CTj)-f(xj,β))2.The Levenberg-Marquardt algorithm is an iterative procedure. In the beginning, the user should specify the initial values of the network parameter vectorβ. It is a common practice to set βT=(1,1,…,1). In each step, the parameter vector β is replaced by a new estimate β+δ, where δ=[Δw11h,…,ΔwpLh,Δθ1h,…,ΔθLh,Δw1o,…,ΔwLo,Δθo]. The network output becomes f(xj,β+δ); it is approximated by its linearization as
(16)f(xj,β+δ)≈f(xj,β)+Jjδ,
where
(17)Jj=∂f(xj,β)∂β
is the gradient vector of f with respect to β. Substituting (16) into (15) gives
(18)SSE(β+δ)≈∑j=1n(N(CTj)-f(xj,β)-Jjδ)2.
When the network reaches the optimal solution, the gradient of SSE with respect to δ will be zero. Taking the derivative of SSE(β+δ) with respect to δ and setting the result to zero gives
(19)(JTJ)δ=JT(N(CTj)-f(xj,β)),
where J is the Jacobian matrix containing the first derivative of network error with respect to the weights and biases. Equation (19) includes a set of linear equations that can be solved for δ.


## 2.4. Step4: Determining the Upper Bounds of Parameters in the FBPN

In Chen and Wang [33] and Chen and Lin [41], an NP model is constructed to adjust the connection weights and thresholds in the FBPN; such an NP model is not easy to solve. The proposed methodology only makes iterative adjustments to the threshold on the output node. This way is much simpler and can also achieve good results.Substituting (13) into (12) gives
(20)oj2=11+e-nj2o=11+e-(Ij2o-θ2o)=11+eθ2o-Ij2o.
Therefore,
(21)ln(1oj2-1)=θ2o-Ij2o.
So
(22)Ij2o=θ2o-ln(1oj2-1).Assume that the adjustment made to the output node threshold is denoted asΔθo=θ3o-θ2o. After adjustment, the output from the new FBPN, oj3, determines the upper bound of the cycle time:
(23)oj3=11+e-nj3o,
where
(24)nj3o=Ij3o-θ3o=Ij3o-(θ2o+Δθo).
Substituting (24) into (23) gives
(25)oj3=11+e-(Ij3o-θ2o-Δθo),
and substituting (22) into (25) gives
(26)oj3=11+e-(θ2o-ln(1/oj2-1)-θ2o-Δθo)=11+eln(1/oj2-1)+Δθo=11+eΔθo(1/oj2-1).
Obviously, the maximum of Δθo determines the lowest upper bound, since oj3 is the upper bound of the cycle time, oj3≥N(CTj),
(27)11+eln(1/oj2-1)+Δθo≥N(CTj),(28)Δθo≤ln(1N(CTj)-1)-ln(1oj2-1).
Equation (28) holds for all jobs, so
(29)Δθo≤minj(ln(1N(CTj)-1)-ln(1oj2-1)).
According to (26), the optimal value of Δθo should be set to the maximum possible value:
(30)Δθo*=minj(ln(1N(CTj)-1)-ln(1oj2-1)).Then the FBPN’s optimization results depend on the initial conditions and therefore are different at every iteration. Assume that the optimal value ofoj3 in the tth iteration is denoted by oj3(t), then, after some iterations,
(31)oj3(alliterations)=mintoj3(t).
In this way, the upper bound of the cycle time is decreased gradually (see Figure 2). Another merit of this approach is that it does not rely on the parameters of the FBPN.Figure 2
Iterative reduction of the upper bound.Theorem 1.
The upper bound can be found by considering only jobs withN(CTj)≥oj2.Proof.
Divide jobs into two categoriesC1 (jobs with N(CTj)<oj2) and C2 (jobs with N(CTj)≥oj2). Equation (30) becomes
(32)Δθo*=min(minj∈C1(ln(1N(CTj)-1)-ln(1oj2-1)),minj∈C2(ln(1N(CTj)-1)-ln(1oj2-1))).
If N(CTj)<oj2, then
(33)ln(1N(CTj)-1)-ln(1oj2-1)>0.
Therefore,
(34)minj∈C1(ln(1N(CTj)-1)-ln(1oj2-1))>0.
In contrast, if N(CTj)≥oj2, then
(35)ln(1N(CTj)-1)-ln(1oj2-1)≤0,minj∈C2(ln(1N(CTj)-1)-ln(1oj2-1))≤0.
Finally,
(36)Δθo*=minj∈C2(ln(1N(CTj)-1)-ln(1oj2-1)).
Theorem 1 is proved.


## 2.5. Step4: Determining the Lower Bounds of Parameters in the FBPN

In a similar way, the threshold on the output node can be modified to determine the lower bound of the cycle time forecast so that the actual value will be greater than the lower bound of the network output. The optimal value ofΔθo can be obtained as
(37)Δθo*=maxj(ln(1N(CTj)-1)-ln(1oj2-1)).Theorem 2.
The lower bound can be found by considering only jobs withN(CTj)<oj2.The proof of Theorem2 resembles that of Theorem 1.Proof.
Assume that the optimal value ofoj1 in the tth replication is indicated with oj1(t), then after some iterations,
(38)oj1(alliterations)=maxtoj1(t).
In this way, the upper bound of the cycle time is increased gradually. Δθo*does not rely on the parameters of the FBPN.


## 3. Application and Analyses

To demonstrate the application of the proposed methodology, an illustrative example containing the data of 40 jobs (see Table6) was used.Table 6
The illustrative example.
j
x
j
1
x
j
2
x
j
3
x
j
4
x
j
5
x
j
6
CT
j
1
24
1261
181
781
112
0.92
935
2
24
1263
181
762
127
0.90
958
3
24
1220
176
761
127
0.89
1047
4
23
1282
178
802
127
0.94
1011
5
23
1303
180
780
175
0.93
1068
6
23
1281
183
782
175
0.93
1143
7
23
1242
184
741
163
0.89
1103
8
24
1262
182
681
139
0.86
1250
9
22
1260
182
701
98
0.86
1181
10
22
1260
179
700
257
0.87
1194
11
24
1301
163
722
99
0.84
1260
12
22
1221
184
641
131
0.82
1240
13
23
1323
159
740
247
0.87
1180
14
24
1362
181
782
191
0.95
1227
15
24
1261
181
762
219
0.91
1236
16
23
1321
177
801
219
0.96
1215
17
22
1343
180
822
219
0.97
1228
18
24
1321
177
762
54
0.93
1266
19
25
1343
179
781
54
0.96
1285
20
25
1300
180
740
54
0.92
1272
21
22
1320
181
721
54
0.91
1310
22
24
1321
182
742
49
0.92
1265
23
23
1262
165
680
201
0.80
1308
24
22
1240
161
722
103
0.82
1331
25
23
1183
183
661
53
0.82
1294
26
23
1282
184
701
53
0.88
1314
27
22
1202
177
680
248
0.84
1321
28
23
1202
178
681
248
0.85
1353
29
24
1202
185
701
82
0.86
1226
30
23
1202
158
721
98
0.81
1301
31
24
1343
181
760
67
0.94
1280
32
24
1381
185
801
67
0.97
1286
33
22
1362
156
780
67
0.91
1252
34
23
1282
179
782
223
0.92
1214
35
23
1320
180
782
176
0.93
1251
36
25
1340
176
801
462
0.97
1222
37
23
1320
182
781
168
0.95
1187
38
22
1361
181
781
141
0.94
1205
39
22
1381
179
781
95
0.97
1120
40
23
1363
178
802
179
0.97
1133We standardize the data and obtain the correlation matrixR. The eigenvalues and eigenvectors of R are calculated as
(39)λ1=2.66,λ2=1.15,λ3=0.94,λ4=0.83,λ5=0.25,λ6=0.02,(40)u1=[0.200.520.160.560.070.59],u2=[0.47-0.190.68-0.19-0.490.05],u3=[-0.270.31-0.320.03-0.85-0.02],u4=[0.81-0.02-0.570.06-0.04-0.15],u5=[-0.12-0.72-0.070.65-0.180.09],u6=[0.020.290.280.470.03-0.78],
respectively. The variance contribution rates are
(41)η1=46%;η2=20%;η3=16%;η4=14%;η5=4%;η6=0%.
Summing up ηq’s, we obtain
(42)ηΣ(1)=46%;ηΣ(2)=65%;ηΣ(3)=81%;ηΣ(4)=95%;ηΣ(5)=100%;ηΣ(6)=100%.
A Pareto analysis chart is used to compare the percentage of variability explained by each principal component (see Figure 3). There is a clear break in the amount of variance accounted for by each component between the first and second components. However, that component by itself explains less than 50% of the variance, so more components are considered. To meet the requirement ηΣ(p)≥85%~90%, p is chosen as 3. We can see that the first three principal components explain roughly 80% of the total variability in the standardized data, so we reduce the issue to these three components in order to visualize the data.Figure 3
The Pareto analysis chart.The component scores are recalculated as the new inputs to the FCM-FBPN (see Table7). These scores contain the coordinates of the original data in the new coordinate system defined by the principal components.Table 7
New inputs to the FCM-FBPN.
z
j
1
z
j
2
z
j
3
-
0.56
0.91
-
0.19
-
0.13
0.87
-
0.34
0.51
0.57
-
0.37
-
0.97
-
0.10
0.20
-
0.87
-
0.20
-
0.26
-
0.75
0.14
-
0.51
0.57
0.56
-
0.66
1.30
1.18
-
0.55
1.55
0.31
0.47
1.37
-
0.87
-
1.04
1.11
-
0.59
0.91
3.04
0.63
-
0.20
0.51
-
2.44
-
0.02
-
1.94
0.12
-
0.43
-
0.30
0.35
-
1.29
-
1.62
-
0.84
-
0.48
-
2.04
-
1.24
-
0.17
-
0.87
0.77
0.89
-
1.92
1.34
0.64
-
0.58
1.70
0.34
0.22
0.23
1.29
-
0.62
1.31
0.73
2.54
-
1.26
-
0.16
2.39
-
1.64
1.20
3.02
1.57
0.14
0.89
1.21
0.66
2.56
-
0.74
-
1.19
2.19
-
0.13
-
1.54
1.61
1.90
-
0.42
2.72
-
1.23
0.87
-
1.27
0.99
0.71
-
2.56
1.07
0.78
-
0.37
-
2.44
2.47
-
0.60
-
0.51
-
0.82
-
1.06
-
0.27
-
0.17
-
2.54
-
1.36
-
3.41
-
1.31
-
0.02
-
0.18
-
1.32
-
0.63
0.67
-
1.77
-
0.58
1.32
-
2.13
-
0.66
0.12Subsequently, jobs are classified using FCM based on the new variables. The results of theS test are summarized in Table 8. In this case, the optimal number of job categories is 5. However, there will be some categories with very few jobs. For this reason, the second best solution is used, that is, 4 categories. A common practice is to set a threshold of membership μL to determine whether a job belongs to each category. With the decrease in the threshold, each category contains more jobs. Because the overall forecasting performance is affected by the outliers, μL should not be set too high. In this case, μL is set to 0.3. The classifying results are shown in Table 9.Table 8
The results of theS test.
Number of categories (K)
J
m
e
min
2
S
2
1.96
0.14
0.34
3
1.21
0.09
0.34
4
0.86
0.07
0.30
5
0.67
0.06
0.26
6
0.53
0.03
0.43Table 9
The classifying results(μL=0.3).
Category
Jobs
1
4–6, 14–17
2
10-11, 13, 23-24, 27, 30, 33
3
1, 18–22, 31-32
4
2-3, 7–9, 12, 25-26, 28-29, 34–40After job classification, 3/4 of the examples in each category are used as the training example. The remaining 1/4 is left for testing. A three-layer FBPN is then used to predict the cycle time of jobs in each category according to the new variables with the following settings.Single hidden layerThe number of neurons in the hidden layer:2*3=6Convergence criterion:SSE<10-6 or 10000 epochs have been runIterations: 5The forecasting results are shown in Figure4. The performance level of the proposed methodology is compared with those of statistical analysis (i.e., multiple linear regression), CART, PCA-CART, BPN, FCM-BPN, and PCA-BPN in Table 10. The forecasting precision is evaluated with the average range:
(43)averagerange=∑j=1n|oj3-oj1|n.
The average range of a nonbiased crisp approach can be measured with 6σ(or 6 RMSE):
(44)σ2=RMSE2nn-k-1,
where
(45)RMSE=∑j=1n(aj-fj)2n.k is the number of independent variables; aj and fj denote the actual value and forecast of job j, respectively;  n is the total number of data. When n→∞, σ2≈RMSE2. Theoretically, the probability that such an interval contains the actual value is about 99.7%, under the assumption that residuals follow a normal distribution. The forecasting accuracy is measured with MAE, MAPE, and RMSE:
(46)MAE=∑j=1n|aj-fj|n,MAPE=∑j=1n|aj-fj|/ajn.
The CART algorithm is based on that of Breiman et al. [42]. The results of CART are shown in Figure 5. In PCA-CART, the new variables found by PCA are used as input variables to determine the job cycle time. The results of PCA-CART are shown in Figure 6. The adjustment of the lower and upper bounds for the proposed methodology is shown in Figure 7.Table 10
Comparison of the forecasting performance levels.
Category
Average range
MAE (hrs)
MAPE
RMSE (hrs)
Statistical analysis
594
73
6.1%
99
CART
438
50
4.2%
73
PCA-CART
294
36
3.1%
49
BPN
414
30
2.4%
69
FCM-BPN
228
15
1.2%
38
PCA-BPN
402
27
2.3%
67
The proposed methodology
169
11
0.9%
29Figure 4
The forecasting results from the FBPN.Figure 5
Results of CART.Figure 6
Results of PCA-CART.The adjustment of the lower bounds.
(a)
(b)
(c)According to the experimental results, we have the following.(1)
The nonlinear nature of this problem is obvious, since the performance of statistical analysis is poor, and statistical analysis is a linear approach.(2)
The accuracy of the job cycle time forecasting by the proposed fuzzy data mining approach is better than those of the compared approaches because the proposed approach has achieved 25%~85% reductions in MAPE.(3)
Moreover, the precision level of the proposed methodology, measured in terms of the average range of forecasts, is also superior to those of the compared approaches. The proposed methodology can be used to specify a very narrow range of the job cycle time. Since the internal due date is based on the cycle time forecast, a narrow range promotes the reliability of the internal due date.(4)
The proposed method is unusually slow in its modification of the lower bound (see Figure7); a more effective way to solve this problem is needed.(5)
PCA seems to be useful for methods with job classification like CART. The combination of PCA and CART has significantly better forecasting accuracy than either method in isolation.(6)
The simple combination of PCA and BPN does not have much effect. The main effect of PCA is to improve the correctness of the job classification.In order to test the performance of the proposed methodology on real world situations, it has been applied to schedule a problem of 457 jobs from a wafer fabrication factory located in Taichung City Scientific Park, Taiwan. There are more than ten products in the wafer fabrication factory. The wafer fabrication factory has a monthly capacity of 20,000 wafers. Jobs are regularly released into the wafer fabrication factory. Various types of priorities are assigned to these jobs. Each product has 150~200 steps and six to nine reentries to the most bottlenecked machine. The first-in first-out (FIFO) rule is used to dispatch the jobs. The production characteristic of “reentry,” which is highly relevant to the semiconductor industry, is clearly reflected in this problem. It also shows the difficulties facing production planners and schedulers who attempt to provide an accurate due date for a product with a very complicated routing. For each job, twelve parameters were collected or retrieved from production management information system (PROMIS) databases and reports. After a backward elimination by regression analysis, six parameters (the job size, factory utilization, the queue length on the route, the queue length before the bottleneck, the work-in-process (WIP), and the average waiting time) were chosen as the inputs to the FBPN. Here “the average waiting time” refers to the average of the waiting times of the three jobs that were completed most recently, not to the waiting time of the job under consideration. The proposed methodology and several existing methods have been applied to this case. The forecasting precision (measured in terms of the average range) and accuracy (measured in terms of RMSE) of these approaches are compared in Figures8 and 9, respectively. The samples in this case exhibited notable variability, which limited the performance of the forecasting methods. Nevertheless, it is obvious that the proposed methodology still outperformed the six existing methods in both regards. It is also noteworthy that the methods based on job classification (such as CART, PCA-CART, FCM-BPN, and the proposed methodology) achieved better forecasting accuracy than methods without job classification. Such an advantage was further strengthened by variable replacement techniques like PCA.Figure 8
Comparison of the forecasting precision.Figure 9
Comparison of the forecasting precision.


## 4. Conclusions and Directions for Future Research

Job cycle time forecasting is an important task in any wafer fabrication factory. In this field, many data mining methods have been applied. A fuzzy data mining approach for precise and accurate job cycle time forecasting is presented in this study. The forecast of the job cycle time by the proposed methodology is a fuzzy value; to improve precision, an effective procedure tightens the upper and lower bounds of the forecast. The forecasting accuracy is enhanced by a combination of PCA, FCM, and FBPN.This study presents an illustrative example and a real case with the data of 457 jobs from a wafer fabrication factory. According to the experimental results, we have the following.(1)
the forecasting accuracy (measured with MAE, MAPE, and RMSE) of the PCA-FCM-FBPN was significantly better than the accuracy levels of the other approaches.(2)
Methods based on job classification have better forecasting accuracy. The incorporation of PCA makes the relationships between variables clearer and strengthens the advantage of job classification.(3)
It is possible to specify a very narrow range of the job cycle time using the proposed methodology.The upper bound can be adjusted faster than the lower bound. An effective method is needed to tackle this issue. In addition, the FBPN approach focuses on the modification of the threshold on the output node. Similar concepts can be applied to modify other parameters in the FBPN.



---

*Source: 496826-2013-05-14.xml*