 Research
 Open Access
 Published:
Device association and trajectory planning for UAVassisted MEC in IoT: a matching theorybased approach
EURASIP Journal on Wireless Communications and Networking volumeÂ 2023, ArticleÂ number:Â 53 (2023)
Abstract
Unmanned aircraft vehicles (UAVs)enabled mobile edge computing (MEC) can enable Internet of Things devices (IoTD) to offload computing tasks to them. Considering this, we study how multiple aerial service providers (ASPs) compete with each other to provide edge computing services to multiple ground network operators (GNOs). An ASP owning multiple UAVs aims to achieve the maximum profit from providing MEC service to the GNOs, while a GNO operating multiple IoTDs aims to seek the computing service of a certain ASP to meet its performance requirements. To this end, we first quantify the conflicting interests of the ASPs and GNOs by using different profit functions. Then, the UAV scheduling and resource allocation is formulated as a multiobjective optimization problem. To address this problem, we first solve the UAV trajectory planning and resource allocation problem between one ASP and one GNO by using the Lagrange relaxation and successive convex optimization (SCA) methods. Based on the obtained results, the GNOs and ASPs are then associated in the framework based on the matching theory, which results in a weak Pareto optimality. Simulation results show that the proposed method achieves the considerable performance.
1 Introduction
With the rapid development of Internet of Things (IoT), the network terminals or user equipment is expected to deal with a large number of computationalintensive and delaysensitive applications in the future [1]. To solve the problem of computing power shortage of IoT devices (IoTDs), mobile edge computing (MEC) [2] has been proposed to make IoTDs to offload part of the computing tasks to the highperformance computing servers in network edge, such as base stations. However, in some areas (such as farms, pastures and forests), the lack of power and communication infrastructure leads to deployment of edge servers difficult [3]. In recent years, small UAV [4] has been applied to carry microbase station or edge servers to help provide service to the abovementioned areas.
Most of existing works [3, 5, 6] regard UAVs as the components of ground networks, such as maximizing network throughput [5], minimizing task completion time [6], or reducing the energy consumption of IoTDs [3, 7]. However, few paper considered the business model of the UAVs, which may be run by different organizations or companies. For example, an air service provider (ASP) may focus on offering services to ground network operators (GNOs) to maximize its profit, while a GNO operating an IoT network may need to buy the service from an ASP to achieve their goals. However, ASPs and GNOs have different targets, which may form a conflict of interest environment.
From the above perspective, this paper investigates the UAV scheduling and resource allocation between multiple ASPs and GNOs. Each of the GNOs deploys multiple IoTDs to cover a specific area. The IoTDs generates computing tasks at a certain time interval and can offload part of the tasks to reduce energy consumption and task completion time. Each of the ASPs operates one UAV to provide computing service to a GNO during a scheduling cycle. The aim of this paper is to coordinate the resource demand and supply between the ASPs and GNOs. To this end, we use price as a signal to associate the GNOs and ASPs in the framework based on the matching theory [8]. This leads to a weak Pareto optimality and obtains the UAV flight trajectory, UAVandIoTD association, as well as communication and computational resource allocation that achieve the benefits of both the GNOS and ASPs. The main contribution of this paper is summarized as follows.

1
By quantifying the conflicting interests of the ASPs and GNOs as different profit functions, the UAV scheduling and resource allocation is formulated as a multiobjective optimization problem, where an ASP aims to reap the most profits from providing computing service to the GNOs, while a GNO aims to seek the service of a certain ASP to meet its performance requirements.

2
The formulated problem is a mixedinteger nonlinear multiobjective optimization problem, which is difficult to solve by traditional methods. To address this difficulty, we decompose it into multiple oneGNO to oneASP problems and solve them by using the Lagrange relaxation and successive convex optimization (SCA) methods.

3
Based on the results of the onetoone problem, the GNOs and ASPs are associated in the framework of the matching theory, which results in a weak Pareto optimality. Simulation results show that the proposed method achieves the considerable performance.
The remainder of this paper is organized as follows. SectionÂ 2 presents the related works. SectionÂ 3 describes the system model. SectionÂ 4 introduces the proposed multiobjective optimization problem. SectionÂ 5 gives the algorithm to solve the onetoone UAV trajectory planning and resource allocation problem. SectionÂ 6 addresses the association of the GNOs with the ASPs in the framework of the matching theory. The simulation results are reported in Sect.Â 7. Finally, conclusions are made in Sect.Â 8.
2 Related works
Recently, UAVs have been widely used in the wireless power transfer (WPT) [9], IoT data collection [10], MEC [6, 11], and mobile crowd sensing (MCS) [12]. The authors in [9] presented a UAVassisted WPT to ensure the sufficient energy of IoTDs that supports their basic operation. Zhan and Zeng [10] minimized the task completion time of a multiUAV system by jointly optimizing the UAV trajectory and the wakeup scheduling of the IoTDs. Hu et al. [6] proposed a UAVassisted MEC system in which a set of UAVs work together to minimize the overall task completion time of the ground users by jointly optimizing the ratio of offloaded tasks, the trajectories of the UAVs, and the user scheduling strategies. Xu et al. [11] studied UAVassisted MEC systems from the perspective of the physical layer security, where the minimum security computing capacity maximization problem for both time division multiple access (TDMA) and nonorthogonal multiple access (NOMA) schemes was solved by optimizing the computation and communication resources as well as the trajectories of the UAVs. Zhou et al. [12] investigated the joint task assignment and route planning problem in UAVaided MCS systems from an energy efficiency perspective.
However, all the above works consider the overall system performance optimization, but without considering the UAV scheduling and resource allocation in the presence of a conflict of interest between the ASPs and the GNOs.
3 System model
As shown in Fig.Â 1, the considered UAVassisted MEC consists of a set \(\mathcal {N}\) of N ASPs and a set \(\mathcal {M}\) of M GNOs. We assume that each ASP having one rotary wing UAV, and each GNO covers a specific ground service area (GSA). Here we use ASP and UAV, as well as GNO and GSA interchangeably. A set \(\mathcal {K}_m\) of \(K_m\) IoTDs are distributed in GSA m, \(\forall m \in \mathcal {M}\), and the GSAs do not overlap with each other. The IoTDs are fixed on the ground, and the coordinate of IoTD \(k_m\) \((\forall k_m \in \mathcal {K}_m)\) in GSA m is given as \(w_{k_m}=\left( x_{k_m }, y_{k_m }, z_{k_m }=0\right) .\)
A discretetime model is considered, and the duration of a time slot is represented by \(\tau\). The scheduling of the UAVs is performed in a periodic manner, and each period is defined as a mission cycle lasting for a set \(\mathcal {T}\) of T consecutive time slots. In the mission cycle, each UAV can serve only one GSA, and each GSA can be served by only one UAV. Let \(\theta _{n, m}\in \{0, 1\}\) denote the association between UAV n (\(\forall n \in \mathcal {N}\)) and GSA m, where \(\theta _{n, m}=1\) represents UAV n is associated with GSA m. Otherwise, \(\theta _{n, m}=0\). Therefore, we have the following association constraints for the UAVs and GSAs.
and
Suppose that the UAV n is scheduled to serve GSA m in a mission cycle. The computing task of IoTD \(k_m\) is represented as \(\left( L_{k_m}, C_{k_m}\right)\), where \(L_{k_m}\) (in bits) denotes the size of the task input data, and \(C_{k_m}\) (in CPU cycles/bit) denotes the number of CPU cycles required for computing 1 bit of the data. During any slot t, \(\forall t \in \mathcal {T}\) in the mission cycle, the coordinate of UAV n is given by \(q_{n,m} [t]=\left( x_{n,m} [t], y_{n,m} [t], z_{n,m} [t]=H\right)\), where \(H > 0\) is the flight altitude of the UAV. Then, the flight trajectory of the UAV during the mission cycle is given by \(Q_{n,m}=\left\{ q_{n,m}[1],\ \ldots ,\ q_{n,m}[t],\ \ldots ,\ q_{n,m}[T]\right\}\).
3.1 Communication model
In order to offload part of the computing task to a UAV for remote execution, an IoTD should first upload the task input data to the UAV via wireless links. Since there exists a strong lineofsight (LoS) link, the channel gain from IoTD \(k_m\) to UAV n in slot t is given by \(g_{n, k_m}[t]=\frac{g_0}{{\Vert q_{n,m}[t]w_{k_m}\Vert }^2}\) [13], where \(g_0\) represents the received power at the reference distance of 1Â m.
Let B and \(p_{k_m}\) denote the channel bandwidth and transmission power of IoTD \(k_m\), respectively. The transmission rate from IoTD \(k_m\) to UAV n in slot t is given as [13]
where \({\sigma }^2\) is the noise power at the receiver of a UAV.
3.2 Local computing model
The IoTD can perform the remaining task by using its local computing power, whereas it can offload part of the computing task to a UAV for remote execution. Let \(l_{k_m}[t]\) (in bits) denote the size of the task data being processed by IoTD \(k_m\) locally in slot t. Let \(f_{k_m}[t]\) denote the CPU frequency of IoTD \(k_m\) to process the \(l_{k_m}[t]\) task bits in slot t. Then we have
Assuming that the dynamic voltage and frequency scaling (DVFS) technique [3] is used to improve the energy efficiency of the IoTDs. The energy consumption of IoTD \(k_m\) in slot t for local computing is given by [3]
where \(\gamma _m\) is the coefficient depending on the chip architecture. Denote the maximum CPU frequency of IoTD \(k_m\) by \(f_{k_m}^{{\max}}\). The following maximum computing power constraints should be satisfied by IoTD \(k_m\) in any slot t.
3.3 Edge computing model
When a large number of IoTDs simultaneously offload their computing tasks to a UAV, the UAVcarried server can work in parallel (in a assembly line manner) to reduce the overall task completion time. That is, after receiving the task data of an IoTD in any slot t, \(1 \le t \le T1\), the UAV can perform the task on behalf of the IoTD in any slot \((t+i)\), \(1 \le i \le Tt\), as shown in Fig.Â 2.
The task offloading from IoTD \(k_m\) in GSA m to UAV n will span the following two phases.

