Intelligent Scheduling Methodology for UAV Swarm Remote Sensing in Distributed Photovoltaic Array Maintenance

In recent years, the unmanned aerial vehicle (UAV) remote sensing technology has been widely used in the planning, design and maintenance of urban distributed photovoltaic arrays (UDPA). However, the existing studies rarely concern the UAV swarm scheduling problem when applied to remoting sensing in UDPA maintenance. In this study, a novel scheduling model and algorithm for UAV swarm remote sensing in UDPA maintenance are developed. Firstly, the UAV swarm scheduling tasks in UDPA maintenance are described as a large-scale global optimization (LSGO) problem, in which the constraints are defined as penalty functions. Secondly, an adaptive multiple variable-grouping optimization strategy including adaptive random grouping, UAV grouping and task grouping is developed. Finally, a novel evolutionary algorithm, namely cooperatively coevolving particle swarm optimization with adaptive multiple variable-grouping and context vector crossover/mutation strategies (CCPSO-mg-cvcm), is developed in order to effectively optimize the aforementioned UAV swarm scheduling model. The results of the case study show that the developed CCPSO-mg-cvcm significantly outperforms the existing algorithms, and the UAV swarm remote sensing in large-scale UDPA maintenance can be optimally scheduled by the developed methodology.


Introduction
In recent years, the unmanned aerial vehicle (UAV) remote sensing technology has been widely used in different engineering application, e.g., soil property estimation [1], forest structure assessment [2], traffic control [3], urban infrastructure management [4], emergency scenarios [5], and so on. Due to the relatively low flying altitude, the UAV can easily acquire detailed information of observed objects with a spatial resolution under one decimeter. This advantage allows the UAV to be further applied in the maintenance of urban distributed PV arrays (UDPA), e.g., 3D reconstruction and location optimization, hot-spot detection, shading detection, cleanliness detection, and some other maintenance tasks.
With the fast development of photovoltaic (PV) power generation technology, the UDPA are widely installed in every possible corner of the city to maximize the utilization of solar energy [6][7][8]. To obtain the effective maintenance of these distributed PV arrays, the UAV remote sensing technology are widely adopted [9][10][11]. With the utilization of UAV swarm, a lot of design and maintenance tasks can be effectively accomplished, e.g., 3D reconstruction of distributed PV roofs, PV array location optimization, PV panels and infrastructures status monitoring, and so on. The application of remote sensing UAV in distributed PV infrastructures maintenance can significantly increase the work efficiency, illustrated in Figure 1. As shown in Figure 1, for the UDPA maintenance problem, a large number of distributed PV arrays need to be maintained by the UAVs. However, the number of UAVs is significantly smaller than that of UDPAs. As a result, how to effectively schedule the UAV swarm to go to each UDPA location in turn and accomplish the detection tasks will significantly affect the overall maintenance efficiency.
When the UAV swarm is applied in UDPA maintenance, the UAVs should be equipped with necessary sensors, for example, the RGB camera, light-weight thermal infrared sensors, and the global positioning system/inertial measurement unit (GPS/IMU). Then, the UAVs fly to each UDPA from the maintenance center to execute the maintenance task and acquire the dataset. The application of UAV swarm remote sensing in UDPA maintenance is illustrated in Figure 1. As shown in Figure 1, for the UDPA maintenance problem, a large number of distributed PV arrays need to be maintained by the UAVs. However, the number of UAVs is significantly smaller than that of UDPAs. As a result, how to effectively schedule the UAV swarm to go to each UDPA location in turn and accomplish the detection tasks will significantly affect the overall maintenance efficiency. When a UAV arrives at a certain UDPA, it needs to hover around the PV array with a certain route and scan all the PV panels to acquire the dataset. Then, when all the PV panels have been scanned, the UAV flies to the next UDPA and repeat the above work. Obviously, the time cost for the maintenance of each UDPA directly depends on its scale. The dataset acquisition process for each UDPA is illustrated in Figure 2. When a UAV arrives at a certain UDPA, it needs to hover around the PV array with a certain route and scan all the PV panels to acquire the dataset. Then, when all the PV panels have been scanned, the UAV flies to the next UDPA and repeat the above work. Obviously, the time cost for the maintenance of each UDPA directly depends on its scale. The dataset acquisition process for each UDPA is illustrated in Figure 2.
When the UAV swarm is applied in UDPA maintenance, the UAVs should be equipped with necessary sensors, for example, the RGB camera, light-weight thermal infrared sensors, and the global positioning system/inertial measurement unit (GPS/IMU). Then, the UAVs fly to each UDPA from the maintenance center to execute the maintenance task and acquire the dataset. The application of UAV swarm remote sensing in UDPA maintenance is illustrated in Figure 1. As shown in Figure 1, for the UDPA maintenance problem, a large number of distributed PV arrays need to be maintained by the UAVs. However, the number of UAVs is significantly smaller than that of UDPAs. As a result, how to effectively schedule the UAV swarm to go to each UDPA location in turn and accomplish the detection tasks will significantly affect the overall maintenance efficiency. When a UAV arrives at a certain UDPA, it needs to hover around the PV array with a certain route and scan all the PV panels to acquire the dataset. Then, when all the PV panels have been scanned, the UAV flies to the next UDPA and repeat the above work. Obviously, the time cost for the maintenance of each UDPA directly depends on its scale. The dataset acquisition process for each UDPA is illustrated in Figure 2. Assume the UAV swarm contains M UAVs, and the total number of UDPA tasks is N. The scheduling problem is to optimally allocate the N tasks to the M UAVs and maximize the maintenance efficiency (i.e., minimize the total time cost). Denote L i,j as the distance between the ith and jth UDPA locations, and denote S i as the hover distance when maintaining the ith UDPA. Then, the total time cost for the mth UAV, i.e., C m can be formulized as where v f is the speed of a UAV from one UDPA to another, and v m is the speed of a UAV when it hovers around the PV array and scans the PV panels to acquire the dataset. L 0,T m 1 denotes the distance between the maintenance center and the first task location of the mth UAV; L T m Nm ,0 denotes the distance between the last task location and the maintenance center; denotes the distance between the nth and the (n + 1)th task locations of the mth UAV; S T m n denotes the hover distance when maintaining the T m n th UDPA; N m is the number of tasks allocated to the mth UAV, and T m n is the nth tasks in the task queue of the mth UAV. Obviously, the entire UAV swarm scheduling problem can be formulized as where C denotes the total time cost of a certain scheduling solution, and M denotes the number of UAVs in the UAV swarm.

