A Solution Approach for UAV Fleet Mission Planning in Changing Weather Conditions

: With a rising demand for utilizing unmanned aerial vehicles (UAVs) to deliver materials in outdoor environments, particular attention must be given to all the di ﬀ erent aspects inﬂuencing the deployment of UAVs for such purposes. These aspects include the characteristics of the UAV ﬂeet (e.g., size of ﬂeet, UAV speciﬁcations and capabilities), the energy consumption (highly a ﬀ ected by weather conditions and payload) and the characteristics of the network and customer locations. All these aspects must be taken into account when aiming to achieve deliveries to customers in a safe and timely manner. However, at present, there is a lack of decision support tools and methods for mission planners that consider all these inﬂuencing aspects together. To bridge this gap, this paper presents a decomposed solution approach, which provides decision support for UAVs’ ﬂeet mission planning. The proposed approach assists ﬂight mission planners in aerospace companies to select and evaluate di ﬀ erent mission scenarios, for which ﬂight-mission plans are obtained for a given ﬂeet of UAVs, while guaranteeing delivery according to customer requirements in a given time horizon. Mission plans are analyzed from multiple perspectives including di ﬀ erent weather conditions (wind speed and direction), payload capacities of UAVs, energy capacities of UAVs, ﬂeet sizes, the number of customers visited by a UAV on a mission and delivery performance. The proposed decision support-driven declarative model supports the selection of the UAV mission planning scenarios subject to variations on all these conﬁgurations of the UAV system and variations in the weather conditions. The computer simulation based experimental results, provides evidence of the applicability and relevance of the proposed method. This ultimately contributes as a prototype of a decision support system of UAVs ﬂeet-mission planning, able to determine whether is it possible to ﬁnd a ﬂight-mission plan for a given ﬂeet of UAVs guaranteeing customer satisfaction under the given conditions. The mission plans are created in such a manner that they are suitable to be sent to Air Tra ﬃ c Control for ﬂight approval.


Introduction
The immense development of unmanned aerial vehicle (UAV) capabilities has promulgated its influence in many domains, such as defense, search and rescue, agriculture, manufacturing, and environmental surveillance [1][2][3][4] to execute complex industrial functions. Fleet-mission planning for UAVs in the context of materials delivery has become a major research topic [5][6][7][8] and could be treated as an extension of the vehicle routing problem (VRP) [9] which belongs to the class of planning problems that are NP-hard [10,11]. Various objectives could be used in UAV mission planning such as reducing individual UAV costs, enhancing its profit, increasing safety in operations, reducing lead time, or increasing the load capacity of the entire system [12,13]. UAV routing in 3-D environments has different degrees of attractiveness when evaluated against multiple decision criteria, which relates to affects the energy consumption in UAVs [9] where cold temperatures may adversely affect battery performance [9]. The majority of the current state of research has paid less attention to weather factors and ignores the impact of weather on performance [14,33,37]. The current literature has sporadically considered wind conditions on energy consumption and the use of that information in planning the missions [9,38,39]. The studies have assumed constant wind speed and direction [38] and have used linear approximations for energy consumption, giving less focus on the impact of weather [9]. Because of the UAVs used in this study, linear approximations are not coherent. The weight of the UAVs used here are heavier than the UAVs used in existing research because the studies have stated that their models are not reasonable when the weight of UAVs increases [9]. Accordingly, the non-linear models proposed in the literature are used in this study in calculating energy consumption considering weather conditions [24].
The mission-planning problems addressed in this study cover different layers of system architecture, which include fleet level where the fleet is managed to provide delivery service and the platform level where it focuses on the individual functioning of the UAVs. Thus, the contributions of this study cover both fleet and platform levels as shown in Figure 1. The goal of this study is to fill the gap in literature addressing UAV fleet-mission planning in changing weather conditions, maximizing customer demand satisfaction in a given time period. Because of the novelty of the problem and the fact it covers different layers of decisions, the initial objective of this study is to find a reasonable way to solve the problem. It is difficult to claim that any proposed method is the best way to solve a problem, but this method allows future research to find better approaches to solve the problem.
Appl. Sci. 2019, 9, 3972 3 of 26 atmosphere, affects the energy consumption in UAVs [9] where cold temperatures may adversely affect battery performance [9]. The majority of the current state of research has paid less attention to weather factors and ignores the impact of weather on performance [14,33,37]. The current literature has sporadically considered wind conditions on energy consumption and the use of that information in planning the missions [9,38,39]. The studies have assumed constant wind speed and direction [38] and have used linear approximations for energy consumption, giving less focus on the impact of weather [9]. Because of the UAVs used in this study, linear approximations are not coherent. The weight of the UAVs used here are heavier than the UAVs used in existing research because the studies have stated that their models are not reasonable when the weight of UAVs increases [9]. Accordingly, the non-linear models proposed in the literature are used in this study in calculating energy consumption considering weather conditions [24]. The mission-planning problems addressed in this study cover different layers of system architecture, which include fleet level where the fleet is managed to provide delivery service and the platform level where it focuses on the individual functioning of the UAVs. Thus, the contributions of this study cover both fleet and platform levels as shown in Figure 1. The goal of this study is to fill the gap in literature addressing UAV fleet-mission planning in changing weather conditions, maximizing customer demand satisfaction in a given time period. Because of the novelty of the problem and the fact it covers different layers of decisions, the initial objective of this study is to find a reasonable way to solve the problem. It is difficult to claim that any proposed method is the best way to solve a problem, but this method allows future research to find better approaches to solve the problem. The remainder of the paper is organized as follows: Section 2 provides the problem formulation and the composition of the central problem concerning UAV fleet-mission planning with changing weather conditions. Section 3 presents models for the problem of UAV mission planning. Then, the already stated problem formulated with a declarative solution approach aimed at addressing problem composition is considered in Section 4 An illustrative example of the proposed approach is discussed in Section 5, and the concluding remarks are presented in Section 6.

