A Discrete Particle Swarm Optimization Algorithm With Adaptive Inertia Weight for Solving Multiobjective Flexible Job-shop Scheduling Problem

A discrete particle swarm optimization algorithm with adaptive inertia weight (DPSO-AIW) is proposed to solve the multiobjective Flexible Job-shop Scheduling Problem. The algorithm uses a two-layer coding structure to encode the chromosomes, namely operation sequence (OS) and machine assignment (MA). The initial population combined random selection of OS and the global selection based on operation (GSO) of MA. In order to obtain the Pareto optimal solution, non-dominated fronts are obtained by rapid non-dominated sorting. In the evolution process, the discrete particle swarm optimization algorithm is used to directly solve the values of the next generation chromosomes in the discrete domain, and the population diversity is enhanced by adaptively adjusting the variation of the inertia weight $\omega $ , and the Pareto optimal solution obtained in the process is stored in the Pareto optimal solution set (POS). Finally, numerical simulation based on two sets of international standard instances and comparisons with some existing algorithms are carried out. The comparative results demonstrate the effectiveness and practicability of the proposed DPSO-AIW in solving the multiobjective Flexible Job-shop Scheduling Problem.


I. INTRODUCTION
Flexible Job-shop Scheduling Problem (FJSP) is an extension of the Job-shop Scheduling Problem (JSP). FJSP allows multiple operations of different jobs to be processed on different machines, which changes the uniqueness of the equipment, and selecting the processing machine according to the load conditions of such resources as machines, etc., and thus the flexibility of processing is enhanced and more in line with the actual enterprise. Therefore, theoretical research on FJSP has great significance for solving the actual workshop problem of the combination optimization type of the enterprise. In the actual production process, production cost, processing time and customer satisfaction are all issues to be considered in the production scheduling optimization problem. A single scheduling target is difficult to reflect the real situation of The associate editor coordinating the review of this manuscript and approving it for publication was Corrado Mencar . the scheduling workshop. Nowadays, many scholars have also shifted their research direction to solving multiobjective FJSP. Chen et al. [1] proposed a multiobjective FJSP problem based on NSGA-II with closed relative variation. Ju et al. [2] proposed an improved NSGA for FJSP. In the paper, the adaptive mutation operator and elite retention strategy were introduced. The simulation experiment shows that the nondominated sorting method can get the Pareto optimal solution quickly and correctly by dividing the whole population into three parts. Piroozfard et al. [3] proposed an improved multiobjective evolutionary algorithm for solving the newly extended dual-objective problem. Li et al. [4] proposed a Pareto-based hybrid local search (PLS) algorithm for solving multiobjective FJSP. Zhang et al [5] studied two-archive multiobjective artificial bee colony algorithm (TMABC-FS). Two new operators are employed to enhance the search capability of different kinds of bees, and two archives are proposed for obtaining a group of non-dominated feature subsets with VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see http://creativecommons.org/licenses/by/4.0/ good distribution and convergence. Based on the existing literature, this paper designs a discrete particle swarm optimization with adaptive inertia weight (DPSO-AIW) to solve FJSP. The FJSP model with makespan, workload of bottleneck machine and the total workload of machines is established. The algorithm uses a two-layer structure to encode chromosomes, and the evolution process uses discrete particle swarm optimization to solve the next generation chromosomes directly in the discrete domain. The location update uses the crossover operation in the genetic algorithm, and the value of the inertia weight ω is adaptively adjusted to enhance the diversity of the population. The paper provides the following contributions: (1) The FJSP model with the maximal completion time of machines, workload of bottleneck machine and the total workload of machines is established in the paper. The initial population is generated by the hybrid method, namely OS random selection and MA global selection by operation (GSO). The GSO refers to the method by which an operation selects machines in its optional machine set. The schedulings generated in this way are all feasible. When the GSO is selected, the machine with the minimum global workload is selected in the optional machine set to process. It not only ensures that the generated scheduling is feasible, but also reduces the workload of the machine as much as possible, shortens the optimization time and guarantees the quality of the initial solution. The workload of the machine is reduced as much as possible, the optimization time is shortened, and the quality of the initial solution is guaranteed. The OS random selection increase the diversity of the population and prevent the loss of the optimal solution. This method to generate the initial population greatly improves the quality of the solution and the speed of obtaining the optimal solution.
(2) The evolution process uses discrete particle swarm optimization to solve the next generation chromosomes directly in the discrete domain. The location update uses the mutation and crossover operations in the genetic algorithm. During the crossover process, the OS adopts precedence operation crossover (POX) and linear order crossover(LOX), and the MA adopts a Improved single-point crossover method. This crossover method ensures both the search capability is improved rapidly and the generated solution is always feasible. The genetic algorithm's mutation operation increases the diversity of the population. The local search ability of the algorithm is enhanced to prevent the algorithm from falling into immature convergence.
(3) Select adaptive adjustment of inertia weight to improve the diversity of the population. The inertia weight is updated by the global optimal value of the particles in the population and the exponential function of the current value. The value inertia weight ω is adaptively adjusted by using the global optimal of the particles in the population and the exponential function of the current value.
(4) The rapid non-dominated sorting method is used to determine the fronts of each candidate solution, and the  specified solution is stored in the Pareto optimal solution set according to fronts order.
The rest of this paper is organized as follows: Section II introduces the formulation of FJSP, and Section III describes the basic particle swarm optimization. Section IV introduces the detailed implementation of the DPSO-AIW algorithm including encoding and decoding, initialization the population, the method to update PSO location, calculation of adaptive inertia weight, constructing PSO optimal solution set and the flow of DPSO-AIW algorithm. Section V is an analysis of the computational complexity of the DPSO-AIW algorithm. Section VI shows the results of computational studies using the DPSO-AIW algorithm and its comparisons with other algorithms. The parameters sensitivity analysis is in Section VII. Section VIII is the conclusion and direction of future research.

