A novel fruit fly optimization algorithm for the semiconductor final testing scheduling problem

A novel fruit fly optimization algorithm for the semiconductor final testing scheduling problem

Knowledge-Based Systems 57 (2014) 95–103 Contents lists available at ScienceDirect Knowledge-Based Systems journal homepage: www.elsevier.com/locate...

1MB Sizes 3 Downloads 103 Views

Knowledge-Based Systems 57 (2014) 95–103

Contents lists available at ScienceDirect

Knowledge-Based Systems journal homepage: www.elsevier.com/locate/knosys

A novel fruit fly optimization algorithm for the semiconductor final testing scheduling problem Xiao-long Zheng, Ling Wang ⇑, Sheng-yao Wang Tsinghua National Laboratory for Information Science and Technology (TNList), Department of Automation, Tsinghua University, Beijing 100084, China

a r t i c l e

i n f o

Article history: Received 16 September 2013 Received in revised form 3 December 2013 Accepted 9 December 2013 Available online 16 December 2013 Keywords: Fruit fly optimization algorithm Smell-based search Vision-based search Cooperative search Semiconductor final testing scheduling problem

a b s t r a c t In this paper, a novel fruit fly optimization algorithm (nFOA) is proposed to solve the semiconductor final testing scheduling problem (SFTSP). First, a new encoding scheme is presented to represent solutions reasonably, and a new decoding scheme is presented to map solutions to feasible schedules. Second, it uses multiple fruit fly groups during the evolution process to enhance the parallel search ability of the FOA. According to the characteristics of the SFTSP, a smell-based search operator and a vision-based search operator are well designed for the groups to stress exploitation. Third, to simulate the information communication behavior among fruit flies, a cooperative search process is developed to stress exploration. The cooperative search process includes a modified improved precedence operation crossover (IPOX) and a modified multipoint preservative crossover (MPX) based on two popular structures of the flexible job shop scheduling. Moreover, the influence of the parameter setting is investigated by using Taguchi method of design-of-experiment (DOE), and suitable values are determined for key parameters. Finally, computational tests results with some benchmark instances and the comparisons to some existing algorithms are provided, which demonstrate the effectiveness and the efficiency of the nFOA in solving the SFTSP. Ó 2013 Elsevier B.V. All rights reserved.

1. Introduction As one of the most important high-tech industries, nowadays the semiconductor manufacturing is confronted with many opportunities and challenges simultaneously. The rapid growth of the semiconductor industry brings greater economic benefits. Meanwhile, the fierce competition urges the semiconductor company to increase the productivity and utilize resources effectively. As the final operation in semiconductor manufacturing [1], final testing of integrated circuit (IC) products is used to test whether the products meet the requirements of the standard specifications [2]. Due to the demand fluctuation and the high cost, usually testing machines are very limited. The semiconductor final testing scheduling problem (SFTSP) [1] is to determine a feasible schedule with the satisfactory makespan while utilizing the limited testing resources efficiently. As a specific type of simultaneous multiple resources scheduling problem, the SFTSP is one of the common NP-hard scheduling problems [1,3]. Currently, most semiconductor companies only use empirical methods composed of several heuristic rules to conduct final test scheduling. As a result, the obtained solutions are often local optima [2]. Due to the significance of the SFTSP in both academic research and real applications, it is important to develop novel intelligent and ⇑ Corresponding author. Tel.: +86 10 62783125; fax: +86 10 62786911. E-mail address: [email protected] (L. Wang). 0950-7051/$ - see front matter Ó 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.knosys.2013.12.011

knowledge-based algorithms for achieving satisfactory performances. During the past two decades, some research work has already been done for solving the SFTSP. Relevant results in this area include the following. In [4], a suitable scheduling system was developed, which characterized the operations in the semiconductor testing facility by a broad product mix, variable lot sizes and yields, long and variable setup times, and limited test equipment capacity. In [5], a branch and bound method with Lagrangian Relaxation (LR) was employed to solve the SFTSP. The feasibility of the LR was tested with two randomly generated examples and two real factory cases. In [6], decomposition methods were presented for the SFTSP by exploiting the structure of the routings in semiconductor testing to decompose the shop into a number of work centers, and some specialized procedures were used to schedule the centers. In [7], two Petri net-based hybrid heuristic strategies were presented by combining the heuristic best-first strategy with the controlled backtracking strategy. In [8], the multi-head tester scheduling problem was described and an enumeration procedure was designed by considering different number of heads. In addition, the SFTSP was modeled as an unrelated parallel machine problem with multiple constraints in [9], and theory of constraints was employed to develop a heuristic capacity-constrained scheduling algorithm. Recently, several meta-heuristic algorithms were used to solve the SFTSP. In [1], a mathematical mixed-integer linear programming model (MILP) was constructed for the SFTSP to optimize

