Energy-Efficient UAV-Assisted Mobile Edge Computing: Resource Allocation and Trajectory Optimization

07/29/2020 ∙ by Mushu Li, et al. ∙ University of Waterloo Ryerson University Xidian University 0

In this paper, we study unmanned aerial vehicle (UAV) assisted mobile edge computing (MEC) with the objective to optimize computation offloading with minimum UAV energy consumption. In the considered scenario, a UAV plays the role of an aerial cloudlet to collect and process the computation tasks offloaded by ground users. Given the service requirements of users, we aim to maximize UAV energy efficiency by jointly optimizing the UAV trajectory, the user transmit power, and computation load allocation. The resulting optimization problem corresponds to nonconvex fractional programming, and the Dinkelbach algorithm and the successive convex approximation (SCA) technique are adopted to solve it. Furthermore, we decompose the problem into multiple subproblems for distributed and parallel problem solving. To cope with the case when the knowledge of user mobility is limited, we adopt a spatial distribution estimation technique to predict the location of ground users so that the proposed approach can still be applied. Simulation results demonstrate the effectiveness of the proposed approach for maximizing the energy efficiency of UAV.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Driven by the visions of Internet of Things (IoT) and 5G communications, mobile edge computing (MEC) is considered as an emerging paradigm that leverages the computing resource and storage space deployed at network edges to perform latency-critical and computation-intensive tasks for mobile users [survey1]. The computation tasks generated by mobile users can be offloaded to the nearby edge server, such as macro/small cell base station and Wi-Fi access point, to reduce computation delay and computing energy cost at mobile devices. Moreover, by pushing the traffic, computation, and network functions to the network edges, mobile users can enjoy low task offloading time with less backhaul usage [Gao2].

Specifically, in IoT era, MEC is considered as a key enabling technology to support the computing services for billions of IoT nodes to be deployed [Wu_n, Fu2]. Since the most of IoT nodes are power-constrained and have limited computing compatibility, they can offload their computation tasks to network edges to extend their battery life and improve the computing efficiency. However, many IoT nodes are operating in unattended or challenging areas, such as forests, deserts, mountains, or underwater locations [Mohamed], to execute some computation-intensive applications, including long pipeline infrastructures monitoring and control [Khan], underwater infrastructures monitoring [Domingo], and military operations [Samad]. In these scenarios, the terrestrial communication infrastructures are distributed sparsely and cannot provide reliable communications for the nodes. Therefore, in this paper, we utilize unmanned aerial vehicles (UAVs) to provide ubiquitous communication and computing supports for IoT nodes. Equipped with computing resources, UAV-mounted cloudlet can collect and process the computation tasks of ground IoT nodes that cannot connect to the terrestrial edges. As UAVs are fully controllable and operate at a high altitude, they can be dispatched to the designated places for providing efficient on-demand communication and computing services to IoT nodes in a rapid and flexible manner [Fu, Zhou, Shi, Cheng_3].

Despite the advantages of UAV-assisted MEC, there are several challenges in network deployment and operation. Firstly, the onboard energy of a UAV is usually limited. To improve the user experience on the computing service, UAVs should maximize their energy efficiency by optimizing their computing ability in the limited service time. Secondly, planning an energy-aware UAV trajectory is another challenge in UAV-assisted networks. The UAV is required to move to collect the offloaded data from sparsely distributed users for the best channel quality, while a significant portion of UAV energy consumption stems from mechanical actions during flying. Thirdly, the computation load allocation cannot be neglected even though the computing energy consumption in UAV-mounted cloudlet is relatively small compared to its mechanical energy. In the state-of-art MEC server architecture, the dynamic frequency and voltage scaling (DVFS) technique is adopted. The computing energy for a unit time is growing cubically as the allocated computation load increases [survey1]. Without proper allocation, the computing energy consumption could blow up, or the offloaded tasks cannot be finished in time. More importantly, UAV trajectory design, computation load allocation, and communication resource management are coupled in the MEC system [Hu], which makes the system even more complex. To the best of our knowledge, the joint optimization of UAV trajectory, computation load allocation, and communication resource management considering energy efficiency has not been investigated in the UAV-assisted MEC system.

