# A Fuzzy Rule for Improving the Performance of Multiobjective Job Dispatching in a Wafer Fabrication Factory

Authors: Toly Chen; Yi-Chi Wang
Journal: Journal of Applied Mathematics
 (2013)

---

## Abstract

This paper proposes a fuzzy slack-diversifying fluctuation-smoothing rule to enhance the scheduling performance in a wafer fabrication factory. The proposed rule considers the uncertainty in the remaining cycle time and is aimed at simultaneous improvement of the average cycle time, cycle time standard deviation, the maximum lateness, and number of tardy jobs. Existing publications rarely discusse ways to optimize all of these at the same time. An important input to the proposed rule is the job remaining cycle time. To this end, this paper proposes a self-adjusted fuzzy back propagation network (SA-FBPN) approach to estimate the remaining cycle time of a job. In addition, a systematic procedure is also established, which can solve the problem of slack overlapping in a nonsubjective way and optimize the overall scheduling performance. The simulation study provides evidence that the proposed rule can improve the four performance measures simultaneously.


---

## Body

## 1. Introduction

The task of job dispatching is to determine which jobs must be processed next on the available machines. However, job dispatching in a wafer fabrication factory is a very difficult task. A single recipe may contain more than 500 steps, and a wafer fabrication factory can produce as many as 200 products. In addition, some machines in a wafer fabrication factory, for example, steppers, are very expensive, and there are only a very limited number of them. Therefore, wafers have to revisit these machines for the processing of different layers. This gives rise to the characteristic re-entrant flows.The scheduling of a wafer fabrication factory usually needs to consider various points of view. To shorten the cycle time is one, and to meet the due date is another. However, for such a complex production system, it is difficult to optimize even a single measure [1, 2], let alone the simultaneous optimization of multiple measures. To solve this problem, many attempts have been made in the literature. Some results are as follows. First, a naïve aggregation of single-objective heuristics does not necessarily yield feasible nondominated solutions [3]. In addition, considering the weighted sum of multiple objectives often leads to unsatisfactory results. Further, scaling parameters can be used to weigh the different objectives, and the determination of appropriate weights is a key research issue.On the other hand, job scheduling in a wafer fabrication factory is subject to many sources of uncertainty or randomness. Such uncertainty or randomness is partly due to manual operations, including loading and unloading jobs, setting up or repairing machines, visual inspection, and others. Other causes include unexpected releases of emergency orders and machine breakdowns that are beyond the control of the factory. To consider the uncertainty or randomness, fuzzy methods are easier to use than probabilistic (stochastic) methods.A fuzzy slack-diversifying fluctuation-smoothing rule is proposed in this study for multiobjective job dispatching in a wafer fabrication factory. The existing fuzzy dispatching rules usually take the form of fuzzy inference rules; for example, “if the total processing time is long and the due date is tight then the job priority is high” [4, 5].To give a precise schedule, usually multiple fuzzy dispatching rules are used simultaneously. The results of these dispatching rules must be aggregated. To this end, there are at least three types of fuzzy inference systems—Mamdani’s fuzzy inference systems [6], Takagi-Sugeno-Kang’s (TSK’s) [7] fuzzy inference systems, and adaptive neurofuzzy inference systems (ANFISs) [8]. These systems use different aggregation and defuzzification methods. Xiong et al. [4] scheduled a flexible manufacturing system (FMS) using two fuzzy dispatching rules of the TSK type. Lee et al. [9] established fuzzy inference rules to select a combination of some existing dispatching rules for scheduling a FMS. The effectiveness of a fuzzy inference system depends critically on the way in which the related variables are partitioned. For this reason, Tan and Tang [10] applied Taguchi’s design of experiment (DOE) techniques to improve the design of some fuzzy dispatching rules for a test facility. According to Benincasa et al. [5], up to 27 rules (each with three inputs and one output) were established for scheduling automated guided vehicles. According to Dong and Liu [11], the uncertainty in the processing time was modeled with a fuzzy number, and an ANFIS was established to schedule a job shop. Inputs to the ANFIS were the differences between any two jobs, while the output from the ANFIS determined the sequence of the two jobs. If the output was greater than zero, then the first job should be processed before the second job. Tsai and Chen [12] fuzzified four traditional dispatching rules, and added five adjustable parameters to merge the four rules. A summary of some existing fuzzy dispatching rules is shown in Table 1.Table 1
Some existing fuzzy dispatching rules.
References
System type
Rules/inputs/outputs
Number of objectives
Xiong et al. [4]
TSK
2/2/1
2 (average cycle time, lateness)
Benincasa et al. [5]
Mamdani
27/3/1
2 (average cycle time, WIP level)
Lee et al. [9]
Single-rule-based
2/4/1
2 (average cycle time, cycle time standard deviation)
Tan and Tang [10]
Mamdani
8/4/1
3 (throughput, average cycle time, no. of vehicles)
Dong and Liu [11]
ANFIS
16/4/1
1 (average cycle time)
Tsai and Chen [12]
Fusion
4/5/1
4 (average cycle time, cycle time standard deviation, maximum lateness, number of tardy jobs)
*WIP: work-in progress.The existing approaches have the following problems.(1)
Establishing fuzzy inference rules is a subjective process that is not easy to optimize.(2)
The fuzziness of parameters causes the uncertainty in scheduling and therefore must be controlled.(3)
The parameters that have the greatest relevance for the scheduling performance must be estimated more accurately (such as the remaining cycle time), in order to enhance the effectiveness of scheduling.(4)
How to solve ties, that is, jobs with the same slacks, when the parameters are fuzzy valued has not been fully discussed.To tackle these problems and to enhance the performance of multiobjective job scheduling in a wafer fabrication factory, a fuzzy slack-diversifying fluctuation-smoothing rule is proposed in this study. The unique features of the proposed methodology include the following.(1)
Considering the uncertainty in the remaining cycle time. Dispatching rules that consider the remaining cycle time are more able to respond to the changes in the production environment [13]. To consider the uncertainty in the remaining cycle time, it is estimated with a fuzzy number and fed into a fuzzy dispatching rule. To this end, a self-adjusted fuzzy back propagation network (SA-FBPN) approach is proposed. Compared with the existing methods, this SA-FBPN approach can generate a very precise estimate of the remaining cycle time in an efficient manner.(2)
Establishing a fuzzy dispatching rule directly from the existing rules. A fuzzy slack-diversifying fluctuation-smoothing rule is proposed by fuzzifying the four-objective fluctuation-smoothing dispatching rule [14] and diversifying the job slack. This rule accepts the fuzzy remaining cycle time as an input.(3)
Diversifying the slack with a new approach: according to Wang et al. [15], the slack was defuzzified by maximizing the standard deviation. However, such a treatment has several drawbacks. This study establishes a systematic procedure to overcome those drawbacks, so that the slacks of jobs can be evenly distributed, and the possibility of forming ties may be reduced as much as possible.(4)
Solving the problem of slack overlapping without the need to defuzzify the slacks subjectively.(5)
Proposing the fuzzy intersection (FI) and generalized average (GAV) approach to aggregate the estimation results from various FBPNs.Some predictive scheduling methods have been proposed in recent years. The differences between the proposed methodology and these methods were summarized in Table2. The distinct advantages of the proposed methodology over these predictive scheduling methods include the following.(1)
The upper and lower bounds of the remaining cycle time used in the proposed methodology are tighter.(2)
The proposed methodology provides an easier way to optimize the scheduling rule, which improves the usability of the proposed methodology.Table 2
The differences between the proposed methodology and some predictive methods.
Scheduling method
Remaining cycle time estimation method
Types of inputs to the rule
Types of outputs from the rule
Number of objectives
Number of adjustable parameters
Optimization method
Tsai and Chen [12]
Effective FBPN
Crisp + fuzzy
Fuzzy
4
5
Minimizing the sum of the standard deviations of slacks by FNLP
Chen and Wang [21]
FCM-FBPN
Crisp
Crisp
2
1
Minimizing the standard deviation of slack by polynomial fitting
Chen [22]
FCM-BPN-GP
Crisp + fuzzy
Fuzzy
2
1
A systematic procedure for diversifying the fuzzy slack
Chen and Wang [37]
Postclassifying FBPN
Crisp
Crisp
2
2~3
Enumeration
Chen and Romanowski [23]
FCM-BPN
Crisp
Crisp
2
2
Minimizing the standard deviation of slack by polynomial fitting
The proposed methodology
SA-FBPN-aggregation
Crisp + fuzzy
Fuzzy
4
5
A systematic procedure for diversifying the fuzzy slack
*FCM: fuzzy c-means; BPN: back propagation network; GP: goal programming; FNLP: fuzzy nonlinear programming.To assess the effectiveness of the proposed methodology, production simulation is also applied in this study. The rest of this paper is organized as follows. Section2 briefly describes the production environment of a wafer fabrication factory. Then, the scheduling problem to be solved is defined. The proposed method for this is described. Section 3 is divided into three parts: SA-FBPN, the fuzzy slack-diversifying fluctuation-smoothing rule, and systematic slack diversification. The SA-FBPN approach is proposed to estimate the remaining cycle time of a job with a fuzzy number. To accept the fuzzy remaining cycle time as an input, the four-objective dispatching rule is fuzzified, resulting in fuzzy-valued slacks that may overlap. In order to solve the problem of slack overlapping, a systematic procedure is established to diversify the slack. In Section 4, a wafer fabrication simulation system is applied to test the effectiveness of the proposed methodology, so that its advantages and disadvantages can be discussed. Finally, some concluding remarks are given in Section 5.


## 2. Problem Description

At a very high level, integrated circuit production may be divided up into five blocks: raw substrate, wafer fabrication, wafer test, mark and final test, and packaging. A wafer fabrication factory is one of the most complex production systems. The complexity of a wafer fabrication process may be characterized by the number of mask layers or major process steps. Inputs to a wafer fabrication factory include 8, 12, or 18 inch wafers, on which various types of integrated circuits can be made. There are four basic steps to fabricate a wafer: film, etching, diffusion, and photo lithography. These steps will be repeated many times; finally a wafer may need to go through hundreds of production steps. In addition, 20 to 30 pieces of wafers are grouped into a job/lot and may be processed together. In total, there may be more than 1000 jobs (or 30000 wafers) that are being processed or to be processed in a wafer fabrication factory. To this end, typically hundreds of machines are used simultaneously in a wafer fabrication factory. In addition, a wafer may visit the same machine multiple times, which constitutes a special type of production system—a re-entrant job shop. An example is given in Table3. In theory, the problem of scheduling a simple job shop to optimize a single regular measure, for example, Jm∥Cmax, is already NP-hard. Scheduling a reentrant job shop to optimize multiple measures at the same time is much more difficult. To tackle such difficulties, the following treatments are taken in this study.(1)
Dispatching rules have often been criticised for being too simple, suboptimal, and myopic. Nevertheless, dispatching rules are still prevalent in the semiconductor manufacturing industry. For this reason, this study aims to propose a new dispatching rule.(2)
Predictive information, such as the remaining cycle time estimate, is incorporated into the scheduling rule to improve the responsiveness of the rule to the changing conditions of a wafer fabrication factory.(3)
Some of the existing dispatching rules that are effective for four measures (the average cycle time, cycle time standard deviation, the maximum lateness, and the number of tardy jobs) are fused to optimize these measures at the same time. Therefore, the scheduling problem to be investigated can be indicated withJm|rj,dj,rent|C-,σC,Lmax,NT.Table 3
The steps of fabricating a semiconductor product.
Step
Step no.
Machine
Machine no.
OXWS
1
4HTB, 6HTB, 2DOD, 3DOD, 1WOD, 3WOD, 4WOD, 5WOD
1, 2, 3, 4, 5, 6, 7, 8
MKWF
2
1PFC, 2PFC
9, 10
ALZER
3
7B-I200
11
ETZER
4
1B-DP5KZ
12
STZER
5
1B-DASP, 3B-DASP, 1B-DULT, 2B-DULT, 9B-DULT, 10B-DULT
13, 14, 15, 16, 17, 18
ALNW
6
10B-I100, 9B-I100, 5B-I200, 7B-I200, 11B-I80
19, 20, 21, 11, 22
⋮
QCOG
121
4HTB, 6HTB, 2DOD, 3DOD, 1WOD, 3WOD, 4WOD, 5WOD
1, 2, 3, 4, 5, 6, 7, 8A flow chart of the proposed methodology is shown in Figure1.Figure 1
The flowchart of the proposed methodology.