1
Phase 1 (Task uploading): In any slot t, UAV n assigns a portion \(\alpha _{n, k_m} [t]\le 1\) of the slot to IoTD \(k_m\) for task uploading. Then, the following timeintegrity constraints should be satisfied by UAV n in any slot t.
$$\begin{aligned} \sum _{k_m\in \mathcal {K}_m}{\alpha _{n, k_m} [t]} \le 1, \ 1 \le t \le T1. \end{aligned}$$(7)The amount of task data that IoTD \(k_m\) can upload to the UAV is given by
$$\begin{aligned} b_{n, k_m}[t]=\alpha _{n, k_m}[t]\tau R_{n, k_m}[t], \ 1 \le t \le T1. \end{aligned}$$(8)The resultant energy consumption of IoTD \(k_m\) is obtained as
$$\begin{aligned} E_{n, k_m}^{\text {Tx}}[t]=p_{k_m}\alpha _{n, k_m}[t]\tau , \ 1 \le t \le T1. \end{aligned}$$(9) 
2
Phase 2 (Task execution): After receiving the data of an IoTD in slot t, \(1 \le t \le T1\), the UAV can perform the task in the subsequent slot \((t+i)\), \(1 \le i \le Tt\). Let \(0\le \beta _{n, k_m} [t]\le 1\) denote the ratio of slot t allocated to IoTD \(k_m\) for task execution. The following timeintegrity constraint should be satisfied by UAV n in any slot t.
$$\begin{aligned} \sum _{k_m\in \mathcal {K}_m}{\beta _{n, k_m}[t]} \le 1, \ 2 \le t \le T. \end{aligned}$$(10)Let \(c_{n, k_m}[t]\) (in bits) denote the size of task data that UAV n performs for IoTD \(k_m\) in slot t. Let \(f_n[t]\) denote the CPU frequency of UAV n in slot t. Then we have
$$\begin{aligned} c_{n, k_m}[t]=\frac{\beta _{n, k_m}[t]\tau f_n[t]}{C_n}, \ 2 \le t \le T. \end{aligned}$$(11)Assuming that the DVFS technique is also used by the UAVs, the energy consumed by UAV n for executing the task of IoTD \(k_m\) in slot t is given by
$$\begin{aligned} E_{n, k_m}^{\text {C}}[t]=\gamma _n \tau (f_n[t])^3 \beta _{n, k_m} [t], \ 2 \le t \le T. \end{aligned}$$(12)where \(\gamma _n\) is the coefficient depending on the chip architecture. Denote the maximum CPU frequency allowed by UAV n as \(f_{n}^{{\max}}\). The following maximum computing power constraints should be met by any \(n{\text{th}}\) UAV in any \(t{\text{th}}\) slot
$$\begin{aligned} 0\le f_n[t]\le f_n^{{\max}},\ \ 2 \le t \le T. \end{aligned}$$(13)
Furthermore, the following two constraints need to be considered when adopting the assembly line working mode.

1
Informationcausality constraints: A UAV can process the computing task of an IoTD only after receiving the corresponding task data. Therefore, the following informationcausality constraints should be met.
$$\begin{aligned} c_{n, k_m}[1]=0, \ \beta _{n, k_m}[1]=0,\quad {\text {and}}\quad f_n[1]=0, \end{aligned}$$(14)$$\begin{aligned} b_{n, k_m}[T]=0 \quad {\text {and}}\quad \alpha _{n, k_m}[T]=0, \end{aligned}$$(15)and
$$\begin{aligned} \sum _{i=1}^{t1}{b_{n, k_m} [i]}\ge \sum _{i=2}^{t}{c_{n, k_m} [i]}, \ 2\le t\le T,\ \forall k_m\in \mathcal {K}_m. \end{aligned}$$(16)It is worth noting that the storage capacity of the lightweight edge servers is about a few hundred Gb to a few Tb, while the program size uploaded by IoTDs is mostly several Mb. Therefore, the storage capacity limit of edge servers can be ignored.