To address the above challenges, we consider an energy constrained UAV-assisted MEC system in this paper. IoT nodes as ground users can access and partially offload their computation tasks to the UAV-mounted cloudlet according to their service requirements. The UAV flies according to a designed trajectory to collect the offloading data, process computation tasks, and send computing results back to the nodes. For each data collection and task execution cycle, we optimize the energy efficiency of the UAV, which is defined as the ratio of the overall offloaded computing data to UAV energy consumption in the cycle, by jointly optimizing the UAV trajectory and resource allocation in communication and computing aspects. The main contributions of the paper are summarized as follows.

  1. We develop a model for energy-efficient UAV trajectory design and resource allocation in the MEC system. The model incorporates computing service improvement and energy consumption minimization in a UAV-mounted cloudlet. The communication and computing resources are allocated subject to the user communication energy budget, computation capability, and the mechanical operation constraints of the UAV.

  2. We exploit the successive convex approximation (SCA) technique and Dinkelbach algorithm to transform the non-convex fractional programming problem into a solvable form. In order to improve scalability, we further decompose the optimization problem by the alternating direction method of multipliers (ADMM) technique. UAV and ground users solve the optimization problem cooperatively in a distributed manner. By our approach, both users and UAV can obtain the optimal resource allocation results iteratively without sharing local information.

  3. We further consider the scenario with limited knowledge of node mobility. A spatial distribution estimation technique, Gaussian kernel density estimation, is applied to predict the location of ground users. Based on the predicted location information, our proposed strategy can determine an energy-efficient UAV trajectory when the user mobility and offloading requests are ambiguous at the beginning of each optimization cycle.

The remainder of the paper is organized as follows. Related works are discussed in Section II. The system model is provided in Section III. Problem formulation and the corresponding approach are presented in Section IV and V, respectively. The extended implementation of the proposed approach are provided in Section VI. Finally, extensive simulation results and conclusions are provided in Sections VII and VIII, respectively.

Ii Related Works

Ii-a Mobile Edge Computing

To improve the user experience on mobile computing in 5G era, the concept of MEC has been proposed in [WP] to reduce the transmitting and computing latency by utilizing a vast amount of computation resource located at edge devices. The works [Zhang, Mao] consider energy-efficient computing in MEC. In [Zhang], Zhang et al. study the total energy consumption minimization in 5G heterogeneous networks. The mobile users make binary offloading decisions to determine where their computation tasks are executed. In [Mao], Mao et al.

investigate the MEC system with energy harvesting device and propose an online Lyapunov-based method to reduce the computing latency and the probability of task dropping. The works

[Kuang, Rodrigues1, Rodrigues2] study radio resource allocation for computation offloading in edge computing. In [Kuang], Kuang et al. propose a partial offloading scheduling and power allocation approach for single user MEC system and jointly minimize the task execution delay and energy consumption in MEC server while guaranteeing the transmit power constraint of the user. In [Rodrigues1, Rodrigues2], Rodrigues et al. investigate transmit power control and service migration policy to balance the computation load among edge servers and reduce the overall computing delay accordingly. The above works consider resource allocation in MEC with fixed edge infrastructures. To provide on-demand service for remote IoTs, our work studies edge computing supported by UAV-mounted cloudlet, which introduces dynamic channel conditions and mechanical operation constraints.

Ii-B UAV-assisted Network

