Abstract
A new artificial bee colony algorithm called modified artificial bee colony algorithm (MABC) is presented to solve the multi-objective fuzzy flexible job-shop scheduling problem (MFFJSP) in this paper. The objectives of MFFJSP are to minimize the maximum fuzzy completion time (fuzzy makespan), maximize the weighted agreement index and minimize the maximum fuzzy machine workload. The three-point satisfaction-degree model is adopted to calculate the agreement index and this model can indicate the degree of satisfaction between the due date and the processing time. An effective local search operator based on variable neighborhood search (VNS) and crossover operator are embedded in this algorithm for obtaining good searching performance. In order to make the novel algorithm valid, we texted it, five benchmark instances and a practical case for the sake of effectiveness. Then, the performance of the proposed MABC has been compared with other existing algorithms to prove the superiority of this algorithm. In the end, the Taguchi method is used to investigate the impact of three key parameters from the MABC.
Keywords
Introduction
Recently, more and more researchers devoted to themselves to analyzing Job-shop scheduling problem (JSP). In JSP, n different jobs can be processed on m diverse machines and each job consists of several operations. The processing of each job has been pre-defined, all the operations have a fixed processing time and processing machine. In general, flexible job shop scheduling problem (FJSP) is an expansion of the JSP [1]. The difference of FJSP is that this problem allows operations for each job to be processed on a series of capable machines. And FJSP includes two sub-problems: (1) assign each operation of different jobs to available machines called routing sub-problem; (2) determine all the operations of each job called scheduling sub-problem. For the sake of optimizing the objectives of the manufacturing system, two sub-problems are applied for obtaining the feasible solution of FJSP [2]. Bruker and Schlie [3] first proposed a polynomial algorithm to analyze the FJSP. Along with the deepening study analysis, many intelligent algorithms such as genetic algorithms (GA) [4], particle swarm optimization (PSO) [5], tabu search (TS) [6] and artificial bee colony [7] have been applied to solve the FJSP.
Because the operation’s processing time is usually uncertain in the real manufacturing situation, the FJSP having fuzzy processing time (FFJSP) has attracted researchers’ attention greatly during the past few years. Lei [8, 9] proposed an efficient decomposition-integration genetic algorithm (DIGA) to solve FFJSP. An effective estimation of distribution algorithm (EDA) presented by Wang et al. [10], in this paper, a left-shift scheme was adopted to enhance the schedule when machines have idle time. Huang et al. [11] addressed the FFJSP by using an improved version of discrete particle swarm optimization (IDPSO). In the IDPSO, some useful discrete operators were embedded for updating particle’s position and obtaining new particles. To minimize fuzzy makespan, Lin [12] developed a hybrid biogeography-based optimization (HBBO), which introduced insertion-based local search heuristic to improve the mutation operator. In this algorithm, a new solution was generated by adopting the path relinking algorithm. Liu et al. [13] considered dynamic FJSP with fuzzy processing time (DfFJSP) for the sake of minimizing the fuzzy makespan. A fast estimation of distribution algorithm (fEDA) is presented to solve DfFJSP.
Recently, FFJSP has been developed many multi-objective scheduling problems to adapt to the manufacturing flexibility, lean production and so on. About multi-objective FFJSP (MFFJSP), Wang et al. [14, 15] proposed two multi-objective genetic algorithms (MOGAs) depended on immune and entropy principle to tackle MFFJSP. The objectives of this paper are to minimize the maximal completion time, maximize the average agreement index and maximize the minimal agreement index and they are all conflict with each typically. Zheng et al. [16] designed the multi-objective swarm-based neighborhood search (MOSNS) to settle the MFFJSP. According to MOSNS, the ordered operation-based doublet string and three-dimensional array were employed to represent the feasible solution. Wang et al. [17] presented an effective memetic algorithm (MA) to solve MFFJSP. In this paper, a four machines assignment method and four operations sequencing were introduced to improve the algorithm performance.
The Artificial bee colony (ABC) algorithm was presented by Karaboga [18–20] to analyze multidimensional and multi-modal optimization problems, which describes the behavior of honeybee swarm intelligence. ABC algorithm is developed later than other meta-heuristic algorithms and has the capability of parallel execution. Moreover, ABC is a generalized neighborhood search algorithm which has local search ability and global search capability. Since the advantages of ABC to settle continuous optimization problems, some improved ABC have been developed to apply to the FFJSP. Wang et al. [21] proposed the hybrid artificial bee colony algorithm (HABC), which contained local search based on the variable neighborhood search (VNS) and left-shift decoding method. To minimize the maximum machine workload and the makespan, Gao et al. [22] proposed an artificial bee colony (IABC) algorithm. In IABC, a concise and effective heuristic method was developed to initialize the population.
Existing ABC algorithms for FFJSP do not solve the objective of weighted agreement index, but it is an important factor for scheduling problem. Moreover, it is necessary to improve the efficiency of ABC algorithm and find a better method of discretization. Building on the successful application of ABC for solving FFJSP, we propose a modified artificial bee colony (MABC) algorithm to settle this problem. The objectives being optimized are minimizing the maximum fuzzy makespan, maximizing the weighted agreement index and minimizing the maximum fuzzy machine workload. For the sake of describing agreement index in detail and reduce the computing complexity, we introduce the three-point satisfaction-degree model to calculate the agreement index. The basic ABC is easy to trap in local optimal solution. In order to improve searching capability of the MABC, a local search operator based on VNS and crossover operator are embedded in this algorithm. Moreover, we propose some efficient initializing methods about fuzzy processing time. According to some numerical testing results and comparisons, we can fully demonstrate the effectiveness and efficiency of the presented MABC. The effect of parameter setting was investigated based on the DOE.
This paper is organized as below. In Section 2, the model description for the MFFJSP is proposed. And in Section 3, the basic ABC algorithm is described. The MABC to solve the MFFJSP is proposed in Section 4. In Section 5, we introduce and analyze a practical MFFJSP and several computational experiments on five benchmark instances and the parameter sensitivity analysis is also investigated. In the end, the conclusions are given in the final section.
Multi-objective fuzzy flexible job-shop scheduling problem
Problem description
The Fuzzy Flexible Job-shop Scheduling Problem (FFJSP) is described as follows. It involves n different jobs and m different machines. M indicates a set of machines that can process operations. One job consists of n
i
operations and one operation Oi,j (i = 1, 2, …, n ; j = 1, 2, …, n
i
) is to be processed one machine M
k
(M
k
∈ Mi,j), selected from the machines set Mi,j (Mi,j ⊆ M). The processing time of operation Oi,j on machine M
k
is denoted by triangular fuzzy number (TFN)
Problem assumptions
The problem based on assumptions as follows: One operation is to be processed on one machine; Operations shall not interrupted once started; Transfer time between machines including the processing time, and the buffer shall be infinite; Machines and jobs to be used are independent from each other and available at initial time.
Notations
i: the index of jobs, i = 1, 2, …, n;
j: the index of operation sequence, j = 1, 2, …, n i ;
m: the number of machines;
k: the index of machines, k = 1, 2, …, m;
n: the number of jobs;
n i : the number of operation of job i;
Oi,j: the jth operation of job i;
Mi,j: the set of available machines for the operation Oi,j;
Wmax: the maximum fuzzy machine workload;
w
i
: the weight for job i, w
i
∈ (0, 1),
s ie : the punished pessimistic agreement index of job i due to earliness;
s il : the punished pessimistic agreement index of job i due to tardiness;
s ir : the agreement index of job i on relative position between due date and completion time;
μ d i (x): the membership function for due date d i of job i;
μ C i,n i (x): the membership function for the fuzzy completion time of the operation Ci,n i
c ie , c il : 1 - μ C i,n i (x) is the abscissa of the intersection with [d i , + ∞) And (- ∞ , d i ], respectively;
Cmax: the maximum fuzzy completion time.
Objection functions
2.1.3.1. Minimizing the maximum fuzzy completion time The maximum fuzzy completion time shall be regarded for all the jobs upon all operations being completed. It can be expressed as follows.
2.1.3.2. Minimizing the maximum fuzzy machine workload The maximum fuzzy machine workload shall be regarded as the workload for all the machines. It can be expressed.
2.1.3.3. Maximizing the weighted agreement index In recent years, the agreement index has been determined through calculating the value on intersection between fuzzy due date and fuzzy completion time [23, 24]. However, this method can hardly apply to dealing with the problem. To overcome this problem, we adopt a three-point satisfaction-degree model to determine the agreement index [25]. In this research, we denote the fuzzy completion time of the operation Oi,n
i
As