## 3. Methodology

The variables and parameters that will be used in the proposed methodology are defined in Table4.Table 4
The nomenclature table.
Variable/parameter
Meaning
t
The current time
R
j
The release time of jobj;  j=1~n
CT
j
The cycle time of jobj
CTE
j
~
The estimated cycle time of jobj
RC
T
j
u
The remaining cycle time of jobj from step u
RCTE
~
j
u
The estimated remaining cycle time of jobj from step u
RPT
j
u
The remaining processing time of jobj from step u
SC
T
j
u
The step cycle time of jobj until step u
S
K
j
u
The slack of jobj at step u
λ
Mean release rate
x
j
p
The inputs to the three-layer FBPN of jobj, p=1~P
h
l
The output from hidden layer nodel, l=1~L
w
l
o
The connection weight between hidden layer nodel and the output node
w
p
l
h
The connection weight between input nodep and hidden layer node l, p=1~P;l=1~L
θ
l
h
The threshold on hidden layer nodel
θ
o
The threshold on the output nodeBefore any job is scheduled, the remaining cycle time of the job needs to be estimated. To this end, the SA-FBPN approach is proposed and the remaining cycle time is estimated with a fuzzy value.


### 3.1. Step 1: Estimating the Remaining Cycle Time

#### 3.1.1. The SA-FBPN Approach

The remaining cycle time of a job being processed in a wafer fabrication factory is the time still needed to complete the job. The remaining cycle time is an important attribute (or performance measure) for work-in-progress (WIP) in a wafer fabrication factory. Past studies (e.g., [14]) have shown that the accuracy of remaining cycle time estimation can be improved by job classification. Soft computing methods (e.g., [16]) have received much attention in this field.In the SA-FBPN approach, jobs are classified intoK categories using FCM. First, in order to facilitate the subsequent calculation, all raw data are preprocessed. In the literature, there are two ways of preprocessing. One is partial normalization [17]; the other is variable replacement through principal component analysis (PCA) [18]. However, the simple combination of PCA and FBPN does not have much effect. The main effect of PCA is to improve the correctness of the job classification [19]. Then, we place the (pre-processed) attributes of a job in vector xj = [xjp]; p=1~P.FCM classifies jobs by minimizing the following objective function:(1)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 that job j belongs to 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)
SetK=1.(2)
Produce a preliminary clustering result.(3)
(Iterations) Calculate the centroid of each category as(2)x-(k)={x-(k)p};p=1~P,x-(k)p=∑j=1nμj(k)mxjp∑j=1nμj(k)m,μj(k)=1∑q=1K(ej(k)/ej(q))2/(m-1),ej(k)=∑allp(xjp-x-(k)p)2,wherex-(k) is the centroid of category k. μj(k)(t) is the membership function that indicates that job j belongs to category k after the tth iteration.(4)
Re-measure the distance from each job to the centroid of each category, and then recalculate the corresponding membership.(5)
If the following condition is met, go to step(6). Otherwise, return to step (3) as follows:
(3)maxkmaxj|μj(k)(t)-μj(k)(t-1)|<d,whered is a real number representing the threshold for the convergence of membership.(6)
Calculate the following indexes:(4)Jm=∑k=1K∑j=1nμj(k)mej(k)2,emin2=mink1≠k2(∑allp(x-(k1)p-x-(k2)p)2),S=Jmn×emin2.(7)
K=K+1. If K=Kmax, stop; the K value minimizing S determines the optimal number of categories [20]. Otherwise, return to step (2).After clustering, for each category, a three-layer FBPN is established to estimate the remaining cycle times of jobs in this category. A portion of the jobs is input as the “training examples” to the three-layer FBPN to determine the parameter values. The joint use of fuzzy logic and artificial neural networks is becoming more common in recent years. For example, fuzzy classifiers were applied in [21–23] to separate jobs in a wafer fabrication factory into different clusters before estimating their cycle times using artificial neural networks. Taghadomi-Saberi et al. [24] established an ANFIS to estimate the antioxidant activity and the anthocyanin content at different ripening stages of sweet cherries. Bui et al. [25] also used an ANFIS to determine the landslide susceptibility in the Hoa Binh province of Vietnam. Ocampo-Duque et al. [26] proposed a fuzzy inference system to compute ecological risk points (ERPs), thereby estimating the changes in water quality over time.The configuration of the three-layer FBPN is as follows (see Figure2). First, inputs are the P parameters of job j. Subsequently, there is a single hidden layer with 2P neurons. Finally, the output from the three-layer FBPN is the (normalized) remaining cycle time estimate (N(RCTE~ju)) of job j, where N() is the normalization function.Figure 2
The architecture of the three-layer FBPN.The procedure for determining the parameter values is now described. 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 output from the hidden layer as(5)h~l=(hl1,hl2,hl3)=11+e-n~lh=(11+e-nl1h,11+e-nl2h,11+e-nl3h),
where
(6)n~lh=(nl1h,nl2h,nl3h)=I~lh(-)θ~lh=(Il1h-θl3h,Il2h-θl2h,Il3h-θl1h),I~lh=(Il1h,Il2h,Il3h)=∑allpw~plh·xjp=(∑allpmin(wpl1hxjp,wpl3hxjp),∑allpwpl2hxjp,∑allpmax(wpl1hxjp,wpl3hxjp)),
where (-) and (×) denote fuzzy subtraction and multiplication, respectively.h
~
l values are also transferred to the output layer with the same procedure. Finally, the output of the FBPN is generated as follows:
(7)o~j=(oj1,oj2,oj3)=11+e-n~o=(11+e-n1o,11+e-n2o,11+e-n3o),
where
(8)n~o=(n1o,n2o,n3o)=I~o(-)θ~o=(I1o-θ3o,I2o-θ2o,I3o-θ1o),(9)I~o=(I1o,I2o,I3o)=∑alllw~lo(×)h~l≅(∑alllmin(wl1ohl1,wl3ohl3),∑alllwl2ohl2,∑alllmax(wl1ohl1,wl3ohl3)).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 aswpl2h, θl2h, wl2o, and θ2o), the FBPN is treated as a crisp network. Some algorithms are applicable for this purpose, such as the gradient descent algorithms, the conjugate gradient algorithms, the Levenberg-Marquardt algorithm, and others. In this study, the Levenberg-Marquardt algorithm is applied [27].Subsequently, the upper bound of each parameter (e.g.,wpl3h, θl3h, wl3o, and θ3o) is to be determined, so that the actual value will be less than the upper bound of the network output. Chen and Wang [28] and Chen and Lin [29] have described how a nonlinear programming (NLP) model can be constructed to adjust the connection weights and thresholds in the FBPN. However, the NP problem is not easy to solve. In the proposed methodology, only the threshold on the output node will be adjusted in an iterative way. This way is much simpler and can also achieve good results.Substituting (8) into (7),
(10)oj2=11+e-nj2o=11+e-(Ij2o-θ2o)=11+eθ2o-Ij2o.
Therefore,
(11)ln(1oj2-1)=θ2o-Ij2o.
So
(12)Ij2o=θ2o-ln(1oj2-1).Assume that the adjustment made to the threshold on the output node is denoted asΔθo=θ3o-θ2o. After adjustment, the output from the new FBPN, oj3, determines the upper bound of the remaining cycle time:
(13)oj3=11+e-nj3o,
where
(14)nj3o=Ij3o-θ3o=Ij3o-(θ2o+Δθo).
Substituting (14) into (13),
(15)oj3=11+e-(Ij3o-θ2o-Δθo).
And substituting (12) into (15),
(16)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.Sinceoj3 is the upper bound of the remaining cycle time, oj3≥N(RCTju),
(17)11+eln(1/oj2-1)+Δθo≥N(RCTju),(18)Δθo≤ln(1N(RCTju)-1)-ln(1oj2-1).
Equation (18) holds for all jobs, so
(19)Δθo≤minj(ln(1N(RCTju)-1)-ln(1oj2-1)).
According to (19), the optimal value of Δθo should be set to the maximum possible value:
(20)Δθo*=minj(ln(1N(RCTju)-1)-ln(1oj2-1)).The optimization results of the FBPN are dependent on the initial conditions and therefore are different every iteration. Assume that the optimal value ofoj3 in the tth replication is denoted by oj3(t), then after some iterations,
(21)oj3(alliterations)=mintoj3(t).
In this way, the upper bound of the remaining cycle time is decreased gradually (see Figure 3). Another merit of this approach is that it does not rely on the parameters of the FBPN.Figure 3
Iterative reduction of the upper bound.In a similar way, the lower bound of each parameter (e.g., wpl1h, θl3h, wl3o, and θ3o) can be determined, so that each actual value will be greater than the lower bound. The optimal value of Δθo can be obtained as
(22)Δθo*=maxj(ln(1N(RCTju)-1)-ln(1oj2-1)).Assume that the optimal value ofoj1 in the tth replication is denoted by oj1(t); then, after some iterations,
(23)oj1(alliterations)=maxtoj1(t).
In this way, the upper bound of the remaining cycle time is increased gradually (Figure 4). Δθo* does not rely on the parameters of the FBPN either.Figure 4
Iterative reduction of the lower bound.From Figure5, it can be seen that if only the remaining cycle time is considered, then the sequence should be 3→2→1. By contrast, the sequence based on imprecise fuzzy remaining cycle time estimates is 3→1→2. This problem can be solved by increasing the precision of the remaining cycle time estimate, resulting in the correct sequence, 3→2→1.Figure 5
Precise remaining cycle time estimation eliminates misscheduling.


#### 3.1.2. Considering the Uncertainty in Job Classification