2
Taskintegrity constraints: To ensure that the tasks are fully executed (either locally or on a UAV), the following taskintegrity constraints should be met.
$$\begin{aligned} \sum _{t=2}^{T}{c_{n, k_m}[t]}+\sum _{t=1}^{T}{l_{k_m}[t]}\ge L_{k_m}, \quad \forall\; k_m\in \mathcal {K}_m. \end{aligned}$$(17)
3.4 Mechanical energy consumption of UAVs
The energy consumed by the propulsion system of a UAV is far more than that consumed for task computing, and it depends mainly on the flight trajectory and velocity of the UAV. Then, assuming that the duration of a time slot \(\tau\) is small enough, the flight trajectory of a UAV during each slot can be considered as a uniformly linear function. Therefore the flight velocity of a UAV in any slot t is determined by its position in slot \((t+1)\) and its position in slot t, which is given by
The maximum velocity constraints on a UAV is given as
Using Eq. (19), the energy consumed by the propulsion system of UAV n in any slot t is given by
where \(\varsigma\) is relevant to the payload of the UAV n [6].
4 Problem formulation
In the studied UAVenabled MEC system, the goals of each ASP and each GNO are as follows.

1
The goal of a GNO: In addition to exploit the limited energy and computing resources of the IoTDs, a GNO needs to purchase the computing service offered by an ASP to achieve its performance requirement, such as minimizing the overall task completion time, reducing the total energy consumption of the IoTDs, or achieving a compromise between both.

2
The goal of an ASP: The UAVs of different ASPs may have different mechanical properties (e.g., flying velocity, acceleration, and energy consumption) and computing power. In each scheduling cycle, the goal of an ASP is to select a specific service area and leverage the potential of the UAV to maximize its benefit.
In this section, we first define the profit functions for the ASPs and the GNOs, which separately describe their targets in the MEC system. Then, we formulate the UAV scheduling and communicationandcomputation resource allocation problem as a multiobjective optimization problem. Finally, we present the main method to solve the problem.
4.1 Profit function of GNOs
When a GSA m is served by UAV n, the total energy consumption of the IoTDs in GSA m is given by
Let \(E_{k_m}^{{\max}}\) denote the maximum available energy of IoTD \(k_m\). Based on eqs. (5) and (9), the following maximum available energy constraints for the IoTDs should be satisfied.
Therefore, a performanceadjustable profit function for a GNO is defined as
where \(\varepsilon _m^1\) and \(\varepsilon _m^2\) (\(0 \le \varepsilon _m^1, \varepsilon _m^2 \le 1\) and \(\varepsilon _m^1+\varepsilon _m^2=1\)) are the weight parameters.
4.2 Profit function for ASPs
Let \(\rho _n\) denote the pricing of UAV n for performing 1bit of computing tasks. When UAV n serves GSA m, the profit function of the UAV affiliated ASP is defined as
Let \(E_{n}^{{\max}}\) denote the maximum available energy of UAV n. Based on eqs. (12) and (20), the following maximum available energy constraints for the UAVs should be satisfied.
The profit function of an ASP reflects the fact that its goal is to maximize its own benefit rather than improve the performance of the GNOs. In such a seller market situation with \(N<M\), a UAV will choose the GNO with the highest bid for its service to serve.
4.3 System problem
A UAV aims to reap the most profits from providing MEC to the GSAs, while a GSA aims to seek the service of a UAV to meet its performance requirements. This can be formulated as a multiobjective optimization problem as given in the following problem P1. The variables to be optimized are as follows:

1
\(\Theta \triangleq \left\{ \theta _{n,m} \right\}\): The association between the UAVs and GSAs.

2
\({\textbf {A}}\triangleq \left\{ \alpha _{n, k_m}[t]\right\}\): The transmission time assigned by a UAV to the IoTDs in each time slot.

3
\({\textbf {B}}\triangleq {\left\{ \beta _{n, k_m}[t]\right\} }\): The executing time assigned by a UAV to the IoTDs in each time slot.

4
\(\textbf{F}\triangleq {\left\{ f_n[t]\right\} }\): The computing power set by a UAV in each time slot.

5
\(\textbf{J}\triangleq {\{f_{k_m}[t]\}}\): The computing power set by an IoTD in each time slot.

