<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Phys.</journal-id>
<journal-title>Frontiers in Physics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Phys.</abbrev-journal-title>
<issn pub-type="epub">2296-424X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1634359</article-id>
<article-id pub-id-type="doi">10.3389/fphy.2025.1634359</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Physics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Computing offloading in hierarchical aerial computing based on matching games</article-title>
<alt-title alt-title-type="left-running-head">Li et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fphy.2025.1634359">10.3389/fphy.2025.1634359</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Meng</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Lyu</surname>
<given-names>Ting</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3045809/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Xie</surname>
<given-names>Junfeng</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Computer and Communication Engineering, University of Science and Technology Beijing</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Shunde Innovation School, University of Science and Technology Beijing</institution>, <addr-line>Foshan</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>School of Information and Communication Engineering, North University of China</institution>, <addr-line>Taiyuan</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1761709/overview">Peiying Zhang</ext-link>, China University of Petroleum (East China), China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2672484/overview">Xiaobin Xu</ext-link>, Beijing University of Technology, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3061617/overview">Hemant Kumar Saini</ext-link>, Lincoln University College, Malaysia</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3080869/overview">Wensheng Lin</ext-link>, Northwestern Polytechnical University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Ting Lyu, <email>lvting_z@163.com</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>10</day>
<month>09</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>13</volume>
<elocation-id>1634359</elocation-id>
<history>
<date date-type="received">
<day>24</day>
<month>05</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>21</day>
<month>08</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Li, Lyu and Xie.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Li, Lyu and Xie</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>In unmanned aerial vehicle (UAV) networks, efficient and reliable cooperation among UAVs is crucial for enabling UAV-assisted internet of things (IoT) services. In this paper, we consider a hierarchical aerial computing framework composed of multiple UAVs that assume different network roles based on their capabilities, providing data collection and computation services for diverse IoT applications. We then formulate a task offloading problem subject to delay and resource constraints, taking into account the service revenue requirements and computational demands of different UAVs. The problem aims to meet the service demands of UAVs while satisfying multiple constraints related to task delay and resource availability, resulting in an integer programming problem that is challenging to solve. Considering the complexity of exhaustive search, we propose a matching game-based solution algorithm to obtain the optimal task offloading decision among UAVs and prove that the algorithm is stable. Simulation results show that the algorithm proposed in this paper outperforms the benchmark scheme in terms of service benefits.</p>
</abstract>
<kwd-group>
<kwd>hierarchical aerial computing</kwd>
<kwd>match game</kwd>
<kwd>UAV</kwd>
<kwd>task offloading</kwd>
<kwd>edge computing</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Social Physics</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In recent years, Unmanned Aerial Vehicles (UAVs), due to their advantages such as low cost, high altitude, and ease of deployment [<xref ref-type="bibr" rid="B1">1</xref>], have been widely applied in various scenarios, such as Internet of vehicle [<xref ref-type="bibr" rid="B1">1</xref>] and marine IoT [<xref ref-type="bibr" rid="B2">2</xref>]. Depending on the service requirements of different network scenarios, UAVs can play various roles in the network [<xref ref-type="bibr" rid="B3">3</xref>]. UAVs can act as end-users and offload tasks to edge computing servers on the ground for computation [<xref ref-type="bibr" rid="B4">4</xref>]. A UAV can be equipped with an edge server to function as an airborne MEC server, assisting ground-based end devices with computation tasks [<xref ref-type="bibr" rid="B5">5</xref>]. The UAV can serve as an airborne relay node that transmits user tasks to terrestrial edge servers (?). The UAV can be used as a complement to the ground network to provide effective coverage in areas where the ground infrastructure is unavailable or overloaded.</p>
<p>Existing IoT devices usually have very limited computational power and cannot handle complex computational tasks [<xref ref-type="bibr" rid="B6">6</xref>]. UAVs can collect data in close proximity to sensors and help process it in a timely manner [<xref ref-type="bibr" rid="B7">7</xref>]. Especially in complex, harsh, or remote environments, UAVs serve as ideal tools for data collection. Meanwhile, edge computing brings computational resources closer to devices and helps relieve the computational burden on the network. By equipping UAVs with edge computing servers, IoT devices with limited computational power can offload their computationally intensive tasks to the UAVs, thereby reducing computational pressure and improving the overall performance of the network [<xref ref-type="bibr" rid="B8">8</xref>].</p>
<p>Considering that UAVs in a UAV network may have different capabilities, this can lead to a hierarchical structure. For example, UAVs with abundant computational resources can assist other UAVs in completing computational tasks. Additionally, due to individual differences among UAVs, they can play various roles in heterogeneous networks. Depending on the service requirements, UAVs can function as computation servers or data collection nodes. As a result, the service relationships among UAVs can directly impact the overall performance of the network. Therefore, this paper focuses on the computation offloading problem in hierarchical UAV networks.</p>
<p>A hierarchical aerial computing system consists of ground terminals and various types of vehicles, each with a different level of computational resources. In [<xref ref-type="bibr" rid="B9">9</xref>], the authors consider a hierarchical airborne computing framework that includes user devices, UAVs, and high-altitude platforms (HAP), and propose a deep reinforcement learning-based trajectory optimization and task offloading algorithm to maximize network resource utilization. In [<xref ref-type="bibr" rid="B10">10</xref>], the authors proposed an algorithm based on Multi-agent proximal policy optimization (MAPPO) to maximize the amount of computational tasks while satisfying the quality of service requirements, taking into account the limited resources and coverage of UAVs. In [<xref ref-type="bibr" rid="B11">11</xref>], a hierarchical framework based on the Stackelberg game was proposed to address the energy consumption problem of aerial computing networks from a distributed perspective. In [<xref ref-type="bibr" rid="B12">12</xref>], UAVs and HAPs are considered as aerial edge computing platforms. The authors consider the fixed coverage area of UAVs and propose a multi-agent deep deterministic policy gradient (MADDPG) algorithm for user association, partial offloading and communication resource allocation to maximize the IoT service satisfaction while minimizing their total energy consumption. In [<xref ref-type="bibr" rid="B8">8</xref>], the authors formulate a discrete Stackelberg game with multiple leaders and followers for a hierarchical multi-coalition UAV MEC network to achieve joint computational offloading for multiple UAVs. Although the above work investigates the computational offloading problem for airborne hierarchical computing, it ignores the service requirements of UAVs with different roles in the UAV network.</p>
<p>In this paper, we address the task offloading decision-making problem between UAVs by adopting a matching game approach. First, the task offloading problem is analyzed using matching theory and game theory, and a multi-objective optimization problem is formulated based on the benefits of each party. Second, the problem is modeled as a bilateral one-to-many matching game to analyze the interactions among UAVs. The construction of preference lists for each participant is a key step in solving the UAV-to-task matching problem, as the objective function and multiple constraints must be implicitly reflected in the preference lists. Additionally, since offloading decisions between UAVs may alter these preference lists, this phenomenon is referred to as an externality. Finally, to handle the challenge of dynamic preference lists, we propose stable matching algorithms that aim to achieve stable task-to-UAV assignments while balancing the interests of UAVs. Specifically, the main contributions of this paper are summarized as follows.<list list-type="simple">
<list-item>
<p>
<inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mo>&#x2022;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> We propose a hierarchical computing offloading framework involving multiple UAVs and multiple tasks. In this computational framework, the benefits of each hierarchical UAV are not only considered, but also the service requirements of the computational tasks.</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mo>&#x2022;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> The optimization problem is modeled as a one-to-many matching game between a set of tasks and UAVs. Meanwhile, a task offloading algorithm based on bilateral matching is proposed, which can effectively realize the allocation of UAV computing tasks.</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mo>&#x2022;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> The effectiveness of the proposed algorithm is verified through simulations, and the performance of different algorithms is evaluated based on numerical results. In addition, the impact of system parameters, such as UAV computing power, on overall system performance is also analyzed.</p>
</list-item>
</list>
</p>
<p>The rest of the paper is organized as follows. The system model and problem formulation are given in <xref ref-type="sec" rid="s2">Section 2</xref>. In <xref ref-type="sec" rid="s3">Section 3</xref>, a matching game based solution method is proposed. Numerical simulations given in <xref ref-type="sec" rid="s4">Section 4</xref> validate the effectiveness of the proposed scheme. Finally, <xref ref-type="sec" rid="s5">Section 5</xref> concludes the paper.</p>
</sec>
<sec id="s2">
<title>2 System model and problem formulation</title>
<p>In this section, we introduce the network model, communication model, energy consumption model, UAV utility function and problem formulation. For a clear understanding of nations in this paper, their detailed descriptions are provided in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Description of key notation.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Notation</th>
<th align="center">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The computational UAVs set.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The data collection UAVs set.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th computational task of DCUAV <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The computational task size.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The computational requirement to complete the task.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The maximum tolerable delay of the computational task.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The reward that can be obtained by completing the computational task.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The channel gain from UAV <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to UAV <inline-formula id="inf15">
<mml:math id="m15">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf16">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The transmission rate between UAV <inline-formula id="inf17">
<mml:math id="m17">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and UAV <inline-formula id="inf18">
<mml:math id="m18">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf19">
<mml:math id="m19">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The spatial position coordinates of UAV <inline-formula id="inf20">
<mml:math id="m20">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf21">
<mml:math id="m21">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The offloading decision.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf22">
<mml:math id="m22">
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The energy consumption.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf23">
<mml:math id="m23">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The task completion delay.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf24">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The utility function of DCUAV.</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf25">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">The utility function of CUAV.</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s2-1">
<title>2.1 Network model</title>
<p>The network architecture of the multi-layer UAV-assisted edge computing system considered in this paper is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, which consists of a top layer, an middle layer and a lower layer. The top layer consists of <inline-formula id="inf26">
<mml:math id="m26">
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> UAVs, which are represented by the set <inline-formula id="inf27">
<mml:math id="m27">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. The middle layer consists of <inline-formula id="inf28">
<mml:math id="m28">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> UAVs, denoted by the set <inline-formula id="inf29">
<mml:math id="m29">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. The lower layer mainly consists of some ground terminal devices. In this hierarchical architecture, the terminal devices have no computing capability, and the UAVs in the middle layer are responsible for collecting data from terminals within their service coverage areas and dividing computing tasks based on the collected data. Additionally, the UAV in the top layer acts as a stable aerial base station. To facilitate the differentiation between the different spatial layers of UAVs, we define the UAVs located in the middle layer as data collection UAVs (DCUAVs) and the UAVs located in the top layer as computational UAVs (CUAVs), based on their functional characteristics. It is noted that rotary wing UAVs are considered in the scheme, which are able to perform services in the air in a hovering manner. Therefore, the hierarchical aerial computing model in this paper is considered quasi-static [<xref ref-type="bibr" rid="B13">13</xref>&#x2013;<xref ref-type="bibr" rid="B15">15</xref>]. All UAVs are equipped with edge computing servers, and CUAVs have more load capacity than DCUAVs. The middle-layer UAVs can offload tasks to the top-layer UAVs to improve the efficiency of network services.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>System model.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g001.tif">
<alt-text content-type="machine-generated">Illustration showing several drones labeled CUVA and DCUVA. Black drones labeled CUVA are connected by yellow lightning bolts to blue drones labeled DCUVA, positioned above conical structures. Each cone contains a terminal device, indicating communication or data transfer processes.</alt-text>
</graphic>
</fig>
<p>Let <inline-formula id="inf30">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> denote the <inline-formula id="inf31">
<mml:math id="m31">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th computational task of DCUAV <inline-formula id="inf32">
<mml:math id="m32">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf33">
<mml:math id="m33">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the computational task size, <inline-formula id="inf34">
<mml:math id="m34">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the computational requirement to complete the task, <inline-formula id="inf35">
<mml:math id="m35">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> denotes the maximum tolerable delay of the computational task, and <inline-formula id="inf36">
<mml:math id="m36">
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the reward that can be obtained by completing the computational task. We assume that the computing tasks of the UAVs are atomic, i.e., the tasks are not splittable. The DCUAV can offload the computing tasks to the CUAV to improve the computational efficiency. The computational power of a CUAV is logically divided into homogeneous virtual resource units (VRU), where each VRU has a computational power called <inline-formula id="inf37">
<mml:math id="m37">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> [<xref ref-type="bibr" rid="B16">16</xref>]. For a CUAV, the number of the VRU, also known as its quota, is denoted by <inline-formula id="inf38">
<mml:math id="m38">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Consider the variability of UAV loads, so the number of VRUs and computational power may differ between UAVs. However, in the same CUAV, we consider that each VRU has the same computational power. Since a VRU can host a task, the maximum number of parallels of the CUAV regarding the task processing depends on <inline-formula id="inf39">
<mml:math id="m39">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s2-2">
<title>2.2 Communication model</title>
<p>This paper primarily focuses on the computation task processing of DCUAVs, while the data collection aspect is not the main subject of consideration. Therefore, only the communication between DCUAV and CUAV is considered in this paper. Considering the height and maneuverability of UAVs, it is reasonable to assume that the wireless link between UAVs and CUAVs mainly consists of Line-of-Sight (LoS) communication links [<xref ref-type="bibr" rid="B17">17</xref>&#x2013;<xref ref-type="bibr" rid="B20">20</xref>]. Therefore, the channel gain from UAV <inline-formula id="inf40">
<mml:math id="m40">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to UAV <inline-formula id="inf41">
<mml:math id="m41">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed as<disp-formula id="e1">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf42">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the channel gain at the reference distance for <inline-formula id="inf43">
<mml:math id="m44">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf44">
<mml:math id="m45">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf45">
<mml:math id="m46">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> denote the spatial position coordinates of UAV <inline-formula id="inf46">
<mml:math id="m47">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and UAV <inline-formula id="inf47">
<mml:math id="m48">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. Similar to [<xref ref-type="bibr" rid="B21">21</xref>], the transmission rate between UAV <inline-formula id="inf48">
<mml:math id="m49">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and UAV <inline-formula id="inf49">
<mml:math id="m50">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed as<disp-formula id="e2">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf50">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the channel bandwidth between UAVs, <inline-formula id="inf51">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the transmission power of UAV <inline-formula id="inf52">
<mml:math id="m54">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf53">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the power noise.</p>
</sec>
<sec id="s2-3">
<title>2.3 Energy consumption model</title>
<p>In this paper, we define the energy consumption for completing a task computation from the perspective of a DCUAV and a CUAV, respectively. For each computing task, the DCUAV needs to decide whether to process the task locally or offload the task to a CUAV with idle computing resources for execution. The offloading decision is denoted by the binary variable <inline-formula id="inf54">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf55">
<mml:math id="m57">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf56">
<mml:math id="m58">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf57">
<mml:math id="m59">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf58">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> denotes that the DCUAV <inline-formula id="inf59">
<mml:math id="m61">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> decided to offload its <inline-formula id="inf60">
<mml:math id="m62">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th task to the CUAV <inline-formula id="inf61">
<mml:math id="m63">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and conversely, <inline-formula id="inf62">
<mml:math id="m64">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>,denotes that the DCUAV chose to be computing locally. Each task can only be processed by one UAV or on a local device.</p>
<p>When the DCUAV chooses to process task <inline-formula id="inf63">
<mml:math id="m65">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> locally, the energy consumption to accomplish the task computation mainly depends on the local computation energy consumption. The local computation energy consumption usually depends on the hardware performance (e.g., processor speed) of the UAV, the complexity of the task, etc. Here, we consider that different devices have different processing speeds, and the power consumption of the device processor is proportional to the speed. Therefore, the DCUAV local computational energy consumption is expressed as<disp-formula id="e3">
<mml:math id="m66">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">loc</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>C</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf64">
<mml:math id="m67">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the capacitance parameter of the DCUAV processor and <inline-formula id="inf65">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the local computing power of the DCUAV.</p>
<p>Similar to the DCUAV local computation, the computational energy consumption of CUAV can be expressed as<disp-formula id="e4">
<mml:math id="m69">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf66">
<mml:math id="m70">
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the computational power of the VRU in the CUAV.</p>
<p>When the DCUAV offloads the computing task <inline-formula id="inf67">
<mml:math id="m71">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to the CUAV, its energy consumption mainly consists of the DCUAV&#x2019;s transmission energy and the CUAV&#x2019;s computing energy. The energy consumption of UAV <inline-formula id="inf68">
<mml:math id="m72">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> offloading task <inline-formula id="inf69">
<mml:math id="m73">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to UAV <inline-formula id="inf70">
<mml:math id="m74">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed as<disp-formula id="e5">
<mml:math id="m75">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">off</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Based on the above analysis, the energy consumption of a DCUAV includes the computational energy consumption for locally executing a task, or the transmission energy consumption for offloading a task. Therefore, the energy consumption of the CDUAV with respect to task k can be expressed as<disp-formula id="e6">
<mml:math id="m76">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">task</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ik0</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ik0</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">loc</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">off</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>The total delay with respect to task <inline-formula id="inf71">
<mml:math id="m77">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed as<disp-formula id="e7">
<mml:math id="m78">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">task</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ik0</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-4">
<title>2.4 The UAV utility function</title>
<p>Based on the delay requirement <inline-formula id="inf72">
<mml:math id="m79">
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> of the computational task and the actual task completion delay <inline-formula id="inf73">
<mml:math id="m80">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, consider the delay satisfaction of the computational task as a negative exponential curve [<xref ref-type="bibr" rid="B22">22</xref>], which can be expressed as<disp-formula id="e8">
<mml:math id="m81">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>T</mml:mi>
<mml:mo>&#x2a7e;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>7</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.3005</mml:mn>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>T</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf74">
<mml:math id="m82">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. To ensure satisfactory task computation while minimizing the energy consumption of the DCUAV, we define the satisfactory utility function <inline-formula id="inf75">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of the DCUAV as<disp-formula id="e9">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3be;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">off</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf76">
<mml:math id="m85">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf77">
<mml:math id="m86">
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denote the delay and energy consumption weight factors, respectively. The values of <inline-formula id="inf78">
<mml:math id="m87">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf79">
<mml:math id="m88">
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> depend on the type of computational tasks and business requirements. For delay-sensitive services, appropriately increasing <inline-formula id="inf80">
<mml:math id="m89">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can guide the selection of CUAVs with sufficient computational resources, thereby improving delay satisfaction.</p>
<p>The benefit gained by a CUAV from performing task <inline-formula id="inf81">
<mml:math id="m90">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is defined as the difference between the task processing gain and the computational energy consumption, and can be expressed as<disp-formula id="e10">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf82">
<mml:math id="m92">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the weighting factor for computing energy consumption.</p>
</sec>
<sec id="s2-5">
<title>2.5 Problem formulation</title>
<p>Based on the above analysis, the objective of DCUAV is to maximize its utility while considering the task delay constraints. Therefore, the optimization problem of DCUAV can be written as,<disp-formula id="e11">
<mml:math id="m93">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mtext>s.t.</mml:mtext>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x222a;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>:</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>where C1 denotes the delay constraint of the computing task, C2 denotes the task offloading policy constraint, and C3 denotes the selection of at most one UAV to be offloaded for each computing task.</p>
<p>The objective of CUAV is to maximize its utility while taking into account the computing service constraints. The optimization problem of CUAV can be written as,<disp-formula id="e12">
<mml:math id="m94">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mtext>s.t.</mml:mtext>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x222a;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>:</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where C1 denotes the constraint on the number of task loads for a CUAV, C2 denotes the constraint on task offloading, and C3 denotes that each computing task is allowed to offload to only one CUAV.</p>
<p>Our overall goal is to maximize the utility of both DCUAV and CUAV. Since the two optimization problems have the same solution under the same variables, they can be expressed as a joint optimization problem, denoted as<disp-formula id="e13">
<mml:math id="m95">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:mi>&#x26;</mml:mi>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mtext>s.t.</mml:mtext>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>:</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x222a;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mi>C</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo>:</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ikj</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>The above optimization problem is an NP-hard problem, and the optimal solution can be found by searching all possible offloading decisions. To solve this problem efficiently with low complexity, a task offloading strategy based on matching game is proposed considering that the computing task of DCUAV is independent from CUAV.</p>
</sec>
</sec>
<sec id="s3">
<title>3 The task offloading policy based on bidirectional matching</title>
<p>In this section, we first model the above task offloading problem as a bilateral one-to-many matching game. Then, the preference profiles of the players are considered and a matching algorithm is proposed to realize task offloading. Finally, the stability of the proposed algorithm is analyzed.</p>
<p>Based on matching game theory, UAVs can form several task alliances according to different objectives. In matching games, each participant can select the optimal matching object based on their own resource status (such as remaining computing power and battery capacity) and task attributes (such as computing power and delay sensitivity). At the same time, the matching game can also support distributed solutions in hierarchical air computing.</p>
<sec id="s3-1">
<title>3.1 Matching game concepts</title>
<p>Let we transform the task offloading problem into a bilateral one-to-many matching game. In the matching game model, it is assumed that both DCUAVs and CUAVs are rational, self-interested participants who make matching decisions based on their personal preferences. To model the optimization problem as a one-to-many matching game with resource and delay constraints, we consider the set of tasks <inline-formula id="inf83">
<mml:math id="m96">
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, and the set of CUAVs <inline-formula id="inf84">
<mml:math id="m97">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> as the two sides of the participants. It is worth noting that bilateral matching denotes that a task is accepted by a given CUAV only if that CUAV recognizes that task. Next, we give the matching game definition as shown in the following definition.</p>
<p>
<statement content-type="definition" id="Definition_1">
<label>Definition 1</label>
<p>In the scenario considered in this paper, the bilateral matching game is defined by a tuple <inline-formula id="inf85">
<mml:math id="m98">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x227b;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf86">
<mml:math id="m99">
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the set of computational tasks, <inline-formula id="inf87">
<mml:math id="m100">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the set of CUAVs and <inline-formula id="inf88">
<mml:math id="m101">
<mml:mrow>
<mml:mo>&#x227b;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> denotes the preference of a task (CUAV) with respect to a CUAV (task).</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_2">
<label>Definition 2</label>
<p>Given two disjoint sets <inline-formula id="inf89">
<mml:math id="m102">
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf90">
<mml:math id="m103">
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, a one-to-many matching function <inline-formula id="inf91">
<mml:math id="m104">
<mml:mrow>
<mml:mi>&#x3a6;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is defined such that all <inline-formula id="inf92">
<mml:math id="m105">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf93">
<mml:math id="m106">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> satisfy the following relationship:<disp-formula id="e14">
<mml:math id="m107">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi>&#x3a6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2286;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mspace width="1em"/>
<mml:mi>&#x3a6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi>&#x3a6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2286;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mspace width="1em"/>
<mml:mi>&#x3a6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="1em"/>
<mml:mi>&#x3a6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x21d4;</mml:mo>
<mml:mi>&#x3a6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
</statement>
</p>
<p>In <xref ref-type="statement" rid="Definition_2">Definition 2</xref>, Condition 1 denotes that each computational task is offloaded onto at most one CUAV, Condition 2 denotes the maximum number of offloaded tasks that each CUAV can accept, which corresponds to C2 of Problem P3, and Condition 3 denotes that if a task <inline-formula id="inf94">
<mml:math id="m108">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> matches a CUAV <inline-formula id="inf95">
<mml:math id="m109">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, then the CUAV <inline-formula id="inf96">
<mml:math id="m110">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> also matches to a task <inline-formula id="inf97">
<mml:math id="m111">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The output of the matching game as defined in this paper is the set of matching pairs between a task and a CUAV, i.e., <inline-formula id="inf98">
<mml:math id="m112">
<mml:mrow>
<mml:mfenced open="&#x27e8;" close="&#x27e9;">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s3-2">
<title>3.2 Preference profiles of players</title>
<p>For each player, the preference profile is used to rank the other players. In the proposed game, tasks and CUAVs can construct their preference lists with available information [<xref ref-type="bibr" rid="B23">23</xref>], respectively.</p>
<p>
<statement content-type="definition" id="Definition_3">
<label>Definition 3</label>
<p>The preference of each task for different CUAVs can be defined as<disp-formula id="e15">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3be;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
</statement>
</p>
<p>The preference function based on <xref ref-type="statement" rid="Definition_3">Definition 3</xref> is designed to reduce the energy consumption and delay required to complete the tasks. Each task prefers to associate with a CUAV at the maximum transmission rate. Based on the preference function, the task prioritizes the CUAV with larger bandwidth, more computational resources, and closer proximity.</p>
<p>
<statement content-type="definition" id="Definition_4">
<label>Definition 4</label>
<p>The preferences of each CUAV for different tasks can be defined as<disp-formula id="e16">
<mml:math id="m114">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
</statement>
</p>
<p>For CUAV, computing tasks with low complexity can save its computational energy consumption. Meanwhile, tasks with high rewards can increase service revenue. Therefore, CUAV prefers tasks with high rewards and requiring fewer CPU cycles.</p>
</sec>
<sec id="s3-3">
<title>3.3 Algorithm design</title>
<p>The matching game-based task offloading algorithm is shown in <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>. In the beginning of the algorithm, all tasks are unmatched. First, each computing task constructs a preference list based on network information and sorts the list. Similarly, CUAV constructs their own preference list based on the network information and completes the sorting of the list. Then, the computing task selects the CUAV based on the preference list, and the CUAV selects the computing task based on the preference. Finally, the algorithm stops iterating until all tasks are matched.</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>Matching game-based task offloading algorithm.</p>
<p>
<inline-graphic xlink:href="fphy-13-1634359-fx1.tif"/>
</p>
</statement>
</p>
</sec>
<sec id="s3-4">
<title>3.4 Algorithm analysis</title>
<p>In this subsection, we analyze the stability of the proposed algorithm in a theoretical way to evaluate the principle and performance of the algorithm.</p>
<p>The goal of <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref> is to find a stable offloading decision making both parties satisfied, where stability is a key concept in matching theory [<xref ref-type="bibr" rid="B24">24</xref>]. In the stability of the algorithm, we first give the relevant definitions as follows.</p>
<p>
<statement content-type="definition" id="Definition_5">
<label>Definition 5</label>
<p>In the matching mechanism, a pair <inline-formula id="inf121">
<mml:math id="m137">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>is defined as a blocking pair if and only if UAV <inline-formula id="inf122">
<mml:math id="m138">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> strictly prefers task <inline-formula id="inf123">
<mml:math id="m139">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to at least one of its currently assigned tasks, and task <inline-formula id="inf124">
<mml:math id="m140">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> strictly prefers UAV <inline-formula id="inf125">
<mml:math id="m141">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to at least one of its currently assigned UAVs.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_6">
<label>Definition 6</label>
<p>A match <inline-formula id="inf126">
<mml:math id="m142">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is stable if there are no blocking pairs.</p>
</statement>
</p>
<p>
<statement content-type="theorem" id="Theorem_1">
<label>Theorem 1</label>
<p>The matching result obtained by <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref> is stable.</p>
</statement>
</p>
<p>Proof: Assuming that the matches obtained by <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref> are unstable, there exists a pair of matching results <inline-formula id="inf127">
<mml:math id="m143">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>that prefer each other over the current match. Then there are two cases: 1) task <inline-formula id="inf128">
<mml:math id="m144">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> never sends a match request to CUAV <inline-formula id="inf129">
<mml:math id="m145">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, which means that task <inline-formula id="inf130">
<mml:math id="m146">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> prefers the current match to CUAV <inline-formula id="inf131">
<mml:math id="m147">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, which contradicts the hypothesis; and 2) task <inline-formula id="inf132">
<mml:math id="m148">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> sends a match request to CUAV <inline-formula id="inf133">
<mml:math id="m149">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, but it is rejected. This means that <inline-formula id="inf134">
<mml:math id="m150">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> prefers its current match to <inline-formula id="inf135">
<mml:math id="m151">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, which is contradictory to the hypothesis. Therefore, there exists no such pair of matching results <inline-formula id="inf136">
<mml:math id="m152">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and hence the matching obtained by the algorithm is stable. According to <xref ref-type="statement" rid="Definition_5">Definition 5</xref>, there is no blocking pair of matching results obtained by <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>. According to <xref ref-type="statement" rid="Definition_6">Definition 6</xref>, the matching results obtained by <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref> are stable.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Performance evaluation</title>
<sec id="s4-1">
<title>4.1 Simulation settings</title>
<p>We consider that all UAVs are randomly distributed in an aerial target area of <inline-formula id="inf138">
<mml:math id="m154">
<mml:mrow>
<mml:mn>2000</mml:mn>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>2000</mml:mn>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where DCUAVs fly at an altitude of <inline-formula id="inf139">
<mml:math id="m155">
<mml:mrow>
<mml:mn>100</mml:mn>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and CUAVs fly at an altitude of 200 m. Specifically, DCUAVs fly at a low altitude to collect data from their coverage area and generate the corresponding computational tasks, and CUAVs fly at a high altitude to provide computational services. The channel bandwidth between the UAVs is considered to be <inline-formula id="inf140">
<mml:math id="m156">
<mml:mrow>
<mml:mn>20</mml:mn>
<mml:mi>M</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and the transmit power is <inline-formula id="inf141">
<mml:math id="m157">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The computing power of the DCUAV is uniformly set to <inline-formula id="inf142">
<mml:math id="m158">
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mi>G</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and that of the CUAV is sized at <inline-formula id="inf143">
<mml:math id="m159">
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>5,10</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> GHz. The input data size D and the required CPU cycles <inline-formula id="inf144">
<mml:math id="m160">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> of each computational task are uniformly distributed over <inline-formula id="inf145">
<mml:math id="m161">
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>1,3</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mi>M</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf146">
<mml:math id="m162">
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>0.1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> Gcycles, respectively. The default number of CUAVs is 4 with quota <inline-formula id="inf147">
<mml:math id="m163">
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>3,1,2,4</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and the number of tasks per DCUAV is 2.</p>
<p>In addition, to further evaluate the advantages of the models and algorithms designed in this paper, we use the following baseline task offloading algorithms for comparative analysis: 1) Randomized offloading (RO) strategy: this strategy randomly assigns tasks to CUAVs based on the number of computing tasks, offloading constraints, and the load constraints of CUAVs; 2) Greedy task utility (GTU) strategy: in this strategy, the computing task selects the node that maximizes the utility of the computing task for matching, i.e., the computing task selects the node with the highest utility according to <xref ref-type="disp-formula" rid="e9">Equation 9</xref>; 3) Greedy computational benefit (GCB) strategy: in this strategy, the CUAV selects the task with the largest computing gain for matching, i.e., the CUAV selects the computing task with the largest gain according to <xref ref-type="disp-formula" rid="e10">Equation 10</xref>.</p>
</sec>
<sec id="s4-2">
<title>4.2 Performance evaluation</title>
<p>
<xref ref-type="fig" rid="F2">Figure 2</xref> illustrates the trend of computing task utility with different number of DCUAVs. In <xref ref-type="fig" rid="F2">Figure 2</xref>, the computing task utility increases with the increase with the number of DCUAVs. This is because as the number of DCUAVs increases, the number of computing tasks also increases gradually and thereby the total utility of computing tasks also increases. It can be observed that the algorithm proposed in this paper is able to achieve better computing task benefits as compared to other strategies. This is because the task offloading strategy based on the matching game considers the benefits of each computing task during the matching process and makes each computing task achieve better benefits under satisfied constraints. <xref ref-type="fig" rid="F3">Figure 3</xref> illustrates the trend of CUAV benefits under different numbers of CUAVs. In <xref ref-type="fig" rid="F3">Figure 3</xref>, the overall benefit of CUAV increases with the number of DCUAVs. This is because as the number of DCUAVs increases, the number of computing tasks also increases gradually and the CUAV is able to provide computing services for more computing tasks. It can be observed that the algorithm proposed in this paper is able to achieve better CUAV benefits. This is because the algorithm optimizes the computational benefits of the CUAV. Meanwhile, the loss of total computational benefit is caused to balance the benefits between the objectives.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Total utility of computing tasks under different number of DCUAVs.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g002.tif">
<alt-text content-type="machine-generated">Line graph comparing total utility for computing tasks across four algorithms: Proposed, RO, GTU, and GCB. The x-axis represents the number of DCUAVs, ranging from 3 to 7. The y-axis shows total utility values from 50 to 130. The Proposed algorithm shows the highest increase, followed by GTU, GCB, and RO. Each line consistently rises with the number of DCUAVs.</alt-text>
</graphic>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Total CUAV utility under different number of DCUAVs.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g003.tif">
<alt-text content-type="machine-generated">Line graph displaying total utility for CUAV versus the number of DCUAVs. It compares four methods: Proposed, RO, GTU, and GCB. Total utility increases from three to four DCUAVs for all methods. The Proposed, RO, and GCB methods show similar trends, while GTU lags behind.</alt-text>
</graphic>
</fig>
<p>We analyze the effect of bandwidth size on the utility of computing tasks and the benefits of CUAVs, where the number of DCUAVs is considered to be 5. As shown in <xref ref-type="fig" rid="F4">Figure 4</xref>, the total utility of the computing tasks increases as the bandwidth increases. This is because the increase in bandwidth increases the transmission rate between the UAVs, which reduces the transmission delay of the computing task. It can be observed that the algorithm proposed in this paper is able to achieve a higher utility for the computing tasks. The computing task utility of the algorithm proposed in this paper is lower than that of the GTU strategy because the benefit of the CUAV needs to be considered in the matching game process. From <xref ref-type="fig" rid="F5">Figure 5</xref>, it can be seen that the benefit of CUAV is not affected by the size of bandwidth. This is that the increase in bandwidth does not change the task offloading strategy, so the CUAV benefit does not change. The CUAV benefit changes dynamically because the offloading strategy of RO strategy is randomized for each time.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Total utility of computing tasks under different bandwidth sizes.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g004.tif">
<alt-text content-type="machine-generated">Line graph showing the total utility for computing tasks against bandwidth in megahertz. Four methods are compared: Proposed, RO, GTU, and GCB. GTU shows the highest utility, followed by Proposed, GCB, and RO, as bandwidth increases from 20 to 30 MHz.</alt-text>
</graphic>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Total CUAV utility under different bandwidth sizes.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g005.tif">
<alt-text content-type="machine-generated">Line graph showing total utility for CUAV against bandwidth in megahertz. The &#x22;Proposed&#x22; and &#x22;GCB&#x22; lines are flat, with &#x22;Proposed&#x22; around 65 and &#x22;GCB&#x22; near 72.5. The &#x22;RO&#x22; line dips before rising, while &#x22;GTU&#x22; remains low around 55. A legend identifies each line.</alt-text>
</graphic>
</fig>
<p>In addition, we analyze the effect of DCUAV transmission power on the computing task utility and CUAV benefits, where the number of DCUAVs is considered to be 5. As shown in <xref ref-type="fig" rid="F6">Figure 6</xref>, the total utility of the computing task increases with the increase of DCUAV transmission power. This is because the increase in the DCUAV transmission power increases the transmission rate between the UAVs, which reduces the transmission delay of the computational task. It can be observed from <xref ref-type="fig" rid="F7">Figure 7</xref> that the CUAV benefits are not affected by the DCUAV transmission power. The DCUAV transmission power does not affect the task offloading strategy, so there is no change in the CUAV benefits. Meanwhile, the computing task benefit of the algorithm proposed in this paper is lower than that of the GCB strategy because the computing task utility needs to be considered in the matching game process.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Total utility of computing tasks under different transmission power sizes.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g006.tif">
<alt-text content-type="machine-generated">Line graph showing the total utility for computing tasks versus transmission power in watts. Four lines represent different methods: Proposed (red circles), RO (blue triangles), GTU (green squares), and GCB (purple diamonds). All methods show increasing utility with higher transmission power, with GTU achieving the highest utility, followed by Proposed, GCB, and RO.</alt-text>
</graphic>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Total utility of computing tasks under different transmission power sizes.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g007.tif">
<alt-text content-type="machine-generated">Line graph showing total utility for CUAV versus transmission power in watts. Four lines, representing Proposed, RO, GTU, and GCB, are charted. Proposed and RO lines hover around 78, GTU remains near 55, and GCB is constant at 80.</alt-text>
</graphic>
</fig>
<p>To further evaluate the performance of the proposed algorithm, we consider a large-scale UAV swarm scenario where each DCUAV is assigned a single computing task and the swarm consists of 10 CUAVs. In this scenario, a learning-based task offloading (LTO) algorithm with a <inline-formula id="inf148">
<mml:math id="m164">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-greedy strategy is employed as the baseline for comparison [<xref ref-type="bibr" rid="B25">25</xref>].</p>
<p>
<xref ref-type="fig" rid="F8">Figure 8</xref> illustrates the utility of computational tasks for UAV clusters of different sizes. It can be seen that for UAV swarms of different sizes, significant differences exist in the total utility of computational tasks among the algorithms. Overall, the proposed algorithm consistently achieves the highest utility, and its advantage becomes more pronounced as the number of UAVs increases, demonstrating good scalability and stability. <xref ref-type="fig" rid="F9">Figure 9</xref> depicts the CUAV utility under different cluster sizes. The CUAV utility values obtained by all methods remain high and relatively stable as the number of drones increases. Compared to other methods, our proposed algorithm achieves higher CUAV utility, indicating superior task allocation and resource utilization. Based on the above analysis, the proposed algorithm demonstrates significant advantages in enhancing both the utility of drone swarm computing tasks and CUAV service utility, demonstrating its suitability for large-scale UAV swarm computing scenarios.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Total utility of computing tasks in UAV swarms of different sizes.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g008.tif">
<alt-text content-type="machine-generated">Bar chart depicting the total utility for computing tasks with varying numbers of DCUAVs (40, 45, 50). Five strategies are compared: Proposed (blue), RO (orange), GTU (green), GCB (red), and LTO (purple). Proposed consistently shows the highest utility, while LTO is the lowest across all scenarios.</alt-text>
</graphic>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Total CUAV utility in UAV swarms of different sizes.</p>
</caption>
<graphic xlink:href="fphy-13-1634359-g009.tif">
<alt-text content-type="machine-generated">Bar chart showing the total utility for computing tasks with varying numbers of DCUAVs (40, 45, 50). Colors represent methods: Proposed (blue), RO (orange), GTU (green), GCB (red), LTO (purple). Proposed and GCB methods show higher utility across all DCUAV numbers.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>In this paper, we investigate hierarchical aerial computing systems, in which network services are provided to ground-based IoT devices through collaboration among UAVs. First, we propose a hierarchical computing offloading framework for multiple UAVs. To implement this framework, the task offloading process is modeled as a distributed multi-objective maximization problem. Second, we consider that the complexity of the task offloading problem increases with the problem size, making it difficult to find a feasible solution efficiently. To address this challenge and obtain a solution in polynomial time, the offloading problem is formulated as a one-to-many matching game between computational tasks and CUAVs. Subsequently, we propose a matching game-based task offloading algorithm and provide a rigorous theoretical analysis. Finally, to verify the performance of the proposed solution, we present a comparison with greedy and random strategies. Simulation results demonstrate the correctness and effectiveness of the proposed algorithm, particularly in delivering low-delay computing services for IoT applications in hierarchical aerial computing systems.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>ML: Writing &#x2013; review and editing. TL: Writing &#x2013; original draft, Writing &#x2013; review and editing. JX: Writing &#x2013; review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This study was supported by Guangdong Basic and Applied Basic Research Foundation (NO.2024A1515110126).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s10">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Djigal</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Machine and deep learning for resource allocation in multi-access edge computing: a survey</article-title>. <source>IEEE Commun Surv and Tutorials</source> (<year>2022</year>) <volume>24</volume>:<fpage>2449</fpage>&#x2013;<lpage>94</lpage>. <pub-id pub-id-type="doi">10.1109/comst.2022.3199544</pub-id>
</citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lyu</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Computing offloading and resource allocation of noma-based uav emergency communication in marine internet of things</article-title>. <source>IEEE Internet Things J</source> (<year>2023</year>) <volume>11</volume>:<fpage>15571</fpage>&#x2013;<lpage>86</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2023.3348164</pub-id>
</citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kuang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Joint task offloading scheduling and resource allocation in air&#x2013;ground cooperation uav-enabled mobile edge computing</article-title>. <source>IEEE Trans Vehicular Technology</source> (<year>2023</year>) <volume>73</volume>:<fpage>5796</fpage>&#x2013;<lpage>807</lpage>. <pub-id pub-id-type="doi">10.1109/tvt.2023.3334143</pub-id>
</citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shehzad</surname>
<given-names>MK</given-names>
</name>
<name>
<surname>Ahmad</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Hassan</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Jung</surname>
<given-names>H</given-names>
</name>
</person-group>. <article-title>Backhaul-aware intelligent positioning of uavs and association of terrestrial base stations for fronthaul connectivity</article-title>. <source>IEEE Trans Netw Sci Eng</source> (<year>2021</year>) <volume>8</volume>:<fpage>2742</fpage>&#x2013;<lpage>55</lpage>. <pub-id pub-id-type="doi">10.1109/TNSE.2021.3077314</pub-id>
</citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Bi</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y-JA</given-names>
</name>
</person-group>. <article-title>Dynamic offloading and trajectory control for uav-enabled mobile edge computing system with energy harvesting devices</article-title>. <source>IEEE Trans Wireless Commun</source> (<year>2022</year>) <volume>21</volume>:<fpage>10515</fpage>&#x2013;<lpage>28</lpage>. <pub-id pub-id-type="doi">10.1109/twc.2022.3184953</pub-id>
</citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Lei</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Yuen</surname>
<given-names>C</given-names>
</name>
<etal/>
</person-group> <article-title>A novel framework of three-hierarchical offloading optimization for mec in industrial iot networks</article-title>. <source>IEEE Trans Ind Inform</source> (<year>2019</year>) <volume>16</volume>:<fpage>5424</fpage>&#x2013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2019.2949348</pub-id>
</citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wei</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Zou</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Meng</surname>
<given-names>Z</given-names>
</name>
<etal/>
</person-group> <article-title>Uav-assisted data collection for internet of things: a survey</article-title>. <source>IEEE Internet Things J</source> (<year>2022</year>) <volume>9</volume>:<fpage>15460</fpage>&#x2013;<lpage>83</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2022.3176903</pub-id>
</citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>Q</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Qi</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Fang</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y</given-names>
</name>
<etal/>
</person-group> <article-title>Joint computation offloading, role, and location selection in hierarchical multicoalition uav mec networks: a stackelberg game learning approach</article-title>. <source>IEEE Internet Things J</source> (<year>2022</year>) <volume>9</volume>:<fpage>18293</fpage>&#x2013;<lpage>304</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2022.3158489</pub-id>
</citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Drl-based trajectory optimization and task offloading in hierarchical aerial mec</article-title>. <source>IEEE Internet Things J</source> (<year>2024</year>) <volume>12</volume>:<fpage>3410</fpage>&#x2013;<lpage>23</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2024.3480248</pub-id>
</citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Mi&#x161;i&#x107;</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Mi&#x161;i&#x107;</surname>
<given-names>VB</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Cooperative uav resource allocation and task offloading in hierarchical aerial computing systems: a mappo-based approach</article-title>. <source>IEEE Internet Things J</source> (<year>2023</year>) <volume>10</volume>:<fpage>10497</fpage>&#x2013;<lpage>509</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2023.3240173</pub-id>
</citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fang</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>When uav meets computing: stackelberg game-based hierarchical framework in aerial computing</article-title>. <source>IEEE Wireless Commun</source> (<year>2022</year>) <volume>29</volume>:<fpage>116</fpage>&#x2013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1109/mwc.002.2100253</pub-id>
</citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lakew</surname>
<given-names>DS</given-names>
</name>
<name>
<surname>Tran</surname>
<given-names>A-T</given-names>
</name>
<name>
<surname>Dao</surname>
<given-names>N-N</given-names>
</name>
<name>
<surname>Cho</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Intelligent offloading and resource allocation in heterogeneous aerial access iot networks</article-title>. <source>IEEE Internet Things J</source> (<year>2022</year>) <volume>10</volume>:<fpage>5704</fpage>&#x2013;<lpage>18</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2022.3161571</pub-id>
</citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jia</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Q</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Yuen</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Hierarchical aerial computing for internet of things <italic>via</italic> cooperation of haps and uavs</article-title>. <source>IEEE Internet Things J</source> (<year>2022</year>) <volume>10</volume>:<fpage>5676</fpage>&#x2013;<lpage>88</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2022.3151639</pub-id>
</citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Chu</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Qoe-aware data aggregation in mec-enabled uav systems: a matching game approach</article-title>. In: <source>2022 IEEE 8th international conference on computer and communications (ICCC)</source>. <publisher-name>IEEE</publisher-name> (<year>2022</year>). p. <fpage>725</fpage>&#x2013;<lpage>30</lpage>.</citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kim</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Hierarchical aerial offload computing algorithm based on the stackelberg-evolutionary game model</article-title>. <source>Computer Networks</source> (<year>2024</year>) <volume>245</volume>:<fpage>110348</fpage>. <pub-id pub-id-type="doi">10.1016/j.comnet.2024.110348</pub-id>
</citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gu</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Mumtaz</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Frascolla</surname>
<given-names>V</given-names>
</name>
<name>
<surname>Bashir</surname>
<given-names>AK</given-names>
</name>
</person-group>. <article-title>Context-aware task offloading for multi-access edge computing: matching with externalities</article-title>. In: <source>2018 IEEE global communications conference (GLOBECOM)</source>. <publisher-name>IEEE</publisher-name> (<year>2018</year>). p. <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Ni</surname>
<given-names>Q</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Letaief</surname>
<given-names>KB</given-names>
</name>
</person-group>. <article-title>Uav-assisted wireless powered cooperative mobile edge computing: joint offloading, cpu control, and trajectory optimization</article-title>. <source>IEEE Internet Things J</source> (<year>2019</year>) <volume>7</volume>:<fpage>2777</fpage>&#x2013;<lpage>90</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2019.2958975</pub-id>
</citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>RQ</given-names>
</name>
<name>
<surname>Qian</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Computation rate maximization in uav-enabled wireless-powered mobile-edge computing systems</article-title>. <source>IEEE J Selected Areas Commun</source> (<year>2018</year>) <volume>36</volume>:<fpage>1927</fpage>&#x2013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1109/jsac.2018.2864426</pub-id>
</citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Wong</surname>
<given-names>K-K</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Uav-assisted relaying and edge computing: scheduling and trajectory optimization</article-title>. <source>IEEE Trans Wireless Commun</source> (<year>2019</year>) <volume>18</volume>:<fpage>4738</fpage>&#x2013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1109/twc.2019.2928539</pub-id>
</citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>Service caching based aerial cooperative computing and resource allocation in multi-uav enabled mec systems</article-title>. <source>IEEE Trans Vehicular Technology</source> (<year>2022</year>) <volume>71</volume>:<fpage>10934</fpage>&#x2013;<lpage>47</lpage>. <pub-id pub-id-type="doi">10.1109/tvt.2022.3183577</pub-id>
</citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wei</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Ji</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Kuang</surname>
<given-names>L</given-names>
</name>
</person-group>. <article-title>Multi-uav collaborative edge computing algorithm for joint task offloading and channel resource allocation</article-title>. <source>J Commun Inf Networks</source> (<year>2024</year>) <volume>9</volume>:<fpage>137</fpage>&#x2013;<lpage>50</lpage>. <pub-id pub-id-type="doi">10.23919/jcin.2024.10582826</pub-id>
</citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>Delay and rate satisfaction for data transmission with application in wireless communications</article-title>. <source>IEEE Netw</source> (<year>2015</year>) <volume>29</volume>:<fpage>70</fpage>&#x2013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1109/mnet.2015.7293308</pub-id>
</citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Swain</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Sahoo</surname>
<given-names>MN</given-names>
</name>
<name>
<surname>Satpathy</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Muhammad</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Bakshi</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Rodrigues</surname>
<given-names>JJ</given-names>
</name>
<etal/>
</person-group> <article-title>Meto: matching-theory-based efficient task offloading in iot-fog interconnection networks</article-title>. <source>IEEE Internet Things J</source> (<year>2020</year>) <volume>8</volume>:<fpage>12705</fpage>&#x2013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2020.3025631</pub-id>
</citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bayat</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Matching theory: applications in wireless communications</article-title>. <source>IEEE Signal Process. Mag</source> (<year>2016</year>) <volume>33</volume>:<fpage>103</fpage>&#x2013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1109/msp.2016.2598848</pub-id>
</citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Learning-based task-offloading for mobile edge computing with user mobility</article-title>. In: <source>2023 9th international conference on computer and communications (ICCC)</source>. <publisher-name>IEEE</publisher-name> (<year>2023</year>). p. <fpage>860</fpage>&#x2013;<lpage>4</lpage>.</citation>
</ref>
</ref-list>
</back>
</article>