The UAV-assisted communication network has been investigated in works [Wu_2, Zeng, Tang2]. In [Wu_2], Wu et al. consider trajectory design and communication power control for a multi-UAV multi-user system, in which the objective is to maximize the throughput over ground users in a downlink scenario. In [Zeng], Zeng et al. analyze the energy efficiency of the UAV-assisted communication network and design a UAV trajectory strategy for hovering above a single ground communication terminal. In [Tang2], Tang et al. investigate a game-based channel assignment scheme for UAVs in D2D-enabled communication networks. UAVs have also been utilized to enhance the flexibility of a MEC system in [Garg, Messous], where UAVs behave as communication relays to participate in the computation offloading process. Moreover, recently, more works utilize UAV as an aerial cloudlet to provide edge computing service [Jeong, Tang1, Cheng]. In [Jeong], Jeong et al. study UAV path planning to minimize communication energy consumption for task offloading at mobile users, where the energy consumption of UAV-mounted cloudlet is constrained. Both orthogonal and non-orthogonal channel models are considered in the work. In [Tang1], Tang et al. propose a UAV-assisted recommendation system in location based social networks (LBSNs), while a UAV-mounted cloudlet is deployed to reduce computing and traffic load of the cloud server. In [Cheng], Cheng et al. provide the computation load offloading strategy in an IoT network given the pre-determined UAV trajectories. The work aims to minimize the computing delay, user energy consumption, and server computing cost jointly, where the energy consumption of the UAV-mounted cloudlet has not been investigated. None of the above works discusses the energy efficiency on mobile computing in a UAV-mounted cloudlet, which is considered as a meaningful metric for prolonging the computing service lifetime. Note that although [Zeng] also studies energy-efficient trajectory design, it focuses on a single-ground-terminal scenario, whereas our work focuses on a multi-user scenario with corresponding resource management.

Iii System Model

Symbol Definition
index of time slot
index of ground node/user
set of users, where
set of time slots, where
average acceleration of the UAV in slot
maximum acceleration of the UAV
channel bandwidth
maximum offloading communication energy of user
UAV computing energy for executing tasks from user
in time slot
UAV propulsion energy consumption in slot
maximum computing energy consumption of user
CPU-cycle frequency in time slot
CPU-cycle frequency of user
channel gain for user in slot
, bandwidth of the 2-D Gaussian kernel
UAV flying altitude
overall input data size for computation tasks of user
minimum input data amount to be offloaded for user
number of time slots in a time window
number of users
maximum transmit power of a user
horizontal coordinate of user in slot
horizontal coordinate of the UAV in slot
data rate for user in slot
communication energy for user in slot
time length of a computing cycle
average velocity of the UAV in slot
maximum velocity of the UAV
amount of data offloaded by to be processed in
slot at the UAV-mounted cloudlet
, UAV propulsion energy consumption parameters
portion of the maximum power allocated to user
within slot
time length of a time slot
power spectral density of channel noise
number of computation cycles for executing 1 bit
Table I: List of Symbols

Iii-a Network Model

Figure 1: System model.

The UAV-assisted MEC system is shown in Fig. 1, in which a single UAV-mounted cloudlet is deployed to offer edge computing service for ground users in area . The UAV periodically collects and processes the computation tasks offloaded from ground users. Each user processes the rest of the computation tasks locally if the task cannot be fully collected by the UAV. Define the computing cycle as a duration of seconds. Each cycle contains discrete time slots with equal length. Denote the set of time slots in the cycle by . Thus, the time length for a slot is , which is denoted by . The list of symbols is given in Table I.

At the beginning of each cycle, ground users with computation tasks in area send offloading requests to the UAV-mounted cloudlet. Denote the set of those ground users by , where . Assume the ground users in can connect to the UAV for all time slots in the cycle. In this work, the UAV and the users cooperatively determine the offloading and resource allocation strategy for this cycle, including the UAV moving trajectory, the transmit power of ground users, and computation load allocation for UAV-mounted cloudlet. Assume that the computation loads on solving the optimization problem are negligible compared to the computation loads of the offloaded tasks. During the cycle, UAV flies over the ground users and offers the computing service according to the designed trajectory and resource allocation strategy. By the end of the cycle, UAV returns to a predetermined final position.

