A Coordinated Vehicle–Drone Arc Routing Approach Based on Improved Adaptive Large Neighborhood Search

Through urban traffic patrols, problems such as traffic congestion and accidents can be found and dealt with in time to maintain the stability of the urban traffic system. The most common way to patrol is using ground vehicles, which may be inflexible and inefficient. The vehicle–drone coordination maximizes utilizing the flexibility of drones and addresses their limited battery capacity issue. This paper studied a vehicle–drone arc routing problem (VD-ARP), consisting of one vehicle and multiple drones. Considering the coordination mode and constraints of the vehicle–drone system, a mathematical model of VD-ARP that minimized the total patrol time was constructed. To solve this problem, an improved, adaptive, large neighborhood search algorithm (IALNS) was proposed. First, the initial route planning scheme was generated by the heuristic rule of “Drone-First, Vehicle-Then”. Then, several problem-based neighborhood search strategies were embedded into the improved, adaptive, large neighborhood search framework to improve the quality of the solution. The superiority of IALNS is verified by numerical experiments on instances with different scales. Several critical factors were tested to determine the effects of coordinated traffic patrol; an example based on a real road network verifies the feasibility and applicability of the algorithm.


Introduction
With the continuous increase in car ownership in urban areas, congestion, traffic accidents, and other adverse factors seriously affect the operation of the urban traffic system [1], which is a huge challenge for traffic management departments. In order to maintain the stability of the urban traffic system, a traffic patrol of the urban road network is essential. At present, there are problems such as poor pertinence, inflexibility, and untimely monitoring in traditional police patrols using ground vehicles. By developing civil drones and making full use of their flexibility, mobility, and timeliness, the efficiency of urban traffic patrols can be further improved [2]. However, the widespread application of drones is limited by their battery capacities [3].
The combination of vehicle and drone gives full range to their advantages, and makes up for their shortcomings [4]. Drones are less limited by ground traffic, and can perform better in places that are difficult for vehicles to reach. Meanwhile, when not visiting tasks, the drones stay on the vehicle and the battery can be replaced to prepare for the next flight. In the past few years, research on coordinated vehicle-drone routing was mostly applied to parcel deliveries [5]. For example, Murray and Chu [4] first proposed the flying sidekick traveling salesman problem (FSTSP) in 2015, to study the parcel delivery problem considering a vehicle and a drone. In this problem, the drone can only visit one customer after launching from the vehicle each time, and the vehicle cannot stop in place to wait and recover the drone. Agatz et al. [6] propose the traveling salesman problem with drone

•
We proposed a vehicle-drone arc routing problem considering a vehicle and multiple drones (VD-ARP), and considered a more realistic scenario in which drones fly outside of the road network in addition to visiting tasks. This was rarely investigated in the past.

•
To solve VD-ARP, we designed an improved, adaptive, large neighborhood search algorithm (IALNS). First, the task edges were encoded and the initial solution was generated by the "Drone-First, Vehicle-Then" heuristic method. Then, a set of problembased neighborhood search strategies were designed. Finally, the simulated annealing mechanism, tabu table, and multiple neighborhood search strategies were embedded into the adaptive large neighborhood search framework to improve the solution. Compared with the existing heuristic methods, IALNS can be applied to larger-scale tasks, and obtain an acceptable solution in a short time.

•
The effectiveness and superiority of IALNS are verified based on the experiments of instances with different scales. In addition, a case study was carried out to show that IALNS provides a satisfactory traffic patrol routing scheme in a short time.
The remainder of this paper is structured as follows. Section 2 provides a brief review of related works and Section 3 describes the VD-ARP and gives a mathematical model. Section 4 details the proposed improved, adaptive, large neighborhood search algorithm, and Section 5 reports and discusses the experimental studies. Finally, Section 6 gives conclusions.

