# Non-Vertical Well Trajectory Design Based on Multi-Objective Optimization
## 4 Information Entropy Guided Multi-Reference Vector NSGA-III Optimization Algorithm
### Dynamic Reference Point NSGA-III Main Cycle  
The dynamic reference point NSGA-III main cycle proposed in this paper achieves the efficient approximation of complex Pareto fronts through the collaborative optimization of non-dominated sorting, environmental selection, and genetic operations (crossover and mutation). Specifically, the algorithm first uses fast non-dominated sorting to divide the current population into multiple non-dominated frontiers. The individuals in each frontier have the same non-dominated rank, and the ranking rule is as follows: the frontier \(F_{1}\) contains all non-dominated individuals that are not dominated by any other individuals; the \(F_{2}\) of the front contains individuals that are not dominated by \(F_{1}\) in the remaining individuals; and so on, until all individuals are allocated. This hierarchical strategy ensures that the algorithm preferentially preserves high-quality solution sets during the iteration process.  
In the environment selection stage, the algorithm maintains the diversity of the population through reference vector association and niche selection. For each individual \(x\), calculate its cosine similarity with all reference vectors \(w_{j}\):  
\[\cos(\theta_{j})=\frac{x\cdot w_{j}}{\parallel x\parallel\cdot\parallel w_{j} \parallel} \tag{38}\]  
Among the variables, \(x\cdot w_{j}\) represents the inner product, and \(\parallel x\parallel\) and \(\parallel w_{j}\parallel\) are the Euclidean norm of \(x\) and \(w_{j}\), respectively. The individual is assigned to the reference vector j with the highest similarity, and the distance \(dj=1-cos(\theta_{j})\) from the reference vector is recorded. Subsequently, through the niche selection strategy, the reference vector region with a small number of associated individuals is preferentially filled. The specific steps are as follows: initialize the correlation count \(n_{j}=0\) of each reference vector; the individuals in the current frontier are sorted in ascending order of distance \(dj\); the individual with the smallest distance is selected in turn; and the \(n_{j}\) corresponding to the reference vector is updated until the upper limit of the population size is reached. This mechanism effectively avoids the over-filling of the reference vector region, thereby improving the distribution uniformity of the solution set.  
In order to ensure the diversity of the population, the algorithm uses simulated binary crossover (SBX) and polynomial mutation operations. The parameter settings of SBX are as follows: crossover probability \(p_{c}=0.9\) and distribution index \(\eta_{c}=15\). The parameters of polynomial mutation are as follows: mutation probability \(p_{m}=0.2\) and distribution index \(\eta_{m}=20\). SBX preserves the excellent characteristics of the parent individual with high probability by generating two offspring individuals and introduces random disturbance to explore new regions. Polynomial variation further enhances the diversity of the population by slightly disturbing individual genes. The combination of the two balances the global exploration ability and local development ability of the algorithm and prevents the population from converging to the local optimum prematurely.