Iii-B Communication Model

The quality of communication links between the UAV and ground users is dependent on their location. To represent their locations, we construct a 3D Cartesian coordinate system. For IoT node

, the horizontal coordinate at time is denoted by . Assume that nodes know their trajectory for the upcoming cycle, i.e., . For the UAV, the horizontal coordinate at time is denoted by . The UAV moves at a fixed altitude . The UAV trajectory plan, as an optimization variable, consists of UAV positions in the whole cycle, i.e., . The average UAV velocity in slot is given by


The average acceleration in slot is given by


The magnitudes of velocity and acceleration are constrained by the maximum speed and acceleration magnitude, which are denoted by and , respectively.

It is assumed that the doppler frequency shift in the communication can be compensated at the receiver. The channel quality depends on the distance between the UAV and users. Due to the high probability of LOS links in UAV communication[Zeng], we assume that the channel gain follows a free-space path loss model. The channel gain for user in slot is denoted by , where


where is the notation representing the L2 norm. The parameter denotes the received power at the reference distance (e.g., m) between the transmitter and the receiver. We consider two channel access schemes: i) orthogonal access, in which the bandwidth is divided into sub-channels each occupied by one user; and ii) non-orthogonal access, in which the frequency bandwidth is shared among users. Denote the channel bandwidth for the uplink by . The amount of data that can be offloaded by user in slot is


under the orthogonal access model, and,


under the non-orthogonal channel model. The parameter and denote the maximum transmit power of ground users and the power spectral density of channel noise, respectively. The variable represents the portion of the maximum power that is allocated to user within time slot , which is a part of the offloading strategy. The symbol

denotes the vector of

for all in slot . The noise power in the transmission is represented by , where for the orthogonal channel access model, and for the non-orthogonal channel access model. In non-orthogonal model, users share the same channel to offload their tasks. The communication power allocated for a user will interfere the data rate of other users.

Iii-C Computation Model

Due to the limited battery and the computing capability of the UAV, only a part of tasks can be offloaded and executed in the UAV-mounted cloudlet. Full granularity in task partition is considered, where the task-input data can be arbitrarily divided for local and remote executions [Jeong, Wang2, Wang]. Accordingly, a portion of the computation tasks are offloaded to the cloudlet while the rest are executed by the ground users locally. Users upload the input data for their offloaded tasks, and the UAV processes the corresponding computation loads of those tasks. Assume that the computation load can be executed once the input data is received, and the computing data amount is equal to the input data amount of tasks [Jeong]. A task partition technique is considered, where the partition of the computation input bits are utilized to measure the division between the offloaded computation load and local computation load. The overall input data size for computation tasks of user is denoted by . We set the threshold as the minimum input data amount required to be offloaded to the cloudlet for user , where . The threshold represents the part of computation tasks having to be conducted in the cloudlet. Thus, the overall offloaded bits of user is constrained as follows:


Under the scenario that the threshold is satisfied, if user’s tasks cannot be fully offloaded, the rest of the tasks are processed by IoT nodes locally.

After users upload the input data, the UAV will save the received data to a buffer with enough capacity for further processing. The UAV processes the received data according to the workload allocation results. Let the variable denote the amount of data, which is from user ’s offloaded task, to be processed in slot . The UAV can only compute the task which is offloaded and received, and all offloaded tasks should be executed by the end of the cycle. Therefore, the following computation constraints are given:


In addition, for the local computing, the CPU-cycle frequency of the IoT node is fixed as . For the UAV-mounted cloudlet, we consider the CPU featured by DVFS technique. The CPU-cycle frequency can step-up or step-down according to the computation workload and is bounded by the maximum CPU-cycle frequency . As given in [survey1, Wang2], the CPU-cycle frequency for the cloudlet can be calculated by