Three-point satisfaction-degree model on trapezoid due-date.
The pessimistic satisfaction-degree is defined by
Where λ (μ (x)) = 1 - μ (x) represents the reversed sequence function for μ (x) (μ (x) ∈ [0, 1]). The fuzzy pessimistic criterion is focused on the infimum of max(λ (μ (x)) , μ
d
i
(x)) i.e. the lowest point in the high reliability area [26]. The pessimistic satisfaction-degree equals to the value on the intersection of λ (μ (x)) and μ
d
i
(x). Figure 1 depicts the relations between fuzzy due date and fuzzy completion time in a schedule. It can be seen that s
ie
is determined by the value of the intersection between the left part of 1 - μ
C
i,n
i
(x) and μ[d
i
,+∞) (x). This value denotes the possibility of the worst schedule in which the fuzzy completion is earlier than the fuzzy due date. Besides, s
ie
is determined by the value on the intersection between the right part of 1 - μ
C
i,n
i
(x) and μ(-∞,d
i
] (x). This value denotes the possibility of the worst schedule in which the fuzzy completion is later than the fuzzy due date.
From the above equations and figure, the three-point satisfaction-degree model is built the points c
ie
, c
il
and
Pareto domination: Supposing that X1 and X2 are any two of feasible solutions and each has r objective functions. If they can satisfy Equations 11 and 12, than we can say X1 dominate X2.
Pareto optimal solution: If X1 dominating X2 indicates that X1 is better than X2 for all objectives. The solution not being dominated by any others shall be considered as Pareto optimal solution.
Pareto archive set: The Pareto archive set is used to save all the Pareto optimal solutions. It can be continuously updated with the iteration of the proposed algorithm, kicking out the solutions being dominated Fig. 2. illustrates the updating procedures.