Problem Formulation
The central problem addressed in this study focuses that a given set of customers at different points is to be served during a time period, which consists of changing weather conditions by a fleet of UAVs.
The main problem boils down to the general question of: Is it possible to find a sequence of UAV missions (termed as sub-missions) which contain routes; schedules and an amount of transported materials , , , ) of a given UAV fleet, which maximize the customer demand fulfilment under changing weather conditions, while considering energy limits of UAVs and ensuring collision avoidance?
As mentioned in the literature analysis presented, there are still no effective solutions which allow operators to plan the routes and schedules for a fleet of UAVs under changing weather conditions. In order to find a solution, the problem is deconstructed into four sub-problems, where each sub-problem helps to reduce the complexity of the main problem. The remainder of the paper is organized as follows: Section 2 provides the problem formulation and the composition of the central problem concerning UAV fleet-mission planning with changing weather conditions. Section 3 presents models for the problem of UAV mission planning. Then, the already stated problem formulated with a declarative solution approach aimed at addressing problem composition is considered in Section 4 An illustrative example of the proposed approach is discussed in Section 5, and the concluding remarks are presented in Section 6.

Problem Formulation
The central problem addressed in this study focuses that a given set of customers at different points is to be served during a time period, which consists of changing weather conditions by a fleet of UAVs.
The main problem boils down to the general question of: Is it possible to find a sequence of UAV missions (termed as sub-missions) which contain routes; schedules and an amount of transported materials (y k i , c k i , f k i,j ) of a given UAV fleet, which maximize the customer demand fulfilment under changing weather conditions, while considering energy limits of UAVs and ensuring collision avoidance?
As mentioned in the literature analysis presented, there are still no effective solutions which allow operators to plan the routes and schedules for a fleet of UAVs under changing weather conditions. In order to find a solution, the problem is deconstructed into four sub-problems, where each sub-problem helps to reduce the complexity of the main problem.

Determining the Sub-Mission Time Windows
In order to reduce the complexity of the weather conditions in the main problem, the first sub-problem considered assumes that a given time period with changing weather conditions is to be divided into several sub-mission time windows (STWs). The STWs consist of analogous weather conditions. The goal is to determine the length of STWs and create a sequence of STWs, such that each window consists of a range of wind speed and a wind direction.
The weather forecast is constant for the assumed time period, and the weather data is used to determine the STWs, in which the weather conditions are held constant, such as the speed and direction of the wind. The minimum and maximum ranges of wind speed for each sub-mission time window are known in advance. The wind direction is the same inside any given sub-mission time window. The sub-mission time windows can be subdivided into flying-time windows (FTWs) assuming that a given time duration with similar weather conditions is to be divided into several flying time windows. The intention is to determine the length of FTWs depending on the time used in the flying of UAVs, considering the maximum energy limit and maximum carrying payload.
The UAV airspeed is the speed of a UAV relative to the air. Because the UAV needs to maintain a constant ground speed, the UAV needs to adjust its airspeed to fly in the desired flight path. Each sub-mission time window consists of a minimum and a maximum range of wind speed and a specific wind direction. This information leads to a min and max range of airspeed because of the effect of the wind speed and direction. Using the min and max range of air speed, the range of energy consumption is calculated. Every travelled route of a UAV starts and finishes within a given FTW. All UAVs are filled with full energy capacity before they start to fly and one UAV can fly only one time during the FTW. Each UAV has enough energy capacity to travel directly to the farthest customer in the network and come back directly to the depot in the worst acceptable weather conditions. The results of this sub-problem provide a sequence of STWs where the time period is divided into several STWs where each STW is divided into FTWs.

Determining the Clusters of Customers
In order to reduce the complexity of the network and the customer demand requirements in the main problem, the second sub-problem considered assumes that a given set of customers at different points will be grouped into customer clusters (CL). These customers in the cluster can be served by UAVs considering the maximum energy limit. The claim is to create alternative clusters for each flying-time window, such that customers in each cluster could be served by UAVs to deliver a portion of customer demand. The output of this sub-problem provide a set of alternative clusters of customers for each flying-time window.

Creating a Possible Set of Sub-Missions
In order to reduce the complexity in the scheduling and routing of UAVs, the third sub-problem considered assumes that a given set of customers in a cluster will be served during a given flying-time window. The flying-time windows consist of a set of sub-missions, such that each sub-mission consists of routes with schedules of the UAVs delivering materials to the customers. The goal is to create a set of sub-missions for each cluster, such that the customers in the cluster are reached with a portion of the demand during each flying-time window while obeying the energy constraints and assuring collision avoidance.
This study assumes that more than one UAV can start to fly from the base at the same time and that all UAVs fly at the same altitude. The amount of weight allocated to the customers in a route is an integer where similar kinds of material are delivered to customers in differing amounts [Kg] and customers can accept deliveries during the time period. The output of this sub-problem provide a possible set of sub-missions for each cluster of customers for each flying-time window.