96

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

the testing job scheduling, and a genetic algorithm (GA) was proposed to solve the problem in a short time for practical viability. In [10], a novel bi-vector encoding method based GA (bvGA) was developed, where the operation sequence and the seizing rules for resource assignment in tandem are both represented. In [3], a cooperative estimation of distribution algorithm (CEDA) was developed for the SFTSP by extending a co-evolutionary framework with a divide-and-conquer strategy. It showed that the CEDA could be more effective than both the GA [1] and the bvGA [10]. As a relatively new evolutionary optimization approach, fruit fly optimization algorithm (FOA) [11] is inspired by the knowledge from the foraging behavior of real fruit flies. The FOA has few parameters to adjust, and it is easy to understand and implement. Due to its merits, the FOA has already been successfully applied to solve some academic and engineering optimization problems, including financial distress [11], web auction logistics service [12], general regression neural network optimization [13], and proportional integral derivative controller tuning [14,15]. However, to the best of our knowledge, the FOA has not been applied to any scheduling problem yet. The SFTSP is an NP-hard combinatorial optimization problem with a huge search space, which is difficult to be solved effectively by traditional methods. The FOA is an evolutionary algorithm with a parallel search framework by using a smell-based search and a vision-based search. And problemdependent local search can also be easily incorporated into the search framework of the FOA to further enhance exploitation. Besides, a cooperative search can be designed by sharing the information among fruit flies to stress exploration. So, it could be powerful to solve the SFTSP by reasonably designing the FOA. With such a motivation, we will propose a novel FOA (nFOA) in this paper to solve the SFTSP. To be specific, a new encoding scheme is presented to represent solutions reasonably, and a new decoding scheme is presented to generate feasible schedules. Based on the characteristics of the problem, a smell-based search and a visionbased search are designed for multiple fruit fly groups to perform evolutionary search. According to the similar characteristics between the SFTSP and the flexible job shop scheduling (FJSP) [16– 18], the improved precedence operation crossover (IPOX) and the multipoint preservative crossover (MPX) are adopted and modified for a cooperative search to simulate the information communication behavior among fruit flies. To investigate the influence of parameter setting, Taguchi method of DOE is carried out. Finally, the effectiveness of the proposed nFOA is demonstrated by computational tests with benchmark instances and comparisons to some existing algorithms. The remainder of the paper is organized as follows: In Section 2, the SFTSP is described. In Section 3, the nFOA for solving the SFTSP is presented in details after introducing the basic FOA briefly, and the computational complexity is analyzed. In Section 4, the influence of parameter setting is investigated based on DOE testing, and the computational results and comparisons are provided. Finally, the paper is ended with some conclusions and future work in Section 5.

2. Problem description The SFTSP can be described as follows. There are n jobs (IC products) J = {J1, J2, . . . , Jn} to be tested on m machines M = {M1, M2, . . . , Mm}. Usually, different jobs may require different steps of functional testing due to different product specifications. Each job Ji consists of a sequence of ni operations fOi;1 ; Oi;2 ; . . . ; Oi;ni g, such as functional test, burn-in, scan, bake, tape and reel, and package and load. Each operation Oi,j (i = 1, 2, . . . , n, j = 1, 2, . . . , ni) can be executed on one machine out of its capable machine set Mi,j # M. The processing time of an operation on

