## 3 Background
### Particle Swarm Optimization  
In PSO, each particle representing a candidate solution is associated with the velocity. The velocity of each particle is adjusted according to the response of its own and its companions' experience. The positions of particles are compared to determine the local and global best position. Particles fly through the search space and move towards better solution areas. Finally, the particle with the best global position is the most optimal solution.  
Assuming that the optimal solution is searched for in an N-dimension space, a particle swarm is initiated with a random position and velocity. The position of the \(ith\) particle at the \(tth\) iteration is presented as \(X_{i}^{t}=\big{(}x_{1}^{t},x_{2}^{t},\ldots,x_{N}^{t}\big{)}\) and the velocity \(ith\) of the particle at \(tth\) iteration is presented as \(V_{i}^{t}=\big{(}v_{1}^{t},v_{2}^{t},\ldots,v_{N}^{t}\big{)}\). The local best position is presented as \(pbest\) and the global best position is presented as \(gbest\). The fitness value of each particle is computed by the objective function to compare with the \(pbest\) and \(gbest\) value. The best position is achieved according to the compared result. Then, the information of particles is updated through the following formula:  
\[V_{i}^{t+1}=\omega V_{i}^{t}+c_{1}\times rand()\times\big{(}pbest_{i}^{t}-x_{ i}^{t}\big{)}+c_{2}\times rand()\times\big{(}gbest_{i}^{t}-x_{i}^{t}\big{)} \tag{5}\]  
\[X_{i}^{t+1}=X_{i}^{t}+V_{i}^{t+1} \tag{6}\]  
where \(c_{1},c_{2}\) are the learning factors, usually \(c_{1}=c_{2}\), \(\omega\) is the inertia weight, \(rand()\) is a random value in the range of 0 and 1.  
In order to balance the global search capacity and local search capacity, the algorithm selects the inertia coefficient of linear change. The changing formula is:  
\[\omega=\omega_{max}-t\times\frac{\omega_{max}-\omega_{min}}{t_{max}} \tag{7}\]  
where \(\omega_{max}\) is the biggest inertia weight while \(\omega_{min}\) is the smallest, \(t_{max}\) is the biggest iteration and \(t\) is the present iteration.  
The specific iterative process of the PSO algorithm can be presented as follows:  
Step 2.1: Randomly initialize the particles including the search position and velocity. Define all PSO algorithm parameters, such as inertia weight \(\omega_{max},\omega_{min},\ \omega\), learning factors \(c_{1},c_{2}\), swarm size \(N\), maximum iterations \(t_{max}\), etc.  
Step 2.2: Calculate the value of each particle using the evaluation function. In this paper, the integrated time and absolute error (ITAE) are adopted for the performance criteria. The formula is defined as:\[\mathrm{J}=\int_{0}^{\infty}t|e(t)|dt \tag{8}\]  
Step 2.3: Update the value of the inertia weight using Equation (7).  
Step 2.4: Update the _pbest_ particles by comparing the fitness value with the experience of each individual. The best evaluation value among all _pbest_ is the _gbest_.  
Step 2.5: Modify the velocity and position of each particle according to Equations (5) and (6). The inertia weight is determined by step 2.3.  
Step 2.6: If the number of iterations reaches the maximum \(t_{max}\), then stop. The latest _gbest_ is the optimal controller parameter. Otherwise go back to step 2.2.