6
\({\textbf {Q}}\triangleq \left\{ Q_{n,m}\right\}\): The flight trajectory of a UAV.
where constraints (26.1) and (26.2) (introduced in Sec. IIIA) are the association constraints for the UAVs and the GSAs, respectively, constraints (26.3 and (26.4) (introduced in Sec. IIIB and Sec. IIIC, respectively) are the maximum computing power constraints on a UAV and an IoTD, respectively, constraints (26.5) and (26.6) (introduced in Sec. IIIB) are the timeintegrity constraints for each of the UAVs, constraints (26.7), (26.8), and (26.9) (introduced in Sec. IIIB) are the informationcausality constraints caused by the used of the assembly line working mode, constraint (26.10) (introduced in Sec. IIIB) is the taskintegrity constraint for each of the IoTDs, constraint (26.11) indicates that at the end of a mission cycle a UAV must return to its starting point for charging and maintenance operations, constraint (26.12) (introduced in Sec. IIIC) is the maximum velocity constraint on each of the UAVs, and constraints (26.14) and (26.13) (introduced in Sec. IVA and Sec. IVB, respectively) are the maximum available energy constraints on the UAVs and IoTDs, respectively.
4.4 The decomposition of Problem P1
It is obvious that problem P1 is a mixedinteger nonlinear multiobjective optimization problem which is difficult to solve. To address this problem, we propose the following approach.
Step 1: Solve the following onetoone resource allocation problem P2.
We first ignore the association between the UAVs and the GSAs, and assume that GSA m is served by UAV n. Therefore, parameter \(\Theta\) and the corresponding constraints in problem P1 can be removed. Problem P1 is simplified into the following form
By solving problem P2, we can obtain the optimal flight trajectory of UAV n and the optimal resource allocation for the IoTDs in GSA m.
Step 2: Schedule the UAVs to the GSAs by solving the following problem P3.
Based on the obtained profits and performance of the UAVs and GSAs by solving problem P2, we can simplify problem P1 into the following form
Problem P3 addresses the issue of how to schedule the finite UAVs to the GSAs by optimizing parameter \(\Theta\), so as to achieve the goals of UAVs and GSAs. In what follows, we address problems P2 and P3 sequentially.
5 Solving problem P2
Problem P2 remains a multiobjective optimization problem. We use the weightedsum approach [14] to transform it into a singleobjective optimization problem as follows.
where \(\mu _1\) and \(\mu _2\) are the weighting factors. The objective function of problem P4 is expanded as
where T is an integer variable to be optimized. Next we propose a Binary Search Algorithm (BSA)based method to solve problem P4.

1
Step 1: With any given \(T=\hat{T}\), each GSA minimizes the difference between the amount of completed tasks and the target one. Let \(\eta\) represent the difference. We get the following problem P5.
$$\begin{aligned} \begin{array}{lll} ({\textbf {P5}}) &{} \min _{{\textbf {A}}_{n,m}, {\textbf {B}}_{n,m}, \textbf{F}_{n,m}, \textbf{J}_{n,m}, {\textbf {Q}}_{n,m},\eta }{\mu _1\left( \varepsilon _m^1 \hat{T}+\varepsilon _m^2 \sum _{k\in \mathcal {K}_m}{\sum _{t=1}^{\hat{T}}{ \left( \gamma _{k_m} (f_{k_m}[t])^3 \tau +p_{k_m} \alpha _{n, k_m}[t] \tau \right) }}\right) } &{} \\ &{} \mu _2 \rho _n\sum _{k\in \mathcal {K}_m}{\sum _{t=2}^{\hat{T}}} \frac{\beta _{n, k_m}[t]\tau f_n[t]}{C_n}+\eta &{} \quad (31) \\ s.t. &{} (26.11), (26.12), (26.4), (26.3), (26.5), (26.6), (26.7), (26.8), (26.9),&{}\\ &{} (26.13), (26.14), &{} \quad (31.1) \\ &{}\sum _{t=2}^{\hat{T}}{\frac{\beta _{n, k_m}[t]\tau f_n[t]}{C_n}}+\sum _{t=1}^{\hat{T}}{\frac{f_{k_m}[t]\tau }{C_{k_m}}+\eta \ge L_{k_m}},\ \forall k_m\in \mathcal {K}_m. &{} \quad (31.2) \\ \end{array} \end{aligned}$$We introduce a new variable \(\eta\) in the objective function (), which converts constraint (26.10) into constraint (31.2) for problem P5.

2
Step 2: After obtaining the solution of problem P5, one can determine the next operation according to the value of \(\eta\). If \(\eta \le 0\), which means that the amount of the completed tasks is greater than the target one, the current \(\hat{T}\) is feasible to P5. Otherwise, one has to find a new feasible \(\hat{T}\) by using the BSA method.
The main difficulty to address problem P5 is the nonconvex objective function and constraint (26.9). We decompose problem P5 into the following three subproblems P5.1, P5.2 and P5.3 and solve them sequentially.

1
In problem P5.1, the UAV trajectory \({\textbf {Q}}_{n,m}\), the computing resource allocation \(\textbf{F}_{n,m}\) and \(\textbf{J}_{n,m}\) are assumed to be known. The objective is to optimize the time allocation \({\textbf {A}}_{n,m}\) and \({\textbf {B}}_{n,m}\).

2
After obtaining the time allocation \({\textbf {A}}_{n,m}\) and \({\textbf {B}}_{n,m}\), the computing resource allocation \(\textbf{F}_{n,m}\) and \(\textbf{J}_{n,m}\) will be optimized in problem P5.2 with the given UAV trajectory \({\textbf {Q}}_{n,m}\).

3
Once the time allocation \({\textbf {A}}_{n,m}\) and \({\textbf {B}}_{n,m}\) and the computing resource allocation \(\textbf{F}_{n,m}\) and \(\textbf{J}_{n,m}\) were known, the UAV trajectory \({\textbf {Q}}_{n,m}\) is to be optimized in problem P5.3.
Next, we solve problems P5.1, P5.2, and P5.3, respectively.
5.1 The solution to problem P5.1
With the known \({\textbf {Q}}_{n,m}\), \(\textbf{F}_{n,m}\), \(\textbf{J}_{n,m}\) and \(\eta\), problem P5 is simplified to P5.1 as follows.
Since the objective and all the constraints are convex, problem P5.1 is a linear program (LP) problem, which can be readily solved by applying classical optimization methods.
5.2 Solve problem P5.2
After solving problem P5.1, the time allocation \({\textbf {A}}_{n,m}\) and \({\textbf {B}}_{n,m}\) are known. With the same \({\textbf {Q}}_{n,m}\) and \(\eta\), the computing resource allocation \(\textbf{F}_{n,m}\) and \(\textbf{J}_{n,m}\) is further optimized in the following problem P5.2
Since the objective and all the constraints of problem P5.2 are convex with respect to \(\textbf{F}_{n,m}\) or \(\textbf{J}_{n,m}\), problem P5.2 is a convex optimization problem. One can prove that problem P5.2 satisfies the Karushâ€“Kuhnâ€“Tucker (KKT) conditions [15]. Next, we leverage the Lagrange method to solve it.
The Lagrangian function of problem P5.2 is given by
where \(\lambda , \vartheta = \{\vartheta _{k_m}\}_{k_m\in \mathcal {K}_m}\), \(\varphi = \{\varphi _{{k_m},t}\}_{ k_m\in \mathcal {K}_m, 2\le t\le {\hat{T}}}\), and \(\xi = \{\xi _{k_m}\}_{ k_m\in \mathcal {K}_m}\) are the nonnegative Lagrange multipliers associated with constraints (26.14), (26.13), (26.9), (26.10), respectively.
The Lagrangian dual function of problem P5.2 is given by
According to the KKT conditions [15], the solution of problem P5.2 can be obtained by solving the Lagrangian function and the Lagrangian dual function iteratively.
Letting the derivations of the Lagrangian function \(\mathcal {L}(\textbf{F}_{n,m}, \textbf{J}_{n,m})\) with respect to \(\textbf{F}_{n,m}\) and \(\textbf{J}_{n,m}\) equal to zero, respectively, we can obtain the solution as
where \([x]^+\) denotes the operation \({\max}(x, 0)\), and \([f^*]_0^{f^{{\max}}}\) denotes the operation \({\min}\left( {\max}(f^*, 0),f^{{\max}}\right)\).
We can substitute the obtained \(f_n^*[t]\) and \(f_{k_m}^*[t]\) into Lagrangian dual function (28) and rewrite it as
Because dual problem (29) is convex, we can use the subgradient method to solve it.
Let \(l=1,2,\cdots\) denotes the index of the number of iterations. According to ref. [16], the dual variables are updated via iterations as
where \(s_{\lambda }^{(l)}\), \(s_{\vartheta }^{(l)}\), \(s_{\varphi }^{(l)}\) and \(s_{\xi }^{(l)}\) denote the step sizes of the \(l^{\text {th}}\) iteration, and \(\Delta \lambda ^{(l)}\), \(\Delta \vartheta _{k_m}^{(l)}\), \(\Delta \varphi _{k_m, t}^{(l)}\) and \(\Delta \xi _{k_m}^{(l)}\) are the subgradients of the dual function \(\mathcal {D}^{(l)}(\lambda , \vartheta , \varphi , \xi )\) with respect to \(\lambda\), \(\vartheta\), \(\varphi\) and \(\xi\) in the \(l^{\text {th}}\) iteration [16], respectively, which are given as
Let \(\Upsilon >0\). The step sizes are configured as \(s_{\lambda }^{(l)}=\Upsilon /{\Vert \Delta \lambda ^{(l)} \Vert }\), \(s_{\vartheta }^{(l)}=\Upsilon /{\Vert \Delta \vartheta _{k_m}^{(l)} \Vert }\), \(s_{\varphi }^{(l)}=\Upsilon /{\Vert \Delta \varphi _{k_m, t}^{(l)} \Vert }\) and \(s_{\xi }^{(l)}=\Upsilon /{\Vert \Delta \xi _{k_m}^{(l)} \Vert }\), respectively. The iterative algorithm to solve problem P5.2 is summarized in following Algorithm 1.
In the algorithm, \(\varpi \ge 0\) is defined as the threshold for judging the convergence of the iteration. When \(\vert \mathcal {D}^*\mathcal {D}^{(l)}\vert \le \varpi\), the algorithm terminates.
5.3 Solving problem P5.3
Now, the time resource allocation \({\textbf {A}}_{n,m}\) and \({\textbf {B}}_{n,m}\), and the computing resource allocation \(\textbf{F}_{n,m}\) and \(\textbf{J}_{n,m}\) are known; we can further optimize \(\eta\) and \({\textbf {Q}}_{n,m}\) by solving the following problem.
Because constraints (26.9), (26.11), (26.12), and (26.14) are related only to \({\textbf {Q}}_{n,m}\) the trajectory of the UAV but not to the objective function (), we decompose problem P5.3 into the following two subproblems.
First subproblem P5.4 given below is to optimize the introduced variable \(\eta\) under constraint (31.2).
This is a linear programming (LP) problem.
Because \({\textbf {Q}}_{n,m}\) the trajectory of the UAV has no effect on the objective function (), we only need to find a feasible solution of \({\textbf {Q}}_{n,m}\) satisfying constraints (26.9), (26.11), (26.12), and (26.14). To minimize the energy consumption of an UAV to complete a mission, we get problem P5.5, i.e., the second subproblem of problem P5.3 as follows.
It is noted that constraint (26.9) is nonconvex with respect to \({\textbf {Q}}_{n,m}\). Next, we address this difficulty by using the successive convex approximation (SCA) method. We first convert constraint (26.9) into the following form.
During any slot t, the coordinate of UAV n is given by \(q_{n,m} [t]=\left( x_{n,m} [t], y_{n,m} [t], H\right)\). We can get the first derivatives of \(Z_{n,k_m}[t]\) with respect to \(x_{n,m}[t]\) and \(y_{n,m}[t]\) as
and
respectively.
Lemma 1
\(\triangledown _{x_{n,m}[t]}Z_{n, k_m}[t]\) and \(\triangledown _{y_{n,m}[t]}Z_{n, k_m}[t]\) are Lipschitz continuous on \(x_{n,m}[t]\) and \(y_{n,m}[t]\) with \(L_x\) and \(L_y\), respectively, where \(L_x\) and \(L_y\) are the Lipschitz constants.
Proof
Please refer to Appendix A. \(\square\)
According to ref. [17], if the first derivative of a nonconvex function is Lipschitz continuous on the variables with the corresponding Lipschitz constants and each variable is nonempty, closed, and convex, then, the nonconvex function can be converted to a convex one by using the SCA method. Lemma 1 indicates that constraint (26.9) meets this rule and thus can be converted to a convex one by using the SCA method. The specific conversion steps are as follows.
Let \(l=1,2,\cdots\) denote the index of iterations. For the resource allocation after iteration l in slot t, the location of UAV n is represented as \(q_{n,m}^{(l)}[t]\) and the transmission rate from IoTD \(k_m\) to UAV n is represented as \(R_{n, k_m}^{(l)} [t]\). Let \(\Delta q_{n,m}^{(l)}\) denote the change in the position of UAV n between iterations l and \(l+1\). After iteration \(l+1\), the location of UAV n is given by
and the transmission rate from IoTD \(k_m\) to the \(n^{\text {th}}\) UAV is given by
Lemma 2
With the given \(q_{n,m}^{(l)}\), the definite lower bound for \(R_{n, k_m}^{(l+1)}[t]\) is given by
where \(U_{n, k_m}^{(l)}[t] = \frac{2 B \tau g_0 p_{k_m} / \ln {2}}{ {\Vert q_{n,m}[t]  \omega _{k_m}\Vert }^2 \left( {\Vert q_{n,m}[t]\omega _{k_m}\Vert }^2 + g_0 p_{k_m} / \sigma ^2\right) }\), and operation \(\textsf{T}\) represents taking the transposing of a matrix.
Proof
Please refer to Appendix B. \(\square\)
According to ref. [18], a strong convex function to approximate constraint (26.9) can be constructed as
By replacing constraint (26.9) with constraint (36), problem P5.5 can be converted to a convex one as follows.
This problem can be solved by using convex optimization tools, e.g., CVX [19]. The detail of the SCA algorithm is presented in following Algorithm 2.
5.4 Overall algorithm for solving problem P2
The overall algorithm for solving problem P5 is summarized in following Algorithm 3.
As problem P2 is equivalent to problem P4, the overall algorithm for solving problem P2/P4 is summarized in following Algorithm 4.
6 Solving problem P3
Given that UAV n were assigned to GSA m, the profit \(G_{m,n}\) for the GSA and the profit \(W_{n,m}\) for the UAV can be obtained by using proposed Algorithm 4. When all the possible profit combinations \(\left\{ G_{n,m}, W_{n,m} \right\}\), \(\forall n \in \mathcal {N}, \forall m \in \mathcal {M}\) were known, we can further solve problem P3, which aims to schedule the finite UAVs to the GSAs by optimizing parameter \(\Theta\). Recall that \(\Theta \triangleq \left\{ \theta _{n,m} \right\}\) represents the association matrix of the UAVs and GSAs.
Problem P3 is a multiobjective optimization problem, where an GSA wants to get better service with less budget by hiring a more suitable UAV, while a UAV wants to get higher profit by choosing an GSA to serve. Since the association between the UAVs and GSAs determines the profits of both parties, the social welfare resource allocation should be considered. In what follows, we map problem P3 into a stable marriage matching problem and a weak Pareto optimal matching result can be obtained.
6.1 Matching problem modeling
The stable marriage problem is one of the classical models in twoside matching theory, where a set of men propose to their preferred women in order of preference, and a set of women decide whether to accept the proposal. The aim is to find a stable matching between the two sets of elements given an ordering of preferences for each element.
In problem P3, the UAV set and the GSA set are two separated sets of rational and selfish participants who care about only their own profits. For any UAV n, the profit \(W_{n,m}\) represents the preference of UAV n to GSA m, and, for any GSA m, the profit \(G_{n,m}\) represents the preference of the GSA m to UAV n. Note that all the preference values \(W_{n,m}\) and \(G_{n,m}\) (\(\forall n \in \mathcal {N},\ \forall m \in \mathcal {M}\)) can be obtained by performing Algorithm 4. A GSA first sends its service request to the UAVs, and then each of the UAVs decides whether to serve it or not. The mutual choice \(\Theta \triangleq \left\{ \theta _{n,m} \right\}\) between the UAVs and GSAs depends on the preference values \(W_{n,m}\) and \(G_{n,m}\).
According to the above analysis, we can transfer problem P3 into a twosided matching problem as \(\left<\mathcal {N},\mathcal {M},\succ _n,\succ _m\right>\), where \(\succ _n\) and \(\succ _m\) denote the comparison of preferences. For instance, \(m_1\succ _{n} m_2\) (\(\forall m_1, m_2 \in \mathcal {M}\) and \(m_1 \ne m_2\)) represents that UAV n prefers GSA \(m_1\) to GSA \(m_2\), which means
Similarly, \(n_1\succ _{m} n_2\) (\(\forall n_1, n_2 \in \mathcal {N}\) and \(n_1 \ne n_2\)) represents that GSA m prefers UAV \(n_1\) to UAV \(n_2\), which means
6.2 Algorithm designing
Based on the obtained preference values \(W_{n,m}\) and \(G_{n,m}\) (\(\forall n \in \mathcal {N}\) and \(\forall m \in \mathcal {M}\)), any UAV n (or GSA m) can define the preference list as \(\mathcal{P}\mathcal{L}_n^{\text {U}}=\left\{ W_{n,m}^{(y)}  1\le y\le M, m\in \mathcal {M} \right\}\) (or \(\mathcal{P}\mathcal{L}_m^{\text {G}}=\left\{ G_{n,m}^{(z)}  1\le z\le N, n\in \mathcal {N}\right\}\)), where y (in descending order) and z (in ascending order) represent the ranking of the preference values. In addition to social optimality, stability is also an important measure of twosided matching results. According to [12], the onetoone stable matching is defined as follows.
Definition 1
If there exists two pair \((n_1,m_1)\) and \((n_2,m_2)\), which satisfy \(n_1\succ _{m_2} n_2\) and \(m_2\succ _{n_1} m_1\), i.e., \(n_1\) and \(m_2\) have the motivation to leave their current partner and form a new pair with each other, \((n_1,m_2)\) form a blocking pair. A twosided matching without blocking pairs is a twosided stable matching.
Definition 1 gives the stability condition of a matching, which also indicates the weak Pareto optimality, since no one can be better off by deviating to another choice under stability condition [20]. By applying the GaleShapley (GS) algorithm, an effective method to achieve the stability and weak Pareto optimality (which are ensured following the proofs in [20]) for the proposed matching problem is given in following Algorithm 5. In the algorithm, lines 1 to 7 obtain the preference lists \(\mathcal{P}\mathcal{L}_n^{\text {U}}\) and \(\mathcal{P}\mathcal{L}_m^{\text {G}}\) for the UAVs and GSAs by performing proposed Algorithm 4. Then the GS algorithm in lines 10 to 24 builds a stable onetoone match based on \(\mathcal{P}\mathcal{L}_n^{\text {U}}\) and \(\mathcal{P}\mathcal{L}_m^{\text {G}}\). In lines 10 to 12, each GSA m sends a service request to the most preferred UAV according to the preference list \(\mathcal{P}\mathcal{L}_m^{\text {G}}\). Then, in lines 14 to 24, each UAV n chooses to accept or reject the GSA according to the preference list \(\mathcal{P}\mathcal{L}_n^{\text {U}}\). Finally, when set \(\overline{\mathcal {M}}\) is empty, a stable onetoone matching/association \(\Theta \triangleq \left\{ \theta _{n,m} \right\}\) between the UAVs and GSAs is obtained.
6.3 Computational complexity of the overall algorithm
The overall algorithm to solve P1 is Algorithm 5. We analyze its computational complexity as follows:

1
The first part of Algorithm 5 is to obtain preference lists of the UAVs and GSAs by executing Algorithm 4, and Algorithm 4 is essentially a binary search algorithm (BSA) which is implemented by repeatedly executing Algorithm 3.

(a)
The first step of Algorithm 3 is to solve the linear programming problem P5.1 by using the standard optimization solvers such as CVX. The complexity is \(O(K_m^3 T^3)\) [21].

(b)
The second step of Algorithm 3 is to solve problem P5.2 by using Lagrange method. Let \(\upsilon \ge 0\) denote the ordered accuracy of the subgradient method. The complexity is \(O(1/\upsilon ^2)\) [7].

(c)
The third step of Algorithm 3 is to solve problem P5.3 by using the SCA. Let l denote the number of iterations. The complexity is \(O(lT^3)\) [22].

(d)
Since the time complexity of BSA is \(O(\text {log}T^{\max})\), the time complexity of Algorithm 4 is given as \(O(K_m^3T^3\log {T^{\max}})\). In order to obtain the preference lists of all the UAVs and GSAs, Algorithm 4 needs to be repeated NM times. Therefore, the complexity of the first part of Algorithm 5 is given as \(O(NMK_m^3T^3\log {T^{\max}})\).

(a)

2
The second part of Algorithm 5 is based on the GS algorithm. The complexity is given by as O(NM) [23].
Based on the above analysis, the computational complexity of Algorithm 5 is given as \(O(NMK_m^3T^3\log {T^{\max}})\). Finally, we analyze the convergence of Algorithm 5 as follows:

1
In line 4 of Algorithm 5, Algorithm 4 based on the BSA can converge when \((T^{\max}T^{\min}) \le 1\).

2
In Algorithm 4, Algorithm 3 is performed repeatedly to find the lower bound of the objective function of problem P5. It decreases monotonically as the iterative number l increases.
According to the above analysis, the convergence of the overall algorithm Algorithm 5 can be guaranteed.
7 Results and discussion
The performance of the proposed algorithms is evaluated from the following two aspects. Firstly, we show the impact of the task load change of GSAs on the system performance, while the flight speed and computing power of the UAVS are fixed. Then, we fix the task load of the GSAs and show the impact of the UAV power on the system performance. To illustrate the superiority of the proposed algorithm, the following two schemes are also simulated. The first is termed as the fixed time allocation scheme where the value of \(\alpha _{n, k_m}[t]\) and \(\beta _{n, k_m}[t]\) is fixed to \(\tau /K_m\) [24]. The second is termed as the full offload scheme where each GSA offloads all the task data to a UAV for remote computing [24]. The basic simulation parameters are listed in Table 1 unless specified otherwise.
7.1 Effect of task load of GSAs on the system performance
A oneUAV and oneGSA system is simulated. In the GSA, six IoTDs are randomly distributed in an area of \(100m\times 100m\). The size of the task input data of an IoTD is initialized to 1 Mb, and 1.2k CPU cycles are required to execute per data bit. The transmission power of each IoTD is set to 30 dBm. The computing power of the UAV is 1.3 GHz, its maximum velocity \(v_n^{{\max}}=20\) m/s, the flight height \(H=15\) m, and the start and end points (100m,Â 100m). The task load of each IoTD is increased at a step of 0.5 Mb. FigureÂ 3 shows the time required for each of the schemes to complete all the computing tasks of the system, Fig.Â 4 shows the energy consumption of the IoTDs in each of the schemes, Fig.Â 5 shows the profit obtained by the UAV in the proposed scheme, and Fig.Â 6 shows the task loads undertaken by the UAV and the IoTDs in the proposed scheme, respectively.
From Figs.Â 3 and 4, we see that as the task load of the IoTDs grows, the time and energy required for the IoTDs to complete the computing tasks increases. In all cases, the proposed scheme outperforms the other two schemes. Because the proposed scheme can flexibly allocate the computing task load to the UAVs and the IoTDs, it outperforms the full offload scheme. Furthermore, the proposed scheme can also flexibly adjust the time length assignment of the UAVs according to their current computing load, so it outperforms the fixed time allocation scheme. From Fig.Â 5, we see that the profit obtained by the UAV increases with the added task load of the IoTDs. This indicates that as the task load grows, the GSA requires the UAV to process more tasks and thus has to pay more payment to the UAV, which incentives the UAV to provide more computing resource. As shown in Fig.Â 6, this is attributed to proposed Algorithm 4 to assign more task load to the UAV when the overall task load of the GSA increases.
7.2 Effect of computing power of IoTDs on the system performance
To show the effect of the computing power of IoTDs on the system performance, we initialize the CPU frequency of the IoTDs to 0.1 GHz, and keep the task load of the IoTDs at 4 Mb, and increase the computing power of each IoTD at a step of 0.5 GHz. FiguresÂ 7 and 8 show the time and energy required for the GSA to complete all the computing tasks of the IoTDs by using the proposed scheme and the fixed time allocation scheme, respectively. FigureÂ 9 shows the profit earned by the UAV, and Fig.Â 10 shows the task load allocated separately to the UAV and the IoTDs.
As shown in Figs.Â 7 and 8, as the computing power of the IoTDs increases, the time required for completing the computing tasks and the profit earned by the UAV decreases. It indicates that as the computing power of the IoTDs increases, the GSA needs less computing resource of the UAV, thus reducing the payment for the UAV. Again, the proposed scheme outperforms the fixed time allocation scheme in all the cases as it can flexibly adjust the time allocation of each UAV according to the current computing load. From Fig.Â 10, we can also see that as the computing power of the IoTDs increases, the task load assigned to the UAV decreases gradually.
From Fig.Â 8, we see that as the computing power of the IoTDs increases, the energy consumed by the IoTDs decreases first and then increases. At the beginning, the computing power of the IoTDs is weak, and the energy is mostly consumed for transmitting task data to the UAV. As the computing power of the IoTDs increases, to save costs, they tend to process the computing tasks locally rather than offload to the UAV. Therefore, the local energy consumption of the IoTDs increases gradually. The above simulation results show that proposed Algorithm 4 is able to make a reasonable distribution of the task load between the UAV and the IoTDs according to the computing power the IoTDs.
7.3 Effect of UAV performance on the system performance
We randomly placed 6 IoTDs in an area of 100 \(m^2\) and flew one UAV to complete the computing tasks generated by the IoTDs. A total of six experiments were performed. In each of the experiments, the flight velocity of the UAV was set to {15, 20, 25, 30, 35, 40} m/s, respectively. The optimized flight trajectory of the UAV by using Algorithm 4 is shown in Fig.Â 11aâ€“f, and the task completion time with different flight velocities is shown in Fig.Â 12.
From Figs.Â 11 and 12, we see that for the same task load of the GSA, the higher the flight velocity of the UAV, the shorter the range and time to complete the mission. This indicates that a GNO has an incentive to hire highperformance UAV to serve the IoTDs, and an ASP also has the possibility to make more revenue by employing highperformance UAVs.
7.4 Matching between the UAVs and the GSAs
We divide a \(200 m \times 200 m\) area into 5 GSAs. The numbers of IoTDs in GSAs \(1\sim 5\) are set to {5, 4, 5, 3, 6}, respectively. Each of the IoTDs has the same amount of task load. Five UAVs (owned by different ASPs) are to be dispatched to serve the GSAs. The velocities of the UAVs \(1\sim 5\) are set to {20, 25, 20, 25, 20} m/s, respectively, and the computing power of the UAVs \(1\sim 5\) is set to {1, 0.9, 1.3, 1.1, 1.2} GHz, respectively. FigureÂ 13 shows the profit that each UAV/GSA can achieve when matched to different GSAs/UAVs by performing Algorithm 4. FigureÂ 14 shows the matching result and the flight trajectories of the UAVs obtained by performing Algorithm 5.
8 Conclusion
In this paper, we studied the scheduling and resource allocation problems between multiple UAVs and multiple GSAs in the presence of a conflict of interest between the ASPs and the GNOs. We formulated the competition game among the ASPs and GNOs as a multiobjective optimization problems and solved it in the framework of the matching theory. Simulation results verified that the proposed algorithms achieved the systemwide optimal scheduling of computing resources.
9 Methods/experimental
The purpose of this study is to develop a matching theorybased algorithm to solve the systemwide scheduling and resource allocation problem. The system consists of multiple ASPs and GNOs. Each ASP owns a rotary wing UAV, while each GNO operates a GSA. Each GSA consists of multiple fixed location IoTDs. The proposed algorithm is applied to optimize the association of UAVs and GSAs, resource allocation, and trajectory of UAV. Then, the performance of the algorithm is analyzed experimentally.
Availability of data and materials
Not applicable.
Abbreviations
 UAV:

Unmanned aircraft vehicle
 MEC:

Mobile edge computing
 IoT:

Internet of Things
 ASP:

Aerial service provider
 GNO:

Ground network operator
 IoTDs:

Internet of Things devices
 MINLP:

Mixedinteger nonlinear programming
 SCA:

Successive convex optimization
 QoS:

Quality of service
 WPT:

Wireless power transfer
 MCS:

Mobile crowd sensing
 NOMA:

Nonorthogonal multiple access
 GSA:

Ground service area
 Los:

Lineofsight
 DVFS:

Dynamic voltage and frequency scaling
 BSA:

Binary Search Algorithm
 LP:

Linear program
 KKT:

Karushâ€“Kuhnâ€“Tucker
 SCA:

Successive convex approximation
 GS:

GaleShapley
References
T. Qiu, J. Chi, X. Zhou, Z. Ning, M. Atiquzzaman, D.O. Wu, Edge computing in industrial internet of things: architecture, advances and challenges. IEEE Commun. Surv. Tutor. 22(4), 2462â€“2488 (2020). https://doi.org/10.1109/COMST.2020.3009103
F. Vhora, J. Gandhi, A comprehensive survey on mobile edge computing: Challenges,tools, applications, in 2020 Fourth International Conference on Computing Methodologies and Communication (ICCMC), pp. 49â€“55 (2020). https://doi.org/10.1109/ICCMC48092.2020.ICCMC0009
M. Li, N. Cheng, J. Gao, Y. Wang, L. Zhao, X. Shen, Energyefficient uavassisted mobile edge computing: resource allocation and trajectory optimization. IEEE Trans. Veh. Technol. 69(3), 3424â€“3438 (2020). https://doi.org/10.1109/TVT.2020.2968343
Y. Liu, H.N. Dai, Q. Wang, M. Imran, N. Guizani, Wireless powering internet of things with uavs: challenges and opportunities. IEEE Netw. 36(2), 146â€“152 (2022). https://doi.org/10.1109/MNET.013.2000385
Z. Ning, P. Dong, M. Wen, X. Wang, L. Guo, R.Y.K. Kwok, H.V. Poor, 5genabled uavtocommunity offloading: joint trajectory design and task scheduling. IEEE J. Sel. Areas Commun. 39(11), 3306â€“3320 (2021). https://doi.org/10.1109/JSAC.2021.3088663
Q. Hu, Y. Cai, G. Yu, Z. Qin, M. Zhao, G.Y. Li, Joint offloading and trajectory design for uavenabled mobile edge computing systems. IEEE Internet Things J. 6(2), 1879â€“1892 (2019). https://doi.org/10.1109/JIOT.2018.2878876
X. Hu, K.K. Wong, K. Yang, Z. Zheng, Uavassisted relaying and edge computing: scheduling and trajectory optimization. IEEE Trans. Wirel. Commun. 18(10), 4738â€“4752 (2019). https://doi.org/10.1109/TWC.2019.2928539
D. Gale, L.S. Shapley, College admissions and the stability of marriage. Am. Math. Mon. 69(1), 9â€“15 (1962)
X. Hu, K.K. Wong, Y. Zhang, Wirelesspowered edge computing with cooperative uav: task, time scheduling and trajectory design. IEEE Trans. Wirel. Commun. 19(12), 8083â€“8098 (2020). https://doi.org/10.1109/TWC.2020.3019097
C. Zhan, Y. Zeng, Completion time minimization for multiuavenabled data collection. IEEE Trans. Wirel. Commun. 18(10), 4859â€“4872 (2019). https://doi.org/10.1109/TWC.2019.2930190
Y. Xu, T. Zhang, D. Yang, Y. Liu, M. Tao, Joint resource and trajectory optimization for security in uavassisted mec systems. IEEE Trans. Commun. 69(1), 573â€“588 (2021). https://doi.org/10.1109/TCOMM.2020.3025910
Z. Zhou, J. Feng, B. Gu, B. Ai, S. Mumtaz, J. Rodriguez, M. Guizani, When mobile crowd sensing meets uav: energyefficient task assignment and route planning. IEEE Trans. Commun. 66(11), 5526â€“5538 (2018). https://doi.org/10.1109/TCOMM.2018.2857461
W. Lu, Y. Ding, Y. Gao, S. Hu, Y. Wu, N. Zhao, Y. Gong, Resource and trajectory optimization for secure communications in dual unmanned aerial vehicle mobile edge computing systems. IEEE Trans. Ind. Inf. 18(4), 2704â€“2713 (2022). https://doi.org/10.1109/TII.2021.3087726
K. Deb, K. Deb, Multiobjective Optimization (Springer, Boston, 2014), pp.403â€“449. https://doi.org/10.1007/9781461469407_15
S. Boyd, L. Vandenberghe, Convex Optimization (Cambridge University Press, New York, 2004)
S. Boyd, L. Xiao, A. Mutapcic, Subgradient methods. lecture notes of EE392o. Stanford University, Autumn Quarter 2004, 2004â€“2005 (2003)
D. Wu, F. Wang, X. Cao, J. Xu, Wireless powered user cooperative computation in mobile edge computing systems, in 2018 IEEE Globecom Workshops (GC Wkshps) (2018), pp. 1â€“7. https://doi.org/10.1109/GLOCOMW.2018.8644186
T. Zhang, Y. Xu, J. Loo, D. Yang, L. Xiao, Joint computation and communication design for uavassisted mobile edge computing in iot. IEEE Trans. Ind. Inf. 16(8), 5505â€“5516 (2020). https://doi.org/10.1109/TII.2019.2948406
M. Grant, S. Boyd, CVX: Matlab software for disciplined convex programming, version 2.1. (2014). http://cvxr.com/cvx
G. Oâ€™Malley, Algorithmic Aspects of Stable Matching Problems (University of Glasgow, Glasgow, 2007)
Q. Wu, R. Zhang, Common throughput maximization in uavenabled ofdma systems with delay consideration. IEEE Trans. Commun. 66(12), 6614â€“6627 (2018). https://doi.org/10.1109/TCOMM.2018.2865922
L. Shen, User experience oriented task computation for uavassisted mec system, in IEEE INFOCOM 2022  IEEE Conference on Computer Communications (2022), pp. 1549â€“1558. https://doi.org/10.1109/INFOCOM48880.2022.9796968
B. Wang, Y. Sun, S. Li, Q. Cao, Hierarchical matching with peer effect for lowlatency and highreliable caching in social iot. IEEE Internet Things J. 6(1), 1193â€“1209 (2019). https://doi.org/10.1109/JIOT.2018.2867617
Y. Luo, W. Ding, B. Zhang, Optimization of task scheduling and dynamic service strategy for multiuavenabled mobileedge computing system. IEEE Trans. Cogn. Commun. Netw. 7(3), 970â€“984 (2021). https://doi.org/10.1109/TCCN.2021.3051947
Acknowledgements
Not applicable
Funding
This work was supported in part by the National Natural Science Foundation of China under Grant 61971421 and Grant 62132004; in part by the Quzhou Government under Grant 2021D003; and in part by the Sichuan Major Research and Development Project under Grant 22QYCX0168.
Author information
Authors and Affiliations
Contributions
All authors reviewed and edited the manuscript. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Competing interests
The authors declare that they have no competing interests.
Appendices
Appendix A: The proof of Lemma 1
For easy expression, we define \(x=x_{n,m}[t]\) and \(H\left( x\right) = \triangledown _{x_{n,m}[t]} Z_{n,k_m}[t]\). Let \([\underline{x},\overline{x}]\) denote the range of x. Let \(x^{{\min}}\) and \(x^{{\max}}\) denote the value of x, at which \(H\left( x\right)\) takes the minimum and maximum values, respectively. From Eq. (30), we know that \(H\left( x\right)\) is continuously differentiable and its first derivative is bounded within \(x \in [\underline{x},\overline{x}]\). Then we have
and
Let \(\triangle x = \overline{x}  \underline{x}\). Since \(\left x_1  x_2 \right \le \triangle x\), we can get
where \(L_x = \frac{ H\left( x^{{\max}} \right)  H\left( x^{{\min}} \right) }{\triangle x}\) is the Lipschitz constant of \(H\left( x \right)\).
Thus, we proved that \(\triangledown _{x_{n,m}[t]} Z_{n,k_m}[t]\) is Lipschitz continuous on \(x_{n,m}[t]\) with the Lipschitz constant \(L_x\). The Lipschitz continuity of \(\triangledown _{y_{n,m}[t]} Z_{n,k_m}[t]\) can be proved in a similar way which is omitted here.
Appendix B: The proof of Lemma 2
For easy expression, we define \(a = {\Vert q_{n,m}^{(l)}[t]w_{k_m}\Vert }^2\), \(b =\frac{g_0p_{k_m}}{\sigma ^2}\) and \(x ={\Vert q_{n,m}^{(l+1)}[t]w_{k_m}\Vert }^2{\Vert q_{n,m}^{(l)}[t]w_{k_m}\Vert }^2\), where a and b can be taken as constants.
We represent \(R_{n, k_m}^{(l+1)} [t]\) as
The second derivative of f(x) is given by
From Eq. (43), we know that \(f^{''}(x) \ge 0\) and f(x) is convex with respect to x. Then we can use the firstorder Taylor expansion of f(x), e.g., \(f(x_0) + f^{'}(x_0)(xx_0)\) to approximate f(x) at any \(x_0\) within the domain of x.
Without loss of generality, we make \(x_0=0\) and have
and
By substituting \(q_{n,m}^{(l+1)} [t]=q_{n,m}^{(l)} [t]+\Delta q_{n,m}^{(l)}\) into Eq. (44), we can get
Let \(f(x_0)=R_{n, k_m}^{(l)}[t]\). Then we have
where \(U_{n, k_m}^{(l)}[t]=\frac{1}{\ln {2}}\frac{B g_0 p_{k_m}/ \sigma ^2}{ ({\Vert q_{n,m}^{(l)}[t]\omega _{k_m}\Vert }^2)(g_0 p_{k_m}/ \sigma ^2+{\Vert q_{n,m}^{(l)}[t]\omega _{k_m}\Vert }^2)}\). This completes the proof (Table 2).
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Zhang, X., Zhang, G., Wang, K. et al. Device association and trajectory planning for UAVassisted MEC in IoT: a matching theorybased approach. J Wireless Com Network 2023, 53 (2023). https://doi.org/10.1186/s13638023022605
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/s13638023022605
Keywords
 Unmanned aerial vehicle
 Mobile edge computing
 Internet of Things
 Matching theory