different execution machine may be different. In addition, usually it assumes that: (1) All jobs and machines are available at time 0; (2) preemption is not allowed, i.e., each operation must be completed without interruption once it starts; (3) there is no precedence constraint among the operations of different jobs; (4) at one time a machine can execute at most one operation, and it is available to other operations only if the previous operation is completed. Compared to the well-known flexible job shop scheduling [16–18], the SFTSP has the following additional characteristics. (1) Simultaneous multi-resources. In addition to the machines, extra resources are needed, i.e., the tester, handler and accessory [1,3,10]. A specific operation of the job can only be carried out with appropriate configuration of resources [3]. Moreover, these resources are prepared in limited amounts due to the high price [3,19]. (2) Sequence-dependent setup time. It is inevitable to cost time to complete setup activities comprising resources assembly and disassembly, temperature change, software download, and calibration in real semiconductor testing. Thus, a sequence-dependent setup time is further required to disassemble the original machine and to assemble and calibrate the new machine for the incoming operation [1,3]. In addition, the setup is separable from process and anticipatory so that a setup can start before the job is ready [10]. Essentially, the SFTSP can be regarded as a simultaneous multiresources flexible job-shop scheduling problem with sequencedependent setup time, as illustrated in Fig. 1. The objective of the SFTSP is to determine both the assignment of machines and the sequence of operations on all the machines to minimize the maximum completion time of all the operations (i.e., makespan), without violating the resources constraints at any time. 3. nFOA for SFTSP In this section, the basic FOA will be introduced first. Then a novel FOA (nFOA) will be presented for solving the SFTSP, including the encoding scheme, decoding method, population initialization, smell-based search, vision-based search, and cooperative search process. Finally, the procedure of the nFOA will be provided and its computational complexity will be analyzed. 3.1. Basic FOA The FOA [11] is an interactive evolutionary method with two particular idealized search processes based on the foraging characteristics of the fruit flies: locate the food source through smelling and fly towards the corresponding location (i.e., smell-based search process), and fly towards the food source up close using sensitive vision (i.e., vision-based search process). The foraging process of a fruit fly group can be illustrated in Fig. 2, and the procedure of the FOA is summarized as follows [11]. Step 1. Parameters initialization: set the maximum number of generations and population size. Step 2. Fruit fly group initialization. Step 3. Smell-based search process: randomly generate several fruit flies around the fruit fly group to construct a population. Step 4. Evaluation: evaluate the population to obtain the smell concentration values (fitness value) of each fruit fly. Step 5. Vision-based search process: find the best fruit fly with the maximum smell concentration value, and then let the fruit fly group fly towards the best one.

97

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

O11

M1

Type1

M2

Type2

r11

r21

r12

r22

r32

r1t

r2h

r3a

r1T

r2H

r3A

r31

Job1 O12

Job2

O21 Typek

Mm-1 On1

Jobn

TypeN

Mm

OnN Jobs Operations

Tester

r11

Handler r13

r12

Resource types

Machines

(IC products)

r21

r21

Accessory

r21

Resources



r1T



r2H

r31

r32



r33

r3A

Fig. 1. Illustration of the SFTSP.

Note that, the fruit fly group is actually a central location of the fruit fly swarm, which can be regarded as a special solution when implementing the FOA.

encoding scheme is used in this paper. To be specific, a solution is represented by two vectors, namely operation sequence vector and machine assignment vector, representing the processing sequence of operations and the assignment of operations to machines, respectively. In the nFOA, the population consists of a set of twovector encoded groups. The operation sequence vector (v1) represents the processing order of all operations. The length of the operation sequence vector is the same as the total number of all operations of the jobs To. The corresponding job number is used to denote the operation of a job. Accordingly, the kth occurrence of a job number in v1 refers to the kth operation of the job. The machine assignment vector (v2) represents the assigned machine for each operation. The corresponding machine number is adopted to denote the assigned machine for each operation. Thus, the kth bit in v2 indicates the assigned machine to the kth operation in v1 and the length of the machine assignment vector is also To. To further explain the above representation, an example with 4 jobs/3 machines is illustrated. The processing data and the setup times are listed in Tables 1 and 2, respectively. For simplicity, it assumes that the testers, handlers and accessories are only enough for two testing operations at the same time. The representation of a feasible solution is illustrated in Fig. 3.

3.2. Encoding scheme

3.3. Decoding scheme

To the SFTSP, two key sub-problems should be solved. That is, determine the operation sequence, and assign the suitable machine with available resources for each operation. So, a two-vector

Decoding a solution means to generate a feasible schedule by determining the starting time of each operation according to the processing sequence in v1 on the assigned machine and arranging

Fruit fly 2

Fruit fly 1

smell

smell Iterative

Food

evolution smell

smell Fruit fly group …

Fruit fly NP

Fruit fly 3

Fig. 2. Group iterative foraging process of fruit flies.

Step 6. Stopping criterion: end the algorithm if the maximum number of generations is reached; otherwise, go back to Step 3.

98

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

O2,2 on machine M2 is 5 instead of 4 due to the lack of resources at time 4.

Table 1 Processing time table. Operations

Machines

O1,1 O1,2 O2,1 O2,2 O3,1 O4,1

M1

M2

M3

3 5 4 1 2 1