Related Work
In recent years, traffic patrols have become an important way to prevent and respond to emergencies in urban traffic management [21]. Through traffic patrols, it is possible to intervene in congestion and monitor vehicle violations, as well as road facilities and equipment. Steil et al. [22] study the expression, execution, evaluation, and engagement of patrol routing algorithms for accident-prone locations on roads, so as to provide acceptable patrol routes for organizations such as police agencies and emergency medical responders. Jalili et al. [23] design a set of comprehensive measures for highway patrol agencies to measure and improve the management effectiveness, in order to improve road network safety. Li et al. [24] propose a new evaluation standard to evaluate the effect of traffic patrols in emergency situations. Chawathe et al. [25] solve a problem of patrol route planning, aiming at minimizing the length of patrol routes, and maximizing coverage of patrol locations. There are also some studies related to traffic patrols with drones. Wang et al. [26] use drones to collect data for vehicle speed analyses in the road network. Munishkin et al. [27] and Wu et al. [28] propose an information transmission model and an adaptive data processing system for vehicles and drones respectively, providing theoretical support for a coordinated traffic patrol of vehicles and drones. The main contribution of this paper is to design a route planning algorithm for a coordinated vehicle-drone traffic patrol problem by taking the required road segments as patrol targets.
When the patrol targets of vehicles and drones are segments in the road network, this problem is described as a variant of the arc routing problem [17]. The arc routing problem was developed from graph theory [29], and the most widely studied arc routing problems include the Chinese postman problem (CPP) [30,31], rural postman problem (RPP) [32][33][34], and capacitated arc routing problem (CARP) [35,36]. Kwan [37] first proposed the CPP, and designed a deterministic solution method. The problem is described as traversing all edges of a graph, and minimizing the total distance. Lima et al. [38] solve the CPP based on a mixed graph through ant colony algorithm, which is proven to be an NPhard problem. As for RPP, only a part of the edges in the graph should be the accesses. Hertz et al. [39] reconstruct the undirected RPP problem, and design a variety of heuristic methods to obtain high-quality solutions. Fernandez et al. [40] study a multi-depot RPP, in which each route starts and ends at the same depot, and develop a branch-and-cut algorithm. Zhang et al. [41] propose a multi-depot CARP of a large scale, and introduce an iterative improved heuristic algorithm to solve it. Babaee et al. [42] design a hybrid ant colony optimization algorithm to solve the multi-trip CARP, and apply it to urban solid waste management. With the widespread use of drones, the arc routing problem has been extended, since drones can fly between any two nodes without following the road network. Oh et al. [43] present the Chinese postman problem with drones, traversing all edges of the road network by drones. Campbell et al. [44] first define the drone arc routing problem (DARP), in which the drone can move directly between any two points in the graph, and the entire edge accessed through multiple drone flights. However, the above studies on arc routing are all for the route planning of a patrol platform (vehicles or drones), while this paper considers both vehicles and drones, which is a more complex combinatorial optimization problem. In the last few years, research related to route planning combining vehicles and drones gradually emerged, and was applied to parcel deliveries [45]. Murray and Chu [4] and Agatz et al. [6] first propose FSTSP and VRP-D, respectively, to enable a vehicle and a drone to visit customer nodes in parallel, and design heuristic methods to plan the vehicle and drone routes. In the literature review of Chung et al. [5], the research on various joint vehicle-drone operations, based on parcel delivery, is introduced in detail. However, to the best of our knowledge, there are few related studies on the arc routing problem for coordinated vehicle-drone operations. Luo et al. [20] study an urban patrol problem considering a vehicle and a drone, and design a heuristic method to solve the problem. However, in this paper, we consider the combination of multiple drones and one vehicle, and assume that the drones can fly between any two nodes in the road network. Table 1 presents the research status of representative parts of relevant works. Obviously, most studies consider road network scenarios. As for the research on routing optimization, there are two types of tasks, i.e., arc and point. It should be noted that most of the studies on routing optimization are based on one platform (vehicles or drones), while this paper focuses on the coordination of vehicles and drones. Moreover, different from [20], we consider the combination of one vehicle and multiple drones, which is more complex and flexible than that of one vehicle and one drone.  [24] Evaluation system M ---Yes Wang et al. [26] Data analysis M n --Yes Kwan [37] Routing optimization 1 -Cost Arc Yes Hertz et al. [39] Routing optimization 1 -Cost Arc Yes Babaee et al. [42] Routing optimization M -Cost Arc Yes Campbell et al. [44] Routing optimization -

Problem Description
The proposed VD-ARP in this paper can be described as: a vehicle departs from the depot, carrying multiple drones, which can be launched and recovered several times from the vehicle, and the vehicle and the drones jointly access all target edges in the road network. Finally, the vehicle returns to the depot with all the drones. Once a drone accesses the required target edges in a flight, it needs to return to the vehicle. The vehicle also acts as an energy supply station for the drones to replace the battery. In this problem, some of the target edges are required to be accessed only by drones. To simplify the problem and facilitate the model, we consider the following assumptions:

•
The launch or recovery operations of a drone must be carried out at a node (intersection), and the vehicle can perform multiple launch/recovery operations at one node; • After the vehicle launches/recovers a drone, it can wait in place, or go to another node to recover the drone or launch another drone; • The vehicle must move along the road network, while the drone routes are not restricted by the road network; • The launch/recovery time of a drone is very short compared to the travel time on the road. Therefore, as in references [6,19], the time of launching/recovering a drone is incorporated into the travel time here. The urban road network is simplified as an undirected connected graph, represented by G = (V, E). The set of nodes (intersections of the road network) is expressed as V = {1, 2, . . . , n}, where n is the number of nodes. The set of edges (road segments) is denoted as E = e ij = (i, j) i, j ∈ V , e ij for connecting nodes i and j. The road network is undirected, so e ij and e ji represent the same edge. Since the vehicle moves along the road network, in order to distinguish the start nodes and end nodes of all edges that the vehicle passes through, the set V − represents the start node set, and V + represents the end node set. Depots in both sets are represented by v 0 and v PC , respectively. T is the general target edge set, while TD is the target edge set that can only be accessed by drones, T, TD ⊆ E. Figure 1 is a schematic diagram of the road network and target edges. In the figure, according to the above definition, T = {(13, 21)(11, 16)(15, 16)} and TD = {(7, 8) (9,14)}. In addition, other symbols and descriptions are shown in Table 2.
The j-th pair of launch and recovery nodes for the i-th target edge The drone route which visits the target edges in set SVTE i , with l for the launch node and r for the recovery node w ij Length of edge e ij t i The time when the vehicle arrives at node i t k Auxiliary variable, av t,k = 1 if the k-th drone has been launched at time t, otherwise, av t,k = 0 As mentioned above, the objective function consists of two parts: the time it takes for the vehicle to arrive at the depot, and the time spent waiting at the depot for all drones to return to the vehicle. Hence, the optimization objective of the patrol routing planning problem is the total patrol time, which can be written as where the first part is the time when the vehicle arrives at the depot v PC , and ε PC represents the waiting time for the vehicle to recover all drones at the depot. When the vehicle is not the last to arrive at node i, ε i = max t k i − t i ; when the vehicle arrives last, ε i = 0. It is worth noting that t k i denote the time when the k-th drone arrives at node i, where k ∈ D.
where the first part is the time when the vehicle arrives at the depot , and ε represents the waiting time for the vehicle to recover all drones at the depot. When the vehicle is not the last to arrive at node , ε = max − ; when the vehicle arrives last, ε = 0. It is worth noting that denote the time when the -th drone arrives at node , where ∈ . In addition, the main constraints that the problem should satisfy are as follows.
Constraint (2) shows that for any node k, the number of inward and outward arcs are the same, which means that the number of edges the vehicle enters node k and exits from node k are the same. Constraints (3) and (4) ensure that the vehicle starts from the depot only once, and eventually returns to the depot. Constraints (5) and (6) ensure that the two types of target edges are accessed at least once. Constraints (7) and (8) ensure that each drone flight has only one launch node and one recovery node. Constraints (9) and (10) indicate that the coordination relationship between the drones and the vehicle is associated with the nodes in the vehicle that launch and recover the drones, ensuring that the launch and recovery nodes of drones must be nodes in the vehicle route.
There are also strict restrictions on the order in which drones can be launched and recovered. A drone can just be launched only if it has never been launched before, or it has been recovered since the last flight. If the drone has not been recovered at node i, it cannot be released from the vehicle. Constraints (11) and (12) stipulate that when the auxiliary variable av k i = 1, the k-th drone cannot be launched or recovered at node i. In constraint (13), the number of drones flying at any time is limited to d. The time constraints of the vehicle and drones are shown in constraints (14) and (15). Constraints (14) and (15) represent the earliest arrival time of the vehicle and drones at each node, respectively, where M is an extremely large positive number. Constraints (16) and (17), respectively, express the constraints of the maximum patrolling time when the vehicle and the drones arrive at node r first, where l and r meet constraint (18); that is, the launch and recovery nodes of the k-th drone in the f -th flight are l and r, respectively.

