## 2 Improved Gene Expression Programming for Determining a Creep Model
### Improved Gene Expression Programming  
In practice, the convergence rate of the GEP is slow, and the number of iterations is too high when the termination criterion is satisfied. [PERSON] [37] reported that modifying the mutation range rate based on the simulated annealing algorithm [38; 39] can accelerate convergence. However, the GEP algorithm contains a mutation process, and the improvement can be used with the GEP algorithm as well. Based on [PERSON]'s study, the fitness of chromosomes in the roulette wheel sampling procedure [40] can be changed as follows:  
\[f_{i-\text{roulette wheel}}=\frac{e^{f_{i}/T}}{\sum_{i=1}^{M}e^{f_{i}/T}} \tag{7}\]  
where \(f_{i}\) is the fitness of the \(i\)th chromosome, \(f_{i-\text{roulette wheel}}\) is the fitness of the \(i\)th chromosome in roulette wheel sampling [40], \(M\) is the size of the population, and \(T\) is the temperature. The temperature \(T\) is changed according to the evolution time (Equation (8)).  
\[T=T_{0}(0.99^{g-1}) \tag{8}\]  
where \(T_{0}\) is the initial temperature, \(g\) is the present evolution time, and \(T\) is the temperature after \(g\) evolution times.  
Figure 4: A flow chart of the process of establishing a creep model via gene expression programming.  
In [PERSON]'s study, mutation occurred based on the simulated annealing algorithm. When the fitness of the chromosome after mutation is greater than before, mutation will occur without a doubt, or mutation will occur at a probability of \(e^{-(f_{i-\text{before}}-f_{i-\text{after}})/T}\). \(f_{i-\text{before}}\) is the fitness of the \(i\)th chromosome before mutation, and \(f_{i-\text{after}}\) is the fitness of the \(i\)th chromosome after mutation.  
Furthermore, changing the recombination probability of individuals can accelerate the convergence rate. [PERSON] et al. [41] proposed an algorithm to change the recombination rate according to the specific situation:  
\[p_{ci}=\begin{cases}p_{\text{cmax}}-(p_{\text{cmax}}-p_{\text{cmin}})(\frac{g}{ 2G}+\frac{f_{i}-\overline{f}}{2(f_{\text{max}}-\overline{f})}),&f_{i}\geq \overline{f}\\ p_{\text{cmax}},&f_{i}<\overline{f}\end{cases} \tag{9}\]  
\[p_{\text{cmax}}=\left\{\begin{array}{ll}0.9,g\leq G/4\\ 0.8,G/4<g\leq 3G/4\\ 0.7,3G/4<g\leq G\end{array}\right. \tag{10}\]  
where \(p_{ci}\) is the recombination probability of the \(i\)th individual; \(G\) is the maximum evolution time; \(g\) is the present evolution time; \(p_{\text{cmin}}\) is 0.6; \(f_{i}\) is the fitness of the \(i\)th individual; \(f_{\text{max}}\) is the maximum fitness of the population for the present evolution; and \(\overline{f}\) is the mean fitness of the population for the present evolution. By adopting these techniques, individuals with low fitness should involve recombination more frequently, which is helpful for producing good generations with high fitness. The individuals with high fitness values should be preserved, and the corresponding recombination probability should be lower.  
For convenience in implementing improved GEP, the flow chart of improved GEP is illustrated in Figure 5.  
Figure 5: A flow chart of improved gene expression programming.  
To obtain a creep model based on the experimental data via the improved GEP algorithm, the corresponding program was complied with via the Python language.