## 4 IDPSO Algorithm Analysis and Design
### Update of Particle Position  
For the FJSP, as a typical discrete model optimization problem, the research shows that standard PSO is poor. Therefore, [PERSON] et al. [25] introduced three operators in the updating process of particles to update the position of particles and designed DPSO. Experiments show that DPSO is efficient in solving FJSP problems and can quickly search for the near-optimal solution. The particle position updating method is shown in Formula (20):  
\[X_{i}^{t+1}=\omega\otimes\mathit{op}_{1}\big{(}X_{i}^{t}\big{)}+c_{1}\otimes \mathit{op}_{2}\big{(}X_{i}^{t},\mathit{Pb}_{i}^{t}\big{)}+c_{2}\otimes \mathit{op}_{3}\big{(}X_{i}^{t},\mathit{Gb}^{t}\big{)} \tag{20}\]  
The values of \(\omega\), \(c_{1}\) and \(c_{2}\) are between (0,1), representing the probability that the particle is affected by the current solution, the individual historical optimal solution and the global optimal solution, respectively. \(t\) represents the current algebra for particle swarm optimization, \(X_{i}^{t}\) represents the current position of particle \(i\), \(\mathit{Pb}_{i}^{t}\) represents the historically optimal position of particle \(i\) after \(t\) generation evolution, and \(\mathit{Gb}^{t}\) represents the optimal position of all particles in the \(t\) generation. The \"\(\otimes\)\" operator indicates that the operation on the right side of \"\(\otimes\)\" should be performed when the probability on the left side of \"\(\otimes\)\" is satisfied, and the \"+\" operator indicates that the operation on the right side of \"+\" should be performed after the operation on the left side of \"+\" is completed. In this paper, according to the characteristics of the problem, a coding method containing information about the type and batch of the workpiece is proposed, and three new operators are designed. In order to improve problems such as slow convergence, low stability, and the tendency to fall into local optimality in the solving process of PSO, a new nonlinear adaptive \(\omega\) variation strategy is proposed by improving the inertia weight, \(\omega\), as shown in Formula (21). The proposed method can be adaptively adjusted according to particle velocity and position, and the inertia weight of the improved algorithm shows a nonlinearly decreasing state, which has a trend of expanding space searching, enlarging the particle search area, avoiding falling into local optimal, ensuring the high behavioral divergence of particles, and thus improving the search efficiency of the algorithm. \[\omega=\omega_{max}-(\omega_{max}-\omega_{min})\tan\bigg{(}\frac{t\tau}{4T} \bigg{)} \tag{21}\]  
where \(w\) is the inertia weight, \(t\) is the number of current iterations, and \(T\) is the total number of iterations. The \(\mathit{op}_{1}\) operator represents the inertial motion of particles affected by the current position, which is reflected in DPSO as particle mutation. The specific mutation operation method is as follows: exchange two position elements randomly in the OS sequence of particles, and adjust the corresponding machine according to the sequence of each process after the exchange; at the corresponding adjustment position in the MS sequence, randomly select a machine from the set of optional machines for its operation to be replaced. The \(\mathit{op}_{1}\) operator is shown in Figure 4.  
The \(op_{2}\) operator represents the process of the current particle learning from its individual optimal position. It is improved using the POX cross-strategy described in the literature [26]. The operation process is as follows:  
1. All job numbers are randomly divided into two non-empty sets, \(S_{1}\) and \(S_{2}\), for example, \(S_{1}=\left\{J_{11},J_{21}\right\},\ S_{2}=\left\{J_{22},J_{31}\right\}\). 2. Two empty sub generations, \(O_{1}\) and \(O_{2}\), are produced, and the process code belonging to \(S_{1}\) in \(P\left(P_{b}\right)\) is copied to the corresponding position in \(O_{1}(O_{2})\). \(P\) is a particle of the current population, and \(P_{b}\) is the historical optimal location of the individual particle.