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 latencycritical and computationintensive 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 WiFi 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 powerconstrained 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 computationintensive 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, UAVmounted 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 ondemand communication and computing services to IoT nodes in a rapid and flexible manner [Fu, Zhou, Shi, Cheng_3].
Despite the advantages of UAVassisted 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 energyaware UAV trajectory is another challenge in UAVassisted 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 UAVmounted cloudlet is relatively small compared to its mechanical energy. In the stateofart 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 UAVassisted MEC system.
To address the above challenges, we consider an energy constrained UAVassisted MEC system in this paper. IoT nodes as ground users can access and partially offload their computation tasks to the UAVmounted 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.

We develop a model for energyefficient UAV trajectory design and resource allocation in the MEC system. The model incorporates computing service improvement and energy consumption minimization in a UAVmounted 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.

We exploit the successive convex approximation (SCA) technique and Dinkelbach algorithm to transform the nonconvex 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.

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 energyefficient 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
Iia 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 energyefficient 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 Lyapunovbased 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 ondemand service for remote IoTs, our work studies edge computing supported by UAVmounted cloudlet, which introduces dynamic channel conditions and mechanical operation constraints.IiB UAVassisted Network
The UAVassisted 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 multiUAV multiuser 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 UAVassisted communication network and design a UAV trajectory strategy for hovering above a single ground communication terminal. In [Tang2], Tang et al. investigate a gamebased channel assignment scheme for UAVs in D2Denabled 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 UAVmounted cloudlet is constrained. Both orthogonal and nonorthogonal channel models are considered in the work. In [Tang1], Tang et al. propose a UAVassisted recommendation system in location based social networks (LBSNs), while a UAVmounted 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 predetermined UAV trajectories. The work aims to minimize the computing delay, user energy consumption, and server computing cost jointly, where the energy consumption of the UAVmounted cloudlet has not been investigated. None of the above works discusses the energy efficiency on mobile computing in a UAVmounted cloudlet, which is considered as a meaningful metric for prolonging the computing service lifetime. Note that although [Zeng] also studies energyefficient trajectory design, it focuses on a singlegroundterminal scenario, whereas our work focuses on a multiuser 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 propulsion energy consumption in slot  
maximum computing energy consumption of user  
CPUcycle frequency in time slot  
CPUcycle frequency of user  
channel gain for user in slot  
,  bandwidth of the 2D 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  


,  UAV propulsion energy consumption parameters  