II. FORMULATION OF FJSP
The FJSP is commonly described as follows. There are n jobs J = (J 1 , J 2 , . . . , J n ) to be processed on m machines M = (M 1 , M 2 , . . . M m ). A job contains one or more operations, and O ij represents the jth operation of job i. Each operation can be processed on different machines, but the processing time varies from machine to machine. The processing time of O ij performed on machine k is t ijk that is greater than 0. C ij represents the completion time of the operation O ij . The processing sequence of the operation is given in advance. FJSP can be divided into Total-FJSP(T-FJSP) and Partial-FJSP(P-FJSP), which are shown in Table 1 and Table 2 respectively. In T-FJSP, every operation of all jobs can be processed on any machine. In P-FJSP, the operation can only be processed on some machines, that is, the real subset of the machine set.
We consider the multiobjective FJSP with the following three objectives to be minimized: (1)the maximal completion time of machines, that is F 1 ; (2) the bottleneck machine workload, that is F 2 , which considers the workload balance among all machines to prevent too much work been assigned to a single machine; and (3) the total workload of machines, that is F 3 , which is of interest in assigning the machine with relatively short processing time to improve economic efficiency.
Mathematically, the FJSP can be formulated as follows: x ijk = 1 where Equation 6 ensures that the operations belong to the same job and satisfy the precedence constraints, and Equation 7 shows that one machine must be selected from the set of available machines for each operation. FJSP processing also satisfies the following constraints and assumptions: (1) All machines are available at time 0, and each job can be processed at time 0; (2) At a certain time, one machine can only process one operation at a time. Once the operation is completed, the machine can be used for other operations.
(3) Once the processing begins, it cannot be interrupted; (4) The operations of different jobs are not constrained in sequence, but there are successive constraints between the operations of the same job; (5) The setting time of the machine and the transportation time of the operation are ignored.

