Keywords

1 Introduction

Fleet mission planning for Unmanned Aerial Vehicles (UAVs) creates flight plans for the specific sets of service times and travel times, typically over some time. However, there are often situations where not all information about the problem instance is known in advance. Such cases occur in situations related to the ordering of services carried out at strictly defined intervals, i.e., remaining active for a certain deterministic amount of time and then expire, which is the case with impatient customers [9]. In other words, in such cases where the fulfillment of an active service request enables one of the UAVs to visit the location of a new request [4, 5]. Dynamism is mostly considered for customer requests. Since the most common source of dynamism in UAVs routing is the online arrival of customer requests during the operation, i.e., the current routing is subject to change at any time. Hence, vehicles do not know their next destination until they finish serviced requests.

The UAVs mission planning problem specified above belongs to the class of Vehicle Routing Problems (VRP). Because possible occurrences are dynamically changing demands, service, and travel times, i.e., the input data revealing during the execution of the plan, is also referred to as online VRP or the dynamic VRP (DVRP) [4, 6, 12]. Because part or all of the inputs are unknown and revealed dynamically during the design or execution of the fleet mission plan, the UAV routes are redefined in an ongoing fashion that correspond to rapidly evolving problem constraints.

The DVRP and its related problems have been studied since the late eighties of the last century [1, 5]. The issues extensively studied in the literature cover various issues of modeling and planning mobile vehicle fleets in flying ones [3, 7, 8]. Excellent reviews on DVRPs and their taxonomy, are given in [2, 10, 12].

This research addresses the existing gap in the state-of-the-art of UAVs fleet mission planning concerning the changing weather conditions, and it allows generating alternative robust mission plans. Assuming limited battery capacity, any change in weather conditions results in a range change for a drone. In this context, it can be seen as the continuation of our previous works [11, 14] by assessing the possibility of using declarative modeling methods in order to provide a strategy for determining the minimum number of UAVs needed to ensure that a certain fraction of service requests is fulfilled in assumed time horizon. Our main contributions to considered dynamic and energy-dependent multi-route VRP with time windows problem can be summarized as follows:

  1. 1.

    The proposed approach considers multiple factors that influence the UAVs’ ability to complete the missions, such as changing weather conditions, different UAVs energy consumption, and the possibility of an emergency interruption of the UAV’s mission, that forces him to return to the depot.

  2. 2.

    The declarative modeling-driven approach is formulated, which allows for the assessment of alternative UAVs fleet routing and scheduling variants. The proposed Constraint Satisfaction Problem (CSP) based framework enables for predictive (i.e., considering forecasted weather conditions) and reactive (i.e., enabling UAVs emergency departure) planning of missions aimed at impatient customers service.

  3. 3.

    The proposed approach enables us to replace the usually used computer simulation methods of routes prototyping and UAVs scheduling by employing a constraint programming environment. Since CSP based framework allows us to search for the answer to the opposite question: what conditions do guarantee the success of a mission? In this context, the proposed solution can be recognized as an outperforming solution approach concerning those usually used for UAV mission planning.

The rest of the paper is organized as follows. In Sect. 2, using the illustrative example, the UAVs fleet mission planning problem was introduced. A dynamic programming approach, including the detailed description of the solution method adopted, is given in Sect. 3. Section 4 reports the computational experiments to assess the model behavior and evaluate the impact of some key input parameters. Concluding remarks are provided in Sect. 5.

2 Problem Formulation

As an example, let us consider a company that provides air transport services using a fleet of UAVs. In a case in point, the fleet \( {\mathcal{U}} = \left\{ {U_{1} ,U_{2} , U_{3} } \right\} \) consists of three UAVs with identical technical parameters (Fig. 1). The UAVs deliver goods to 19 customers located in an area covering 100 km2 – the network of connections is shown in Fig. 1. Node \( N_{1} \) represents the location of the company (the depot which the UAVs take off from/land at), and nodes \( N_{2} - N_{20} \) represent the individual customers.

Fig. 1.
figure 1

Transportation network

