## 4 Truck-UAV Collaborative Delivery Planning Algorithm Based on Improved Evolutionary Algorithm
### Algorithm Design
#### 4.2.4 Pareto Front Maintenance  
The Pareto front is a fundamental concept in the domain of multi-objective optimization. Its primary function is to offer a set of optimal trade-off solutions for multiple conflicting objectives [32]. In multi-objective problems, the interdependencies among various objectives often preclude the existence of a single global optimal solution. The Pareto front facilitates decision making by delineating all non-dominated solutions, thereby providing a diverse selection space [33]. This paper outlines the steps involved in the maintenance strategy for the Pareto front as follows:  
Non-dominated sorting involves stratifying the solutions within a population based on their dominance relationships. This process categorizes the solutions into multiple front levels using a quick sorting method. In order to accommodate the alteration in the target spatial scale, the extreme point tracking method is employed. The maximum solution for each target defense line is defined as \(\text{z}_{\text{i}}^{\text{nad}}=\underset{\text{x}\in\text{PF}}{\text{max}} _{\text{x}\in\text{PF}}\text{i}(\text{x})\). During the evolutionary process, the extreme points are updated consistently to account for the expansion of the frontier \(\text{z}_{\text{i}}^{\text{nad}}(\text{t})=\underset{\text{x}\in\text{PF}_{ \text{t}}}{\text{max}}_{\text{x}\in\text{PF}_{\text{t}}}\text{i}(\text{x})+ \delta\cdot\text{\sigma}_{\text{i}}(\text{t})\). In this context, \(\text{\sigma}_{\text{i}}(\text{t})\) represents the standard deviation in the direction of the current Pareto target during the t-th iteration, while the relaxation coefficient is denoted as \(\delta\). To maintain niche diversity, a crowding entropy strategy is employed to update the niche of the Pareto frontier, thereby ensuring the population's diversity [34]. For any solution \(\text{x}_{\text{i}}\), its crowding entropy is defined as \(\text{CE}(\text{x}_{\text{i}})=-\sum_{\text{i}=1}^{\text{k}}\text{p}_{\text{ j}}\text{logp}_{\text{j}}\), where \(\text{p}_{\text{j}}=\frac{\partial\text{f}_{\text{j}}/\partial\text{x}_{\text{ i}}}{\sum_{\text{i}=1}^{\text{k}}\partial\text{f}_{\text{j}}/ \partial\text{x}_{\text{i}}}\). After calculating the crowding entropy for all solutions, we arrange them in descending order. Subsequently, for the low-entropy solutions positioned at the end of the list, we exclude them with a specified probability. Pareto frontier and the process of Pareto pruning involve merging new solutions with existing solutions following each generation of evolution. Subsequently, non-dominated solutions are extracted to constitute the solution set for the next generation. In instances where the number of solutions surpasses a predetermined threshold, Pareto pruning is implemented. This process entails retaining high-entropy solutions based on a crowding entropy sorting method, while low-entropy solutions are randomly pruned. However, it is essential to ensure that at least one extreme solution is preserved in each direction. In summary, the comprehensive pseudo-code for the air-ground collaborative distribution, which is based on the enhanced evolutionary algorithm, is presented as Algorithm 3:```
Input: Road network data file, distribution center set D, maximum number of iterations T, maximum population size N Output: Pareto frontier PF, optimal distribution scheme best_solution Generate a complete road network graph G.
``` G. Nodes \(\leftarrow\) Read node data G. Edges \(\leftarrow\) Read node data G. failed_nodes \(\leftarrow\) Mark failed nodes (randomly select 5-15% of the nodes) G. failed_edges \(\leftarrow\) Calculate vulnerable road sections Calculate the vulnerability function: Importance = Edge betweenness \(\times\) Road section flow Failure impact = (Original network efficiency-Efficiency after removing the edge)/Original efficiency Return the weighted normalized values of importance and failure impact Generate the initial population P_0. for i = 1 to N Current solution.