 Research
 Open Access
 Published:
Multiobjective flexible jobshop scheduling problem using modified discrete particle swarm optimization
SpringerPlus volume 5, Article number: 1432 (2016)
Abstract
Taking resource allocation into account, flexible job shop problem (FJSP) is a class of complex scheduling problem in manufacturing system. In order to utilize the machine resources rationally, multiobjective particle swarm optimization (MOPSO) integrating with variable neighborhood search is introduced to address FJSP efficiently. Firstly, the assignment rules (AL) and dispatching rules (DR) are provided to initialize the population. And then special discrete operators are designed to produce new individuals and earliest completion machine (ECM) is adopted in the disturbance operator to escape the optima. Secondly, personalbest archives (cognitive memories) and globalbest archive (social memory), which are updated by the predefined nondominated archive update strategy, are simultaneously designed to preserve nondominated individuals and select personalbest positions and the globalbest position. Finally, three neighborhoods are provided to search the neighborhoods of globalbest archive for enhancing local search ability. The proposed algorithm is evaluated by using Kacem instances and Brdata instances, and a comparison with other approaches shows the effectiveness of the proposed algorithm for FJSP.
Background
Production planning and scheduling problems arise in many production manufacturing systems. Scheduling problems have been investigated for several decades and various dispatching rules are proposed to optimize scheduling problems. Up to present, many different principles are presented to select and discover effective ways from a number of candidate dispatching rules (Geiger et al. 2006; Tay and Ho 2008; Pickardt et al. 2010; MouelhiChibani and Pierreval 2010; Heger et al. 2016). Geiger et al. (2006) employed a fast learning model with automatically selecting dispatching rules for single machine environments. Tay and Ho (2008) used genetic programming to combine and construct dispatching rules for multiobjective flexible jobshop problems. Pickardt et al. (2010) developed a coupling genetic programming to evolve and produce dispatching rules under varied conditions. Heger et al. (2016) proposed a way to dynamically determine parameter settings of dispatching rules on the previous state. MouelhiChibani and Pierreval (2010) adopted a trained neural networks (NN) to dynamically determine the dispatching rules in realtime flexible manufacturing systems. Some other techniques or approaches, such as shifting bottleneck (Wenqi and Aihua 2004), branch and bound (Della Croce et al. 2002; Artigues and Feillet 2008) were also applied to solve simple scheduling problems in the early researches.
FJSP is more close to the realistic situation and frequently used in flexible manufacturing systems. During the past decades, many researchers have a fastgrowing interest on FJSP and amount of written works have been published. However, no satisfactory algorithm presently is available for solving the problem to optimality in expected time. In recent years, most researchers have recognized that probabilistic search method is an attractive alternative to solve this constrained optimization problem. Genetic Algorithm (GA) had emerged as one of the most important method to solve discrete optimization problems and many variants of GA were developed to solve FJSP in the published literatures (Cwiek and Nalepa 2014; Li and Chen 2014; Moghadam et al. 2014; Wang et al. 2014; Zhang et al. 2011). A fast GA with a combination of active schedule constructive crossover (ASCX) and generalized order crossover (GOX) was proposed to solve FJSP by Cwiek and Nalepa (2014). In addition, highlow fit selection scheme was developed to enhance the search ability. Li and Chen (2014) presented an improved GA with two level coding, working sequence coding and machine distribution coding. Crossover and mutation operators were welldesigned and neighborhood structure was defined to minimize makespan for FJSP. Aiming at makespan of FJSP, Moghadam et al. (2014) presented GA to create active schedule, which used an Operation orderbased Global Selection (OGS) to generate highquality initial population and introduced crossover operator with precedence preserving orderbased crossover (POX) and uniform crossover. Then intelligent mutation operator was introduced to GA. To minimize makespan criterion of FJSP, a hybrid GA with modified coding scheme was presented by Wang et al. (2014). In the hybrid GA, a novel machine assignment strategy was proposed in the initial phase and an improvement strategy was performed when current best solution had not been improved. To minimize the makespan, welldesigned representation, global selection and local selection for highquality initial population, crossover and mutation operators in GA were all developed (Zhang et al. 2011).
Tabu Search (TS) and Particle Swarm Optimization (PSO) had also been investigated to optimize the FJSP (Shao et al. 2013; Jia and Hu 2014; Kamble et al. 2015). Pathrelinking TS with neighborhood search and backjump tracking was presented by Jia and Hu (2014). In details, pathrelinking technique to generate improved solutions and dimensionoriented intensification search to find better solutions around extreme solutions were introduced. Kamble et al. (2015) presented a hybrid multiobjective PSO and simulated annealing (SA) algorithm to solve fiveobjective FJSP. Rescheduling strategy was applied to overcome the machine breakdown and then Pareto front and crowding distance were introduced to handle fiveobjective problems. Identifying an approximation of the Pareto front of FJSP, Shao et al. (2013) developed a hybrid discrete PSO and SA and a novel displacement strategy was embedded to the proposed algorithm. Also, Pareto ranking and crowding distance method were adopted to deal with multiobjective problems.
Other optimization algorithms, such as firefly algorithm (FA) (Karthikeyan et al. 2014), harmony search algorithm (HS) (Yuan et al. 2013; Gao et al. 2014), biogeographybased optimization (BBO) (Rahmati and Zandieh 2012), differential evolution algorithm (DE) (Balaraju et al. 2014), evolutionary algorithm (EA) (Chiang and Lin 2013) and immune algorithm (IA) (Xue et al. 2014) have been used to solve FJSP in recent years. By defining the presentation of attractiveness, the distance and movement of FA, a hybrid discrete FA incorporating local search with neighborhood structures was presented by Karthikeyan et al. (2014) to minimize the makespan, the critical workload and the total workload. In the Yuan’s work (2013), a discrete hybrid harmony search (HHS) embedding a local search procedure, which provided a neighborhood structure based on common critical operations to enhance the local search, was developed to optimize the makespan. Paretobased grouping discrete harmony search algorithm (PGDHS) was proposed to optimize the makespan and the mean of earliness and tardiness (Gao et al. 2014). Several new heuristics scheme were firstly designed to the initialization of harmony memory. In addition, multiple strategies and local search were proposed to improve the performance of this algorithm.
This paper proposes a welldesigned MOPSO algorithm to optimize threeobjective FJSP (the makespan, the total workload and the critical machine workload). Firstly, the AL and DR methods from other works are applied to initialize the population. Then an extended position update formula with twovector discrete operators is designed and the discrete operator f _{2} is applied to share the information of personalbest positions and globalbest position. Then disturbance operator f _{3} is to explore other space. In details, f _{2} is applied to cross the current position with the personalbest position with a probability, or the current position with the globalbest position with the other probability. Secondly, personalbest archives and globalbest archive updated by predefined nondominated archive update strategy are developed to obtain highquality and highdiversity positions, and the personalbest position is selected from the corresponding personalbest archive and the globalbest position is selected from the globalbest archive. Finally, variable neighborhood search is introduced to exploit the globalbest archive.
The organization of the rest is as follows: “Problem formulation ” section briefly describes the problem formulation of FJSP. In “The MOPSO algorithm” section, a brief introduction of basic PSO is given, and then the details of MOPSO algorithm are presented. The simulation in comparison with other algorithms and parameter analysis are shown in “The simulation experiments” section. Finally, “Conclusions” section concludes this paper.
Problem formulation
Flexible jobshop scheduling problem
For FJSP, each operation can be assigned to one machine from a set of available machines and then sequenced under precedence constraint. There are a set of n jobs J = {J _{1}, J _{2}, …, J _{ k }, …, J _{ n }} to be processed on a set of m machines, M = {M _{1}, M _{2}, …, M _{ k },…, M _{ m }}. Each job consists of n _{ i } operations, \(O_{i} = \{ O_{i1} \ldots ,O_{i2} , \ldots ,O_{ij} , \ldots O_{{in_{i} }} \}\), where O _{ ij } and n _{ i } respectively denote the jth operation of job i and the number of operations for job i. The machine processing the operation O _{ ij } is denoted as M _{ k } from a given available machines called M _{ ij }, where M _{ ij } denote the set of available machines for the operation O _{ ij } and M _{ ij } ⊂ M. Partial flexibility and total flexibility are two kinds of FJSP. The former means that the available machines M _{ ij } processing on the operation O _{ ij } are a subset of M, and the latter means that the available machines M _{ ij } processing on the operation O _{ ij } includes all machines of M. Also, p _{ ijk } denotes the executing time of operation O _{ ij } on the machine M _{ k }.
Hypotheses are listed as follows: (1) They are all independent jobs and machines. (2) Setting up times of machines and move times between operations are negligible. (3) A machine can only execute one operation at a given time. (4) For the same job, only one operation is processing at the same time. (5) There are no precedence constraints among different jobs. The task is to determine an assignment and a sequence of operations to minimize several scheduling criteria. In this paper, three objectives of scheduling criteria are as follows:

1.
C _{M}: Makespan or maximal completion time of machines.

2.
W _{T}: Total workload of machines, which is the total working time of all machines.

3.
W _{M}: Critical machine workload, which is the biggest workload among the machines.
Encoding and decoding
Encoding a scheduling as a twovector representation, which includes operation sequence vector and machine assignment vector, is an effective way to represent the decision of FJSP. In details, operation sequence vector is a decision of all operations’ order, and machine assignment vector is a decision of the assigned machines of all operations. Direct and indirect encoding scheme are two types of encoding methods for operation sequence representation. Operationbased representation is an effective indirect encoding method for operation sequence vector, which can absolutely meet the constraints and is able to encode a feasible schedule (Gen et al. 1994). Thus, the operationbased encoding scheme is adopted to represent operation sequence vector. In this encoding scheme, the length of each vector equals to the total number of all operations. The number denotes the corresponding job and the kth occurrence of the number refers to the kth operation of this job. For the machine assignment vector, the numbers represent the machines assigned to the operations with the ascending job number successively.
Take threejob, threemachine instance for an example. As illustrated in Fig. 1, the operation sequence vector [2 1 1 3 2 1 2 3] represents the operation sequence [O _{21}, O _{11}, O _{12}, O _{31}, O _{22}, O _{13}, O _{23}, O _{32}]. Then the machine assignment vector [1 3 2 1 3 1 3 2] represents the operations and their assigned machines: (O _{11}, M _{1}), (O _{12}, M _{3}), (O _{13}, M _{2}), (O _{21}, M _{1}), (O _{22}, M _{3}), (O _{23}, M _{1}), (O _{31}, M _{3}), (O _{32}, M _{2}). The processing time can be organized in Table 1, where rows correspond to operations and columns correspond to machines. According to Table 1, we can obtain the processing times of the example, which is [5 2 1 1 4 5 3 4].
A semiactive schedule often occurs in decoding a schedule and results in the increasing of makespan. An active schedule can avoid the weakness. Local left shift and global left shift are designed to decode a schedule to a active one (Li et al. 2010). In this paper, a leftshift function proposed by Li et al. (2010) is applied to decode a semiactive schedule into an active schedule. After applying the leftshift function to the semiactive schedule, the schedule can be decoded as an active schedule.
The MOPSO algorithm
In this section, we developed an effective MOPSO algorithm and the details of the proposed algorithm is described as follows: “Initialization” section describes population initialization and “The details of MOPSO algorithm” section presents the extended position update formula in discrete PSO. Then variable neighborhood search is developed in “Variable neighborhood search” section. Furthermore, nondominated archive update strategy of personalbest archives and globalbest archive, and the selection method of the personalbest position and the globalbest position are introduced in “Personalbest positions and globalbest position” section. Finally, the stop criterion and the flowchart of the proposed algorithm are described in “Stop criterion ” section.
Initialization
Appropriate initial methods can provide enough diversity and highquality individuals to the population. For FJSP, the initialization includes initializing machine assignment and initializing operation sequence. The hybridization of assignment rules (AL) and dispatching rules (DR) from other researchers are proved to be extremely efficient initializing methods for the FJSP (Kacem et al. 2002a; Bagheri et al. 2010; Defersha and Chen 2010; Li et al. 2010). To obtain more promising individuals, the initial population in our study is generated by three AL methods (20 % by GPT, 20 % by LPT, and 60 % by the random rule) proposed by Kacem et al. (2002a) and DR method (Random rule) proposed by Pezzella et al. (2008).
The details of MOPSO algorithm
Discrete PSO
Inspired by fish and birds’ behavior, particle swarm optimizer is developed by Kennedy and Eberhart. As N individuals search in d dimensions space, individual i has a position \(\varvec{x}_{i} = (x_{i1} ,x_{i2} , \ldots ,x_{id} )\) and a velocity \(\varvec{v}_{i} = (v_{i1} ,v_{i2} , \ldots ,v_{id} )\). The personalbest position of the ith individual is \(\varvec{p}_{i} = (p_{i1} ,p_{i2} , \ldots ,p_{id} )\) and the globalbest position of the population is \(\varvec{p}_{\text{g}} = (p_{{{\text{g}}1}} ,p_{{{\text{g}}2}} , \ldots ,p_{{{\text{g}}d}} )\). In the search process, the individual tries to update the velocity and the position using the current velocity, personalbest position and globalbest position. Therefore, the velocity \(\varvec{v}_{i}\) and the position \(\varvec{x}_{i}\) of individual i can be manipulated by Eqs. (1) and (2).
where c _{1}, c _{2} are the coefficient of cognitive and social knowledge. ω denotes inertia factor. r _{1}, r _{2} are real numbers in (0, 1). t denotes the current generation.
A discrete version of particle swarm optimizer needs to be developed to solve flexible job shop scheduling problem, which is a specific optimization problem with discrete variables. Various discrete operators are developed to deal with discrete variables and it is also a significant problem to obtain appropriate discrete form of particle swarm optimizer. Discrete operators are convenient to handle the discrete variables, and some discrete operators are designed and incorporated into particle swarm optimizer. The position update equation with discrete operators is as follows:
where ω, c _{1}, and c _{2} are three probabilities, which represents the impact of current position, personalbest position and globalbest position. ⊗ represents the right operator of ⊗ will be implemented while the probability in the left of ⊗ is satisfied and + represents that left term of + is finished and the right term of + starts. Two discrete operator, f _{1} and f _{2}, are welldesigned to deal with discrete variables \(\varvec{x}_{i}\). In detail, f _{2} includes improved precedence operation crossover (IPOX) (Zhang et al. 2005) and multipoint preservative crossover (MPX) (Zhang et al. 2007). Additionally, c _{2} equals to \(\overline{c}_{1}\), which indicates that the condition rand ≤1−c _{1} is satisfied. Detail implementation of f _{1} and f _{2} is given in “The details of f _{1}, f _{2} and f _{3} ” section. f _{3} is then embedded to search more space and is also provided in “The details of f _{1}, f _{2} and f _{3} ” section. As above description, the pseudocode of the Eq. (3) is as follows:
The details of f _{1}, f _{2} and f _{3}
As the discrete operator f _{2} is not applied to all individuals, the function of f _{1} is keeping the individuals unchanged with the probability ω and otherwise, perturbation operator f _{3} is applied to the individuals. Then f _{2} is used to obtain useful information from the personalbest positions with the probability c _{1} and globalbest position with the probability c _{2}.
Discrete operator f _{ 2 } The operator f _{2} is implemented on the operation sequence vector and the machine assignment vector successively. IPOX is implemented on the operation sequence vector and MPX is implemented on the machine assignment vector.
For example, F_{1} and F_{2} are two parents; S_{1} and S_{2} are their children. The machine assignment vectors remain the same, and the procedure of f _{2} (IPOX) on operation sequence vector is as follows:

Step 1: Select the operation sequence vectors of the parents F_{1} and F_{2}, and all the jobs are randomly divided into two set J_{1} and J_{2}.

Step 2: Copy the elements of F_{1} that are included in J_{1} to S_{1} in the same position and copy the elements of F_{2} that are included in J_{1} to S_{2} in the same position.

Step 3: Copy the elements of F_{2} that are included in J_{2} to S_{1} in the same order and copy the elements of F_{1} that are included in J_{2} to S_{2} in the same order.
The operation sequence vectors remain the same, and the procedure of f _{2} on the machine assignment vectors (MPX) is as follows:

Step 1: Select the machine assignment vectors of the parents F_{1} and F_{2}.

Step 2: Generate a decision vector H with random integers 0 and 1, which has the same length with the machine assignment vector.

Step 3: Find the places which are equal to 1 in H, and then copy the machine assignment number in these places of F_{1} and F_{2} to S_{2} and S_{1}.

Step 4: Copy machine numbers of the rest places in F_{1} and F_{2} to S_{1} and S_{2}.
The IPOX of f _{2} works as in Fig. 2(a), and the MPX of f _{2} works as in Fig. 2(b).
Perturbation operator f _{ 3 } In order to avoid premature convergence, the perturbation operator f _{3} is adopted. Earliest completion machine (ECM) is an efficient method to assign an operation to a machine (Lin 2015). It can complete the operation with the earliest completion time but it needs expensive time consumption. Consequently, we apply the ECM rule with a small probability c _{3}. The ECM rule (f _{3}) works as follows: Calculate complete time of each operation in all machines by the order in operation sequence vector, and then find the machine with shortest time and assign the operation to the machine.
Variable neighborhood search
Disjunctive graph can also represent a feasible schedule. In the disjunctive graph, the longest path in the disjunctive graph is the critical path and the critical operations are these operations on the critical path. The maximal sequence of joint public critical operations (which are belong to all the critical paths) processed on the same machine is defined as public critical block. Only changing the critical paths can reduce the makespan and neighborhoods based on public critical block theory can significantly reduce the search scope. Therefore, three neighborhood structures based on public critical block are defined in variable neighborhood search. Two neighborhoods of machine moves (NH_{1} and NH_{2}) are generated on the critical operation and one neighborhood of operation moves (NH_{3}) is generated on public critical block. The details of three neighborhoods are as follows:
NH _{ 1 } Find these machines M _{s} with the maximal makespan and then randomly select a machine M _{ k } from M _{s}. Randomly select an public critical operation O _{ ij } on the machine M _{ k }. From the candidate machine set M _{ ij }, randomly select another machine M’_{ k } different from the current one M _{ k } for the selected operation O _{ ij }. Then randomly select an insert point, which meets precedence constraints of the same job, from the chosen machine M’_{ k } and insert the operation in this point.
NH _{ 2 } Randomly select an public critical operation O _{ ij } with more than one candidate machines and sort the candidate machines of O _{ ij } by the processing time in ascending order. Then randomly select another machine M’_{ k }, which is different from the current one M _{ k }, from the front half candidate machines. Then assign the machine M’_{ k } to the operation O _{ ij }.
NH _{ 3 } Choose a public critical block π randomly, and then randomly select an operation O _{ i } ^{π} of the block π, which is different from the first operation or the last operation of the block π. If the size of π is equal to 3, swap the first operation or the last operation of the block π with the operation O _{ i } ^{π} as they are not belong to the same job. If the size of π is bigger than 3, insert the first operation or the last operation of the block π into a random selected position in π. The procedure of NH_{3} is illustrated in Fig. 3.
The pseudocode of variable neighborhood search is given in Algorithm 1.
where K is the number of the neighborhood types and K equals to 3. s″ ≻ s indicates that s″ dominates s.
The pseudocode of local search is given in Algorithm 2. where N _{S} is the searching size of the neighborhoods and N _{S} is set to 20 empirically.
Personalbest positions and globalbest position
The personalbest archives and globalbest archive
In this section, each individual has a personalbest archive to preserve nondominated individuals’ positions obtained by its history search and the globalbest archive is used to preserve nondominated individuals’ positions obtained by the population. To obtain highquality and highdiversity solutions, a selective strategy of nondominated individuals’ positions should be developed to update the globalbest archive and the personalbest archive. Many selection mechanisms, such as NSGAII (Deb et al. 2002), MOEA/D (Li and Zhang 2009), and SPEA2 (Zitzler et al. 2002) have already been used to sort the nondominated individuals. Weighted sum approach can combine all the objectives into a single objective to represent relative superiority of individuals, and this method can change the impacts of each criterion via adjusting the weights to solve the multiobjective problems. In our study, a novel weighted sum approach is presented as a criterion to update the personalbest archives and globalbest archive.
The update procedure is as follows: For particle i, suppose the maximal size of its personalbest archive is N _{p}. Add the personalbest archive and particle i to form a new archive Ω, and then select N _{p} nondominated particles from Ω by nondominated archive updating strategy. The globalbest archive is updated as follows: Suppose the maximal size of globalbest archive is N _{a}. Add the current globalbest archive and the nondominated particles of the current population to form a new archive Ω’, and then select N _{a} nondominated particles from Ω’ by nondominated archive update strategy. Here N _{p}, N _{a} is empirically set to 5 and 15. The nondominated archive update strategy is implemented as follows:
Nondominated archive update strategy
Randomly generate three numbers w _{1}, w _{2}, w _{3} in [0 1] and the weights are able to add some random impacts on the objectives. Then three coefficients (here is the 10, 1, 10^{−1}), which represents the real impacts of three objectives, are multiplied by these weights. Suppose the archive is Ω and its limited size is N _{a}. The pseudocode of the nondominated archive update strategy integrating weighted sum approach is as follows:
After personalbest archives and globalbest archive are updated by the nondominated archive update strategy, the personalbest position is randomly selected from its personalbest archive and the globalbest position is randomly selected from the globalbest archive. The selection strategy of the personalbest position and the globalbest position as well as the updating procedure of population is illustrated in Fig. 4.
Stop criterion
Stop criterion: the predefined number of generations is reached. From the above description, the flowchart of the proposed algorithm is shown in Fig. 5.
The simulation experiments
Parameter settings and results
Four Kacem instances and ten Brdata instances (Brandimarte 1993; Kacem et al. 2002b) are used to evaluate the performance of our algorithm and several published algorithms are applied to compared with the proposed algorithm. The proposed algorithm is implemented in Matlab 7.1 on Lenovo PC with 4G RAM and 3.4G Intel (R) Core(TM) i33240 CPU. In order to obtain reliable results, our algorithm is run ten times on the same instance. The parameters are chosen experimentally to get a better satisfactory solution. The population size N is set as 100. The maximal generation number Iter _{max} is set as 300. ω is set as 0.98. c _{1} and c _{2} are set as 0.6, 0.4. c _{3} is set as 0.02.
Test on the Kacem instances
Firstly, four Kacem instances ranging from 4 jobs × 5 machines to 15 jobs × 10 machines, which are frequently tested on recently published literatures, are used to evaluate the validity and performance. The compared algorithms are the HTSA presented by Li et al. (2010), the AIA presented by Bagheri et al. (2010), the Xing algorithm by Xing et al. (2010), the MOGA by Wang et al. (2010), the PDABC algorithm presented by Li et al. (2011a), the SEA presented by Chiang and Lin (2013). Table 2 lists nondominated solutions obtained by the proposed algorithm and several recently published algorithms for four Kacem instances. For the 4 jobs × 5 machines instance, the 8 jobs × 8 machines instance and the 10 jobs × 10 machines instance, all the solutions obtained by seven algorithms are nondominated solutions. For the 15 jobs × 10 machines instance, the solutions obtained by the HTSA, Xing algorithm and MOPSO algorithm are the same and dominate some solutions obtained by AIA, MOGA and PDABC.
Table 3 lists the number of the nondominated solutions obtained by seven algorithms and Fig. 6a shows the comparison of the data in Table 3. From Table 3 and Fig. 6a, it is clear to see that the proposed algorithm obtains more nondominated solutions than HTSA, AIA, Xing algorithm and PDABC algorithm for all four instances. For the 4 jobs × 5 machines instance, SEA obtains one more nondominated solutions than MOPSO algorithm but the paper lists no details of the nondominated solutions, so it is lack of data for a further objective appraisal. For the 8 jobs × 8 machines instance, only PDABC and MOPSO algorithm find four nondominated solutions. For the 15 jobs × 10 machines instance, MOGA obtains three nondominated solutions but two of them are dominated by the solutions of MOPSO algorithm. And only the HTSA, Xing algorithm and MOPSO algorithm find both nondominated solutions (11, 91, 11) and (11 93 10). For all four Kacem instances, all nondominated solutions are obtained by MOPSO algorithm and no one is dominated by the compared algorithm. Therefore, MOPSO algorithm has better comprehensive performance than the compared algorithms. The Gantt charts of four Kacem instances obtained by MOPSO algorithm are plotted in Fig. 6b–e.
Test on the Brdata instances
The second category of 10 instances is from Brandimarte (Brdata instances) ranging from 10 jobs × 6 machines to 20 jobs × 15 machines and they are generated by a uniform distribution between given limits. Xing’s algorithm (Xing et al. 2009), MOGA (Wang et al. 2010), HTSA (Li et al. 2010), HSFLA (Li et al. 2012) and AIA (Bagheri et al. 2010) are used to compare with MOPSO algorithm. The data of compared algorithm are from the published paper (Li et al. 2010, 2012).
Table 4 lists the experimental results of nondominated solutions with minimal makespan obtained by these algorithms. It is marked in italic type if the solution is dominated by other solutions. For MK02, MK05, MK06 and MK07 instances, the nondominated solutions obtained by Xing’s algorithm are dominated by that obtained by MOPSO algorithm. For MK01 and MK03 instances, the nondominated solutions obtained by MOGA are dominated by that obtained by MOPSO algorithm. For MK07 instances, the nondominated solutions obtained by HTSA are dominated by that obtained by MOPSO algorithm. For MK02, MK05 and MK07 instances, the nondominated solutions obtained by HSFLA are dominated by that obtained by MOPSO algorithm. For MK01, MK02, MK03, MK05, MK06, MK07, MK09, and MK10 instances, the nondominated solutions obtained by AIA are dominated by that obtained by MOPSO algorithm. The only nondominated solution of MK08 instance obtained by MOPSO algorithm is dominated by MOGA. From Table 4, we can clearly see that MOPSO algorithm obtains more highquality solutions for ten Brdata instances.
Table 5 lists the best makespan (denoted as C _{M}), the average computational time (denoted as Av(CPU)), the average best makespan (denoted as Av(C _{M})), the standard deviation (denoted as Std(C _{M})) obtained by MOPSO algorithm and some results obtained by SEA (Chiang and Lin 2013) and TSPCB (Li et al. 2011b). The improvements contrasted to SEA and TSPCB (respectively denoted as imp _{1} and imp _{2}%) are calculated as follows:
where C _{M} ^{com} and C _{M} ^{pro} are the best makespan obtained by compared algorithm and obtained by our proposed algorithm respectively. imp% is the percentage of the improvement to the compared algorithm.
From the data of imp _{1}% in Table 5, we can see that C _{M} obtained by MOPSO algorithm has an improvement on MK06, MK09 and MK10 contrasted to that obtained by SEA, and no C _{M} is worse than that obtained by SEA. From the data of imp _{2}%, MOPSO algorithm have better results on MK04, MK06 and MK07 than that obtained by TSPCB, and only for MK05, MOPSO algorithm obtains worse result than TSPCB. From Table 5, the values of Av(C _{M}) for all Brdata instances are close to C _{M} and almost all the values of Std(C _{M})are less than 1. Therefore, we can conclude that MOPSO algorithm also has a stable searching ability. However, the MOPSO algorithm has more timeconsuming than TSPCB. That maybe depends on different simulation environment and simulation language to some extent because TSPCB is implemented on Pentium IV 1.6 GHz processor in C++. The Gantt chart of one best solution obtained by the MOPSO algorithm for MK01 is shown in Fig. 7 and the approximate Pareto front of MK03 and MK04 obtained by MOPSO algorithm is shown in Fig. 8.
As PSO can memorize each particle’s experience and the population’s experience, PSO for multiobjective problem can track and memorize nondominated solutions encountered by each particle (self experience) and the population (social experience), and a collaborative guiding way of self experience and social experience can balance exploration and exploitation and contribute to prevent premature. In our paper, the advantage of MOPSO is having many cognitive memories (no other algorithms have such memories) and a social memory to keep the diversity of nondominated solutions and balance local search and global search. Then it is convenient for social memory to do a further research. This search mechanism can effectively avoid the premature and improve the solutions. It is verified by that the proposed algorithm obtains highquality and more better solutions for most of Kacem instances and Brdata instances.
Parameter sensitivity analysis
In this section, we should analyze the sensitivity of parameters. MK02 is applied to assess the performance of MOPSO with different parameter combinations. Four levels of the parameters N, ω, (c _{1}, c _{2}) and c _{3} are considered and experiments are designed by using the Taguchi method. The range of the parameters and the value of each factor level are presented in Table 6. The designed experiments of an orthogonal array are presented in Table 7.
Each designed experiment runs 5 times independently. The maximal iteration number is 100. Av(C _{M}) denotes the average makespan of five runs. According to the results of Av(C _{M}) in Table 7, the average Av(C _{M}) of each factor level is presented in Table 8. In Table 8, ‘Delta’ denotes the maximal average Av(C _{M}) minus the minimal average Av(C _{M}) for each parameter and reflects the significance of each parameter. According to the Table 8, the trend of each factor level is illustrated in Fig. 9a–d and the effect on performance of each parameter is analyzed by Fig. 9. For comparisons of ‘Delta’, the parameters (c _{1}, c _{2}) rank first, and the parameter c _{3} ranks second. Therefore, the parameters (c _{1}, c _{2}) are the most significant factor on the performance of our algorithm.
Conclusions
In this paper, a multiobjective FJSP with three criteria is investigated to meet the requirements in manufacturing system and MOPSO algorithm is developed to address this problem. In MOPSO algorithm, a discrete version of PSO employing special discrete operators is proposed, and personalbest archives and globalbest archive, which is updated by nondominated archive update strategy and is respectively used to select personalbest positions and globalbest position, are developed to preserve nondominated positions. Cognitive memories and social memory can keep the diversity of nondominated solutions and balance local search and global search. Additionally, variable neighborhood search integrating three neighborhoods on the globalbest archive is applied to improve the exploiting capability. MOPSO algorithm is evaluated on Kacem instances and Brdata instances, and compared with some published algorithms. Computational experiments demonstrate that the MOPSO algorithm have a better comprehensive performance than other algorithms to solve multiobjective FJSP.
Research work should be continued in the future and it includes the followings: Firstly, the theory of multiobjective optimization should be developed to support the study of multiobjective FJSP. Secondly, the FJSP model also should be developed or rebuilt to meet the dynamic and varied environment and requirements. Finally, more efficient algorithm or strategy should be studied for solving the difficult FJSP problem.
References
Artigues C, Feillet D (2008) A branch and bound method for the jobshop problem with sequencedependent setup times. Ann Oper Res 159(1):135–159
Bagheri A, Zandieh M, Mahdavi I, Yazdani M (2010) An artificial immune algorithm for the flexible jobshop scheduling problem. Future Gener Comput Syst 26(4):533–541
Balaraju G, Venkatesh S, Reddy BSP (2014) Multiobjective flexible job shop scheduling using hybrid differential evolution algorithm. Int J Internet Manuf Serv 3(3):226–243
Brandimarte P (1993) Routing and scheduling in a flexible job shop by tabu search. Ann Oper Res 41(3):157–183
Chiang TC, Lin HJ (2013) A simple and effective evolutionary algorithm for multiobjective flexible job shop scheduling. Int J Prod Econ 141(1):87–98
Cwiek M, Nalepa J (2014) A fast genetic algorithm for the flexible job shop scheduling problem[C]. Proceedings of the 2014 conference companion on Genetic and evolutionary computation companion. ACM. pp. 1449–1450
Deb K, Pratap A, Agarwal S, Meyarivan TAMT (2002) A fast and elitist multiobjective genetic algorithm: NSGAII. IEEE Trans Evol Comput 6(2):182–197
Defersha FM, Chen M (2010) A parallel genetic algorithm for a flexible jobshop scheduling problem with sequence dependent setups. Int J Adv Manuf Technol 49(1–4):263–279
Della Croce F, Ghirardi M, Tadei R (2002) An improved branchandbound algorithm for the two machine total completion time flow shop problem. Eur J Oper Res 139(2):293–301
Gao KZ, Suganthan PN, Pan QK et al (2014) Paretobased grouping discrete harmony search algorithm for multiobjective flexible job shop scheduling[J]. Inf Sci 289(1):76–90
Geiger CD, Uzsoy R, Aytuğ H (2006) Rapid modeling and discovery of priority dispatching rules: An autonomous learning approach. J Sched 9(1):7–34
Gen M, Tsujimura Y, Kubota E (1994). Solving jobshop scheduling problems by genetic algorithm. IEEE international conference on systems, man, and cybernetics, humans, information and technology, vol 2. pp. 1577–1582
Heger J, Branke J, Hildebrandt T, et al. (2016) Dynamic adjustment of dispatching rule parameters in flow shops with sequencedependent setup times. Int J Prod Res 1–13
Jia S, Hu ZH (2014) Pathrelinking Tabu search for the multiobjective flexible job shop scheduling problem. Comput Oper Res 47:11–26
Kacem I, Hammadi S, Borne P (2002a) Approach by localization and multiobjective evolutionary optimization for flexible jobshop scheduling problems. IEEE Trans Syst Man Cybern Part C Appl Rev 32(1):1–13
Kacem I, Hammadi S, Borne P (2002b) Paretooptimality approach for flexible jobshop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic. Math Comput Simul 60(3):245–276
Kamble SV, Mane SU, Umbarkar AJ (2015) Hybrid multiobjective particle swarm optimization for flexible job shop scheduling problem. Int J Intell Syst Appl 7(4):54
Karthikeyan S, Asokan P, Nickolas S (2014) A hybrid discrete firefly algorithm for multiobjective flexible job shop scheduling problem with limited resource constraints. Int J Adv Manuf Technol 72(9–12):1567–1579
Li Y, Chen Y (2014) An improved genetic algorithm of Bilevel coding for flexible job shop scheduling problems. J Netw 9(7):1783–1789
Li H, Zhang Q (2009) Multiobjective optimization problems with complicated Pareto sets, MOEA/D and NSGAII. IEEE Trans Evol Comput 13(2):284–302
Li JQ, Pan QK, Liang YC (2010) An effective hybrid tabu search algorithm for multiobjective flexible jobshop scheduling problems. Comput Indust Eng 59(4):647–662
Li JQ, Pan QK, Suganthan PN et al (2011a) A hybrid tabu search algorithm with an efficient neighborhood structure for the flexible job shop scheduling problem. Int J Adv Manuf Technol 52(5–8):683–697
Li JQ, Pan QK, Gao KZ (2011b) Paretobased discrete artificial bee colony algorithm for multiobjective flexible job shop scheduling problems. Int J Adv Manuf Technol 55(9–12):1159–1169
Li J, Pan Q, Xie S (2012) An effective shuffled frogleaping algorithm for multiobjective flexible job shop scheduling problems[J]. Appl Math Comput 218(18):9353–9371
Lin J (2015) A hybrid biogeographybased optimization for the fuzzy flexible job shop scheduling problem[J]. KnowlBased Syst 78:59–74
Moghadam AM, Wong KY, Piroozfard H (2014) An efficient genetic algorithm for flexible jobshop scheduling problem. IEEE international conference on industrial engineering and engineering management. pp. 1409–1413
MouelhiChibani W, Pierreval H (2010) Training a neural network to select dispatching rules in real time. Comput Indus Eng 58(2):249–256
Pezzella F, Morganti G, Ciaschetti G (2008) A genetic algorithm for the flexible jobshop scheduling problem. Comput Oper Res 35(10):3202–3212
Pickardt C, Branke J, Hildebrandt T et al. (2010) Generating dispatching rules for semiconductor manufacturing to minimize weighted tardiness. Proceedings of the 2010 Winter Simulation Conference. IEEE. 2504–2515
Rahmati SHA, Zandieh M (2012) A new biogeographybased optimization (BBO) algorithm for the flexible job shop scheduling problem. Int J Adv Manuf Technol 58(9–12):1115–1129
Shao X, Liu W, Liu Q, Zhang C (2013) Hybrid discrete particle swarm optimization for multiobjective flexible jobshop scheduling problem. Int J Adv Manuf Technol 67(9–12):2885–2901
Tay JC, Ho NB (2008) Evolving dispatching rules using genetic programming for solving multiobjective flexible jobshop problems. Comput Indus Eng 54(3):453–473
Wang X, Gao L, Zhang C, Shao X (2010) A multiobjective genetic algorithm based on immune and entropy principle for flexible jobshop scheduling problem. Int J Adv Manuf Technol 51(5–8):757–767
Wang SX, Zhang CY, Jin LL (2014) A hybrid genetic algorithm for flexible jobshop scheduling problem. Adv Mater Res 889:1179–1184
Wenqi H, Aihua Y (2004) An improved shifting bottleneck procedure for the job shop scheduling problem. Comput Oper Res 31(12):2093–2110
Xing LN, Chen YW, Yang KW (2009) An efficient search method for multiobjective flexible job shop scheduling problems. J Intell Manuf 20(3):283–293
Xing LN, Chen YW, Wang P, Zhao QS, Xiong J (2010) A knowledgebased ant colony optimization for flexible job shop scheduling problems. Appl Soft Comput 10(3):888–896
Yuan Y, Xu H, Yang J (2013) A hybrid harmony search algorithm for the flexible job shop scheduling problem. Appl Soft Comput 13(7):3259–3272
Zhang C, Li P, Rao Y, Li S (2005) A new hybrid GA/SA algorithm for the job shop scheduling problem. Evolutionary Computation in Combinatorial Optimization. Springer, Berlin, Heidelberg, pp 246–259
Zhang CY, Rao YQ, Li PG, Shao XY (2007) Bilevel genetic algorithm for the flexible jobshop scheduling problem. Chin J Mech Eng 43(4):119–124
Zhang G, Gao L, Shi Y (2011) An effective genetic algorithm for the flexible jobshop scheduling problem. Expert Syst Appl 38(4):3563–3573
Zitzler E, Laumanns M, Thiele L (2002) Spea2: improving the strength pareto evolutionary algorithm for multiobjective optimization. In: Evolutionary methods for design optimisation and control. CIMNE, Barcelona, Spain, pp 95–100
Xue H, Zhang P, Wei S, Yang L (2014) An improved immune algorithm for multiobjective flexible jobshop scheduling. J Netw 9(10):2843–2850
Authors’ contributions
SH carried out the study, collected data, designed the experiments, implemented the simulation, analyzed data and wrote the main manuscript. NT provided substantive intellectual contributions and supplementary information to this study, participated in the design of the study and revised the manuscript for the content. YW gave conceptual advice and technical support, and helped to prepare the manuscript. ZJ participated in literature research, gave some suggestions of the study and made the general supervision of the research. All authors read and approved the final manuscript.
Acknowledgements
This work is supported by the National Natural Science Foundation of China under Grant No: 61572238, by the National Hightech Research and Development Projects of China under Grant No: 2014AA041505, by the Provincial Outstanding Youth Foundation of Jiangsu Province under Grant No: BK20160001.
Competing interests
The authors declared that they have no competing interests.
Author information
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Received
Accepted
Published
DOI
Keywords
 Flexible job shop scheduling
 Particle swarm optimization
 Variable neighborhood search
 Nondominated archive update strategy