Finding Sequences of Sub-Mission Deliveries which Give the Maximum Customer Satisfaction
In order to reduce the complexity in the main problem, the fourth sub problem considered assumes a given set of customers is to be served during a time period at different points by a planned mission using a fleet of UAVs, which consist of a sequence of sub-missions. The goal is to find admissible missions which maximize the customer demand fulfilment, such that the sum of the sub-mission deliveries provide maximum demand fulfilment. A secondary objective is to find the admissible solutions with minimized total time travelled/total energy consumed. The output of this sub-problem provide a sequence of sub-missions, which maximize customer demand fulfilment. Figure 2 shows the relationships between the sub-problems based on the influences from the outputs of each sub-problem. The interdependencies between the sub-problems, illustrated in Figure 2, are as follows.

Interdependency between Sub-Problems
Appl. Sci. 2019, 9,3972 5 of 26 In order to reduce the complexity in the main problem, the fourth sub problem considered assumes a given set of customers is to be served during a time period at different points by a planned mission using a fleet of UAVs, which consist of a sequence of sub-missions. The goal is to find admissible missions which maximize the customer demand fulfilment, such that the sum of the submission deliveries provide maximum demand fulfilment. A secondary objective is to find the admissible solutions with minimized total time travelled/total energy consumed. The output of this sub-problem provide a sequence of sub-missions, which maximize customer demand fulfilment. Figure 2 shows the relationships between the sub-problems based on the influences from the outputs of each sub-problem. The interdependencies between the sub-problems, illustrated in Figure  2, are as follows. Sub-problem 1 to sub-problem 2: for each STW, a set of selected clusters of customers in the network are considered to plan the delivery missions. Sub-problem 2 to sub-problem 3: for each customer cluster, a set of feasible collision-free UAV routings and accompanying schedules are created. Sub-problem 1 to sub-problem 3: each sub-mission is created inside a given STW where the range of wind speeds and direction is known. The creation of sub-missions is influenced by the nature of weather condition in each STW. Sub-problem 3 to sub-problem 4: the sequence of sub-missions from each FTW provides a full mission. The sub-missions created in sub-problem three are searched to find the sequence which provides the maximum customer satisfaction.

Interdependency between Sub-Problems
As we consider the whole problem with the constraints and the system requirements, a general approach has to be designed to deliver feasible output addressing the whole problem with an overall quality solution. If each sub-problem is focused on individually, better different alternatives could be found but when all the sub-problems are considered together because of the interdependency between the sub-problems a general approach is proposed. An interdependency analysis substantiates that sub-problem 3 is the most difficult problem to focus on because all of the rest of the sub problems are linked with it. Moreover, sub-problem 3 has the most generic aspects to focus on. Hence this paper focuses more on sub-problem 3. Sub-problem 1 to sub-problem 2: for each STW, a set of selected clusters of customers in the network are considered to plan the delivery missions. Sub-problem 2 to sub-problem 3: for each customer cluster, a set of feasible collision-free UAV routings and accompanying schedules are created. Sub-problem 1 to sub-problem 3: each sub-mission is created inside a given STW where the range of wind speeds and direction is known. The creation of sub-missions is influenced by the nature of weather condition in each STW. Sub-problem 3 to sub-problem 4: the sequence of sub-missions from each FTW provides a full mission. The sub-missions created in sub-problem three are searched to find the sequence which provides the maximum customer satisfaction.
As we consider the whole problem with the constraints and the system requirements, a general approach has to be designed to deliver feasible output addressing the whole problem with an overall quality solution. If each sub-problem is focused on individually, better different alternatives could be found but when all the sub-problems are considered together because of the interdependency between the sub-problems a general approach is proposed. An interdependency analysis substantiates that sub-problem 3 is the most difficult problem to focus on because all of the rest of the sub problems are linked with it. Moreover, sub-problem 3 has the most generic aspects to focus on. Hence this paper focuses more on sub-problem 3.
The mathematical formulation of the model considered employs the following symbols explained in Table 1.

Sets and Sequences
The graph representing the transportation network The set of nodes representing the base and customer locations The set of edges defined between each pair of nodes The Wind direction in the l th flying-time window

WUV
The Weather utility value WUV = α (the standard deviation of the wind direction) + β (the standard deviation the wind speeds) α, β The Weighted parameters corresponding to wind speed and wind direction Variables Decision Variables The binary variable used to indicate if k th UAV travels from node i to node j The time that kth UAV arrives at the node i s k 0 The time that kth UAV starts to fly from node 0 c k i The payload weight amount delivered to node i by k th UAV f k i,j The payload weight carried by a UAV from node i to j by k th UAV The n th sub-mission in the mth cluster in the l th flying-time window, S n,m,l = ( R n,m,l , P n,m,l , C n,m,l ); ψ(m,l) -the number of sub-missions in the m th cluster in the l th flying-time window The customer satisfaction levels of n th sub-mission in m th cluster in the l th flying-time window R n,m,l The routes of the n th sub-mission in the m th cluster in the l th flying-time window P n,m,l The schedules of n th sub-mission in m th cluster in the l th flying-time window

