## 3 Methods
### Optimization Algorithm
#### 3.3.2 SDPSO  
For high-dimensional or multi-modal problems, PSO is easy to converge prematurely. The particle swarm falls into a local optimum at this moment, reducing the swarm's diversity. To prevent the premature convergence of PSO, the author proposes a new switching delayed PSO (SDPSO) by adaptively adjusting the particle's velocity with a Markov chain and an evolutionary factor [27]. Moreover, the particle's velocity in the current iteration is also adjusted by the delayed information of _pbest_ founded by itself and _gbest_ in the whole swarm according to the evolutionary states.  
The renewal equation could be written as follows [27]:  
\[v_{\rm i}(t+1)=w(t)v_{\rm i}(t)+c_{1}(\xi(t))r_{1}(\mathbf{p}_{\rm i}(t-\tau_{1}( \xi(t)))-\mathbf{x}_{\rm i}(t))+c_{2}(\xi(t))r_{2}(\mathbf{p}_{\rm g}(t-\tau_{2}(\xi( t)))-\mathbf{x}_{\rm i}(t)) \tag{18}\]  
where \(c_{1}(\xi(t))\) and \(c_{2}(\xi(t))\) represent the acceleration coefficients, and \(\tau_{1}(\xi(t))\) and \(\tau_{2}(\xi(t))\) represent the delay constants. The four parameters are determined by a non-homogeneous Markov chain \(\xi(t)\) (\(t\geq 0\)). The value of the Markov chain is selected in finite state space S =\(\{1,2,3,4\}\) by using a probability transition matrix \(\prod^{(t)}=\left(\pi^{(t)}_{\rm ij}\right)_{N\times N}\), where \(\pi^{(t)}_{\rm ij}\) is the transition rate from \(i\) to \(j\), namely,  
\[\pi_{\rm ij}=\mathrm{P}\{\xi=j|\xi=i\},\ i,j=1,2,3,4. \tag{19}\]  
To be noted, \(\pi^{(t)}_{\rm ij}\geq 0\) and \(\sum\limits_{\rm j=1}^{\rm N}\pi^{(t)}_{\rm ij}=1\).  
The searching process of SDPSO is divided into four states, namely convergence, exploration, exploitation, and jumping out, which are represented by \(\xi(t)=1\), \(\xi(t)=2\), \(\xi(t)=3\), \(\xi(t)=4\) in the Markov chain, respectively.  
The value of \(\xi(t)\) is first selected according to an evolution factor \(E_{\rm f}\).  
\[\xi(t)=\left\{\begin{array}{ll}1,\ 0\leq E_{\rm f}<0.25,\\ 2,\ 0.25\leq E_{\rm f}<0.5\\ 3,\ 0.5\leq E_{\rm f}<0.75,\\ 4,\ 0.75\leq E_{\rm f}<1,\end{array}\right. \tag{20}\]  
The evolution factor \(E_{\rm f}\) is defined as follows:  
\[E_{\rm f}=\frac{D_{\rm g}-D_{\rm min}}{D_{\rm max}-D_{\rm min}} \tag{21}\]  
where \(D_{\rm i}=\frac{1}{s}\sum_{j=1}^{s}\sqrt{\sum_{k=1}^{d}\left(x_{\rm i}^{k}-x_{ \rm j}^{k}\right)^{2}}\) represents the average distance between the \(i\)th particle and other particles in the swarm; \(s\) represents the size of the swarm; \(D_{\rm min}\) and represent the minimum and maximum average distance in the swarm; and \(D_{\text{g}}\) represents the average distance between the globally best particle and other particles in the swarm.  
The value of \(\xi(t)\) is then randomly changed based on the probability transition matrix, given as follows:  
\[\prod=\left(\begin{array}{cccc}\chi&1-\chi&0&0\\ \frac{1-\chi}{2}&\chi&\frac{1-\chi}{2}&0\\ 0&\frac{1-\chi}{2}&\chi&\frac{1-\chi}{2}\\ 0&0&1-\chi&\chi\end{array}\right) \tag{22}\]  
where \(\chi\) is set to be 0.9 in this paper.  
The tendency of the inertia weight \(w\) is the same as the evolution factor \(E_{\text{f}}\). It is defined as follows:  
\[w(t)=0.5E_{\text{f}}+0.4,\ \forall E_{\text{f}}\in[0,\,1] \tag{23}\]  
The initial values of the acceleration coefficients \(c_{1}\) and \(c_{2}\) are set to 0.9. In subsequent iterations, they are automatically adjusted according to the evolutionary states given in Table 1[27].  
The delayed information of _pbest_ and _gbest_ are also utilized to update the velocity based on the evolutionary state. The strategies for selecting the delayed information are summarized in Table 2[27], where the delay constants \(\tau_{1}(\xi(t))\) and \(\tau_{2}(\xi(t))\) are selected randomly; \(\lfloor\bullet\rfloor\) denotes the floor function that returns the nearest integer less than or equal to the variable; and _rand_ denotes the random function that returns a single uniformly distributed random number between 0 and 1.