## 3 Solution Approach
### Re-Optimization Stage and VNS-TA Algorithm
#### 3.2.3 Local Optimization Process  
From the perspective of mathematical model solving, the neighborhood solution can be retained as the local optimal solution as long as the fitness function value of the neighborhood solution becomes smaller. In addition, it should be made clear that (1) the local optimal solution changes with continuous iteration and is not static, and (2) the local optimal solutions obtained by different local optimization processes are different, which depends on the design rules of the algorithm designer. Next, this paper will explain how to obtain the local optimal solution from the perspective of algorithm design. First, based on the designed neighbor path selection mechanism, two paths are selected successively according to the order of the search value from large to small. Then, local search operators, such as 2-opt\", swap, insert and 2-opt, are used to perform a local search and optimization on the two selected paths. 1. Neighbor path selection mechanism. This design is based on the neighbor optimization mechanism [42], the idea of gradually expanding the local search space of solutions [28] and the empirical basis for the construction of VNS [46]. The mechanism selects two paths for local search and optimization according to the order of the search value and optimization space from large to small. There are a few key points to note here. First, the closer the two paths are in physical space, the easier it is to generate invalid intersections. In this case, there is a larger search value and optimization space between the two paths, and eliminating invalid intersections can realize the optimization of the solution. When the distance between the two paths increases, the search value and optimization space correspondingly decrease. Second, the closer the two paths are, the closer the \"distance\" is between the new solution and the old solution in the solution space. In this case, there are more high-quality common features between the two solutions, and it is easier to obtain a better, new solution based on the old solution. In addition, note that the maximum number of intervals between two paths is \(maxp=floor(numel(Rout)/2)\)--that is, the rounding down of \(1/2\) of the number of paths. The explanation is that choosing \(Subpath_{m}\) and \(Subpath_{m+p}\) is equivalent to choosing \(Subpath_{m}\) and \(Subpath_{m-numel(Rout)+p}\). For example, in the case of \(numel(Rout)=8\), the choice of \(Subpath_{1}\) and \(Subpath_{4}\) when \(p=3\) is equivalent to the choice of \(Subpath_{4}\) and \(Subpath_{1}\) when \(p=5\). Moreover, when two paths are repeatedly selected, the search value and optimization space decrease and the invalid repeated search and running time increase. 2. Local search operators. Based on the two selected paths, the 2-opt*, swap and insert operators are used for the local search between paths. The 2-opt operator is used to expand the search and optimization within the path for the two paths. Specifically, the 2-opt* operator process is as follows: select one arc in each of the two paths for elimination to obtain four path fragments and generate two new paths different from the original two paths by reconnecting them. Note that the reconnection of four fragments results in two connection modes, as shown in Figure 1a. The swap operator process is as follows: select a node in each of the two paths for exchange to form two new paths, as shown in Figure 1b. The insert operator process is as follows: select a node in each of the two paths and insert one node in front of or behind the other node to form two new paths, as shown in Figure 1c. Notably, the insert operator may cause the disappearance of the path. Therefore, a mechanism of \"eliminating the empty path \(\rightarrow\) exiting the loop \(\rightarrow\) re-entering the loop\" is designed to help the local optimization process continue. The 2-opt operator process is as follows: select two different nodes on the path and flip the two nodes and all nodes in between to obtain a new path, as shown in Figure 1d.