III. BASIC PARTICLE SWARM OPTIMIZATION
The particle swarm optimization (PSO) algorithm is an emerging optimization algorithm based on the theory of swarm intelligence proposed by Kennedy in 1995, who was inspired by the foraging behavior of birds and fish in nature. PSO algorithm attracts the attention of many scholars because of its simple parameters, easy implementation and powerful global optimization ability. It has been widely used in the fields of function optimization, image processing, fuzzy system control and scheduling optimization.
The PSO algorithm was originally used to solve the continuous optimization problem. However, many practical engineering application problems are discrete. So using the basic idea of the PSO algorithm and changing it into a discrete form for solving large-scale discrete problems such as combinatorial optimization has become a hot issue for many scholars. Liu et al. [6] proposed a hybrid PSO algorithm with Pareto archives set for the FJSP problem with three targets; Chen et al. [7] designed an extended process coding and automatic scheduling decoding mechanism. In the paper, a multiobjective particle swarm optimization algorithm for flexible production scheduling is designed for particle maximum and minimum, convergence speed and corresponding boundary conditions. Zhanget al. [8] proposed a hybrid particle swarm optimization algorithm to study the multiobjective FJSP based on Pareto-dominance. Based on the complementary strengths of PSO and Variable Neighborhood Search (VNS) algorithm, Pan et al. [9] proposed four hybrid algorithms: PSO-VNS algorithm, Enhanced PSO(EPSO) algorithm, PSO and VNS in Turn (PVT) algorithm, and PSO and VNS Cooperative algorithm (PVC). Song and Tang [10] designed a nowait algorithm of grading for the nowait constraint between two sequential operations of a job to optimize the hybrid flow shop scheduling problem. Huang et al. [11] combined the multiobjective particle swarm optimization with the variable neighborhood search method to effectively solve the FJSP problem.
The basic particle swarm optimization algorithm is based on the study of the sociological behavior of birds foraging. In such problems, the algorithm first uses a set of ''particles'' to represent a set of candidate solutions to the problem. Then, each particle in the population remembers and follows the current optimal particle to search in the solution space.
Suppose that a group of M particles fly at a certain velocity in the D-dimensional search space. The state attribute of particle i is set as follows: The current position of the particle: The current velocity of the particle The best position that particle i has experienced: pB t i = pB t i1 , pB t i2 , . . .pB t id ; gB t is the global optimal position experienced by the population, which is the location where the maximum fitness value is generated. The formula for the ith particle to update its position and flight velocity at the t+1th generation is shown in equation 8 and equation 9.
In equation 8, ω represents the inertia weight; v t i represents the current velocity; c 1 and c 2 are the acceleration constant; r 1 and r 2 are random numbers between(0,1). They are introduced in the formula to simulate a slight unpredictable part of the behavior of the group in nature, and determine to what extent the particle remains on the original route from gB t and pB t i . This is also a way to balance exploration and exploitation; pB t i refers to the individual optimal position of the ith particle; gB t represents the current optimal position. Equation 8 consists of three parts: the first part ω×v t i is the previous velocity of the particle, indicating the current state of the particle; the second part c 1 r 1 pB t i − x t i is usually called the self-cognitive part of the particle, that is, the influence of the particle's flight experience on its own flight, which makes the particle have a strong global search ability; the third part c 2 r 2 gB t − x t i is the social learning part of the particle, which embodies the information sharing between the particles, that is, the influence of particles' learning from a population on their flight.

IV. DPSO-AIW ALGORITHM A. ENCODING AND DECODING
Each chromosome of FJSP is represented by two-layer of coding. The first one is operation sequencing (OS): the order assigned to the machine is sorted. The number in the sequence is the index of the job: the order in which each job appears in the OS represents the processing order of the various operations of the job. The second is the machine assignment (MA): assigning each operation to a set of capable machines, which means assigning each operation to a selectable machine and calculating its start time and end time [12]. The MA selection refers to the method by which an operation selects machines in its optional machine set. The schedulings generated in this way are feasible.
The decoding uses a plug-in greedy decoding algorithm to ensure that the active scheduling is generated after the chromosome is decoded [13]. According to the OS coding of the chromosome, the order of the operation on the sequence is decoded. First, the first operation on the sequence is arranged for processing, and then the second track is taken and inserted into the processing time of the corresponding machine at the best feasible processing time. In this way, all operations in the sequence are placed in their best possible position (as early as possible).