4 2 6 3 1 7

5 1 5 3 5 3

Table 2 Setup time table. Machines

M1

M2

M3

M1 M2 M3

0 1 2

1 0 2

2 2 0

3.4. Population initialization Different from the basic FOA, the nFOA uses multiple fruit fly groups to enhance the parallel search. Each fruit fly group is a two-vector encoded solution. In the nFOA, all the groups construct a population. So, the number of the group is the size of the population, NP. To initialize the population, it needs to generate NP twovector encoded solutions. Here, a random initialization strategy is adopted to generate NP 2  To vectors. To be specific, the operation sequence vector is obtained by randomly locating all the operations, which are represented by the corresponding job number in a sequence with length To. Then, the operation is assigned successively according to the operation sequence to a random machine that can process the operation. 3.5. Smell-based search and vision-based search

Operation sequence vector v1:

3

2

1

2

1

4

Machine assignment vector v2:

3

1

1

2

2

3

Fig. 3. An illustration of smell-based search.

the available resource type. For a solution in the nFOA, the processing order of the corresponding schedule is determined by the operation sequence vector. To arrange the starting time of the operations on each machine, the properties of the SFTSP, i.e., multi-resources and sequence-dependent setup time should be considered. For a given operation of a schedule, arrange it to the assigned machine at the earliest available time when the machine is idle and the resources needed for the machine configuration are enough. That is, if there are not enough resources (i.e. tester, handler or accessory) available for the machine configuration after the setup, it should wait until all the resources needed are available. For the solution shown in Fig. 3, the detailed processing order and machine assignment are as follows, (O3,1, M3), (O2,1, M1), (O1,1, M1), (O2,2, M2), (O1,2, M2), (O4,1, M3). Then, the Gantt chart of this solution can be obtained by applying the above decoding scheme, see Fig. 4. Note that, the starting time of the operation

In the smell-based search process, S fruit flies are generated around each fruit fly group to construct a sub-population. To be specific, a new fruit fly is generated by exchanging the position of the first operation of two randomly selected jobs in the sequence of the fruit fly group. After exchange, a repair process to restore the machine assignment is performed if it changes the previously assigned machines for the operations of the two selected jobs. Consider the solution in Fig. 3, for example, the smell-based search is illustrated in Fig. 5. It can be seen that the machine assignment [(O2,1, M1), (O2,2, M2)] is changed after exchange. So a repair process is performed. In the vision-based search process, the fruit flies in the sub-populations are evaluated. Then, the fruit fly group is replaced with the best fruit fly bFf in the corresponding sub-population if the bFf has smaller makespan; otherwise, the fruit fly group remains unchanged. 3.6. Cooperative search In nature, cooperation is a common behavior to improve the foraging efficiency by information communication for swarms, such as fruit flies [11], ants [20], and fireflies [21]. Fruit flies may share the location information and adjust the location to fly to-

Fig. 4. Gantt chart of the solution shown in Fig. 3.

99

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

Job J2 selected

Job J4 selected

3

2

1

2

1

4

3

1

1

2

2

3

vb1:

3

2

1

2

1

4

voff1:

4

2

1

2

1

3

v1:

2

4

2

1

1

3

Fruit fly group:

exchange

Temporary individual

3

4

1

2

1

2

3

3

1

2

2

1

Fig. 6. The modified IPOX for the SFTSP, G1:{1, 2}, G2:{3, 4}.

repair

3.7. Procedure of nFOA Fruit fly in the

3

4

1

2

1

2

3

3

1

1

2

2

sub-population:

Fig. 5. The smell-based search of the nFOA for the SFTSP.

wards the food source efficiently. Inspired by this behavior, a cooperative search process is incorporated into the nFOA to stress the exploration. Due to the similarity between the SFTSP and the FJSP, the improved precedence operation crossover (IPOX) and multipoint preservative crossover (MPX) for the FJSP [22] can be adopted here to implement the cooperative search for operation sequence and machine assignment, respectively. Different from the IPOX and MPX [22], an information acceptance probability (P) is employed to determine how much information the inferior fruit fly group will learn from the better one. Thus, the IPOX and the MPX are modified with the following procedures. The procedure of the modified IPOX: Step 1. For every operation sequence vector (v1) of each fruit fly group Ff in the population, select the operation sequence vector (vb1) of the global best fruit fly group bFfg. Step 2. Divide all the jobs into two nonempty sets G1 and G2. To be specific, for each job Ji (i = 1, 2, . . . , n), generate a uniformly random number randn 2 ð0; 1Þ. If randn < P, then add Ji to G1; otherwise, add it to G2. If G1 or G2 is empty, then randomly select a job and add it to the empty set. Step 3. Copy the operations of jobs in G1 in the same position of vb1 and copy the remaining operations in the same order of v1. Thus, an operation sequence vector (voff1) of the offspring Ffson is obtained.

