Expert Systems With Applications 65 (2016) 28–39
Contents lists available at ScienceDirect
Expert Systems With Applications journal homepage: www.elsevier.com/locate/eswa
A two-stage adaptive fruit fly optimization algorithm for unrelated parallel machine scheduling problem with additional resource constraints Xiao-long Zheng, Ling Wang∗ Tsinghua National Laboratory for Information Science and Technology (TNList), Department of Automation, Tsinghua University, Beijing, China, 100084
a r t i c l e
i n f o
Article history: Received 22 February 2016 Revised 6 August 2016 Accepted 7 August 2016 Available online 8 August 2016 Keywords: Fruit fly optimization algorithm Unrelated parallel machine scheduling Resource constraint Knowledge
a b s t r a c t In this paper, an unrelated parallel machine scheduling problem with additional resource constraints (UPMSP_RC) from the real world manufacturing systems is studied. With the objective of minimizing the makespan, a mixed integer linear programming model is presented and several properties are analyzed. Furthermore, a two-stage adaptive fruit fly optimization algorithm (TAFOA) is proposed to solve the UPMSP_RC. At the first stage, a heuristic is proposed to generate an initial solution with high quality. At the second stage, the initial solution is adopted as the initial swarm center for further evolution. During the evolution, the search manners are selected adaptively with the guidance of the problem-specific knowledge, which is a sufficient condition of the best schedule under a given job-to-machine assignment. Moreover, the effect of parameters on the performance of the TAFOA is investigated by using the twofactor analysis of variance (ANOVA). Finally, extensive numerical comparisons are carried out to show the effectiveness of the TAFOA in solving the UPMSP_RC. © 2016 Elsevier Ltd. All rights reserved.
1. Introduction The parallel machine scheduling problem (PMSP) is one of the most general scheduling problems. According to the machine environment, the PMSPs can be classified into three main categories: the identical PMSP, the uniform PMSP, and the unrelated PMSP (UPMSP) (Pinedo, 2012). As a generalization of the other two types (Edis, Oguz, & Ozkarahan, 2013), the UPMSP has gained much attention from many researchers. In the traditional UPMSP, a common assumption is that the processing can be executed by machines without accessory resources (Caniyilmaz, Benli, & Ilkay, 2015; Edis et al., 2013; Lin & Hsieh, 2014; Sels, Coelho, Dias, et al., 2015; Strohhecker, Thun, & Hamann, 2016). However, in some realistic manufacturing systems, additional resources are also needed in the production procedure. For example, dies and machine operators are required to produce plastic parts for shipment in the injection-molding department of an electrical appliance plant (Edis & Oguz, 2012). A specific mask (also called reticle) is needed to shape the pattern on the wafer in the photolithography workshop of a semiconductor plant (Bitar, Dauzère-Pérès, Yugma, & Roussel, 2014). In the final testing stage of semiconductor manufacturing,
∗
Corresponding author. Fax: +86 10 62786911. E-mail addresses:
[email protected] (X.-l. Zheng),
[email protected] (L. Wang). http://dx.doi.org/10.1016/j.eswa.2016.08.039 0957-4174/© 2016 Elsevier Ltd. All rights reserved.
boards besides the ovens are needed to hold the integrated circuits in the burn-in operations and the absence of necessary boards prevents the lot of circuits from being loaded into the ovens (Ventura & Kim, 2003). Therefore, it is of great practical significance to study the UPMSP with additional resource constraints (UPMSP_RC). Due to its wide applications, the UPMSP_RC has attracted increasing attention (Edis et al., 2013) during recent years. Daniels, Hua, & Webster, (1999) considered the worker as an additional resource to formulate a static and dynamic RCPMSP and develop two efficient heuristics. In the static case, resource allocation decisions remain fixed throughout the scheduling horizon. In the dynamic case, resources can be reassigned to jobs once an operation is completed. Chen and Wu (2006) proposed an effective heuristic based on threshold-accepting methods, tabu lists, and improvement procedures for the UPMSP with auxiliary equipment constraints. Ruiz-Torres, Lopez, and Ho (2007) analyzed two versions of the UPMSP_RC. It was assumed that jobs were pre-assigned to machines in the first version while jobs can be assigned freely to machines in the second one. An integer programming formulation and a set of heuristics were proposed for two versions respectively. Su and Lien (2009) proposed a heuristic for the parallel machines resource-dependent processing time scheduling problem. Edis and Ozkarahan (2011) presented a combined integer programming (IP) / constraint programming (CP) for the resource-constrained identical parallel machine
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
scheduling problem with machine eligibility restrictions. Edis and Oguz (2012) proposed a relaxed IP based CP approach for the RCPMSP and considered an additional resource, i.e. machine operators. Meanwhile, the processing time of each job was a nonincreasing function of the associated amount of the allocated resource. Edis and Ozkarahan (2012) modeled the real-life scheduling problem in an injection-molding department of the electrical appliance plant as a UPMSP_RC with machine eligibility restrictions. Bitar et al. (2014) proposed a metaheuristic to solve the UPMSP with auxiliary resources in a photolithography workshop of a semiconductor plant. Joo and Kim (2015) presented hybrid genetic algorithms with dispatching rules for the unrelated parallel machine scheduling with production availability. Hsieh, Yang, and Yang (2015) developed an IP method and a heuristic method to solve the UPMSP with discrete controllable processing time, which can be controlled by the amount of an indivisible resource allocated. Although the UPSMP_RC were widely studied, most of them considered only one additional resource with limited supply and assumed that the processing time of an operation depended on the amount of the additional resource. However, in a real world manufacturing factory, it is common that the limited resource affects the starting time of an operation instead of its processing time. For example, in a photolithography workshop, the machine will not start the processing of transferring an integrated circuit pattern on a wafer until the right reticle is available (Bitar et al., 2014). In addition, the procedure cannot be speeded up even if more reticles are provided for the machine. As for the indispensable board in the burn-in operations during the final testing stage of semiconductor manufacturing and the machine operator in the injectionmolding department of the electrical appliance plant, the cases are similar. Thus, in this paper we focus on the UPMSP with limited common shared additional resources, where the availability of resources affects the starting time of an operation instead of the processing time. It can be defined as Rm|R|Cmax using the classification scheme expanded by Blazewicz, Lenstra, and Rinnooy (1983). Since Rm||Cmax is NP-hard (Pinedo, 2012), the UPMSP_RC is also NP-hard. The fruit fly optimization algorithm (FOA) (Pan, 2012) is a newly proposed swarm-based evolutionary algorithm, which is inspired by the food finding procedure of fruit fly swarm using sensitive olfactory and vision. Compared with other existing metaheuristics, FOA has an easy understanding principle and fewer parameters. It has been applied to a variety of optimization problems, including power load forecasting (Li, Guo, Zhao, Su, & Wang, 2012), web auction logistics service (Lin, 2013), neural network parameter optimization (Li, Guo, Li, & Sun, 2013), proportional integral derivative controller parameter tuning (Sheng & Bao, 2013), multidimensional knapsack problem (Wang, Zheng, & Wang, 2013), semiconductor final testing scheduling problem (Zheng, Wang, & Wang, 2014), steelmaking casting problem (Li, Pan, Mao, & Suganthan, 2014), and joint replenishment problem (Wang, Shi, & Liu, 2015). The FOA has the potential to well solve the complex problems especially when the problem-oriented knowledge is embedded to guide the search. Therefore, we will propose a twostage adaptive fruit fly optimization algorithm (TAFOA) for the UPMSP_RC in this paper. To be specific, an effective heuristic is proposed to generate an initial solution, which is adopted as the initial swarm center to perform further adaptive evolution. Moreover, a sufficient condition is derived to identify the optimality of a schedule under a given machine assignment. In addition, the effect of parameters on the performance of the TAFOA is investigated by using the two-factor analysis of variance (ANOVA). Finally, extensive numerical comparisons are carried out to show the effectiveness and efficiency of the TAFOA in solving the UPMSP_RC.
29
Table 1 Processing time.
M1 M2 M3
J1
J2
J3
J4
J5
J6
1 3 4
2 5 3
3 6 4
3 2 4
4 3 5
8 6 5
The remaining of the paper is organized as follows: In Section 2, the mixed integer linear programming (MILP) model of the UMPSP_RC is presented. In Section 3, the basic FOA is briefly introduced. In Section 4, the detailed design of the TAFOA for solving the UPMSP_RC is proposed. In Section 5, extensive numerical tests and comparisons are provided. Finally, the paper ends with some conclusions and future work in Section 6. 2. Problem formulation and analysis 2.1. MILP model The UPMSP_RC can be described as follows: n jobs (J1 , J2 ,…, Jn ) are to be processed on m unrelated machines (M1 , M2 ,…, Mm ) and the processing time of Ji on Mj is denoted as Pij . A common shared additional renewable resource is considered. To process a job, one unit of resource is required per unit time. The available amount of the renewable resource is R
Min Cmax = max{ fi , i = 1, 2, . . . , n}
(1)
Subject to:
xi, j = 1, i = 1, 2, . . . , n
(2)
yi, j,t ≤ 1, j = 1, 2, . . . , m; t = 0, 1, 2, . . . , T
(3)
j
i
f i = si + fi ≥
Pi j xi, j ; i = 1, 2, . . . , n
t yi, j,i ; i = 1, 2, . . . n, t = 0, 1, . . . , T
(4) (5)
j
i
j
yi, j,t ≤ R,
t = 0, 1, 2, . . . , T
(6)
30
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
xi, j = {0, 1},
i = 1, 2, . . . , n;
j = 1, 2, . . . , m
(7)
yi, j,t = {0, 1},
i = 1, 2, . . . , n;
j = 1, 2, . . . , m;
t = 0, 1, 2, . . . , T (8)
f i > 0,
si ≥ 0
(9) Fig. 1. A feasible schedule s for the example.
The objective is shown in (1). Constraint (2) guarantees that each job should be assigned to one machine. Constraint (3) ensures that no more than one job can be processed on any machine at any time period. Constraint (4) states that the processing time of Ji on Mj is Pij and the preemption is not allowed. Constraint (5) guarantees the feasibility of the finishing time. Constraint (6) means that the usage of the shared resource should not exceed the available amount at any time period. Constraints (7), (8) and (9) define the feasible scope of decision variables. 2.2. Problem property To guide the search of the TAFOA, some problem-specific properties are derived with the following notations. S the set of feasible schedules; the set of assignment plans, which determine the assigned machine for each job; Cmax (s) the maximum completion time of all jobs of a schedule s; VTj the total vacant time of Mj before Cmax (s). Property 1. For any given job-to-machine assignment plan π ∈ , a schedule s ∈ S is optimal with π , if V T j = (m − R )Cmax (s ). j
j
j
RCmax (s ). For each machine Mj (j=1,2,…,m), according to the def inition of makespan and VTj , Cmax (s ) = xi, j Pi j + V T j . Therefore, i for all machines, Cmax (s )=mCmax (s )= ( xi, j Pi j + V T j ). Substij j i tute it into the inequality, we get xi, j Pi j >RCmax (s ). That is, i
there exists a machine with a total processing time that is larger than Cmax (s’). This contradicts the feasibility of s’ and completes the proof. Note: This property is a sufficient condition for the local optima, and it is used to guide the selection of operators in the TAFOA. To be specific, the operator to reassign jobs to machines is used to search a new promising region immediately if the local optimum is obtained. Meanwhile, the operator to adjust the sequence of jobs is repeatedly used to exploit the local region sufficiently. Property 2. For any schedule s ∈ S, Cmax (s) ≥ R1 (min Pi j ). i
j
Proof. Suppose that the job-to-machine assignment of s is π ={(1,j1 ), (2,j2 ), …, (n,jn )}, where (i,j) represents Ji is assigned to Mj . Since the number of working machines is less than or equal to R at any time, Cmax (s)≥C∗ , where C∗ is the maximum completion time of the substituted problem to process n jobs on R parallel machines and the processing times are P1 j1 , P1 j2 , ..., Pn jn . Because the substituted problem is equivalent to R-partition problem, Pi ji ≤ i 1 ∗ ∗ Pi ji ≤ RC ≤ RCmax (s ), and we get Cmax (s ) ≥ R Pi ji . In RC . Then, i i addition, Pi ji ≥ min Pi j , thus Cmax (s) ≥ R1 (min Pi j ). j
Property 3. A schedule s∗ is optimal, if π is the assignment plan that assigns each job to the machine, on which the processing time is the shortest, and V T j = (m − R )Cmax (s∗ ). j
Proof. By contradiction. According to the definition, Cmax (s∗ ) = xi, j Pi j + V T j (j=1,2,…,m). For all j, sum up Cmax (s∗ ) i then we obtain Cmax (s∗ )=mCmax (s∗)= ( xi, j Pi j + V T j ). j j i Substitute V T j = (m − R )Cmax (s∗ ) into the equation, j mCmax (s∗)= xi, j Pi j + (m − R )Cmax (s∗ ). Via transformation, j
RCmax (s∗)=
i
j
xi, j Pi j .
Therefore,
i
Cmax (s∗)= R1
j
xi, j Pi j .
Since
i
all the jobs are scheduled to be processed on the fastest machine, Cmax (s∗)= R1 min Pi j . If there exists a schedule s, j i ∗ Cmax (s) < Cmax (s ), then Cmax (s)< R1 min Pi j , which contradicts i
j
Property 2 and completes the proof.
Proof. By contradiction. Suppose that there is a better sched ule s’ ∈ S with V T j < (m − R )Cmax (s ), i.e., mCmax (s ) − V T j >
j
Note: This property is applied to estimate the lower bound of the problem.
i
j
Note: This property provides a sufficient condition for judging the global optima. In our TAFOA, it is used as one of the stopping criteria so as to avoid redundant search after the optima are obtained. To further illustrate the properties, an example instance with 6 jobs (n = 6), 3 machines (m = 3) and 2 total amount of the available resource (R = 2) is used. The processing times of each job on each machine are listed in Table 1. Schedule s in Fig. 1 is a feasible schedule for the instance. To be specific, makespan is 8 with the job-to-machine assignment plan π ={(1,1),(2,1),(3,1),(4,2),(5,2),(6,3)}, and VT1 =2, VT2 =3, VT3 =3. Because VT1 +VT2 +VT3 =8=(m-R)Cmax (s), according to Property 1, s is an optimal schedule with π . Besides, all the jobs are assigned to the machine with shortest processing time. Therefore, according to Property 3, s is an optimal schedule for the instance. 3. Fruit fly optimization algorithm The FOA (Pan, 2012) is a nature inspired swarm based intelligent technique, which mimics the foraging behaviors of the fruit fly. In real world, a fruit fly finds food sources using its sensitive osphresis and vision. During the foraging, the fruit fly can smell the scents of food source from far away, and the swarms fly towards the possible location of the food source with the largest smell concentration. After the fruit fly gets close to the food source, it can find the accurate location of food source using its superior vision. In the FOA, food sources are represented by the optima and the procedure of foraging is simulated via the iteratively searching for the optima. The process of search consists of two major subprocedures, i.e. smell-based search and vision-based search. Based on the traits of the fruit fly, the procedure of the FOA can be described as follows:
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
31
Fig. 2. An example of the representation.
Step 1: Initialization. The parameters of the algorithm and the center location of the swarms are initialized. Step 2: Smell-based search. Step 2.1: For each fruit fly, randomly determine a candidate location for the food source near the center location of the swarms. Step 2.2: Calculate the smell concentration of each fruit fly location. Step 3: Vision-based search. Step 3.1: Determine the most likely location with the largest smell concentration. Step 3.2: The fruit fly swarms fly towards the location and the center location of swarms is updated. Step 4: Termination condition. If the termination condition is reached, the algorithm ends; otherwise, repeat step 2 and step 3. 4. TAFOA for the UPMSP_RC
Fig. 3. Pseudo code of the decoding procedure.
The FOA is first proposed for continuous optimization. To adopt the FOA for solving the UPMSP_RC, a discrete version of FOA is proposed in this section. First, the permutation-based representation and the decoding scheme are presented. Then, the detailed implementations of each phase of the TAFOA are introduced respectively, including a heuristic for the initialization, knowledge guided smellbased search, and vision-based search. 4.1. Representation and decoding scheme To determine a feasible schedule for the UPMSP_RC, it needs to assign a suitable machine with available resource for each job and arrange execution order of jobs on each machine. In the TAFOA, the solution is represented by m job sequences, where the jth (j = 1,2,…,m) sequence represents the processing order of arranged jobs on Mj . The elements of the sequences are denoted by job numbers. Since all the jobs are processed only once, the total number of the elements is n. If no job is assigned to a certain machine, the corresponding sequence is empty. With such encoding scheme, the search operator performed on the representation influences the schedule directly, which avoids generating redundant encoding. A solution for the example in Table 1 is shown in Fig. 2. To map a solution to a feasible schedule, the jobs are processed on their assigned machines in accordance with the orders of the sequences. Meanwhile, the resource is allocated to machines according to the largest total remaining load (LTRL) rule. To be specific, at every decision time, the available resource is allocated to the idle machines in a descending order of the total remaining load (RLj ), which can be calculated as RL j = Pi j , j ∈ IM (t ) Note that, i∈N J j
IM(t) is the set of idle machines at time t and NJj is the set of non-scheduled jobs on Mj . The jobs are scheduled to start processing once both the assigned machine and the resource are available. The decoding procedure is shown in Fig. 3. Note that it could eventually exist optimal solutions excluded from the decoding procedure. However, since the motivation of our work is to propose a heuristic procedure to find good solutions with reasonable time, the LTRL rule is used as the decoding mechanism.
4.2. Heuristic for initialization In the basic FOA, the swarm center is generated randomly, then fruit flies search food sources around the center. It is very likely to locate an initial center that is very far away from the food source, especially when the complexity of the problem gets high. To improve the proficiency, it is significant to locate a promising swarm center initially via utilizing the knowledge of the problem. To generate an initial solution with good quality, an effective heuristic is developed by determining a job-to-machine assignment plan and m job sequences. For the machine assignment of the UPMSP, it is widely adopted that assigning each job to the fastest machine (Fanjul-Peyro & Ruiz, 2010), i.e. job Ji is assigned to machine Mk = arg minj {Pij }. Since the UPMSP_RC inherits several characteristics of the UPMSP, the same rule for the job-to-machine assignment is employed in the TAFOA. Besides, the largest processing time (LPT) rule is used to determine the processing order of jobs on each machine. With such a heuristic, a solution is obtained and will be used as the initial center location for all the NS fruit fly swarms at the second stage. The effectiveness of the initialization will be shown in Section 5.2. 4.3. Smell-based search and vision-based search It has been pointed out by Wang et al. (2015) that the exploration ability of the FOA is weak. Thus, a multiple swarm strategy is usually adopted to enhance the exploration. The number of swarms is NS. In the smell-based search, S solutions are generated around each center location of the fruit fly swarm. In the TAFOA, two search operators are designed to generate new solutions. The first operator (denoted as OP1 ) is to change the jobto-machine assignment plan while the second operator (denoted as OP2 ) is to adjust the processing order of jobs on a certain machine. To be specific, in the procedure of OP1 , it randomly selects a job Ji on Mj with the largest total load TLj , which can be cal culated as T L j = i xi, j Pij ( j = 1, 2, . . . , m, ), and then reassigns Ji to another randomly chosen machine Mk (k = j). For the sake of low
32
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
Fig. 4. Flowchart of the TAFOA.
computational cost, Ji will be placed at the last position on Mk . In the procedure of OP2 , it randomly selects a machine Mj with more than two assigned jobs, and swaps the positions of two randomly chosen jobs in the job sequence of Mj . The OP1 is considered as the operator to change the neighbor region, while the OP2 is used to search good solutions in a local region. Once a local optimum with a certain job-to-machine assignment plan is obtained, there will be no sense to adjust the processing order of jobs on any machine. To improve the efficiency, the two operators, i.e., OP1 and OP2 , are adaptively adopted with the guidance of the problem-specific knowledge. The knowledge is implemented as a terminal condition of the local exploitation designed based on Property 1. The terminal condition of local exploitation is met if the condition of Property 1 is achieved or the center location of the fruit fly swarm has not been updated for 5 generations. In the smell-based search, S new solutions of each swarm are generated. If the terminal condition of the local exploitation under a job-to-machine assignment plan is met, a new solution in each swarm will be generated by using OP1 and OP2 once one after another; otherwise, only OP2 is adopted once to generate a new solution. In the procedure of the vision-based search, the generated fruit flies are evaluated to obtain the smell concentration value, which is inversely proportional to makespan of the solution. Then, a greedy selection strategy is adopted to update the center location of each fruit fly swarm. In other words, the center location of each fruit fly swarm is replaced by the best solution in the corresponding swarm if makespan can be improved; otherwise, it stays at the original location, i.e. the center location (solution) keeps unchanged. 4.4. Procedure of TAFOA Based on the above design, the flowchart of the TAFOA is illustrated as Fig. 4. In the TAFOA, an initial solution with good quality is obtained via the heuristic at the first stage. With such stage, fruit flies locate a promising region in the vast solution space. At the second stage, two main search phases are executed, including the
smell-based search and the vision-based search. In the smell-based search, search manners are adopted adaptively with the guidance of knowledge to explore and exploit promising solution regions. In the vision-based search, each fruit fly swarm flies towards the best solution in the swarm with a greedy strategy. The algorithm stops when the terminal condition is met. 5. Experimental results The TAFOA is coded in C++ and run on a PC with 2.3 GHz CPU. Since there are no available benchmark instances for the UPMSP_RC, we extend the widely used test instances for the UPMSP (Fanjul-Peyro & Ruiz, 2010) to test the performance of the algorithm. Considering that the performance of a solution method is greatly affected by the processing time matrix (FanjulPeyro & Ruiz, 2010), two sets of instances with uniform distributions U(1100) (denoted as set1) and U(10 0,20 0) (denoted as set2) are adopted, which can be obtained from http://soa.iti.es/ instancias-problemas. The Rm |res1R |Cmax is characterized by n, m, R and the processing time matrix [Pij ]n × m . The benchmark instances are extended by setting the amount of resource R=x , where x means the largest integer which is not larger than x and x is a randomly generated number from interval [0.5 m, m]. For the benchmark instances, n= {10 0, 20 0, 50 0, 10 0 0}, m= {10, 20, 30, 40, 50}. Therefore, there are 4 × 5 = 20 combinations of problem parameters. For each combination, there are 10 instances and the value of R is randomly generated which is listed in Table 5 and Table 6. The performance of the algorithm is evaluated by using the relative percentage deviation (RPD) from the lower bound as follows:
RP D =
Cmax (i ) − LB(i ) × 100 LB(i )
(10)
where Cmax (i) and LB(i) are the best makespan obtained by the algorithm and the lower bound provided in Property 2 for instance i, respectively. The algorithm is run 10 times independently for each instance. The terminal condition is set with a maximum number of evalua-
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
33
Table 2 Factor levels of parameters. Parameters
NS S
Factor level 1
2
3
4
1 1
30 5
50 7
70 10
Table 3 Orthogonal table and ARV values. Experiment number
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Factor level NS
S
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
ARV
74.8 74.8 73.0 72.4 72.6 72.4 73.4 73.4 73.2 74.4 74.6 76.0 74.8 75.2 75.8 77.4
Fig. 5. Factor level trend of NS.
Table 4 Results of two-way ANOVA. Source
Degree of freedom
SS
MS
F
p
S NS Interaction Error Total
3 3 9 64 79
9.23 83.54 55.61 88.00 236.39
3.08 27.85 6.18 1.38
2.24 20.25 4.49
0.09 0.00 0.00
tions (10,0 0 0) or the optimal condition provided by Property 3 is met. 5.1. Parameters setting The TAFOA contains two parameters: the number of swarms (NS) and the swarm size (S). To investigate the effect of such two parameters on the performance of the TAFOA, we carry out tests by using the two-way ANOVA on a typical instance with n = 10 0 0, m = 50, R = 46 in set1. We set 4 levels for each parameter as listed in Table 2. There are 4 × 4 = 16 combinations of parameters. For each combination, the algorithm is run 10 independently and the average response variable (ARV) is obtained as the average RPD. The numerical results are listed in Table 3 and the result of twoway ANOVA is listed in Table 4. From Table 4, it can be seen that NS and the interaction between NS and S have significant effects on the performance of the TAFOA while the influence of S is not significant. The trend of NS is illustrated in Fig. 5, and NS is recommended as 30. In considering the result of two-way ANOVA, the value of S is determined according to NS. The trend of S is shown in Fig. 6 by using the results of instances with NS = 30. According to the results in Fig. 6, the value of S is recommended as 5. In the following numerical test, the parameters of TAFOA are set as NS = 30 and S = 5. 5.2. Effectiveness of the heuristic for initialization To show the effectiveness of the heuristic for initialization, the TAFOA is compared with the heuristic alone (denoted as HS)
Fig. 6. Factor level trend of S.
and the TAFOA without the heuristic in initialization (denoted as TAFOA_noH). In the TAFOA_noH, the swarms are all initialized randomly. The results of two algorithms on set1 and set2 are listed in Tables 5 and 6 respectively, where ‘Best’, ‘Ave’ and ‘Std’ are the best, average of RPD and standard variance of makespan obtained by the method respectively. The bold values mean the better results. In addition, ‘CPU’ represents the average computational time. To further show the superiority of TAFOA over TAFOA_noH, the non-parametric Kruskal–Wallis test with 95% confidence level is adopted. ‘Y’ means the difference between the two algorithms is significant, while ‘N’ means not significant. It can be seen from Tables 5 and 6 that the TAFOA outperforms HS and the TAFOA_noH significantly for almost all the instances except the cases that both methods can obtain the optima. That is because the heuristic can generate a solution with good quality, which helps the algorithm to locate promising regions in the large solution space. Especially for some instances, the initial solution is the optimal schedule and the algorithm is terminated immediately. This is the reason that the TAFOA is faster than TAFOA_noH. Therefore, it can be concluded that the heuristic is effective and efficient and the first stage improves the performance of the method. 5.3. Comparisons of TAFOA with TAFOA without knowledge To show the effectiveness of the knowledge guidance, the TAFOA is compared with the TAFOA without the knowledge (denoted as TFOA). In the TFOA, all the fruit fly swarms employ the search operators in an identical way without the guidance of knowledge and the algorithm stops only when the maximum evaluation times are reached. Instead of employing the OP1 by judging whether the local optimum is obtained, OP1 and OP2 are both used to generate a new solution in the procedure of the smell-based search in TFOA. The results of two algorithms on set1 and set2 are listed in Tables 7 and 8 respectively.
34
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
Table 5 Comparisons of TAFOA with HS, and TAFOA_noH on set1. Instances
HS
n
m
R
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50
9 19 15 30 48 5 11 26 23 25 9 19 15 30 48 6 16 15 28 46
53.6 137.2 37.2 155.4 261.4 0.0 5.1 85.1 49.4 48.8 0.0 45.5 13.5 41.1 87.2 0.0 6.2 0.0 16.2 63.1
TAFOA_noH
TAFOA
Best
Ave
Std
CPU(s)
Best
Ave
Std
CPU(s)
19.68 52.11 8.48 70.73 149.33 0.00 1.70 35.59 10.01 9.55 0.00 18.68 4.37 13.42 41.12 0.00 1.97 0.00 4.05 32.97
46.65 119.78 31.51 138.47 240.80 0.00 4.41 75.77 41.41 41.11 0.00 39.99 11.62 35.51 77.81 0.00 5.36 0.00 13.82 57.19
14.92 9.64 2.84 3.40 2.60 0.00 1.33 5.72 4.08 3.32 0.00 14.92 3.64 5.28 5.32 0.00 5.60 0.00 5.16 6.60
1.02 2.15 1.68 2.68 3.52 1.02 0.93 2.64 2.69 3.11 1.24 3.92 0.61 1.00 1.24 0.53 4.74 0.7 1.58 2.16
6.86 33.29 2.46 45.33 95.33 0.00 0.22 19.13 1.13 1.43 0.00 13.05 0.60 7.76 26.96 0.00 0.64 0.00 1.33 25.09
8.76 34.83 4.04 47.49 100.07 0.00 0.26 21.62 2.69 2.80 0.00 14.08 1.12 8.97 29.24 0.00 0.81 0.00 1.92 26.19
1.50 0.46 0.29 0.18 0.30 0.00 0.05 0.55 0.31 0.23 0.00 1.07 0.41 0.44 0.49 0.00 0.50 0.00 0.42 0.53
0.29 0.34 0.28 0.30 0.29 0.01 0.09 0.53 0.36 0.38 0.01 1.22 0.73 1.09 1.08 0.01 1.42 0.01 1.36 1.75
P value
sig
0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0
Y Y Y Y Y N Y Y Y Y N Y Y Y Y N Y N Y Y
Table 6 Comparisons of TAFOA with HS and TAFOA_noH on set2. Instances
HS
n
m
R
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50
8 14 21 29 28 8 19 28 35 45 8 14 29 29 45 8 12 18 21 27
19.67 36.88 51.89 77.55 65.46 11.10 61.68 65.32 73.78 120.10 0.52 8.63 52.73 21.18 89.28 0.32 0.49 0.77 0.84 1.99
TAFOA_noH
TAFOA
Best
Ave
Std
CPU(s)
Best
Ave
Std
CPU(s)
3.27 9.72 6.58 23.02 24.33 1.64 8.52 11.86 15.60 15.02 0.47 0.78 10.46 4.01 18.95 0.27 0.51 1.04 0.77 2.48
3.87 10.05 8.29 24.82 25.47 2.01 9.68 12.36 16.62 15.99 0.56 0.84 11.35 5.22 20.85 0.41 0.63 1.66 0.89 3.53
6.75 1.91 5.78 4.08 3.03 6.47 8.88 3.50 4.07 7.30 2.79 2.10 12.92 6.43 15.91 2.57 1.62 0.65 0.41 1.35
0.57 1.14 2.11 3.75 4.17 0.00 3.50 6.60 6.80 10.40 2.00 5.60 12.50 10.00 16.60 4.40 9.00 14.40 11.01 12.51
2.64 9.10 5.84 15.15 11.45 1.08 6.49 11.20 7.82 12.99 0.40 0.75 7.26 3.89 10.61 0.18 0.30 0.64 0.66 1.48
2.87 9.25 6.06 15.31 11.48 1.27 7.08 11.33 8.48 13.24 0.46 0.81 7.76 3.92 11.20 0.20 0.32 0.66 0.67 1.51
1.91 0.79 0.84 0.39 0.13 3.58 4.21 0.61 3.02 0.77 2.51 0.78 6.54 0.53 4.82 1.99 1.10 0.57 0.38 0.85
0.42 0.71 0.86 1.15 1.04 0.76 2.57 3.12 3.13 4.33 1.64 3.31 7.05 5.14 8.11 5.30 11.50 11.41 16.20 18.20
P value
sig
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Table 7 Comparisons of TAFOA with TFOA on set1. Instances
TFOA
TAFOA
n
m
R
Best
Ave
Std
CPU(s)
Best
Ave
Std
CPU(s)
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50
9 19 15 30 48 5 11 26 23 25 9 19 15 30 48 6 16 15 28 46
12.18 40.90 6.13 56.53 117.00 0.00 0.54 25.11 5.32 5.75 0.00 16.66 2.10 11.11 33.48 0.00 1.37 0.00 3.04 27.46
18.48 51.78 9.60 67.36 130.73 0.00 1.91 33.16 9.61 9.50 0.00 19.70 4.05 14.29 39.62 0.00 2.08 0.00 4.45 32.11
4.91 2.33 0.65 1.05 0.70 0.00 0.78 1.60 0.85 0.58 0.00 2.96 1.60 1.25 1.42 0.00 1.83 0.00 1.26 1.87
0.19 0.24 0.18 0.10 0.12 0.01 0.09 0.33 0.26 0.28 0.01 0.52 0.33 0.39 0.54 0.01 0.72 0.01 0.76 0.89
6.86 33.29 2.46 45.33 95.33 0.00 0.22 19.13 1.13 1.43 0.00 13.05 0.60 7.76 26.96 0.00 0.64 0.00 1.33 25.09
8.76 34.83 4.04 47.49 100.07 0.00 0.26 21.62 2.69 2.80 0.00 14.08 1.12 8.97 29.24 0.00 0.81 0.00 1.92 26.19
1.50 0.46 0.29 0.18 0.30 0.00 0.05 0.55 0.31 0.23 0.00 1.07 0.41 0.44 0.49 0.00 0.50 0.00 0.42 0.53
0.29 0.34 0.28 0.30 0.29 0.01 0.09 0.53 0.36 0.38 0.01 1.22 0.73 1.09 1.08 0.01 1.42 0.01 1.36 1.75
p value
Significance
0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0
Y Y Y Y Y N Y Y Y Y N Y Y Y Y N Y N Y Y
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
35
Table 8 Comparisons of TAFOA with TFOA on set2. Instances
TFOA
TAFOA
n
m
R
Best
Ave
Std
CPU(s)
Best
Ave
Std
CPU(s)
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50
8 14 21 29 28 8 19 28 35 45 8 14 29 29 45 8 12 18 21 27
3.14 9.45 7.09 15.57 11.56 1.63 8.08 11.58 10.48 13.81 0.52 0.84 10.10 6.54 19.41 0.36 0.52 0.68 0.72 1.85
3.63 9.87 8.23 15.80 11.73 1.95 9.63 12.04 13.02 15.78 0.59 0.91 11.41 8.53 20.60 0.50 0.68 0.75 0.76 1.90
4.35 2.41 1.17 1.03 1.11 6.12 11.25 2.92 11.17 7.88 3.35 1.80 18.99 17.23 12.47 3.86 1.74 1.40 1.10 1.30
0.38 0.60 0.67 1.02 0.94 0.50 2.10 2.47 2.13 3.20 1.28 2.26 5.83 4.18 6.78 4.31 10.80 10.22 14.20 15.00
2.64 9.10 5.84 15.15 11.45 1.08 6.49 11.20 7.82 12.99 0.40 0.75 7.26 3.89 10.61 0.18 0.30 0.64 0.66 1.48
2.87 9.25 6.06 15.31 11.48 1.27 7.08 11.33 8.48 13.24 0.46 0.81 7.76 3.92 11.20 0.20 0.32 0.66 0.67 1.51
1.91 0.79 0.84 0.39 0.13 3.58 4.21 0.61 3.02 0.77 2.51 0.78 6.54 0.53 4.82 1.99 1.10 0.57 0.38 0.85
0.42 0.71 0.86 1.15 1.04 0.76 2.57 3.12 3.13 4.33 1.64 3.31 7.05 5.14 8.11 5.30 11.50 11.41 16.20 18.20
Table 9 How many times on average per instance are local optima encountered. m, n 100, 100, 100, 100, 100, 200, 200, 200, 200, 200,
10 20 30 40 50 10 20 30 40 50
Set1
Set2
m, n
Set1
Set2
143.7 89.5 79.3 61.1 55.6 133.8 87.3 91.2 99.8 84.5
67.3 60.7 50.4 55.2 51.5 74.5 71.4 68.9 66.8 70.1
500, 10 500, 20 500, 30 500, 40 500, 50 10 0 0, 10 10 0 0, 20 10 0 0, 30 10 0 0, 40 10 0 0, 50
145.1 118.4 101.1 105.6 89.7 155.4 131.3 128.6 100.5 111.4
88.2 80.4 79.3 53.1 69.2 97.8 92.7 81.4 94.1 85.1
From Tables 7 and 8, it can be shown that the TAFOA is significantly superior to the TFOA. The TAFOA selects a suitable search operator adaptively to avoid some invalid search. Meanwhile, the exploitation to the schedule with a certain job-to-machine assignment plan is performed sufficiently. Therefore, the knowledge can help avoid wasting the computational time in the exploitation so as to improve the search performances. For further analysis, it is counted that how many times on average local optima are encountered in 10,0 0 0 schedules in each instance. The results are listed in Table 9. It can be seen from Table 9 that the local optima are encountered at approximately 1% schedules in most instances, which implies that the Property 1 is helpful to avoid invalid search and adjust the search direction so as to balance the exploitation and exploration.
p value
Significance
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Table 10 Comparisons of TAFOA with CPLEX on small scaled instances. Instances
UPMSP_RC_3_10_2 UPMSP_RC_3_15_2 UPMSP_RC_3_20_2 UPMSP_RC_3_25_2 UPMSP_RC_3_30_2 UPMSP_RC_4_10_2 UPMSP_RC_4_10_3 UPMSP_RC_4_15_2 UPMSP_RC_4_15_3 UPMSP_RC_4_20_2 UPMSP_RC_4_20_3 UPMSP_RC_4_25_2 UPMSP_RC_4_25_3 UPMSP_RC_5_10_2 UPMSP_RC_5_10_3 UPMSP_RC_5_10_4 UPMSP_RC_5_15_2 UPMSP_RC_5_15_3 UPMSP_RC_5_15_4 UPMSP_RC_5_20_2 UPMSP_RC_5_20_3 UPMSP_RC_5_20_4 UPMSP_RC_5_25_2 UPMSP_RC_5_25_3 UPMSP_RC_5_25_4
CPLEX
TAFOA
Cmax
CPU(s)
Best
Ave
Std
CPU(s)
20 25 36 33 40 18 9 19 19 26 20 32 25 7 7 5 19 11 10 22 13 11 27 17 16
7.94 30.09 68.05 362.31 499.5 195.2 3.18 12.12 247.95 41.53 99.2 271.01 331.38 4.49 4.18 1.47 16.27 6.8 12.15 329.01 50.84 13.53 168.4 72.48 211.1
20 25 36 33 40 18 9 19 19 26 20 32 25 7 7 5 19 11 10 22 13 11 27 17 16
20 25 36 33 40 18 9 19 19 26 20 32 25 7 7 5 19 11 10 22 13 11 27 17 16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.014 0.015 0.017 0.018 0.019 0.018 0.014 0.016 0.016 0.018 0.018 0.02 0.02 0.014 0.014 0.014 0.018 0.017 0.017 0.02 0.019 0.019 0.022 0.021 0.022
From Table 10, it can be seen that the TAFOA obtains the same results as the CPLEX on all instances, while the TAFOA is much faster than CPLEX. Therefore, it can be concluded that the TAFOA is effective and efficient in solving the small-scaled instances.
5.4. Comparisons of TAFOA with CPLEX 5.5. Comparisons of TAFOA with existing algorithms Next, the TAFOA is compared with a popular optimization tool CPLEX. Since CPLEX cannot solve the large-scaled problems, 25 small-scaled instances are randomly generated for the UPMSP_RC. Each instance is named as UPMSP_RC_m_n_R and the processing time matrix is randomly generated from an uniform distribution U(1,10). The TAFOA is run 10 times independently for each instance. The results of the two approaches are listed in Table 10, where ‘Best’, ‘Ave’ and ‘Std’ are the best makespan, average makespan and standard variance obtained by the TAFOA, respectively.
To further show the effectiveness of the TAFOA, the most widely used evolutionary algorithm, genetic algorithm (GA), is implemented and compared. The population of GA is initialized using the heuristic and random strategy. Particularly, one solution is generated using the same heuristic as the TAFOA and the other solutions are randomly initialized. In the GA, for each individual s, another individual in the population is randomly selected as the parent (p) to perform the crossover operator for generating the offspring. The pseudo code of the crossover operator is shown in
36
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39 Table 11 Comparisons of TAFOA with GA on set1. Instances
GA
TAFOA
N
m
R
Best
Ave
std
CPU(s)
Best
Ave
Std
CPU(s)
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10
9 19 15 30 48 5 11 26 23 25 9 19 15 30 48 6 16 15 28 46 9
16.17 65.71 7.37 65.87 126.67 0.00 0.96 46.50 10.66 12.36 0.00 26.40 3.68 21.77 59.33 0.00 2.09 0.00 6.03 42.85 16.17
23.92 84.54 14.98 81.39 153.13 0.00 1.75 60.26 22.59 20.61 0.00 31.35 6.97 26.89 64.58 0.00 2.95 0.00 8.59 49.60 23.92
8.06 3.61 1.34 1.21 1.12 0.00 0.64 2.71 2.42 1.46 0.00 5.23 2.61 1.77 1.24 0.00 2.49 0.00 2.52 2.60 8.06
0.72 1.29 1.10 1.43 1.59 0.01 0.99 3.06 3.20 3.73 0.02 6.60 6.49 7.68 8.56 0.04 7.60 0.10 13.42 15.66 0.72
6.86 33.29 2.46 45.33 95.33 0.00 0.22 19.13 1.13 1.43 0.00 13.05 0.60 7.76 26.96 0.00 0.64 0.00 1.33 25.09 6.86
8.76 34.83 4.04 47.49 100.07 0.00 0.26 21.62 2.69 2.80 0.00 14.08 1.12 8.97 29.24 0.00 0.81 0.00 1.92 26.19 8.76
1.50 0.46 0.29 0.18 0.30 0.00 0.05 0.55 0.31 0.23 0.00 1.07 0.41 0.44 0.49 0.00 0.50 0.00 0.42 0.53 1.50
0.29 0.34 0.28 0.30 0.29 0.01 0.09 0.53 0.36 0.38 0.01 1.22 0.73 1.09 1.08 0.01 1.42 0.01 1.36 1.75 0.29
p value
Significance
0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0
Y Y Y Y Y N Y Y Y Y N Y Y Y Y N Y N Y Y Y
Fig. 7. Pseudo code of the crossover operator.
Fig. 7. The generated offspring will be adopted to replace the individual if makespan can be improved. The mutation operator is to perform OP1 and OP2 successively. The comparisons between TAFOA and GA are listed in Tables 11 and 12, where ‘Best’, ‘Ave’ and ‘Std’ are the best, average of RPD and standard variance of makespan. From Tables 11 and 12, it suggests that the TAFOA has better performance than the implemented GA. In addition, the solutions for the UPMSP obtained by CPLEX (Fanjul-Peyro & Ruiz, 2010) are also employed for reference, which are used as LB(i) in Eq. (10). The comparison with the new RPD values are shown in Tables 13 and 14. It also suggests that the TAFOA has better performance than the implemented GA. The UPMSP is a special case of the UPMSP_RC, i.e. R = m. Next, we apply the TAFOA to the UPMSP and compare it with the iterated greedy local search algorithm (IG) (Fanjul-Peyro & Ruiz, 2010) which is specially designed for the UPMSP. The TAFOA is stopped at the same given elapsed CPU time as the IG. The average RPD obtained by the two algorithms are listed in Table 15. For the UPMSP, only the job-to-machine assignment needs to be considered. It is more challenging for the UPMSP_RC to consider one resource and one usage per job. From Table 13, it can be seen that the IG specially designed for the UPMSP is superior to the TAFOA. This is in line with the “No free lunch theorem for optimization” (Wolpert & Macready, 1997), because the TAFOA is specially designed for the UPMSP_RC but not for the UPMSP. The
Fig. 8. Box-plot of the converging process of the TAFOA.
core contribution of the TAFOA to solve the UPMSP_RC lies in the designs of the operators to adjust the job sequence and the adaptive selection of search operators with the guidance of knowledge. Fortunately, the average RPD values obtained by the TAFOA are relatively small, which means that the quality of the TAFOA in solving the UPMSP is also acceptable. With new operators specific designed for solving the UPMSP as our future work, the TAFOA could be of the potential for better solving the UPMSP. 5.6. Analysis of the TAFOA In order to make the evolutionary process of swarms in the TAFOA visual, the box-plot of the fruit fly swarms on a typical instance used in Section 5.1 is illustrated in Fig. 8. The box-plot is shown at every 5 generations. In addition, the best and average performances of the swarms are also figured out. From Fig. 8, it is obvious that the swarms are flying towards better solutions gradually. The superiority of the TAFOA in solving the UPMSP_RC owes to the following aspects: (1) An effective heuristic is helpful to gen-
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39
37
Table 12 Comparisons of TAFOA with GA on set2. Instances
GA
TAFOA
N
m
R
Best
Ave
std
CPU(s)
Best
Ave
std
CPU(s)
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10
8 14 21 29 28 8 19 28 35 45 8 14 29 29 45 8 12 18 21 27 8
3.57 9.80 8.84 16.74 11.64 1.72 9.41 16.19 21.00 28.57 0.56 0.89 10.09 4.05 15.32 0.26 0.35 0.69 0.71 1.73 3.57
5.17 12.15 14.32 20.39 13.11 2.20 15.61 22.76 25.14 38.14 0.64 0.94 16.20 6.96 26.16 0.28 0.40 0.71 0.72 1.83 5.17
22.06 19.28 21.41 11.11 7.65 8.75 59.01 41.79 24.93 30.93 3.90 1.71 94.72 45.92 81.25 2.09 2.88 0.93 0.58 2.40 22.06
1.07 1.86 2.77 3.73 3.12 1.40 6.00 7.20 7.00 9.00 4.20 7.70 16.10 11.40 16.80 9.50 10.50 15.30 15.80 18.50 1.07
2.64 9.10 5.84 15.15 11.45 1.08 6.49 11.20 7.82 12.99 0.40 0.75 7.26 3.89 10.61 0.18 0.30 0.64 0.66 1.48 2.64
2.87 9.25 6.06 15.31 11.48 1.27 7.08 11.33 8.48 13.24 0.46 0.81 7.76 3.92 11.20 0.20 0.32 0.66 0.67 1.51 2.87
1.91 0.79 0.84 0.39 0.13 3.58 4.21 0.61 3.02 0.77 2.51 0.78 6.54 0.53 4.82 1.99 1.10 0.57 0.38 0.85 1.91
0.42 0.71 0.86 1.15 1.04 0.76 2.57 3.12 3.13 4.33 1.64 3.31 7.05 5.14 8.11 5.30 11.50 11.41 16.20 18.20 0.42
p value
Significance
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
p value
Significance
0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0
Y Y Y Y Y N Y Y Y Y N Y Y Y Y N Y N Y Y
Table 13 Comparisons of TAFOA with GA with new RPD on set1. Instances
GA
TAFOA
N
m
R
Best
Ave
std
CPU(s)
Best
Ave
Std
CPU(s)
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50
9 19 15 30 48 5 11 26 23 25 9 19 15 30 48 6 16 15 28 46
21.48 24.46 36.32 24.51 26.89 94.93 73.02 51.77 67.61 85.22 65.15 30.71 58.54 49.70 72.46 65.90 1.60 80.35 40.36 46.43
29.58 38.61 45.98 36.17 41.71 94.93 74.38 66.02 85.68 98.82 65.15 35.83 63.57 56.00 78.14 65.90 2.45 80.35 43.75 53.35
8.06 3.61 1.34 1.21 1.12 0.00 0.64 2.71 2.42 1.46 0.00 5.23 2.61 1.77 1.24 0.00 2.49 0.00 2.52 2.60
0.72 1.29 1.10 1.43 1.59 0.01 0.99 3.06 3.20 3.73 0.02 6.60 6.49 7.68 8.56 0.04 7.60 0.10 13.42 15.66
11.74 10.11 30.09 9.10 9.35 94.93 71.76 23.42 53.17 67.20 65.15 16.90 53.83 32.48 37.42 65.90 0.15 80.35 34.14 28.22
13.73 11.27 32.09 10.72 12.00 94.93 71.82 25.99 55.54 69.46 65.15 17.97 54.63 33.97 39.89 65.90 0.32 80.35 34.92 29.35
1.50 0.46 0.29 0.18 0.30 0.00 0.05 0.55 0.31 0.23 0.00 1.07 0.41 0.44 0.49 0.00 0.50 0.00 0.42 0.53
0.29 0.34 0.28 0.30 0.29 0.01 0.09 0.53 0.36 0.38 0.01 1.22 0.73 1.09 1.08 0.01 1.42 0.01 1.36 1.75
erate an initial solution with good quality to improve the performance; (2) The problem-specific knowledge is analyzed and used to select the search manners adaptively in the smell-based search so as to well balance the exploration and exploitation abilities of the TAFOA; (3) Effective search operators have the potential to obtain good solutions; (4) The parameters of the TAFOA are well tuned via the two-way ANOVA. 6. Conclusion The main contribution of this paper is to present an MILP model and propose an effective two-stage knowledge based fruit fly optimization algorithm for the UPMSP_RC. At the first stage, a simple effective heuristic is developed to generate the initial solution. At the second stage, fruit fly swarms perform search guided by the problem-oriented knowledge, and problem specific operators are designed. The effect of key parameters of the TAFOA is investigated by using the two-way ANOVA method. In addition, benchmark instances are generated based on the widely used in-
stances for the UPMSP. The comparisons suggest the effectiveness of the developed heuristic and the knowledge-guided search. The comparisons with CPLEX and GA show that the proposed TAFOA is an effective and efficient tool for solving the UPMSP_RC. The future work is to further improve the performance of the TAFOA by adopting some useful knowledge from the UPMSP. It is interesting to study the UPMSP_RC by taking the sequence dependent setup time into consideration. Besides, the widely studied multimode resource constrained project scheduling problem (MRCPSP) is a more general model of the UPMSP_RC, so it is also important to develop an effective TAFOA for solving the MRCPSP.
Acknowledgments This research is partially supported by the Key R&D Project of China (No. 2016YFB0901901), and the National Science Fund for Distinguished Young Scholars of China (No. 61525304), and the National Natural Science Foundation of China (No. 61174189).
38
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39 Table 14 Comparisons of TAFOA with GA with new RPD on set2. Instances
GA
TAFOA
N
m
R
Best
Ave
std
CPU(s)
Best
Ave
std
CPU(s)
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50
8 14 21 29 28 8 19 28 35 45 8 14 29 29 45 8 12 18 21 27
28.00 39.94 27.60 30.98 85.51 26.57 14.29 18.21 36.51 40.89 25.47 43.17 12.40 38.49 27.59 25.25 52.01 58.85 85.55 83.57
29.99 42.93 34.02 35.07 87.95 27.16 20.76 24.88 41.18 51.38 25.57 43.26 18.64 42.37 39.59 25.28 52.09 58.89 85.57 83.74
22.06 19.28 21.41 11.11 7.65 8.75 59.01 41.79 24.93 30.93 3.90 1.71 94.72 45.92 81.25 2.09 2.88 0.93 0.58 2.40
1.07 1.86 2.77 3.73 3.12 1.40 6.00 7.20 7.00 9.00 4.20 7.70 16.10 11.40 16.80 9.50 10.50 15.30 15.80 18.50
26.85 39.05 24.09 29.19 85.19 25.77 11.24 13.13 21.64 23.82 25.27 43.02 9.51 38.27 22.38 25.15 51.93 58.78 85.46 83.12
27.14 39.23 24.34 29.38 85.24 26.01 11.86 13.26 22.39 24.08 25.34 43.06 10.02 38.32 23.03 25.18 51.96 58.80 85.48 83.18
1.21 0.39 0.54 0.39 0.13 1.58 1.21 0.61 1.02 0.77 0.51 0.01 0.54 0.13 1.02 0.09 0.04 0.03 0.03 0.11
0.42 0.71 0.86 1.15 1.04 0.76 2.57 3.12 3.13 4.33 1.64 3.31 7.05 5.14 8.11 5.30 11.50 11.41 16.20 18.20
Table 15 Comparisons of TAFOA with IG on set1, set2. Instance
Set1
Set2
M
n
IG
TAFOA
IG
TAFOA
100 100 100 100 100 200 200 200 200 200 500 500 500 500 500 10 0 0 10 0 0 10 0 0 10 0 0 10 0 0
10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50
0.17 0.26 0.37 0.31 0.73 0.98 1.20 0.83 0.00 2.02 1.83 1.87 0.91 2.16 1.46 2.45 0.00 3.69 2.78 2.70
0.54 1.03 0.88 0.49 1.28 1.33 1.79 1.21 0.25 2.88 2.31 2.14 1.44 2.47 1.58 2.87 0.46 4.11 3.65 3.34
0.26 0.31 0.21 0.11 0.30 0.49 0.69 0.40 -0.10 -0.30 0.55 0.46 0.07 0.42 0.28 0.58 0.11 0.52 0.51 0.47
0.77 0.99 0.76 0.35 1.29 0.87 0.77 0.61 0.20 0.12 0.81 0.77 0.22 0.86 0.58 0.98 0.33 1.03 0.99 0.87
References Bitar, A., Dauzère-Pérès, S., Yugma, C., & Roussel, R. (2014). A memetic algorithm to solve an unrelated parallel machine scheduling problem with auxiliary resources in semiconductor manufacturing. Journal of Scheduling, 1–10. doi:10. 1007/s10951- 014- 0397- 6. Blazewicz, J., Lenstra, J. K., & Rinnooy, A. H. G. (1983). Scheduling subject to resource constraints: Classification and complexity. Discrete Applied Mathematics, 5, 11–24. Caniyilmaz, E., Benli, B., & Ilkay, M. S. (2015). An artificial bee colony algorithm approach for unrelated parallel machine scheduling with processing set restrictions, job sequence-dependent setup times, and due date. International Journal of Advanced Manufacturing Technology, 77(9-12), 2105–2115. Chen, J. F., & Wu, T. H. (2006). Total tardiness minimization on unrelated parallel machine scheduling with auxiliary equipment constraints. Omega, 34(1), 81–89. Daniels, R. L., Hua, S. Y., & Webster, S. (1999). Heuristics for parallel-machine flexible resource scheduling problems with unspecified job assignment. Computers and Operations Research, 26, 143–155.
p value
Significance
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Edis, E. B., & Oguz, C. (2012). Parallel machine scheduling with flexible resources. Computers & Industrial Engineering, 63(2), 433–447. Edis, E. B., Oguz, C., & Ozkarahan, I. (2013). Parallel machine scheduling with additional resources: Notation, classification, models and solution methods. European Journal of Operational Research, 230(3), 449–463. Edis, E. B., & Ozkarahan, I. (2011). A combined integer/constraint programming approach to a resource-constrained parallel machine scheduling problem with machine eligibility restrictions. Engineering Optimization, 43(2), 135–157. Edis, E. B., & Ozkarahan, I. (2012). Solution approaches for a real-life resource-constrained parallel machine scheduling problem. International Journal of Advanced Manufacturing Technology, 58(9-12), 1141–1153. Fanjul-Peyro, L., & Ruiz, R. (2010). Iterated greedy local search methods for unrelated parallel machine scheduling. European Journal of Operational Research, 207(1), 55–69. Hsieh, P. H., Yang, S. J., & Yang, D. L. (2015). Decision support for unrelated parallel machine scheduling with discrete controllable processing times. Applied Soft Computing, 30, 475–483. Joo, C. M., & Kim, B. S. (2015). Hybrid genetic algorithms with dispatching rules for unrelated parallel machine scheduling with setup time and production availability. Computers & Industrial Engineering, 85, 102–109. Li, H. Z., Guo, S., Li, C. J., & Sun, J. Q. (2013). A hybrid annual power load forecasting model based on generalized regression neural network with fruit fly optimization algorithm. Knowledge-Based Systems, 37, 378–387. Li, H. Z., Guo, S., Zhao, H., Su, C., & Wang, B. (2012). Annual electric load forecasting by a least squares support vector machine with a fruit fly optimization algorithm. Energies, 5(11), 4430–4445. Li, J. Q., Pan, Q. K., Mao, K., & Suganthan, P. N. (2014). Solving the steelmaking casting problem using an effective fruit fly optimisation algorithm. Knowledge-Based Systems, 72, 28–36. Lin, S. M. (2013). Analysis of service satisfaction in web auction logistics service using a combination of fruit fly optimization algorithm and general regression neural network. Neural Computing and Applications, 22(3-4), 783–791. Lin, Y. K., & Hsieh, F. Y. (2014). Unrelated parallel machine scheduling with setup times and ready times. International Journal of Production Research, 52(4), 1200–1214. Pan, W. T. (2012). A new fruit fly optimization algorithm: Taking the financial distress model as an example. Knowledge-Based Systems, 26, 69–74. Pinedo, M. L. (2012). Scheduling: theory, algorithms, and systems. Springer Science & Business Media. Ruiz-Torres, A. J., Lopez, F. J., & Ho, J. C. (2007). Scheduling uniform parallel machines subject to a secondary resource to minimize the number of tardy jobs. European Journal of Operational Research, 179(2), 302–315. Sels, V., Coelho, J., & Dias, A. M. (2015). Hybrid tabu search and a truncated branch-and-bound for the unrelated parallel machine scheduling problem. Computers & Operations Research, 53, 107–117. Sheng, W., & Bao, Y. (2013). Fruit fly optimization algorithm based fractional order fuzzy-PID controller for electronic throttle. Nonlinear Dynamics, 73(1-2), 611–619. Strohhecker, J., Thun, J. H., & Hamann, M. (2016). Loading and sequencing heuristics for job scheduling on two unrelated parallel machines with long, sequence-dependent set-up times. International Journal of Production Research, 1–21.
X.-l. Zheng, L. Wang / Expert Systems With Applications 65 (2016) 28–39 Su, L. H., & Lien, C. Y. (2009). Scheduling parallel machines with resource-dependent processing times. International Journal of Production Economics, 117(2), 256–266. Ventura, J. A., & Kim, D. (2003). Parallel machine scheduling with earliness–tardiness penalties and additional resource constraints. Computers & Operations Research, 30(13), 1945–1958. Wang, L., Shi, Y., & Liu, S. (2015). An improved fruit fly optimization algorithm and its application to joint replenishment problems. Expert Systems with Applications, 42(9), 4310–4323.
39
Wang, L., Zheng, X. L., & Wang, S. Y. (2013). A novel binary fruit fly optimization algorithm for solving the multidimensional knapsack problem. Knowledge-Based Systems, 48, 17–23. Wolpert, D. H., & Macready, W. G. (1997). No free lunch theorems for optimizaion. IEEE Transactions on Evolutionary Computation, 1(1), 67–82. Zheng, X. L., Wang, L., & Wang, S. Y. (2014). A novel fruit fly optimization algorithm for the semiconductor final testing scheduling problem. Knowledge-Based Systems, 57, 95–103.