B. INITALIZATION THE POPULATION
Kacem et al. [14] first proposed the approach by localization (AL). Pezzella et al. [15] used three scheduling rules to initialize the sequence of operations. Gao et al. [16] proposed a method of GLR machine selection: global selection (GS), local selection (LS) and random selection (RS). Based on the above literature research, this paper proposes a method to combine the random selection of OS and the GSO of MA. The specific implementation process is as follows: (1) The OS adopts random selection: the OS part adopts the operation-based coding mode selection in JSP, and for each operation, randomly selects and generates an OS; (2) The MA uses GSO selection: since the OS is randomly coded, each gene in the MA is a processing machine selected for the operation in the OS. So our goal is to select the machine with the global minimum workload for processing in the optional machine set. The method is as follow: For each operation, select the machine with the minimum workload in its optional processing machine set, and add the workload value to the machine workload of the other operations in the same column. For example, for the 2×4 T-FJSP in Table 1, the OS is randomly generated: 2 1 1 2 1. First take 2, indicating the operation O 21 . Select the machine M 3 with the minimum workload in the optional machine set, the value is 1, and increase the remaining values of the M 2 column by 1 on the basis of the original value, see Table 3 (a). Take the remaining operations sequentially and get the MA: 3 1 3 2 4. The specific processing is shown in Table 3 Values of the selected operation are with borders, while values representing the updated machine workload are in bold. Figure 1 is the Gantt chart of the 2×4 T-FJSP.

C. METHOD TO UPDATE PSO LOCATION
The equation to update velocity and position evolution in the basic PSO algorithm has three main parts: the influence of the current velocity of the particle, the ''cognitive'' part and the ''social'' part. These three parts work together to obtain the position of the next generation of particles. But the basic PSO algorithm is suitable for continuous problems, and we require discrete problems, so we imitate the optimization mechanism of the basic PSO algorithm, update the formula and define the position of discrete particle swarms according to the method in equation 10.
where ω, c 1 and c 2 are the same as those in the basic particle swarm optimization algorithm. ω is the inertia weight, c 1 is the cognitive coefficient, c 2 is the social coefficient, and ⊗ is used to represent the optimization operation. Equation 10 consists of three parts. The first part, equation 11 refers to the part affected by the current state. m x t i represents the velocity of current particle. Mutation probability P m is the random number in the range of (0, 0.1), and when P m is less than ω, execute the operation m x t i , or otherwise keep the original particles unchanged. For the inertia weight calculation method, see Section D. Here m x t i refers to the mutation operation of the chromosome.
The mutation operation is as follow: The OS select a chromosome according to the mutation probability, and select one of the operations randomly. Since the job has a sequence order constraint, firstly, determine the position of the precursor operation and the subsequent operation of the operation, and then randomly select a position to insert the operation between these two positions, which ensures that the resulting schedule is a feasible solution.
The MA select a parent chromosome for the mutation according to the mutation probability, and select one of the processing operations. Since each operation can be processed on multiple machines, each operation has a collection of optional processing machines. Randomly select a machine in the processing machine set to complete the mutation.
The second part, equation 12 indicates the learning part of the chromosome to itself, and q M t i , pB t i indicates the adjustment of the chromosome according to its optimal position pB t i . Crossover probability P c 1 is the random number in the range of (0.6, 0.9), and when P c 1 is less than c 1 , the crossover operation is performed. Otherwise, the original particle remains unchanged. q M t i , pB t i is implemented through the crossover operation in the genetic algorithm. For the two sets of codes in FJSP, the OS adopts precedence operation crossover (POX) [15], and the MA adopts improved single-point crossover(ISX) [17].
The third part, equation 13 embodies the adjustment of particles according to the global optimal position, which shows the cooperation between particles. p Q t i , gB t is the crossover operation between Q t i and gB t . Perform a crossover operation when the crossover probability P c 2 is less than c 2 , and P c 2 is in the range of (0.6,0.9). Or otherwise, keep the original particles unchanged. Crossover operation process: OS uses LOX crossover, and MA uses improved single-point crossover(ISX).
The parent chromosomes after the coding are recorded as P 1 , P 2 , . . . , P n , and the offspring chromosomes obtained after the crossover are recorded as C 1 , C 2 , . . . , C n (n is the population size).
The steps for POX are as follows: Step 1: P 1 and P 2 are sequentially taken out from the parent chromosomes. Copy all the operations included in job J 1 in P 1 to C 1 in the original order, and copy all the operations contained in job J 2 in P 2 to C 1 in the original order; Step 2: Copy all the operations included in job J 2 in P 1 to C 2 in the original order, and copy all the operations of the job J 1 in P 2 to C 2 in the original order; Step 3: Repeat Step 1-Step 2 in the parent chromosomes until n offspring chromosomes C 1 , C 2 , . . . , C n are obtained; The steps for LOX are as follows: Step 1: randomly generate two intersection positions in the two parents P 1 and P 2 , and exchange the fragments in the two intersection positions; Step 2: The gene in the original parent, which is exchanged from another parent, is deleted; Step 3: Copy the remaining genes from the original parent to the children in turn from the first position.
The method of ISX is as follow: Divide all the chromosomes involved in the crossover into n 2 groups, and perform single-point crossover for the two parent chromosomes in each group: randomly select one crossover point, and exchange the machines assigned by the operations included in the two parents before the crossover point, which ensures that the chromosomes obtained after the crossover are all feasible schedulings.