Known is the demand \( z_{i} \) of the individual customers, they are respectively: \( z_{2} = z_{3} = \) \( z_{4} = \) \( z_{5} = z_{6} = 5 \) [kg], \( z_{7} = 10 \) [kg], \( z_{8} = 15 \) [kg], \( z_{9} = 15 \) [kg], \( z_{10} = z_{11} = \ldots = \) \( z_{16} = 5 \) [kg], \( z_{17} = 10 \) [kg], \( z_{18} = z_{19} = 15 \) [kg], \( z_{20} = 5 \) [kg]. It is also assumed that time windows \( tw_{i} \) are known in which the \( i \)-th consumers make the deliveries they have ordered. The considered time horizon for deliveries does not exceed 1.5 h (\( t_{max} = 5400 \) [s]). The problem under consideration boils down to seeking the answer to the following question: Is the available fleet \( {\mathcal{U}} \) able to guarantee the delivery of the required amount of goods {\( z_{2} , \ldots , \) \( z_{20} \)}, to the customers {\( N_{2} , \ldots , N_{20} \) }, in a given time horizon (\( t_{max} \))? The answer to this question allows one to designate flight mission \( S \) carried out by the UAVs fleet, and more specifically, to designate the routes \( \varPi \) of individual UAV and the associated delivery schedules \( Y \). The assessment of the feasibility of carrying out the planned mission takes into account the forecast of weather conditions. Weather conditions accompanying the mission are determined based on forecasts (Fig. 2a), enabling the determination of the so-called set of allowed weather conditions \( {\mathbb{Z}} \) (Fig. 2b). \( {\mathbb{Z}} \) is a set of forecasted weather conditions represented by the pairs: (wind’s direction \( \theta \), a wind’s speed \( vw \)), that may occur during the mission: \( {\mathbb{Z}} = \left\{ {\left( {\theta ,vw} \right)|\theta \in \left[ {0^\circ ,360^\circ } \right),vw \le Z\left( \theta \right)} \right\} \). The set \( {\mathbb{Z}} \) is determined by the function \( Z\left( \theta \right) \) where: \( \theta \in \left[ {0^\circ ,360^\circ } \right) \) whose values determine the maximum forecasted wind speed for given direction \( \theta \). It is assumed that the function \( Z\left( \theta \right) \) is known and determined based on available weather forecasts (e.g., see Fig. 2b).

Fig. 2.
figure 2

Sample weather forecast a) and the corresponding function \( Z\left(\Theta \right) \) b)

The variability of weather conditions (as part of the adopted set \( {\mathbb{Z}} \)) significantly affects the level of battery consumption [11, 13, 14] of UAVs carrying out the planned mission \( S \) and thus determines the possibility of its completion. In practice, there are situations when, when the wind is too strong. It is impossible to perform the planned mission within a given time horizon. This concept introduces the concept of the robustness of the mission plan \( S \) to the weather conditions \( {\mathbb{Z}} \).

Let the set \( {\mathbb{Y}}_{{{\mathcal{U}}SG}} \) determine the set of weather conditions (pairs \( \left( {\theta ,vw} \right) \)), for which the plan of mission \( S \) by fleet \( {\mathcal{U}} \) in the distribution network \( {\mathcal{U}} \) is feasible: \( {\mathbb{Y}}_{{{\mathcal{U}}SG}} = \left\{ {\left( {\theta ,vw} \right)|\theta \in \left[ {0^\circ ,360^\circ } \right),vw \le\Upsilon _{{{\mathcal{U}}SG}} \left( \theta \right)} \right\} \), where: \( \Upsilon _{{{\mathcal{U}}SG}} \left( \theta \right) \) – is the function determining the boundary weather conditions the exceeding of which would result in a situation that the battery of at least one UAV from the fleet \( {\mathcal{U}} \) would be empty. Under these assumptions, it is assumed that a plan of mission \( S \) to be executed by fleet \( {\mathcal{U}} \) in distribution network \( G \) is robust to forecasted weather conditions \( {\mathbb{Z}} \) only when,  \( {\mathbb{Z}} \subseteq {\mathbb{Y}}_{{{\mathcal{U}}SG}} \).

According to the above definition, it possible to formulate a new class problem of searching for proactive plans of missions robust to given changes in weather conditions, i.e., the robust plans of mission (Fig. 3). It is assumed that a given set of forecast weather conditions \( {\mathbb{Z}} \) is given, for fleet \( {\mathcal{U}} \) and distribution network \( G \). The answer to the following question is sought: Does there exist a plan of mission \( S_{ } \) guaranteeing robustness to given weather \( \left( {\varUpsilon_{{{\mathcal{U}}SG}} \left( \theta \right) \ge Z\left( \theta \right)} \right) \)? Such a form for the plan for mission \( S \) is sought (routes \( \varPi \) and related flight schedules \( Y \)) for fleet \( {\mathcal{U}} \), which guarantees timely delivery (within a given time horizon) to all recipients in the \( G \) network. That is resistant to forecasted weather conditions \( {\mathbb{Z}} \). Therefore, such a form for of plan of mission \( S \), for which the condition is met \( {\mathbb{Z}} \subseteq {\mathbb{Y}}_{{{\mathcal{U}}SG}} \) that means: \( \forall_{{\theta \in \left[ {0^\circ ,360^\circ } \right)}}\Upsilon _{{{\mathcal{U}}SG}} \left( \theta \right) \ge Z\left( \theta \right) \) and it is stated that for each direction \( \theta \) the wind speed value \( \Upsilon _{{{\mathcal{U}}SG}} \left( \theta \right) \) for which the plan of the mission is achievable exceeds the maximum forecast wind speed \( Z\left( \theta \right) \) for the given direction. The problem considered assumes that:

Fig. 3.
figure 3

Illustration of UAVs fleet robust mission planning

  • the set of forecasted weather conditions \( {\mathbb{Z}} \) is known and constant,

  • the structure \( G \) of the goods distribution network is known (Fig. 1),

  • the goods are transported by the fleet \( { \mathcal{U}} \) of the same UAVs (Fig. 1),

  • all missions should be completed in the given time horizon (\( t_{max} \)),

  • all UAVs are in the depot (\( N_{1} \)) before the start of the delivery mission,

  • after returning to the depot and replacing the battery, the UAV is ready for the next flight,

  • the same type of freight is delivered to all customers (demands \( z_{i} \)),

  • during the flight, the total weight of the UAV is constant (\( 67\,\text{kg} \)),

  • the UAVs ground speed are constant speed (\( vg_{i,j} = 20\,{\rm m}/{\rm s} \)),

  • a safe energy level (reserve) is known at the points served.

Due to the limitations related to the size of the available fleet and the constraints related to the limited capacity of the battery, i.e., the flight range, as well as the possibility of order cancellations and the occurrence of weather changes exceeding previously forecasted arrangements the DVRP based approach has been adopted. This approach implies that a plan of flying mission \( S \) is designated as a composition of successively designated sub-missions \( {}_{ }^{\alpha } S \). In other words, it means that the decision to designate (a safe and collision-free mission) a new sub-mission \( {}_{ }^{\alpha } S \) takes place in the distinguished states of the delivery process (see Fig. 4):

Fig. 4.
figure 4

Example of UAV mission accomplishment

  • during the UAV’s stay in the depot (\( N_{1} \)): decision on a new mission plan,

  • at delivery points: the decision to discontinue the mission and return to depot.

An example of a dynamic process of planning (determining) the flying mission \( S \) for a fleet of two UAVs are shown in Fig. 4. In the first step (moment \( t_{1} \)), a sub-mission was set \( {}_{ }^{1} S \), under which UAVs make deliveries following routes: \( \pi_{1} = \left( {N_{1} ,N_{2} ,N_{4} ,N_{6} , N_{1} } \right) \), \( \pi_{2} = \left( {N_{1} ,N_{3} , N_{7} ,N_{1} } \right) \). After \( U_{2} \) return to the depot (moment \( t_{2} \)), a decision was made to start a new sub-mission \( {}_{ }^{2} S \) for this UAV (planned route: \( \pi_{2} = \left( {N_{1} ,N_{5} ,N_{8} ,N_{9} , N_{1} } \right) \)). At \( t_{3} \), it turned out that the weather conditions exceeded the allowable value (11 m/s), which resulted in the decision to discontinue the mission and return \( U_{2} \) to the depot. Deliveries to \( N_{8} \) and \( N_{9} \) were carried out by \( U_{1} \) (sub-mission \( {}_{ }^{3} S \): \( \pi_{1} = \left( {N_{1} ,N_{8} , N_{9} , N_{1} } \right) \)). Adopting the above approach to mission planning, \( S \) is conditioned by the possibility of effectively determining safe and collision-free (robust to forecasted weather conditions) sub-missions \( {}_{ }^{\alpha } S \), at every stage of decision making. To this end, declarative programming techniques implementing the model proposed in the next section were used.

3 Dynamic Programming Approach

3.1 Declarative Model

The mathematical formulation of the model dedicated to the robust mission planning employs the following parameters, variables, sets, and constraints:

Parameters

\( {}_{ }^{\alpha } G \) :

graph of a distribution network: \( {}_{ }^{\alpha } G = \left( {N, E} \right) \) for sub-mission \( {}_{ }^{\alpha } S \), where \( N = \left\{ {1 \ldots n} \right\} \) is a set of nodes, \( E = \{ \left\{ {i, j} \right\}| i, j \in N, i \ne j\} \) is a set of edges

\( z_{i} \) :

demand at node \( i \in N \), \( z_{1} = 0 \)

\( tw_{i} \) :

the time window in which goods should be delivered to node \( i \in N \), \( tw_{1} = \emptyset \)

