## 2 Basic Theory
### State Transition Algorithm  
The STA [35] can optimize several parameters at the same time, and it is an efficient random optimization algorithm. This algorithm treats the result of the optimization problem as a state, and regards the process of searching in the search space as an evolutionary algorithm of the process of state transition. This algorithm uses four state operators of rotation, translation, expansion, and axesion to solve the continuous optimization problem. The algorithm has strong global search ability, fast convergence speed, and high optimization precision. The STA can be written as:  
\[\left\{ \begin{array}{l}x_{k+1}=A_{k}x_{k}+B_{k}u_{k}\\ y_{k+1}=f(x_{k+1})\end{array} \right. \tag{10}\]  
where \(x_{k}\in R^{n}\) and \(x_{k+1}\) represent the current state and the transition state, respectively. \(A_{k}\) and \(B_{k}\) are state transition matrices and can be considered as the operator of the optimization algorithm. \(u_{k}\) is a function related to the current state \(x_{k}\) and the historical state. \(f()\) denotes the objective function. To solve the optimization problem of Equation (10), the four core operation operators are as follows:  
Rotation operator:  
\[x_{k+1}=x_{k}+\alpha\frac{1}{n\|x_{k}\|_{2}}R_{r}x_{k} \tag{11}\]  
where \(x_{k}\in R^{n}\), \(\alpha\) is a positive number and becomes a rotation operator, \(n\) denotes the number of variables, and \(R_{r}\in R^{n\times n}\) is a uniformly distributed random matrix between \([-1,1]\). The operator is a search algorithm to search in a super surface with \(x_{k}\) as the center and \(\alpha\) as the radius, and the radius \(\alpha\) satisfies \(\|x_{k+1}-x_{k}\|_{2}\leq\alpha\). Translation operator:  
\[x_{k+1}=x_{k}+\beta R_{t}\frac{x_{k}-x_{k-1}}{\|x_{k}-x_{k-1}\|_{2}} \tag{12}\]  
\(\beta\) is a positive number and becomes a translation operator. \(R_{t}\in R\) is a random number with a uniform distribution between \([0,1]\). The operator searches along the positive direction of the \(x_{k-1}\) to \(x_{k}\) gradient with a maximum search step of \(\beta\). Expansion operator:  
\[x_{k+1}=x_{k}+\gamma R_{e}x_{k} \tag{13}\]\(\gamma\) is a positive number and becomes an expansion operator. \(R_{e}\in R^{n\times n}\) is a diagonal matrix that follows a Gaussian distribution. The operator can optimize the whole search space. Axesion operator:  
\[x_{k+1}=x_{k}+\delta R_{a}x_{k} \tag{14}\]  
\(\delta\) is a positive number and becomes an axesion operator. \(R_{a}\in R^{n\times n}\) is a diagonal matrix that follows a Gaussian distribution, and the matrix has only one random position with elements other than zero. The basic flowchart of the STA is shown in Figure 1. In Figure 1, _Best_ is the optimal individual in the species, \(SE\) is the number of individuals in the search species, and \(\alpha,\beta,\gamma,\delta\) are the rotation operator, translation operator, expansion operator, and axesion operator, respectively. In Figure 1, three steps of expansion, rotation, and axesion are performed, and the translation operation is embedded in these three steps. Specific steps are as follows:  
1. Determine the problem objectives and variables. The number of searches \(SE\) for initializing the state transition algorithm and the value of each operation factor \(\alpha,\beta,\gamma,\delta\). 2. Calculate the fitness value of each individual in the species. 3. _Best_ \(\leftarrow\) expansion \((Best,SE,\beta,\gamma)\), _oldBest_ \(\leftarrow\)_Best_, its fitness value is \(f(Best)\). 4. Copy _oldBest_ into a species with \(SE\) individuals, and expand to obtain species _state_. Calculate the individual fitness value in _state_. At this time, the best individual in the group is _newBest_, and the fitness value is _gBest_. 5. If \(gBest<f(Best)\) (for the minimization problem), then \(f(Best)\gets gBest,Best\gets newBest\), and execute Step6; otherwise, execute Step7. 6. \(x_{k-1}\gets oldBest,x_{k}\leftarrow\)_Best_, each copied \(SE\) times, paired in pairs.