# Gyro Error Compensation in Optoelectronic Platform Based on a Hybrid ARIMA-Elman Model
## 3 Related Knowledge
### Differential Evolution  
Differential Evolution (DE) [16; 17] was proposed in 1997, by [PERSON] and [PERSON], on the basis of evolutionary ideas (such as genetic algorithms). The essence is a multi-objective, continuous variable optimization algorithm for solving multi-dimensional optimal solutions in space. The source of differential evolution is the earlier-proposed genetic algorithm (GA) [18; 19; 20; 21], which simulates crossover, mutation, and reproduction in genetics to design genetic operators.  
The difference between the differential evolution algorithm and the genetic algorithm is that, in the differential evolution algorithm, the initial population is randomly generated and the fitness value of each individual in the population is selected as the selection criterion. The main process also includes three steps of mutation, intersection, and selection. The difference is that the genetic algorithm controls the parental hybridization according to the fitness value, and the probabilities generated by the mutation are selected. Therefore, the probability that the individuals with large adaptation values are selected in the maximization problem is correspondingly larger. In the differential  
Figure 6: Decomposition results of a 4-layer wavelet.  
Figure 7: Reconstruction of the drift error.  
evolution algorithm, the mutation vector is generated by the parent difference vector and intersects with the parent individual vector to generate a new individual vector, which is directly selected by the parent individual. Obviously, the approximation effect of the differential evolution algorithm is more significant than genetic algorithm [22; 23].  
For optimization problems, \(minf(x_{1},x_{2},\cdots,x_{D})\), such that \(x_{j}^{L}\leq x_{j}\leq x_{j}^{U},j=1,2,\cdots,D\), where \(D\) is the dimension of the solution space, and \(x_{j}^{L}x_{j}^{U}\) is the upper and lower bounds of \(x_{j}\), respectively. The flow of the \(DE\) algorithm is described, as follows:  
Step 1: Population initialization  
The initial swarm can be expressed by the following equation, where \(NP\) indicates population size and \(rand(0,1)\) represents a random number distributed between \((0,1)\).  
\[\{x_{i}(0)|x_{j,i}^{L}\leq x_{j,i}(0)\leq x_{j,i}^{U},i=1,2,\cdots,NP;j=1,2, \cdots,D\}. \tag{12}\]  
They can be generated randomly by the following equation:  
\[x_{j,i}(0)=x_{j,i}^{L}(0)+rand(0,1)\cdot(x_{j,i}^{U}-x_{j,i}^{L}), \tag{13}\]  
where \(x_{j,i}(0)\) is the jth gene, representing chromosome 1 of the 0 th generation.  
Step 2: Mutation operation  
Individual variation is derived through differential strategy:  
\[v_{i}(g+1)=x_{r_{1}}(g)+\mathrm{F}\cdot(x_{r_{2}}(g)-x_{r_{3}}(g)),i\
eq r_{1} \
eq r_{2}\
eq r_{3}, \tag{14}\]  
where \(F\) is the scaling factor and \(x_{i}(g)\) indicates the ith individual in the \(g\)-generation population.  
Step 3: Cross operation  
Inter-individual cross-operation can be performed between the \(g\)-generation population \(\{x_{i}(g)\}\).  
\[u_{j,i}(g+1)=\{v_{j,i}(g+1),\quad if\quad rand(0,1)\leq CR\quad or\quad j=j_{ rand}\} \tag{15}\]  
otherwise,  
\[u_{j,i}(g+1)=x_{j,i}(g), \tag{16}\]  
where \(\{v_{i}(g+1)\}\) is its variant intermediates, \(CR\) is the crossover probability, and \(j_{rand}\) is a random integer within \([1,2,\cdots,D]\).  
Step 4: Selection operation  
\(DE\) uses greedy algorithms to select individuals which can enter the next generation of populations:  
\[x_{i}(g+1)=\{u_{i}(g+1),\quad if\quad f(u_{i}(g+1))\leq f(x_{i}(g))\} \tag{17}\]  
otherwise,  
\[x_{i}(g+1)=x_{i}(g). \tag{18}\]