The Pareto archive set updating procedure.
It is necessary to make some important operation on the triangular fuzzy number denoting the processing time. In this paper, these important operations include additional operation, max operation and rank operation. The additional operation is made to calculate the fuzzy completion time; max operation is to obtain fuzzy starting time of operation and rand operation is to rank the fuzzy completion time of all jobs.
Supposing A = (a1, a2, a3), B = (b1, b2, b3), addition operation can be expressed as below.
Max operation of two TFNs is made by the following formula [8, 9]:
if A > B, then A ∨ B = A; else A ∨ B = B.
Rank operation is made to compare A = (a1, a2, a3) and B = (b1, b2, b3), by three criteria shown as below: [27] If (a1 + 2a2 + a3)/4 > (<) (b1 + 2b2 + b3)/4, then A > (<) B; If (a1 + 2a2 + a3)/4 = (b1 + 2b2 + b3)/4, then A and B are comparable. If a2 > (<) b2, then A > (<) B; If a2 = b2, then a3 - a1 and b3 - b1 are comparable. If a3 - a1 > (<) b3 - b1, then A > (<) B;
Artificial bee colony (ABC) algorithm is a population-based meta-heuristic inspired by the foraging behavior of a bee colony. It involves three kinds of bees, namely, employed bee, onlooker bee and scout bee. Employed bee exploits a food source; onlooker bee stays in the hive and decides on the food source to be chosen; Scout bee conducts a random search for a new food source. Each solution under consideration is analogous to a food source, and the fitness of the solution corresponds to the nectar abundance of the associated food source. The basic ABC algorithm has main steps as shown below.
Control parameters
The basic ABC algorithm has three control parameters, the termination criterion, the maximum number of improvement trials (Limit) and the number of food sources (SN).
Initial population
Initial population can be generated in a random fashion from the basic ABC algorithm. Using X
i
= {xi1, xi2, …, x
in
} to denote the ith food source, where n indicates the number of independent variables of optimization problem. we can calculate the initial population in formula as below:
Employed bee performs local search operator of a previous food source to generate a new one. It can be calculated as follows:
Onlooker bee aims to choose a food source by the probability value associated with feasible solution, p
i
is calculated by this expression:
If a food source cannot be optimized through Limit of local searching operations, it shall be abandoned. At that time, employed bee and onlooker bee will turn into the scout bee. And the new scout bee will start to search for other food source randomly:
The best solution in each iteration shall be recorded to update the global optimal solution which will be obtained when the algorithm is completed.
The basic ABC algorithm was originally proposed to optimize the continuous function. It is not applicable to discrete combinatorial optimization problem. In this paper, MFFJSP is solved by the MABC algorithm as detailed below.
Encoding and decoding
In the encoding scheme, MFFJSP involves machine assignment vector and operation sequence vector. The operation sequence vector adopts operation-based representation method that can meet the constraint and guarantee a feasible solution. The machine assignment vector corresponds to the operation sequence vector. Besides, the dimensions of those two vector shall be equal to the total number of operations [28].
We explain this method by giving an example. Table 1 and Fig. 3 respectively show the fuzzy processing time of each operation and a solution represented by two vectors. In the decoding scheme, each number of the operation sequence vector can be decoded from left to right to denote the operation of each job, with jth refers to the jth operation of the job. For example, the number 2 at the forefront indicates that the first operation of job2 is processed on machine 1, the number 3 in seventh place shows that the third operation of job3 is processed on machine 3. With this decoding scheme, the fuzzy Gantt chart of this solution is obtained, as illustrated in Fig. 4. In the chart, the TFN under the line indicates the fuzzy start time of each operation, and the TFN above the line indicates the completion time.