Problem Modeling
The concept of the considered problem is illustrated in Figure 3. In this illustrative example, a set of customers located at different points in a delivery distribution network are to be serviced by a fleet of UAVs during a specified time period in which changing weather conditions are encountered. Figure 3 illustrates the time period as a sequence of STWs, which consists of different weather conditions. Each STW consists of a range of wind speed and a given wind direction so that in the creation of routes and schedules for the UAV fleet, the weather data of each STW are considered. The specifications of the UAVs, network data with flying corridors and customer locations, customer demands and weather conditions are given as input data. A solution strategy should be used to create a final mission plan, which consists of a sequence of sub-missions, which consists of routes and schedules (orange and blue lines) for the UAVs fleet as shown in the latter part of Figure 3. The objective function and the constraints are as specified below.
The objective function The objective is to maximize the customer satisfaction levels for all the customers by delivering as much as demanded as possible.
The constraints Arrival time at nodes: Relationship between x k i,j and y k i .
If an edge (i, j) is utilized by UAV k in a given flying-time window then the arrival time y k j to node j is equal to the sum of travel time t i,j between node i to j, time spent for take up landing w and the arrival time y k i to node i (2). Collision avoidance: When two edges are crossing (b {i,j};{α,β} = 1), UAVs occupied in those two edges (x k i,j = 1 and x v α,β = 1) must not be occupied at the same time.
The objective is to maximize the customer satisfaction levels for all the customers by delivering as much as demanded as possible.
The constraints Arrival time at nodes: Relationship between , and . Capacity: The demand assigned to a UAV should not exceed its capacity.
Sum of all the carried weights c k j by UAV k should not exceed the maximum carrying payload Q.
The flow of UAVs: When a UAV arrives at a node that UAV must leave from that node.
The sum of all the occupied edges which goes to node i ( j∈N m,l x k j,i ) should be equal to the sum of all the edges which leave from node i ( j∈N m,l x k i,j ). Start and end of routes: Each UAV that departs from the depot (Node 0) should come back to the depot.
Constraint (6) make sure that each UAV departs from the depot and comes back to the depot. The sum of all the edges which starts from depot and sum of all the edges which returns to depot should be equal to one.
Energy: Each UAV has a maximum energy capacity of P max , and in flight, it is not possible to consume more than the max energy capacity.
where C D is the aerodynamic drag coefficient, A is the front facing area, ep is the empty weight of the UAV, D is the density of the air, b is the width of the UAV and g is gravitational acceleration (A. Thibbotuwawa et al. 2020). The air speed of a UAV va l i,j is defined in the following way: The main question for this study to focus on is: is it possible to find a sequence of UAVs' sub-missions, (which are determined by decision variables: S n,m,l , RL n,m,l RL n,m,l , x k ij , y k i , c k i , f k i,j ) of given UAV fleet, which maximize the customer satisfaction (1) (customer demand (D i ) fulfilment) under changing weather conditions considering energy constraints of UAVs (7), ensuring collision avoidance (3), and satisfying the constraints (2),(4)-(6))?

Declarative Solution Approach
In order to solve the main problem by addressing the deconstructed sub-problems stated in Section 2 and depending on the link between the sub-problems, either a sequential approach or a parallel approach can be used [40]. In this study, a sequential approach is proposed, which is illustrated in Figure 4.

The Method to Determine the Sub-Mission Time Windows
Given the variable about the weather: data about weather forecast in the time period [0, t max ] Question: How many sub-mission time windows should be extracted in the time period [0, t max ] and how many flying time windows should be extracted in each sub-mission time window? What are the values of variables determining the STWs: STW T , FTW l ?
By using the weather forecast data, the possible length of STWs are determined by using the following steps.
Step 1: Take the forecast data for the planning time period.
Step 2: For each consecutive R hours of sliding time windows, calculate the weather utility value (WUV). R is a parameter with a range of [1,3]. WUV = α (standard deviation of the wind direction) + β (standard deviation the wind speeds). α and β are the weighted parameters.
Step 3: Sort the sliding time windows in ascending order of WUV . Select the time windows based on the weather utility value and divide the time period into different sub-mission time windows.
The method mentioned above creates a sequence of STWs where the time period is divided into several STWs. The purpose is to create sub-missions during a time where there are similar weather conditions. Based on the traveling time of the UAV, assuming that it is flying against the wind and considering the maximum energy limit, the flying-time windows are determined. The STWs are divided in flying-time windows based on the time used in flying the UAVs considering the maximum fuel limit and maximum carrying payload. In order to solve the main problem by addressing the deconstructed sub-problems stated in Section 2 and depending on the link between the sub-problems, either a sequential approach or a parallel approach can be used [40]. In this study, a sequential approach is proposed, which is illustrated in Figure 4. , ? By using the weather forecast data, the possible length of STWs are determined by using the following steps.
Step 1: Take the forecast data for the planning time period.
Step 2: For each consecutive R hours of sliding time windows, calculate the weather utility value (WUV). R is a parameter with a range of [1,3].
= α (standard deviation of the wind direction) + β (standard deviation the wind speeds). α and β are the weighted parameters.
Step 3: Sort the sliding time windows in ascending order of . Select the time windows based on the weather utility value and divide the time period into different sub-mission time windows.
The method mentioned above creates a sequence of STWs where the time period is divided into several STWs. The purpose is to create sub-missions during a time where there are similar weather conditions. Based on the traveling time of the UAV, assuming that it is flying against the wind and considering the maximum energy limit, the flying-time windows are determined. The STWs are divided in flying-time windows based on the time used in flying the UAVs considering the maximum fuel limit and maximum carrying payload.