With the above special design, the procedure of the nFOA for solving the SFTSP is illustrated in Fig. 8. It can be seen that the procedure consists of three main processes in addition to the initialization process. In the smell-based search process, it exploits the local solution space. In the visionbased search process, it updates the fruit fly groups with the corresponding best fruit fly in the sub-population. In the cooperative search process, it updates operation sequence vector and machine assignment vector for each fruit fly group by using the IPOX and MPX to share the information of the global best fruit fly group with a certain probability. Such a cooperative search process is helpful to explore the whole solution space. Since the nFOA stresses both exploitation and exploration, it is expected to achieve satisfactory performances for solving the SFTSP. Considering the computational efficiency, a suitable number of evaluations can be used as the stopping criterion. 3.8. Computational complexity analysis The nFOA contains three main search processes in each generation, including smell-based search, vision-based search and cooperative search. For each search process, its computational complexity can be analyzed roughly as follow.

0.1

0.4

0.5

0.3

0.3

0.7

vb1:

3

2

1

2

1

4

vb2:

3

1

1

2

2

3

voff1:

4

2

1

2

1

3

2

1

1

2

2

3

v1:

2

4

2

1

1

3

v2:

1

2

2

1

2

3

Randn vector:

bFfg

An example of the modified IPOX is illustrated in Fig. 6. The procedure of the modified MPX: Step 1. For every machine assignment vector (v2) of each fruit fly group Ff in the population, select the machine assignment vector (vb2) of the global best fruit fly group bFfg. Step 2. For each operation Oi,j (i = 1, 2, . . . , n, j = 1, 2, . . . , ni), generate a uniformly random number randn 2 ð0; 1Þ. If randn < P, then assign Oi,j to the same machine as vb2; otherwise, assign it to the same machine as v2. Thus, a machine assignment vector (voff2) of the offspring Ffson is obtained. An example of the modified MPX is illustrated in Fig. 7.

Ffson

voff2:

Ff

Fig. 7. The modified MPX for the SFTSP, P = 0.6.

100

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

Set the parameters, g=0

Randomly generate NP fruit fly groups

Yes

Output the best

Stop criterion is met?

schedule No

Smell-based

Generate S fruit flies around each group to

search

form the sub-populations

Vision-based

Each fruit fly group fly towards the best fruit

search

fly in its sub -population

Cooperative

g=g+1

Find the global best fruit fly bFfg, perform modified IPOX and MPX with every fruit fly

search

group

Fig. 8. Flowchart of nFOA for the SFTSP.

For the smell-based search process, it is with the computational complexity O(1) by exchanging the operation order of the two randomly selected jobs and with the complexity O(TO) to repair the solution if necessary. For a population with NP fruit fly groups, S fruit flies are generated around each group. So, the computational complexity for smell-based search process is O(TO  NP  S). For the vision-based search process, it is with the computational complexity O(S) by selecting the best fruit fly in each subpopulation. Thus, the computational complexity for vision-based search process is O(NP  S). For the cooperative search process, it is with the computational complexity O(TO) for the modified IPOX operator and with the complexity O(TO) for the modified MPX operator. Thus, the computational complexity for the cooperative search process is O(TO  NP). From the above analysis, it can be seen that the complexity of the proposed nFOA is acceptable and the algorithm could solve the SFTSP efficiently.