Solution representation.
Fuzzy processing time
The VNS algorithm is adopted primarily is to expand the searching space and to improve the quality of solutions by changing the neighborhood structure [29]. The changing-neighborhood structure could effectively prevent the proposed algorithm from stopping at local optimum and help finally achieve the global optimum. In this research, we employ three effective neighborhood structures to perform the local search operator. The VNS procedure is given in Fig. 5.

Fuzzy Gantt chart.

The VNS procedure.
Neighborhood structure N1 introduces the insertion method, including forward and backward insertion [30] into the operation sequence vector to generate a neighborhood solution. A selected operation can be randomly inserted into a feasible position within the maximum moving distance.
D denotes the maximum moving distance, L denotes the total of all operations. pi,j indicates the initial position of operation Oi,j;

Forward and backward insertion.
The adoption of neighborhood structure N1 has brought about a new neighborhood solution for the operation sequence vector. A least-completion-time machine approach is introduced to generate the corresponding machine assignment vector. This approach can determine the machine that allows the least fuzzy completion time for current operation O2,3 from the machine set Mi,j. For example, operation O2,3 can be processed on machine M1, M2 and M3, and the fuzzy completion time on those three machine are respectively TFNs (8, 14, 21), (8, 14, 20) and (9, 15, 22), thus the lease-completion-time machine for operation O2,3 is machine M2.
Neighborhood structure N2 is used to randomly select an operation and changes the processing machine of the selected operation [31]. This method is described as follows. Firstly, an operation Oi,j is selected from the operation sequence vector. Secondly, the machine M k is determined for processing Oi,j. Thirdly, a set of machine Mi,j that can process Oi,j is determined. Finally, selecting a random machine from Mi,j (expect M k ) to process Oi,j. Figure 7 shows an example of neighborhood structure N2.

Neighborhood structure N2.
Neighborhood structure N3 adopts the random search-based approach [32]. The whole neighborhood solution is depicted in Fig. 8. This approach includes two main steps. The first step is to select three positions in the operation sequence vector, then generate all neighborhood solutions. And the second step is to select the optimal neighborhood solution as a new current solution.