The Method to Determine the Clusters of Customers
The given variables are G = (N, E), F l , vw l = vw l , vw l , θ l Question: How do we determine clusters of customers CL m,l = N m,l , E m,l which should be extracted from the transportation network in each flying time window?
Determining the number of customers to be put in the cluster can be achieved in several ways such as hierarchical clustering and expectation-maximization clustering and "k-means" clustering. The "k-means" clustering algorithm is selected to do the clustering because it is less time consuming and it is already used in existing literature [36,41]. Customer locations are taken as the feature of the clustering algorithm.

The Method to Create a Possible Set of Sub-Missions
Given are l-th flying time window: F l , vw l = vw l , vw l , θ l , CL m,l , d i,j ,vg i,j , t i,j Question: Does a set S m,l = S 1,m,l , . . . , S q,m,l of admissible sub-missions satisfying the energy constraints and collision avoidance exist?
The method of creating a possible set of sub-missions for a cluster in a given flying time window has two stages as shown in Figure 5. Stage one creates a list of scenarios for the cluster and stage two creates sub-missions using the scenarios made in stage one. and it is already used in existing literature [36,41]. Customer locations are taken as the feature of the clustering algorithm. The method of creating a possible set of sub-missions for a cluster in a given flying time window has two stages as shown in Figure 5. Stage one creates a list of scenarios for the cluster and stage two creates sub-missions using the scenarios made in stage one. Stage two: Input for stage two is the list scenarios (RL) for routes with plans and customer satisfaction levels made in stage one for a cluster. The sub-missions for each cluster are created as per the method shown in Figures 6 and 7. The elements are explained below.
Step 1 takes all scenarios in the scenario list (RL) as input data, which comes from stage one, and move to condition a. Input data includes the UAV fleet size, priority of UAVs and the desired number of sub-missions. An empty tab list (TL) is created in this step to store the pairs of scenarios.
Condition a checks whether a pair of scenarios exist in R which do not exist in TL. If yes, it moves to step 2 and, if not, it moves to step 3.
Step 2 adds R to TL and assign the UAVs to R. Then it moves to condition b. Condition b checks whether the routes in R satisfies the collision avoidance constraint (2). If yes, it moves to step 1' (which goes as an input to condition e in Figure 7) and, if no, it moves to condition Stage one and stage two is executed for each cluster for each FTW. The sub-missions are created for each m th cluster in each l th FTW. This calculation provides a set of sub-missions for each cluster in each time window. All the sub-missions in all clusters in a flying-time window equal to the total number of sub-missions made for that flying time window. As the output, it provides sets of sub-missions for each flying time window. P i,j is calculated assuming that UAV travels with maximum payload using (6). Stage two: Input for stage two is the list scenarios (RL) for routes with plans and customer satisfaction levels made in stage one for a cluster. The sub-missions for each cluster are created as per the method shown in Figures 6 and 7. The elements are explained below.
Step 1 takes all scenarios in the scenario list (RL) as input data, which comes from stage one, and move to condition a. Input data includes the UAV fleet size, priority of UAVs and the desired number of sub-missions. An empty tab list (TL) is created in this step to store the pairs of scenarios.
Condition a checks whether a pair of scenarios exist in R which do not exist in TL. If yes, it moves to step 2 and, if not, it moves to step 3.
Step 2 adds R to TL and assign the UAVs to R. Then it moves to condition b. Condition b checks whether the routes in R satisfies the collision avoidance constraint (2). If yes, it moves to step 1' (which goes as an input to condition e in Figure 7) and, if no, it moves to condition c. Condition c checks whether schedules of R can be rescheduled in order to satisfy collision avoidance constraints (2). If yes it moves to step 6 and if not, it moves to step 4.
Step 1' sends the output from Figure 6 as the input to Condition e in Figure 7.
Step 3 deletes one scenario assigned to the UAV with less priority from R and moves to condition d. Condition d checks whether there exists a scenario nR in RL, which does not make a pair R which is already in TL. If no, it stops the process and, if yes, it moves to step 5.
Step 4 adds R to TL and moves to condition b.
Step 5 creates new schedules for R and move to step 1' (which goes as an input to condition e in Figure 7).
Step 2' takes the output from Figure 6 and moves to condition e where it checks whether there exists an available UAV in the fleet of UAVs. If yes, it moves to condition f and if not, it moves to step 10. Condition f checks if there exists a scenario nR in RL which does not make an R which is in TL. If no, it stops the process and if yes, it moves to step 6.
Step 6 adds the created R to TL. Then moves to condition g. Condition g checks whether the routes in R satisfies the collision avoidance constraint (2). If yes, it moves to step 8 and if not, it moves to condition h.
Condition h checks whether the schedules of R can be rescheduled in order to satisfy the collision avoidance constraints by only changing the schedule of nR. If yes, it moves to step 7 and if not, it moves to step 9.
Step 7 creates new schedules for R and moves to step 9.
Step 8 assigns next UAV to R moves to condition i.
Step 9 removes the scenario nR from R and moves to step 10. Condition i checks whether all the UAVs in the fleet are used. If yes, it moves to step 10, and, if not, it moves to condition f .
Step 10 creates the sub-missions (S n,m,l ) and adds to the list of sub-missions LS. Customer satisfaction levels of a customer in a sub-mission are equal to the total of customer satisfaction levels of that customer in all the routes in that sub-mission. Then it moves to condition j.
Condition j checks whether the desired number of sub-missions are reached. If yes, it stops the process and, if not, it moves to step 3' (which goes as an input to condition a in Figure 6). The output of this algorithm provides a possible set of sub-missions.
Step 3' sends the "No" signal from Condition j (Stopping criteria) to Condition a in Figure 6. c. Condition c checks whether schedules of R can be rescheduled in order to satisfy collision avoidance constraints (2). If yes it moves to step 6 and if not, it moves to step 4.
Step 1' sends the output from Figure 6 as the input to Condition e in Figure 7.
Step 3 deletes one scenario assigned to the UAV with less priority from R and moves to condition d. Condition d checks whether there exists a scenario nR in RL, which does not make a pair R which is already in TL. If no, it stops the process and, if yes, it moves to step 5.
Step 4 adds R to TL and moves to condition b.
Step 5 creates new schedules for R and move to step 1' (which goes as an input to condition e in Figure 7).
Step 2' takes the output from Figure 6 and moves to condition e where it checks whether there exists an available UAV in the fleet of UAVs. If yes, it moves to condition f and if not, it moves to step 10. Condition f checks if there exists a scenario nR in RL which does not make an R which is in TL. If no, it stops the process and if yes, it moves to step 6.
Step 6 adds the created R to TL. Then moves to condition g. Condition g checks whether the routes in R satisfies the collision avoidance constraint (2). If yes, it moves to step 8 and if not, it moves to condition h.
Condition h checks whether the schedules of R can be rescheduled in order to satisfy the collision avoidance constraints by only changing the schedule of nR. If yes, it moves to step 7 and if not, it moves to step 9.
Step 7 creates new schedules for R and moves to step 9.
Step 8 assigns next UAV to R moves to condition i. Figure 6. The heuristic to create sub-missions with collision avoidance for a cluster in an FTW. Figure 6. The heuristic to create sub-missions with collision avoidance for a cluster in an FTW. Figure 7. The heuristic to create sub-missions with collision avoidance for a cluster in an FTW.
Step 9 removes the scenario nR from R and moves to step 10. Condition i checks whether all the UAVs in the fleet are used. If yes, it moves to step 10, and, if not, it moves to condition f.
Step 10 creates the sub-missions (Sn,m,l) and adds to the list of sub-missions LS. Customer satisfaction levels of a customer in a sub-mission are equal to the total of customer satisfaction levels of that customer in all the routes in that sub-mission. Then it moves to condition j.
Condition j checks whether the desired number of sub-missions are reached. If yes, it stops the process and, if not, it moves to step 3' (which goes as an input to condition a in Figure 6). The output of this algorithm provides a possible set of sub-missions.
Step 3' sends the "No" signal from Condition j (Stopping criteria) to Condition a in Figure 6. Question: How to find the sequence of sub-mission deliveries that maximize the customer demand fulfilment?
All sets of possible sequences of sub-missions are searched using brute-force search for small instances where networks, having less than 15 customer nodes. For large instances, the depth-first iterative-deepening (DFID) algorithm is proposed to find admissible missions which gives the highest customer satisfaction because it does not have the drawbacks of most of the other searching Question: How to find the sequence of sub-mission deliveries that maximize the customer demand fulfilment? All sets of possible sequences of sub-missions are searched using brute-force search for small instances where networks, having less than 15 customer nodes. For large instances, the depth-first iterative-deepening (DFID) algorithm is proposed to find admissible missions which gives the highest customer satisfaction because it does not have the drawbacks of most of the other searching algorithms [42,43]. Since DFID expands all nodes to a given depth before expanding any nodes to a greater depth, it is guaranteed to find an asymptotically optimal solution [42].