D. CALCULATION OF ADAPTIVE INERTIA WEIGHT
The search process of PSO algorithm is complex and nonlinear. The inertia weight ω is an important parameter of VOLUME 8, 2020 the algorithm, which is used to balance the global and local search ability of the algorithm. When the inertia weight is large, it is beneficial to global search, while a smaller weight value can accelerate the convergence of the algorithm and prevent the algorithm from falling into local optimum. Therefore, this paper chooses the method of adaptively adjusting the inertia weight to improve the diversity of the population. The inertia weight is updated by the global optimal value of the particles in the population and the exponential function of the current value. See the equation 14 and 15. At each iteration, the inertia weight is related to the current value of the particle, that is, when the relative change between the current value of the particle and the global optimal value is large, the inertia weight increases, and vice versa.
where t represents the current number of iterations, ω start is the initial inertia weight, and ω end is the inertia weight when the iterations reach to the maximum.

E. DPSO-AIW ALGORITHM FLOW
Based on the above analysis and discussion, the DPSO-AIW algorithm for solving the multiobjective FJSP problem is as follows: Step 1: Set initial parameters: iteration number T , population size N , inertia weight ω, cognitive coefficient c 1 and social coefficient c 2 , cycle variable t, and let t = 1; Step 2: Initialize the population P. The OS is randomly generated, and the MA is generated by the GSO method. Evaluate each particle, perform rapid non-dominated sorting on the population, and find out N 10 non-dominated solutions in the current population and store in the optimal solution set (POS), the size of the POS is N 10 , which is one tenth of the population size; Step 3: Evaluate the fitness value of each particle, and perform rapid non-dominated sorting on the population to find out N 10 non-dominated solutions in the current population and compare them with N 10 non-dominated solutions in the POS, that is select N 10 non-dominated solutions from the N 5 non-dominated solutions and update the POS. The process of updating a POS is as follows: According to the quick sorting method, the front F i of the non-dominated level is obtained [18]. Let the number of solutions in each front be n i , and if ( N 10 − n i−1 ≤n i ), ( N 10 − n i−1 ) individuals are randomly selected in the front F i to store in POS; Step 4: t = t+ 1; Step 5: Determine whether the stopping criterion ( t > T ) is satisfied. if yes, go to Step 7; otherwise, go to Step 6; Step 6: Update the particle position. The particle position is updated according to equation 7. Go to Step 3; . Gantt charts of the 10×10 instance obtained by the DPSO-AIW algorithm, (a) and (b) are Gantt charts generated by two different Pareto optimal solutions respectively. The solution of (a) is (7,6,42) and the solution of (b) is (7,6,43).
Step 7: Output non-dominated solutions in the POS. The flow chart of DPSO-AIW is shown in Figure 2.