Neighborhood structure N3.
The adoption of neighborhood structure N3 has brought about a new neighborhood solution for the operation sequence vector. A least-workload machine approach is introduced to generate the corresponding machine assignment vector. This approach can determine the machine that allows the least fuzzy machine workload for current operation O2,3 from machine set Mi,j. For example, operation O2,3 can be processed on machine M1, M2 and M3 as in Table 1, and the fuzzy machine workload of current operation O2,3 on those three machines is respectively TFNs (5, 20, 18), (6, 10, 17) and (9, 15, 22), thus the least-workload machine to process operation O2,3 is machine M2.
In an ordinary way, the crossover operator is used to select two parent solutions based on crossover probability p c to generate two children solutions. The fitness value of those two children solutions will be calculated and serve as the basis to determine whether to replace those two parent solutions. This mechanism is obviously an important way to maintain solution diversity. Two crossover operators mentioned in this paper are improved precedence operation crossover (IPOX) and multiple point crossover (MPX), both performed for the machine assignment vector and operation sequence vector. Figure 9 illustrates those two crossover operators.

Crossover operator.
The MABC algorithm embedded VNS algorithm in local search operator to acquire superior neighborhood food source. If the current solution can be dominated by the new solution, it will be substituted by the latter; otherwise, it will be retained. If the new solution and the current solution are incomparable, we shall compare their evaluation values to make the decision. The evaluating function can be expressed as below:

The optimum selecting procedure.
Onlooker bee detects the nectar amount of all food sources and selects the abundant food source to perform local search operator. The basic ABC algorithm is to compare the fitness value to choose food source. But this method cannot meet some demands of MFFJSP. Hence, the proposed MABC algorithm adopts a tournament selection to screen the superior solutions. The tournament selection mechanism is to select three solutions from the population and let the onlooker bee determine which solution is better. If the selected solution meets the requirement for crossover operator, it will perform crossover operator; otherwise, it will perform local search operator. After comparing the new solution with the old one, we will preserve the better.
Scout bee phase
If a food source cannot be optimized after performing a certain trial limit of local search operator, it shall be abandoned, and the scout bee will search randomly for some new food sources.
Population initialization
In our proposed MABC algorithm, population initialization plays a significant role in increasing the convergence rate of the algorithm and improving the quality of solutions.
In order to generate initial operation sequences, we adopt the rule of generating the sequence of the operations randomly. When it’s completed, we adopt the least-completion-time machine and least-workload machine rules as well as the random rule to initiate machine assignments
Procedure of MABC
The following indicates the steps of the presented MABC:
Computational results
For the sake of validating the performance of the presented algorithm in this paper, we conduct some numerical simulations based on the five instances [8, 9] and a practical MFFJSP. The algorithm was implemented in MATLAB R2010b, running on 3.2-GHz PC with 3-GB RAM. The parameters of the proposed MABC are summarized as follows: the population size is 200, the crossover probability P c is 0.8, the value of Limit is 20 and the maximal generation number SN is 300.
Comparative results
Five instances [8, 9] are used for comparing the proposed algorithm with six existing algorithms including IDPSO [11], IABC [22], EDA [10], HABC [21], CGA [9] and DIGA [8]. The results of average, best and worst values in 30 runs are shown in Table 2 and the results of the compared algorithms were directly from paper [11, 22].
Computational results of the five instances
Computational results of the five instances
It can be seen from Table 2 that the proposed MABC algorithm performs better than six others algorithms. For five instances, MABC algorithm can obtain better average results than those of the six compared algorithms. Moreover, MABC can find minimum worst values for five instances. Only the best value of the instance 5 cannot obtain the optimal value, but the optimal value which is obtained by the MABC nearly approach to (36, 54, 74). The results of statistical analysis of five instances are listed in Table 3. Assume that Cmax is denoted by

Fuzzy gantt chart of Instance 1 which best value is MABA(21,28,37)

Fuzzy gantt chart of Instance 3 which best value is MABA(29,44,58).