Patrol Route Planning Approach
This section introduces the solution method for VD-ARP, namely the improved, adaptive, large neighborhood search algorithm (IALNS). It is mainly introduced from the following four parts: target edge encoding, initial solution generation, framework of IALNS algorithm, and neighborhood search strategies. All operations must satisfy the constraints described in Section 3.

Target Edge Encoding
Due to the limited battery capacity of drones, only a limited number of target edges can be accessed during a single flight. Consequently, we store the successively accessed target edges in the i-th drone flight in the set SVTE i . Assuming that the first drone flight is shown in Figure 2, the drone is launched from node 2, and recovered at node 8 after visiting target edges e 53 and e 64 , then SVTE 1 = {e 53 , e 64 }. The first drone route can be recorded as 2, SVTE 1 , 8. Constraint (2) shows that for any node , the number of inward and outward arcs are the same, which means that the number of edges the vehicle enters node and exits from node are the same. Constraints (3) and (4) ensure that the vehicle starts from the depot only once, and eventually returns to the depot. Constraints (5) and (6) ensure that the two types of target edges are accessed at least once. Constraints (7) and (8) ensure that each drone flight has only one launch node and one recovery node. Constraints (9) and (10) indicate that the coordination relationship between the drones and the vehicle is associated with the nodes in the vehicle that launch and recover the drones, ensuring that the launch and recovery nodes of drones must be nodes in the vehicle route.
There are also strict restrictions on the order in which drones can be launched and recovered. A drone can just be launched only if it has never been launched before, or it has been recovered since the last flight. If the drone has not been recovered at node , it cannot be released from the vehicle. Constraints (11) and (12) stipulate that when the auxiliary variable = 1, the -th drone cannot be launched or recovered at node . In constraint (13), the number of drones flying at any time is limited to . The time constraints of the vehicle and drones are shown in constraints (14) and (15). Constraints (14) and (15) represent the earliest arrival time of the vehicle and drones at each node, respectively, where is an extremely large positive number. Constraints (16) and (17), respectively, express the constraints of the maximum patrolling time when the vehicle and the drones arrive at node first, where and meet constraint (18); that is, the launch and recovery nodes of the -th drone in the -th flight are and , respectively.

Patrol Route Planning Approach
This section introduces the solution method for VD-ARP, namely the improved, adaptive, large neighborhood search algorithm (IALNS). It is mainly introduced from the following four parts: target edge encoding, initial solution generation, framework of IALNS algorithm, and neighborhood search strategies. All operations must satisfy the constraints described in Section 3.

Target Edge Encoding
Due to the limited battery capacity of drones, only a limited number of target edges can be accessed during a single flight. Consequently, we store the successively accessed target edges in the -th drone flight in the set . Assuming that the first drone flight is shown in Figure 2, the drone is launched from node 2, and recovered at node 8 after visiting target edges and , then = , . The first drone route can be recorded as 〈2, , 8〉. The -th pair of launch and recovery nodes for the -th target edge is represented by , , , , where is the launch node and is the recovery node. Each target edge assigned to the drone has a set of launch and recovery node pairs = The j-th pair of launch and recovery nodes for the i-th target edge is represented by l i,j , r i,j , where l is the launch node and r is the recovery node. Each target edge assigned to the drone has a set of launch and recovery node pairs LR i = {[l i,1 , r i,1 ], [l i,2 , r i,2 ], . . .} that satisfy the drone battery capacity constraint, where each pair of nodes l and r should meet constraint (16)(17)(18) in Section 3. The target edges accessed by a drone flight have the same set of launch and recovery node pairs.
The variable A, used to store the target edge information, is a matrix variable of size N × 6, where N is the number of target edges. Each row of this matrix stores one target edge information. The first column stores visitors of the target edges, where -1 means accessed by the vehicle, and 1 by drones. The number i in the second column means that the target edge belongs to the set SVTE i . The third column represents the order in which the target edges are accessed, labeled 1 to N. The access order of target edges in the same set is contiguous. The fourth column stores the access direction of the target edges, wherein 0 indicates the forward direction that the target edge e ij is accessed from i to j, and 1 indicates the reverse direction. The fifth and sixth columns store the start and end nodes accessing the target edges. If the target edge is accessed by the vehicle (marked -1 in the first column), the start node and the end node are the two endpoints of the target edge, respectively. If it is accessed by a drone (marked as 1 in the first column), then a pair of launch and recovery nodes are stored, and the target edges in the same set are marked with the same node pairs. As shown in Figure 3, target edge 1 and target edge 3 belong to the same set, that is, they are accessed by the same drone flight. Therefore, the start nodes and end nodes of these two target edges are the same. , , , , , , , , … that satisfy the drone battery capacity constraint, where each pair of nodes and should meet constraint (16)(17)(18) in Section 3. The target edges accessed by a drone flight have the same set of launch and recovery node pairs. The variable , used to store the target edge information, is a matrix variable of size × 6, where is the number of target edges. Each row of this matrix stores one target edge information. The first column stores visitors of the target edges, where -1 means accessed by the vehicle, and 1 by drones. The number in the second column means that the target edge belongs to the set . The third column represents the order in which the target edges are accessed, labeled 1 to . The access order of target edges in the same set is contiguous. The fourth column stores the access direction of the target edges, wherein 0 indicates the forward direction that the target edge is accessed from to , and 1 indicates the reverse direction. The fifth and sixth columns store the start and end nodes accessing the target edges. If the target edge is accessed by the vehicle (marked -1 in the first column), the start node and the end node are the two endpoints of the target edge, respectively. If it is accessed by a drone (marked as 1 in the first column), then a pair of launch and recovery nodes are stored, and the target edges in the same set are marked with the same node pairs. As shown in Figure 3, target edge 1 and target edge 3 belong to the same set, that is, they are accessed by the same drone flight. Therefore, the start nodes and end nodes of these two target edges are the same.