In past studies, the remaining cycle time of a job is usually determined by the FBPN of the cluster with the highest membership. However, that makes fuzzy classification meaningless. To tackle this problem, various treatments have been taken in the literature [30]. Recently, Wu and Chen [31] proposed the GAV approach to aggregate the estimation results from various BPNs, which is modified by incorporating in the concept of FI in this study. Consider
(24)RCTE~ju=(∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1)max(RCTEju1(k)),∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1),min(RCTEju3(k))∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1)),
where RCTE~ju(k) is the remaining cycle time of job j estimated by the FBPN of cluster k.


### 3.2. The New Rule

#### 3.2.1. Two Basic Fluctuation Smoothing Rules

Lu et al. [13] proposed two fluctuation smoothing rules—the fluctuation smoothing policy for mean cycle time (FSMCT) and the fluctuation smoothing policy for variation of cycle time (FSVCT). FSMCT effectively diminishes the burst of arrivals to all buffers simultaneously, thereby reducing the mean cycle time. On the other hand, FSVCT attempts to make every job equally late or equally early, thereby reducing the standard deviation of lateness. In fluctuation smoothing rules, each job is assigned a slack value, and the processing order of the job is dependent on the slack value:(FSMCT)(25)SKju(FSMCT)=jλ-RCTEju(FSVCT)(26)SKju(FSVCT)=Rj-RCTEju.
Jobs with the smallest slack values will be given higher priorities.


#### 3.2.2. Step 2: The Fuzzy Fluctuation-Smoothing Rule

Subsequently, if the remaining cycle time is estimated with a triangular fuzzy number, then we have two fuzzy fluctuation smoothing rules as(fuzzy FSMCT, FFSMCT)(27)SK~ju(FSMCT)=jλ-RCTE~ju(fuzzy FSVCT, FFSVCT)(28)SK~ju(FSVCT)=Rj-RCTE~ju.To determine the sequence of jobs, the fuzzy slacks need to be compared. To this end, various methods have been proposed in the literature, such as the method based on the probability measure [32], the coefficient of variance (CV) index [8], the method considering the area between the centroid and original points [33], and the method based on the fuzzy mean and standard deviation [34]. For a comparison of these methods, refer to Zhu and Xu [34]. In this study, the method based on the fuzzy mean and standard deviation is applied, because it is relatively simple and can yield reasonable comparison results. To put this in context, the following theorems are introduced.Theorem 1.
The fuzzy mean of a triangular fuzzy numberA~ = (x0-a, x0, x0+b) is
(29)μA~=x0+b-a3
while the fuzzy standard deviation of A~ is
(30)σA~=a2+ab+b218.Proof (see Zhu and Xu [34]).
It is, in fact, the center-of-gravity (COG) method.The following definition details the comparison method based on the fuzzy mean and standard deviation.Definition 2.
For any two fuzzy numbersA~ and B~∈F(R), the sequence of A~ and B~ can be determined according to their fuzzy means and standard deviations as follows:(1)
μA~>μB~ if and only if A~≻B~;(2)
μA~<μB~ if and only if A~≺B~;(3)
ifμA~=μB~, then
(i)
σA~>σB~ if and only if A~≺B~;(ii)
σA~<σB~ if and only if A~≻B~;(iii)
σA~=σB~ if and only if A~=B~.


#### 3.2.3. The Slack-Diversifying Rule

The idea behind the fluctuation smoothing rules is to disperse the arrivals of jobs to a machine, and the tool to control this is the slack value. For this reason, to diversify the slack values of jobs seems to be a possible way to disperse their arrivals. To this end, Wang et al. [15] maximized the standard deviation of the slack value:
(31)σSKju=∑i=1N(SKju-SK-u)2n-1.
However, to achieve this, the slack formula should contain at least one parameter that is adjustable and differentiable. In addition, Wu and Chen [31] showed that such a treatment may lead to the situation that most slacks concentrate on the two extremes.


#### 3.2.4. Step 3: The Four-Factor Fuzzy Fluctuation-Smoothing Rule

Chen [14] combined four traditional dispatching rules-EDD, critical ratio (CR), FSMCT, and FSVCT and proposed the four-objective dispatching rule. In the four-objective dispatching rule, the slack of job j at processing step u is defined as
(32)SKju=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju-minjRCTEjumaxjRCTEju-minjRCTEju)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,
where, α, β, γ, and η and are positive real numbers that satisfy the following constraints:
(33)Ifα=1thenβ,γ,ϑ=0;η=-1,andviceversaIfβ=1thenα=0;γ,η,ϑ=-1,andviceversaIfη=1thenα,β=0;γ,ϑ=1,andviceversa.
Jobs with the smallest slack values will be given higher priorities. There are many possible models that can form the combinations of α,β, γ, η, and ϑ. For example,
(34)(Linearmodel)α=1-2β-γ,γ=ϑ=η+α,(35)(Nonlinearmodel)α=(1-2β-γ)u;u∈Z+;γ=ϑ=(η+α)v,v=1,3,5,…,(36)(Logarithmicmodel1)α=ln(2-2β-γ)ln2;γ=ϑ=ln(1.5η+α+2.5)ln2-1.
The values of α and β are within [01].Theorem 3.
The four-objective nonlinear fluctuation smoothing rule is more responsive than the four original rules ifRCTEju is large, which is a common phenomenon in a wafer fabrication factory.Proof.
See the Appendix.If the remaining cycle time is estimated with a triangular fuzzy number, then (34) becomes
(37)SK~ju=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTE~ju-minjRCTE~jumaxjRCTE~ju-minjRCTE~ju)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ=(SKju1,SKju2,SKju3)
which is equivalent to
(38)SKju1=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju1-minjRCTEju1maxjRCTEju3-minjRCTEju1)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,(39)SKju2=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju2-minjRCTEju2maxjRCTEju2-minjRCTEju2)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,(40)SKju3=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju3-minjRCTEju1maxjRCTEju3-minjRCTEju1)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ.
Job j is processed before job k if SK~ju<SK~ku.


#### 3.2.5. Step 4: The Four-Factor Fuzzy Slack-Diversifying Fluctuation-Smoothing Rule