Numerical Example and Results
The objective of the study is to find an admissible sequence of sub-missions where customer satisfaction is maximized by the end of the time period. Based on the approach for the proposed solution it can be seen that the creation of sub-missions is the most critical element because of the interdependency analysis of the sub-problems. Hence, in this section, the method for the proposed solution for sub-problem 3 is tested using numerical examples to observe the changes in the output for the different inputs for the parameters shown in Table 2. All experiments were performed with a fleet of UAVs having the characteristics mentioned in Figure 2. The STWs considered consist of different lengths where the STW are the outputs of step 1 of the solution. Table 2. Input data for the experiments.

Input Data Values
The maximum energy of UAV (P max ) 6000; 12,000 (KJ) UAV fleet size (K)  2 By using the input data, sub-missions are created for each cluster for each flying time window. The creation of sub-missions is done by the method proposed in Figure 5. The example of a cluster containing five customers (1-5) and an FTW of 20 minutes is considered here to illustrate the creation of sub-missions (Figure 9, 10, 11 and 12). For each FTW which falls under a STW, the input parameters for the UAV fleet size, maximum carrying payload, the number of customers per route and the maximum energy of the UAV are changed to make the sub-missions while all remaining parameters are kept constant. Weather data are taken from the actual and forecast weather data from Denmark from 2006 to 2016. Distance data is taken from the network shown in Figure 8. All experiments were implemented in Java using Netbeans IDE 8.2 (Apache Software Foundation, Oracle Corporation, Las Vegas, USA) and conducted on a personal computer with a 2.7 GHz processor and 8 Gb RAM.
By using the input data, sub-missions are created for each cluster for each flying time window. The creation of sub-missions is done by the method proposed in Figure 5. The example of a cluster containing five customers (1)(2)(3)(4)(5) and an FTW of 20 minutes is considered here to illustrate the creation of sub-missions (Figures 9-12).
By using the input data, sub-missions are created for each cluster for each flying time window. The creation of sub-missions is done by the method proposed in Figure 5. The example of a cluster containing five customers (1)(2)(3)(4)(5) and an FTW of 20 minutes is considered here to illustrate the creation of sub-missions (Figure 9, 10, 11 and 12).   Figure 10. Scenarios assigned to UAVs with collisions, which are not possible to reschedule. Figure 10. Scenarios assigned to UAVs with collisions, which are not possible to reschedule.
For possible sub-missions, which contain a different number of customers per route, the average total distance travelled by a sub-mission concerning a different size of the fleet is shown in Figure 13.    For possible sub-missions, which contain a different number of customers per route, the average total distance travelled by a sub-mission concerning a different size of the fleet is shown in Figure 13. The length of the FTWs regarding the changes in the number of customers per route and the UAV fleet size is shown in Figure 14. This data can be used to determine the parameters of fleet size and the number of customers per route in different lengths of FTWs. Depending on the length of the FTWs, sub-missions having different parameters for fleet size and number of customers per route can be used to deliver materials to customers.
Customer satisfaction levels are shown in Figure 15 for different wind speeds (m/s) for sub-missions having different fleet sizes and numbers of customers per route. (Cn-number of customers per route, K-fleet size). It shows that depending on the wind speed, the number of materials which can be delivered to customers is changing for the sub-missions, which consist of various combinations of fleet size and numbers of customers per route. For possible sub-missions, which contain a different number of customers per route, the average total distance travelled by a sub-mission concerning a different size of the fleet is shown in Figure 13. The length of the FTWs regarding the changes in the number of customers per route and the UAV fleet size is shown in Figure 14. This data can be used to determine the parameters of fleet size and the number of customers per route in different lengths of FTWs. Depending on the length of the FTWs, sub-missions having different parameters for fleet size and number of customers per route can be used to deliver materials to customers. Customer satisfaction levels are shown in Figure 15 for different wind speeds (m/s) for submissions having different fleet sizes and numbers of customers per route. (Cn-number of customers per route, K-fleet size). It shows that depending on the wind speed, the number of materials which can be delivered to customers is changing for the sub-missions, which consist of various combinations of fleet size and numbers of customers per route. Customer satisfaction levels are shown in Figure 15 for different wind speeds (m/s) for submissions having different fleet sizes and numbers of customers per route. (Cn-number of customers per route, K-fleet size). It shows that depending on the wind speed, the number of materials which can be delivered to customers is changing for the sub-missions, which consist of various combinations of fleet size and numbers of customers per route. The length of the FTWs regarding the changes in the number of customers per route and the UAV fleet size without putting the collision avoidance constraint is shown in Figure 17. This data can be used to analyze the increased percentage of the length of FTWs in comparison with the scenarios where the collision avoidance constraints are considered.  The length of the FTWs regarding the changes in the number of customers per route and the UAV fleet size without putting the collision avoidance constraint is shown in Figure 17. This data can be used to analyze the increased percentage of the length of FTWs in comparison with the scenarios where the collision avoidance constraints are considered. The length of the FTWs regarding the changes in the number of customers per route and the UAV fleet size without putting the collision avoidance constraint is shown in Figure 17. This data can be used to analyze the increased percentage of the length of FTWs in comparison with the scenarios where the collision avoidance constraints are considered.           Based on the experiment results, sub-missions having different combinations of fleet size and numbers of customers per route could be used to deliver similar amounts of customer demands. However, depending on the length of FTWs different sub-missions can be chosen to execute the missions. It is observed that the collision avoidance constraint increases the flying time of the sub-missions and if a different network can be used where there is less crossing between flying corridors, then the flying time of sub-missions will be reduced, compared to the current network. Hence, the nature of the network influences the results of the creation of sub-missions. Based on the results shown in Figure 14, the sub-missions having different parameters for fleet size and numbers of customers per route can be used to deliver materials to the customers, depending on the length of FTWs. Figures 16 and 17 indicate that different combinations of fleet size and numbers of customers per route are changing concerning the changes in wind direction and wind speed. These results can be used to choose the parameters for sub-missions depending on the weather conditions in the FTW.