Encoding and Decoding Schemes
In order to minimize the total scheduling time cost using evolutionary algorithm, an efficient encoding scheme is required. In this study, for the scheduling problem with M UVAs and N task locations, N × M variables x n,m (n = 1, 2, . . . , N; m = 1, 2, . . . , M) are introduced to encode the scheduling solution. To be specific, the optimization vector → x , which is a combination of all the optimization variables, is defined as where x n,m ∈[0, H x ] (n = 1, 2, . . . , N; m = 1, 2, . . . , M; H x represents the upper bound of x n,m , which denotes the allocating relationship between the mth UAV and the nth task. x n,m ≥ H x /2 represents the nth task is allocated to the mth UAV, and x n,m < H x /2 represents the opposite. The encoding scheme for the UAV swarm-scheduling problem is illustrated in Figure 3. imize the maintenance efficiency (i.e., minimize the total time cost). Denote Li,j as the distance between the ith and jth UDPA locations, and denote Si as the hover distance when maintaining the ith UDPA. Then, the total time cost for the mth UAV, i.e., Cm can be formulized as  N  N  TT  T  T  T  m  n  n  f f m where vf is the speed of a UAV from one UDPA to another, and vm is the speed of a UAV when it hovers around the PV array and scans the PV panels to acquire the dataset. 1 0, m T L denotes the distance between the maintenance center and the first task location of the mth UAV; ,0 m Nm T L denotes the distance between the last task location and the maintenance center; ( 1) , mm nn TT L + denotes the distance between the nth and the (n + 1)th task locations of the mth UAV; m n T S denotes the hover distance when maintaining the m n T th UDPA; Nm is the number of tasks allocated to the mth UAV, and m n T is the nth tasks in the task queue of the mth UAV. Obviously, the entire UAV swarm scheduling problem can be formulized as where C denotes the total time cost of a certain scheduling solution, and M denotes the number of UAVs in the UAV swarm.

Encoding and Decoding Schemes
In order to minimize the total scheduling time cost using evolutionary algorithm, an efficient encoding scheme is required. In this study, for the scheduling problem with M UVAs and N task locations, NM  variables xn,m (n = 1, 2, …, N; m = 1, 2, …, M) are introduced to encode the scheduling solution. To be specific, the optimization vector x , which is a combination of all the optimization variables, is defined as where xn,m[0, Hx] (n = 1, 2, …, N; m = 1, 2, …, M; Hx represents the upper bound of xn,m, which denotes the allocating relationship between the mth UAV and the nth task. xn,m  Hx/2 represents the nth task is allocated to the mth UAV, and xn,m < Hx/2 represents the opposite. The encoding scheme for the UAV swarm-scheduling problem is illustrated in Figure 3.
For decoding the optimization vector, the optimization variables related to a certain UAV, say the mth UAV, are employed to establish the its task queue. To be specific, for the mth UAV, the variables within x 1,m , x 2,m , . . . , x n,m and greater than H x /2 are selected. Then, these selected variables are sorted from the smallest to the largest in order to form the final task queue of the mth UAV. The decoding scheme for the UAV swarm scheduling problem is illustrated in Figure 4. For decoding the optimization vector, the optimization variables related to a certain UAV, say the mth UAV, are employed to establish the its task queue. To be specific, for the mth UAV, the variables within x1,m, x2,m, …, xn,m and greater than Hx/2 are selected. Then, these selected variables are sorted from the smallest to the largest in order to form the final task queue of the mth UAV. The decoding scheme for the UAV swarm scheduling problem is illustrated in Figure 4.

Constraints and Penalty Function
(1) UAV duration constraint Due to the limited flight duration of UAV, the total distance for completing the task queue of a certain UAV should be strictly constrained. To be specific, the above UAV duration constraint can be formulized as where Cm denotes the total distance for completing the task queue of a certain UAV; Ld-max denotes the maximum duration for each UAV; is a coefficient to ensure a certain residual power.
(2) Task-allocation constraint Consider that in a feasible solution, each of the UDPA tasks should be allocated to a certain UAV. As a result, the task-allocation constraint can be formulized as In order to make full use of all the UAVs in service, the task queue for each UAV should not be empty. As a result, the UAV-utilization constraint can be formulized as

Constraints and Penalty Function
(1) UAV duration constraint Due to the limited flight duration of UAV, the total distance for completing the task queue of a certain UAV should be strictly constrained. To be specific, the above UAV duration constraint can be formulized as where C m denotes the total distance for completing the task queue of a certain UAV; L d-max denotes the maximum duration for each UAV; η d ∈ (0, 1) is a coefficient to ensure a certain residual power.
(2) Task-allocation constraint Consider that in a feasible solution, each of the UDPA tasks should be allocated to a certain UAV. As a result, the task-allocation constraint can be formulized as (3) UAV-utilization constraint In order to make full use of all the UAVs in service, the task queue for each UAV should not be empty. As a result, the UAV-utilization constraint can be formulized as In order to effectively optimize the scheduling model using an evolutionary algorithm, the aforementioned constraints are defined as penalty functions and directly introduced into the optimization model. To be specific, the penalty function for a certain solution → x is defined as where C p ( → x ) denotes the total penalty value for a certain solution → x ; λ p is a pre-defined coefficient to control the penalty strength; D m indicates whether the task queue for the mth UAV can satisfy the UAV duration constraint. D m is equal to 0 when the UAV duration constraint for the mth UAV is satisfied, and D m is equal to C m /η d ·T d−max > 1 when the constraint is broken; N task ∈ [0, N] denotes the number of tasks that do not satisfy the task-allocation constraint; N uav ∈ [0, M] denotes the number of UAVs that do not satisfy the UAV-utilization constraint. Obviously, for a feasible solution, D m (m = 1, 2, . . . , M), N task and N uav should be equal to 0.
As discussed above, the overall UAV swarm scheduling model by considering all the constraints can be formulized as

A Novel CCPSO -mg-cvcm Optimization Algorithm
As discussed in Section 2, the optimal scheduling for remote sensing a UAV swarm is modeled as a N × M dimensional optimization problem. Obviously, the model complexity significantly increases with the number of UAVs and the scale of the UDPA system. For example, when 20 UAVs (M = 20) are employed to execute the maintenance tasks of 80 UDPAs (N = 80), the model dimensionality is 20 × 8 = 1600. Obviously, this ultra-high dimensional problem is too complex to be optimized by using traditional optimization algorithms. In order to overcome this problem, a novel evolutionary algorithm, namely, the cooperatively coevolving particle swarm optimization with adaptive multiple variablegrouping and context vector crossover/mutation strategies (CCPSO -mg-cvcm ), is developed.

Particle Swarm Optimization
With the fast development of artificial intelligence (AI) theories and technologies, many AI-based algorithms are developed and employed for solving real-world problems, for example, in remote sensing [16,17], renewable energy system [18], architecture [19,20], human behavior recognition [21], control of unmanned vehicles [22] and so on [23]. The evolutionary algorithm (EA) is an important branch of AI technology, and it is widely employed for solving complex optimization problems [24]. In recent years, many EAbased methodologies are widely developed and obtain promising performance in solving real-world optimization problems [25][26][27].
Particle swarm optimization (PSO) is an evolutionary algorithm typically employed in numerical optimization problems. The idea of PSO originates from the imitation of foraging behavior of swarms such as birds and fishes. When PSO is employed to optimize a certain problem, all the individuals (also called the particle) in its population are randomly initialized, and each presents a potential solution for the original problem. Then, according to the velocity and position updating formulas, each particle searches for the optimal position in the solution space by iteratively updating. When the stopping criteria are reached, the algorithm outputs the best particle in the newest generated population as the final solution. The basic evolution rules in PSO can be formulized as where x i (t) and v i (t) denote the position and velocity of the ith particle in the tth generation; x i-best (t) denotes the historical best position for the ith particle in the tth generation; x gbest (t) denotes the global best position in the tth generation; α l and α g are coefficients to control the cognitive and social learning strength. In recent years, many PSO variants have been developed and employed to solve different engineering problems [28].

Cooperatively Coevolving
In the optimization of high-dimensional problem, the basic PSO and most of its variants always lose their efficacies due to the "curse of dimensionality". In order to overcome this problem, the cooperatively coevolving (CC) inspired by the "divide and conquer" philosophy is developed [29]. In the CC framework, the original D-dimensional problem is decomposed into several relatively low-dimensional sub-problems. Then, all the sub-problems are coevolved one-by-one in each generation. As each sub-problem only contains a part of variables of the original problem, it is impossible to compute the fitness function value without a context. As a result, one or more D-dimensional particles are defined as the context vector (CV) to provide references for the variables corresponding to the other dimensionalities.
For the UAV scheduling model described in Section 2, the application of the PSO and CC framework is illustrated in the following steps: Step 1: For the original D = N × M dimensional scheduling model (denoted as UAV-Model 0 ), initialize the PSO population with N P particles. Each particle represents a D-dimensional optimization vector as listed in Equation (3). Then, decompose the original UAV-Model 0 into K sub-models (denote as Sub-Model i , i = 1, 2, . . . , K), i.e., UAV-Model 0 = (Sub-Model 1 , Sub-Model 2 , . . . , Sub-Model K ). Note that the dimensionality of each submodel is equal to D/K. Then, each D-dimensional particle (i.e., optimization vector) , where x i represents the corresponding variables (i.e., dimensionalities) belongs to the ith sub-model, i.e., Sub-Model i .
Step 2: Denote the selected context vector as CV. Then, the Sub-model i in the CC framework can be defined as where f (x i CV) = f (CV 1 , . . . , CV i−1 , x i , CV i+1 , . . . , CV K ) represents the fitness function for Sub-model i .
Step 3: Start an evolution cycle. All the sub-models as listed in Equation (11) are optimized one-by-one using PSO.
Step 4: Proceed another evolution cycle if the stopping criteria are not satisfied; otherwise, stop the cooperatively coevolving process and output the D-dimensional global best particle.

Adaptive Multiple Variable-Grouping Strategy
Actually, in the CC framework as discussed in Section 3.2, the decomposition strategy of the original model significantly affects the optimization performance. That is to say, how to allocate the original D variables to each sub-model is very important. In order to ensure that the heavily coupled variables are grouped into the same sub-model and coevolved for enough iterations, a novel multiple variable-grouping strategy is developed. To be specific, all the optimization variables x n,m (n = 1, 2, . . . , N; m = 1, 2, . . . , M) are grouped using the following strategies: (1) Adaptive random grouping The most widely used variable-grouping strategy is random grouping, which means that all the variables are randomly disordered and grouped into each sub-model. In this study, the adaptive random grouping (AR-grouping) is developed, in which the group size can be adaptively adjusted. Steps for the AR-grouping strategy are as follows: Step 1: Randomly disorder the entire D dimensionalities within the original model.
Step 2: Decompose the disordered dimensionalities into K = D/s sub-models, where s is a pre-defined variable to control the size of each sub-model. Randomly increase or decrease s with a certain step-size ∆s, i.e., set s = s ± ∆s.
Step 3: In each iteration, check whether the global optimum is effectively evolved. Keep increasing (or decreasing) s with the same direction if the global optimum is evolved; otherwise, change the disturbance direction of the group-size s. Then, go to Step 1 to re-disorder and re-decompose the dimensionalities with the newly updated s.
The schematic of the AR-grouping strategy is illustrated in Figure 5.
using the following strategies: ○ 1 Adaptive random grouping The most widely used variable-grouping strategy is random grouping, which means that all the variables are randomly disordered and grouped into each sub-model. In this study, the adaptive random grouping (AR-grouping) is developed, in which the group size can be adaptively adjusted. Steps for the AR-grouping strategy are as follows: Step 1: Randomly disorder the entire D dimensionalities within the original model.
Step 2: Decompose the disordered dimensionalities into K = D/s sub-models, where s is a pre-defined variable to control the size of each sub-model. Randomly increase or decrease s with a certain step-size s , i.e., set =   s s s .
Step 3: In each iteration, check whether the global optimum is effectively evolved. Keep increasing (or decreasing) s with the same direction if the global optimum is evolved; otherwise, change the disturbance direction of the group-size s. Then, go to Step 1 to redisorder and re-decompose the dimensionalities with the newly updated s.
The schematic of the AR-grouping strategy is illustrated in Figure 5.
The schematic of the UAV-grouping strategy is illustrated in Figure 6.
The schematic of the Task-grouping strategy is illustrated in Figure 7.  In the overall adaptive multiple variable-grouping strategy, the AR-grouping, UAVgrouping and Task-grouping are adaptively selected in each iteration. To be specific, each of the grouping strategies are randomly selected according to their probabilities, which are adaptively updated in each iteration. The adaptive probabilities for each grouping strategy are defined as (3) Task variable grouping In the Task variable grouping strategy (denote as Task-grouping), the variables related to a certain UDPA are grouped into the same sub-model. Similar with the UAV-grouping, set the group size s to k·M(k = 1, 2, . . . , N). When s = M in a certain iteration, the variables for the first UDPA (denote as UDPA 1 ), i.e., x 1,1 , x 1,2 , . . . , x 1,m , are regarded as the first sub-model; then, the variables for the second UDPA (denote as UDPA 2 ), i.e., x 2,1 , x 2,2 , . . . , x 2,m , are regarded as the second sub-model, and so on. Similarly, when s =k·M in a certain iteration, the variables for the adjacent k UDPAs are grouped into the same sub-model. That is to say, x 1,1 , . . . , x 1,m , x 2,1 , . . . , x 2,m , . . . , x k,1 , . . . , x k,m are regarded as the first sub-model; then, x (k + 1),1 , . . . , x (k + 1),m , x (k + 2),1 , . . . , x (k + 2),m , . . . , x 2k,1 , . . . , x 2k,m , are regarded as the second sub-model, and so on.
The schematic of the Task-grouping strategy is illustrated in Figure 7.
The schematic of the Task-grouping strategy is illustrated in Figure 7.  In the overall adaptive multiple variable-grouping strategy, the AR-grouping, UAVgrouping and Task-grouping are adaptively selected in each iteration. To be specific, each of the grouping strategies are randomly selected according to their probabilities, which are adaptively updated in each iteration. The adaptive probabilities for each grouping strategy are defined as In the overall adaptive multiple variable-grouping strategy, the AR-grouping, UAVgrouping and Task-grouping are adaptively selected in each iteration. To be specific, each of the grouping strategies are randomly selected according to their probabilities, which are adaptively updated in each iteration. The adaptive probabilities for each grouping strategy are defined as where ρ AR , ρ U AV and ρ TASK represent the adaptive probabilities for AR grouping, UAV grouping and Task grouping, respectively; N AR , N UAV and N TASK represent the probability coefficients for each grouping strategy. The principles for updating these probability coefficients are as follows: Firstly, N AR , N UAV and N TASK are all initialized to N 0 (e.g., N 0 = 5) at the beginning of iteration. That is to say, the AR-grouping, UAV-grouping and Task-grouping strategies have the same probabilities (i.e., 33.33% for each one) to be selected at the beginning; Then, check whether the global optimum is evolved at the end of each iteration. Add 1 to N AR (or N UAV , or N TASK ) if the AR-grouping (or UAV-grouping, or Task-grouping) strategy is selected in this iteration and the global optimum is effectively evolved.
As discussed above, the flowchart of the adaptive multiple variable-grouping strategy is illustrated in Figure 8.
where  AR ,  UAV and  TASK represent the adaptive probabilities for AR grouping, UAV grouping and Task grouping, respectively; NAR, NUAV and NTASK represent the probability coefficients for each grouping strategy. The principles for updating these probability coefficients are as follows: Firstly, NAR, NUAV and NTASK are all initialized to N0 (e.g., N0 = 5) at the beginning of iteration. That is to say, the AR-grouping, UAV-grouping and Task-grouping strategies have the same probabilities (i.e., 33.33% for each one) to be selected at the beginning; Then, check whether the global optimum is evolved at the end of each iteration. Add 1 to NAR (or NUAV, or NTASK) if the AR-grouping (or UAV-grouping, or Task-grouping) strategy is selected in this iteration and the global optimum is effectively evolved.
As discussed above, the flowchart of the adaptive multiple variable-grouping strategy is illustrated in Figure 8.

Context Vector Crossover and Mutation Strategy
As discussed in Section 3.2, when the CC framework is employed to solve a highdimensional optimization problem, one or more D-dimensional vectors should be defined as the context vector to provide references when evolving a certain part of the original problem. In this study, the best (pcv − 1) particles in the current population and another randomly generated particle in the current population are employed as the context vector. Note that pcv denotes the total number of CV.

Context Vector Crossover and Mutation Strategy
As discussed in Section 3.2, when the CC framework is employed to solve a highdimensional optimization problem, one or more D-dimensional vectors should be defined as the context vector to provide references when evolving a certain part of the original problem. In this study, the best (p cv − 1) particles in the current population and another randomly generated particle in the current population are employed as the context vector. Note that p cv denotes the total number of CV.
(1) CV crossover strategy In order to keep the diversity of CV, the crossover mechanism is introduced. To be specific, randomly select two CVs, say CV 1 and CV 2 , and randomly exchange part of the dimensionalities in CV 1 and CV 2 . Note that in the CV crossover strategy, the exchanged dimensionalities are always corresponding to the same UAV or the same UDPA. After the crossover operation, update the original CVs (i.e., CV 1 and CV 2 ) using the newly generated CVs (denote as CV 1-new and CV 2-new ) if better. The schematic of the CV crossover strategy is illustrated in Figure 9.
In order to keep the diversity of CV, the crossover mechanism is introduced. To be specific, randomly select two CVs, say CV1 and CV2, and randomly exchange part of the dimensionalities in CV1 and CV2. Note that in the CV crossover strategy, the exchanged dimensionalities are always corresponding to the same UAV or the same UDPA. After the crossover operation, update the original CVs (i.e., CV1 and CV2) using the newly generated CVs (denote as CV1-new and CV2-new) if better. The schematic of the CV crossover strategy is illustrated in Figure 9.  ○ 2 CV mutation strategy As discussed in Section 2.3, each of the UDPA tasks should be allocated to a certain UAV. That is to say, in a feasible scheduling solution, each of the variable groups related to a certain UDPA should be a one-hot vector, i.e., only one variable in xn,1, xn,2, …, xn,M (n = 1, 2, …, N) is greater than Hx/2. As a result, the CV mutation strategy is developed in the following steps: Step Step 3: Denote the mutated CV as CVi-mut. Update CVi using CVi-mut if better.

The Overall CCPSO-mg-cvcm Optimization Algorithm
By integrating the aforementioned CC framework, adaptive multiple variable-grouping strategy and the CV crossover/mutation strategy, a novel evolutionary algorithm namely CCPSO-mg-cvcm is developed to optimize the high-dimensional UAV swarm scheduling model. In the CCPSO-mg-cvcm, the position updating principle for each particle follows the AMCCPSO developed in our previous study [30]. The developed CCPSO-mg-cvcm algorithm is illustrated in Algorithm 1. (2) CV mutation strategy As discussed in Section 2.3, each of the UDPA tasks should be allocated to a certain UAV. That is to say, in a feasible scheduling solution, each of the variable groups related to a certain UDPA should be a one-hot vector, i.e., only one variable in x n,1 , x n,2 , . . . , x n,M (n = 1, 2, . . . , N) is greater than H x /2. As a result, the CV mutation strategy is developed in the following steps: Step 1: Define the parameter ρ m ∈ [0, 1] to control the mutation probabilities for each CV; Step 2: For each of the p cv CVs, say the ith CV i , randomly generate a mutation variable ρ i within the interval [0, 1]. Then, mutate CV i according to the following principles: Step 3: Denote the mutated CV as CV i-mut . Update CV i using CV i-mut if better.

The Overall CCPSO -mg-cvcm Optimization Algorithm
By integrating the aforementioned CC framework, adaptive multiple variable-grouping strategy and the CV crossover/mutation strategy, a novel evolutionary algorithm namely CCPSO -mg-cvcm is developed to optimize the high-dimensional UAV swarm scheduling model. In the CCPSO -mg-cvcm , the position updating principle for each particle follows the AMCCPSO developed in our previous study [30]. The developed CCPSO -mg-cvcm algorithm is illustrated in Algorithm 1.

Algorithm 1. Pseudo code of CCPSO -mg-cvcm .
Initialize D = N × M dimensional Population with N P particles. Initialize p cv context vectors with the best (p cv − 1) particles and a randomly selected particle. repeat Update the adaptive probabilities for each grouping strategy, and randomly select a grouping strategy according to these probabilities.
Decompose the original D-dimensional model into several sub-models using the selected grouping strategy. Denote the jth sub-model as Sub-Model j .
Execute the CV crossover operation for N mu times. Execute the mutation operation for each CV.
for each Sub-Model j do Coevolve the corresponding variables using AMCCPSO principles [30]. end until the stopping criteria are satisfied.

Application of the Overall UAV Swarm Scheduling Methodology
In the real-world application, the scheduling model described in Section 2 is established by using the real problem details: for example, the number of tasks and UAVs, the detailed locations and scales of each task, the distance duration and speed for each UAV and so on. Then, run the CCPSO -mg-cvcm algorithm and output the global best solution. Finally, decode the best solution and obtain the task sequence for each UAV. As discussed above, the aforementioned scheduling model and optimization algorithm are implemented in the following steps: Step 1: Collect the model parameters according to the real scheduling problem, including the number of tasks and UAVs, the locations and scales of each task, the maximum distance duration and speed of UAV; Step 2: Establish the LSGO-based high-dimensional scheduling model by using the collected parameters in Step 1; Step 3: Run the CCPSO -mg-cvcm algorithm and output the global best solution; Step 4: Decode the best solution output in Step 3 and obtain the task sequence for each UAV; Step 5: Transmit the task sequence obtained in Step 4 to each UAV.

Experimental Setup
In order to verify the effectiveness of the developed UAV swarm scheduling model and optimization algorithm, some numerical experiments for different cases are conducted in this section. Assume the UAV swarm contains 10 remote sensing UAVs, and there are in total 50 UDPAs that need to be maintained. The location and scale for each UDPA are shown in Figure 10. Note that in Figure 10, the red circle represents the maintenance center, i.e., the beginning and ending points for the UAV swarm. The small blue circles denote the 50 UDPAs located in different areas of a city, and the number next to each point denotes the scale for each UDPA (i.e., the hover distance of the UAV when maintaining the corresponding UDPA). The X and Y axes represent the horizontal and vertical distances between the UDPA and maintenance center, and the units are kilometers. The detailed parameter settings employed in the following experiments are listed in Table 1.

Experimental Results and Analysis
For the UAV swarm scheduling problem as shown in Figure 11, the optimal scheduling solution obtained by CCPSO -mg-cvcm is listed in Table 2 and plotted in Figure 12. The final optimized fitness function value is 40.45, which is smaller than the pre-defined penalty strength coefficient λ p = 10,000. This implies that all the constraints are strictly satisfied in the optimized scheduling solution.     In order to verify the effectiveness of the CC framework, multiple variables-grouping strategy, CV crossover and mutation strategies, the basic PSO and the famous CCPSO2 algorithm are employed for comparison [29]. The final fitness function values obtained by each algorithm are compared in Table 3. As shown in the table, the performance of CCPSO-mg-cvcm significantly outperforms its competitors. To be specific, for the basic PSO and the CCPSO2 algorithms, the final fitness function values are all significantly larger In order to verify the effectiveness of the CC framework, multiple variables-grouping strategy, CV crossover and mutation strategies, the basic PSO and the famous CCPSO2 algorithm are employed for comparison [29]. The final fitness function values obtained by each algorithm are compared in Table 3. As shown in the table, the performance of CCPSO -mg-cvcm significantly outperforms its competitors. To be specific, for the basic PSO and the CCPSO2 algorithms, the final fitness function values are all significantly larger than the pre-defined penalty strength coefficient λ p . This implies that due to the high dimensionality, some of the constraints are broken and the model is punished by the defined penalty functions. However, the final fitness function value obtained by CCPSO -mg-cvcm is just 40.45, which is significantly less than the penalty strength coefficient λ p =10,000. This implies that all the model constraints are satisfied in the final solution output by CCPSO -mg-cvcm , and the total cost is effectively optimized. The convergence graphs for PSO, CCPSO2 and CCPSO -mg-cvcm are compared in Figure 13.

Analysis for Different Model Dimensionalities
In order to further analyze the performance of CCPSO -mg-cvcm for different model dimensionalities (i.e., different scales for UAV swarm and UDPA system), some more case studies are conducted in this section. The detailed parameter settings for each case are listed in Table 4. The locations and scales for UDPAs in each case are plotted in Figure 14. The final scheduling solutions obtained by CCPSO -mg-cvcm for each case are shown in Figure 15. Note that in Figure 15, each line represents the flight path of a single UAV.
CCPSO2 and CCPSO-mg-cvcm are compared in Figure 13.  Figure 13. Convergence graphs for the compared algorithms.

Comparison for Different Algorithms
In order to further verify the outperformance of CCPSO -mg-cvcm in optimizing a highdimensional scheduling model, some state-of-the-art evolutionary algorithms are employed for comparison. The compared algorithms include the basic CPSO-SK -rg-aw [31], CCPSO2 [29], JADE [32] and AMCCDE [33]. The population sizes of all of the compared algorithms are set to 50, and the maximum number of fitness evaluations is set to 2 × 10 6 . The other parameter settings of the compared algorithms are the same as their original studies. Parameter settings for Case 7-10 are listed in Table 6. As shown in Table 6, the model dimensionality significantly increases from Case 7 to Case 10. To be specific, in Case 7, the numbers of UAV and UDPA are 6 and 30, respectively, and the model dimensionality is equal to 6 × 30 = 180. In Case 8, the numbers of UAV and UDPA increase to 12 and 60, respectively, and the model dimensionality increases to 12 × 60 = 720. Finally, the model dimensionalities in Case 9 and 10 further increase to 1200 and 2000. Obviously, the high-dimensionality characteristics in Cases 9 and 10 will significantly increase the problem complexity and lead to the failure of some traditional optimization algorithms. The results of simulations for different algorithms are compared in Table 7. As shown in the table, the developed CCPSO -mg-cvcm obtains the best performance for all the cases. For example, when optimizing the 180-dimensional model in Case 7, CCPSO2, AMCCDE and CCPSO -mg-cvcm can satisfy all the constraints, because the final results obtained by these algorithms are significantly less than the penalty strength coefficient λ p =10,000. Specifically, the performance obtained by CCPSO -mg-cvcm for Case 7 (i.e., 25.251) is better than CCPSO2 (29.142) and AMCCDE (27.599). This implies that the scheduling solution provided by the developed CCPSO -mg-cvcm has a higher efficiency than that of CCPSO2 and AMCCDE, and the overall time-cost for accomplishing all the maintenance tasks is significantly reduced by CCPSO -mg-cvcm . However, for the compared CPSO-SK -rg-aw and JADE algorithms, some constraints are broken in the final solution, so the final cost values obtained by CPSO-SK -rg-aw and JADE are significantly larger than the other algorithms. For the 720-dimensional model in Case 8, the final results obtained by CPSO-SK -ra-aw , CCPSO2, JADE and AMCCDE are all significantly larger than the penalty strength coefficient λ p . This indicates that the scheduling solutions obtained by these algorithms are infeasible because some of the constraints are not satisfied. However, the final result obtained by CCPSO -mg-cvcm is just 43.747, which is significantly smaller than the penalty strength coefficient λ p . Obviously, this implies that the CCPSO -mg-cvcm can satisfy all the constraints and output efficient scheduling solution for this 720-dimensional problem.
When the dimensionality further increases to 1200 in Case 9 and 2000 in Case 10, all the compared algorithms lose their efficacies and cannot efficiently optimize the highdimensional model. However, the developed CCPSO -mg-cvcm can obtain robust performance, the final cost value obtained by CCPSO -mg-cvcm is 61.996 in Case 9 and 80.628 in Case 10. It can be concluded that the developed CCPSO -mg-cvcm algorithm can obtain promising performance on optimizing the high-dimensional UAV swarm scheduling model with up to more than 2000 dimensionalities.

Conclusions
This study concerns the unmanned aerial vehicle (UAV) swarm scheduling problem when applied to remote sensing in urban distributed photovoltaic arrays (UDPA) maintenance. On one hand, the UAV swarm scheduling model and the penalty function-based constraints are established. On the other hand, a novel evolutionary algorithm, namely cooperatively coevolving particle swarm optimization with adaptive multiple variablegrouping and context vector crossover/mutation strategies (CCPSO -mg-cvcm ), is developed to optimize the scheduling model. The results of case study show that the dimensionality of the scheduling model significantly increases with the scales of UAV swarm and UDPA to be maintained, and most of the existing algorithms lose their efficacies when adopted to optimize these high-dimensional problems. However, with the integration of a cooperatively coevolving framework, adaptive multiple variable-grouping strategy, and context vector crossover/mutation strategies, the developed CCPSO -mg-cvcm significantly outperforms the existing algorithms, and it can effectively optimize the high-dimensional (even up to 2400 dimensionalities) scheduling model with robust performance. In the future, the deep learning-based technique will be examined to further improve the performance of UAV swarm remote sensing under a complex environment [34].