where represents the CPU-cycle frequency in time slot , and denotes the number of computation cycles needed to execute 1 bit of data.

Iii-D Energy Consumption Model

Iii-D1 Energy Consumption at Nodes

The main energy consumption of nodes are the energy cost from communication and local computing. Firstly, the communication energy for user offloading tasks in slot can be formulated as


The overall offloading communication energy of user is bounded by , i.e.,


Therefore, the energy consumption of a user on communication can be reduced if the UAV is closer. On the other hand, for the computing energy consumption, we consider that the lower bound of offloaded bits guarantees the local computing energy under the user’s computing energy requirement, i.e.,


where is the maximum computing energy that could be reached by threshold , and is the parameter representing the constraint of the computing energy consumption. The computing energy model is adopted from [survey1, Yuan]. Parameters and represent the fixed CPU-cycle frequency of user and a constant related to the hardware architecture, respectively.

Iii-D2 Energy Consumption at UAV-mounted Cloudlet

The main energy consumption at the UAV-mounted cloudlet consists of the energy cost from mechanical operation and computing. Although downlink transmission exists in our system, this part of energy consumption is negligible for two reasons: 1) The communication energy is too small compared to the UAV propulsion and computing energy. 2) The output computing results usually have much less data amount compared to the input data amount [Li]. We adopt the refined UAV propulsion energy consumption model for fixed-wing UAV following [Zeng] We deploy the fixed-wing UAV in the proposed system as an example. The proposed approach also can be adapted to the system with a quad-rotor UAV, where only the mechanical energy consumption model is different.. The propulsion energy consumption in slot relates to the instantaneous UAV acceleration and velocity, which is given by


where denotes the gravitational acceleration. and are fixed parameters related to the aircraft’s weight, wing area, air density, etc. The value of parameters is given in [Zeng, Jeong]. The computing energy for executing tasks from user in time slot is expressed as


Iv Problem Formulation

In this work, the main objective is to maximize the energy efficiency of the UAV-mounted cloudlet subject to user offloading constraints, UAV computing capabilities, and the mechanical constraints of the UAV. The energy efficiency of the UAV is defined as the ratio between the overall offloaded data and the energy consumption of the UAV in a cycle. The energy efficiency maximization problem is formulated as follows.

s.t. (14a)

The term represents the designated final position of the UAV, and represents the initial velocity at the beginning of the cycle. The constraints can be categorized into three types: 1) user QoS constraints, including (6), (10), and (14d); 2) UAV computing ability constraints, including (7a), (7b), and (8); 3) UAV mechanical constraints, including (14a), (14b), and (14c). The optimization problem is a non-linear fractional programming. In addition, due to the interference among users in the non-orthogonal channel and the propulsion energy consumption for the fixed-wing UAV, both functions and are non-convex. Therefore, solving optimization problem (14) is challenging. To search the global optimizer of a non-convex problem is often slow and may not be feasible. In the following section, we will propose an approach to find a local optima efficiently.

V Proposed Optimization Approach

In this section, an optimization approach is introduced to find a solution of problem (14). Firstly, an inner convex approximation method is applied to approximate the non-convex functions and by solvable convex functions. The SCA-based algorithm is adopted to achieve the local optimizer of the original problem. After the approximated convex functions are built, the fraction programming in the inner loop of the SCA-based algorithm is handled by the Dinkelbach algorithm. Moreover, in order to improve scalability, the problem is further decomposed into several sub-problems via ADMM technique, in which the power allocation is solved by users in a distributed manner, while the computation load allocation and UAV trajectory planning are determined by UAV itself. The details are presented in following subsections.

V-a Successive Convex Approximation

Problem (14) is a non-convex problem due to and . To construct an approximation that is solvable, we first introduce several auxiliary variables, . For the orthogonal channel access scheme, the new optimization problem is shown as follows:

s.t. (15a)

Set represents the union set of the primary and auxiliary optimization variables, where . For the non-orthogonal channel model, constraint (15a) is replaced by the following constraint:

Lemma 1.

Problem (15) is an equivalent form of problem (14).


See Appendix A. ∎

Problem (15) includes four non-convex constraints, which are (15b), (15e), (15f), and (15h). We approximate those non-convex constraints by their first order Taylor expansions and adopt the successive convex optimization technique to solve the problem. New auxiliary variables, , are introduced to represent the corresponding estimated optimizers at the previous iteration of optimization, i.e., iteration . The SCA-based algorithm iterates until the estimated solution reaches to a local optimizer. Constraint (15b) can be approximated as follows:



Constraint (15e) can be approximated as follows:


Constraint (15f) can be approximated as follows:



Constraint (15h) can be approximated as follows:


where .

Lemma 2.

Non-convex constraints (15b), (15e), (15f), and (15h) can be approximated by the convex forms in (16)-(19). The solution of the approximated problem is a local maximizer of problem (14), which provides the lower bound of the maximum energy efficiency that can be achieved.


See Appendix B. ∎

Based on Lemma 1 and Lemma 2, the SCA-based algorithm is summarized by Algorithm 1. The term represents the energy efficiency in (15) with the given value in auxiliary variable set . Note that the approximated problem inside the loop (Steps 3 and 4 in Algorithm 1) is a fractional programming problem and still non-convex. We will provide the optimal solution of the approximated problem in the remainder of the section. The convergence of SCA has been proven in [Boyd], and the algorithm will stop after finite iterations if the local optimizer exists.

1:Initialize the auxiliary variables and loop index .
3:      Solve the approximated problem (20) for given , and denote the optimal solution for auxiliary variables by :
4:     Update .
5:until  The difference of the solutions between two adjacent iterations, i.e., , is below a threshold .
Algorithm 1 SCA-based Algorithm for Solving Problem (15)

V-B Dinkelbach Algorithm

Problem (20) is a fraction programming problem. We can adopt the Dinkelbach algorithm to achieve the optimal solution. The objective function (20) can be rewritten as the following parametric programming form:


where represents the feasible set of problem (20) at the -th iteration in Algorithm 1. The function is a monotonic decreasing function of . Let the term denote the solution of . Due to the monotone decreasing property of , if and only if is equal to the optimal result of problem (20), i.e.,  [Dinkelbach]. The algorithm for solving problem (20) is shown in Algorithm 2.

1:Initialize if , in loop if , and the loop index .
3:     Solve problem (21) for given , and denote the solution for the problem by .
4:     Update the Dinkelbach auxiliary variable .
5:     .
6:until .
Algorithm 2 Dinkelbach Algorithm for Solving Problem (20)

Due to the nature of the SCA-based algorithm and Dinkelbach algorithm, we can further cut the iteration times based on the following Lemma.

Lemma 3.

Denote the optimal Dinkelbach parameter for two consecutive SCA iterations by and . We have , and .


Denote the optimization results and the corresponding Dinkelbach parameter at iteration by and , respectively. From Dinkelbach algorithm, we have . As shown in Lemma 2, the approximated function provides the global lower bound of the original optimization function, and the results have to be inside the feasible set of the approximate optimization function for the next iteration. Thus, . Therefore, . Moreover, due to the monotonically decreasing nature of , . ∎

Given Lemma 3, the initial point in iteration , i.e., , in Algorithm 2 can be set at rather than so that the computation efficiency of the optimization algorithm can be further improved.

V-C Sub-problem Decomposition by ADMM

By now, the UAV computation energy efficiency maximization problem has been transformed into a solvable form. However, solving problem (21) is time-consuming due to multiple second order cone (SOC) constraints and requires the local information exchange between the UAV and users. Therefore, we propose a distributed solution, in which users maximize their offloaded computation tasks in parallel while the UAV aims to minimize its energy consumption. The original problem is decomposed into several sub-problems without losing optimality, and the UAV and users solve the optimization problem cooperatively. Local information, such as the mobility of users and the propulsion energy consumption function of the UAV, is not required to be shared among users and the UAV.

