<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD with MathML3 v1.1d2 20140930//EN" "JATS-journalpublishing1-mathml3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.1d2" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="nlm-ta">CJIF</journal-id>
      <journal-id journal-id-type="publisher-id">ICCK</journal-id>
      <journal-title-group>
        <journal-title>Chinese Journal of Information Fusion</journal-title>
      </journal-title-group>
      <issn pub-type="ppub" publication-format="print">2998-3363</issn>
      <issn pub-type="epub" publication-format="electronic">2998-3371</issn>
      <publisher>
        <publisher-name>Institute of Central Computation and Knowledge Inc</publisher-name>
        <publisher-loc>522 W RIVERSIDE AVE STE N, SPOKANE, WA, 99201, UNITED STATES</publisher-loc>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.62762/CJIF.2024.596648</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>A High-Efficiency Two-Layer Path Planning Method for UAVs in Vast Airspace</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-4894-840X</contrib-id>
          <name>
            <surname>Yang</surname>
            <given-names>Tongyao</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-9087-5796</contrib-id>
          <name>
            <surname>Yang</surname>
            <given-names>Fengbao</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff1"><label>1</label>School of Information and Communication Engineering, North University of China, Taiyuan 030051, China.</aff>
      </contrib-group>
      <author-notes>
        <corresp id="cor2">Corresponding Author: Fengbao Yang. Email: <email>yfengb@163.com</email></corresp>
      </author-notes>
      <pub-date date-type="pub" pub-type="epub" publication-format="online">
        <day>27</day>
        <month>9</month>
        <year>2024</year>
      </pub-date>
      <volume>1</volume>
      <issue>2</issue>
      <fpage>109</fpage>
      <lpage>125</lpage>
      <history>
        <date date-type="received">
          <day>29</day>
          <month>7</month>
          <year>2024</year>
        </date>
        <date date-type="accepted">
          <day>23</day>
          <month>9</month>
          <year>2024</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2024 by the Authors. Published by Institute of Central Computation and Knowledge. This is an open access article under the CC BY license (https://creativecommons.org/licenses/by/4.0/).</copyright-statement>
        <copyright-year>2024</copyright-year>
        <copyright-holder>The Authors</copyright-holder>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
        </license>
      </permissions>
      <self-uri xlink:href="https://www.icck.org/article/abs/cjif.2024.596648">This article is available from https://www.icck.org/article/abs/cjif.2024.596648</self-uri>
      <abstract>
        <p>Facing the challenges of low efficiency and poor quality in UAV 3D path planning within large-scale airspace complex environments, this paper introduces a divide-and-conquer approach, proposing a dual-layer path planning method based on multi-source information fusion. The method decomposes traditional path planning into two steps: heading planning and trajectory planning, ensuring both planning efficiency and path quality. This method segregates the solution process into two distinct stages: heading planning and path planning, thereby ensuring the planning of both efficiency and path quality. Firstly, the path planning phase is formulated as a multi-objective optimization problem, taking into account the environmental constraints of the UAV mission and path safety. A heading planning layer is then designed, which incorporates multiple information sources and represents the multidimensional airspace environmental data through an adaptive 2D probabilistic map via information fusion. An improved ant colony algorithm is proposed to efficiently generate high-quality sets of headings, facilitating the preliminary heading planning for UAVs. Then, the three-dimensional environment of the heading regions is extracted, and an improved Dung Beetle algorithm with multiple strategies is proposed to optimize the three-dimensional path in the secondary layer accurately. The efficacy and quality of the proposed path planning methodology are substantiated through comprehensive simulation analysis.</p>
      </abstract>
      <kwd-group kwd-group-type="author" xml:lang="en">
        <kwd>two-dimensional probabilistic map</kwd>
        <kwd>information fusion</kwd>
        <kwd>trajectory planning</kwd>
        <kwd>optimization algorithm</kwd>
        <kwd>two-Layer path planning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="S1">
      <label>1.</label>
      <title>Introduction</title>
      <p id="S1.p1">With high maneuverability, strong concealment abilities, and resistance to interference, the UAV has emerged as a critical military tool for performing diverse tasks such as reconnaissance, airstrikes, and electronic warfare [<xref rid="ref001" ref-type="bibr">1</xref>]. Effective path planning based on macro environmental information is pivotal in strategizing air defense force deployments and seizing tactical advantages [<xref rid="ref002" ref-type="bibr">2</xref>]. Confronted with challenges from extensive airspace and complex environments leading to inefficient and suboptimal trajectory planning [<xref rid="ref003" ref-type="bibr">3</xref>], efficient path planning has become a pressing technological need to address.</p>
      <p id="S1.p2">Path planning can be divided into global path planning, local path planning, and mixed path planning. Global path planning aims to apply planning algorithms to find a collision-free, safe, and short path from the starting point to the endpoint for the UAV within the constraints of the known environment [<xref rid="ref004" ref-type="bibr">4</xref>]. This paper focuses on the comprehensive impact of a complex environment on mission performance and flight safety, which belongs to the scope of global path planning. Currently, existing global path planning algorithms can be roughly categorized into four groups: algorithms based on graph theory, fluid/potential field algorithms, swarm intelligence algorithms, and neural network methods. Graph theory methods mainly include the Dijkstra algorithm [<xref rid="ref005" ref-type="bibr">5</xref>, <xref rid="ref006" ref-type="bibr">6</xref>], the A* algorithm [<xref rid="ref007" ref-type="bibr">7</xref>, <xref rid="ref008" ref-type="bibr">8</xref>], and fast search random tree algorithm (RRT*) [<xref rid="ref009" ref-type="bibr">9</xref>, <xref rid="ref010" ref-type="bibr">10</xref>]. Graph search is the most effective direct search method for solving the shortest path in a static road network. However, as the graph expands and dimensions increase, computational efficiency decreases rapidly. Fluid/potential field algorithms, such as artificial potential field [<xref rid="ref011" ref-type="bibr">11</xref>, <xref rid="ref012" ref-type="bibr">12</xref>] and Interfered Fluid Dynamical System (IFDS) [<xref rid="ref013" ref-type="bibr">13</xref>, <xref rid="ref014" ref-type="bibr">14</xref>] can generate a smooth virtual field based on the position of UAVs and obstacle distribution. These algorithms offer clear advantages in smooth path planning control and are widely applied. Swarm intelligence algorithms are self-organizing, adaptive, and self-learning. They can effectively solve UAV path planning, such as the Gray Wolf algorithm [<xref rid="ref015" ref-type="bibr">15</xref>], Sand Cat algorithm [<xref rid="ref016" ref-type="bibr">16</xref>], Particle Swarm Optimization algorithm [<xref rid="ref017" ref-type="bibr">17</xref>], and Dung Beetle Optimization (DBO) [<xref rid="ref018" ref-type="bibr">18</xref>]. Because of the heuristic search and positive feedback of information, Ant Colony Optimization (ACO) is more suitable for solving simple graph path search problems [<xref rid="ref019" ref-type="bibr">19</xref>]. DBO is extensively used in 3D path planning due to its robust global search capability [<xref rid="ref020" ref-type="bibr">20</xref>, <xref rid="ref021" ref-type="bibr">21</xref>, <xref rid="ref022" ref-type="bibr">22</xref>]. Neural networks possess strong nonlinear learning abilities and demonstrate good path-planning capabilities in complex environments [<xref rid="ref023" ref-type="bibr">23</xref>, <xref rid="ref024" ref-type="bibr">24</xref>, <xref rid="ref025" ref-type="bibr">25</xref>]. In Reference [<xref rid="ref023" ref-type="bibr">23</xref>], residual convolutional neural networks were used to solve the real-time path planning problem. Literature [<xref rid="ref024" ref-type="bibr">24</xref>] proposed an improved TD3 algorithm to train UAVs to reach targets safely and quickly in multi-obstacle environments. However, the performance of neural networks heavily relies on adequate data and appropriate training, particularly in complex path-planning tasks that demand substantial computational resources. Moreover, in unfamiliar environments, neural networks may have limited generalization abilities require necessitate additional retraining to adapt to new environments.</p>
      <p id="S1.p3">The vast area increases the solution space for path planning, making it challenging to balance path exploration and convergence. The quality of the path is not guaranteed, and planning times are extended. Furthermore, in the military environment, focusing solely on the flight safety of UAVs is insufficient. Environmental factors such as terrain, visibility, and wind speed significantly impact the effectiveness of reconnaissance and penetration missions. To enhance operational efficiency and path safety, three crucial questions are identified for path planning in aerial environments: "Where can I go?" "Where should I go?" and "How should I get there?" [<xref rid="ref026" ref-type="bibr">26</xref>]. Inspired by the divide-and-conquer concept, a new two-layer path planning method is proposed. Firstly, considering the influence of multi-dimensional environmental information on path planning, an adaptive 2D probabilistic map construction method is proposed to answer the question of "where to go". Secondly, an improved ant colony algorithm is proposed to guide UAVs in course sequence planning in 2D maps, and a series of sub-regions with high heading selection probability are obtained, which answers the question "where should go". Finally, the distribution information of obstacles in the heading area is analyzed, and the path optimization model is designed according to the maneuvering constraints of UAVs, which realizes the accurate trajectory optimization in 3D space and answers the question of "how to get there". The proposed two-layer path planning model focuses on different information in distinct layers, enhancing the efficiency and quality of path planning.</p>
      <p id="S1.p4">The main contributions of the paper are as follows. (1) Based on the divide and conquer concept, traditional path planning is segmented into heading planning and path optimization. The 3D path planning is carried out under the spatial constraints of the global heading planning results, which reduces the search space, ensuring the efficiency and quality of path planning. (2) A heading sequence planning model in large airspace is designed. An adaptive two-dimensional probabilistic map construction method based on multi-dimensional environment information is proposed, and the ant colony algorithm is improved to achieve efficient course planning in large airspace. (3) A trajectory optimization model in local airspace is designed. A multi-strategy Dung Beetle algorithm is proposed to enhance the efficiency and quality of path optimization in 3D space.</p>
      <p id="S1.p5">The remainder of this paper is organized as follows. Section 2 briefly introduces the relevant theories; Section 3 introduces the method proposed in this paper. Section 4 shows the simulation experiments and discussion. Section 5 presents the conclusions of this study.</p>
    </sec>
    <sec id="S2">
      <label>2.</label>
      <title>Related Work</title>
      <sec id="S2.SS1">
        <label>2.1</label>
        <title>Ant colony optimization</title>
        <p id="S2.SS1.p1">Ant colony optimization (ACO) [<xref rid="ref027" ref-type="bibr">27</xref>] is a bionic algorithm according to the law of the overall foraging behavior of the ant colony: the individuals in the ant colony will leave a chemical substance called "pheromone" on the walking path, and update the pheromone on each path as shown in Eq.(1):</p>
        <p>
          <disp-formula-group id="S5.EGx1">
            <disp-formula id="S2.E1">
              <mml:math alttext="\displaystyle\tau_{KP}(t+n)=(1-\rho)\times\tau_{KP}(t)+\Delta\tau_{KP}(t)" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>τ</mml:mi>
                      <mml:mrow>
                        <mml:mi>K</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>P</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>+</mml:mo>
                        <mml:mi>n</mml:mi>
                      </mml:mrow>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo>−</mml:mo>
                            <mml:mi>ρ</mml:mi>
                          </mml:mrow>
                          <mml:mo rspace="0.055em" stretchy="false">)</mml:mo>
                        </mml:mrow>
                        <mml:mo rspace="0.222em">×</mml:mo>
                        <mml:msub>
                          <mml:mi>τ</mml:mi>
                          <mml:mrow>
                            <mml:mi>K</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>P</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:mi mathvariant="normal">Δ</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:msub>
                        <mml:mi>τ</mml:mi>
                        <mml:mrow>
                          <mml:mi>K</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>P</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S2.SS1.p2">where <inline-formula><mml:math alttext="\rho\in(0,1)" display="inline"><mml:mrow><mml:mi>ρ</mml:mi><mml:mo>∈</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the global pheromone volatilization coefficient. <inline-formula><mml:math alttext="\Delta\tau_{KP}(t)" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>τ</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mo>⁢</mml:mo><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the positive change of the pheromone on the path <inline-formula><mml:math alttext="KP" display="inline"><mml:mrow><mml:mi>K</mml:mi><mml:mo>⁢</mml:mo><mml:mi>P</mml:mi></mml:mrow></mml:math></inline-formula> in the current iteration, as shown in Eq.(2).</p>
        <p>
          <disp-formula-group id="S5.EGx2">
            <disp-formula id="S2.E2">
              <mml:math alttext="\displaystyle\Delta\tau_{KP}(t)=\sum_{A=1}^{m}\Delta\tau_{KP}^{A}(t)" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi mathvariant="normal">Δ</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:msub>
                      <mml:mi>τ</mml:mi>
                      <mml:mrow>
                        <mml:mi>K</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>P</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:mi>t</mml:mi>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mstyle displaystyle="true">
                      <mml:munderover>
                        <mml:mo movablelimits="false">∑</mml:mo>
                        <mml:mrow>
                          <mml:mi>A</mml:mi>
                          <mml:mo>=</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>m</mml:mi>
                      </mml:munderover>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi mathvariant="normal">Δ</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:msubsup>
                        <mml:mi>τ</mml:mi>
                        <mml:mrow>
                          <mml:mi>K</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>P</mml:mi>
                        </mml:mrow>
                        <mml:mi>A</mml:mi>
                      </mml:msubsup>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S2.SS1.p3">where <inline-formula><mml:math alttext="\Delta\tau_{KP}^{A}(t)" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mo>⁢</mml:mo><mml:msubsup><mml:mi>τ</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mo>⁢</mml:mo><mml:mi>P</mml:mi></mml:mrow><mml:mi>A</mml:mi></mml:msubsup><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the concentration of left pheromones by ant <inline-formula><mml:math alttext="A" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> on path <inline-formula><mml:math alttext="KP" display="inline"><mml:mrow><mml:mi>K</mml:mi><mml:mo>⁢</mml:mo><mml:mi>P</mml:mi></mml:mrow></mml:math></inline-formula>. If ant <inline-formula><mml:math alttext="A" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> has not passed the path <inline-formula><mml:math alttext="KP" display="inline"><mml:mrow><mml:mi>K</mml:mi><mml:mo>⁢</mml:mo><mml:mi>P</mml:mi></mml:mrow></mml:math></inline-formula>, the value is 0.</p>
        <p id="S2.SS1.p4">Other ant colonies will calculate the node transition probability based on Eq.(3) when making route selection.</p>
        <p>
          <disp-formula-group id="S5.EGx3">
            <disp-formula id="S2.E3">
              <mml:math alttext="\displaystyle P^{A}_{K}=\begin{cases}\frac{\tau_{K}(t)^{\alpha}\xi_{KP}(t)^{%&#10;\beta}}{\sum\limits_{c\in allowA}\tau_{K}(t)^{\alpha}\xi_{KC}(t)^{\beta}},&amp;c%&#10;\in allowA\\&#10;0,&amp;c\notin allowA\end{cases}" display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>P</mml:mi>
                    <mml:mi>K</mml:mi>
                    <mml:mi>A</mml:mi>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mo>{</mml:mo>
                    <mml:mtable columnspacing="5pt" rowspacing="0pt">
                      <mml:mtr>
                        <mml:mtd class="ltx_align_left" columnalign="left">
                          <mml:mrow>
                            <mml:mfrac>
                              <mml:mrow>
                                <mml:msub>
                                  <mml:mi>τ</mml:mi>
                                  <mml:mi>K</mml:mi>
                                </mml:msub>
                                <mml:mo>⁢</mml:mo>
                                <mml:msup>
                                  <mml:mrow>
                                    <mml:mo stretchy="false">(</mml:mo>
                                    <mml:mi>t</mml:mi>
                                    <mml:mo stretchy="false">)</mml:mo>
                                  </mml:mrow>
                                  <mml:mi>α</mml:mi>
                                </mml:msup>
                                <mml:mo>⁢</mml:mo>
                                <mml:msub>
                                  <mml:mi>ξ</mml:mi>
                                  <mml:mrow>
                                    <mml:mi>K</mml:mi>
                                    <mml:mo>⁢</mml:mo>
                                    <mml:mi>P</mml:mi>
                                  </mml:mrow>
                                </mml:msub>
                                <mml:mo>⁢</mml:mo>
                                <mml:msup>
                                  <mml:mrow>
                                    <mml:mo stretchy="false">(</mml:mo>
                                    <mml:mi>t</mml:mi>
                                    <mml:mo stretchy="false">)</mml:mo>
                                  </mml:mrow>
                                  <mml:mi>β</mml:mi>
                                </mml:msup>
                              </mml:mrow>
                              <mml:mrow>
                                <mml:mstyle displaystyle="false">
                                  <mml:munder>
                                    <mml:mo movablelimits="false">∑</mml:mo>
                                    <mml:mrow>
                                      <mml:mi>c</mml:mi>
                                      <mml:mo>∈</mml:mo>
                                      <mml:mrow>
                                        <mml:mi>a</mml:mi>
                                        <mml:mo>⁢</mml:mo>
                                        <mml:mi>l</mml:mi>
                                        <mml:mo>⁢</mml:mo>
                                        <mml:mi>l</mml:mi>
                                        <mml:mo>⁢</mml:mo>
                                        <mml:mi>o</mml:mi>
                                        <mml:mo>⁢</mml:mo>
                                        <mml:mi>w</mml:mi>
                                        <mml:mo>⁢</mml:mo>
                                        <mml:mi>A</mml:mi>
                                      </mml:mrow>
                                    </mml:mrow>
                                  </mml:munder>
                                </mml:mstyle>
                                <mml:mrow>
                                  <mml:msub>
                                    <mml:mi>τ</mml:mi>
                                    <mml:mi>K</mml:mi>
                                  </mml:msub>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:msup>
                                    <mml:mrow>
                                      <mml:mo stretchy="false">(</mml:mo>
                                      <mml:mi>t</mml:mi>
                                      <mml:mo stretchy="false">)</mml:mo>
                                    </mml:mrow>
                                    <mml:mi>α</mml:mi>
                                  </mml:msup>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:msub>
                                    <mml:mi>ξ</mml:mi>
                                    <mml:mrow>
                                      <mml:mi>K</mml:mi>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:mi>C</mml:mi>
                                    </mml:mrow>
                                  </mml:msub>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:msup>
                                    <mml:mrow>
                                      <mml:mo stretchy="false">(</mml:mo>
                                      <mml:mi>t</mml:mi>
                                      <mml:mo stretchy="false">)</mml:mo>
                                    </mml:mrow>
                                    <mml:mi>β</mml:mi>
                                  </mml:msup>
                                </mml:mrow>
                              </mml:mrow>
                            </mml:mfrac>
                            <mml:mo>,</mml:mo>
                          </mml:mrow>
                        </mml:mtd>
                        <mml:mtd class="ltx_align_left" columnalign="left">
                          <mml:mrow>
                            <mml:mi>c</mml:mi>
                            <mml:mo>∈</mml:mo>
                            <mml:mrow>
                              <mml:mi>a</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>o</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>w</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>A</mml:mi>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:mtd>
                      </mml:mtr>
                      <mml:mtr>
                        <mml:mtd class="ltx_align_left" columnalign="left">
                          <mml:mrow>
                            <mml:mn>0</mml:mn>
                            <mml:mo>,</mml:mo>
                          </mml:mrow>
                        </mml:mtd>
                        <mml:mtd class="ltx_align_left" columnalign="left">
                          <mml:mrow>
                            <mml:mi>c</mml:mi>
                            <mml:mo>∉</mml:mo>
                            <mml:mrow>
                              <mml:mi>a</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>o</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>w</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>A</mml:mi>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:mtd>
                      </mml:mtr>
                    </mml:mtable>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S2.SS1.p5">where <inline-formula><mml:math alttext="\xi" display="inline"><mml:mi>ξ</mml:mi></mml:math></inline-formula> is the heuristic information, represents the degree of transition expectation of ant <inline-formula><mml:math alttext="A" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> from node <inline-formula><mml:math alttext="K" display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula> to node <inline-formula><mml:math alttext="P" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula> is the pheromone concentration factor, <inline-formula><mml:math alttext="\beta" display="inline"><mml:mi>β</mml:mi></mml:math></inline-formula> is the expected heuristic factor. After ant A completes one iteration, the route from the starting node to the target node is a feasible solution. Ant colony algorithm is constructed by pheromone positive feedback effect and heuristic function, and has strong robustness and adaptability.</p>
        <sec id="S2.SS1.SSS1">
          <label>2.1.1</label>
          <title>Graph Theory-Based Path Search</title>
          <p id="S2.SS1.SSS1.p1">Particle Swarm Optimization (PSO), Genetic Algorithm (GA) and ACO are classical methods of path search. By comparing the performance of path planning based on different algorithms in raster map, the algorithm more suitable for graph theory is selected. Specifically, the static simulation environment (20 x 20) is designed, and the starting point and ending point of the target are known in the environment. PSO, GA and ACO are used for shortest path planning. The parameters of ACO are set as follows: the number of ants <inline-formula><mml:math alttext="M=10" display="inline"><mml:mrow><mml:mi>M</mml:mi><mml:mo>=</mml:mo><mml:mn>10</mml:mn></mml:mrow></mml:math></inline-formula>, the maximum number of iterations <inline-formula><mml:math alttext="N_{\max}=50" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>max</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>50</mml:mn></mml:mrow></mml:math></inline-formula>, information heuristic operator <inline-formula><mml:math alttext="\alpha=1" display="inline"><mml:mrow><mml:mi>α</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula>, expectation heuristic factor <inline-formula><mml:math alttext="\beta=5" display="inline"><mml:mrow><mml:mi>β</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:math></inline-formula>, pheromone intensity <inline-formula><mml:math alttext="Q=5" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:math></inline-formula>, pheromone residue operator <inline-formula><mml:math alttext="\rho=0.7" display="inline"><mml:mrow><mml:mi>ρ</mml:mi><mml:mo>=</mml:mo><mml:mn>0.7</mml:mn></mml:mrow></mml:math></inline-formula>. The parameters of PSO are set as follows: particle size <inline-formula><mml:math alttext="S=20" display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mn>20</mml:mn></mml:mrow></mml:math></inline-formula>, number of iterations <inline-formula><mml:math alttext="G_{\max}=50" display="inline"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>max</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>50</mml:mn></mml:mrow></mml:math></inline-formula>, inertia weight operators <inline-formula><mml:math alttext="w=0.5" display="inline"><mml:mrow><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:mrow></mml:math></inline-formula>, acceleration operators <inline-formula><mml:math alttext="c_{1}=c_{1}=1" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="r_{1}=r_{2}=0.3" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.3</mml:mn></mml:mrow></mml:math></inline-formula>. The parameters of GA are set as follows: population size <inline-formula><mml:math alttext="NP=20" display="inline"><mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>⁢</mml:mo><mml:mi>P</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>20</mml:mn></mml:mrow></mml:math></inline-formula>, iteration times <inline-formula><mml:math alttext="G_{\max}=50" display="inline"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>max</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>50</mml:mn></mml:mrow></mml:math></inline-formula>, crossover rate <inline-formula><mml:math alttext="p_{c}=0.7" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.7</mml:mn></mml:mrow></mml:math></inline-formula>, mutation rate <inline-formula><mml:math alttext="P_{m}=0.05" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.05</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
          <p>
            <fig id="F1">
              <label>Figure 1.</label>
              <caption>
                <p>Path planning results of different algorithms.</p>
              </caption>
              <graphic xlink:href="fig1.jpg"/>
            </fig>
          </p>
          <p id="S2.SS1.SSS1.p2">The path planning results based on PSO, GA and ACO after 50 iterations are shown in Figure <xref ref-type="fig" rid="F1">1</xref>. The path obtained by PSO occupies 38 grids and is turned 16 times. The path obtained by GA algorithm occupies 42 grids and is turned 18 times. The path obtained by ACO algorithm occupies 36 grids and is turned 7 times. The planning results show that ACO is better than PSO and GA under the same number of iterations, so it is more suitable for solving the path planning problem.</p>
          <p>
            <fig id="F2">
              <label>Figure 2.</label>
              <caption>
                <p>The framework of the two-layer path planning.</p>
              </caption>
              <graphic xlink:href="fig2.jpg"/>
            </fig>
          </p>
          <p id="S2.SS1.SSS1.p3">The selection operator in GA can ensure that all the selected individuals are excellent, but the mutation operator and crossover operators only introduce new individuals, and their operations cannot guarantee whether the new individuals are excellent. If the newly generated individuals are not sufficiently excellent, the introduction of new individuals will become an interference factor, which will slow down the search speed of GA. For PSO, the biggest problem in the application of graph theory path planning is that there is no unified prior knowledge of parameter setting (such as inertia weight, acceleration coefficient) and application background, resulting in unstable algorithm performance. ACO is also a type of feedback random search algorithm, but it relies on the pheromone (based on fitness function) left by ants for optimization. The initialization setting of the pheromone and the selection probability are closely related to the length of the path. This means that a shorter path attracts more ants. At the same time, the amount of residual pheromone is greater, which speeds up the optimization process. Therefore, ACO is chosen as the basic method to solve the problem of searching paths on graphs.</p>
        </sec>
      </sec>
      <sec id="S2.SS2">
        <label>2.2</label>
        <title>Dung Beetle Optimizer</title>
        <p id="S2.SS2.p1">Dung Beetle Optimizer (DBO) is a novel swarm intelligence algorithm that updates and optimizes the position of dung beetles by simulating four actions: ball rolling, breeding, foraging, and stealing.</p>
        <p id="S2.SS2.p2">(1) Ball-rolling dung beetle. When dung beetles move forward without obstacles, the position of dung beetles is updated as shown in Eq.(4). When dung beetles encounter obstacles, the tangential function is used to simulate the dancing behavior. The position updating formula is as follows Eq.(5).</p>
        <p>
          <disp-formula-group id="S5.EGx4">
            <disp-formula id="S2.E4">
              <mml:math alttext="\displaystyle x_{i}^{t+1}=x_{i}^{t}+\lambda\cdot k\cdot x_{i}^{t-1}+b\cdot%&#10;\left|x_{i}^{t}-x_{worst}\right|" display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>x</mml:mi>
                    <mml:mi>i</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>+</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>x</mml:mi>
                      <mml:mi>i</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msubsup>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:mi>λ</mml:mi>
                      <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                      <mml:mi>k</mml:mi>
                      <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                      <mml:msubsup>
                        <mml:mi>x</mml:mi>
                        <mml:mi>i</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msubsup>
                    </mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:mi>b</mml:mi>
                      <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                      <mml:mrow>
                        <mml:mo>|</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mi>t</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>x</mml:mi>
                            <mml:mrow>
                              <mml:mi>w</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>o</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>r</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>s</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>t</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>|</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p>
          <disp-formula-group id="S5.EGx5">
            <disp-formula id="S2.E5">
              <mml:math alttext="\displaystyle x_{i}^{t+1}=x_{i}^{t}+\tan(\theta)\left|x_{i}^{t}-x_{i}^{t-1}\right|" display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>x</mml:mi>
                    <mml:mi>i</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>+</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>x</mml:mi>
                      <mml:mi>i</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msubsup>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mi>tan</mml:mi>
                        <mml:mo>⁡</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mi>θ</mml:mi>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo>|</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mi>t</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                          </mml:msubsup>
                        </mml:mrow>
                        <mml:mo>|</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S2.SS2.p3">where <inline-formula><mml:math alttext="x_{i}^{t}" display="inline"><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> represents the position information of the <inline-formula><mml:math alttext="i-th" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>−</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>⁢</mml:mo><mml:mi>h</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> dung beetle during the <inline-formula><mml:math alttext="t-th" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>⁢</mml:mo><mml:mi>h</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> iteration. <inline-formula><mml:math alttext="\lambda" display="inline"><mml:mi>λ</mml:mi></mml:math></inline-formula> is a natural coefficient assigned to 1 or -1. <inline-formula><mml:math alttext="k" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> is the random deflection coefficient of <inline-formula><mml:math alttext="[0,1]" display="inline"><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math alttext="b" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> is the random coefficient and <inline-formula><mml:math alttext="x_{worst}" display="inline"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the position of the worst individual.</p>
        <p id="S2.SS2.p4">(2) Breeding. After the spawning area is determined based on Eq.(6), dung beetles will reproduce, and the position of the offspring dynamically changes, as shown in Eq.(7).</p>
        <p>
          <disp-formula-group id="S2.E6">
            <disp-formula id="S2.E6X">
              <mml:math alttext="\displaystyle Lb^{*}=\max\left\{x_{lbest}\cdot(1-R),Lb\right\}" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi>L</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:msup>
                      <mml:mi>b</mml:mi>
                      <mml:mo>∗</mml:mo>
                    </mml:msup>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mi>max</mml:mi>
                    <mml:mo>⁡</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>l</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>b</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>s</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo>−</mml:mo>
                            <mml:mi>R</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>,</mml:mo>
                      <mml:mrow>
                        <mml:mi>L</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>b</mml:mi>
                      </mml:mrow>
                      <mml:mo>}</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
            <disp-formula id="S2.E6Xa">
              <mml:math alttext="\displaystyle Ub^{*}=\min\left\{x_{lbest}\cdot(1+R),Ub\right\}" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi>U</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:msup>
                      <mml:mi>b</mml:mi>
                      <mml:mo>∗</mml:mo>
                    </mml:msup>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mi>min</mml:mi>
                    <mml:mo>⁡</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>l</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>b</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>s</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo>+</mml:mo>
                            <mml:mi>R</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>,</mml:mo>
                      <mml:mrow>
                        <mml:mi>U</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>b</mml:mi>
                      </mml:mrow>
                      <mml:mo>}</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p>
          <disp-formula-group id="S5.EGx6">
            <disp-formula id="S2.E7">
              <mml:math alttext="\displaystyle x_{i}^{t+1}=x_{lbest}+b_{1}\times\left(x_{i}^{t}-Lb^{*}\right)+b%&#10;_{2}\times\left(x_{i}^{t}-Ub^{*}\right)" display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>x</mml:mi>
                    <mml:mi>i</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>+</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>x</mml:mi>
                      <mml:mrow>
                        <mml:mi>l</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>b</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>e</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>s</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>t</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>b</mml:mi>
                        <mml:mn>1</mml:mn>
                      </mml:msub>
                      <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mi>t</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:mrow>
                            <mml:mi>L</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:msup>
                              <mml:mi>b</mml:mi>
                              <mml:mo>∗</mml:mo>
                            </mml:msup>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>b</mml:mi>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                      <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mi>t</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:mrow>
                            <mml:mi>U</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:msup>
                              <mml:mi>b</mml:mi>
                              <mml:mo>∗</mml:mo>
                            </mml:msup>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S2.SS2.p5">where <inline-formula><mml:math alttext="x_{lbest}" display="inline"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>⁢</mml:mo><mml:mi>b</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the current local optimal position. <inline-formula><mml:math alttext="R=1-\frac{t}{t_{max}}" display="inline"><mml:mrow><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:mfrac><mml:mi>t</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>a</mml:mi><mml:mo>⁢</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mrow></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="t_{max}" display="inline"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>a</mml:mi><mml:mo>⁢</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denotes the maximum number of iterations, <inline-formula><mml:math alttext="t" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> is the current number of iterations, <inline-formula><mml:math alttext="Lb" display="inline"><mml:mrow><mml:mi>L</mml:mi><mml:mo>⁢</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math alttext="Ub" display="inline"><mml:mrow><mml:mi>U</mml:mi><mml:mo>⁢</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula> represent the lower and upper bounds of the spawning area, <inline-formula><mml:math alttext="b_{1}" display="inline"><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math alttext="b_{2}" display="inline"><mml:msub><mml:mi>b</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> are two independent random vectors with a size of <inline-formula><mml:math alttext="1\times D" display="inline"><mml:mrow><mml:mn>1</mml:mn><mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
        <p id="S2.SS2.p6">(3) The feeding area of dung beetles is determined based on Eq.(8). At this time, the position of dung beetles is updated as shown in Eq.(9).</p>
        <p>
          <disp-formula-group id="S2.E8">
            <disp-formula id="S2.E8X">
              <mml:math alttext="\displaystyle Lb^{*}=\max\left\{x_{gbest}\cdot(1-R),Lb\right\}" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi>L</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:msup>
                      <mml:mi>b</mml:mi>
                      <mml:mo>∗</mml:mo>
                    </mml:msup>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mi>max</mml:mi>
                    <mml:mo>⁡</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>g</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>b</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>s</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo>−</mml:mo>
                            <mml:mi>R</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>,</mml:mo>
                      <mml:mrow>
                        <mml:mi>L</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>b</mml:mi>
                      </mml:mrow>
                      <mml:mo>}</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
            <disp-formula id="S2.E8Xa">
              <mml:math alttext="\displaystyle Ub^{*}=\min\left\{x_{gbest}\cdot(1+R),Ub\right\}" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi>U</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:msup>
                      <mml:mi>b</mml:mi>
                      <mml:mo>∗</mml:mo>
                    </mml:msup>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mi>min</mml:mi>
                    <mml:mo>⁡</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>g</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>b</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>s</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo>+</mml:mo>
                            <mml:mi>R</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>,</mml:mo>
                      <mml:mrow>
                        <mml:mi>U</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>b</mml:mi>
                      </mml:mrow>
                      <mml:mo>}</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p>
          <disp-formula-group id="S5.EGx7">
            <disp-formula id="S2.E9">
              <mml:math alttext="\displaystyle x_{i}^{t+1}=x_{i}^{t}+C_{1}\times\left(x_{i}^{t}-Lb^{*}\right)+C%&#10;_{2}\times\left(x_{i}^{t}-Ub^{*}\right)" display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>x</mml:mi>
                    <mml:mi>i</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>+</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>x</mml:mi>
                      <mml:mi>i</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msubsup>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>C</mml:mi>
                        <mml:mn>1</mml:mn>
                      </mml:msub>
                      <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mi>t</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:mrow>
                            <mml:mi>L</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:msup>
                              <mml:mi>b</mml:mi>
                              <mml:mo>∗</mml:mo>
                            </mml:msup>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>C</mml:mi>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                      <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mi>t</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:mrow>
                            <mml:mi>U</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:msup>
                              <mml:mi>b</mml:mi>
                              <mml:mo>∗</mml:mo>
                            </mml:msup>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S2.SS2.p7">where <inline-formula><mml:math alttext="x_{gbest}" display="inline"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>g</mml:mi><mml:mo>⁢</mml:mo><mml:mi>b</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the global optimal position; <inline-formula><mml:math alttext="C_{1}" display="inline"><mml:msub><mml:mi>C</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> is a D-dimensional random vector following a normal distribution; <inline-formula><mml:math alttext="C_{2}" display="inline"><mml:msub><mml:mi>C</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> is the random vector within the range of <inline-formula><mml:math alttext="(0,1)" display="inline"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
        <p id="S2.SS2.p8">(4) Stealing. The position of the thieving dung beetle is updated as follows:</p>
        <p>
          <disp-formula-group id="S5.EGx8">
            <disp-formula id="S2.E10">
              <mml:math alttext="\displaystyle x_{i}^{t+1}=x_{gbest}+S\times g\times\left(\left(x_{i}^{t}-x_{%&#10;gbest}\right)+\left|x_{i}^{t}-x_{lbest}\right|\right)" display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>x</mml:mi>
                    <mml:mi>i</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>+</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>x</mml:mi>
                      <mml:mrow>
                        <mml:mi>g</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>b</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>e</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>s</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>t</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:mi>S</mml:mi>
                      <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                      <mml:mi>g</mml:mi>
                      <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mi>x</mml:mi>
                                <mml:mi>i</mml:mi>
                                <mml:mi>t</mml:mi>
                              </mml:msubsup>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mrow>
                                  <mml:mi>g</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>b</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>e</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>s</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>t</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                          <mml:mo>+</mml:mo>
                          <mml:mrow>
                            <mml:mo>|</mml:mo>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mi>x</mml:mi>
                                <mml:mi>i</mml:mi>
                                <mml:mi>t</mml:mi>
                              </mml:msubsup>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mrow>
                                  <mml:mi>l</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>b</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>e</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>s</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>t</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>|</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S2.SS2.p9">where <inline-formula><mml:math alttext="S" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> is a constant value. <inline-formula><mml:math alttext="g" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula> is a random vector subject to normal distribution with the size of <inline-formula><mml:math alttext="1\times D" display="inline"><mml:mrow><mml:mn>1</mml:mn><mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      </sec>
    </sec>
    <sec id="S3">
      <label>3.</label>
      <title>Methodology</title>
      <sec id="S3.SS1">
        <label>3.1</label>
        <title>The framework of the two-layer path planning</title>
        <p id="S3.SS1.p1">Facing the large airspace and complex interaction of environmental factors, planning a path directly from the overall three-dimensional environmental information poses challenges such as low efficiency and poor quality. The flowchart of the proposed two-layer trajectory planning is shown in Figure <xref ref-type="fig" rid="F2">2</xref>. The basic idea is to analyze the influence of multiple environmental factors on the heading within the airspace, and then construct an adaptive two-dimensional selection probability map through information fusion, and then propose an improved ant colony algorithm to carry out the first layer of coarse-grained heading sequence planning. This process aims to identify regions conducive to task execution. Subsequently, the spatial distribution of obstacles in the subregions is considered, and trajectory optimization is performed in the 3D space.</p>
        <p id="S3.SS1.p2">Heading planning and path planning are conducted within distinct layers of a unified framework, each with its specific focus. The heading planning phase prioritizes the assessment of the multi-dimensional environmental factors affecting the global path, thereby facilitating a coarse-grained heading planning approach. Conversely, path optimization aims to enhance the smoothness of the path while minimizing the path length, all while ensuring flight safety in accordance with heading space constraints and the maneuvering conditions applicable to unmanned aerial vehicles (UAVs). Path optimization is to improve path smoothness, flight safety and shorten path length with the maneuvering constraint conditions of UAV. However, they are closely related to each other. Trend planning provides a general framework and macroscopic direction guidance for path planning, while path planning is a fine design based on the existing heading to ensure that the UAV flight not only meets the predetermined macroscopic path, but also meets various constraints and performance requirements in the actual flight.</p>
      </sec>
      <sec id="S3.SS2">
        <label>3.2</label>
        <title>Construction of adaptive 2D probability map</title>
        <sec id="S3.SS2.SSS1">
          <label>3.2.1</label>
          <title>Adaptive spatial decomposition strategy</title>
          <p id="S3.SS2.SSS1.p1">1) The coordinate system is built with the target as the center, and the distance between the initial position of the UAV and the target is the far boundary. Extraction of terrain, wind speed, and visibility within the airspace. Due to the wide range of airspace, an adaptive spatial distribution decomposition of airspace based on obstructive factors is proposed. Among them, the obstacle factor is the environmental factor that causes the UAV's flight direction to be impossible and the heading direction must be changed [<xref rid="ref028" ref-type="bibr">28</xref>]. In this paper, elevation greater than 5200 m, visibility less than 0.8 km, and wind speed greater than 25 m/s, are considered as obstruction factors. As shown in Figure <xref ref-type="fig" rid="F3">3</xref>(a), there are two obstacle factors in the airspace, which is divided into three-ring layers.</p>
          <p id="S3.SS2.SSS1.p2">2) To reduce the evaluation errors among sub-regions, each ring layer is divided into 32, 16, and 8 sub-regions from outer to inner layers. As illustrated in Figure <xref ref-type="fig" rid="F3">3</xref>(b), the first layer (o-R1) of the ring region is divided into eight sub-regions. The second layer of the ring region (R2-R1) is divided into 16 sub-regions. The third layer (R3-R2) is divided into 32 sub-regions.</p>
          <p>
            <fig id="F3">
              <label>Figure 3.</label>
              <caption>
                <p>Spatial decomposition based on obstacle ring.</p>
              </caption>
              <graphic xlink:href="fig3.jpg"/>
            </fig>
          </p>
          <p>
            <fig id="F4">
              <label>Figure 4.</label>
              <caption>
                <p>Connectivity relationship of sub regions.</p>
              </caption>
              <graphic xlink:href="fig4.jpg"/>
            </fig>
          </p>
          <p id="S3.SS2.SSS1.p3">3) Connectivity of subregions. The <inline-formula><mml:math alttext="region(i,j)" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi><mml:mo>⁢</mml:mo><mml:mi>g</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>n</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> represents the relative position between sub-regions, indicating that the current sub-region is located in the j-th discrete region of the i-th ring layer. There are only three choices from the current sub-region to the next sub-region. The connectivity of sub-regions is illustrated in Figure <xref ref-type="fig" rid="F4">4</xref>. If the numbers of sub-regions in two adjacent layers are the same, the next possible sub-regions are shown in Figure <xref ref-type="fig" rid="F4">4</xref>(a). If the numbers of sub-regions in two adjacent layers are different, the next sub-regions are demonstrated in Figure <xref ref-type="fig" rid="F4">4</xref>(b). Therefore, the mathematical description is shown in Eq.(11). There is no connectivity between the innermost sub-regions. The ring layers are unidirectionally connected, which can only be connected from the outer ring to the inner ring.</p>
          <p>
            <disp-formula-group id="S5.EGx9">
              <disp-formula id="S3.E1">
                <mml:math alttext="\displaystyle next=\begin{cases}&amp;[(i+1,j-1),(i+1,j+1),(i,j)],\\&#10;&amp;\text{if }num(i)=num(i+1)\\&#10;&amp;[(i+1,j-1),(i+1,j+1),(i,\left\lceil\frac{j}{2}\right\rceil)],\\&#10;&amp;\text{if }num(i)\neq num(i+1)\end{cases}" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mi>n</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mi>e</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mi>x</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mi>t</mml:mi>
                    </mml:mrow>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mtable columnspacing="5pt" rowspacing="0pt">
                        <mml:mtr>
                          <mml:mtd/>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mo stretchy="false">[</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo>,</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>j</mml:mi>
                                    <mml:mo>−</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mo>,</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo>,</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>j</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mo>,</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>,</mml:mo>
                                  <mml:mi>j</mml:mi>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mo stretchy="false">]</mml:mo>
                              </mml:mrow>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr>
                          <mml:mtd/>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mtext>if </mml:mtext>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>n</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>u</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>m</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                              <mml:mo>=</mml:mo>
                              <mml:mrow>
                                <mml:mi>n</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>u</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>m</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr>
                          <mml:mtd/>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mo stretchy="false">[</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo>,</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>j</mml:mi>
                                    <mml:mo>−</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mo>,</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo>,</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>j</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mo>,</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>,</mml:mo>
                                  <mml:mrow>
                                    <mml:mo>⌈</mml:mo>
                                    <mml:mfrac>
                                      <mml:mi>j</mml:mi>
                                      <mml:mn>2</mml:mn>
                                    </mml:mfrac>
                                    <mml:mo>⌉</mml:mo>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mo stretchy="false">]</mml:mo>
                              </mml:mrow>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr>
                          <mml:mtd/>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mtext>if </mml:mtext>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>n</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>u</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>m</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                              <mml:mo>≠</mml:mo>
                              <mml:mrow>
                                <mml:mi>n</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>u</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>m</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                      </mml:mtable>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS2.SSS1.p4">where <inline-formula><mml:math alttext="num(L_{i+1})" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> are the total number of neutron regions in <inline-formula><mml:math alttext="L_{i}" display="inline"><mml:msub><mml:mi>L</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math alttext="L_{i+1}" display="inline"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> layer respectively, <inline-formula><mml:math alttext="n-1" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="n+1" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula> are <inline-formula><mml:math alttext="num(L_{i})" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>-ary operation, <inline-formula><mml:math alttext="\left\lceil\frac{n}{2}\right\rceil" display="inline"><mml:mrow><mml:mo>⌈</mml:mo><mml:mfrac><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:mfrac><mml:mo>⌉</mml:mo></mml:mrow></mml:math></inline-formula> is a ceiling operation.</p>
        </sec>
        <sec id="S3.SS2.SSS2">
          <label>3.2.2</label>
          <title>Calculation of heading selection probability</title>
          <p id="S3.SS2.SSS2.p1">During UAV flight operations, this study primarily considers the impacts of elevation, visibility, and wind speed on reconnaissance mission performance. Through information fusion, we subsequently evaluate the flight selection probability within each sub-region.</p>
          <p id="S3.SS2.SSS2.p2">(1) Most UAVs adopt low-altitude penetration tactics, so the terrain elevation has a decisive effect on the heading. The lower the ground elevation, the stronger the shielding ability, and the greater the selection possibility <inline-formula><mml:math alttext="P_{e}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula>.</p>
          <p id="S3.SS2.SSS2.p3">(2) When the visibility is below 1.22 km, the clarity of vision is poor, which seriously threatens the flight safety of the UAV, and its flight direction selection is limited. When the visibility is between 1.22 km and 6 km, it significantly affects the clarity of vision and the degree of radar attenuation. When the visibility exceeds 6 km, the possibility <inline-formula><mml:math alttext="P_{v}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mi>v</mml:mi></mml:msub></mml:math></inline-formula> of choosing the direction is higher.</p>
          <p id="S3.SS2.SSS2.p4">(3) With the increase in wind speed, the control performance and maneuvering stability of the UAV deteriorate. Therefore, when selecting the flight direction, it often avoids regions with high wind speeds. When the wind speed is less than 1.5 m/s, it does not affect the UAV's flight, and the selection possibility is high. Wind speed starts to impact operational performance in the range of 1.5 m/s to 20 m/s, and the selection possibility decreases as wind speed increases. When the wind speed exceeds 30 m/s, it becomes unsafe to fly, and the selection possibility <inline-formula><mml:math alttext="P_{w}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula> is low.</p>
          <p id="S3.SS2.SSS2.p5">Combined with the grading standards of terrain and meteorology, this paper makes a fuzzy representation of environmental factors, as shown in Table <xref rid="T1" ref-type="table">1</xref>.</p>
          <p>
            <table-wrap id="T1">
              <label>Table 1</label>
              <caption>
                <p>Classification of heading selection probability.</p>
              </caption>
              <table>
                <thead>
                  <tr>
                    <th style="border-top: 1px solid black;" align="center">
                      <p>
                        <table-wrap>
                          <table>
                            <tr>
                              <td align="center">Environmental</td>
                            </tr>
                            <tr>
                              <td align="center">factor</td>
                            </tr>
                          </table>
                        </table-wrap>
                      </p>
                    </th>
                    <th style="border-top: 1px solid black;" align="left">0.8</th>
                    <th style="border-top: 1px solid black;" align="center">0.6</th>
                    <th style="border-top: 1px solid black;" align="center">0.4</th>
                    <th style="border-top: 1px solid black;" align="center">0.2</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="border-top: 1px solid black;" align="center">Altitude(m)</td>
                    <td style="border-top: 1px solid black;" align="center">600</td>
                    <td style="border-top: 1px solid black;" align="center">600-2700</td>
                    <td style="border-top: 1px solid black;" align="center">2700-4800</td>
                    <td style="border-top: 1px solid black;" align="center">4800</td>
                  </tr>
                  <tr>
                    <td align="center">Visibility(Km)</td>
                    <td align="center">6</td>
                    <td align="center">2.5-6</td>
                    <td align="center">1.5-2.5</td>
                    <td align="center">1.5</td>
                  </tr>
                  <tr>
                    <td style="border-bottom: 1px solid black;" align="center">wind speed(m/s)</td>
                    <td style="border-bottom: 1px solid black;" align="center">1.5</td>
                    <td style="border-bottom: 1px solid black;" align="center">1.5-10</td>
                    <td style="border-bottom: 1px solid black;" align="center">10-20</td>
                    <td style="border-bottom: 1px solid black;" align="center">20</td>
                  </tr>
                </tbody>
              </table>
            </table-wrap>
          </p>
          <p id="S3.SS2.SSS2.p6">Then the calculation formula based on multi-source information fusion of the heading selection probability is shown in Eq.(12), where <inline-formula><mml:math alttext="S^{\prime}_{(i,j)}" display="inline"><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>′</mml:mo></mml:msubsup></mml:math></inline-formula>, <inline-formula><mml:math alttext="S_{(i,j)}" display="inline"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula> represent the barrier area and total area of the subregion <inline-formula><mml:math alttext="(i,j)" display="inline"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> respectively.</p>
          <p>
            <disp-formula-group id="S5.EGx10">
              <disp-formula id="S3.E2">
                <mml:math alttext="\displaystyle P_{cs}^{1}=\frac{S^{\prime}_{(i,j)}}{S_{(i,j)}}\left(0.4\times P%&#10;_{e}+0.3\times P_{v}+0.3\times P_{w}\right)" display="inline">
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>P</mml:mi>
                      <mml:mrow>
                        <mml:mi>c</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>s</mml:mi>
                      </mml:mrow>
                      <mml:mn>1</mml:mn>
                    </mml:msubsup>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mstyle displaystyle="true">
                        <mml:mfrac>
                          <mml:msubsup>
                            <mml:mi>S</mml:mi>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>,</mml:mo>
                              <mml:mi>j</mml:mi>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                            <mml:mo>′</mml:mo>
                          </mml:msubsup>
                          <mml:msub>
                            <mml:mi>S</mml:mi>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>,</mml:mo>
                              <mml:mi>j</mml:mi>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mfrac>
                      </mml:mstyle>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mn>0.4</mml:mn>
                            <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                            <mml:msub>
                              <mml:mi>P</mml:mi>
                              <mml:mi>e</mml:mi>
                            </mml:msub>
                          </mml:mrow>
                          <mml:mo>+</mml:mo>
                          <mml:mrow>
                            <mml:mn>0.3</mml:mn>
                            <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                            <mml:msub>
                              <mml:mi>P</mml:mi>
                              <mml:mi>v</mml:mi>
                            </mml:msub>
                          </mml:mrow>
                          <mml:mo>+</mml:mo>
                          <mml:mrow>
                            <mml:mn>0.3</mml:mn>
                            <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                            <mml:msub>
                              <mml:mi>P</mml:mi>
                              <mml:mi>w</mml:mi>
                            </mml:msub>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
        </sec>
      </sec>
      <sec id="S3.SS3">
        <label>3.3</label>
        <title>Heading sequence planning based on IACO</title>
        <p id="S3.SS3.p1">The specific steps for searching the heading sequences in airspace based on the IACO are as follows:</p>
        <p id="S3.SS3.p2">(1) Initial ant colony parameters: colony number <inline-formula><mml:math alttext="M" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula>, maximum number of iterations <inline-formula><mml:math alttext="T_{max}" display="inline"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>a</mml:mi><mml:mo>⁢</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, pheromone concentration factor <inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>, heuristic function factor <inline-formula><mml:math alttext="\beta" display="inline"><mml:mi>β</mml:mi></mml:math></inline-formula>, pheromone volatilization coefficient <inline-formula><mml:math alttext="\rho" display="inline"><mml:mi>ρ</mml:mi></mml:math></inline-formula>.</p>
        <p id="S3.SS3.p3">(2) Set the initial pheromone concentration <inline-formula><mml:math alttext="\tau" display="inline"><mml:mi>τ</mml:mi></mml:math></inline-formula> to be uniform within each subregion and place all ants at the initial position of the drone as a starting point.</p>
        <p id="S3.SS3.p4">(3) According to the information in the 2D probability map, the transfer probability of ant <inline-formula><mml:math alttext="A" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> from subregion <inline-formula><mml:math alttext="i" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> to subregion <inline-formula><mml:math alttext="j" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> is calculated, as shown in Eq(3).</p>
        <p id="S3.SS3.p5">(4) After all ants complete traversal of all feasible heading sequences, the pheromone on each subregion needs to be updated, as shown by the Eqs.(17-19). If ant <inline-formula><mml:math alttext="A" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> does not pass the subregion sequence <inline-formula><mml:math alttext="I" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula>,<inline-formula><mml:math alttext="j" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>, the value is 0.</p>
        <p id="S3.SS3.p6">(5) If the current number of iterations reaches the upper limit, the search terminates. If it has not reached the limit, it proceeds to step (2) to continue iterating.</p>
        <sec id="S3.SS3.SSS1">
          <label>3.3.1</label>
          <title>Heading planning objective function</title>
          <p id="S3.SS3.SSS1.p1">The course of UAV is described by selecting the sub-region sequence set, <inline-formula><mml:math alttext="course=\{region_{1},\cdots,region_{N}\}" display="inline"><mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">{</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi><mml:mo>⁢</mml:mo><mml:mi>g</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">⋯</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi><mml:mo>⁢</mml:mo><mml:mi>g</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>.</p>
          <p id="S3.SS3.SSS1.p2">The quality of feasible solution is evaluated from sequence length, possibility, and tortuosity. The length of the sequence is not only limited by the flight range of UAV, but also affects the flight time; a shorter sequence length results in a shorter flight time, which is crucial for completing the flight task efficiently. A higher mean probability of the sequence reduces the risk to the UAV. The sequence's tortuosity should be as smooth as possible due to flight maneuverability constraints. We propose that the direction sequence quality be evaluated according to Eq.(13).</p>
          <p>
            <disp-formula-group id="S3.E3">
              <disp-formula id="S3.E3X">
                <mml:math alttext="\displaystyle J_{course}=w_{P_{L}}P_{L}(course)+w_{P_{cs}}P_{cs}(course)" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>J</mml:mi>
                      <mml:mrow>
                        <mml:mi>c</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>o</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>u</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>r</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>s</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>e</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>w</mml:mi>
                          <mml:msub>
                            <mml:mi>P</mml:mi>
                            <mml:mi>L</mml:mi>
                          </mml:msub>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>P</mml:mi>
                          <mml:mi>L</mml:mi>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>c</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>o</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>u</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>r</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>s</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>+</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>w</mml:mi>
                          <mml:msub>
                            <mml:mi>P</mml:mi>
                            <mml:mrow>
                              <mml:mi>c</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>s</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>P</mml:mi>
                          <mml:mrow>
                            <mml:mi>c</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>s</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>c</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>o</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>u</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>r</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>s</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
              <disp-formula id="S3.E3Xa">
                <mml:math alttext="\displaystyle+w_{P_{\theta}}P_{\theta}(course)" display="inline">
                  <mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>w</mml:mi>
                        <mml:msub>
                          <mml:mi>P</mml:mi>
                          <mml:mi>θ</mml:mi>
                        </mml:msub>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:msub>
                        <mml:mi>P</mml:mi>
                        <mml:mi>θ</mml:mi>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:mi>c</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>o</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>u</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>r</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>s</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>e</mml:mi>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS3.SSS1.p3">where <inline-formula><mml:math alttext="P_{L}(course)" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="P_{cs}(course)" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="P_{\theta}(course)\in(0,1)" display="inline"><mml:mrow><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>θ</mml:mi></mml:msub><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>∈</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> represent the length ratio, mean probability, tortuosity of sequence respectively. The calculation formulas are as shown in (14). And <inline-formula><mml:math alttext="w_{P_{L}}" display="inline"><mml:msub><mml:mi>w</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="w_{P_{cs}}" display="inline"><mml:msub><mml:mi>w</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="w_{P_{\theta}}" display="inline"><mml:msub><mml:mi>w</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>θ</mml:mi></mml:msub></mml:msub></mml:math></inline-formula> are the corresponding weights.</p>
          <p>
            <disp-formula-group id="S3.E4">
              <disp-formula id="S3.E4X">
                <mml:math alttext="\displaystyle P_{L}(course)=\frac{L_{max}-L_{course}}{L_{max}-L_{min}}" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>P</mml:mi>
                        <mml:mi>L</mml:mi>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:mi>c</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>o</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>u</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>r</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>s</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>e</mml:mi>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>=</mml:mo>
                    <mml:mstyle displaystyle="true">
                      <mml:mfrac>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>L</mml:mi>
                            <mml:mrow>
                              <mml:mi>m</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>a</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>x</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>L</mml:mi>
                            <mml:mrow>
                              <mml:mi>c</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>o</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>u</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>r</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>s</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>e</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>L</mml:mi>
                            <mml:mrow>
                              <mml:mi>m</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>a</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>x</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>L</mml:mi>
                            <mml:mrow>
                              <mml:mi>m</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>n</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                      </mml:mfrac>
                    </mml:mstyle>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
              <disp-formula id="S3.E4Xa">
                <mml:math alttext="\displaystyle P_{cs}(course)=\frac{CS_{course}}{N}" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>P</mml:mi>
                        <mml:mrow>
                          <mml:mi>c</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>s</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:mi>c</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>o</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>u</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>r</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>s</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>e</mml:mi>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>=</mml:mo>
                    <mml:mstyle displaystyle="true">
                      <mml:mfrac>
                        <mml:mrow>
                          <mml:mi>C</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:msub>
                            <mml:mi>S</mml:mi>
                            <mml:mrow>
                              <mml:mi>c</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>o</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>u</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>r</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>s</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>e</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mi>N</mml:mi>
                      </mml:mfrac>
                    </mml:mstyle>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
              <disp-formula id="S3.E4Xb">
                <mml:math alttext="\displaystyle P_{\theta}(course)=\frac{\theta_{max}-\theta_{course}}{\theta_{%&#10;max}}" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>P</mml:mi>
                        <mml:mi>θ</mml:mi>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:mi>c</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>o</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>u</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>r</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>s</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>e</mml:mi>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>=</mml:mo>
                    <mml:mstyle displaystyle="true">
                      <mml:mfrac>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mrow>
                              <mml:mi>m</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>a</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>x</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mrow>
                              <mml:mi>c</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>o</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>u</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>r</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>s</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>e</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:msub>
                          <mml:mi>θ</mml:mi>
                          <mml:mrow>
                            <mml:mi>m</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>a</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>x</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mfrac>
                    </mml:mstyle>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS3.SSS1.p4">where <inline-formula><mml:math alttext="L_{course}" display="inline"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents total length of sequence sets, <inline-formula><mml:math alttext="L_{min}" display="inline"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the straight-line distance from the flight start point to the end point, <inline-formula><mml:math alttext="L_{max}=L_{min}+2\pi L_{min}" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>a</mml:mi><mml:mo>⁢</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mo>⁢</mml:mo><mml:mi>π</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math alttext="CS_{course}" display="inline"><mml:mrow><mml:mi>C</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:mi>o</mml:mi><mml:mo>⁢</mml:mo><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> represents total probability of sequence sets, <inline-formula><mml:math alttext="N" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> is the number of sub-regions in the course sequence set. <inline-formula><mml:math alttext="\theta_{max}" display="inline"><mml:msub><mml:mi>θ</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>a</mml:mi><mml:mo>⁢</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a constant, representing the maximum allowable direction tortuosity of UAV.</p>
        </sec>
        <sec id="S3.SS3.SSS2">
          <label>3.3.2</label>
          <title>IACO</title>
          <p id="S3.SS3.SSS2.p1">When the flight environment is complex, ACO is challenged due to the large search space when selecting the next region, leading to extended processing time and subpar real-time performance. To address this issue, an improved ant colony algorithm (IACO) is proposed.</p>
          <p>
            <fig id="F5">
              <label>Figure 5.</label>
              <caption>
                <p>Schematic of path safety.</p>
              </caption>
              <graphic xlink:href="fig5.jpg"/>
            </fig>
          </p>
          <p id="S3.SS3.SSS2.p2">(1) The new heuristic function is critical in inspiring ants to select nodes, directly affecting the solution quality. This new heuristic information considers the heading selection possibility of sub-regions and the distance between the sub-region and the flight destination. This allows for selecting sub-regions beneficial to the flight task, layer by layer.</p>
          <p>
            <disp-formula-group id="S5.EGx11">
              <disp-formula id="S3.E5">
                <mml:math alttext="\displaystyle\eta_{ij}=\left(w_{1}P_{cs_{ij}}+w_{2}P_{d_{ij}}\right)" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>η</mml:mi>
                      <mml:mrow>
                        <mml:mi>i</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>j</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>w</mml:mi>
                            <mml:mn>1</mml:mn>
                          </mml:msub>
                          <mml:mo>⁢</mml:mo>
                          <mml:msub>
                            <mml:mi>P</mml:mi>
                            <mml:mrow>
                              <mml:mi>c</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:msub>
                                <mml:mi>s</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>j</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>+</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>w</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msub>
                          <mml:mo>⁢</mml:mo>
                          <mml:msub>
                            <mml:mi>P</mml:mi>
                            <mml:msub>
                              <mml:mi>d</mml:mi>
                              <mml:mrow>
                                <mml:mi>i</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mi>j</mml:mi>
                              </mml:mrow>
                            </mml:msub>
                          </mml:msub>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>where <inline-formula><mml:math alttext="P_{cs_{ij}}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> is the selection possibility of sub-region <inline-formula><mml:math alttext="(i,j)" display="inline"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math alttext="P_{d_{ij}}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:msub></mml:math></inline-formula> is the distance between the center of the sub-region <inline-formula><mml:math alttext="(i,j)" display="inline"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> and the flight end point, <inline-formula><mml:math alttext="P_{cs_{ij}}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="P_{d_{ij}}\in(0,1)" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:msub><mml:mo>∈</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="w_{1}" display="inline"><mml:msub><mml:mi>w</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math alttext="w_{2}" display="inline"><mml:msub><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> are weights of two heuristic factors, and <inline-formula><mml:math alttext="w_{1}+w_{2}=1" display="inline"><mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula>. The calculation of <inline-formula><mml:math alttext="P_{d_{ij}}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:msub></mml:math></inline-formula> is shown in (16).</p>
          <p>
            <disp-formula-group id="S5.EGx12">
              <disp-formula id="S3.E6">
                <mml:math alttext="\displaystyle P_{d_{ij}}=\frac{L_{min}-d_{ij}}{L_{min}+\delta}" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>P</mml:mi>
                      <mml:msub>
                        <mml:mi>d</mml:mi>
                        <mml:mrow>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>j</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mstyle displaystyle="true">
                      <mml:mfrac>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>L</mml:mi>
                            <mml:mrow>
                              <mml:mi>m</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>n</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>d</mml:mi>
                            <mml:mrow>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>j</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>L</mml:mi>
                            <mml:mrow>
                              <mml:mi>m</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>n</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                          <mml:mo>+</mml:mo>
                          <mml:mi>δ</mml:mi>
                        </mml:mrow>
                      </mml:mfrac>
                    </mml:mstyle>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS3.SSS2.p3">When the flight start point and end point are known, <inline-formula><mml:math alttext="L_{min}" display="inline"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a constant, and <inline-formula><mml:math alttext="d_{ij}" display="inline"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the distance between selected sub-region and flight end point. According to Eq.(16), the closer the last selected sub-region is to the flight endpoint, the greater the probability of selecting the sub-region, which reduces the search range and improves convergence speed.</p>
          <p id="S3.SS3.SSS2.p4">(2) To solve the problem that the global pheromone update rule based on positive feedback cannot guide ants to search for the optimal solution in time, a new pheromone update strategy based on positive and negative feedback is constructed.</p>
          <p id="S3.SS3.SSS2.p5">1) For ants searching for feasible solutions from the start to the end, the pheromones are updated based on positive feedback, as shown in Eqs. (17) and (18).</p>
          <p>
            <disp-formula-group id="S5.EGx13">
              <disp-formula id="S3.E7">
                <mml:math alttext="\displaystyle\tau_{ij}(t+1)=(1-\rho)\tau_{ij}(t)+\rho\Delta\tau_{ij}(t)" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>τ</mml:mi>
                        <mml:mrow>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>j</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>+</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo>−</mml:mo>
                            <mml:mi>ρ</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>τ</mml:mi>
                          <mml:mrow>
                            <mml:mi>i</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>j</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mi>t</mml:mi>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>+</mml:mo>
                      <mml:mrow>
                        <mml:mi>ρ</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi mathvariant="normal">Δ</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>τ</mml:mi>
                          <mml:mrow>
                            <mml:mi>i</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>j</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mi>t</mml:mi>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>
            <disp-formula-group id="S5.EGx14">
              <disp-formula id="S3.E8">
                <mml:math alttext="\displaystyle\Delta\tau_{ij}(t)=Q\left(J_{ij}\right)^{\frac{J_{ij}}{J_{best}}}" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mi mathvariant="normal">Δ</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:msub>
                        <mml:mi>τ</mml:mi>
                        <mml:mrow>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>j</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mi>Q</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:msup>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:msub>
                            <mml:mi>J</mml:mi>
                            <mml:mrow>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>j</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                        <mml:mfrac>
                          <mml:msub>
                            <mml:mi>J</mml:mi>
                            <mml:mrow>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>j</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                          <mml:msub>
                            <mml:mi>J</mml:mi>
                            <mml:mrow>
                              <mml:mi>b</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>e</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>s</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>t</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mfrac>
                      </mml:msup>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS3.SSS2.p6">where <inline-formula><mml:math alttext="J_{best}" display="inline"><mml:msub><mml:mi>J</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi><mml:mo>⁢</mml:mo><mml:mi>s</mml:mi><mml:mo>⁢</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the quality evaluation value of the optimal sequence of current iteration. Compared with the traditional ACO, the search scope of ants in IACO is more concentrated in the neighborhood of the optimal heading sequence to achieve global optimization.</p>
          <p id="S3.SS3.SSS2.p7">2) For ants that do not find a feasible solution, pheromone concentrations in corresponding subregions are updated based on negative feedback, as shown in Eq (19) .</p>
          <p>
            <disp-formula-group id="S5.EGx15">
              <disp-formula id="S3.E9">
                <mml:math alttext="\displaystyle\tau_{ij}(t+1)=(1-\rho)\tau_{ij}(t)-\rho\cdot P_{d_{ij}}" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>τ</mml:mi>
                        <mml:mrow>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>j</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>+</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo>−</mml:mo>
                            <mml:mi>ρ</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>τ</mml:mi>
                          <mml:mrow>
                            <mml:mi>i</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>j</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mi>t</mml:mi>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>−</mml:mo>
                      <mml:mrow>
                        <mml:mi>ρ</mml:mi>
                        <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                        <mml:msub>
                          <mml:mi>P</mml:mi>
                          <mml:msub>
                            <mml:mi>d</mml:mi>
                            <mml:mrow>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>j</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:msub>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>where <inline-formula><mml:math alttext="P_{d_{ij}}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:msub></mml:math></inline-formula> represents the distance between the last selected sub-region traversed by the deadlock ant and the flight end point. The attenuation of pheromone concentration is related to <inline-formula><mml:math alttext="P_{d_{ij}}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:msub></mml:math></inline-formula>, which can not only avoid local optimization, but also avoid blind updating of global pheromone.</p>
        </sec>
      </sec>
      <sec id="S3.SS4">
        <label>3.4</label>
        <title>Path planning of 3D based on AMDBO</title>
        <sec id="S3.SS4.SSS1">
          <label>3.4.1</label>
          <title>Objective function of 3D path planning</title>
          <p id="S3.SS4.SSS1.p1">(1) The objective function of 3D path planning is similar to that of heading planning, as both have specific requirements for path length and smoothness. The difference lies in the calculation method. Moreover, flight path planning also takes into account the safety of UAVs.</p>
          <p>
            <disp-formula-group id="S5.EGx16">
              <disp-formula id="S3.E10">
                <mml:math alttext="\displaystyle F=\omega_{1}F_{l}+\lambda_{1}\omega_{2}F_{e}+\lambda_{2}\omega_{%&#10;3}F_{s}" display="inline">
                  <mml:mrow>
                    <mml:mi>F</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>ω</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>F</mml:mi>
                          <mml:mi>l</mml:mi>
                        </mml:msub>
                      </mml:mrow>
                      <mml:mo>+</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>λ</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>ω</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>F</mml:mi>
                          <mml:mi>e</mml:mi>
                        </mml:msub>
                      </mml:mrow>
                      <mml:mo>+</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>λ</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>ω</mml:mi>
                          <mml:mn>3</mml:mn>
                        </mml:msub>
                        <mml:mo>⁢</mml:mo>
                        <mml:msub>
                          <mml:mi>F</mml:mi>
                          <mml:mi>s</mml:mi>
                        </mml:msub>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>where, <inline-formula><mml:math alttext="F_{l}" display="inline"><mml:msub><mml:mi>F</mml:mi><mml:mi>l</mml:mi></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="F_{e}" display="inline"><mml:msub><mml:mi>F</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="F_{s}" display="inline"><mml:msub><mml:mi>F</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:math></inline-formula> are the three cost functions, <inline-formula><mml:math alttext="\omega_{1}" display="inline"><mml:msub><mml:mi>ω</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="\omega_{2}" display="inline"><mml:msub><mml:mi>ω</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="\omega_{3}" display="inline"><mml:msub><mml:mi>ω</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula> are the corresponding weight coefficients, <inline-formula><mml:math alttext="\lambda_{1}" display="inline"><mml:msub><mml:mi>λ</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="\lambda_{2}" display="inline"><mml:msub><mml:mi>λ</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> are the scaling factors. The smaller the value of the objective function, the better the quality of the path.</p>
          <p id="S3.SS4.SSS1.p2">1) Path length</p>
          <p>
            <disp-formula-group id="S5.EGx17">
              <disp-formula id="S3.E11">
                <mml:math alttext="\displaystyle F_{l}=\sum_{i=1}^{n}\sqrt{(x_{i+1}-x_{i})^{2}+(y_{i+1}-y_{i})^{2%&#10;}+(z_{i+1}-z_{i})^{2}}" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>F</mml:mi>
                      <mml:mi>l</mml:mi>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mstyle displaystyle="true">
                        <mml:munderover>
                          <mml:mo movablelimits="false">∑</mml:mo>
                          <mml:mrow>
                            <mml:mi>i</mml:mi>
                            <mml:mo>=</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                          <mml:mi>n</mml:mi>
                        </mml:munderover>
                      </mml:mstyle>
                      <mml:msqrt>
                        <mml:mrow>
                          <mml:msup>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mrow>
                                <mml:msub>
                                  <mml:mi>x</mml:mi>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                </mml:msub>
                                <mml:mo>−</mml:mo>
                                <mml:msub>
                                  <mml:mi>x</mml:mi>
                                  <mml:mi>i</mml:mi>
                                </mml:msub>
                              </mml:mrow>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                            <mml:mn>2</mml:mn>
                          </mml:msup>
                          <mml:mo>+</mml:mo>
                          <mml:msup>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mrow>
                                <mml:msub>
                                  <mml:mi>y</mml:mi>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                </mml:msub>
                                <mml:mo>−</mml:mo>
                                <mml:msub>
                                  <mml:mi>y</mml:mi>
                                  <mml:mi>i</mml:mi>
                                </mml:msub>
                              </mml:mrow>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                            <mml:mn>2</mml:mn>
                          </mml:msup>
                          <mml:mo>+</mml:mo>
                          <mml:msup>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mrow>
                                <mml:msub>
                                  <mml:mi>z</mml:mi>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                </mml:msub>
                                <mml:mo>−</mml:mo>
                                <mml:msub>
                                  <mml:mi>z</mml:mi>
                                  <mml:mi>i</mml:mi>
                                </mml:msub>
                              </mml:mrow>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                            <mml:mn>2</mml:mn>
                          </mml:msup>
                        </mml:mrow>
                      </mml:msqrt>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>where <inline-formula><mml:math alttext="n" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> represents the number of track points, and <inline-formula><mml:math alttext="(x_{i},y_{i},z_{i})" display="inline"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> represents the position of track point <inline-formula><mml:math alttext="P_{i}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>.</p>
          <p id="S3.SS4.SSS1.p3">2) Path smoothness The 3D path design must meet its maximum climb angle and climb rate limits to ensure the curvature of the path and avoid sharp changes in direction and height fluctuations. <inline-formula><mml:math alttext="l_{i}" display="inline"><mml:msub><mml:mi>l</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> represents the vector between two track points. Eqs.(22) and (23) respectively represent the yaw angle <inline-formula><mml:math alttext="\varphi_{i}" display="inline"><mml:msub><mml:mi>φ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> and the pitch angle <inline-formula><mml:math alttext="\phi_{i}" display="inline"><mml:msub><mml:mi>ϕ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>. The cost function of path smoothness can be defined as Eq.(24).</p>
          <p>
            <disp-formula-group id="S5.EGx18">
              <disp-formula id="S3.E12">
                <mml:math alttext="\displaystyle\varphi_{i}=\arccos\left(\frac{l_{i}\cdot l_{i+1}}{\|l_{i}\|%&#10;\times\|l_{i+1}\|}\right)" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>φ</mml:mi>
                      <mml:mi>i</mml:mi>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mi>arccos</mml:mi>
                      <mml:mo>⁡</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mstyle displaystyle="true">
                          <mml:mfrac>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>l</mml:mi>
                                <mml:mi>i</mml:mi>
                              </mml:msub>
                              <mml:mo lspace="0.222em" rspace="0.222em">⋅</mml:mo>
                              <mml:msub>
                                <mml:mi>l</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>+</mml:mo>
                                  <mml:mn>1</mml:mn>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mo stretchy="false">‖</mml:mo>
                                <mml:msub>
                                  <mml:mi>l</mml:mi>
                                  <mml:mi>i</mml:mi>
                                </mml:msub>
                                <mml:mo rspace="0.055em" stretchy="false">‖</mml:mo>
                              </mml:mrow>
                              <mml:mo rspace="0.222em">×</mml:mo>
                              <mml:mrow>
                                <mml:mo stretchy="false">‖</mml:mo>
                                <mml:msub>
                                  <mml:mi>l</mml:mi>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mn>1</mml:mn>
                                  </mml:mrow>
                                </mml:msub>
                                <mml:mo stretchy="false">‖</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mfrac>
                        </mml:mstyle>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>
            <disp-formula-group id="S5.EGx19">
              <disp-formula id="S3.E13">
                <mml:math alttext="\displaystyle\phi_{i}=\arctan\left(\frac{z_{i+1}-z_{i}}{\sqrt{(x_{i+1}-x_{i})^%&#10;{2}+(y_{i+1}-y_{i})^{2}}}\right)" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>ϕ</mml:mi>
                      <mml:mi>i</mml:mi>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mi>arctan</mml:mi>
                      <mml:mo>⁡</mml:mo>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mstyle displaystyle="true">
                          <mml:mfrac>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>z</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>+</mml:mo>
                                  <mml:mn>1</mml:mn>
                                </mml:mrow>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>z</mml:mi>
                                <mml:mi>i</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:msqrt>
                              <mml:mrow>
                                <mml:msup>
                                  <mml:mrow>
                                    <mml:mo stretchy="false">(</mml:mo>
                                    <mml:mrow>
                                      <mml:msub>
                                        <mml:mi>x</mml:mi>
                                        <mml:mrow>
                                          <mml:mi>i</mml:mi>
                                          <mml:mo>+</mml:mo>
                                          <mml:mn>1</mml:mn>
                                        </mml:mrow>
                                      </mml:msub>
                                      <mml:mo>−</mml:mo>
                                      <mml:msub>
                                        <mml:mi>x</mml:mi>
                                        <mml:mi>i</mml:mi>
                                      </mml:msub>
                                    </mml:mrow>
                                    <mml:mo stretchy="false">)</mml:mo>
                                  </mml:mrow>
                                  <mml:mn>2</mml:mn>
                                </mml:msup>
                                <mml:mo>+</mml:mo>
                                <mml:msup>
                                  <mml:mrow>
                                    <mml:mo stretchy="false">(</mml:mo>
                                    <mml:mrow>
                                      <mml:msub>
                                        <mml:mi>y</mml:mi>
                                        <mml:mrow>
                                          <mml:mi>i</mml:mi>
                                          <mml:mo>+</mml:mo>
                                          <mml:mn>1</mml:mn>
                                        </mml:mrow>
                                      </mml:msub>
                                      <mml:mo>−</mml:mo>
                                      <mml:msub>
                                        <mml:mi>y</mml:mi>
                                        <mml:mi>i</mml:mi>
                                      </mml:msub>
                                    </mml:mrow>
                                    <mml:mo stretchy="false">)</mml:mo>
                                  </mml:mrow>
                                  <mml:mn>2</mml:mn>
                                </mml:msup>
                              </mml:mrow>
                            </mml:msqrt>
                          </mml:mfrac>
                        </mml:mstyle>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>
            <disp-formula-group id="S5.EGx20">
              <disp-formula id="S3.E14">
                <mml:math alttext="\displaystyle F_{e}=\sum_{i=1}^{n-2}\varphi_{i}+\sum_{i=1}^{n-1}\left(\phi_{i}%&#10;-\phi_{i-1}\right)" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>F</mml:mi>
                      <mml:mi>e</mml:mi>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mstyle displaystyle="true">
                          <mml:munderover>
                            <mml:mo movablelimits="false">∑</mml:mo>
                            <mml:mrow>
                              <mml:mi>i</mml:mi>
                              <mml:mo>=</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:mi>n</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>2</mml:mn>
                            </mml:mrow>
                          </mml:munderover>
                        </mml:mstyle>
                        <mml:msub>
                          <mml:mi>φ</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                      </mml:mrow>
                      <mml:mo>+</mml:mo>
                      <mml:mrow>
                        <mml:mstyle displaystyle="true">
                          <mml:munderover>
                            <mml:mo movablelimits="false">∑</mml:mo>
                            <mml:mrow>
                              <mml:mi>i</mml:mi>
                              <mml:mo>=</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:mi>n</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                          </mml:munderover>
                        </mml:mstyle>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mrow>
                            <mml:msub>
                              <mml:mi>ϕ</mml:mi>
                              <mml:mi>i</mml:mi>
                            </mml:msub>
                            <mml:mo>−</mml:mo>
                            <mml:msub>
                              <mml:mi>ϕ</mml:mi>
                              <mml:mrow>
                                <mml:mi>i</mml:mi>
                                <mml:mo>−</mml:mo>
                                <mml:mn>1</mml:mn>
                              </mml:mrow>
                            </mml:msub>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS4.SSS1.p4">3) Path safety In order to ensure the safe flight of UAVs, a safety-oriented mechanism must be incorporated into the path planning process. As shown in Figure <xref ref-type="fig" rid="F5">5</xref>, there is an obstacle K in the airspace, whose central coordinate is <inline-formula><mml:math alttext="O_{k}" display="inline"><mml:msub><mml:mi>O</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> and radius is <inline-formula><mml:math alttext="R_{k}" display="inline"><mml:msub><mml:mi>R</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula>. The vertical distance <inline-formula><mml:math alttext="d_{k}" display="inline"><mml:msub><mml:mi>d</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> between the flight node of the UAV and the obstacle should be greater than the safety distance threshold <inline-formula><mml:math alttext="S=800" display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mn>800</mml:mn></mml:mrow></mml:math></inline-formula> m.</p>
          <p>
            <disp-formula-group id="S5.EGx21">
              <disp-formula id="S3.E15">
                <mml:math alttext="\displaystyle F_{s}=\begin{cases}0,&amp;d_{k}\geq S\\&#10;\frac{S-d_{k}}{S},&amp;R_{k}&lt;d_{k}&lt;S\\&#10;\infty,&amp;d_{k}&lt;R_{k}\end{cases}" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>F</mml:mi>
                      <mml:mi>s</mml:mi>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mtable columnspacing="5pt" rowspacing="0pt">
                        <mml:mtr>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mn>0</mml:mn>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>d</mml:mi>
                                <mml:mi>k</mml:mi>
                              </mml:msub>
                              <mml:mo>≥</mml:mo>
                              <mml:mi>S</mml:mi>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mfrac>
                                <mml:mrow>
                                  <mml:mi>S</mml:mi>
                                  <mml:mo>−</mml:mo>
                                  <mml:msub>
                                    <mml:mi>d</mml:mi>
                                    <mml:mi>k</mml:mi>
                                  </mml:msub>
                                </mml:mrow>
                                <mml:mi>S</mml:mi>
                              </mml:mfrac>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>R</mml:mi>
                                <mml:mi>k</mml:mi>
                              </mml:msub>
                              <mml:mo>&lt;</mml:mo>
                              <mml:msub>
                                <mml:mi>d</mml:mi>
                                <mml:mi>k</mml:mi>
                              </mml:msub>
                              <mml:mo>&lt;</mml:mo>
                              <mml:mi>S</mml:mi>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mi mathvariant="normal">∞</mml:mi>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>d</mml:mi>
                                <mml:mi>k</mml:mi>
                              </mml:msub>
                              <mml:mo>&lt;</mml:mo>
                              <mml:msub>
                                <mml:mi>R</mml:mi>
                                <mml:mi>k</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                      </mml:mtable>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>
            <fig id="F6">
              <label>Figure 6.</label>
              <caption>
                <p>The influence of three main parameters.</p>
              </caption>
              <graphic xlink:href="fig6.jpg"/>
            </fig>
          </p>
          <p id="S3.SS4.SSS1.p5">(2) constraint condition In order to achieve the feasibility of 3D path planning, constraints such as the flight performance of UAV must be considered, and the objective function exceeding the constraints should be punished with a penalty coefficient <inline-formula><mml:math alttext="P_{f}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math></inline-formula>.</p>
          <p id="S3.SS4.SSS1.p6">1) Maximum pitch angle. The pitch angle represents the angle of rotation around the X-axis. Constraining the angle change in the vertical direction when the UAV moves between adjacent nodes is crucial to prevent potential damage or crashes.</p>
          <p>
            <disp-formula-group id="S5.EGx22">
              <disp-formula id="S3.E16">
                <mml:math alttext="\displaystyle 0\leq\phi_{i}\leq\phi_{max}" display="inline">
                  <mml:mrow>
                    <mml:mn>0</mml:mn>
                    <mml:mo>≤</mml:mo>
                    <mml:msub>
                      <mml:mi>ϕ</mml:mi>
                      <mml:mi>i</mml:mi>
                    </mml:msub>
                    <mml:mo>≤</mml:mo>
                    <mml:msub>
                      <mml:mi>ϕ</mml:mi>
                      <mml:mrow>
                        <mml:mi>m</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>a</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>x</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS4.SSS1.p7">2) Maximum yaw angle. The yaw angle of the UAV involves its lateral rotation around the vertical axis (y-axis). The change in yaw angle must be strictly controlled to ensure that it stays within a safe range and prevents flight instability.</p>
          <p>
            <disp-formula-group id="S5.EGx23">
              <disp-formula id="S3.E17">
                <mml:math alttext="\displaystyle 0\leq\varphi_{i}\leq\varphi_{max}" display="inline">
                  <mml:mrow>
                    <mml:mn>0</mml:mn>
                    <mml:mo>≤</mml:mo>
                    <mml:msub>
                      <mml:mi>φ</mml:mi>
                      <mml:mi>i</mml:mi>
                    </mml:msub>
                    <mml:mo>≤</mml:mo>
                    <mml:msub>
                      <mml:mi>φ</mml:mi>
                      <mml:mrow>
                        <mml:mi>m</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>a</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>x</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS4.SSS1.p8">3) Flight altitude constraints. In order to ensure safe flight, the UAV should have a certain safe distance from the ground.</p>
          <p>
            <disp-formula-group id="S5.EGx24">
              <disp-formula id="S3.E18">
                <mml:math alttext="\displaystyle h_{min}+h_{f}\leq h_{i}\leq h_{max}+h_{f}" display="inline">
                  <mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>h</mml:mi>
                        <mml:mrow>
                          <mml:mi>m</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>n</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mi>h</mml:mi>
                        <mml:mi>f</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>≤</mml:mo>
                    <mml:msub>
                      <mml:mi>h</mml:mi>
                      <mml:mi>i</mml:mi>
                    </mml:msub>
                    <mml:mo>≤</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>h</mml:mi>
                        <mml:mrow>
                          <mml:mi>m</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>a</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>x</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mi>h</mml:mi>
                        <mml:mi>f</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
        </sec>
        <sec id="S3.SS4.SSS2">
          <label>3.4.2</label>
          <title>AMDBO</title>
          <p id="S3.SS4.SSS2.p1">(1)Initialization strategy based on Tent Chaos When dealing with complex optimization problems, the original DBO randomly generates a population for initialization. However, this approach may lead to low population diversity, uneven population distribution, and rapid convergence to local optimal solutions. Tent Chaotic mapping offers better uniformity and correlation. Therefore, we utilize it as a new initialization method to enhance the population diversity of DBO. The formula is presented in Eq.(29).</p>
          <p>
            <disp-formula-group id="S5.EGx25">
              <disp-formula id="S3.E19">
                <mml:math alttext="\displaystyle x_{i+1}=\begin{cases}\frac{x_{k}}{\alpha},&amp;0&lt;x_{k}\leq\alpha\\&#10;\frac{(1-x_{k})}{(1-\alpha)},&amp;\alpha&lt;x_{k}\leq 1\end{cases}" display="inline">
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>x</mml:mi>
                      <mml:mrow>
                        <mml:mi>i</mml:mi>
                        <mml:mo>+</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mtable columnspacing="5pt" rowspacing="0pt">
                        <mml:mtr>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mfrac>
                                <mml:msub>
                                  <mml:mi>x</mml:mi>
                                  <mml:mi>k</mml:mi>
                                </mml:msub>
                                <mml:mi>α</mml:mi>
                              </mml:mfrac>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mn>0</mml:mn>
                              <mml:mo>&lt;</mml:mo>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mi>k</mml:mi>
                              </mml:msub>
                              <mml:mo>≤</mml:mo>
                              <mml:mi>α</mml:mi>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mfrac>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mn>1</mml:mn>
                                    <mml:mo>−</mml:mo>
                                    <mml:msub>
                                      <mml:mi>x</mml:mi>
                                      <mml:mi>k</mml:mi>
                                    </mml:msub>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mn>1</mml:mn>
                                    <mml:mo>−</mml:mo>
                                    <mml:mi>α</mml:mi>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mfrac>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mi>α</mml:mi>
                              <mml:mo>&lt;</mml:mo>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mi>k</mml:mi>
                              </mml:msub>
                              <mml:mo>≤</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                      </mml:mtable>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p id="S3.SS4.SSS2.p2">(2)Reverse learning strategy</p>
          <p id="S3.SS4.SSS2.p3">Since the global search ability of reproduction and stealing behavior decreases with the increase of iterations, a random reverse learning strategy is introduced to enhance the global search ability of these two behaviors.</p>
          <p>
            <disp-formula-group id="S3.E20">
              <disp-formula id="S3.E20X">
                <mml:math alttext="\displaystyle x_{r}^{t}=lb+ub-rd\times x_{i}^{t}" display="inline">
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>x</mml:mi>
                      <mml:mi>r</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msubsup>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mi>l</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>b</mml:mi>
                        </mml:mrow>
                        <mml:mo>+</mml:mo>
                        <mml:mrow>
                          <mml:mi>u</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>b</mml:mi>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>−</mml:mo>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mi>r</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>d</mml:mi>
                        </mml:mrow>
                        <mml:mo lspace="0.222em" rspace="0.222em">×</mml:mo>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mi>i</mml:mi>
                          <mml:mi>t</mml:mi>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
              <disp-formula id="S3.E20Xa">
                <mml:math alttext="\displaystyle x_{i}^{t}=\begin{cases}x_{i}^{t},&amp;f(x_{i}^{t})&lt;f(x_{r}^{t})\\&#10;x_{r}^{t},&amp;f(x_{r}^{t})&lt;f(x_{i}^{t})\end{cases}" display="inline">
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>x</mml:mi>
                      <mml:mi>i</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msubsup>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mo>{</mml:mo>
                      <mml:mtable columnspacing="5pt" rowspacing="0pt">
                        <mml:mtr>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mi>x</mml:mi>
                                <mml:mi>i</mml:mi>
                                <mml:mi>t</mml:mi>
                              </mml:msubsup>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mi>f</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:msubsup>
                                    <mml:mi>x</mml:mi>
                                    <mml:mi>i</mml:mi>
                                    <mml:mi>t</mml:mi>
                                  </mml:msubsup>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                              <mml:mo>&lt;</mml:mo>
                              <mml:mrow>
                                <mml:mi>f</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:msubsup>
                                    <mml:mi>x</mml:mi>
                                    <mml:mi>r</mml:mi>
                                    <mml:mi>t</mml:mi>
                                  </mml:msubsup>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                        <mml:mtr>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mi>x</mml:mi>
                                <mml:mi>r</mml:mi>
                                <mml:mi>t</mml:mi>
                              </mml:msubsup>
                              <mml:mo>,</mml:mo>
                            </mml:mrow>
                          </mml:mtd>
                          <mml:mtd class="ltx_align_left" columnalign="left">
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mi>f</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:msubsup>
                                    <mml:mi>x</mml:mi>
                                    <mml:mi>r</mml:mi>
                                    <mml:mi>t</mml:mi>
                                  </mml:msubsup>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                              <mml:mo>&lt;</mml:mo>
                              <mml:mrow>
                                <mml:mi>f</mml:mi>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:msubsup>
                                    <mml:mi>x</mml:mi>
                                    <mml:mi>i</mml:mi>
                                    <mml:mi>t</mml:mi>
                                  </mml:msubsup>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mtd>
                        </mml:mtr>
                      </mml:mtable>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>where, <inline-formula><mml:math alttext="x_{r}^{t}" display="inline"><mml:msubsup><mml:mi>x</mml:mi><mml:mi>r</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> is the reverse solution, <inline-formula><mml:math alttext="lb" display="inline"><mml:mrow><mml:mi>l</mml:mi><mml:mo>⁢</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math alttext="ub" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>⁢</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula> are D-dimensional vectors representing the lower and upper bounds of each dimension, and <inline-formula><mml:math alttext="rd" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:math></inline-formula> is the D-dimensional random vector of <inline-formula><mml:math alttext="(0,1)" display="inline"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="x_{i}^{t}" display="inline"><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:msubsup></mml:math></inline-formula> is the current feasible solution.</p>
          <p>
            <fig id="F7">
              <label>Figure 7.</label>
              <caption>
                <p>Heading planning results in M1.</p>
              </caption>
              <graphic xlink:href="fig7.jpg"/>
            </fig>
          </p>
          <p>
            <fig id="F8">
              <label>Figure 8.</label>
              <caption>
                <p>Heading planning results in M2.</p>
              </caption>
              <graphic xlink:href="fig8.jpg"/>
            </fig>
          </p>
          <p id="S3.SS4.SSS2.p4">(3) Adaptive population variation strategies In the original DBO, the ratio of the four behaviors in the population is not specified, and each individual can only perform one behavior. This limitation may lead to an inadequate search in the solution space or slow convergence. To address this issue, this paper proposes an adaptive behavior variation strategy.</p>
          <p id="S3.SS4.SSS2.p5">1) Behavior variation strategy is based on the number of iterations. In this paper, the iteration number is used to simulate time, and the behavior variation of dung beetles is carried out every M iterations. This process changes the current behavior into the following behavior, allowing each dung beetle to perform four action behaviors. This approach maximizes the advantages of different behaviors and enhances the optimization ability.</p>
          <p id="S3.SS4.SSS2.p6">2) Behavior variation strategy based on population similarity. Cosine similarity is introduced to measure population similarity, as shown in Eq.(31).</p>
          <p>
            <disp-formula-group id="S5.EGx26">
              <disp-formula id="S3.E21">
                <mml:math alttext="\displaystyle\text{Diver}=\frac{1}{N}\sum_{i=1}^{N}\frac{\sum_{j=1}^{d}x_{i,j}%&#10;(t)x_{glbest,j}(t)}{\sqrt{\sum_{j=1}^{d}x_{i,j}^{2}(t)}\sqrt{\sum_{j=1}^{d}x_{%&#10;glbest,j}^{2}(t)}}" display="inline">
                  <mml:mrow>
                    <mml:mtext>Diver</mml:mtext>
                    <mml:mo>=</mml:mo>
                    <mml:mrow>
                      <mml:mstyle displaystyle="true">
                        <mml:mfrac>
                          <mml:mn>1</mml:mn>
                          <mml:mi>N</mml:mi>
                        </mml:mfrac>
                      </mml:mstyle>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mstyle displaystyle="true">
                          <mml:munderover>
                            <mml:mo movablelimits="false">∑</mml:mo>
                            <mml:mrow>
                              <mml:mi>i</mml:mi>
                              <mml:mo>=</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                            <mml:mi>N</mml:mi>
                          </mml:munderover>
                        </mml:mstyle>
                        <mml:mstyle displaystyle="true">
                          <mml:mfrac>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mo>∑</mml:mo>
                                <mml:mrow>
                                  <mml:mi>j</mml:mi>
                                  <mml:mo>=</mml:mo>
                                  <mml:mn>1</mml:mn>
                                </mml:mrow>
                                <mml:mi>d</mml:mi>
                              </mml:msubsup>
                              <mml:mrow>
                                <mml:msub>
                                  <mml:mi>x</mml:mi>
                                  <mml:mrow>
                                    <mml:mi>i</mml:mi>
                                    <mml:mo>,</mml:mo>
                                    <mml:mi>j</mml:mi>
                                  </mml:mrow>
                                </mml:msub>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mi>t</mml:mi>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                                <mml:mo>⁢</mml:mo>
                                <mml:msub>
                                  <mml:mi>x</mml:mi>
                                  <mml:mrow>
                                    <mml:mrow>
                                      <mml:mi>g</mml:mi>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:mi>l</mml:mi>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:mi>b</mml:mi>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:mi>e</mml:mi>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:mi>s</mml:mi>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:mi>t</mml:mi>
                                    </mml:mrow>
                                    <mml:mo>,</mml:mo>
                                    <mml:mi>j</mml:mi>
                                  </mml:mrow>
                                </mml:msub>
                                <mml:mo>⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mi>t</mml:mi>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:msqrt>
                                <mml:mrow>
                                  <mml:msubsup>
                                    <mml:mo>∑</mml:mo>
                                    <mml:mrow>
                                      <mml:mi>j</mml:mi>
                                      <mml:mo>=</mml:mo>
                                      <mml:mn>1</mml:mn>
                                    </mml:mrow>
                                    <mml:mi>d</mml:mi>
                                  </mml:msubsup>
                                  <mml:mrow>
                                    <mml:msubsup>
                                      <mml:mi>x</mml:mi>
                                      <mml:mrow>
                                        <mml:mi>i</mml:mi>
                                        <mml:mo>,</mml:mo>
                                        <mml:mi>j</mml:mi>
                                      </mml:mrow>
                                      <mml:mn>2</mml:mn>
                                    </mml:msubsup>
                                    <mml:mo>⁢</mml:mo>
                                    <mml:mrow>
                                      <mml:mo stretchy="false">(</mml:mo>
                                      <mml:mi>t</mml:mi>
                                      <mml:mo stretchy="false">)</mml:mo>
                                    </mml:mrow>
                                  </mml:mrow>
                                </mml:mrow>
                              </mml:msqrt>
                              <mml:mo>⁢</mml:mo>
                              <mml:msqrt>
                                <mml:mrow>
                                  <mml:msubsup>
                                    <mml:mo>∑</mml:mo>
                                    <mml:mrow>
                                      <mml:mi>j</mml:mi>
                                      <mml:mo>=</mml:mo>
                                      <mml:mn>1</mml:mn>
                                    </mml:mrow>
                                    <mml:mi>d</mml:mi>
                                  </mml:msubsup>
                                  <mml:mrow>
                                    <mml:msubsup>
                                      <mml:mi>x</mml:mi>
                                      <mml:mrow>
                                        <mml:mrow>
                                          <mml:mi>g</mml:mi>
                                          <mml:mo>⁢</mml:mo>
                                          <mml:mi>l</mml:mi>
                                          <mml:mo>⁢</mml:mo>
                                          <mml:mi>b</mml:mi>
                                          <mml:mo>⁢</mml:mo>
                                          <mml:mi>e</mml:mi>
                                          <mml:mo>⁢</mml:mo>
                                          <mml:mi>s</mml:mi>
                                          <mml:mo>⁢</mml:mo>
                                          <mml:mi>t</mml:mi>
                                        </mml:mrow>
                                        <mml:mo>,</mml:mo>
                                        <mml:mi>j</mml:mi>
                                      </mml:mrow>
                                      <mml:mn>2</mml:mn>
                                    </mml:msubsup>
                                    <mml:mo>⁢</mml:mo>
                                    <mml:mrow>
                                      <mml:mo stretchy="false">(</mml:mo>
                                      <mml:mi>t</mml:mi>
                                      <mml:mo stretchy="false">)</mml:mo>
                                    </mml:mrow>
                                  </mml:mrow>
                                </mml:mrow>
                              </mml:msqrt>
                            </mml:mrow>
                          </mml:mfrac>
                        </mml:mstyle>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:math>
              </disp-formula>
            </disp-formula-group>
          </p>
          <p>When the value is less than or greater than 0.5, individuals engaging in reproduction and foraging behaviors will transition into rolling ball behaviors. This transformation enhances the algorithm's global search capability, promoting species diversity. After finding the new best individual or reaching the iteration threshold of the variant individual, the variant individual will return to the original behavior and continue searching.</p>
        </sec>
      </sec>
    </sec>
    <sec id="S4">
      <label>4.</label>
      <title>Experiments and analysis</title>
      <p id="S4.p1">In this section, we evaluate the performance of the proposed method. The structure of this section is as follows: we verify the effectiveness of the IACO in Section 4.1, discuss the optimization ability of AMDBO in Section 4.2, and analyze a two-layer path planning model in a simulated situational environment in Section 4.3.</p>
      <sec id="S4.SS1">
        <label>4.1</label>
        <title>Effectiveness analysis of IACO</title>
        <sec id="S4.SS1.SSS1">
          <label>4.1.1</label>
          <title>Parameter setting</title>
          <p id="S4.SS1.SSS1.p1">The setting of hyperparameters significantly impacts on the performance of evolutionary algorithms. Since there are no theoretical methods to determine the best parameter combination, hyperparameters must be fine-tuned and optimized through experiments to ensure the algorithm can find high-quality solutions efficiently [<xref rid="ref019" ref-type="bibr">19</xref>]. In the ACO, pheromone and heuristic information play crucial roles in ant selection. Therefore, we focus on three key parameters: pheromone important parameter <inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>, heuristic factor important parameter <inline-formula><mml:math alttext="\beta" display="inline"><mml:mi>β</mml:mi></mml:math></inline-formula>, pheromone evaporation coefficient <inline-formula><mml:math alttext="\rho" display="inline"><mml:mi>ρ</mml:mi></mml:math></inline-formula>. The other initial parameters are: the total number of ants is 50, the maximum number of iterations is set to 100, and pheromone increase intensity coefficient <inline-formula><mml:math alttext="Q=20" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mn>20</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
          <p id="S4.SS1.SSS1.p2">This paper analyzes the influence of different values of <inline-formula><mml:math alttext="\alpha\in\{1,1.5,2,2.5,3\}" display="inline"><mml:mrow><mml:mi>α</mml:mi><mml:mo>∈</mml:mo><mml:mrow><mml:mo stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1.5</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>2.5</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="\rho\in\{0.1,0.2,0.3,0.5,0.8\}" display="inline"><mml:mrow><mml:mi>ρ</mml:mi><mml:mo>∈</mml:mo><mml:mrow><mml:mo stretchy="false">{</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mn>0.8</mml:mn><mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math alttext="\beta\in\{1,3,5,7,9\}" display="inline"><mml:mrow><mml:mi>β</mml:mi><mml:mo>∈</mml:mo><mml:mrow><mml:mo stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>7</mml:mn><mml:mo>,</mml:mo><mml:mn>9</mml:mn><mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> on the convergence results. Set a set of default values: <inline-formula><mml:math alttext="\alpha=2" display="inline"><mml:mrow><mml:mi>α</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="\beta=3" display="inline"><mml:mrow><mml:mi>β</mml:mi><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="\rho=0.2" display="inline"><mml:mrow><mml:mi>ρ</mml:mi><mml:mo>=</mml:mo><mml:mn>0.2</mml:mn></mml:mrow></mml:math></inline-formula>. When analyzing the values of multiple parameters using the control variable method, one parameter's value is changed at a time while keeping the other parameters at their default values. To enhance the algorithm's robustness, the selected parameter combinations from each group are simulated in 20 random two-dimensional probability maps, and the average convergence values are compared and analyzed. The experimental results are shown in Figure <xref ref-type="fig" rid="F6">6</xref>.</p>
          <p id="S4.SS1.SSS1.p3">It can be seen from the results in Figure <xref ref-type="fig" rid="F5">5</xref> that when <inline-formula><mml:math alttext="\alpha=2" display="inline"><mml:mrow><mml:mi>α</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="\beta=5" display="inline"><mml:mrow><mml:mi>β</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="\rho=0.3" display="inline"><mml:mrow><mml:mi>ρ</mml:mi><mml:mo>=</mml:mo><mml:mn>0.3</mml:mn></mml:mrow></mml:math></inline-formula>, the average convergence value reaches the maximum value, and the influence of <inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula> on the average convergence result fluctuates the most. Therefore, the combination of <inline-formula><mml:math alttext="\alpha=2" display="inline"><mml:mrow><mml:mi>α</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="\beta=5" display="inline"><mml:mrow><mml:mi>β</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math alttext="\rho=0.3" display="inline"><mml:mrow><mml:mi>ρ</mml:mi><mml:mo>=</mml:mo><mml:mn>0.3</mml:mn></mml:mrow></mml:math></inline-formula> is adopted in the subsequent experiments in this paper.</p>
        </sec>
        <sec id="S4.SS1.SSS2">
          <label>4.1.2</label>
          <title>Contrastive analysis</title>
          <p id="S4.SS1.SSS2.p1">In order to further verify the effectiveness of heading planning based on IACO, the heading sequence is planned in the same 2D probability map (M1 and M2) based on D*, ACO, and GA. Figure <xref ref-type="fig" rid="F6">6</xref> and Figure <xref ref-type="fig" rid="F7">7</xref> display the planning results in M1 and M2, respectively.</p>
          <p>
            <fig id="F9">
              <label>Figure 9.</label>
              <caption>
                <p>Convergence curves of three algorithms.</p>
              </caption>
              <graphic xlink:href="fig9.jpg"/>
            </fig>
          </p>
          <p id="S4.SS1.SSS2.p2">In Figure <xref ref-type="fig" rid="F7">7</xref>, the heading sequence sets of ACO and IACO exhibit high similarity. The results of D* and the other three methods show the most significant difference. In Figure <xref ref-type="fig" rid="F8">8</xref>, the difference between the heading sequence sets of different methods is more significant than in M1, with the overall distribution ranging from 0° to 180° and 180° to 360°. The similarity between ACO and IACO is higher in the 8 ring layers near the target. The heading sequences obtained by GA and D* also align consistently within the 8 ring layers.</p>
          <p>
            <table-wrap id="T2">
              <label>Table 2</label>
              <caption>
                <p>Evaluation indexes of heading sequence.</p>
              </caption>
              <table>
                <tbody>
                  <tr>
                    <th style="border-top: 1px solid black;" colspan="2" align="center">Methods</th>
                    <td style="border-top: 1px solid black;" align="center">ACO</td>
                    <td style="border-top: 1px solid black;" align="center">GA</td>
                    <td style="border-top: 1px solid black;" align="center">IACO</td>
                    <td style="border-top: 1px solid black;" align="center">D*</td>
                  </tr>
                  <tr>
                    <th style="border-top: 1px solid black;" rowspan="3" align="center">M1</th>
                    <th style="border-top: 1px solid black;" align="center">HL</th>
                    <td style="border-top: 1px solid black;" align="center">1402</td>
                    <td style="border-top: 1px solid black;" align="center">1329</td>
                    <td style="border-top: 1px solid black;" align="center">1161</td>
                    <td style="border-top: 1px solid black;" align="center">1615</td>
                  </tr>
                  <tr>
                    <th align="center">HT</th>
                    <td align="center">0.375</td>
                    <td align="center">0.592</td>
                    <td align="center">0.322</td>
                    <td align="center">0.977</td>
                  </tr>
                  <tr>
                    <th align="center">HP</th>
                    <td align="center">0.614</td>
                    <td align="center">0.625</td>
                    <td align="center">0.614</td>
                    <td align="center">0.568</td>
                  </tr>
                  <tr>
                    <th style="border-top: 1px solid black;border-bottom: 1px solid black;" rowspan="3" align="center">M2</th>
                    <th style="border-top: 1px solid black;" align="center">HL</th>
                    <td style="border-top: 1px solid black;" align="center">5108</td>
                    <td style="border-top: 1px solid black;" align="center">5717</td>
                    <td style="border-top: 1px solid black;" align="center">4298</td>
                    <td style="border-top: 1px solid black;" align="center">6787</td>
                  </tr>
                  <tr>
                    <th align="center">HT</th>
                    <td align="center">1.008</td>
                    <td align="center">1.283</td>
                    <td align="center">0.842</td>
                    <td align="center">1.255</td>
                  </tr>
                  <tr>
                    <th style="border-bottom: 1px solid black;" align="center">HP</th>
                    <td style="border-bottom: 1px solid black;" align="center">0.417</td>
                    <td style="border-bottom: 1px solid black;" align="center">0.458</td>
                    <td style="border-bottom: 1px solid black;" align="center">0.411</td>
                    <td style="border-bottom: 1px solid black;" align="center">0.458</td>
                  </tr>
                </tbody>
              </table>
            </table-wrap>
          </p>
          <p>
            <table-wrap id="T3">
              <label>Table 3</label>
              <caption>
                <p>Test function information.</p>
              </caption>
              <table>
                <thead>
                  <tr>
                    <th style="border-top: 1px solid black;" align="center">Function</th>
                    <th style="border-top: 1px solid black;" align="center">Dimensionality</th>
                    <th style="border-top: 1px solid black;" align="center">Search space</th>
                    <th style="border-top: 1px solid black;" align="center">Theoretical value</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="border-top: 1px solid black;" align="left">
                      <inline-formula>
                        <mml:math alttext="F_{1}(x)=\sum_{i=1}^{n}x_{i}^{2}" display="inline">
                          <mml:mrow>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>F</mml:mi>
                                <mml:mn>1</mml:mn>
                              </mml:msub>
                              <mml:mo>⁢</mml:mo>
                              <mml:mrow>
                                <mml:mo stretchy="false">(</mml:mo>
                                <mml:mi>x</mml:mi>
                                <mml:mo stretchy="false">)</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo rspace="0.111em">=</mml:mo>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mo>∑</mml:mo>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>=</mml:mo>
                                  <mml:mn>1</mml:mn>
                                </mml:mrow>
                                <mml:mi>n</mml:mi>
                              </mml:msubsup>
                              <mml:msubsup>
                                <mml:mi>x</mml:mi>
                                <mml:mi>i</mml:mi>
                                <mml:mn>2</mml:mn>
                              </mml:msubsup>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">30</td>
                    <td style="border-top: 1px solid black;" align="center">[-100, 100]</td>
                    <td style="border-top: 1px solid black;" align="center">0</td>
                  </tr>
                  <tr>
                    <td align="left">
                      <inline-formula>
                        <mml:math alttext="F_{2}(x)=\sum_{i=1}^{n-1}\left[100\left(x_{i+1}-x_{i}^{2}\right)^{2}+\left(x_{%&#10;i}-1\right)^{2}\right]" display="inline">
                          <mml:mrow>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>F</mml:mi>
                                <mml:mn>2</mml:mn>
                              </mml:msub>
                              <mml:mo>⁢</mml:mo>
                              <mml:mrow>
                                <mml:mo stretchy="false">(</mml:mo>
                                <mml:mi>x</mml:mi>
                                <mml:mo stretchy="false">)</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo rspace="0.111em">=</mml:mo>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mo rspace="0em">∑</mml:mo>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>=</mml:mo>
                                  <mml:mn>1</mml:mn>
                                </mml:mrow>
                                <mml:mrow>
                                  <mml:mi>n</mml:mi>
                                  <mml:mo>−</mml:mo>
                                  <mml:mn>1</mml:mn>
                                </mml:mrow>
                              </mml:msubsup>
                              <mml:mrow>
                                <mml:mo>[</mml:mo>
                                <mml:mrow>
                                  <mml:mrow>
                                    <mml:mn>100</mml:mn>
                                    <mml:mo>⁢</mml:mo>
                                    <mml:msup>
                                      <mml:mrow>
                                        <mml:mo>(</mml:mo>
                                        <mml:mrow>
                                          <mml:msub>
                                            <mml:mi>x</mml:mi>
                                            <mml:mrow>
                                              <mml:mi>i</mml:mi>
                                              <mml:mo>+</mml:mo>
                                              <mml:mn>1</mml:mn>
                                            </mml:mrow>
                                          </mml:msub>
                                          <mml:mo>−</mml:mo>
                                          <mml:msubsup>
                                            <mml:mi>x</mml:mi>
                                            <mml:mi>i</mml:mi>
                                            <mml:mn>2</mml:mn>
                                          </mml:msubsup>
                                        </mml:mrow>
                                        <mml:mo>)</mml:mo>
                                      </mml:mrow>
                                      <mml:mn>2</mml:mn>
                                    </mml:msup>
                                  </mml:mrow>
                                  <mml:mo>+</mml:mo>
                                  <mml:msup>
                                    <mml:mrow>
                                      <mml:mo>(</mml:mo>
                                      <mml:mrow>
                                        <mml:msub>
                                          <mml:mi>x</mml:mi>
                                          <mml:mi>i</mml:mi>
                                        </mml:msub>
                                        <mml:mo>−</mml:mo>
                                        <mml:mn>1</mml:mn>
                                      </mml:mrow>
                                      <mml:mo>)</mml:mo>
                                    </mml:mrow>
                                    <mml:mn>2</mml:mn>
                                  </mml:msup>
                                </mml:mrow>
                                <mml:mo>]</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td align="center">30</td>
                    <td align="center">[-30, 30]</td>
                    <td align="center">0</td>
                  </tr>
                  <tr>
                    <td align="left">
                      <inline-formula>
                        <mml:math alttext="F_{3}(x)=\sum_{i=1}^{n}-x_{i}\sin\left(\sqrt{|x_{i}|}\right)" display="inline">
                          <mml:mrow>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>F</mml:mi>
                                <mml:mn>3</mml:mn>
                              </mml:msub>
                              <mml:mo>⁢</mml:mo>
                              <mml:mrow>
                                <mml:mo stretchy="false">(</mml:mo>
                                <mml:mi>x</mml:mi>
                                <mml:mo stretchy="false">)</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo rspace="0.111em">=</mml:mo>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mo rspace="0em">∑</mml:mo>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>=</mml:mo>
                                  <mml:mn>1</mml:mn>
                                </mml:mrow>
                                <mml:mi>n</mml:mi>
                              </mml:msubsup>
                              <mml:mo lspace="0em">−</mml:mo>
                              <mml:mrow>
                                <mml:msub>
                                  <mml:mi>x</mml:mi>
                                  <mml:mi>i</mml:mi>
                                </mml:msub>
                                <mml:mo lspace="0.167em">⁢</mml:mo>
                                <mml:mrow>
                                  <mml:mi>sin</mml:mi>
                                  <mml:mo>⁡</mml:mo>
                                  <mml:mrow>
                                    <mml:mo>(</mml:mo>
                                    <mml:msqrt>
                                      <mml:mrow>
                                        <mml:mo stretchy="false">|</mml:mo>
                                        <mml:msub>
                                          <mml:mi>x</mml:mi>
                                          <mml:mi>i</mml:mi>
                                        </mml:msub>
                                        <mml:mo stretchy="false">|</mml:mo>
                                      </mml:mrow>
                                    </mml:msqrt>
                                    <mml:mo>)</mml:mo>
                                  </mml:mrow>
                                </mml:mrow>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td align="center">30</td>
                    <td align="center">[-500, 500]</td>
                    <td align="center">-12569.5</td>
                  </tr>
                  <tr>
                    <td align="left">
                      <inline-formula>
                        <mml:math alttext="F_{4}(x)=\frac{1}{4000}\sum_{i=1}^{n}x_{i}^{2}-\prod_{i=1}^{n}\cos\left(\frac{%&#10;x_{i}}{\sqrt{i}}\right)+1" display="inline">
                          <mml:mrow>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>F</mml:mi>
                                <mml:mn>4</mml:mn>
                              </mml:msub>
                              <mml:mo>⁢</mml:mo>
                              <mml:mrow>
                                <mml:mo stretchy="false">(</mml:mo>
                                <mml:mi>x</mml:mi>
                                <mml:mo stretchy="false">)</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo>=</mml:mo>
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mrow>
                                  <mml:mfrac>
                                    <mml:mn>1</mml:mn>
                                    <mml:mn>4000</mml:mn>
                                  </mml:mfrac>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mrow>
                                    <mml:msubsup>
                                      <mml:mo>∑</mml:mo>
                                      <mml:mrow>
                                        <mml:mi>i</mml:mi>
                                        <mml:mo>=</mml:mo>
                                        <mml:mn>1</mml:mn>
                                      </mml:mrow>
                                      <mml:mi>n</mml:mi>
                                    </mml:msubsup>
                                    <mml:msubsup>
                                      <mml:mi>x</mml:mi>
                                      <mml:mi>i</mml:mi>
                                      <mml:mn>2</mml:mn>
                                    </mml:msubsup>
                                  </mml:mrow>
                                </mml:mrow>
                                <mml:mo rspace="0.055em">−</mml:mo>
                                <mml:mrow>
                                  <mml:msubsup>
                                    <mml:mo>∏</mml:mo>
                                    <mml:mrow>
                                      <mml:mi>i</mml:mi>
                                      <mml:mo>=</mml:mo>
                                      <mml:mn>1</mml:mn>
                                    </mml:mrow>
                                    <mml:mi>n</mml:mi>
                                  </mml:msubsup>
                                  <mml:mrow>
                                    <mml:mi>cos</mml:mi>
                                    <mml:mo>⁡</mml:mo>
                                    <mml:mrow>
                                      <mml:mo>(</mml:mo>
                                      <mml:mfrac>
                                        <mml:msub>
                                          <mml:mi>x</mml:mi>
                                          <mml:mi>i</mml:mi>
                                        </mml:msub>
                                        <mml:msqrt>
                                          <mml:mi>i</mml:mi>
                                        </mml:msqrt>
                                      </mml:mfrac>
                                      <mml:mo>)</mml:mo>
                                    </mml:mrow>
                                  </mml:mrow>
                                </mml:mrow>
                              </mml:mrow>
                              <mml:mo>+</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td align="center">30</td>
                    <td align="center">[-600, 600]</td>
                    <td align="center">0</td>
                  </tr>
                  <tr>
                    <td align="left">
                      <inline-formula>
                        <mml:math alttext="F_{5}(x)=\left[\frac{1}{500}+\sum_{j=1}^{25}\frac{1}{j+\sum_{i=1}^{2}\left(x_{%&#10;i}-a_{ij}\right)^{6}}\right]^{-1}" display="inline">
                          <mml:mrow>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>F</mml:mi>
                                <mml:mn>5</mml:mn>
                              </mml:msub>
                              <mml:mo>⁢</mml:mo>
                              <mml:mrow>
                                <mml:mo stretchy="false">(</mml:mo>
                                <mml:mi>x</mml:mi>
                                <mml:mo stretchy="false">)</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo>=</mml:mo>
                            <mml:msup>
                              <mml:mrow>
                                <mml:mo>[</mml:mo>
                                <mml:mrow>
                                  <mml:mfrac>
                                    <mml:mn>1</mml:mn>
                                    <mml:mn>500</mml:mn>
                                  </mml:mfrac>
                                  <mml:mo rspace="0.055em">+</mml:mo>
                                  <mml:mrow>
                                    <mml:msubsup>
                                      <mml:mo>∑</mml:mo>
                                      <mml:mrow>
                                        <mml:mi>j</mml:mi>
                                        <mml:mo>=</mml:mo>
                                        <mml:mn>1</mml:mn>
                                      </mml:mrow>
                                      <mml:mn>25</mml:mn>
                                    </mml:msubsup>
                                    <mml:mfrac>
                                      <mml:mn>1</mml:mn>
                                      <mml:mrow>
                                        <mml:mi>j</mml:mi>
                                        <mml:mo>+</mml:mo>
                                        <mml:mrow>
                                          <mml:mstyle displaystyle="false">
                                            <mml:msubsup>
                                              <mml:mo>∑</mml:mo>
                                              <mml:mrow>
                                                <mml:mi>i</mml:mi>
                                                <mml:mo>=</mml:mo>
                                                <mml:mn>1</mml:mn>
                                              </mml:mrow>
                                              <mml:mn>2</mml:mn>
                                            </mml:msubsup>
                                          </mml:mstyle>
                                          <mml:msup>
                                            <mml:mrow>
                                              <mml:mo>(</mml:mo>
                                              <mml:mrow>
                                                <mml:msub>
                                                  <mml:mi>x</mml:mi>
                                                  <mml:mi>i</mml:mi>
                                                </mml:msub>
                                                <mml:mo>−</mml:mo>
                                                <mml:msub>
                                                  <mml:mi>a</mml:mi>
                                                  <mml:mrow>
                                                    <mml:mi>i</mml:mi>
                                                    <mml:mo>⁢</mml:mo>
                                                    <mml:mi>j</mml:mi>
                                                  </mml:mrow>
                                                </mml:msub>
                                              </mml:mrow>
                                              <mml:mo>)</mml:mo>
                                            </mml:mrow>
                                            <mml:mn>6</mml:mn>
                                          </mml:msup>
                                        </mml:mrow>
                                      </mml:mrow>
                                    </mml:mfrac>
                                  </mml:mrow>
                                </mml:mrow>
                                <mml:mo>]</mml:mo>
                              </mml:mrow>
                              <mml:mrow>
                                <mml:mo>−</mml:mo>
                                <mml:mn>1</mml:mn>
                              </mml:mrow>
                            </mml:msup>
                          </mml:mrow>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td align="center">2</td>
                    <td align="center">[-65.536, 65.536]</td>
                    <td align="center">1</td>
                  </tr>
                  <tr>
                    <td style="border-bottom: 1px solid black;" align="left">
                      <inline-formula>
                        <mml:math alttext="F_{6}(x)=4x_{1}^{2}-2.1x_{1}^{4}+\frac{1}{3}x_{1}^{6}+x_{1}x_{2}-4x_{2}^{2}+4x%&#10;_{2}^{4}" display="inline">
                          <mml:mrow>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>F</mml:mi>
                                <mml:mn>6</mml:mn>
                              </mml:msub>
                              <mml:mo>⁢</mml:mo>
                              <mml:mrow>
                                <mml:mo stretchy="false">(</mml:mo>
                                <mml:mi>x</mml:mi>
                                <mml:mo stretchy="false">)</mml:mo>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo>=</mml:mo>
                            <mml:mrow>
                              <mml:mrow>
                                <mml:mrow>
                                  <mml:mrow>
                                    <mml:mrow>
                                      <mml:mn>4</mml:mn>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:msubsup>
                                        <mml:mi>x</mml:mi>
                                        <mml:mn>1</mml:mn>
                                        <mml:mn>2</mml:mn>
                                      </mml:msubsup>
                                    </mml:mrow>
                                    <mml:mo>−</mml:mo>
                                    <mml:mrow>
                                      <mml:mn>2.1</mml:mn>
                                      <mml:mo>⁢</mml:mo>
                                      <mml:msubsup>
                                        <mml:mi>x</mml:mi>
                                        <mml:mn>1</mml:mn>
                                        <mml:mn>4</mml:mn>
                                      </mml:msubsup>
                                    </mml:mrow>
                                  </mml:mrow>
                                  <mml:mo>+</mml:mo>
                                  <mml:mrow>
                                    <mml:mfrac>
                                      <mml:mn>1</mml:mn>
                                      <mml:mn>3</mml:mn>
                                    </mml:mfrac>
                                    <mml:mo>⁢</mml:mo>
                                    <mml:msubsup>
                                      <mml:mi>x</mml:mi>
                                      <mml:mn>1</mml:mn>
                                      <mml:mn>6</mml:mn>
                                    </mml:msubsup>
                                  </mml:mrow>
                                  <mml:mo>+</mml:mo>
                                  <mml:mrow>
                                    <mml:msub>
                                      <mml:mi>x</mml:mi>
                                      <mml:mn>1</mml:mn>
                                    </mml:msub>
                                    <mml:mo>⁢</mml:mo>
                                    <mml:msub>
                                      <mml:mi>x</mml:mi>
                                      <mml:mn>2</mml:mn>
                                    </mml:msub>
                                  </mml:mrow>
                                </mml:mrow>
                                <mml:mo>−</mml:mo>
                                <mml:mrow>
                                  <mml:mn>4</mml:mn>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:msubsup>
                                    <mml:mi>x</mml:mi>
                                    <mml:mn>2</mml:mn>
                                    <mml:mn>2</mml:mn>
                                  </mml:msubsup>
                                </mml:mrow>
                              </mml:mrow>
                              <mml:mo>+</mml:mo>
                              <mml:mrow>
                                <mml:mn>4</mml:mn>
                                <mml:mo>⁢</mml:mo>
                                <mml:msubsup>
                                  <mml:mi>x</mml:mi>
                                  <mml:mn>2</mml:mn>
                                  <mml:mn>4</mml:mn>
                                </mml:msubsup>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-bottom: 1px solid black;" align="center">2</td>
                    <td style="border-bottom: 1px solid black;" align="center">[-5, 5]</td>
                    <td style="border-bottom: 1px solid black;" align="center">1.0316285</td>
                  </tr>
                </tbody>
              </table>
            </table-wrap>
          </p>
          <p id="S4.SS1.SSS2.p3">In this paper, the quality of the heading sequence is evaluated based on the length (HL), tortuous degree (HT), and selection possibility (HP/) of the heading sequence. The evaluation results of the heading sequence in Figure <xref ref-type="fig" rid="F7">7</xref> and Figure <xref ref-type="fig" rid="F8">8</xref> are presented in Table <xref rid="T2" ref-type="table">2</xref>. It can be seen that the heading quality obtained by the four different algorithms in M2 is lower than that obtained in M1. The sequence length and sequence tortuous degree based on D* are the maximum values in the two maps, and the choice possibilities in the set of sub-regions vary widely. This result indicates that the heading sequence based on D* is trapped in a local optimum. IACO achieves the shortest length, the smallest tortuous degree, the largest average choice possibility in the two probability maps, and the highest comprehensive quality.</p>
          <p>
            <table-wrap id="T4">
              <label>Table 4</label>
              <caption>
                <p>Comparison of test function experiment results.</p>
              </caption>
              <table>
                <tbody>
                  <tr>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>F</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>Performance index</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>DBO</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>SSA</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>IGWO</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>AMDBO</bold>
                    </td>
                  </tr>
                  <tr>
                    <td style="border-top: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{1}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>1</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">AVE</td>
                    <td style="border-top: 1px solid black;" align="center">1.59E-109</td>
                    <td style="border-top: 1px solid black;" align="center">1.63E-57</td>
                    <td style="border-top: 1px solid black;" align="center">3.27E-29</td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>3.67E-149</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">BEST</td>
                    <td align="center">7.35E-159</td>
                    <td align="center">1.25E-146</td>
                    <td align="center">1.68E-35</td>
                    <td align="center">
                      <bold>3.82E-196</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">STD</td>
                    <td align="center">7.68E-124</td>
                    <td align="center">7.48E-63</td>
                    <td align="center">9.34E-27</td>
                    <td align="center">
                      <bold>3.18E-147</bold>
                    </td>
                  </tr>
                  <tr>
                    <td style="border-top: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{2}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">AVE</td>
                    <td style="border-top: 1px solid black;" align="center">1.30E-03</td>
                    <td style="border-top: 1px solid black;" align="center">1.42E-03</td>
                    <td style="border-top: 1px solid black;" align="center">1.17E-03</td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>7.48E-04</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">BEST</td>
                    <td align="center">
                      <bold>4.05E-05</bold>
                    </td>
                    <td align="center">4.29E-04</td>
                    <td align="center">1.68E-03</td>
                    <td align="center">9.61E-05</td>
                  </tr>
                  <tr>
                    <td align="center">STD</td>
                    <td align="center">1.10E-03</td>
                    <td align="center">2.16E-03</td>
                    <td align="center">1.84E-03</td>
                    <td align="center">
                      <bold>5.25E-04</bold>
                    </td>
                  </tr>
                  <tr>
                    <td style="border-top: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{3}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>3</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">AVE</td>
                    <td style="border-top: 1px solid black;" align="center">-9.19E+03</td>
                    <td style="border-top: 1px solid black;" align="center">-8.57E+03</td>
                    <td style="border-top: 1px solid black;" align="center">-7.38E+03</td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>-1.17E+04</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">BEST</td>
                    <td align="center">-1.23E+04</td>
                    <td align="center">-9.64E+03</td>
                    <td align="center">-1.07E+04</td>
                    <td align="center">
                      <bold>-1.26E+04</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">STD</td>
                    <td align="center">1.95E+03</td>
                    <td align="center">
                      <bold>5.21E+02</bold>
                    </td>
                    <td align="center">1.62E+03</td>
                    <td align="center">9.93E+02</td>
                  </tr>
                  <tr>
                    <td style="border-top: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{4}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>4</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">AVE</td>
                    <td style="border-top: 1px solid black;" align="center">1.15E-13</td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>0.00E+00</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">3.87E-03</td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>0.00E+00</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">BEST</td>
                    <td align="center">
                      <bold>0.00E+00</bold>
                    </td>
                    <td align="center">
                      <bold>0.00E+00</bold>
                    </td>
                    <td align="center">
                      <bold>0.00E+00</bold>
                    </td>
                    <td align="center">
                      <bold>0.00E+00</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">STD</td>
                    <td align="center">6.27E-13</td>
                    <td align="center">
                      <bold>0.00E+00</bold>
                    </td>
                    <td align="center">6.41E-03</td>
                    <td align="center">
                      <bold>0.00E+00</bold>
                    </td>
                  </tr>
                  <tr>
                    <td style="border-top: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{5}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>5</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">AVE</td>
                    <td style="border-top: 1px solid black;" align="center">1.30E+00</td>
                    <td style="border-top: 1px solid black;" align="center">5.03E+00</td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>9.98E-01</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">1.16E+00</td>
                  </tr>
                  <tr>
                    <td align="center">BEST</td>
                    <td align="center">
                      <bold>9.98E-01</bold>
                    </td>
                    <td align="center">
                      <bold>9.98E-01</bold>
                    </td>
                    <td align="center">
                      <bold>9.98E-01</bold>
                    </td>
                    <td align="center">
                      <bold>9.98E-01</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">STD</td>
                    <td align="center">6.97E-01</td>
                    <td align="center">5.17E+00</td>
                    <td align="center">
                      <bold>1.80E-16</bold>
                    </td>
                    <td align="center">4.58E-01</td>
                  </tr>
                  <tr>
                    <td style="border-top: 1px solid black;border-bottom: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{6}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>6</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">AVE</td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                    <td style="border-top: 1px solid black;" align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                  </tr>
                  <tr>
                    <td align="center">BEST</td>
                    <td align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                    <td align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                    <td align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                    <td align="center">
                      <bold>-1.03E+00</bold>
                    </td>
                  </tr>
                  <tr>
                    <td style="border-bottom: 1px solid black;" align="center">STD</td>
                    <td style="border-bottom: 1px solid black;" align="center">4.85E-16</td>
                    <td style="border-bottom: 1px solid black;" align="center">5.46E-16</td>
                    <td style="border-bottom: 1px solid black;" align="center">8.14E-16</td>
                    <td style="border-bottom: 1px solid black;" align="center">
                      <bold>3.92E-16</bold>
                    </td>
                  </tr>
                </tbody>
              </table>
            </table-wrap>
          </p>
          <p id="S4.SS1.SSS2.p4">In addition, the convergence of GA, ACO, and IACO in the two maps is compared, as shown in Figure <xref ref-type="fig" rid="F9">9</xref>. The convergence quality and convergence speed based on the three algorithms in M2 are not as good as in M1. The convergence rate of GA is slow, and the convergence value of GA in M2 remains stable at a low level, indicating that GA also gets trapped in local optima. The main reason is that the mutation and crossover operators in GA cannot guarantee the quality of new individuals, thereby slowing down the optimization process. In comparison, ACO and IACO exhibit faster convergence speeds and higher quality. This result shows that ACO and IACO are more suitable for solving graph search problems.</p>
          <p>
            <fig id="F10">
              <label>Figure 10.</label>
              <caption>
                <p>Comparison of iterative convergence curves.</p>
              </caption>
              <graphic xlink:href="fig10.jpg"/>
            </fig>
          </p>
          <p>
            <table-wrap id="T5">
              <label>Table 5</label>
              <caption>
                <p>Comparison of test function experiment results.</p>
              </caption>
              <table>
                <thead>
                  <tr>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>F</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>Performance index</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>DBO1</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>DBO2</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>DBO3</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>AMDBO</bold>
                    </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <th style="border-top: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{2}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">AVE</th>
                    <td style="border-top: 1px solid black;" align="center">0.001158</td>
                    <td style="border-top: 1px solid black;" align="center">0.000597</td>
                    <td style="border-top: 1px solid black;" align="center">0.000885</td>
                    <td style="border-top: 1px solid black;" align="center">0.001214</td>
                  </tr>
                  <tr>
                    <th align="center">BEST</th>
                    <td align="center">0.000125</td>
                    <td align="center">8.40E-05</td>
                    <td align="center">5.26E-05</td>
                    <td align="center">0.000194</td>
                  </tr>
                  <tr>
                    <th align="center">STD</th>
                    <td align="center">
                      <bold>0.001005</bold>
                    </td>
                    <td align="center">0.000548</td>
                    <td align="center">0.000647</td>
                    <td align="center">0.000936</td>
                  </tr>
                  <tr>
                    <th style="border-top: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{4}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>4</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">AVE</th>
                    <td style="border-top: 1px solid black;" align="center">0.000784</td>
                    <td style="border-top: 1px solid black;" align="center">0.000837</td>
                    <td style="border-top: 1px solid black;" align="center">0.000553</td>
                    <td style="border-top: 1px solid black;" align="center">0.000921</td>
                  </tr>
                  <tr>
                    <th align="center">BEST</th>
                    <td align="center">0.000307</td>
                    <td align="center">0.000307</td>
                    <td align="center">0.000307</td>
                    <td align="center">0.000307</td>
                  </tr>
                  <tr>
                    <th align="center">STD</th>
                    <td align="center">0.000412</td>
                    <td align="center">0.00039</td>
                    <td align="center">0.000354</td>
                    <td align="center">0.000498</td>
                  </tr>
                  <tr>
                    <th style="border-top: 1px solid black;border-bottom: 1px solid black;" rowspan="3" align="center">
                      <inline-formula>
                        <mml:math alttext="F_{6}" display="inline">
                          <mml:msub>
                            <mml:mi>F</mml:mi>
                            <mml:mn>6</mml:mn>
                          </mml:msub>
                        </mml:math>
                      </inline-formula>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">AVE</th>
                    <td style="border-top: 1px solid black;" align="center">-1.03163</td>
                    <td style="border-top: 1px solid black;" align="center">-1.03163</td>
                    <td style="border-top: 1px solid black;" align="center">-1.03163</td>
                    <td style="border-top: 1px solid black;" align="center">-1.03163</td>
                  </tr>
                  <tr>
                    <th align="center">BEST</th>
                    <td align="center">-1.03163</td>
                    <td align="center">-1.03163</td>
                    <td align="center">-1.03163</td>
                    <td align="center">-1.03163</td>
                  </tr>
                  <tr>
                    <th style="border-bottom: 1px solid black;" align="center">STD</th>
                    <td style="border-bottom: 1px solid black;" align="center">
                      <bold>6.45E-16</bold>
                    </td>
                    <td style="border-bottom: 1px solid black;" align="center">
                      <bold>1.10E-15</bold>
                    </td>
                    <td style="border-bottom: 1px solid black;" align="center">5.61E-16</td>
                    <td style="border-bottom: 1px solid black;" align="center">5.98E-16</td>
                  </tr>
                </tbody>
              </table>
            </table-wrap>
          </p>
          <p id="S4.SS1.SSS2.p5">The convergence performance based on IACO in the two maps is the best, converging to 0.815 and 0.755 in the 8th and 11th iterations, respectively. The results show that the heading planning based on the IACO can provide reliable decision support for the subsequent 3D path planning.</p>
          <p>
            <fig id="F11">
              <label>Figure 11.</label>
              <caption>
                <p>Environmental information.</p>
              </caption>
              <graphic xlink:href="fig11.jpg"/>
            </fig>
          </p>
          <p>
            <fig id="F12">
              <label>Figure 12.</label>
              <caption>
                <p> Multi-source environmental information of subregions.</p>
              </caption>
              <graphic xlink:href="fig12.jpg"/>
            </fig>
          </p>
        </sec>
      </sec>
      <sec id="S4.SS2">
        <label>4.2</label>
        <title>Effectiveness analysis of AMDBO</title>
        <sec id="S4.SS2.SSS1">
          <label>4.2.1</label>
          <title>Test analysis based on benchmark functions</title>
          <p id="S4.SS2.SSS1.p1">Compared with heading prediction in a 2D map, the algorithm's global search capability and search efficiency are more critical for the precise planning of a 3D path. DBO, Improved Grey Wolf Optimizer (IGWO), and Sparrow Search Algorithm (SSA) are comparisons to verify the optimization performance of AMDBO. Six functions with different optimal characteristics are compared, and their specific details are presented in Table <xref rid="T3" ref-type="table">3</xref>. F1 and F2 are single-peak reference functions that are used to evaluate the algorithm's single-objective solving capability. F3-F4 represent multi-modal reference functions, while F5-F6 are mixed reference functions that assess the algorithm's ability to escape local optima.</p>
          <p id="S4.SS2.SSS1.p2">(1) Performance analysis In order to enhance the reliability of the experimental results, this paper adopts a consistent experimental setting by fixing the population size of each algorithm at 30 and the number of iterations at 500. Thirty independent experiments are performed on each function to obtain the target solution under each run. The average value (AVE), best value (BEST), and standard deviation (STD) are then calculated. These values serve as indicators to evaluate the reliability and stability of the optimization algorithm. Table <xref rid="T4" ref-type="table">4</xref> displays the test results of the four optimization algorithms on the six test functions.</p>
          <p>
            <fig id="F13">
              <label>Figure 13.</label>
              <caption>
                <p>Heading sequence planning results derived from the multi-source data-fused two-dimensional map.</p>
              </caption>
              <graphic xlink:href="fig13.jpg"/>
            </fig>
          </p>
          <p>
            <fig id="F14">
              <label>Figure 14.</label>
              <caption>
                <p>Path planning based on AMDBO.</p>
              </caption>
              <graphic xlink:href="fig14.jpg"/>
            </fig>
          </p>
          <p id="S4.SS2.SSS1.p3">The AVE, BEST, and STD in F1 based on AMDBO are superior to the other three algorithms. When compared with the test results of F2, it is evident that the BEST of AMDBO is 57.76% lower than that of DBO, but the AVE and STD of AMDBO are 73.80% and 109.52% higher than those of DBO, respectively. Regarding the overall performance of the two single-peak functions, the overall performance of AMDBO is better than that of other three algorithms. The STD of AMDBO is slightly lower than that of SSA on F4. However, the AVE and the BEST of AMDBO are the highest, and the accuracy is greater than that of DBO and IGWO in F3 and F4. In F5 and F6, the best values of the four algorithms can achieve the theoretical optimal solution. Although the AVE and STD of AMDBO are slightly lower than IGWO on F5, they are superior to SSA and DBO. Additionally, the STD of AMDBO in F6 outperforms the other three algorithms.</p>
          <p id="S4.SS2.SSS1.p4">Figure <xref ref-type="fig" rid="F10">10</xref> illustrates the average convergence curves of 4 algorithms in 30 independent tests across 6 test functions. It can be seen that AMDBO achieves a higher objective function value within the same number of iterations during single-objective optimization. It exhibits the fastest optimization speed and the highest convergence accuracy. AMDBO can swiftly escape local optimal solutions in multi-objective optimization, leading to faster convergence with fewer iterations.</p>
          <p>
            <fig id="F15">
              <label>Figure 15.</label>
              <caption>
                <p>Path planning in 3D map based on other meathods.</p>
              </caption>
              <graphic xlink:href="fig15.jpg"/>
            </fig>
          </p>
          <p id="S4.SS2.SSS1.p5">To sum up, the AVE and BEST tested by AMDBO on the test functions are mostly better than the other three algorithms. With the same number of iterations, the optimization accuracy of AMDBO is higher. Most test results of the DBO algorithm are better or even superior to the SSA and IGWO, but worse than AMDBO.</p>
        </sec>
        <sec id="S4.SS2.SSS2">
          <label>4.2.2</label>
          <title>Ablation Study</title>
          <p id="S4.SS2.SSS2.p1">AMDBO introduces three improvement strategies to enhance the DBO algorithm. By implementing these strategies, three different algorithms derive through individual enhancements to DBO. The algorithms are as follows: 1) DBO1, which incorporates the Tent Chaos Initialization strategy. 2) DBO2, which integrates the reverse learning strategy of breeding and stealing. 3) DBO3, which includes the adaptive mutation strategy. These four algorithms are evaluated on test functions , and the AVE, BEST and STD of each algorithm are calculated after 30 independent runs. The experimental results are presented in Table <xref rid="T5" ref-type="table">5</xref>.</p>
          <p id="S4.SS2.SSS2.p2">In summary, the average optimization accuracy of a single improved strategy is higher than that of DBO. However, its variance is worse than that of DBO in test functions, indicating that the stability of a single improved strategy is insufficient. Compared with DBO, the performance indicators of AMDBO are improved, indicating that the comprehensive improvement of the three strategies is effective.</p>
        </sec>
      </sec>
      <sec id="S4.SS3">
        <label>4.3</label>
        <title>Effectiveness analysis of path planning model</title>
        <sec id="S4.SS3.SSS1">
          <label>4.3.1</label>
          <title>Simulation scene test</title>
          <p id="S4.SS3.SSS1.p1">Taking the endpoint as the center of the circle and the distance between the starting point (-674,156) and the endpoint as the radius, the environmental information such as elevation, visibility, wind speed, and obstruction factors in this vast airspace is simulated, as shown in Figure <xref ref-type="fig" rid="F11">11</xref>. Then, the UAV trajectory is planned based on the fused multi-source environmental information.</p>
          <p id="S4.SS3.SSS1.p2">According to the spatial distribution of obstacle factors in Figure <xref ref-type="fig" rid="F11">11</xref>(d), the airspace is adaptively decomposed into 80 km, 200 km, 310 km, 460 km, 540 km, and 700 km. The environmental situation information in each sub-area is shown in Figure <xref ref-type="fig" rid="F12">12</xref>. Comparing it with the actual scene grid information in Figure <xref ref-type="fig" rid="F11">11</xref>(a-c), it can be observed that the decomposition method accurately reflects the changing trend of environmental information while reducing the number of subregions. The results indicate that the adaptive spatial decomposition method effectively addresses the issue of sparse environmental information.</p>
          <p id="S4.SS3.SSS1.p3">Based on Eq.(12), the 2D probability map is constructed, as shown in Figure <xref ref-type="fig" rid="F13">13</xref>(a). The IACO is used to search the heading sequence, and the result is shown in Figure <xref ref-type="fig" rid="F13">13</xref>(b). The flight direction gradually changed from 292.5° to 225°-270°. The average choice possibility of the route is 0.46, and the minimum value is 0.32, indicating that flight safety is relatively reliable. The tortuous degree of the heading sequence is 0.52, and the length is 1075.1 km, which is relatively smooth and short.</p>
          <p id="S4.SS3.SSS1.p4">The AMBDO is used to plan a 3D path in regions where the heading sequence is located. The results are shown in Figure <xref ref-type="fig" rid="F14">14</xref>. The length of the 3D path is 4536 km, the average height is 4674 m, and the average tortuosity is 7.9. The 3D path is relatively smooth, and obstructions can be avoided.</p>
        </sec>
        <sec id="S4.SS3.SSS2">
          <label>4.3.2</label>
          <title>Contrastive analysis</title>
          <p id="S4.SS3.SSS2.p1">In order to verify the advantages of the two-layer path planning model proposed in this paper, the AMDBO is used to plan the path directly in 3D space. The planning results are shown in Figure <xref ref-type="fig" rid="F15">15</xref>. It is evident from Figure <xref ref-type="fig" rid="F13">13</xref> that feasible paths are successfully planned using the three methods. The paths generated by DBO are distributed in regions with elevated terrain. To ensure a safe distance from the ground, the resulting paths are at a higher altitude and exhibit a greater tortuous degree. The other two methods exhibit a similar path trajectory, opting to first navigate towards lower-lying areas.</p>
          <p>
            <fig id="F16">
              <label>Figure 16.</label>
              <caption>
                <p>Comparison of iterative convergence curves.</p>
              </caption>
              <graphic xlink:href="fig16.jpg"/>
            </fig>
          </p>
          <p id="S4.SS3.SSS2.p2">In this paper, path quality is evaluated based on path length (L), average flight height (H), tortuosity (T), and minimum distance from obstacles (Df). The evaluation results for the three methods are presented in Table <xref rid="T6" ref-type="table">6</xref>. The path generated by DBO is shorter than that of AMDBO, but it exhibits high tortuosity. The path produced by AMDBO has a lower average height, enhancing its ability for concealed flight, but it has a longer path length. The proposed method demonstrates the shortest path length and tortuosity, with a flight altitude comparable to other methods, resulting in the highest overall quality.</p>
          <p>
            <table-wrap id="T6">
              <label>Table 6</label>
              <caption>
                <p>Evaluation indicators of 3D path.</p>
              </caption>
              <table>
                <thead>
                  <tr>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>Indicators</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>AMDBO</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>DBO</bold>
                    </th>
                    <th style="border-top: 1px solid black;" align="center">
                      <bold>Proposed method</bold>
                    </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <th style="border-top: 1px solid black;" align="center">L (km)</th>
                    <th style="border-top: 1px solid black;" align="center">4825</th>
                    <td style="border-top: 1px solid black;" align="center">4536</td>
                    <td style="border-top: 1px solid black;" align="center">3753</td>
                  </tr>
                  <tr>
                    <th align="center">H (m)</th>
                    <th align="center">4466</th>
                    <td align="center">4843</td>
                    <td align="center">4674</td>
                  </tr>
                  <tr>
                    <th align="center">T</th>
                    <th align="center">16</th>
                    <td align="center">42.2</td>
                    <td align="center">7.9</td>
                  </tr>
                  <tr>
                    <th style="border-bottom: 1px solid black;" align="center">Df (km)</th>
                    <th style="border-bottom: 1px solid black;" align="center">2.14</th>
                    <td style="border-bottom: 1px solid black;" align="center">1.13</td>
                    <td style="border-bottom: 1px solid black;" align="center">2.23</td>
                  </tr>
                </tbody>
              </table>
            </table-wrap>
          </p>
          <p id="S4.SS3.SSS2.p3">In addition, the convergence curves of the two models are compared, as shown in Figure <xref ref-type="fig" rid="F16">16</xref>. The DBO jumps out of the local solution twice and finally converges to 2091 in the 574th iteration. Although the objective function value of AMDBO is higher than that of DBO in the 1-73 iterations, its convergence rate is faster, and the convergence value is lower than that of DBO. The initial value of the proposed method is close to the convergence value of AMDBO and converges to 1007 at the 81st iteration. Compared with AMDBO and DBO, the convergence speed of the proposed method is increased by 75% and 85.89%, respectively, and the convergence values decreased by 31.87% and 52.05%, respectively.</p>
          <p id="S4.SS3.SSS2.p4">Based on the above analysis, the two-layer path planning framework proposed in this paper can not only fully consider the impact of the environment on the UAV mission but also carry out fine path planning combined with the maneuvering performance of the UAV. Simultaneously, the environmental information of large airspace is analyzed layer by layer from fine-grained to coarse-grained to fine-grained. This effectively reduces the computational complexity and the execution efficiency of the optimization algorithm, thus improving the efficiency and quality of the flight path planning.</p>
        </sec>
      </sec>
    </sec>
    <sec id="S5">
      <label>5.</label>
      <title>Conclusion</title>
      <p id="S5.p1">This paper establishes a dual-layer path planning model by integrating: (1) an adaptive 2D probability map based on information fusion, (2) an enhanced ant colony algorithm, and (3) an improved dung beetle optimizer. The proposed framework achieves phased trajectory planning for UAVs in large-scale airspace environments, followed by comprehensive effectiveness validation. The IACO demonstrates superior convergence quality and speed compared to ACO, GA, and D* in the 2D probability map for heading planning, facilitating reliable decision-making for subsequent 3D path planning. Compared with the optimization results of DBO, SSA, and IGWO in multi-type functions, the AMDBO proposed in this paper demonstrates strong global search ability and search efficiency. It provides theoretical support for the precise planning of 3D paths for UAVs in vast airspace. Comparing the planning results of AMDBO, DBO, the proposed method under the same simulation scenario, the proposed method shows a 75% and 85.89% increase in convergence speed and a 31.87% and 52.05% decrease in convergence values, respectively. These results indicate that the two-layer path planning model can effectively reduce computational complexity and optimize algorithm efficiency.</p>
      <p id="S5.p2">This paper focuses on studying the global path-planning method of UAVs based on macroscopic modal constraints. However, it faces challenges when it comes to environments with dense and highly dynamic obstacles. Future research will further study the online path planning for UAVs in such complex environments.</p>
    </sec>
  </body>
  <back>
    <ack>
      <title>Acknowledgments</title>
      <p id="ack.p1">This work was supported by the National Natural Science Foundation of China under Grant 61972363 and Grant 61672472.</p>
    </ack>
    <sec id="sec0100" sec-type="COI-statement">
      <title>Conflict of interest</title>
      <p>The authors declare no conflicts of interest.</p>
    </sec>
    <ref-list>
      <title>References</title>
      <ref id="ref001">
        <label>[1]</label>
        <mixed-citation> Sepulveda, E., &amp; Smith, H. (2017). Technology challenges of stealth unmanned combat aerial vehicles. <italic>The Aeronautical Journal, 121</italic>(1243), 1261-1295. [<uri>https://doi.org/10.1017/aer.2017.53</uri>] </mixed-citation>
      </ref>
      <ref id="ref002">
        <label>[2]</label>
        <mixed-citation> Qin, J., &amp; Wu, X. (2016, October). Modeling and simulation on the earliest launch time of ship-to-air missile of warship formation in cooperative air-defense. In <italic>2016 IEEE Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC)</italic> (pp. 375-379). IEEE. [<uri>https://doi.org/10.1109/IMCEC.2016.7867237</uri>] </mixed-citation>
      </ref>
      <ref id="ref003">
        <label>[3]</label>
        <mixed-citation> Gao, Y., Li, D. S., &amp; Zhong, H. (2020). A novel target threat assessment method based on three-way decisions under intuitionistic fuzzy multi-attribute decision making environment. <italic>Engineering Applications of Artificial Intelligence, 87</italic>, 103276. [<uri>https://doi.org/10.1016/j.engappai.2019.103276</uri>] </mixed-citation>
      </ref>
      <ref id="ref004">
        <label>[4]</label>
        <mixed-citation> Zhang, R., Chai, R., Chai, S., Xia, Y., &amp; Tsourdos, A. (2023). Design and practical implementation of a high efficiency two-layer trajectory planning method for AGV. <italic>IEEE transactions on industrial electronics, 71</italic>(2), 1811-1822. [<uri>https://doi.org/10.1109/TIE.2023.3250847</uri>] </mixed-citation>
      </ref>
      <ref id="ref005">
        <label>[5]</label>
        <mixed-citation> Bashir, N., Boudjit, S., Dauphin, G., &amp; Zeadally, S. (2023). An obstacle avoidance approach for UAV path planning. <italic>Simulation modelling practice and theory, 129</italic>, 102815. [<uri>https://doi.org/10.1016/j.simpat.2023.102815</uri>] </mixed-citation>
      </ref>
      <ref id="ref006">
        <label>[6]</label>
        <mixed-citation> Ren, Z., Rathinam, S., Likhachev, M., &amp; Choset, H. (2022). Multi-objective path-based D* lite. <italic>IEEE Robotics and Automation Letters, 7</italic>(2), 3318-3325. [<uri>https://doi.org/10.1109/LRA.2022.3146918</uri>] </mixed-citation>
      </ref>
      <ref id="ref007">
        <label>[7]</label>
        <mixed-citation> Chong, L., Jian, L., &amp; XueQuan, L. (2020). Static rectangle expansion A* algorithm for pathfinding. <italic>IEEE Transactions on Games, 14</italic>(1), 23-35. [<uri>https://doi.org/10.1109/TG.2020.3012602</uri>] </mixed-citation>
      </ref>
      <ref id="ref008">
        <label>[8]</label>
        <mixed-citation> Ali, H., Xiong, G., Haider, M. H., Tamir, T. S., Dong, X., &amp; Shen, Z. (2023). Feature selection-based decision model for UAV path planning on rough terrains. <italic>Expert Systems with Applications, 232</italic>, 120713. [<uri>https://doi.org/10.1016/j.eswa.2023.120713</uri>] </mixed-citation>
      </ref>
      <ref id="ref009">
        <label>[9]</label>
        <mixed-citation> Diao, Q., Zhang, J., Liu, M., &amp; Yang, J. (2023). A Disaster Relief UAV Path Planning Based on APF-IRRT* Fusion Algorithm. <italic>Drones, 7</italic>(5), 323. [<uri>https://doi.org/10.3390/drones7050323</uri>] </mixed-citation>
      </ref>
      <ref id="ref010">
        <label>[10]</label>
        <mixed-citation> Zhang, J., An, Y., Cao, J., Ouyang, S., &amp; Wang, L. (2023). UAV trajectory planning for complex open storage environments based on an improved RRT algorithm. <italic>IEEE Access, 11</italic>, 23189-23204. [<uri>https://doi.org/10.1109/ACCESS.2023.3252018</uri>] </mixed-citation>
      </ref>
      <ref id="ref011">
        <label>[11]</label>
        <mixed-citation> Hao, G., Lv, Q., Huang, Z., Zhao, H., &amp; Chen, W. (2023). Uav path planning based on improved artificial potential field method. <italic>Aerospace, 10</italic>(6), 562. [<uri>https://doi.org/10.3390/aerospace10060562</uri>] </mixed-citation>
      </ref>
      <ref id="ref012">
        <label>[12]</label>
        <mixed-citation> Liu, J., Yan, Y., Yang, Y., &amp; Li, J. (2024). An Improved Artificial Potential Field UAV Path Planning Algorithm Guided by RRT Under Environment-aware Modeling: Theory and Simulation. <italic>IEEE Access</italic>.[<uri>https://doi.org/10.1109/ACCESS.2024.3355275</uri>] </mixed-citation>
      </ref>
      <ref id="ref013">
        <label>[13]</label>
        <mixed-citation> Wu, J., Wang, H., Wang, Y., &amp; Liu, Y. (2021). UAV reactive interfered fluid path planning. <italic>Acta Automatica Sinica, 47</italic>(1), 1-16. </mixed-citation>
      </ref>
      <ref id="ref014">
        <label>[14]</label>
        <mixed-citation> Yang, T., Yang, F., &amp; Li, D. (2024). A New Autonomous Method of Drone Path Planning Based on Multiple Strategies for Avoiding Obstacles with High Speed and High Density. <italic>Drones, 8</italic>(5), 205. [<uri>https://doi.org/10.3390/drones8050205</uri>] </mixed-citation>
      </ref>
      <ref id="ref015">
        <label>[15]</label>
        <mixed-citation> Dewangan, R. K., Shukla, A., &amp; Godfrey, W. W. (2019). Three dimensional path planning using Grey wolf optimizer for UAVs. <italic>Applied Intelligence, 49</italic>, 2201-2217. [<uri>https://link.springer.com/article/10.1007/s10489-018-1384-y</uri>] </mixed-citation>
      </ref>
      <ref id="ref016">
        <label>[16]</label>
        <mixed-citation> Hu, K., &amp; Mo, Y. (2024). A novel unmanned aerial vehicle path planning approach: sand cat optimization algorithm incorporating learned behaviour. <italic>Measurement Science and Technology, 35</italic>(4), 046203. [<uri>https://iopscience.iop.org/article/10.1088/1361-6501/ad1977/meta</uri>] </mixed-citation>
      </ref>
      <ref id="ref017">
        <label>[17]</label>
        <mixed-citation> Zheng, R. Z., Zhang, Y., &amp; Yang, K. (2022). A transfer learning-based particle swarm optimization algorithm for travelling salesman problem. <italic>Journal of Computational Design and Engineering, 9</italic>(3), 933-948. [<uri>https://doi.org/10.1093/jcde/qwac039</uri>] </mixed-citation>
      </ref>
      <ref id="ref018">
        <label>[18]</label>
        <mixed-citation> Xue, J., &amp; Shen, B. (2023). Dung beetle optimizer: A new meta-heuristic algorithm for global optimization. <italic>The Journal of Supercomputing, 79</italic>(7), 7305-7336. [<uri>https://link.springer.com/article/10.1007/s11227-022-04959-6</uri>] </mixed-citation>
      </ref>
      <ref id="ref019">
        <label>[19]</label>
        <mixed-citation> Miao, C., Chen, G., Yan, C., &amp; Wu, Y. (2021). Path planning optimization of indoor mobile robot based on adaptive ant colony algorithm. <italic>Computers &amp; Industrial Engineering, 156</italic>, 107230. [<uri>https://doi.org/10.1016/j.cie.2021.107230</uri>] </mixed-citation>
      </ref>
      <ref id="ref020">
        <label>[20]</label>
        <mixed-citation> Shen, Q., Zhang, D., Xie, M., &amp; He, Q. (2023). Multi-strategy enhanced dung beetle optimizer and its application in three-dimensional UAV path planning. <italic>Symmetry, 15</italic>(7), 1432. [<uri>https://doi.org/10.3390/sym15071432</uri>] </mixed-citation>
      </ref>
      <ref id="ref021">
        <label>[21]</label>
        <mixed-citation> Lyu, L., Jiang, H., &amp; Yang, F. (2024). Improved Dung Beetle Optimizer Algorithm with Multi-Strategy for global optimization and UAV 3D path planning. <italic>IEEE Access</italic>. [<uri>https://doi.org/10.1109/ACCESS.2024.3401129</uri>] </mixed-citation>
      </ref>
      <ref id="ref022">
        <label>[22]</label>
        <mixed-citation> Jiachen, H., &amp; Li-hui, F. (2024). Robot path planning based on improved dung beetle optimizer algorithm. <italic>Journal of the Brazilian Society of Mechanical Sciences and Engineering, 46</italic>(4), 235. [<uri>https://link.springer.com/article/10.1007/s40430-024-04768-3</uri>] </mixed-citation>
      </ref>
      <ref id="ref023">
        <label>[23]</label>
        <mixed-citation> Wai, R. J., &amp; Prasetia, A. S. (2019). Adaptive neural network control and optimal path planning of UAV surveillance system with energy consumption prediction. <italic>IEEE Access, 7</italic>, 126137-126153. [<uri>https://doi.org/10.1109/ACCESS.2019.2938273</uri>] </mixed-citation>
      </ref>
      <ref id="ref024">
        <label>[24]</label>
        <mixed-citation> Liu, Y., Zheng, Z., Qin, F., Zhang, X., &amp; Yao, H. (2022). A residual convolutional neural network based approach for real-time path planning. <italic>Knowledge-Based Systems, 242</italic>, 108400. [<uri>https://doi.org/10.1016/j.knosys.2022.108400</uri>] </mixed-citation>
      </ref>
      <ref id="ref025">
        <label>[25]</label>
        <mixed-citation> Luo, X., Wang, Q., Gong, H., &amp; Tang, C. (2024). UAV path planning based on the average TD3 algorithm with prioritized experience replay. <italic>IEEE Access</italic>. [<uri>https://doi.org/10.1109/ACCESS.2024.3375083</uri>] </mixed-citation>
      </ref>
      <ref id="ref026">
        <label>[26]</label>
        <mixed-citation> Zhou, C., Gu, S., Wen, Y., Du, Z., Xiao, C., Huang, L., &amp; Zhu, M. (2020). The review unmanned surface vehicle path planning: Based on multi-modality constraint. <italic>Ocean Engineering, 200</italic>, 107043. [<uri>https://doi.org/10.1016/j.oceaneng.2020.107043</uri>] </mixed-citation>
      </ref>
      <ref id="ref027">
        <label>[27]</label>
        <mixed-citation> Huang, Z. M., Chen, W. N., Li, Q., Luo, X. N., Yuan, H. Q., &amp; Zhang, J. (2020). Ant colony evacuation planner: An ant colony system with incremental flow assignment for multipath crowd evacuation. <italic>IEEE Transactions on Cybernetics, 51</italic>(11), 5559-5572. [<uri>https://doi.org/10.1109/TCYB.2020.3013271</uri>] </mixed-citation>
      </ref>
      <ref id="ref028">
        <label>[28]</label>
        <mixed-citation> Yang, T., Yang, F., &amp; Li, D. (2022). An Air Target Course Prediction Method Based on Sub-Regions Divide and Conquer With Double Variable Weight. <italic>IEEE Access, 10</italic>, 117871-117885. [<uri>https://doi.org/10.1109/ACCESS.2022.3220676</uri>] </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>