Wang et al. [15] diversified the slack by maximizing the standard deviation of the slack. However, such a practice causes slacks to concentrate on the two extremes, rather than being evenly dispersed. To solve this problem, the following procedure is established to diversify the slack instead.(1)
Setψmax to 0.(2)
Vary the values of the five parameters.(3)
Sequence the jobs by Definition2 in ascending order.(4)
Calculate the distance of every two adjacentSK~(j)u’s as
(41)d(SK~(j-1)u,SK~(j)u)=SK(j)u1-SK(j-1)u3.(5)
Evaluate whether there is no overlap by(42)ψ(j-1,j)={1ifd(SK~(j-1)u,SK~ju)>0,0otherwise.(6)
If∑j=1nψ(j-1,j)>ψmax, update ψmax to ∑j=1nψ(j-1,j).(7)
Ifψmax≥ a threshold, stop; otherwise, return to step (2).This procedure is a polynomial-time algorithm. By repeated applications of this procedure, one obtains an optimal schedule with the fewest overlaps inO(n2) time.


#### 3.2.6. Step 5: Applying the New Rule to Sequence Jobs

An example is given in Table5. The sequencing results by the two traditional fluctuation smoothing rules areFSMCT:7→11→16→6→13→19→4→1→3→14→2→9→10→8→12→ 18 →15→17→5.FSVCT:7→13→19→11→1→16→6→4→9→15→17→8→3→12→2→ 18 →14→5→10.Table 5
An example (λ = 1.18).
#
R
j
j
SCT
j
u
RPT
j
u
RCTE
j
u
SK
j
u (FSMCT)
SK
j
u (FSVCT)
1
102
159
881
560
1399
−1264
−1297
2
756
37
227
451
1127
−1096
−371
3
826
37
157
489
1223
−1192
−397
4
652
86
331
729
1822
−1749
−1170
5
208
55
775
212
530
−483
−322
6
783
84
200
816
2040
−1969
−1257
7
800
96
183
946
2366
−2285
−1566
8
478
52
505
377
942
−898
−464
9
469
65
514
446
1116
−1061
−647
10
699
32
284
398
995
−968
−296
11
836
85
147
860
2151
−2079
−1315
12
497
45
486
353
883
−845
−386
13
596
101
387
819
2047
−1961
−1451
14
798
34
185
458
1146
−1117
−348
15
197
79
786
297
743
−676
−546
16
804
85
179
837
2092
−2020
−1288
17
163
78
820
259
647
−581
−484
18
457
44
526
324
810
−773
−353
19
523
100
460
740
1851
−1766
−1328Subsequently, if the remaining cycle time is estimated with a fuzzy value instead (see Table6), then the sequencing results by the two fuzzy fluctuation smoothing rules areFFSMCT:7→11→16→6→13→4→19→1→3→14→2→9→10→8→12→ 18 →15→17→5.FFSVCT:7→13→19→16→11→1→6→4→9→15→17→8→3→12→2→ 14 →18→5→10.Table 6
The example with fuzzy remaining cycle times (λ = 1.18).
#
R
j
j
SCT
j
u
RPT
j
u
RCTE
~
j
u
SK
~
j
u (FFSMCT)
SK
~
j
u (FFSVCT)
1
102
159
881
560
(1200, 1399, 1458)
(−1324, −1265, −1066)
(−1357, −1297, −1099)
2
756
37
227
451
(976, 1127, 1176)
(−1145, −1096, −945)
(−421, −371, −221)
3
826
37
157
489
(1086, 1223, 1299)
(−1269, −1192, −1055)
(−474, −397, −261)
4
652
86
331
729
(1618, 1822, 1976)
(−1904, −1750, −1546)
(−1325, −1170, −967)
5
208
55
775
212
(455, 530, 557)
(−511, −484, −410)
(−350, −322, −248)
6
783
84
200
816
(1742, 2040, 2158)
(−2088, −1969, −1671)
(−1376, −1257, −960)
7
800
96
183
946
(2039, 2366, 2549)
(−2468, −2285, −1959)
(−1750, −1566, −1240)
8
478
52
505
377
(848, 942, 992)
(−949, −898, −805)
(−515, −464, −371)
9
469
65
514
446
(992, 1116, 1176)
(−1122, −1061, −938)
(−708, −647, −524)
10
699
32
284
398
(853, 995, 1031)
(−1005, −968, −827)
(−333, −296, −155)
11
836
85
147
860
(1830, 2151, 2311)
(−2240, −2079, −1759)
(−1476, −1315, −995)
12
497
45
486
353
(794, 883, 918)
(−881, −845, −757)
(−422, −386, −298)
13
596
101
387
819
(1700, 2047, 2170)
(−2086, −1962, −1615)
(−1575, −1451, −1105)
14
798
34
185
458
(975, 1146, 1256)
(−1228, −1118, −948)
(−459, −348, −178)
15
197
79
786
297
(659, 743, 800)
(−734, −677, −593)
(−604, −546, −463)
16
804
85
179
837
(1819, 2092, 2318)
(−2247, −2020, −1748)
(−1515, −1288, −1016)
17
163
78
820
259
(560, 647, 708)
(−643, −581, −495)
(−546, −484, −398)
18
457
44
526
324
(685, 810, 839)
(−803, −773, −649)
(−383, −353, −229)
19
523
100
460
740
(1547, 1851, 2042)
(−1958, −1767, −1463)
(−1520, −1328, −1025)Obviously, after considering the uncertainty in the remaining cycle time, the sequencing results are different.The four-factor fuzzy slack-diversifying fluctuation-smoothing rule and Wang et al.’s method are also applied to this example. After 50 iterations, the optimal values of the parameters are (α,β,γ,η,ϑ) = (0.4, 0.08, 0.43, 0.43, 0.03) with ψmax = 16. That means that 16 out of 19 jobs are not overlapping with their neighbors. The slacks of the jobs are shown in Figure 6. For a comparison, the slacks obtained by using Wang et al.’s method are shown in Figure 7, in which σSKju=2.68. Obviously, Consider the following.(1)
The slacks obtained by using the proposed methodology are evenly distributed, and there are very little slack overlapping and very few ties.(2)
Conversely, the slacks obtained using Wang et al.’s method concentrate on one or two extremes, and there are still some overlaps and ties that cause difficulties in sequencing jobs and may lead to misscheduling.(3)
The cumulative fuzziness during the reasoning process of a fuzzy dispatching rule raises the possibility of forming ties. In this regard, the proposed methodology surpasses Wang et al.’s method in reducing the number of ties. The advantage is 83%.(4)
In addition, the proposed methodology also achieves a very good performance in reducing the average overlapping. When compared with Wang et al.’s method, the advantage is as high as 98 hours.Figure 6
The fuzzy slacks of the 19 jobs after optimization.Figure 7
The fuzzy slacks obtained by using Wang et al.’s method.


## 3.1. Step 1: Estimating the Remaining Cycle Time

### 3.1.1. The SA-FBPN Approach

The remaining cycle time of a job being processed in a wafer fabrication factory is the time still needed to complete the job. The remaining cycle time is an important attribute (or performance measure) for work-in-progress (WIP) in a wafer fabrication factory. Past studies (e.g., [14]) have shown that the accuracy of remaining cycle time estimation can be improved by job classification. Soft computing methods (e.g., [16]) have received much attention in this field.In the SA-FBPN approach, jobs are classified intoK categories using FCM. First, in order to facilitate the subsequent calculation, all raw data are preprocessed. In the literature, there are two ways of preprocessing. One is partial normalization [17]; the other is variable replacement through principal component analysis (PCA) [18]. However, the simple combination of PCA and FBPN does not have much effect. The main effect of PCA is to improve the correctness of the job classification [19]. Then, we place the (pre-processed) attributes of a job in vector xj = [xjp]; p=1~P.FCM classifies jobs by minimizing the following objective function:(1)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 that job j belongs to 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)
SetK=1.(2)
Produce a preliminary clustering result.(3)
(Iterations) Calculate the centroid of each category as(2)x-(k)={x-(k)p};p=1~P,x-(k)p=∑j=1nμj(k)mxjp∑j=1nμj(k)m,μj(k)=1∑q=1K(ej(k)/ej(q))2/(m-1),ej(k)=∑allp(xjp-x-(k)p)2,wherex-(k) is the centroid of category k. μj(k)(t) is the membership function that indicates that job j belongs to category k after the tth iteration.(4)
Re-measure the distance from each job to the centroid of each category, and then recalculate the corresponding membership.(5)
If the following condition is met, go to step(6). Otherwise, return to step (3) as follows:
(3)maxkmaxj|μj(k)(t)-μj(k)(t-1)|<d,whered is a real number representing the threshold for the convergence of membership.(6)
Calculate the following indexes:(4)Jm=∑k=1K∑j=1nμj(k)mej(k)2,emin2=mink1≠k2(∑allp(x-(k1)p-x-(k2)p)2),S=Jmn×emin2.(7)
K=K+1. If K=Kmax, stop; the K value minimizing S determines the optimal number of categories [20]. Otherwise, return to step (2).After clustering, for each category, a three-layer FBPN is established to estimate the remaining cycle times of jobs in this category. A portion of the jobs is input as the “training examples” to the three-layer FBPN to determine the parameter values. The joint use of fuzzy logic and artificial neural networks is becoming more common in recent years. For example, fuzzy classifiers were applied in [21–23] to separate jobs in a wafer fabrication factory into different clusters before estimating their cycle times using artificial neural networks. Taghadomi-Saberi et al. [24] established an ANFIS to estimate the antioxidant activity and the anthocyanin content at different ripening stages of sweet cherries. Bui et al. [25] also used an ANFIS to determine the landslide susceptibility in the Hoa Binh province of Vietnam. Ocampo-Duque et al. [26] proposed a fuzzy inference system to compute ecological risk points (ERPs), thereby estimating the changes in water quality over time.The configuration of the three-layer FBPN is as follows (see Figure2). First, inputs are the P parameters of job j. Subsequently, there is a single hidden layer with 2P neurons. Finally, the output from the three-layer FBPN is the (normalized) remaining cycle time estimate (N(RCTE~ju)) of job j, where N() is the normalization function.Figure 2
The architecture of the three-layer FBPN.The procedure for determining the parameter values is now described. 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 output from the hidden layer as(5)h~l=(hl1,hl2,hl3)=11+e-n~lh=(11+e-nl1h,11+e-nl2h,11+e-nl3h),
where
(6)n~lh=(nl1h,nl2h,nl3h)=I~lh(-)θ~lh=(Il1h-θl3h,Il2h-θl2h,Il3h-θl1h),I~lh=(Il1h,Il2h,Il3h)=∑allpw~plh·xjp=(∑allpmin(wpl1hxjp,wpl3hxjp),∑allpwpl2hxjp,∑allpmax(wpl1hxjp,wpl3hxjp)),
where (-) and (×) denote fuzzy subtraction and multiplication, respectively.h
~
l values are also transferred to the output layer with the same procedure. Finally, the output of the FBPN is generated as follows:
(7)o~j=(oj1,oj2,oj3)=11+e-n~o=(11+e-n1o,11+e-n2o,11+e-n3o),
where
(8)n~o=(n1o,n2o,n3o)=I~o(-)θ~o=(I1o-θ3o,I2o-θ2o,I3o-θ1o),(9)I~o=(I1o,I2o,I3o)=∑alllw~lo(×)h~l≅(∑alllmin(wl1ohl1,wl3ohl3),∑alllwl2ohl2,∑alllmax(wl1ohl1,wl3ohl3)).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 aswpl2h, θl2h, wl2o, and θ2o), the FBPN is treated as a crisp network. Some algorithms are applicable for this purpose, such as the gradient descent algorithms, the conjugate gradient algorithms, the Levenberg-Marquardt algorithm, and others. In this study, the Levenberg-Marquardt algorithm is applied [27].Subsequently, the upper bound of each parameter (e.g.,wpl3h, θl3h, wl3o, and θ3o) is to be determined, so that the actual value will be less than the upper bound of the network output. Chen and Wang [28] and Chen and Lin [29] have described how a nonlinear programming (NLP) model can be constructed to adjust the connection weights and thresholds in the FBPN. However, the NP problem is not easy to solve. In the proposed methodology, only the threshold on the output node will be adjusted in an iterative way. This way is much simpler and can also achieve good results.Substituting (8) into (7),
(10)oj2=11+e-nj2o=11+e-(Ij2o-θ2o)=11+eθ2o-Ij2o.
Therefore,
(11)ln(1oj2-1)=θ2o-Ij2o.
So
(12)Ij2o=θ2o-ln(1oj2-1).Assume that the adjustment made to the threshold on the output node is denoted asΔθo=θ3o-θ2o. After adjustment, the output from the new FBPN, oj3, determines the upper bound of the remaining cycle time:
(13)oj3=11+e-nj3o,
where
(14)nj3o=Ij3o-θ3o=Ij3o-(θ2o+Δθo).
Substituting (14) into (13),
(15)oj3=11+e-(Ij3o-θ2o-Δθo).
And substituting (12) into (15),
(16)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.Sinceoj3 is the upper bound of the remaining cycle time, oj3≥N(RCTju),
(17)11+eln(1/oj2-1)+Δθo≥N(RCTju),(18)Δθo≤ln(1N(RCTju)-1)-ln(1oj2-1).
Equation (18) holds for all jobs, so
(19)Δθo≤minj(ln(1N(RCTju)-1)-ln(1oj2-1)).
According to (19), the optimal value of Δθo should be set to the maximum possible value:
(20)Δθo*=minj(ln(1N(RCTju)-1)-ln(1oj2-1)).The optimization results of the FBPN are dependent on the initial conditions and therefore are different every iteration. Assume that the optimal value ofoj3 in the tth replication is denoted by oj3(t), then after some iterations,
(21)oj3(alliterations)=mintoj3(t).
In this way, the upper bound of the remaining cycle time is decreased gradually (see Figure 3). Another merit of this approach is that it does not rely on the parameters of the FBPN.Figure 3
Iterative reduction of the upper bound.In a similar way, the lower bound of each parameter (e.g., wpl1h, θl3h, wl3o, and θ3o) can be determined, so that each actual value will be greater than the lower bound. The optimal value of Δθo can be obtained as
(22)Δθo*=maxj(ln(1N(RCTju)-1)-ln(1oj2-1)).Assume that the optimal value ofoj1 in the tth replication is denoted by oj1(t); then, after some iterations,
(23)oj1(alliterations)=maxtoj1(t).
In this way, the upper bound of the remaining cycle time is increased gradually (Figure 4). Δθo* does not rely on the parameters of the FBPN either.Figure 4
Iterative reduction of the lower bound.From Figure5, it can be seen that if only the remaining cycle time is considered, then the sequence should be 3→2→1. By contrast, the sequence based on imprecise fuzzy remaining cycle time estimates is 3→1→2. This problem can be solved by increasing the precision of the remaining cycle time estimate, resulting in the correct sequence, 3→2→1.Figure 5
Precise remaining cycle time estimation eliminates misscheduling.


### 3.1.2. Considering the Uncertainty in Job Classification

In past studies, the remaining cycle time of a job is usually determined by the FBPN of the cluster with the highest membership. However, that makes fuzzy classification meaningless. To tackle this problem, various treatments have been taken in the literature [30]. Recently, Wu and Chen [31] proposed the GAV approach to aggregate the estimation results from various BPNs, which is modified by incorporating in the concept of FI in this study. Consider
(24)RCTE~ju=(∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1)max(RCTEju1(k)),∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1),min(RCTEju3(k))∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1)),
where RCTE~ju(k) is the remaining cycle time of job j estimated by the FBPN of cluster k.


## 3.1.1. The SA-FBPN Approach