We adopt ADMM technique to decompose problem (21) [ADMM]. The optimization solution is achieved in an iterative manner. Firstly, we introduce an auxiliary variable, , which is solved by users:

where denotes the UAV location in time slot expected by user . Each user solves a part of the matrix [], and updates it to the UAV. Then, the UAV generates its trajectory, , and overall computation load allocation according to the uploaded matrix . Denote the overall amount of computation load processed in slot at UAV by , where . The results determined by the UAV are summarized by matrix , where . is a vector where all entries are 1. By the end of the ADMM algorithm, the expected UAV trajectories should be unified and follow the flying constraints. The computation load should be allocated under the UAV computing capability. Thus, in the final optimal solution, the following constraint should be satisfied:



The vector represents the computation intensity for users’ tasks, where . The sub-matrices and denote -by-identity matrix and zero matrix, respectively.

In addition, for the non-orthogonal channel model, we introduce another auxiliary variable, , which denotes the summation of in all other users except user . This variable is used to decouple the correlated in (15h) to facilitate the independent optimization process at each user. At the end of the optimization, should be equal to . For simplicity of presentation, we transform this constraint as follows:


where is the mean of . Then, the augmented Lagrangian function is formulated as follows:


where is the notation representing the Frobenius norm. Set represents variables . Variables and are Lagrangian multipliers for the two auxiliary constraints, (22) and (23), respectively. Two parameters, and , are penalty parameters. The parameter indicates the channel model. denotes the case of the non-orthogonal channel access scheme, and denotes the case of the orthogonal channel access scheme.

Problem (21) can be separated into two sub-problems. The sub-problem solved in user is organized as follows:

s.t. (25b)

and the sub-problem solved in the UAV is organized as follows:

s.t. (26b)

The term represents the variable obtained in iteration . The Lagrangian multipliers and are updated at each iteration as follows:


where is


represents the difference between the user expected interference and the real interference. At iteration , problem (25) is solved by each user individually. The optimization variable set includes for all . To decompose the auxiliary constraint (22) for each user , we introduce sub-matrices , , and , which are defined as follows: The parameter matrix is the sub-matrix sliced from , where . The matrix is obtained by the information from the UAV, where . The sub-matrix is sliced from the dual variable, where . The detailed decomposition process is omitted due to the space limit. Subsequently, problem (26) is solved by the UAV. The optimization variable set includes .

Lemma 4.

If the initial value of is shared and unified among all users and the UAV, only information from the UAV required for computing the sub-problem on the user side at each iteration is .


If the initial value is unified among the UAV and users, the dual variables are not required to be shared and can be computed locally by the UAV and users. For computing the dual variable at , the following knowledge is required: the updated global value , the historical value for the local information , and the historical value of the dual variable . Therefore, if is identical to all users and the UAV, can be synchronized according to the historical value and the value from the global variable. Similarly, can be updated by users if the initial value is known. ∎

1:Initialize variables and dual variables . Loop index .
3:     For each user :
4:      If : Wait until receive updated .
5:      If : Wait until receive updated .
6:      Calculate the dual variable .
7:     Calculate the dual variable for all by (27b).
8:     Solve problem (25).
9:      If : Send to the cloudlet.
10:      If : Send to the cloudlet.
11:     For the UAV-mounted cloudlet:
12:     Gather information from users to form matrix .
13:     Solve problem (26), and update .
14:      Update dual variable by (27a)
15:      If : Update variables by (28), and send the variables to users.
16:     .
17:until .
Algorithm 3 ADMM Algorithm for Solving Problem (21)

Consider the condition in Lemma 4, the distributed algorithm is given in Algorithm 3. In each optimization iteration, user side computes and share matrix to the UAV, and UAV computes and shares the matrix to users. Meanwhile, when , excepting contributing matrix , user needs the information and from other users to evaluate the interference.