\( d_{i,j} \) :

travel distance from node \( i \) to node \( j \)

\( t_{i,j} \) :

travel time from node \( i \) to node \( j \)

\( w \) :

time spent on take-off and landing of a UAV

\( ts \) :

the time interval at which UAVs can take off from the base

\( {}_{ }^{\alpha } {\mathcal{U}} \) :

set (fleet) of UAVs: \( {}_{ }^{\alpha } {\mathcal{U}} = \left\{ {U_{1} , \ldots , U_{k} , \ldots , U_{K} } \right\} \) which can be used to execute the flying sub-mission \( {}_{ }^{\alpha } S \), where \( U_{k} \) is a k-th UAV

\( K \) :

size of the fleet of UAVs

\( {}_{ }^{\alpha }\Upsilon _{{{\mathcal{U}}SG}} \) :

\( {}_{ }^{\alpha } {\mathcal{U}} \) fleet resistance to changes in weather conditions during the execution of the plan of mission \( {}_{ }^{\alpha } S \) in distribution network \( {}_{ }^{\alpha } G \)

\( Q \) :

maximum loading capacity of a UAV

\( C_{D} \) :

the aerodynamic drag coefficient of a UAV

\( A \) :

front-facing area of a UAV

\( ep \) :

the empty weight of a UAV

\( D \) :

air density

\( g \) :

gravitational acceleration

\( b \) :

width of a UAV

\( CAP \) :

the maximum energy capacity of a UAV

\( H \) :

time horizon \( H = \left[ {0,t_{max} } \right] \)

\( Z\left( \varTheta \right)^{ } \) :

function determining the upper value of wind speed for wind direction \( \theta \)

\( va_{i,j}^{ } \) :

airspeed of a UAV traveling from node \( i \) to node \( j \)

\( \varphi_{i,j} \) :

heading angle, angle of the airspeed vector when the UAV travels from node \( i \) to node \( j \)

\( vg_{i,j}^{ } \) :

ground speed of a UAV traveling from node \( i \) to node \( j \)

\( \vartheta_{i,j} \) :

course angle, angle of the ground speed vector when the UAV travels from node \( i \) to node\( j \)

Decision Variables

\( x_{i, j}^{k} \) :

the binary variable used to indicate if \( U_{k} \) travels from node \( i \) to node \( j \)