Initial Solution Generation
First, the target edge information in the matrix variable , and the launch and recovery node pairs = , , , , , , , , … of the target edges assigned to drones, are randomly generated. Then, Algorithm 1, which gives the "Drone-First, Vehicle-Then" heuristic method, is designed to generate the initial vehicle and drone routes.
The heuristic method first initializes the vehicle route, drone route, and the number of drone routes (line 1), and obtains the set of vehicle target edges and the set of drone target edges . It is worth noting that and here are the sets of target edges that have been determined and assigned to the vehicle and the drones, respectively. In the main loop of generating the initial solution (lines 4-13), the drone routes ∑ , are generated first (lines 4-8), and then the vehicle route is generated, until all target edges are assigned.
The process of generating a drone route , can be described as: for the target edge assigned to the drones, randomly select a pair of launch and recovery nodes in , and then determine the drone route according to the direction and access order of all target edges in the same set as . Finally, delete the target edges from . Except for accessing the target edges, the drones fly along the shortest distance between any two nodes in the road network, and the distance between the two nodes passed by a drone is the Euclidean distance [46].

Initial Solution Generation
First, the target edge information in the matrix variable A, and the launch and recovery node pairs LR i = {[l i,1 , r i,1 ], [l i,2 , r i,2 ], . . .} of the target edges assigned to drones, are randomly generated. Then, Algorithm 1, which gives the "Drone-First, Vehicle-Then" heuristic method, is designed to generate the initial vehicle and drone routes.
The heuristic method first initializes the vehicle route, drone route, and the number of drone routes f (line 1), and obtains the set of vehicle target edges TV and the set of drone target edges TD. It is worth noting that TV and TD here are the sets of target edges that have been determined and assigned to the vehicle and the drones, respectively. In the main loop of generating the initial solution (lines 4-13), the drone routes ∑ f S dr, f are generated first (lines 4-8), and then the vehicle route S veh is generated, until all target edges are assigned.
The process of generating a drone route S dr, f can be described as: for the target edge i assigned to the drones, randomly select a pair of launch and recovery nodes in LR i , and then determine the drone route according to the direction and access order of all target edges in the same set as i. Finally, delete the target edges from TD. Except for accessing the target edges, the drones fly along the shortest distance between any two nodes in the road network, and the distance between the two nodes passed by a drone is the Euclidean distance [46].
The process of generating the vehicle route S veh can be described as follows: first, the launch and recovery nodes of each drone route are continuously inserted into the vehicle route, according to the access order. Next, for the target edge i assigned to the vehicle, two endpoints are inserted into adjacent positions in the vehicle route, according to the direction and access order. Finally, the target edge i is removed from the set TV. The vehicle can only travel along the road network, so the shortest distance between any two nodes in the vehicle route is calculated by Dijkstra algorithm [47].
Algorithm 1: "Drone-First, Vehicle-Then" heuristic method Input: The target edge information A; launch and recovery node pairs LR i Output: Randomly select a pair of launch and recovery nodes, and determine a drone route S dr, f according to the direction and access order of each target edge in the same set as i 7 Delete all target edges that are in the same set as target edge i from TD 8 Insert the launch and recovery nodes of target edge i into the vehicle route S veh according to the access order 9 Else if i ∈ TV then 10 Insert the two endpoints of target edge i into the vehicle route S veh according to the access order 11 Delete target edge i from TV 12 End if 13 End while