The remaining cycle time of a job being processed in a wafer fabrication factory is the time still needed to complete the job. The remaining cycle time is an important attribute (or performance measure) for work-in-progress (WIP) in a wafer fabrication factory. Past studies (e.g., [14]) have shown that the accuracy of remaining cycle time estimation can be improved by job classification. Soft computing methods (e.g., [16]) have received much attention in this field.In the SA-FBPN approach, jobs are classified intoK categories using FCM. First, in order to facilitate the subsequent calculation, all raw data are preprocessed. In the literature, there are two ways of preprocessing. One is partial normalization [17]; the other is variable replacement through principal component analysis (PCA) [18]. However, the simple combination of PCA and FBPN does not have much effect. The main effect of PCA is to improve the correctness of the job classification [19]. Then, we place the (pre-processed) attributes of a job in vector xj = [xjp]; p=1~P.FCM classifies jobs by minimizing the following objective function:(1)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 that job j belongs to 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)
SetK=1.(2)
Produce a preliminary clustering result.(3)
(Iterations) Calculate the centroid of each category as(2)x-(k)={x-(k)p};p=1~P,x-(k)p=∑j=1nμj(k)mxjp∑j=1nμj(k)m,μj(k)=1∑q=1K(ej(k)/ej(q))2/(m-1),ej(k)=∑allp(xjp-x-(k)p)2,wherex-(k) is the centroid of category k. μj(k)(t) is the membership function that indicates that job j belongs to category k after the tth iteration.(4)
Re-measure the distance from each job to the centroid of each category, and then recalculate the corresponding membership.(5)
If the following condition is met, go to step(6). Otherwise, return to step (3) as follows:
(3)maxkmaxj|μj(k)(t)-μj(k)(t-1)|<d,whered is a real number representing the threshold for the convergence of membership.(6)
Calculate the following indexes:(4)Jm=∑k=1K∑j=1nμj(k)mej(k)2,emin2=mink1≠k2(∑allp(x-(k1)p-x-(k2)p)2),S=Jmn×emin2.(7)
K=K+1. If K=Kmax, stop; the K value minimizing S determines the optimal number of categories [20]. Otherwise, return to step (2).After clustering, for each category, a three-layer FBPN is established to estimate the remaining cycle times of jobs in this category. A portion of the jobs is input as the “training examples” to the three-layer FBPN to determine the parameter values. The joint use of fuzzy logic and artificial neural networks is becoming more common in recent years. For example, fuzzy classifiers were applied in [21–23] to separate jobs in a wafer fabrication factory into different clusters before estimating their cycle times using artificial neural networks. Taghadomi-Saberi et al. [24] established an ANFIS to estimate the antioxidant activity and the anthocyanin content at different ripening stages of sweet cherries. Bui et al. [25] also used an ANFIS to determine the landslide susceptibility in the Hoa Binh province of Vietnam. Ocampo-Duque et al. [26] proposed a fuzzy inference system to compute ecological risk points (ERPs), thereby estimating the changes in water quality over time.The configuration of the three-layer FBPN is as follows (see Figure2). First, inputs are the P parameters of job j. Subsequently, there is a single hidden layer with 2P neurons. Finally, the output from the three-layer FBPN is the (normalized) remaining cycle time estimate (N(RCTE~ju)) of job j, where N() is the normalization function.Figure 2
The architecture of the three-layer FBPN.The procedure for determining the parameter values is now described. 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 output from the hidden layer as(5)h~l=(hl1,hl2,hl3)=11+e-n~lh=(11+e-nl1h,11+e-nl2h,11+e-nl3h),
where
(6)n~lh=(nl1h,nl2h,nl3h)=I~lh(-)θ~lh=(Il1h-θl3h,Il2h-θl2h,Il3h-θl1h),I~lh=(Il1h,Il2h,Il3h)=∑allpw~plh·xjp=(∑allpmin(wpl1hxjp,wpl3hxjp),∑allpwpl2hxjp,∑allpmax(wpl1hxjp,wpl3hxjp)),
where (-) and (×) denote fuzzy subtraction and multiplication, respectively.h
~
l values are also transferred to the output layer with the same procedure. Finally, the output of the FBPN is generated as follows:
(7)o~j=(oj1,oj2,oj3)=11+e-n~o=(11+e-n1o,11+e-n2o,11+e-n3o),
where
(8)n~o=(n1o,n2o,n3o)=I~o(-)θ~o=(I1o-θ3o,I2o-θ2o,I3o-θ1o),(9)I~o=(I1o,I2o,I3o)=∑alllw~lo(×)h~l≅(∑alllmin(wl1ohl1,wl3ohl3),∑alllwl2ohl2,∑alllmax(wl1ohl1,wl3ohl3)).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 aswpl2h, θl2h, wl2o, and θ2o), the FBPN is treated as a crisp network. Some algorithms are applicable for this purpose, such as the gradient descent algorithms, the conjugate gradient algorithms, the Levenberg-Marquardt algorithm, and others. In this study, the Levenberg-Marquardt algorithm is applied [27].Subsequently, the upper bound of each parameter (e.g.,wpl3h, θl3h, wl3o, and θ3o) is to be determined, so that the actual value will be less than the upper bound of the network output. Chen and Wang [28] and Chen and Lin [29] have described how a nonlinear programming (NLP) model can be constructed to adjust the connection weights and thresholds in the FBPN. However, the NP problem is not easy to solve. In the proposed methodology, only the threshold on the output node will be adjusted in an iterative way. This way is much simpler and can also achieve good results.Substituting (8) into (7),
(10)oj2=11+e-nj2o=11+e-(Ij2o-θ2o)=11+eθ2o-Ij2o.
Therefore,
(11)ln(1oj2-1)=θ2o-Ij2o.
So
(12)Ij2o=θ2o-ln(1oj2-1).Assume that the adjustment made to the threshold on the output node is denoted asΔθo=θ3o-θ2o. After adjustment, the output from the new FBPN, oj3, determines the upper bound of the remaining cycle time:
(13)oj3=11+e-nj3o,
where
(14)nj3o=Ij3o-θ3o=Ij3o-(θ2o+Δθo).
Substituting (14) into (13),
(15)oj3=11+e-(Ij3o-θ2o-Δθo).
And substituting (12) into (15),
(16)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.Sinceoj3 is the upper bound of the remaining cycle time, oj3≥N(RCTju),
(17)11+eln(1/oj2-1)+Δθo≥N(RCTju),(18)Δθo≤ln(1N(RCTju)-1)-ln(1oj2-1).
Equation (18) holds for all jobs, so
(19)Δθo≤minj(ln(1N(RCTju)-1)-ln(1oj2-1)).
According to (19), the optimal value of Δθo should be set to the maximum possible value:
(20)Δθo*=minj(ln(1N(RCTju)-1)-ln(1oj2-1)).The optimization results of the FBPN are dependent on the initial conditions and therefore are different every iteration. Assume that the optimal value ofoj3 in the tth replication is denoted by oj3(t), then after some iterations,
(21)oj3(alliterations)=mintoj3(t).
In this way, the upper bound of the remaining cycle time is decreased gradually (see Figure 3). Another merit of this approach is that it does not rely on the parameters of the FBPN.Figure 3
Iterative reduction of the upper bound.In a similar way, the lower bound of each parameter (e.g., wpl1h, θl3h, wl3o, and θ3o) can be determined, so that each actual value will be greater than the lower bound. The optimal value of Δθo can be obtained as
(22)Δθo*=maxj(ln(1N(RCTju)-1)-ln(1oj2-1)).Assume that the optimal value ofoj1 in the tth replication is denoted by oj1(t); then, after some iterations,
(23)oj1(alliterations)=maxtoj1(t).
In this way, the upper bound of the remaining cycle time is increased gradually (Figure 4). Δθo* does not rely on the parameters of the FBPN either.Figure 4
Iterative reduction of the lower bound.From Figure5, it can be seen that if only the remaining cycle time is considered, then the sequence should be 3→2→1. By contrast, the sequence based on imprecise fuzzy remaining cycle time estimates is 3→1→2. This problem can be solved by increasing the precision of the remaining cycle time estimate, resulting in the correct sequence, 3→2→1.Figure 5
Precise remaining cycle time estimation eliminates misscheduling.


## 3.1.2. Considering the Uncertainty in Job Classification

In past studies, the remaining cycle time of a job is usually determined by the FBPN of the cluster with the highest membership. However, that makes fuzzy classification meaningless. To tackle this problem, various treatments have been taken in the literature [30]. Recently, Wu and Chen [31] proposed the GAV approach to aggregate the estimation results from various BPNs, which is modified by incorporating in the concept of FI in this study. Consider
(24)RCTE~ju=(∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1)max(RCTEju1(k)),∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1),min(RCTEju3(k))∑k=1K1/μj(k)2/(m-1)·RCTEju2(k)∑k=1K1/μj(k)2/(m-1)),
where RCTE~ju(k) is the remaining cycle time of job j estimated by the FBPN of cluster k.


## 3.2. The New Rule

### 3.2.1. Two Basic Fluctuation Smoothing Rules

Lu et al. [13] proposed two fluctuation smoothing rules—the fluctuation smoothing policy for mean cycle time (FSMCT) and the fluctuation smoothing policy for variation of cycle time (FSVCT). FSMCT effectively diminishes the burst of arrivals to all buffers simultaneously, thereby reducing the mean cycle time. On the other hand, FSVCT attempts to make every job equally late or equally early, thereby reducing the standard deviation of lateness. In fluctuation smoothing rules, each job is assigned a slack value, and the processing order of the job is dependent on the slack value:(FSMCT)(25)SKju(FSMCT)=jλ-RCTEju(FSVCT)(26)SKju(FSVCT)=Rj-RCTEju.
Jobs with the smallest slack values will be given higher priorities.


### 3.2.2. Step 2: The Fuzzy Fluctuation-Smoothing Rule

Subsequently, if the remaining cycle time is estimated with a triangular fuzzy number, then we have two fuzzy fluctuation smoothing rules as(fuzzy FSMCT, FFSMCT)(27)SK~ju(FSMCT)=jλ-RCTE~ju(fuzzy FSVCT, FFSVCT)(28)SK~ju(FSVCT)=Rj-RCTE~ju.To determine the sequence of jobs, the fuzzy slacks need to be compared. To this end, various methods have been proposed in the literature, such as the method based on the probability measure [32], the coefficient of variance (CV) index [8], the method considering the area between the centroid and original points [33], and the method based on the fuzzy mean and standard deviation [34]. For a comparison of these methods, refer to Zhu and Xu [34]. In this study, the method based on the fuzzy mean and standard deviation is applied, because it is relatively simple and can yield reasonable comparison results. To put this in context, the following theorems are introduced.Theorem 1.
The fuzzy mean of a triangular fuzzy numberA~ = (x0-a, x0, x0+b) is
(29)μA~=x0+b-a3
while the fuzzy standard deviation of A~ is
(30)σA~=a2+ab+b218.Proof (see Zhu and Xu [34]).
It is, in fact, the center-of-gravity (COG) method.The following definition details the comparison method based on the fuzzy mean and standard deviation.Definition 2.
For any two fuzzy numbersA~ and B~∈F(R), the sequence of A~ and B~ can be determined according to their fuzzy means and standard deviations as follows:(1)
μA~>μB~ if and only if A~≻B~;(2)
μA~<μB~ if and only if A~≺B~;(3)
ifμA~=μB~, then
(i)
σA~>σB~ if and only if A~≺B~;(ii)
σA~<σB~ if and only if A~≻B~;(iii)
σA~=σB~ if and only if A~=B~.


### 3.2.3. The Slack-Diversifying Rule