V. COMPUTATIONAL COMPLEXITY ANALYSIS
Suppose the number of machines is M, the population size is P, L is the length of the OS and MA in chromosome, the number of iterations is T and the number of objectives is B. The computational complexity of the DPSO-AIW algorithm mainly comes from the following parts: Initialization of the population, mutation and crossover operation, decoding and fast non-dominated sorting. During the initialization of the population, the OS is randomly generated, and the worst computational complexity of one iteration is O(L ×P). The MA is generated using the GSO method, and its worst computational complexity is O(2 × M × L × P). During the mutation operation, the OS mutates randomly, the worst computational complexity of the OS is O(L × P). The mutation process of the MA is affected by the number of optional machines, the worst computational complexity of the MA is O(M × P). The crossover operation performed twice. In the first crossover operation, the OS uses POX crossover, the worst computational complexity is O(4×L ×P), the MA uses ISX crossover, the worst computational complexity is O(2×L × P). In the second crossover operation, the OS adopts LOX crossover, the worst computational complexity is O(4×L × P), the MA adopts ISX crossover, the worst computational complexity remains O(2×L × P). During the decoding process, each operation in the OS performs the following two steps: VOLUME 8, 2020 FIGURE 4. Gantt charts of the 10 × 7 instance obtained by the DPSO-AIW algorithm, (a) and (b) are Gantt charts generated by two different Pareto optimal solutions respectively. The solution of (a) is (11,11,63), and the solution of (b) is (12,10,63).
Step 1: Select the corresponding machine in the MA; Step 2: Search the processing time in its processing schedule and decode to generate a feasible scheduling.
The worst computational complexity of the entire decoding process is O(M × L 2 ). The computational complexity of fast non-dominated sorting is O(M × B 2 ) [18]. So the worst computational complexity of DPSO-AIW algorithm is: ] It can be seen from the above equation that the computational complexity of the DPSO-AIW algorithm is mainly related to the population size, the number of machines, the number of objectives, chromosome length and the iterations.