time length of a time slot  
power spectral density of channel noise  
number of computation cycles for executing 1 bit 
Iiia Network Model
The UAVassisted MEC system is shown in Fig. 1, in which a single UAVmounted 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 UAVmounted 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 UAVmounted 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.
IiiB 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(1) 
The average acceleration in slot is given by
(2) 
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 freespace path loss model. The channel gain for user in slot is denoted by , where
(3) 
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 subchannels each occupied by one user; and ii) nonorthogonal 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
(4) 
under the orthogonal access model, and,
(5) 
under the nonorthogonal 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 nonorthogonal channel access model. In nonorthogonal 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.IiiC 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 UAVmounted cloudlet. Full granularity in task partition is considered, where the taskinput 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:
(6) 
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:
(7a)  
(7b) 
In addition, for the local computing, the CPUcycle frequency of the IoT node is fixed as . For the UAVmounted cloudlet, we consider the CPU featured by DVFS technique. The CPUcycle frequency can stepup or stepdown according to the computation workload and is bounded by the maximum CPUcycle frequency . As given in [survey1, Wang2], the CPUcycle frequency for the cloudlet can be calculated by
(8) 
where represents the CPUcycle frequency in time slot , and denotes the number of computation cycles needed to execute 1 bit of data.
IiiD Energy Consumption Model
IiiD1 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
(9) 
The overall offloading communication energy of user is bounded by , i.e.,
(10) 
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.,
(11) 
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 CPUcycle frequency of user and a constant related to the hardware architecture, respectively.
IiiD2 Energy Consumption at UAVmounted Cloudlet
The main energy consumption at the UAVmounted 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 fixedwing UAV following [Zeng] ^{†}^{†}†We deploy the fixedwing UAV in the proposed system as an example. The proposed approach also can be adapted to the system with a quadrotor 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
(12) 
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
(13) 
Iv Problem Formulation
In this work, the main objective is to maximize the energy efficiency of the UAVmounted 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.
(14)  
s.t.  (14a)  
(14b)  
(14c)  
(14d)  
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 nonlinear fractional programming. In addition, due to the interference among users in the nonorthogonal channel and the propulsion energy consumption for the fixedwing UAV, both functions and are nonconvex. Therefore, solving optimization problem (14) is challenging. To search the global optimizer of a nonconvex 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 nonconvex functions and by solvable convex functions. The SCAbased 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 SCAbased algorithm is handled by the Dinkelbach algorithm. Moreover, in order to improve scalability, the problem is further decomposed into several subproblems 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.
Va Successive Convex Approximation
Problem (14) is a nonconvex 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:
(15)  
s.t.  (15a)  
(15b)  
(15c)  
(15d)  
(15e)  
(15f)  
(15g)  
Set represents the union set of the primary and auxiliary optimization variables, where . For the nonorthogonal channel model, constraint (15a) is replaced by the following constraint:
(15h) 
Proof.
See Appendix A. ∎
Problem (15) includes four nonconvex constraints, which are (15b), (15e), (15f), and (15h). We approximate those nonconvex 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 SCAbased algorithm iterates until the estimated solution reaches to a local optimizer. Constraint (15b) can be approximated as follows:
(16) 
where
Constraint (15e) can be approximated as follows:
(17) 
Constraint (15f) can be approximated as follows:
(18) 
where
Constraint (15h) can be approximated as follows:
(19) 
where .
Lemma 2.
Proof.
See Appendix B. ∎
Based on Lemma 1 and Lemma 2, the SCAbased 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 nonconvex. 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.
(20)  
s.t.  
VB 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:
(21) 
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.
Due to the nature of the SCAbased 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 .
Proof.
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 , . ∎
VC Subproblem Decomposition by ADMM
By now, the UAV computation energy efficiency maximization problem has been transformed into a solvable form. However, solving problem (21) is timeconsuming 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 subproblems 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:
(22) 
where
The vector represents the computation intensity for users’ tasks, where . The submatrices and denote byidentity matrix and zero matrix, respectively.
In addition, for the nonorthogonal 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:
(23) 
where is the mean of . Then, the augmented Lagrangian function is formulated as follows:
(24) 
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 nonorthogonal channel access scheme, and denotes the case of the orthogonal channel access scheme.
Problem (21) can be separated into two subproblems. The subproblem solved in user is organized as follows:
(25a)  
s.t.  (25b)  
and the subproblem solved in the UAV is organized as follows:
(26a)  
s.t.  (26b)  
The term represents the variable obtained in iteration . The Lagrangian multipliers and are updated at each iteration as follows:
(27a)  
(27b) 
where is
(28) 
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 submatrices , , and , which are defined as follows: The parameter matrix is the submatrix sliced from , where . The matrix is obtained by the information from the UAV, where . The submatrix 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 subproblem on the user side at each iteration is .
Proof.
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. ∎
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 UAVmounted cloudlet and the interference environment in the previous iteration. At the UAVmounted cloudlet side, the UAV aims to minimize energy consumption under the users’ expected UAV trajectories to collect enough workload. The tradeoff 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 nonorthogonal 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].
VD Convergence and Complexity Analysis
The convergence for the three loops in Algorithms 1 to 3 is guaranteed. For the SCAbased 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 superlinear 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 subproblem 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 subproblem 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:
(29) 
where is the central point of the area. Thus, for a large , the general expression for nonparametric density estimation is [KDE]