Framework of IALNS Algorithm
IALNS takes a large neighborhood search [48] as the basic search framework, and integrates a variety of effective mechanisms, such as adaptive neighborhood selection mechanism, tabu table, simulated annealing mechanism, initial solution generation method, and neighborhood search strategies, to improve the performance of IALNS. The objective of IALNS is to minimize the total patrol time. Algorithm 2 describes the framework of IALNS in detail.
IALNS inputs the target edge information A, initial temperature T 0 , final temperature T min , maximum number of iterations I max , annealing rate γ, destroy operator set DO, and repair operator set RO, and outputs the optimal solution S best . First, the initial solution S is obtained by the "Drone-First, Vehicle-Then" heuristic method introduced in Section 4.2. Then, the weight of the destroy operators do, weight of the repair operators ro, as well as current iteration I, current temperature T, and optimal solution S best are initialized in line 2. In the main loop of IALNS, the solution is iteratively updated until the termination criterion is satisfied (lines 3-19). The destroy operator and the repair operator are selected and executed to obtain a new solution S (line [4][5], and the new solution is accepted according to the simulated annealing mechanism. If the optimal solution is worse than the new solution, accept the new solution S ; otherwise, accept S with a probability exp( f /T) > ζ, where ζ is randomly sampled in the interval [0 , 1) (line [7][8][9][10][11][12][13][14]. Finally, at the end of each main loop, update do and ro, the tabu table, the current iteration I, and current temperature T accordingly (lines 15-18).

Algorithm 2: Framework of IALNS
Input:A; T 0 ; T min ; I max ; γ; DO; RO Output: S best 1 S ← DFVT(A, SE i ) 2 Initialize do = (1, . . . , 1); ro = (1, . . . , 1); I ← 1 ; T ← T 0 ; S best ← S 3 While T > T min and I < I max do 4 Select the destroy operator d ∈ DO and repair operator r ∈ RO according to do and ro If accept S then 8 S ← S 9 If F(S) < F(S best ) then 10 S best ← S 11 Else if exp( f /T) > ζ then 12 End if 14 End if 15 Update do and ro 16 Update the tabu table 17

Neighborhood Search Strategies
The neighborhood search strategies designed in this paper are composed of destroy operators and repair operators in pairs. The destroy operators delete the target edges from the original vehicle route and perform certain operations on the target edges, while the repair operators reinsert the operated target edges into the vehicle route with a certain rule to update the vehicle route.
Since the encoding of target edges in the matrix variable A is randomly generated, changing these elements may improve the solution in the neighborhood search. According to the characteristics of the proposed DV-ARP, we design a total of 7 destroy operators, which are described as follows:

Change the Access Direction of Target Edges Assigned to Drones
Randomly select a target edge assigned to drones and change the access direction of target edges, as Figure 4 shows. If there is only one target edge in the drone route, the access direction of the target edge is changed, and the start and end nodes are exchanged, and then deleted from the vehicle route. If there are multiple target edges, the entire drone route is flipped, and the start and end nodes are deleted from the vehicle route.

Change the Start and End Nodes of a Drone Route
A target edge accessed by drones is randomly selected and changed, as Figure 6 displays. Randomly re-select a pair of launch and recovery nodes in , and delete the original launch and recovery nodes from the vehicle route.

Change the Start and End Nodes of a Drone Route
A target edge accessed by drones is randomly selected and changed, as Figure 6 displays. Randomly re-select a pair of launch and recovery nodes in , and delete the original launch and recovery nodes from the vehicle route.

Delete Target Edge
Randomly select a target edge, if it is accessed by a drone, delete the start and end nodes from the vehicle route, as in Figure 7a. If it is accessed by the vehicle, the endpoints of the target edge are directly deleted from the vehicle route, as in Figure 7b.

Change the Start and End Nodes of a Drone Route
A target edge accessed by drones is randomly selected and changed, as Figure 6 displays. Randomly re-select a pair of launch and recovery nodes in LR i , and delete the original launch and recovery nodes from the vehicle route.

Change the Access Direction of a Target Edge Assigned to the Vehicle
Select a target edge accessed by the vehicle randomly, change the access direction, and delete the endpoints of the target edge from the vehicle route, as shown in Figure 5.

Change the Start and End Nodes of a Drone Route
A target edge accessed by drones is randomly selected and changed, as Figure 6 displays. Randomly re-select a pair of launch and recovery nodes in , and delete the original launch and recovery nodes from the vehicle route.

Delete Target Edge
Randomly select a target edge, if it is accessed by a drone, delete the start and end nodes from the vehicle route, as in Figure 7a. If it is accessed by the vehicle, the endpoints of the target edge are directly deleted from the vehicle route, as in Figure 7b.

Delete Target Edge
Randomly select a target edge, if it is accessed by a drone, delete the start and end nodes from the vehicle route, as in Figure 7a. If it is accessed by the vehicle, the endpoints of the target edge are directly deleted from the vehicle route, as in Figure 7b.

Merge Two Drone Routes
Randomly choose two drone routes, and merge the target edges in the two routes to form one drone route. Then, the original two pairs of start and end nodes are deleted from the vehicle route, which is depicted in Figure 8.

Reorganize Two Drone Routes
Randomly choose two drone routes and select a target edge from each route separately. Put these two target edges in one set, and put the remaining target edges of the two drone routes in another set. The start and end nodes of the two sets are randomly generated, and the two drone routes are formed accordingly. Delete the original start and end nodes from the vehicle route. The operator is presented in Figure 9.

Merge Two Drone Routes
Randomly choose two drone routes, and merge the target edges in the two routes to form one drone route. Then, the original two pairs of start and end nodes are deleted from the vehicle route, which is depicted in Figure 8.

Merge Two Drone Routes
Randomly choose two drone routes, and merge the target edges in the two routes to form one drone route. Then, the original two pairs of start and end nodes are deleted from the vehicle route, which is depicted in Figure 8.

Reorganize Two Drone Routes
Randomly choose two drone routes and select a target edge from each route separately. Put these two target edges in one set, and put the remaining target edges of the two drone routes in another set. The start and end nodes of the two sets are randomly generated, and the two drone routes are formed accordingly. Delete the original start and end nodes from the vehicle route. The operator is presented in Figure 9.

Reorganize Two Drone Routes
Randomly choose two drone routes and select a target edge from each route separately. Put these two target edges in one set, and put the remaining target edges of the two drone routes in another set. The start and end nodes of the two sets are randomly generated, and the two drone routes are formed accordingly. Delete the original start and end nodes from the vehicle route. The operator is presented in Figure 9.

Merge Two Drone Routes
Randomly choose two drone routes, and merge the target edges in the two routes to form one drone route. Then, the original two pairs of start and end nodes are deleted from the vehicle route, which is depicted in Figure 8.

Reorganize Two Drone Routes
Randomly choose two drone routes and select a target edge from each route separately. Put these two target edges in one set, and put the remaining target edges of the two drone routes in another set. The start and end nodes of the two sets are randomly generated, and the two drone routes are formed accordingly. Delete the original start and end nodes from the vehicle route. The operator is presented in Figure 9.

Change the Assignment Object of the Target Edge
First, randomly select a target edge. If it is accessed by a drone, determine whether the target edge can be assigned to a vehicle. If so, assign the target edge to the vehicle, and delete the start and end nodes from the vehicle, as shown in Figure 10a. If it is accessed by the vehicle, randomly generate a pair of start and end nodes of the target edge to form a new drone route, and the two endpoints are deleted from the vehicle route. In Figure 10b, the target edge e 78 originally assigned to the vehicle is reassigned to the drones. First, randomly select a target edge. If it is accessed by a drone, determine whether the target edge can be assigned to a vehicle. If so, assign the target edge to the vehicle, and delete the start and end nodes from the vehicle, as shown in Figure 10a. If it is accessed by the vehicle, randomly generate a pair of start and end nodes of the target edge to form a new drone route, and the two endpoints are deleted from the vehicle route. In Figure  10b, the target edge originally assigned to the vehicle is reassigned to the drones.

The Repair Operator
The repair operator can be abstracted, as in Figure 11. The two endpoints of the target edge accessed by the vehicle, or the start and end nodes of the target edge accessed by the drone after the destroy operator operation, are randomly inserted into the vehicle route. Note that the two endpoints of the target edge assigned to the vehicle must be inserted into adjacent positions. In any destroy operator operations, if the number of drone flights increases, it is necessary to determine whether the number of drones performing tasks during the interval of a newly added drone flight is less than the number of drones carried by the vehicle. If not, skip this operation to ensure that the constraints (11)(12)(13) in Section 3 are satisfied.
The combination of the above seven destroy operators and the repair operator constitutes seven different neighborhood search strategies.

The Repair Operator
The repair operator can be abstracted, as in Figure 11. The two endpoints of the target edge accessed by the vehicle, or the start and end nodes of the target edge accessed by the drone after the destroy operator operation, are randomly inserted into the vehicle route. Note that the two endpoints of the target edge assigned to the vehicle must be inserted into adjacent positions. First, randomly select a target edge. If it is accessed by a drone, determine whether the target edge can be assigned to a vehicle. If so, assign the target edge to the vehicle, and delete the start and end nodes from the vehicle, as shown in Figure 10a. If it is accessed by the vehicle, randomly generate a pair of start and end nodes of the target edge to form a new drone route, and the two endpoints are deleted from the vehicle route. In Figure  10b, the target edge originally assigned to the vehicle is reassigned to the drones.

The Repair Operator
The repair operator can be abstracted, as in Figure 11. The two endpoints of the target edge accessed by the vehicle, or the start and end nodes of the target edge accessed by the drone after the destroy operator operation, are randomly inserted into the vehicle route. Note that the two endpoints of the target edge assigned to the vehicle must be inserted into adjacent positions. In any destroy operator operations, if the number of drone flights increases, it is necessary to determine whether the number of drones performing tasks during the interval of a newly added drone flight is less than the number of drones carried by the vehicle. If not, skip this operation to ensure that the constraints (11)(12)(13) in Section 3 are satisfied.
The combination of the above seven destroy operators and the repair operator constitutes seven different neighborhood search strategies. In any destroy operator operations, if the number of drone flights increases, it is necessary to determine whether the number of drones performing tasks during the interval of a newly added drone flight is less than the number of drones carried by the vehicle. If not, skip this operation to ensure that the constraints (11)(12)(13) in Section 3 are satisfied.
The combination of the above seven destroy operators and the repair operator constitutes seven different neighborhood search strategies.

Experiments and Discussion
In this section, we first set up the experimental parameters, designed the instances of different scales, and introduced the comparison algorithms. Next, we tested the performance of the proposed algorithm through simulation experiments. Finally, a practical case was applied, to further verify the applicability of the algorithm. All algorithms were implemented in Python, and run on an x64 Windows 10 computer, with I7-10700F CPU and 16.00 GB memory.

Simulation Setup
According to previous experiments, the parameters involved were configured as follows: for each instance, the maximum number of iterations I max = 1500. The initial temperature T 0 was set to 100, and the termination temperature T min = 0.1. The annealing rate γ is 0.99. In addition, the relevant parameters of the vehicle and drones were set according to typical situations in practical applications, as shown in Table 3. Considering the characteristics of the urban road network, an undirected network graph with 50 nodes and 79 edges was randomly generated within the range of 5 km × 5 km. Three groups of instances with 5, 10, and 20 target edges were designed, marked as E1/E2/E3, and different target edges (distinguished by A, B, and C) were randomly set for each group of instances. For each instance, the number of target edges that can only be accessed by the drones is 1/5 of the total number of target edges. Table 4 describes the instances in detail. E3-C 20 4 In this paper, the proposed IALNS was compared with VND [49], VND with tabu list (VND-tabu), and the improved LNS [48] (ILNS). Compared with IALNS, the neighborhood search strategies were randomly selected with no weight change in ILNS. Moreover, the length of the table list is set as follows: where N represents the total number of target edges.

Experiments and Analyses
All comparison algorithms used the same neighborhood search strategies and initial solution generation method as IALNS, for fairness. We ran each algorithm 20 times for each instance. Table 5 and Figure 12 present the average performance of IALNS and the three comparison algorithms. "Result (s)" and "Running time (s)" represent the total patrol time and consumed running time, respectively. "Average" is the average value of the nine instances, and "GAP" is a parameter used to further compare the performance differences between IALNS and the other approaches, which can be calculated by  Taking the three instances E1-A, E2-A, and E3-A as representatives, the schematic diagrams of the route planning results are shown in Figure 13. The vehicle routes are represented by solid black lines, and the routes of different drones are labeled in different colors. The forward directions of all routes are indicated by arrows. The blue dots label the depot. Target edges that can be accessed by the vehicle or drones are represented by red segments, and target edges that can only be accessed by drones are represented by pink segments. In Table 5 and Figure 12, it can be observed that as the number of target edges increases, the solution results and running time of each algorithm increase. From Table 5, the comparison of all algorithms shows the superiority of IALNS. Compared with the three comparison algorithms, IALNS reduces the total patrol time by 6.56%, 7.45%, and 3.62% respectively. As Figure 12 displays, ILNS and IALNS always perform better solutions. It is because ILNS and IALNS have a larger search space, by randomly selecting the neighborhood search strategies, which increases the possibility of finding better solutions. Compared with ILNS, IALNS has obvious advantages in the solution results, which can be explained as the adaptive selection mechanism dynamically adjusting the weight of each neighborhood search strategy to guide the search direction, in order to obtain better solutions. Moreover, IALNS performs best in terms of solution quality and running speed. In general, the IALNS algorithm combines the advantages of the adaptive mechanism, simulated annealing mechanism, and tabu table, which not only avoids falling into local optimum, but also improves the convergence speed.
Taking the three instances E1-A, E2-A, and E3-A as representatives, the schematic diagrams of the route planning results are shown in Figure 13. The vehicle routes are represented by solid black lines, and the routes of different drones are labeled in different colors. The forward directions of all routes are indicated by arrows. The blue dots label the depot. Target edges that can be accessed by the vehicle or drones are represented by red segments, and target edges that can only be accessed by drones are represented by pink segments. Taking the three instances E1-A, E2-A, and E3-A as representatives, the schematic diagrams of the route planning results are shown in Figure 13. The vehicle routes are represented by solid black lines, and the routes of different drones are labeled in different colors. The forward directions of all routes are indicated by arrows. The blue dots label the depot. Target edges that can be accessed by the vehicle or drones are represented by red segments, and target edges that can only be accessed by drones are represented by pink segments. To further verify the stability of each algorithm, the statistical results of the standard deviation of different algorithms are obtained, as shown in Table 6. Each algorithm was independently run 20 times. "Max", "Min" and "Avg" are the maximum, minimum, and average values of the standard deviations of the nine instances, respectively.  To further verify the stability of each algorithm, the statistical results of the standard deviation of different algorithms are obtained, as shown in Table 6. Each algorithm was independently run 20 times. "Max", "Min" and "Avg" are the maximum, minimum, and average values of the standard deviations of the nine instances, respectively. The statistical results in Table 6 show that the average standard deviation of IALNS is 0.0826, which is smaller than that of the other comparison algorithms. The standard deviation of the VND-tabu algorithm performs better than that of VND, due to the tabu table, which reduces the repeated search of the same target edge in a short term. The standard deviation of IALNS is smaller than that of ILNS, indicating that the adaptive selection mechanism of the neighborhood search strategies improves the stability of the algorithm, to a certain extent.
In order to verify the impact of the number of drones on the experimental results, a sensitivity analysis based on the three instances, E1_A, E2_A, and E3_A is designed. For each instance, the number of drones is set from one to nine. Each algorithm is run 10 times repeatedly. All experimental results are recorded in Figure 14 and Table 7.
selection mechanism of the neighborhood search strategies improves the stability of the algorithm, to a certain extent.
In order to verify the impact of the number of drones on the experimental results, a sensitivity analysis based on the three instances, E1_A, E2_A, and E3_A is designed. For each instance, the number of drones is set from one to nine. Each algorithm is run 10 times repeatedly. All experimental results are recorded in Figure 14 and Table 7.    As depicted in Figure 14 and Table 7, in the three instances, as the number of drones increases, the experimental results gradually decrease, and the IALNS algorithm still has obvious advantages. In particular, the reduction is greatest when the number of drones increases from one to three. However, when the number of drones increases from three to nine, the improvement effect on the experimental results decreases with each additional drone. When the number of drones increases by a certain value, the drone resources are saturated, and the drones are enough to meet the patrol needs. At this time, even if the number of drones carried by the vehicle increases, the increased drones will not be dispatched for patrolling. As Figure 14 displays, for instances E1_A and E2_A, three drones can saturate, while E3_A may need six drones (although the gain from increasing the drones from three to six is small). The number of drones currently taken matches the actual demand for traffic patrols. Assigning more drones to the vehicle might save patrol time, but the improvement in cost is huge. Therefore, the choice of the number of drones shows a trade-off between patrol time and cost.
When the approach proposed in this paper is applied to the smart city context, the speed of the vehicle may be significantly improved, and the experimental results may vary greatly. Therefore, we also take the instances E1_A, E2_A, and E3_A as examples to design analysis experiments on the speed of the vehicle. The vehicle speed is set at 30-60 km/h, with an interval of 5 km/h. Each algorithm is run 10 times independently. Figure 15 and Table 8 show the experimental results at different speeds of the vehicle.
When the approach proposed in this paper is applied to the smart city context, the speed of the vehicle may be significantly improved, and the experimental results may vary greatly. Therefore, we also take the instances E1_A, E2_A, and E3_A as examples to design analysis experiments on the speed of the vehicle. The vehicle speed is set at 30-60 km/h, with an interval of 5 km/h. Each algorithm is run 10 times independently. Figure 15 and Table 8 show the experimental results at different speeds of the vehicle.  The effects of the speed of drones on the performances of the algorithms are obvious. As Figure 15 and Table 8 display, in the three instances, the experimental results decrease significantly as the vehicle speed increases, and IALNS always performs best. It follows that the increased speed of the vehicle is an effective consideration to reduce the patrol time, which puts forward higher requirements for the state of the urban traffic network. However, when the vehicle speed is doubled from 30 km/h to 60 km/h, the total patrol time is reduced by less than half. This is because, despite the increase in vehicle speed, the unchanging speed of drones, and the potential increase in waiting time, make the reduction in patrol time less than desirable.

An Actual Case Study
In order to further study the application significance of the VD-ARP proposed in this paper, an actual case in the real world is considered. The simplified road network in a certain area of Changsha City is shown in Figure 16. There are 56 intersections and 94 road sections in this area, which are represented by small circles and line segments, respectively. The eight road sections that can be patrolled by vehicles or drones, and two road sections that can only be patrolled by drones are randomly set, marked with red and pink lines, respectively.
In order to further study the application significance of the VD-ARP proposed in this paper, an actual case in the real world is considered. The simplified road network in a certain area of Changsha City is shown in Figure 16. There are 56 intersections and 94 road sections in this area, which are represented by small circles and line segments, respectively. The eight road sections that can be patrolled by vehicles or drones, and two road sections that can only be patrolled by drones are randomly set, marked with red and pink lines, respectively. The parameter settings are the same as in Section 5.1. The patrol time (second) with different numbers of drones is presented in Table 9, and the route planning of the vehicle and the drones, obtained by IALNS, is shown in Figure 17. Table 9. Patrol time (s) with different numbers of drones.

Algorithms
Num. of Drones The parameter settings are the same as in Section 5.1. The patrol time (second) with different numbers of drones is presented in Table 9, and the route planning of the vehicle and the drones, obtained by IALNS, is shown in Figure 17. Table 9. Patrol time (s) with different numbers of drones.

Algorithms
Num. of Drones In this case study, by setting appropriate parameters, such as the vehicle speed, drone speed, and the number of drones, a feasible route planning scheme for the vehicle and drones is obtained within about 40 s of running time, which meets the needs of urban traffic patrols. There are 10 road sections to be patrolled, with a total length of 14.56 km. The vehicle routes are represented by solid black lines, and the routes of different drones are labeled in different colors. It can be seen from Table 9 that when the number of drones is three, the patrol time obtained by the IALNS algorithm is 2283 s, that is, 0.63 h. Hence, In this case study, by setting appropriate parameters, such as the vehicle speed, drone speed, and the number of drones, a feasible route planning scheme for the vehicle and drones is obtained within about 40 s of running time, which meets the needs of urban traffic patrols. There are 10 road sections to be patrolled, with a total length of 14.56 km. The vehicle routes are represented by solid black lines, and the routes of different drones are labeled in different colors. It can be seen from Table 9 that when the number of drones is three, the patrol time obtained by the IALNS algorithm is 2283 s, that is, 0.63 h. Hence, a satisfactory solution is obtained within an acceptable time. Compared with the other three comparison algorithms, IALNS has obvious advantages. It is worth noting that in the route planning scheme given in Figure 17, there are at most two drones patrolling at the same time, that is, at least two drones are needed. The additional drones are barely effective. Through the coordination of multiple drones and a vehicle, the efficiency of urban traffic patrols is significantly improved.

Conclusions
Proper traffic patrols improve the safety of urban traffic. To improve the efficiency and flexibility of traffic patrol, a coordinated vehicle-drone arc routing problem, with a vehicle and multiple drones (DV-ARP), is proposed for planning the parallel routes of a vehicle and drones in urban traffic patrols. To solve the problem, an improved, adaptive, large neighborhood search algorithm (IALNS) is designed. Firstly, the initial solution is generated by the heuristic method of "Drone-First, Vehicle-Then". Secondly, a set of destroy operators and a repair operator are designed to generate new candidate solutions. Finally, the simulated annealing mechanism, tabu table, and multiple neighborhood search strategies are integrated into the framework of an adaptive large neighborhood search algorithm, in order to search the solution space and find the optimal solution.
Experiments with different dimensions are conducted to explore the effectiveness of IALNS. The superiority of IALNS is verified by numerical experiments compared with other algorithms on different scales. The results show that the proposed approach IALNS reduces the total patrol time by at most 7.45%, compared with the three comparison algorithms (i.e., VND, VND-tabu, and ILNS). Additionally, the performance of all the four algorithms shows that all of them address the instances within different scales. To further test the impact of the main parameters on the results, two critical factors are evaluated, including the drone number carried by the vehicle and the vehicle speed. As the number of drones increases from one to three, the total patrol time has a dramatic decline, then slows down, and finally stops decreasing. It means that patrol scenarios with different numbers of target edges have different requirements for the drones. In addition, the total patrol time also decreases as the vehicle speed increases from 30 to 60 km/h. A real-world road network in Changsha City is simulated to further verify the applicability of IALNS.
The proposed IALNS algorithm in this paper is expected to provide effective route planning schemes for traffic management departments to carry out urban traffic patrols or collect traffic data. However, it ignores some complex constraints that may need to be considered in practical applications, such as energy consumption and separated launching/recovering time of drones, as well as dynamic demand, which would be further studied in the future. In addition, how to design a reasonable evaluation system to explore the balance between drone costs and patrol efficiency is also worth studying.