The idea behind the fluctuation smoothing rules is to disperse the arrivals of jobs to a machine, and the tool to control this is the slack value. For this reason, to diversify the slack values of jobs seems to be a possible way to disperse their arrivals. To this end, Wang et al. [15] maximized the standard deviation of the slack value:
(31)σSKju=∑i=1N(SKju-SK-u)2n-1.
However, to achieve this, the slack formula should contain at least one parameter that is adjustable and differentiable. In addition, Wu and Chen [31] showed that such a treatment may lead to the situation that most slacks concentrate on the two extremes.


### 3.2.4. Step 3: The Four-Factor Fuzzy Fluctuation-Smoothing Rule

Chen [14] combined four traditional dispatching rules-EDD, critical ratio (CR), FSMCT, and FSVCT and proposed the four-objective dispatching rule. In the four-objective dispatching rule, the slack of job j at processing step u is defined as
(32)SKju=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju-minjRCTEjumaxjRCTEju-minjRCTEju)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,
where, α, β, γ, and η and are positive real numbers that satisfy the following constraints:
(33)Ifα=1thenβ,γ,ϑ=0;η=-1,andviceversaIfβ=1thenα=0;γ,η,ϑ=-1,andviceversaIfη=1thenα,β=0;γ,ϑ=1,andviceversa.
Jobs with the smallest slack values will be given higher priorities. There are many possible models that can form the combinations of α,β, γ, η, and ϑ. For example,
(34)(Linearmodel)α=1-2β-γ,γ=ϑ=η+α,(35)(Nonlinearmodel)α=(1-2β-γ)u;u∈Z+;γ=ϑ=(η+α)v,v=1,3,5,…,(36)(Logarithmicmodel1)α=ln(2-2β-γ)ln2;γ=ϑ=ln(1.5η+α+2.5)ln2-1.
The values of α and β are within [01].Theorem 3.
The four-objective nonlinear fluctuation smoothing rule is more responsive than the four original rules ifRCTEju is large, which is a common phenomenon in a wafer fabrication factory.Proof.
See the Appendix.If the remaining cycle time is estimated with a triangular fuzzy number, then (34) becomes
(37)SK~ju=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTE~ju-minjRCTE~jumaxjRCTE~ju-minjRCTE~ju)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ=(SKju1,SKju2,SKju3)
which is equivalent to
(38)SKju1=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju1-minjRCTEju1maxjRCTEju3-minjRCTEju1)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,(39)SKju2=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju2-minjRCTEju2maxjRCTEju2-minjRCTEju2)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,(40)SKju3=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju3-minjRCTEju1maxjRCTEju3-minjRCTEju1)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ.
Job j is processed before job k if SK~ju<SK~ku.


### 3.2.5. Step 4: The Four-Factor Fuzzy Slack-Diversifying Fluctuation-Smoothing Rule

Wang et al. [15] diversified the slack by maximizing the standard deviation of the slack. However, such a practice causes slacks to concentrate on the two extremes, rather than being evenly dispersed. To solve this problem, the following procedure is established to diversify the slack instead.(1)
Setψmax to 0.(2)
Vary the values of the five parameters.(3)
Sequence the jobs by Definition2 in ascending order.(4)
Calculate the distance of every two adjacentSK~(j)u’s as
(41)d(SK~(j-1)u,SK~(j)u)=SK(j)u1-SK(j-1)u3.(5)
Evaluate whether there is no overlap by(42)ψ(j-1,j)={1ifd(SK~(j-1)u,SK~ju)>0,0otherwise.(6)
If∑j=1nψ(j-1,j)>ψmax, update ψmax to ∑j=1nψ(j-1,j).(7)
Ifψmax≥ a threshold, stop; otherwise, return to step (2).This procedure is a polynomial-time algorithm. By repeated applications of this procedure, one obtains an optimal schedule with the fewest overlaps inO(n2) time.


### 3.2.6. Step 5: Applying the New Rule to Sequence Jobs

An example is given in Table5. The sequencing results by the two traditional fluctuation smoothing rules areFSMCT:7→11→16→6→13→19→4→1→3→14→2→9→10→8→12→ 18 →15→17→5.FSVCT:7→13→19→11→1→16→6→4→9→15→17→8→3→12→2→ 18 →14→5→10.Table 5
An example (λ = 1.18).
#
R
j
j
SCT
j
u
RPT
j
u
RCTE
j
u
SK
j
u (FSMCT)
SK
j
u (FSVCT)
1
102
159
881
560
1399
−1264
−1297
2
756
37
227
451
1127
−1096
−371
3
826
37
157
489
1223
−1192
−397
4
652
86
331
729
1822
−1749
−1170
5
208
55
775
212
530
−483
−322
6
783
84
200
816
2040
−1969
−1257
7
800
96
183
946
2366
−2285
−1566
8
478
52
505
377
942
−898
−464
9
469
65
514
446
1116
−1061
−647
10
699
32
284
398
995
−968
−296
11
836
85
147
860
2151
−2079
−1315
12
497
45
486
353
883
−845
−386
13
596
101
387
819
2047
−1961
−1451
14
798
34
185
458
1146
−1117
−348
15
197
79
786
297
743
−676
−546
16
804
85
179
837
2092
−2020
−1288
17
163
78
820
259
647
−581
−484
18
457
44
526
324
810
−773
−353
19
523
100
460
740
1851
−1766
−1328Subsequently, if the remaining cycle time is estimated with a fuzzy value instead (see Table6), then the sequencing results by the two fuzzy fluctuation smoothing rules areFFSMCT:7→11→16→6→13→4→19→1→3→14→2→9→10→8→12→ 18 →15→17→5.FFSVCT:7→13→19→16→11→1→6→4→9→15→17→8→3→12→2→ 14 →18→5→10.Table 6
The example with fuzzy remaining cycle times (λ = 1.18).
#
R
j
j
SCT
j
u
RPT
j
u
RCTE
~
j
u
SK
~
j
u (FFSMCT)
SK
~
j
u (FFSVCT)
1
102
159
881
560
(1200, 1399, 1458)
(−1324, −1265, −1066)
(−1357, −1297, −1099)
2
756
37
227
451
(976, 1127, 1176)
(−1145, −1096, −945)
(−421, −371, −221)
3
826
37
157
489
(1086, 1223, 1299)
(−1269, −1192, −1055)
(−474, −397, −261)
4
652
86
331
729
(1618, 1822, 1976)
(−1904, −1750, −1546)
(−1325, −1170, −967)
5
208
55
775
212
(455, 530, 557)
(−511, −484, −410)
(−350, −322, −248)
6
783
84
200
816
(1742, 2040, 2158)
(−2088, −1969, −1671)
(−1376, −1257, −960)
7
800
96
183
946
(2039, 2366, 2549)
(−2468, −2285, −1959)
(−1750, −1566, −1240)
8
478
52
505
377
(848, 942, 992)
(−949, −898, −805)
(−515, −464, −371)
9
469
65
514
446
(992, 1116, 1176)
(−1122, −1061, −938)
(−708, −647, −524)
10
699
32
284
398
(853, 995, 1031)
(−1005, −968, −827)
(−333, −296, −155)
11
836
85
147
860
(1830, 2151, 2311)
(−2240, −2079, −1759)
(−1476, −1315, −995)
12
497
45
486
353
(794, 883, 918)
(−881, −845, −757)
(−422, −386, −298)
13
596
101
387
819
(1700, 2047, 2170)
(−2086, −1962, −1615)
(−1575, −1451, −1105)
14
798
34
185
458
(975, 1146, 1256)
(−1228, −1118, −948)
(−459, −348, −178)
15
197
79
786
297
(659, 743, 800)
(−734, −677, −593)
(−604, −546, −463)
16
804
85
179
837
(1819, 2092, 2318)
(−2247, −2020, −1748)
(−1515, −1288, −1016)
17
163
78
820
259
(560, 647, 708)
(−643, −581, −495)
(−546, −484, −398)
18
457
44
526
324
(685, 810, 839)
(−803, −773, −649)
(−383, −353, −229)
19
523
100
460
740
(1547, 1851, 2042)
(−1958, −1767, −1463)
(−1520, −1328, −1025)Obviously, after considering the uncertainty in the remaining cycle time, the sequencing results are different.The four-factor fuzzy slack-diversifying fluctuation-smoothing rule and Wang et al.’s method are also applied to this example. After 50 iterations, the optimal values of the parameters are (α,β,γ,η,ϑ) = (0.4, 0.08, 0.43, 0.43, 0.03) with ψmax = 16. That means that 16 out of 19 jobs are not overlapping with their neighbors. The slacks of the jobs are shown in Figure 6. For a comparison, the slacks obtained by using Wang et al.’s method are shown in Figure 7, in which σSKju=2.68. Obviously, Consider the following.(1)
The slacks obtained by using the proposed methodology are evenly distributed, and there are very little slack overlapping and very few ties.(2)
Conversely, the slacks obtained using Wang et al.’s method concentrate on one or two extremes, and there are still some overlaps and ties that cause difficulties in sequencing jobs and may lead to misscheduling.(3)
The cumulative fuzziness during the reasoning process of a fuzzy dispatching rule raises the possibility of forming ties. In this regard, the proposed methodology surpasses Wang et al.’s method in reducing the number of ties. The advantage is 83%.(4)
In addition, the proposed methodology also achieves a very good performance in reducing the average overlapping. When compared with Wang et al.’s method, the advantage is as high as 98 hours.Figure 6
The fuzzy slacks of the 19 jobs after optimization.Figure 7
The fuzzy slacks obtained by using Wang et al.’s method.


## 3.2.1. Two Basic Fluctuation Smoothing Rules

Lu et al. [13] proposed two fluctuation smoothing rules—the fluctuation smoothing policy for mean cycle time (FSMCT) and the fluctuation smoothing policy for variation of cycle time (FSVCT). FSMCT effectively diminishes the burst of arrivals to all buffers simultaneously, thereby reducing the mean cycle time. On the other hand, FSVCT attempts to make every job equally late or equally early, thereby reducing the standard deviation of lateness. In fluctuation smoothing rules, each job is assigned a slack value, and the processing order of the job is dependent on the slack value:(FSMCT)(25)SKju(FSMCT)=jλ-RCTEju(FSVCT)(26)SKju(FSVCT)=Rj-RCTEju.
Jobs with the smallest slack values will be given higher priorities.


## 3.2.2. Step 2: The Fuzzy Fluctuation-Smoothing Rule

Subsequently, if the remaining cycle time is estimated with a triangular fuzzy number, then we have two fuzzy fluctuation smoothing rules as(fuzzy FSMCT, FFSMCT)(27)SK~ju(FSMCT)=jλ-RCTE~ju(fuzzy FSVCT, FFSVCT)(28)SK~ju(FSVCT)=Rj-RCTE~ju.To determine the sequence of jobs, the fuzzy slacks need to be compared. To this end, various methods have been proposed in the literature, such as the method based on the probability measure [32], the coefficient of variance (CV) index [8], the method considering the area between the centroid and original points [33], and the method based on the fuzzy mean and standard deviation [34]. For a comparison of these methods, refer to Zhu and Xu [34]. In this study, the method based on the fuzzy mean and standard deviation is applied, because it is relatively simple and can yield reasonable comparison results. To put this in context, the following theorems are introduced.Theorem 1.
The fuzzy mean of a triangular fuzzy numberA~ = (x0-a, x0, x0+b) is
(29)μA~=x0+b-a3
while the fuzzy standard deviation of A~ is
(30)σA~=a2+ab+b218.Proof (see Zhu and Xu [34]).
It is, in fact, the center-of-gravity (COG) method.The following definition details the comparison method based on the fuzzy mean and standard deviation.Definition 2.
For any two fuzzy numbersA~ and B~∈F(R), the sequence of A~ and B~ can be determined according to their fuzzy means and standard deviations as follows:(1)
μA~>μB~ if and only if A~≻B~;(2)
μA~<μB~ if and only if A~≺B~;(3)
ifμA~=μB~, then
(i)
σA~>σB~ if and only if A~≺B~;(ii)
σA~<σB~ if and only if A~≻B~;(iii)
σA~=σB~ if and only if A~=B~.


## 3.2.3. The Slack-Diversifying Rule

The idea behind the fluctuation smoothing rules is to disperse the arrivals of jobs to a machine, and the tool to control this is the slack value. For this reason, to diversify the slack values of jobs seems to be a possible way to disperse their arrivals. To this end, Wang et al. [15] maximized the standard deviation of the slack value:
(31)σSKju=∑i=1N(SKju-SK-u)2n-1.
However, to achieve this, the slack formula should contain at least one parameter that is adjustable and differentiable. In addition, Wu and Chen [31] showed that such a treatment may lead to the situation that most slacks concentrate on the two extremes.


## 3.2.4. Step 3: The Four-Factor Fuzzy Fluctuation-Smoothing Rule

Chen [14] combined four traditional dispatching rules-EDD, critical ratio (CR), FSMCT, and FSVCT and proposed the four-objective dispatching rule. In the four-objective dispatching rule, the slack of job j at processing step u is defined as
(32)SKju=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju-minjRCTEjumaxjRCTEju-minjRCTEju)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,
where, α, β, γ, and η and are positive real numbers that satisfy the following constraints:
(33)Ifα=1thenβ,γ,ϑ=0;η=-1,andviceversaIfβ=1thenα=0;γ,η,ϑ=-1,andviceversaIfη=1thenα,β=0;γ,ϑ=1,andviceversa.
Jobs with the smallest slack values will be given higher priorities. There are many possible models that can form the combinations of α,β, γ, η, and ϑ. For example,
(34)(Linearmodel)α=1-2β-γ,γ=ϑ=η+α,(35)(Nonlinearmodel)α=(1-2β-γ)u;u∈Z+;γ=ϑ=(η+α)v,v=1,3,5,…,(36)(Logarithmicmodel1)α=ln(2-2β-γ)ln2;γ=ϑ=ln(1.5η+α+2.5)ln2-1.
The values of α and β are within [01].Theorem 3.
The four-objective nonlinear fluctuation smoothing rule is more responsive than the four original rules ifRCTEju is large, which is a common phenomenon in a wafer fabrication factory.Proof.
See the Appendix.If the remaining cycle time is estimated with a triangular fuzzy number, then (34) becomes
(37)SK~ju=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTE~ju-minjRCTE~jumaxjRCTE~ju-minjRCTE~ju)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ=(SKju1,SKju2,SKju3)
which is equivalent to
(38)SKju1=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju1-minjRCTEju1maxjRCTEju3-minjRCTEju1)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,(39)SKju2=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju2-minjRCTEju2maxjRCTEju2-minjRCTEju2)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ,(40)SKju3=(j-1n-1)α·(RPTju-minjRPTjumaxjRPTju-minjRPTju)β·(Rj-minjRjmaxjRj-minjRj)γ·(RCTEju3-minjRCTEju1maxjRCTEju3-minjRCTEju1)η·(SCTju-minjSCTjumaxjSCTju-minjSCTju)ϑ.
Job j is processed before job k if SK~ju<SK~ku.