$$ x_{i,j}^{k} = \left\{ {\begin{array}{*{20}c} 1 & {{\text{if }}U_{k} {\text{travels from node i to node j }}} \\ 0 & {{\text{otherwise}} .} \\ \end{array} } \right. $$
\( y_{i}^{k} \) :

time at which \( U_{k} \) arrives at node \( i \)

\( c_{i}^{k} \) :

weight of freight delivered to node \( i \) by \( U_{k} \)

\( f_{i, j}^{k} \) :

weight of freight carried from node \( i \) to node \( j \) by \( U_{k} \)

\( P_{i, j}^{k} \) :

energy per unit of time, consumed by \( U_{k} \) during a flight from node \( i \) to \( j \)

\( bat^{k} \) :

total energy consumed by \( U_{k} \)

\( s^{k} \) :

take-off time of \( U_{k} \)

\( cp_{i} \) :

total weight of freight delivered to node \( i \)

\( \pi_{k}^{ } \) :

route of \( U_{k} \), \( \pi_{k}^{ } = \left( {v_{1} , \ldots ,v_{i} ,v_{i + 1} , \ldots ,v_{\mu } } \right) \), \( v_{i} \in N \), \( x_{{v_{i} ,v_{i + 1} }}^{k} = 1 \)

Sets

\( Y_{ }^{k} \) :

set of times \( y_{i}^{k} \), schedule of \( U_{k} \)

\( {}_{ }^{\alpha } Y \) :

family of \( Y_{ }^{k} \), schedule of fleet \( {}_{ }^{\alpha } {\mathcal{U}} \)

\( C_{ }^{k} \) :

set of \( c_{i}^{k} \), payload weight delivered by \( U_{k} \)

\( {}_{ }^{\alpha } C \) :

family of \( C_{ }^{k} \)

\( {}_{ }^{\alpha } \varPi \) :

set of UAV routes \( \pi_{m,l}^{k} \)

\( {}_{ }^{\alpha } S_{ } \) :

plan of sub-mission: \( {}_{ }^{\alpha } S_{ } = \left( {{}_{ }^{\alpha } \varPi ,{}_{ }^{\alpha } Y,{}_{ }^{\alpha } C} \right) \)

Constraints

  1. 1.

    Routes. Relationships between the variables describing drone take-off times/mission start times and task order:

    $$ s^{k} \ge 0; k = 1 \ldots K $$
    (1)
    $$ \left( {\left| {s^{k} - s^{q} } \right| \ge ts} \right) ;k,q = 1 \ldots K;\quad k \ne q $$
    (2)
    $$ \sum\nolimits_{j = 1}^{n} {x_{1,j}^{k} = 1 ; k = 1 \ldots K} $$
    (3)
    $$ \left( {x_{1,j}^{k} = 1} \right) \Rightarrow \left( {y_{j}^{k} = s^{k} + t_{1,j} } \right) ; j = 1 \ldots n; k = 1 \ldots K $$
    (4)
    $$ \left( {y_{i}^{k} \ne 0 \wedge y_{i}^{q} \ne 0 } \right) \Rightarrow \left( {\left| {y_{i}^{k} - y_{i}^{q} } \right| \ge w} \right) ;i = 1 \ldots n; k,q = 1 \ldots K;\;k \ne q $$
    (5)
    $$ \left( {x_{i,j}^{k} = 1} \right) \Rightarrow \left( {y_{j}^{k} = y_{i}^{k} + t_{i,j} + w} \right); j = 1 \ldots n; i = 2 \ldots n; k = 1 \ldots K $$
    (6)
    $$ \left( {x_{i,j}^{k} = 1} \right) \Rightarrow \left( {y_{j}^{k} \in tw_{j} } \right); j = 1 \ldots n; i = 2 \ldots n; k = 1 \ldots K $$
    (7)
    $$ y_{i}^{k} \ge 0; i = 1 \ldots n; k = 1 \ldots K $$
    (8)
    $$ \sum\nolimits_{j = 1}^{n} {x_{i,j}^{k} = } \sum\nolimits_{j = 1}^{n} {x_{j,i}^{k} ; i = 1 \ldots n; k = 1 \ldots K} , $$
    (9)
    $$ y_{i}^{k} \le t_{max} \times \sum\nolimits_{j = 1}^{n} {x_{i,j}^{k} , i = 1 \ldots n; k = 1 \ldots K} , $$
    (10)
    $$ x_{i,i}^{k} = 0; i = 1 \ldots n; k = 1 \ldots K . $$
    (11)
  2. 2.

    Delivery of freight. Relationships between the variables describing the amount of freight delivered to nodes by UAVs and the demand for goods at a given node:

    $$ c_{i}^{k} \ge 0; i = 1 \ldots n; k = 1 \ldots K $$
    (12)
    $$ c_{i}^{k} \le Q \times \sum\nolimits_{j = 1}^{n} {x_{i,j}^{k} ; i = 1 \ldots n; k = 1 \ldots K} $$
    (13)
    $$ \sum\nolimits_{i = 1}^{n} {c_{i}^{k} \le Q; k = 1 \ldots K} $$
    (14)
    $$ \left( {x_{i,j}^{k} = 1 } \right) \Rightarrow c_{j}^{k} \ge 1; k = 1 \ldots K; i = 1 \ldots n; j = 2 \ldots n $$
    (15)
    $$ \sum\nolimits_{k = 1}^{K} {c_{i}^{k} = cp_{i} ; i = 1 \ldots n} $$
    (16)
    $$ cp_{i} \le z_{i} ; i = 1 \ldots n $$
    (17)
    $$ \sum\nolimits_{i = 1}^{n} {c_{i}^{k} = cs^{k} ; k = 1 \ldots K} $$
    (18)
    $$ \left( {x_{1,j}^{k} = 1} \right) \Rightarrow \left( {fc_{j}^{k} = cs^{k} } \right) ;j = 1 \ldots n; k = 1 \ldots K $$
    (19)
    $$ \left( {x_{i,j}^{k} = 1} \right) \Rightarrow \left( {fc_{j}^{k} = fc_{i}^{k} - c_{i}^{k} } \right) ;i,j = 1 \ldots n; k = 1 \ldots K $$
    (20)
    $$ \left( {x_{1,j}^{k} = 1} \right) \Rightarrow \left( {f_{1,j}^{k} = cs^{k} } \right) ;j = 1 \ldots n; k = 1 \ldots K $$
    (21)
    $$ \left( {x_{i,j}^{k} = 1} \right) \Rightarrow \left( {f_{i,j}^{k} = fc_{j}^{k} } \right) ; i,j = 1 \ldots n; k = 1 \ldots K $$
    (22)
  3. 3.

    Energy consumption. The plan of sub-mission \( {}_{ }^{\alpha } S \) is robust to weather conditions \( Z\left( \theta \right) \). That means the amount of energy needed to complete tasks performed by an UAV cannot exceed the maximum capacity of its battery.

    $$ {}_{ }^{\alpha }\Upsilon _{{{\mathcal{U}}SG}} \left( \theta \right) \ge Z\left( \theta \right);\quad \forall \theta \in \left[ {0^{ \circ } ,360^{ \circ } } \right) $$
    (23)
    $$ {}_{ }^{\alpha }\Upsilon _{{{\mathcal{U}}SG}} \left( \theta \right) = \max\Gamma \left( \theta \right) $$
    (24)
    $$ \Gamma \left( \theta \right) = \left\{ {vw | vw \in R_{ + }^{0} \wedge \forall _{{k \in \left\{ {1 \ldots K} \right\}}} bat^{k} \left( {\theta ,vw} \right) \le CAP} \right\} $$
    (25)
    $$ bat^{k} \left( {\theta ,vw} \right) = \sum\nolimits_{i = 1}^{n} {\sum\nolimits_{j = 1}^{n} {x_{i,j}^{k} \times t_{i,j} \times P_{i,j}^{k} \left( {\theta ,vw} \right)} } $$
    (26)
    $$ P_{i,j}^{k} \left( {\theta ,vw} \right) = \frac{1}{2}C_{D} \times A \times D \times \left( {va_{i,j}^{ } \left( {\theta ,vw} \right)} \right)^{3} + \frac{{\left( {\left( {ep + f_{i,j}^{k} } \right) \times {\text{g}}} \right)^{2} }}{{D \times b^{2} \times va_{i,j}^{ } \left( {\theta ,vw} \right)}} $$
    (27)

    where \( va_{i,j}^{ } \left( {\theta ,vw} \right) \) and \( t_{i,j} \) depend on the assumed strategy for goods delivering. If the ground speed \( vg_{i,j}^{ } \) is constant, then the air speed \( va_{i,j}^{ } \) is calculated from:

    $$ va_{i,j}^{ } \left( {\theta ,vw} \right) = \sqrt {\left( {vg_{i,j}^{ } \times cos\vartheta_{i,j} - vw \times cos\theta_{ } } \right)^{2} + \left( {vg_{i,j}^{ } \times sin\vartheta_{i,j} - vw \times sin\theta_{ } } \right)^{2} } $$
    (28)
    $$ t_{i,j} = \frac{{d_{i,j} }}{{vg_{i,j}^{ } }}. $$
    (29)
  4. 4.

    Customer’s satisfaction. For modeling purposes, we assume that the equitable aid distribution is measured by customer’s satisfaction \( CSL \) expressing a percentage of the expected amount of goods delivered to the recipients:

    $$ \frac{{\mathop \sum \nolimits_{i = 1}^{n} cp_{i} }}{{\mathop \sum \nolimits_{i = 1}^{n} z_{i} }} \times 100{{\% }} \ge CSL. $$
    (30)

3.2 Method

The adopted approach assumes that mission \( S \) consists of successively designated sub-missions: \( {}_{ }^{1} S \)\( {}_{ }^{\alpha } S \)\( {}_{ }^{L} S \). The decision to designate the next α-submission is made after the UAV returns to the depot, or the mission is discontinued because of the prevailing weather conditions. Determining the submission \( {}_{ }^{\alpha } S \) boils down to solving the following problem. Consider a fleet \( {}_{ }^{\alpha } {\mathcal{U}} \) servicing customers allocated in the supply distribution network \( {}_{ }^{\alpha } G \). Does there exist a plan of sub-mission \( {}_{ }^{\alpha } S_{ } \) (determined by variables \( {}_{ }^{\alpha } \varPi ,{}_{ }^{\alpha } Y,{}_{ }^{\alpha } C \)) guaranteeing robustness to given weather (\( \varUpsilon_{{{\mathcal{U}}SG}} \left( \theta \right) \ge Z\left( \theta \right) \) (constraints (24)–(30)) while following customer’s satisfaction level \( CSL \) (30)? This kind of problem can be seen as recursive Constraint Satisfaction Problem (CSP) [14] given by the following formula (31):

$$ {}_{ }^{\alpha } CP\left( {{}_{ }^{{\left( {\alpha - 1} \right)}} \varPi ,{}_{ }^{{\left( {\alpha - 1} \right)}} Y,{}_{ }^{{\left( {\alpha - 1} \right)}} C} \right)_{ } = \left( {{}_{ }^{\alpha } {\mathcal{V}},{}_{ }^{\alpha } {\mathcal{D}},{}_{ }^{\alpha } {\mathcal{C}}\left( {{}_{ }^{{\left( {\alpha - 1} \right)}} \varPi ,{}_{ }^{{\left( {\alpha - 1} \right)}} Y,{}_{ }^{{\left( {\alpha - 1} \right)}} C} \right)} \right) $$
(31)

where:

\( {}_{ }^{\alpha } {\mathcal{V}} = \left\{ {{}_{ }^{\alpha } \varPi ,{}_{ }^{\alpha } Y,{}_{ }^{\alpha } C,{}_{ }^{\alpha } G} \right\} \) -:

a set of decision variables determining a plan of sub-mission \( {}_{ }^{\alpha } S \): \( {}_{ }^{\alpha } \varPi \) - a set of UAV routes, \( {}_{ }^{\alpha } Y \) - a schedule of a UAV fleet, \( {}_{ }^{\alpha } C \) - a set of payload weights delivered by the UAVs, \( {}_{ }^{\alpha } G \) – graph of a distributed network updated by completed deliveries.

\( {}_{ }^{\alpha } {\mathcal{D}} \) -:

a finite set of decision variable domain descriptions,

\( {}_{ }^{\alpha } {\mathcal{C}}\left( {{}_{ }^{{\left( {\alpha - 1} \right)}} \varPi ,{}_{ }^{{\left( {\alpha - 1} \right)}} Y,{}_{ }^{{\left( {\alpha - 1} \right)}} C, } \right) \) -:

a set of constraints (1)–(30) parameterized by the solution of problem \( {}_{ }^{{\left( {\alpha - 1} \right)}} CP \)

To solve the \( {}_{ }^{\alpha } CP \) defined in formula (31), one must determine the values of the decision variables for which all the constraints are satisfied. By implementing \( {}_{ }^{\alpha } CP \) in a constraint programming environment, such as IBM ILOG, it is possible to obtain the sub-mission \( {}_{ }^{\alpha } S_{ } \) guaranteeing robustness to given weather conditions.

A dynamic mission \( S = \left( {{}_{ }^{1} S \ldots {}_{ }^{\alpha } S \ldots {}_{ }^{L} S} \right) \) algorithm based on the proposed concept \( {}_{ }^{\upalpha} CP \) is shown in Fig. 5. Mission \( S \) is determined in an iterative way wherein subsequent iterations (corresponding to the stages of deciding on a new route) the problem \( {}_{ }^{\alpha } CP \) is solved (\( solve \) function). The existence of an acceptable solution (i.e.\( \left( {{}_{ }^{\alpha } \varPi \ne \emptyset } \right) \wedge \left( {{}_{ }^{\alpha } Y \ne \emptyset } \right) \wedge \left( {{}_{ }^{\alpha } C \ne \emptyset } \right) \)), means that there is a sub-mission \( {}_{ }^{\alpha } S \) ensuring delivery to selected points in the network \( {}_{ }^{\alpha } G \). Subsequent sub-missions are set up until the demands of each customer \( z_{i} \) are met. In the absence of an admissible solution to the problem \( {}_{ }^{\alpha } CP \), an increase in the UAVs fleet should be considered. If this is not possible (\( \left| {{}_{ }^{\alpha } {\mathcal{U}}} \right| \ge LU \), where: \( LU \) – maximum fleet size), no solution is returned. The proposed algorithm has been implemented in the IBM ILOG environment.

Fig. 5.
figure 5

Algorithm of dynamic flight mission \( S \) planning

4 Computational Experiments

Consider the case of UAVs fleet mission planning presented on Fig. 1. A plan of flight mission is sought such that it guarantees the completion of planned deliveries within a given time horizon (5400 s) in the given range of changing weather conditions. Parameters of the three UAVs forming the fleet are summarized in Fig. 1. In particular, the answer to the question is sought: Is there a plan of mission \( S \) for fleet \( {\mathcal{U}} \) that would guarantee timely delivery of expected essential goods in order to fulfill basic needs (\( CSL = 100\% ) \) if weather conditions would change to: \( vw = 0\frac{m}{s} - 9\frac{m}{s} \); \( \varTheta = 0^\circ - 360^\circ \)? In order to find the answer to the stated research question, the proposed algorithm (Fig. 5) was used. Due to the algorithm from Fig. 5 the plan sought was obtained within three iterations (28 s: 16 s for 1st iteration, 6 s for the 2nd iteration, 6 s for 3rd iteration) in the declarative programming environment IBM ILOG (Intel Core i7-M4800MQ 2.7 GHz, 32 GB RAM). Figure 6 shows the computed flight routes:

Fig. 6.
figure 6

Obtained routes

• first iteration (\( \alpha = 1 \)): \( {}_{ }^{1} \pi_{1}^{ } = \left( {N_{1} ,N_{14} ,N_{20} ,N_{6} ,N_{3} ,N_{12} ,N_{1} } \right) \), \( {}_{ }^{1} \pi_{2}^{ } = \left( {N_{1} ,N_{5} ,N_{4} ,N_{11} ,N_{17} ,N_{1} } \right) \), \( {}_{ }^{1} \pi_{3}^{ } = \left( {N_{1} ,N_{13} ,N_{10} ,N_{15} ,N_{2} ,N_{16} ,N_{1} } \right) \);

• second iteration (\( \alpha = 2 \)): \( {}_{ }^{2} \pi_{2}^{ } = \left( {N_{1} ,N_{7} ,N_{18} ,N_{1} } \right) \);

• third iteration (\( \alpha = 3 \)): \( {}_{ }^{3} \pi_{1}^{ } = \left( {N_{1} ,N_{19} ,N_{8} ,N_{9} ,N_{1} } \right) \), \( {}_{ }^{3} \pi_{3}^{ } = \left( {N_{1} ,N_{9} ,N_{8} ,N_{1} } \right) \);

guaranteeing that the demanded quantity of goods is delivered to customers under the given weather conditions and given horizon (5400 s).

As can be seen, each UAV executes two flights (Fig. 6 and 7), robust to the given range of weather conditions (\( vw_{ } \in \left[ {0\frac{\rm{m}}{\text{s}},9\frac{\rm{m}}{\rm{s}}} \right] \); \( \theta \in \left[ {0^\circ ,360^\circ } \right]) \). Until the wind exceeds the permissible value of \( vw > \) 9 m/s, the implementation of the mission following the schedule in Fig. 7 is not threatened. The robustness of execution plans of individual UAVs is different and changes over time. Missions carried out by \( U_{2} \) are characterized by the highest robustness level (see \( {}_{2}^{1}\Upsilon _{{{\mathcal{U}}SG}} \) and \( {}_{2}^{2}\Upsilon _{{{\mathcal{U}}SG}} \)), in turn, missions carried out by \( U_{1} \) have a lower level of robustness (see \( {}_{1}^{1}\Upsilon _{{{\mathcal{U}}SG}} \) and \( {}_{1}^{2}\Upsilon _{{{\mathcal{U}}SG}} \)). In addition, the first part of the mission of each UAV covering routes \( {}_{ }^{1} \pi_{1}^{ } \), \( {}_{ }^{1} \pi_{2}^{ } \), \( {}_{ }^{1} \pi_{3}^{ } \) carried out in the period \( t \in \) [0, 3000) [s] have less robustness level than the second part of the mission cowering routes \( {}_{ }^{3} \pi_{1}^{ } \), \( {}_{ }^{2} \pi_{2}^{ } \), \( {}_{ }^{3} \pi_{3}^{ } \)) carried out in the period \( t \in \left[ {3000, 5400} \right) \) [s]. Therefore, the charts presented (see Fig. 7) show that UAV \( U_{1} \), is the most exposed to changes in weather conditions in the period \( t \in \left[ {0,3000} \right) \) [s].

Fig. 7.
figure 7

Gantt chart for the mission \( S \) from Fig. 6 a) and robustness of mission plan in periods: \( t \in \left[ {0,3000} \right) \) [s] b) and \( t \in \left[ {3000,5400} \right) \)[s] c)

5 Conclusions

The dynamic vehicle routing approach presented in this paper provides a new way of studying the fleet mission planning of UAVs in dynamically changing environments. Indeed, we presented the DVRP driven approach to the design of reactive flight mission planning, resulting in dynamic routing strategies for networks allowing the presence of impatient consumers awhile used in conditions of weather changes exceeding previously forecasted ones, i.e., forcing the emergence of emergency departures. It is worth noting that this approach extends reactive planning models (including weather forecasts) with elements of reactive planning (considering dynamically occurring changes of different nature).

The results of the conducted experiments were not compared with the results of other studies. Because there is currently no reference benchmark for DVRPs as well as there is a lack of work on the taxonomy of these problems [6, 10].

The conducted review of the existing literature revealed that a significant fraction of work done in the area of dynamic routing does not consider stochastic aspects. We are convinced that developing algorithms that make use of stochastic information will improve the fleet performance and reduce operating costs. Of course, many other key problems in UAVs systems implementation could benefit from being studied from the perspective of proactive-reactive fleet mission planning models presented in this paper. Some examples include search and rescue missions, force protection, map maintenance, and pursuit-evasion [6, 10]. Thus this line of research taking into account the specificity of these applications should become a priority in the near future.