Discussion
Previous studies have first formulated the mission planning problem for a fleet of UAVs as a mixed-integer non-linear programming problem, but subsequently approximated it as a mixed-integer linear programming problem and used Gurobi (Version 6.2, Gurobi GmbH, Berlin, Germany) for solving this formulation of the problem [44,45]. Fügenschuh and Müllenstedt [44] consider energy limitations of UAVs, but do not consider the effects of weather conditions in deriving the energy consumptions and used linear approximations of the energy consumption of UAVs. In the study presented in this paper, linear approximations were not used and weather conditions were considered when calculating the energy consumption of UAVs. Furthermore, in Radzki et al. [46] the problem is formulated as an extension of the VRPTW and is solved in a constraint-programming environment (IBM ILOG). Such programming environments could only provide solutions for relatively small networks in which the number of UAVs are lower than or equal to 4, and the number of customers is lower than or equal to 8 [46]. Thus, in contrast to the existing literature this study proposes the first declarative model for the UAV fleet-mission planning problem, which enables decision support for UAVs' fleet-mission planning considering all the influencing aspects together. These aspects include characteristics of UAVs fleet, characteristics of energy consumption affected by the weather conditions, characteristics of the network and customer locations. Furthermore, the weight of the UAVs used here exceed these used in existing research (this study uses large UAVs with an empty payload weight more than 40 Kgs). As the weight of the UAV is critical in terms of energy consumption, it is not reasonable to use linear approximations for energy consumption of large UAVs [9]. Thus, this study has used the non-linear models in calculating energy consumption while considering weather conditions. This closes a realism gap between current state of research and practical execution and, therefore, ensures that the mission plans generated through the proposed approach will have a higher degree of realism and therefor a higher likelihood of being executed as planned.
The proposed model can with the UAVs fleet size and characteristics (payload, energy capacity etc.) as input, provide the maximum customer satisfaction level, which can be achieved by that fleet in the given weather conditions. Furthermore, the presented model can be used by a UAV fleet-mission planner to give a desired customer satisfaction level as an input and find the required number of UAVs to accommodate that desired satisfaction level. In this method, all the customers have been given a similar priority when serviced by the fleet of UAVs, but the model can be modified if certain customers should be given higher priority than other customers in receiving their goods.
The proposed method can be used as a decision support tool (Figure 21), which allows one to answer questions regarding the analysis (evaluation) of the robustness of the UAV fleet mission plan to different influencing parameters of wind speed and direction, UAV fleet size, specifications, payload capacity and energy capacity. An example of such a question is: is it possible to find a flight mission plan using the given fleet size to deliver the required amount of deliveries to customers within a given time period with the given weather forecast? When the answer is positive, the flight mission planners can proceed to send the mission plans to air traffic control to get approval for execution. When the answer is negative, then the decision-maker can use the proposed method to obtain an answer to the question regarding the synthesis of the system parameters (describing the network, UAVs fleet, weather conditions), which guarantee to deliver the required amount of material to customers. In other words, it allows one to search for the parameters of the UAV fleet (fleet size, UAV capacity, etc.) for which a flight-mission plan meeting specific expectations exists (e.g. robustness of the mission plan to provide the maximum possible deliveries in the given weather forecast).  When the answer is positive, the decision-maker can obtain the parameters of the system which guarantee to deliver the assumed amount of deliveries to the customers. A negative answer informs the decision-maker that it is impossible with the given inputs to find a flight mission plan. The conducted simulations of this study have been provided to aerospace companies, as a proposal input for a UAV fleet-planning decision support system enabling them to prototype alternative mission proposals for execution. Investigations on potential approaches and an offline-based system are carried out to ensure that only missions suitable to be sent to flight approval from air traffic control [47,48] are accepted and the results of the study will be implemented as a technical tool in the decision support systems of aerospace companies. When the answer is positive, the decision-maker can obtain the parameters of the system which guarantee to deliver the assumed amount of deliveries to the customers. A negative answer informs the decision-maker that it is impossible with the given inputs to find a flight mission plan. The conducted simulations of this study have been provided to aerospace companies, as a proposal input for a UAV fleet-planning decision support system enabling them to prototype alternative mission proposals for execution. Investigations on potential approaches and an offline-based system are carried out to ensure that only missions suitable to be sent to flight approval from air traffic control [47,48] are accepted and the results of the study will be implemented as a technical tool in the decision support systems of aerospace companies.

