## 3 Proposed Approach
### The Improved GEP
#### 3.2.2 Evolutionary Search Process
The process of recombination has the ability to retain valuable fragments during each iteration, thereby ensuring the convergence of the algorithm. This study employed three distinct forms of recombination, namely one-point recombination, two-point recombination, and gene recombination. The genetic operators utilized in GEP not only consistently generate offspring that adhered to syntactical rules, but also demonstrated efficacy in generating genetic diversity [50; 51]. _(3) Adaptive neighborhood search:_ The adaptive strategy used in this paper is to learn the validity of each neighborhood search in the current optimization algorithm as the iteration proceeds. In order to promote effective competition between neighborhoods, the neighborhood method with the better search strategy has a higher selection probability to being used for the optimization of the algorithm. This paper outlines the definition of four distinct neighborhood structures, each aimed at generating optimal individuals within the elite library:  
(1) The neighborhood structure \(N_{1}\): two element positions are randomly selected from the tail of the gene, and the corresponding element at the latter position is inserted before the previous one;  
(2) The neighborhood structure \(N_{2}\): two element positions are randomly selected from the tail of the gene, and the corresponding elements at these positions are exchanged;  
(3) The neighborhood structure \(N_{3}\): four element positions are randomly selected from the tail of the gene, and their order is shuffled and rearranged;  
(4) the neighborhood structure \(N_{4}\): two element positions are randomly selected from the tail of the gene, and the elements between these points are made into the reverse order. The adaptive neighborhood search algorithm comprises a series of steps, which can be outlined as follows:  
Figure 3: Genotype–phenotype of a dispatching rule, encoded as an expression tree. Step 1: Enter the initialization parameters; initial solution \(X\), number of iterations \(P\), the neighborhood structure \(N_{k}(k=1,2,3,4)\), loop variable \(i=1\), the success and failure times of neighborhood search that are expressed as \(N_{s}=0\), \(N_{f}=0\);  
Step 2: Judge whether the stopping criterion (\(i>P\)) is satisfied, and if it is, then output the optimal solution \(X^{*}\), otherwise go to Step 3;  
Step 3: If \(i<P/3\), select the neighborhood \(N_{k}\) for the search to obtain a new solution \(X^{\prime}\) randomly. Otherwise, calculate the probability \(\eta\) according to Equations (9) and (10) (select the larger \(\eta\) value), and select the neighborhood \(N_{k}\) for the search to obtain a new solution \(X^{\prime}\);  
Step 4: If \(f(X^{\prime})<f\big{(}X^{*}\big{)}\), then \(X^{*}=X^{\prime}\), \(N_{s}=N_{s}+1\); Otherwise, \(N_{f}=N_{f}+1\);  
Step 5: Update the \(\eta\) values of each neighborhood, \(i=i+1\). Go to Step 2. \[\xi=\alpha\cdot\frac{N_{s}}{N_{s}+N_{f}} \tag{9}\]  
\[\eta=\frac{\xi_{i}}{\sum_{k=1}^{4}\xi_{i}} \tag{10}\]  
The parameter \(\xi\) is used to the measure the improvement degree of the chromosome, where \(\alpha=\frac{f(X^{*})}{f(q)}\) is the relative fitness value, \(f(X^{*})\) represents the global optimal solution obtained in the elite library, \(f(q)\) denotes the fitness value of chromosomes in the current neighborhood search, and the probability \(\eta\) of each neighborhood is calculated according to \(\xi\) in the search process.