## 3.2.5. Step 4: The Four-Factor Fuzzy Slack-Diversifying Fluctuation-Smoothing Rule

Wang et al. [15] diversified the slack by maximizing the standard deviation of the slack. However, such a practice causes slacks to concentrate on the two extremes, rather than being evenly dispersed. To solve this problem, the following procedure is established to diversify the slack instead.(1)
Setψmax to 0.(2)
Vary the values of the five parameters.(3)
Sequence the jobs by Definition2 in ascending order.(4)
Calculate the distance of every two adjacentSK~(j)u’s as
(41)d(SK~(j-1)u,SK~(j)u)=SK(j)u1-SK(j-1)u3.(5)
Evaluate whether there is no overlap by(42)ψ(j-1,j)={1ifd(SK~(j-1)u,SK~ju)>0,0otherwise.(6)
If∑j=1nψ(j-1,j)>ψmax, update ψmax to ∑j=1nψ(j-1,j).(7)
Ifψmax≥ a threshold, stop; otherwise, return to step (2).This procedure is a polynomial-time algorithm. By repeated applications of this procedure, one obtains an optimal schedule with the fewest overlaps inO(n2) time.


## 3.2.6. Step 5: Applying the New Rule to Sequence Jobs

An example is given in Table5. The sequencing results by the two traditional fluctuation smoothing rules areFSMCT:7→11→16→6→13→19→4→1→3→14→2→9→10→8→12→ 18 →15→17→5.FSVCT:7→13→19→11→1→16→6→4→9→15→17→8→3→12→2→ 18 →14→5→10.Table 5
An example (λ = 1.18).
#
R
j
j
SCT
j
u
RPT
j
u
RCTE
j
u
SK
j
u (FSMCT)
SK
j
u (FSVCT)
1
102
159
881
560
1399
−1264
−1297
2
756
37
227
451
1127
−1096
−371
3
826
37
157
489
1223
−1192
−397
4
652
86
331
729
1822
−1749
−1170
5
208
55
775
212
530
−483
−322
6
783
84
200
816
2040
−1969
−1257
7
800
96
183
946
2366
−2285
−1566
8
478
52
505
377
942
−898
−464
9
469
65
514
446
1116
−1061
−647
10
699
32
284
398
995
−968
−296
11
836
85
147
860
2151
−2079
−1315
12
497
45
486
353
883
−845
−386
13
596
101
387
819
2047
−1961
−1451
14
798
34
185
458
1146
−1117
−348
15
197
79
786
297
743
−676
−546
16
804
85
179
837
2092
−2020
−1288
17
163
78
820
259
647
−581
−484
18
457
44
526
324
810
−773
−353
19
523
100
460
740
1851
−1766
−1328Subsequently, if the remaining cycle time is estimated with a fuzzy value instead (see Table6), then the sequencing results by the two fuzzy fluctuation smoothing rules areFFSMCT:7→11→16→6→13→4→19→1→3→14→2→9→10→8→12→ 18 →15→17→5.FFSVCT:7→13→19→16→11→1→6→4→9→15→17→8→3→12→2→ 14 →18→5→10.Table 6
The example with fuzzy remaining cycle times (λ = 1.18).
#
R
j
j
SCT
j
u
RPT
j
u
RCTE
~
j
u
SK
~
j
u (FFSMCT)
SK
~
j
u (FFSVCT)
1
102
159
881
560
(1200, 1399, 1458)
(−1324, −1265, −1066)
(−1357, −1297, −1099)
2
756
37
227
451
(976, 1127, 1176)
(−1145, −1096, −945)
(−421, −371, −221)
3
826
37
157
489
(1086, 1223, 1299)
(−1269, −1192, −1055)
(−474, −397, −261)
4
652
86
331
729
(1618, 1822, 1976)
(−1904, −1750, −1546)
(−1325, −1170, −967)
5
208
55
775
212
(455, 530, 557)
(−511, −484, −410)
(−350, −322, −248)
6
783
84
200
816
(1742, 2040, 2158)
(−2088, −1969, −1671)
(−1376, −1257, −960)
7
800
96
183
946
(2039, 2366, 2549)
(−2468, −2285, −1959)
(−1750, −1566, −1240)
8
478
52
505
377
(848, 942, 992)
(−949, −898, −805)
(−515, −464, −371)
9
469
65
514
446
(992, 1116, 1176)
(−1122, −1061, −938)
(−708, −647, −524)
10
699
32
284
398
(853, 995, 1031)
(−1005, −968, −827)
(−333, −296, −155)
11
836
85
147
860
(1830, 2151, 2311)
(−2240, −2079, −1759)
(−1476, −1315, −995)
12
497
45
486
353
(794, 883, 918)
(−881, −845, −757)
(−422, −386, −298)
13
596
101
387
819
(1700, 2047, 2170)
(−2086, −1962, −1615)
(−1575, −1451, −1105)
14
798
34
185
458
(975, 1146, 1256)
(−1228, −1118, −948)
(−459, −348, −178)
15
197
79
786
297
(659, 743, 800)
(−734, −677, −593)
(−604, −546, −463)
16
804
85
179
837
(1819, 2092, 2318)
(−2247, −2020, −1748)
(−1515, −1288, −1016)
17
163
78
820
259
(560, 647, 708)
(−643, −581, −495)
(−546, −484, −398)
18
457
44
526
324
(685, 810, 839)
(−803, −773, −649)
(−383, −353, −229)
19
523
100
460
740
(1547, 1851, 2042)
(−1958, −1767, −1463)
(−1520, −1328, −1025)Obviously, after considering the uncertainty in the remaining cycle time, the sequencing results are different.The four-factor fuzzy slack-diversifying fluctuation-smoothing rule and Wang et al.’s method are also applied to this example. After 50 iterations, the optimal values of the parameters are (α,β,γ,η,ϑ) = (0.4, 0.08, 0.43, 0.43, 0.03) with ψmax = 16. That means that 16 out of 19 jobs are not overlapping with their neighbors. The slacks of the jobs are shown in Figure 6. For a comparison, the slacks obtained by using Wang et al.’s method are shown in Figure 7, in which σSKju=2.68. Obviously, Consider the following.(1)
The slacks obtained by using the proposed methodology are evenly distributed, and there are very little slack overlapping and very few ties.(2)
Conversely, the slacks obtained using Wang et al.’s method concentrate on one or two extremes, and there are still some overlaps and ties that cause difficulties in sequencing jobs and may lead to misscheduling.(3)
The cumulative fuzziness during the reasoning process of a fuzzy dispatching rule raises the possibility of forming ties. In this regard, the proposed methodology surpasses Wang et al.’s method in reducing the number of ties. The advantage is 83%.(4)
In addition, the proposed methodology also achieves a very good performance in reducing the average overlapping. When compared with Wang et al.’s method, the advantage is as high as 98 hours.Figure 6
The fuzzy slacks of the 19 jobs after optimization.Figure 7
The fuzzy slacks obtained by using Wang et al.’s method.


## 4. Simulation Study

Simulation is widely used to assess the effectiveness of a scheduling policy, especially when the proposed policy and the current practice are very different [35]. A real wafer fabrication factory located in Taichung Scientific Park of Taiwan with a monthly capacity of about 25,000 wafers was simulated. We used simulation to avoid disturbing the regular operations of the wafer fabrication factory. The goal was to evaluate the effectiveness of the fuzzy slack-diversifying fluctuation-smoothing rule for multiobjective job scheduling in the wafer fabrication factory. The simulation program has been validated by comparing the actual cycle times with the simulated values and verified by analyzing the trace reports.The wafer fabrication factory produces more than 10 types of memory products and has more than 500 workstations for performing single-wafer or batch operations using 58 nm~110 nm technologies. Jobs released into the wafer fabrication factory are assigned three types of priorities, that is, “normal”, “hot”, and “super hot”. Jobs with the highest priorities will be processed first. The large scale and the reentrant process flows of the wafer fabrication factory exacerbate the difficulties of job dispatching. Currently, the longest average cycle time exceeds three months with a variation of more than 300 hours. The wafer fabrication factory is therefore seeking better dispatching rules to replace FIFO and EDD, in order to shorten the average cycle times and ensure on-time delivery to its customers. One hundred replications of the simulation were successively run. The time required for each simulation replication was about 30 minutes on a PC with Intel Dual E2200 2.2 GHz CPUs and 1.99 G RAM. A horizon of twenty-four months was simulated.To assess the effectiveness of the proposed methodology and to make comparison with some existing approaches, seven methods were tested. FIFO, EDD, shortest remaining processing time (SRPT), CR, FSVCT, FSMCT, and the four-objective slack-diversifying rule (4o-SDR) [14] were applied to schedule the simulated wafer fabrication factory. We collected the data of 1000 jobs, and then we separated the collected data by product types and priorities.Jobs with the highest priorities are processed first. With FIFO, jobs were sequenced on each machine first by their priorities and then by their arrival times at the machine. With EDD, jobs were sequenced first by their priorities and then by their due dates. With SRPT, the remaining processing time of each job was calculated. Then, jobs were sequenced first by their priorities and then by their remaining processing times. With CR, jobs were sequenced first by their priorities, then by their critical ratios. FSMCT and FSVCT used two stages. First, jobs were scheduled using FIFO, in which the remaining cycle times of all jobs were recorded and averaged at each step. Then, FSMCT/FSVCT was applied to schedule the jobs based on the average remaining cycle times obtained earlier. In other words, jobs were sequenced on each machine first by their priorities, then by their slack values. With 4o-SDR, the remaining cycle time of a job was estimated using the fuzzy c-means and back propagation network (FCM-BPN) approach [28]; it was a crisp value. The five adjustable parameters were set to (α,β,γ,η,ϑ)=(0.6,0.2,0,-0.6,0) after initial scenarios had been examined. In the proposed methodology, the remaining cycle time of a job was estimated using the SA-FBPN approach. The effectiveness of the SA-FBPN approach can be seen from Figure 8. The SA-FBPN approach can generate a very precise interval of the remaining cycle time for each job, thereby reducing the risk of misscheduling. In this case, the performance of the effective FBPN approach [12] was close to that of the proposed methodology. Nevertheless, in theory the proposed SA-FBPN approach will outperform the effective FBPN approach because of its iterative nature. By contrast, the FCM-BPN approach does not guarantee that the actual value falls within a distance of three times the root mean squared error (RMSE) from the estimate.The performances of three approaches in estimating the remaining cycle time.
(a)
(b)
(c)The average cycle time, cycle time standard deviation, the number of tardy jobs, and the maximum lateness of all cases were calculated to assess the scheduling performance. The results were summarized in Tables7, 8, 9, and 10.Table 7
The performances of various approaches in the average cycle time.
Average  cycle time (hrs)
A (normal)
A (hot)
A (super hot)
B (normal)
B (hot)
FIFO
1254
400
317
1278
426
EDD
1094
345
305
1433
438
SRPT
948
350
308
1737
457
CR
1148
355
300
1497
440
FSMCT
1313
347
293
1851
470
FSVCT
1014
382
315
1672
475
4o-SDR
1183
347
271
1160
339
The proposed methodology
921
267
253
811
253Table 8
The performances of various approaches in the maximum lateness.
The maximum lateness (hrs)
A (normal)
A (hot)
A (super hot)
B (normal)
B (hot)
FIFO
401
−122
164
221
172
EDD
295
−181
144
336
185
SRPT
584
−142
174
718
194
CR
302
−159
138
423
192
FSMCT
875
−165
125
856
171
FSVCT
706
−112
174
686
260
4o-SDR
360
−152
118
21
94
The proposed methodology
292
−143
113
23
102Table 9
The performances of various approaches in cycle time standard deviation.
Cycle time standard deviation (hrs)
A (normal)
A (hot)
A (super hot)
B (normal)
B (hot)
FIFO
55
24
25
87
51
EDD
129
25
22
50
63
SRPT
248
31
22
106
53
CR
69
29
18
58
53
FSMCT
419
33
16
129
104
FSVCT
280
37
27
201
77
4o-SDR
71
41
22
30
29
The proposed methodology
66
18
25
28
33Table 10
The performances of various approaches in the number of tardy jobs.
Number of tardy jobs
A (normal)
A (hot)
A (super hot)
B (normal)
B (hot)
FIFO
79
0
12
16
5
EDD
71
0
12
19
5
SRPT
37
0
12
19
5
CR
79
0
12
19
5
FSMCT
58
0
12
19
5
FSVCT
56
0
12
18
5
4o-SDR
79
0
12
19
5
The proposed methodology
37
0
12
19
5According to the experimental results, the following points can be made.(1)
For the average cycle time, the fuzzy slack-diversifying fluctuation-smoothing rule outperformed the existing approaches. In this respect, FIFO is often a basis for comparison. The most obvious advantage of the fuzzy slack-diversifying fluctuation-smoothing rule over FIFO was about 31%.(2)
The fuzzy slack-diversifying fluctuation-smoothing rule also achieved a very good performance in reducing the maximum lateness. When compared with EDD, the advantage was as high as 36% on average. In this regard, the fuzzy slack-diversifying fluctuation-smoothing rule also outperformed 4o-SDR in most cases, which was reasonable due to the uncertainty in the remaining cycle time.(3)
In addition, the fuzzy slack-diversifying fluctuation-smoothing rule surpassed the FSVCT policy in reducing cycle time standard deviation. The most obvious advantage was 86% when product type B with normal priority was scheduled. The fuzzy slack-diversifying fluctuation-smoothing rule also surpassed 4o-SDR policy in three out of five cases with an average advantage of 8%.(4)
In reducing the number of tardy jobs, the proposed methodology outperformed the existing methods in most cases and achieved the best performance when product type A with hot priority was scheduled.(5)
As expected, SRPT performed well in reducing the average cycle times, especially for product types with short cycle times (e.g., product A), but gave an exceedingly bad performance with respect to cycle time standard deviation. If the cycle time is long, the remaining cycle time will be much longer than the remaining processing time, which renders SRPT ineffective. SRPT is similar to FSMCT. Both try to make all jobs equally early or late.(6)
The performance of EDD was also satisfactory for product types with short cycle times. If the cycle time is long, it is more likely to deviate from the prescribed internal due date, which makes EDD ineffective. This becomes more serious if the percentage of the product type is high in the product mix (e.g., product type A). CR has similar problems.(7)
The FCM-BPN approach was also applied to the fuzzy slack-diversifying fluctuation-smoothing rule. Taking product type A (normal priority) as an example, the results are shown in Table11. We noticed that with poorer remaining cycle time estimation, the performances of fuzzy slack-diversifying fluctuation-smoothing rule were indeed worsened. However, incorporating the SA-FBPN approach with the fuzzy slack-diversifying fluctuation-smoothing rule could improve the scheduling performance significantly.(8)
Wilcoxon signed-rank test [36], a commonly used nonparametric statistical hypothesis test, was used in this study for comparisons of two related samples or repeated measurements on a single sample, to assess whether their population means differed or not. The results were summarized in Table 12. The null hypothesis Ha was rejected at α=0.025, which showed that the fuzzy slack-diversifying fluctuation-smoothing rule was superior to seven existing approaches in reducing the average cycle time. With regard to the maximum lateness, the advantage of the fuzzy slack-diversifying fluctuation-smoothing rule over FIFO, SRPT, and FSVCT was significant. Similar results could be observed with cycle time standard deviation. However, the advantage of the fuzzy slack-diversifying fluctuation-smoothing rule was not statistically significant for the number of tardy jobs.Table 11
The results of applying the FCM-BPN approach to the fuzzy slack-diversifying fluctuation-smoothing rule.
Approach
Average cycle time
Maximum lateness
Cycle time standard deviation
Number of tardy jobs
FCM-BPN + the proposed rule
958
307
70
37
SA-FBPN + the proposed rule
921
292
66
37Table 12
Results of the Wilcoxon sign-rank test.
H
a
0 (the average cycle time)
H
b
0 (the maximum lateness)
H
b
0 (cycle time standard deviation)
H
b
0 (the number of tardy jobs)
FIFO
2.02**
2.02**
1.21
0.54
EDD
2.02**
1.21
1.75*
1.21
SRPT
2.02**
2.02**
1.75*
0.67
CR
2.02**
1.48
1.48
1.21
FSMCT
2.02**
1.48
1.75*
1.21
FSVCT
2.02**
2.02**
2.02**
0.54
4o-SDR
2.02**
-
0
.
13
0.67
1.21
*
P < 0.05.
*
*
P < 0.025.


## 5. Conclusions and Directions for Future Research

Multiobjective scheduling in a wafer fabrication factory is a challenging but important task. For such a complex production system, to optimize a single objective is tough enough, and to optimize four objectives at the same time is a remarkable challenge. Further, the uncertainty in various production conditions often leads to incorrect scheduling decisions. To deal with these difficulties, the mainstream of research is still the development of dispatching rules through generalization or fusion. For this reason, this study has proposed an effective fuzzy dispatching rule. First, to consider the uncertainty in the fabrication process, the SA-FBPN approach has been proposed to estimate the remaining cycle time of a job. Compared to the existing methods, the SA-FBPN approach can generate a very precise estimate of the remaining cycle time in an iterative manner. The FI-GAV approach has also been proposed to aggregate the estimation results from various FBPNs. Subsequently, the fuzzy slack-diversifying fluctuation-smoothing rule has been proposed. The fuzzy remaining cycle time estimate is input to the fuzzy slack-diversifying fluctuation-smoothing rule to derive the job slack. There are five parameters in the fuzzy slack-diversifying fluctuation-smoothing rule that can be adjusted to optimize the rule. To this end, a systematic procedure has been proposed.After a simulation study, we concluded the following points.(1)
By considering the uncertainty in the remaining cycle time, four aspects of the scheduling performance—the average cycle time, the maximum lateness, cycle time standard deviation, and the number of tardy jobs—can indeed be simultaneously improved. However, if the estimation accuracy is insufficient, the scheduling process may be misled.(2)
The cumulative fuzziness during a fuzzy inference process must be properly dealt with.(3)
By tackling slack overlapping in a nonsubjective way, the problem of misscheduling can be effectively avoided, which augments the performance of the fuzzy slack-diversifying fluctuation-smoothing rule.However, any further assessment of the proposed methodology requires its application to an actual wafer fabrication factory. In addition, different objectives can be fused and fuzzified in the same way. Further, the SA-FBPN approach can be applied to other real production lines in future studies.



---

*Source: 986172-2013-10-01.xml*