4. Computational results and comparisons In the literature [1,3,10], a set of simulation instances of the SFTSP (available at the Decision Analysis Lab website http://dalab. ie.nthu.edu.tw/newsen_content.php?id=0) are used for numerical tests. Thus, those instances are also used for numerical tests in this paper. The detailed parameters of the instances are given in Table 3. Three existing meta-heuristic algorithms for the SFTSP including

Table 4 Combinations of parameter values. Parameters

SN NP P

Factor level 1

2

3

4

1 30 0.6

3 50 0.7

5 70 0.8

7 100 0.9

Table 5 Orthogonal array and RV values. Experiment number

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

Factor

RV

SN

NP

P

1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

1 2 3 4 2 1 4 3 3 4 1 2 4 3 2 1

123.25 116.4 115.7 123.95 120.75 122.75 130.25 123.75 124.25 133.45 124.9 123.7 134.6 129.75 126.05 126.7

Table 3 Parameters of the instances. Instance

Large-scale (LS) Wide-range (WR)

N

100 60

m

36

Processing time

{1, 2, . . . , 15} {1, 2, . . . , 50}

Setup time

{1, 2, . . . , 5} {1, 2, . . . , 15}

Numbers of resources Tester

Handler

Accessory

{10, 5, 3}

{10, 8, 4}

{7, 7, 5, 5}

101

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

S

132

NP

P

130 128 126 124 122 120 1

3

5

30

7

50

70

0. 6

100

0. 7

0. 8

0. 9

Fig. 9. Fact level trend of nFOA.

Table 6 Average response value. Level

SN

NP

P

1 2 3 4 Delta Rank

119.8 124.4 126.6 129.3 9.5 1

125.7 125.6 124.2 124.5 1.5 3

124.4 121.7 123.4 130.6 8.8 2

the wcGA [1], the bvGA [10] and the CEDA [3] are used for comparison with our nFOA. The nFOA is coded in C++ and run on a 2.4 GHz Intel Core i5 processor.

4.1. Parameter setting The proposed nFOA contains 3 key parameters: the population size, i.e., NP, the size of the sub-population in the smell-based search process, i.e., S, and the information acceptance probability, i.e., P. To investigate the influence of these parameters on the performance of the algorithm, the Taguchi method of DOE [23] is implemented by using instance LS5. Combinations of different values of these parameters are listed in Table 4. Set 4 factor levels for each parameter. Thus, an orthogonal array L16(43) is selected. For each parameter combination, the nFOA is run 20 times independently, and then the average makespan value obtained by the nFOA is regarded as the response variable (RV). Obviously, the smaller RV value is, the better the parameter combination is. The orthogonal array and the obtained RV values are listed in Table 5.

With the statistical analysis tool Minitab, the trend of each factor level is obtained and shown in Fig. 9. Then, the significance rank of each parameter can be analyzed, as listed in Table 6. From Table 6, it can be seen that the size of sub-population is the most significant parameter. So, it can be considered as a critical parameter to balance exploitation and exploration. A large value of S means the exploitation is over focused. That is, many evaluations are wasted for some inferior solutions. As for the information acceptance probability P, if it is too small, the quality of the solution improves little at each generation of evolution. In contrast, if P is too large, the algorithm may be trapped in local optima due to the premature convergence. Therefore, to ensure the effectiveness of the nFOA, it should set an appropriate value for P. As for the population size NP, its influence on the algorithm is slight. A medium value of NP is preferred. According to the above analysis, a better choice of the parameter combination is recommended as NP = 70, S = 1, and P = 0.7. This parameter setting will be used in the following tests. 4.2. Simulation results and comparisons To compare the nFOA with the wcGA [1], the bvGA [10] and the CEDA [3], same as the literature, we run each algorithm 30 times independently for each instance. Besides, we set the evaluation times of the nFOA 20,000, while the CEDA is 400,000 and the other two 800,000. This means the nFOA uses much less evaluations to solve the problem. Since the CEDA has been demonstrated significantly better than the wcGA and bvGA [3], a hypothesis test is performed to compare the nFOA with the CEDA only. Besides, the statistic results of running nFOA on the 10 instances are also provided in Table 7, including the best makespan (Best), average

Table 7 Simulation results. Instance

LS1 LS2 LS3 LS4 LS5 WR1 WR2 WR3 WR4 WR5

wcGA

bvGA

CEDA

nFOA

Hypothesis test

Mean

SD

Mean

SD

Mean

SD

Best

Mean

SD

CPU(s)

p-Value

Sig(p < 0.05)

127.33 143.30 135.27 158.80 143.97 322.70 248.37 280.70 229.23 284.37

1.42 2.07 3.57 2.15 2.02 5.45 5.65 4.05 4.57 6.46

124.20 137.30 131.13 148.63 142.47 307.20 240.53 275.40 220.20 260.17

1.72 2.22 1.94 2.41 1.84 4.74 3.69 3.93 3.97 4.01

121.83 135.20 123.60 137.87 138.23 302.63 234.83 269.03 209.30 246.63

1.39 1.76 1.99 2.16 1.67 4.05 3.47 3.99 4.56 4.01

104 113 102 119 107 245 191 220 185 222

108.4 117.5 107.8 123.6 115.6 250.4 204.8 226.8 189.8 227.3

3.51 3.14 2.89 2.10 4.00 3.57 3.29 3.43 4.04 3.13

4.13 3.71 3.63 4.00 3.76 3.46 3.00 3.10 2.73 3.20

4.0e20 9.0e20 1.4e21 1.1e20 8.6e26 2.1e31 7.4e25 2.1e28 8.1e15 9.7e17

Y Y Y Y Y Y Y Y Y Y

Note: the bold values mean the best results.

102

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

Fig. 10. Best solution of instance WR2 obtained by the nFOA.

Besides, the Gantt chart of the best solution obtained by the nFOA is shown in Fig. 10, and the convergence curve of the nFOA in solving instance WR2 is illustrated in Fig. 11. As for the computational efficiency, the average CPU times employed by the four algorithms are listed in Table 8. From Table 8, it can be seen that the nFOA spends much less CPU time than the other three algorithms. The average CPU time of all the instances is only 3.472 s, which implies that the nFOA is very efficient for solving the SFTSP, even for the large-scaled problems. To sum up, the nFOA is more efficient and effective than the existing algorithms in solving the SFTSP.

5. Conclusions Fig. 11. The converging curve of nFOA for WR2.

Table 8 CPU time spent by the algorithms (s).

LS instances WR instances Average

wcGAa

bvGAb

CEDAc

nFOAd

448.83 179.82 314.33

175.86 94.93 135.40

194.85 105.87 150.36

3.846 3.098 3.472

Note: the bold values mean the best results. a Athlon 1.2 GHz CPU. b Core2 Duo 2.4 GHz CPU. c Core i5 2.8 GHz CPU. d Core i5 2.4 GHz CPU.

makespan (Mean), the standard deviation (SD) and the average CPU running time (CPU). The results of the existing algorithms are directly from the literature. From Table 7, it can be seen that the nFOA obtains smaller average makespan values than the other three algorithms, which implies that the proposed nFOA is more effective for solving the SFTSP. From the results of hypothesis test, it is concluded that the nFOA is significantly better than the CEDA for solving all the instances. Since the CEDA is significantly better than the wcGA and bvGA [3], the nFOA is significantly better than the wcGA and bvGA.

This paper dealt with the semiconductor final testing scheduling problem, which is very common in semiconductor manufacturing process. To solve the problem, a novel fruit fly optimization algorithm was proposed. The contributions of this paper could be summarized as follows: novel encoding and decoding schemes were presented to represent solutions and to generate feasible schedules; special smell-based search, vision-based search and cooperative search were designed to perform both exploitation and exploration among the search space; the IPOX and MPX operators were adopted and modified according to the characteristics of the scheduling problem. Computational testing results and comparisons to the existing algorithms showed that the proposed nFOA could obtain better solutions for all the instances with less computational effort. To the best of our knowledge, this is the first research work on the application of the FOA algorithm to solve the semiconductor final testing scheduling problem. This research work not only provides a powerful solution algorithm for the SFTSP, but it also enriches the application of the FOA in scheduling field. The FOA is a novel population-based parallel algorithm with few control parameters and simple search framework for implementation. It is easy to embed some knowledge-based rules or search operators in the framework of the FOA. So, future work could focus on further exploring problem-specific characteristics to enhance the performances of the FOA and developing some adaptive algorithms with learning mechanisms for parameters. It

X.-l. Zheng et al. / Knowledge-Based Systems 57 (2014) 95–103

could also be interesting to solve the SFTSP with other scheduling criterion or multiple criteria and to generalize the FOA to other application fields. Acknowledgments The authors would like to thank the Editor-in-Chief Prof. Hamido Fujita and the anonymous reviewers for their constructive comments to improve the paper. This research work is partially supported by the National Key Basic Research and Development Program of China (No. 2013CB329503), the National Science Foundation of China (No. 61174189), and the Doctoral Program Foundation of Institutions of Higher Education of China (No. 20130002110057). Appendix A. Supplementary material Supplementary data associated with this article can be found, in the online version, at http://dx.doi.org/10.1016/j.knosys.201 3.12.011. References [1] J.Z. Wu, C.F. Chien, Modeling semiconductor testing job scheduling and dynamic testing machine configuration, Expert Syst. Appl. 35 (1–2) (2008) 485–496. [2] Z.C. Zhang, L. Zheng, F. Hou, N. Li, Semiconductor final test scheduling with Sarsa(k, k) algorithm, Euro. J. Operat. Res. 215 (2) (2011) 446–458. [3] X.C. Hao, J.Z. Wu, C.F. Chien, M. Gen, The cooperative estimation of distribution algorithm: a novel approach for semiconductor final test scheduling problems, J. Intell. Manuf. (2013), http://dx.doi.org/10.1007/s10845-013-0746-x. [4] R. Uzso, L.A. Martin-Vega, C.Y. Lee, P.A. Leonard, Production scheduling algorithms for a semiconductor test facility, IEEE Trans. Semiconduct. Manuf. 4 (4) (1991) 270–280. [5] T.R. Chen, T.C. Hsia, Job shop scheduling with multiple resources and an application to a semiconductor testing facility, in: IEEE Proceedings of the 33rd Conference on Decision and Control, 1994, pp. 1564–1570. [6] I.M. Ovacik, R. Uzsoy, Decomposition methods for scheduling semiconductor testing facilities, Int. J. Flex. Manuf. Syst. 8 (4) (1996) 357–388.

103

[7] H.H. Xiong, M.C. Zhou, Scheduling of semiconductor test facility via Petri nets and hybrid heuristic search, IEEE Trans. Semiconduct. Manuf. 11 (3) (1998) 384–393. [8] T. Freed, R. Leachman, Scheduling semiconductor device test operations on multihead testers, IEEE Trans. Semiconduct. Manuf. 12 (4) (1999) 523–530. [9] J.T. Lin, F.K. Wang, W.T. Lee, Capacity-constrained scheduling for a logic IC final test facility, Int. J. Product. Res. 42 (1) (2004) 79–99. [10] J.Z. Wu, X.C. Hao, C.F. Chien, M. Gen, A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem, J. Intell. Manuf. 23 (6) (2012) 2255–2270. [11] W.T. Pan, A new fruit fly optimization algorithm: taking the financial distress model as an example, Knowl.-Based Syst. 26 (2012) 69–74. [12] S.M. Lin, Analysis of service satisfaction in web auction logistics service using a combination of fruit fly optimization algorithm and general regression neural network, Neural Comput. Appl. 22 (2013) 783–791. [13] W.T. Pan, Using modified fruit fly optimisation algorithm to perform the function test and case studies, Connect. Sci. 25 (2–3) (2013) 151–160. [14] C. Li, S. Xu, W. Li, L. Hu, A novel modified fly optimization algorithm for designing the self-tuning proportional integral derivative controller, J. Converge. Inform. Technol. 7 (2012) 69–77. [15] W. Sheng, Y. Bao, Fruit fly optimization algorithm based fractional order fuzzyPID controller for electronic throttle, Nonlin. Dynam. 73 (1–2) (2013) 611–619. [16] L. Wang, S.Y. Wang, Y. Xu, G. Zhou, M. Liu, A bi-population based estimation of distribution algorithm for the flexible job-shop scheduling problem, Comput. Indust. Eng. 62 (4) (2012) 917–926. [17] L. Wang, S.Y. Wang, M. Liu, A Pareto-based estimation of distribution algorithm for the multi-objective flexible job-shop scheduling problem, Int. J. Product. Res. 51 (12) (2013) 3574–3592. [18] L. Wang, G. Zhou, Y. Xu, S.Y. Wang, M. Liu, An effective artificial bee colony algorithm for the flexible job-shop scheduling problem, Int. J. Advan. Manuf. Technol. 60 (1–4) (2012) 303–315. [19] W.L. Pearn, S.H. Chun, A.Y. Chen, M.H. Yang, A case study on the multistage IC final testing scheduling problem with reentry, Int. J. Product. Econ. 88 (3) (2004) 257–267. [20] M. Dorigo, L.M. Gambardella, LM, Ant colony system: a cooperative learning approach to the traveling salesman problem, IEEE Trans. Evolution. Comput. 1 (1) (1997) 53–66. [21] X.S. Yang, Firefly algorithms for multimodal optimization, in: Stochastic Algorithms: Foundations and Applications, SAGA 2009, Lecture Notes in Computer Sciences, vol. 5792, 2009, pp. 169–178. [22] X. Wang, L. Gao, G. Zhang, X. Shao, A multi-objective genetic algorithm based on immune and entropy principle for flexible job-shop scheduling problem, Int. J. Advan. Manuf. Technol. 51 (5–8) (2010) 757–767. [23] D.C. Montgomery, Design and Analysis of Experiments, John Wiley & Sons, Arizona, 2005.