VI. SIMULATION AND ANALYSIS
To test the performance of the proposed DPSO-AIW algorithm, numerical simulations were performed using two sets of benchmark studies, including five Kacem instances [14], [19] and three BRdata instances [20]. The algorithm is written in Python programming language version 3.7.3 and run on a MacBook Pro with a 2.7GHz processor and 8 GB RAM of APPLE inc. 2015.
It is generally believed that the difficulty of solving multiobjective FJSP is closely related to the scale of the problem. Therefore, for each instance, the iteration T is 10 × n ×m. The population size P is n × m. ω start is 0.9, ω end is 0.4. c 1 equals to c 2 , and the value is 0.75.
The first set of data were tested using the five Kacem instances: 4×5 instance, 10×7 instance, 8×8 instance, 10×10 instance and 15×10 instance. The 8 × 8 instance is a P-FJSP, and the remaining four instances are all T-FJSP. Figure 3 and Figure 4 show the Gantt charts of the two different Pareto optimal solutions obtained by the DPSO-AIW algorithm for solving the 10×10 instance and 10×7 instance respectively. When solving the Pareto optimal solution, we compare the DPSO-AIW algorithm with the existing methods MOPSO +LS [21], PSO-IN [22] and P-EDA [23]. The comparison results are shown in Table 4. The results   of the compared algorithms come directly from the literature. It can be seen from Table 4 that for the 4×5 instance, the Pareto optimal solution (11 7 30) obtained by the DPSO-AIW algorithm is better than the non-dominated solution in the other three algorithms; for the 10×7 instance, P-EDA obtained better solution that dominated other algorithms, for the 8×8 instance, the Pareto optimal solution (14 11 76) obtained by the DPSO-AIW algorithm is better than the non-dominated solution in the other three algorithms. For the 10×10 instance and the 10×15 instance, VOLUME 8, 2020   the DPSO-AIW algorithm obtains the same Pareto optimal solution (7 6 42) and (11 11 91) as the other three methods. The better solution for each objective of DPSO-AIW is shown in bold in Table 4. ''-'' indicates that no value was given in the original paper. The data show that the DPSO-AIW algorithm is effective and feasible for solving Kacem instances.
The second set of data were tested using the BRdata instances. Select the MK01, MK02, and MK03 issues in the BRdata instances. Comparison of the Pareto optimal solution obtained by the DPSO-AIW algorithm with that obtained by the MOGA [24] and P-EDA algorithms can be seen in Table 5 -Table 7, where the Pareto optimal solution obtained by the DPSO-AIW algorithm is shown in bold, and dominant solutions obtained by other algorithms are underlined. For the MK01 instance in Table 5, the non-dominated solution (40 36 168) obtained by DPSO-AIW dominate all the non-dominated solutions obtained by the other two algorithms. For the MK02 instance in Table 6, the P-EDA and DPSO-AIW obtained the same non-dominated solution (27 27 145), which dominates the non-dominated solutions obtained by the MAGO algorithm. For the MK03 instance in Table 7, the non-dominated solution (204 168 850) obtained by DPSO-AIW dominates all non-dominated solutions obtained by the other two algorithms. It can be seen that DPSO-AIW is superior to MOGA and P-EDA in solving BRdata instances. In three instances, DPSO-AIW can achieve better Pareto optimal solutions that dominate the solutions obtained by the MOGA algorithm and the P-EDA algorithm. According to the above comparison based on Kacem instances and BRdata instances, it can be concluded that DPSO-AIW algorithm is an effective algorithm for solving multiobjective FJSP problem.

VII. PARAMETER SENSITIVITY ANALYSIS
In order to determine the impact of important parameters on the algorithm, a sensitivity analysis is performed in this section. The 4 × 5 instance of Kacem is used to assess performance of the DPSO-AIW with different parameter combinations. In this paper, four different factor levels P, ω start , ω end and (c 1 , c 2 ) are considered, and experiments are designed using the orthogonal table of Taguchi method [25]. The optional value of each factor level is presented in Table 8, and the design structure of the orthogonal array is shown in Table 9. Each experiment runs ten times independently. Ave denotes the average makespan of ten experiments, and δ is the standard deviation. The mean value of each factor level is presented in Table 10 according to the results in Table 9. In Table 10, δ denotes the standard deviation for each mean value and reflects the significance of each parameter. For comparisons the values of δ, the parameters ω start ranks first, the parameter (c 1 , c 2 ) ranks second, the parameter P ranks third, and the parameter ω end ranks fourth. Therefore, the parameter ω start is the most significant factor in DPSO-AIW algorithm.

VIII. CONCLUSION
In this paper, DPSO-AIW is proposed to solve the multiobjective FJSP, the optimization model is established, and the DPSO-AIW algorithm is applied to the optimization model verification. The simulation data are Kacem standard instances and BRdata standard instances respectively. The simulation results are compared with the results obtained by other algorithms, and the practicability and effectiveness of the algorithm for solving multiobjective FJSP are proved. After a lot of experiments, we found that our algorithm can quickly find better solutions for cases with larger flexibility ratio (flex.) [26] which is defined as the average number of alternate machines per operation, while cases with relatively smaller flex. require more iterations and a larger initial population. It takes more time to get better results, which is what we will do next.
This paper solves the three objectives of the FJSP problem, and there are more goals for complex flexible workshops. Faced with many uncertain factors, how to design a simplified and efficient simulation model applied to the actual workshop is the future research direction. In addition, the application of particle swarm optimization to other combinatorial optimization problems requires further research.