Fuzzy gantt chart of Instance 5 which best value is MABA(35,55,74).
Results of statistical analysis of the five instances
Due to the similarity between the hull curved block assembly welding system and the MFFJSP, a practical case which derived from a recently built shipyard is solved to validate the feasibility of proposed algorithm. This case consists of six blocks (jobs), six working groups (machines) and each block needs to complete eight operations. The case is simulated 10 times independently by P-DABC [33] and the proposed MABC under the same experimental environment. The computational results and Pareto solutions set of a practical case are provided in the Table 4. From Table 4, it is can be shown that the presented MABC is superior to P-DABC on the average values of three objective values including the maximum fuzzy completion time Cmax, maximum fuzzy machine workload Wmax, weighted agreement index AI.
Computational results of a practical case
Computational results of a practical case
For the sake of verifying the performance of the presented algorithm on quality and spread of Pareto solution, the distributions of Pareto solution obtained by P-DABC and MABC are presented in Fig. 14. Compared to the P-DABC, the MABC can obtain a better spread of Pareto solutions, generate higher-quality Pareto solutions and find more Pareto solution.

Distributions of Pareto solution found for the practical case.
A representative solution is selected from the Pareto solution for further explaining the MFFJSP. Three objective values of this selected solution are (173.5, 193.5, 218.5), (64, 71, 80) and 2.25155, respectively. For this selected solution, the relationship between the makespan and due date for each job is shown in Fig. 15 and agreement index of each job is shown in Table 5. Figure 16 shows the fuzzy Gantt chart of the selected solution. From Table 5, it is observed that the agreement index obtained by the MABC is very sufficient and the validity of three-point satisfaction-degree model has been demonstrated. According to above description, it can be concluded that the presented MABC is more effective than P-DABC to solve the MFFJSP.

The relationship between the makespan and due date for each job on the selected solution.

Fuzzy Gantt chart of the selected solution.
The agreement index of each job on the selected solution
For the proposed MABC, the three key parameters including the population size SN, the crossover probability P c , the value of Limit, have great effects on its test results. Thus, we designed an experimental test of the MABC parameters which consist of three factors to determine the best combination of values of the parameters. In the test, the parameters setting for them each in four levels can be presented in Table 6. To decrease the number of experimental test, the Taguchi’s orthogonal array of L16(43) (see Table 7) is selected as the best test design to perform the experiments.
The factor level of parameters
The factor level of parameters
Orthogonal array and the results of experiment
According to the orthogonal array, we run the MABC for solving the practical MFFJSP with each parameter combination 10 times independently. For two triangular fuzzy number

The factor level trend regarding AV.
Although Fig. 17 can depict the factor level trend regarding three parameters, but it cannot show the influence of these parameters for MABC. In our paper, Equations (18–21) are employed to calculate the evaluation values. The evaluation values and law of each parameter are presented in Table 8.
Table8
Evaluation values and law of each parameter
In Table 8, “Delta” represents the maximum evaluation values minus the minimum evaluation values for each parameter and “Rank” represents the rank of “Delta.” “Rank” reflects the importance of each parameter. In Table 8, we can see that the population size SN is most important and the value of Limit and crossover probability P c ranks second and third, respectively. As the results, the parameter combination with SN = 200, P c = 0.5 and Limit = 15 can be determined as the best parameter combination.
In this paper, a modified artificial bee colony is proposed to settle the multi-objective FFJSP. In order to reduce the complexity in calculating agreement index, the three-point satisfaction-degree model is introduced in MABC. A novel variable neighborhood search which consists of three effective neighborhood structures is designed for the MABC to implement the local search operator. The crossover operator is also performed on the machine assignment vector and the operation sequence vector successively. Due to the quality of initial population having effect on the convergence of the proposed MABC, some initial methods are applied for obtaining a high-performance initial population. Numbers of benchmark problems are solved to prove the superior efficiency of the proposed algorithm. Finally, the parameter sensitivity analysis of three key parameters is investigated based on the Taguchi method of DOE.
Footnotes
Acknowledgments
This work is supported by the National Natural Science Foundation of China (No. 51275104) and supported in part by the Specialized Research Fund for the Doctoral Program of Higher Education (No. 20132304120021). The authors would like to thank Prof. Qiu Chang-hua of Harbin Engineering University for his discussion, during the course of this study.