By the problem decomposition, at the user side, each user only aims to maximize its own offloading data given the UAV trajectory computed by the UAV-mounted cloudlet and the interference environment in the previous iteration. At the UAV-mounted cloudlet side, the UAV aims to minimize energy consumption under the users’ expected UAV trajectories to collect enough workload. The trade-off between the received offloaded tasks and the energy consumption is controlled by the parameter which is updated out of the ADMM algorithm loop. Meanwhile, the corresponding variables and constraints are split into two groups. This introduces three main advantages. Firstly, local variables and parameters, such as user location and user offloading constraints, are not required to be uploaded to the UAV. Similarly, UAV’s mechanical parameters and settings are not required to be shared to users for offloading optimization. Secondly, less configuration is required when the UAV is replaced. Thirdly, the main computation load in solving the problem is from the SOC programming. The SOC constraints are now decomposed and solved by users in parallel such that the computation efficiency can be improved. For ADMM algorithm, in the orthogonal channel model, there are two main distributed blocks: the user side and the UAV side. The convergence of ADMM is guaranteed when the number of blocks is no more than two. In the non-orthogonal channel model, since each user is required to compute the interference variable parallelly, convergence is not always guaranteed. Proximal Jacobian ADMM can be adopted to ensure the convergence, in which the proximal term is further combined in the primal problem of the current algorithm [pjadmm].

V-D Convergence and Complexity Analysis

The convergence for the three loops in Algorithms 1 to 3 is guaranteed. For the SCA-based algorithm, if the problem is feasible and the initial values of the approximate variables are in the feasible set of the original optimization problem (14), the algorithm convergence is ensured [Boyd]. Moreover, the Dinkelbach algorithm can achieve the optimal with a super-linear rate.

The computation complexity of the problem is dominated by the SOC programming [Hu, Wang3]. Suppose that Algorithm 3 runs iterations, where the SCA algorithm loop repeats times, and the loop for the Dinkelbach algorithm repeats times. The problem before decomposition, i.e., problem (21), has SOC constraints in 4 dimensions, SOC constraints in 7 dimensions, and SOC constraints in 2 dimensions, where variables participates in those constraints. The overall complexity can be . After ADMM decomposition, for the sub-problem on the user side, there are SOC constraints in 4 dimensions and SOC constraints in 2 dimensions. Thus, the computation complexity is for each user. On the UAV side, the sub-problem contains SOC constraints in 7 dimensions. The complexity is .

Vi Proactive Trajectory Design Based on Spatial Distribution Estimation

So far, we have introduced the trajectory design and resource allocation for the scenario that all computation load information and user location are known. However, some IoT nodes have a certain mobility [Hakiri]. It is hard for users to know their future positions during the upcoming computation cycle. Moreover, users needs to send the offloading requests at the beginning of the cycle. It means that the user may buffer the computation task until a new cycle begins, which introduces extra delay for waiting to send the request. Thus, the maximum queue delay may reach to

seconds. To deal with the above issues, in this subsection, we introduce an approach to estimate the spatial distribution of user locations in a cycle. The mobility of users is predicted by an unsupervised learning tool, kernel density estimation method

[KDE], and the computation load of each user is considered in a stochastic model correspondingly. The UAV trajectory is optimized via the estimated knowledge about ground users. Thus, UAV can collect the offloaded tasks of users without requesting in advance.

To estimate the location of users, each user need to report its current location periodically. The sampled location of user is represented by

. We use the sampled location to estimate the spatial distribution of users for the cycle, where the probability density function for the user at

is denoted as .

In order to compute , consider a small region R which is a rectangle area with side length of and , i.e., Parzen window. To count the number of users falling within the region, we define the following function to indicate if user is in the area:


where is the central point of the area. Thus, for a large , the general expression for non-parametric density estimation is [KDE]