Conclusions
In this paper, a novel decision support-driven approach is presented to solve the complex problem of multi-trip fleet mission planning subject to changing weather conditions for a fleet UAVs. This problem involves the management of complex characteristics during the process of mission planning while considering factors such as weather dependencies, collision avoidance, and addressing the non-linear energy consumption behavior of UAVs that is affected by the weather conditions and the carrying payload.
In that context, the main problem can be seen a special case of the vehicle routing and scheduling problems, where the final flight plan consists of deliveries to customers that are arranged as a sequence of sub-missions. Therefore, the problem considered of UAVs mission planning match that of vehicle routing concerning the VRP which is NP-hard. Besides the presented UAVs fleet mission planning perspectives, the research scope regards a quite large class of logistics networks that share common properties even though they could have certain differences. In other words, besides UAVs that could be treated as a goods transport mode, other emerging trends concerning logistics and military issues can be modelled.
The proposed declarative decomposed solution approach offers a reasonable way to solve the problem reducing its complexity, and different alternative approaches could be tested in future research. The proposed approach leads to feasible solutions based on sufficient conditions that could be used as a prototype of a decision support system (DSS) addressing various influencing parameters involved in UAVs fleet-mission planning. Each sub-problem can be replaced by different alternatives in future research while ensuring the overall feasibility considering interdependency between the sub-problems to find optimal solutions. However, in further research, real-life verification of the method should be done by reducing the assumptions that have been made in this study, which constrain its application. Overall, this study should be used as a starting point for further research of online mission planning approaches, where the results of the study can be used to develop an interactive DSS that supports on-board UAV fleet-mission planning.