<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jamp</journal-id>
      <journal-title-group>
        <journal-title>Journal of Applied Mathematics and Physics</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2327-4379</issn>
      <issn pub-type="ppub">2327-4352</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jamp.2026.142039</article-id>
      <article-id pub-id-type="publisher-id">jamp-149665</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Physics</subject>
          <subject>Mathematics</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Central Force Optimization Applied to the PBM Suite of Antenna Benchmarks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">0000-0001-6151-4097</contrib-id>
          <name name-style="western">
            <surname>Formato</surname>
            <given-names>Richard A.</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> Registered Patent Attorney &amp; Consulting Engineer, Harwich, MA, USA </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The author declares no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>02</day>
        <month>02</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>02</month>
        <year>2026</year>
      </pub-date>
      <volume>14</volume>
      <issue>02</issue>
      <fpage>735</fpage>
      <lpage>769</lpage>
      <history>
        <date date-type="received">
          <day>12</day>
          <month>12</month>
          <year>2025</year>
        </date>
        <date date-type="accepted">
          <day>11</day>
          <month>02</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>14</day>
          <month>02</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jamp.2026.142039">https://doi.org/10.4236/jamp.2026.142039</self-uri>
      <abstract>
        <p>Real-world optimization problems often require an external “modeling engine” that computes fitnesses or data that are then input to an objective function. These programs often have much longer runtimes than evaluating fitnesses solely with built-in compiler routines. The PBM suite of “real world” antenna benchmarks is an example. Using a stochastic optimizer on real-world problems can be quite challenging because every run returns a different “best” fitness. This issue is addressed by making many runs, often hundreds, possibly thousands, in order to generate meaningful statistics, but doing so may be prohibitive if external modeling is required. And even then the statistical nature of the results may obscure true global extrema. In addition, most of the time real-world problems do not come with a well-defined, clearly appropriate objective function. It falls to the practitioner to define one, which in itself can be a daunting task made even more difficult by using a stochastic optimizer because then every candidate fitness function must be evaluated statistically. This paper examines these and related issues by applying CFO to the PBM suite.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Optimization</kwd>
        <kwd>Global Search and Optimization</kwd>
        <kwd>π Fractions</kwd>
        <kwd>Central Force Optimization</kwd>
        <kwd>CFO</kwd>
        <kwd>PBM</kwd>
        <kwd>GASR</kwd>
        <kwd>Genetic Algorithm</kwd>
        <kwd>PBM Antenna Benchmarks</kwd>
        <kwd>Antenna</kwd>
        <kwd>Deterministic Algorithm</kwd>
        <kwd>Stochastic Algorithm</kwd>
        <kwd>Pseudorandomness</kwd>
        <kwd>Metaheuristic</kwd>
        <kwd>Evolutionary Algorithm</kwd>
        <kwd>Multidimensional Search</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>The PBM suite is a set of typical “real-world” engineering problems developed by Pantoja, Bretones and Martin. These problems do not have known solutions. They are designed to test the effectiveness of antenna optimization algorithms using the Numerical Electromagnetics Code as an external modeling engine. A major concern whenever external modeling is required with a stochastic optimizer is having to make multiple runs to evaluate how effective the optimizer is, but not so with a <italic>deterministic</italic> optimizer.</p>
      <p>Central Force Optimization (CFO) [<xref ref-type="bibr" rid="B1">1</xref>]-[<xref ref-type="bibr" rid="B4">4</xref>] is a deterministic gradient-like multi-dimensional search and optimization metaheuristic based on the metaphor of gravitational kinematics. It comprises two simple equations, and because the law of gravity is deterministic, so too is CFO, unlike many nature-inspired algorithms that are fundamentally stochastic.</p>
      <p>In this paper, CFO is applied to the PBM suite and its results compared to published performance data for other optimization algorithms. CFO acquits itself quite well. CFO’s gradient-like nature is discussed, and it is speculated that a “generalized hyperspace derivative” might be defined for optimization problems as a new mathematical construct based on the Unit Step function. What appears to be a sufficient but not necessary condition for local trapping of CFO, oscillation in the probe average distance curve, is discussed in the context of the theory of gravitational “resonant returns” that gives rise to strikingly similar oscillatory curves. It is suggested that this theory may be applicable to CFO as an aid to understanding trapping and to developing effective mitigation techniques, possibly based on a concept of “energy” in CFO space. It also is suggested that CFO may be re-formulated as a “total energy” model by analogizing conservation of energy for orbiting masses in physical space.</p>
      <p>This paper serves several purposes. The primary purpose is to report CFO’s performance against the PBM suite. Results from algorithms πCFO and πGASR are compared to the published PBM data and to CFO implemented without π fractions. π fractions are used to inject pseudorandomness into an algorithm and are discussed in detail. The comparison data are quite good. They demonstrate the general utility of π fractions in global search and optimization, in particular in rendering deterministic an otherwise probabilistic algorithm.</p>
      <p>The secondary purposes of this paper are i) to describe the CFO metaheuristic and to present its basic equations; ii) to suggest the possibility of a new mathematical construct, a “hyperspace directional derivative” based on the Unit step function; iii) to discuss the strikingly similar appearance of velocity curves for NEOs (Near Earth Objects in gravitationally trapped close encounters) with CFO’s average probe distance curves; iv) to suggest the possibility of using probe total “energy” as a measure of local trapping; and v) to suggest the possibility of re-formulating CFO using a conservation of energy model.</p>
      <p>CFO was introduced as a novel metaheuristic [<xref ref-type="bibr" rid="B1">1</xref>] that was applied to two problems in applied electromagnetics (EM): i) designing an equalizer for the canonical <italic>Fano Load</italic>; and ii) synthesizing a linear dipole array. CFO’s results were compared to data from several other algorithms, and it also was tested against many benchmark functions with analytically known maxima. The results suggested that CFO merited further development as a promising and robust optimization methodology, which indeed has been the case. CFO has been used to synthesize linear and circular antenna arrays, and it performed very well compared to the Quadrature Programming Method (QPM), to a Particle Swarm Optimization (PSO) algorithm, and to a Genetic Algorithm (GA) as reported in [<xref ref-type="bibr" rid="B5">5</xref>]. Even though CFO is perhaps not as well developed as many of the widely used evolutionary algorithms (EAs), it nevertheless has shown very robust performance and considerable promise for future development as discussed below.</p>
      <p>An important consideration in implementing CFO algorithms is the inclusion of some measure of pseudorandomness because doing so evidently improves decision space (DS) exploration. To that end, π fractions are applied to a version called πCFO and its performance is compared to the GA called πGASR using the PBM suite [<xref ref-type="bibr" rid="B6">6</xref>] as the test platform.</p>
      <p>The PBM paper [<xref ref-type="bibr" rid="B6">6</xref>] describes its purpose as follows: “This paper presents a new test suite formed not by artificial analytical functions but by a set of numerical electromagnetic problems aimed at facilitating the comparison of the performance of different EAs when they are applied in computational electromagnetics.”</p>
      <p>The PBM suite is specifically designed to objectively evaluate the performance of EAs used to solve complex “real world” EM problems. Representative, not exhaustive, examples of such algorithms might include: PSO-based array synthesis [<xref ref-type="bibr" rid="B7">7</xref>]; swarm intelligence optimization of layered media [<xref ref-type="bibr" rid="B8">8</xref>]; GA antenna modeling [<xref ref-type="bibr" rid="B9">9</xref>]; array design using GAs, and memetic and tabu search algorithms [<xref ref-type="bibr" rid="B10">10</xref>]; crack detection using a finite-difference frequency domain/PSO methodology [<xref ref-type="bibr" rid="B11">11</xref>]; Vee-dipole optimization using a bacteria foraging algorithm [<xref ref-type="bibr" rid="B12">12</xref>]; and GA-optimized MRI coil design [<xref ref-type="bibr" rid="B13">13</xref>]. These are the kinds of problems PBM is meant to address by objectively evaluating how well the associated optimizers perform. CFO is a candidate algorithm.</p>
      <p>EAs solve these problems by “evolving” solutions that are unavailable analytically or numerically. The plethora of nature-inspired EAs makes comparison very difficult without a standardized set of benchmarks for testing, which is why the PBM suite was developed PBM is based on the Numerical Electromagnetics Code (NEC) [<xref ref-type="bibr" rid="B14">14</xref>] and addresses this need for standardized testing of EA’s that are applied to optimized antenna design. It therefore is also a useful tool for evaluating how well CFO performs.</p>
      <p>An EA’s performance is measured in two ways: (i) by its <italic>effectiveness</italic> (accurately locating global maxima, values and locations) and (ii) by its <italic>efficiency</italic> (locating global maxima with minimum computational effort). An algorithm that fails to accurately locate global maxima obviously fails to accomplish its intended purpose and consequently is ineffective. EAs that are, on a relative basis, computationally intensive are less desirable than ones requiring fewer calculations. This paper uses these performance measures to compare CFO to the four EAs discussed in [<xref ref-type="bibr" rid="B6">6</xref>]. The results are, for the most part, very encouraging. CFO performs very well compared to the PBM EAs, and in many cases much better. But CFO does suffer limitations, primarily a consequence of its being deterministic, which renders it prone to local trapping.</p>
      <p>Because this paper touches on several topics, it is organized as follows.</p>
      <p>1. Introduction</p>
      <p>2. PBM Benchmarks: Overview &amp; NEC4</p>
      <p>2.1. The PBM Problems</p>
      <p>2.2. NEC4 Validation</p>
      <p>3. CFO Performance Summary</p>
      <p>3.1. Effectiveness</p>
      <p>3.2. Efficiency</p>
      <p>4. Pseudorandom CFO Using Pi Fractions</p>
      <p>4.1. π fractions</p>
      <p>4.2. Utility of π fractions in CFO</p>
      <p>5. Algorithms Compared</p>
      <p>6. Comparison Results</p>
      <p>7. The CFO Metaphor</p>
      <p>7.1. CFO, NEOs and Energy</p>
      <p>7.2. CFO Equations</p>
      <p>7.3. New “Hyperspace Directional Derivative”</p>
      <p>7.4. CFO Parameters</p>
      <p>8. Why a Deterministic Optimizer?</p>
      <p>9. Conclusion</p>
      <p>Appendix A: PBM Benchmarks—Geometries &amp; Landscapes </p>
      <p>Appendix B: CFO Pseudocode</p>
    </sec>
    <sec id="sec2">
      <title>2. PBM Benchmarks: Overview and NEC4</title>
      <sec id="sec2dot1">
        <title>2.1. The PBM Problems</title>
        <p>The PBM suite comprises five antenna problems designed to test an EA’s effectiveness and efficiency. They do not have known analytical solutions although, of course, the two-dimensional (2D) topologies can be visualized. <bold>Table 1</bold> lists the suite’s properties. In each case, the objective is to maximize the antenna’s directivity (“fitness”). Four of the problems are 2D, while the fifth is <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mtext> D </mml:mtext></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the number of dipole elements in a collinear array]. The 2D problem topologies (“landscapes”) are plotted in the Appendix to illustrate the nature and complexity of the decision space. Problems #1 and #4 are unimodal with a single global maximum. The first problem is “lumpy” with strong local maxima, whereas the fourth is “smooth”. Problem #2 is “noisy” in a complex landscape with large amplitude nearby local maxima. The third problem’s topology is extremely multimodal with four global maxima. Problem #5 is a unimodal high-dimensionality problem that optimizes the element spacing of an <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> -element collinear dipole array.</p>
        <p><bold>Table 1</bold><bold>.</bold>Properties of the PBM benchmark problems.</p>
        <table-wrap id="tbl1">
          <label>Table 1</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>PBM</bold>
                  <bold>Benchmark #</bold>
                </td>
                <td>
                  <bold>Problem Characteristics</bold>
                  (in each case objective is to maximize directivity)
                </td>
              </tr>
              <tr>
                <td>1</td>
                <td>Variable length center-fed dipole. 2D, unimodal, single global maximum, strong local maxima.</td>
              </tr>
              <tr>
                <td>2</td>
                <td>
                  Uniform 10-element array of center-fed
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mfrac>
                          <mml:mi>λ</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:mfrac>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  -dipoles. 2D, added Gaussian noise, single global maximum, multiple strong local maxima.
                </td>
              </tr>
              <tr>
                <td>3</td>
                <td>
                  8-element circular array of center-fed
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mfrac>
                          <mml:mi>λ</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:mfrac>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  -dipoles. 2D, highly multimodal, four global maxima.
                </td>
              </tr>
              <tr>
                <td>4</td>
                <td>Vee Dipole. 2D, unimodal, single global maximum, “smooth” landscape.</td>
              </tr>
              <tr>
                <td>5</td>
                <td>
                  Collinear
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>N</mml:mi>
                          <mml:mrow>
                            <mml:mi>e</mml:mi>
                            <mml:mi>l</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  -element array of center-fed
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mfrac>
                          <mml:mi>λ</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:mfrac>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  -dipoles.
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mrow>
                            <mml:msub>
                              <mml:mi>N</mml:mi>
                              <mml:mrow>
                                <mml:mi>e</mml:mi>
                                <mml:mi>l</mml:mi>
                              </mml:mrow>
                            </mml:msub>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                        <mml:mtext>D</mml:mtext>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  , unimodal, single global maximum.
                </td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec2dot2">
        <title>2.2. NEC4 Validation</title>
        <p>Because the PBM problems do not have analytic solutions, in [<xref ref-type="bibr" rid="B6">6</xref>] they were solved numerically using the Numerical Eletromagnetics Code (“NEC”). Anecdotally, NEC is considered by many engineers to be the “gold standard” for wire structure EM modeling, but it must be used correctly. The first step in evaluating CFO’s performance therefore is validation of the published PBM results. The five PBM benchmark antennas were modeled using the Numerical Electromagnetics Code Version 4.1 Double Precision (NEC4.1D) [<xref ref-type="bibr" rid="B14">14</xref>], which may be (probably is) a different version of NEC than the one used in [<xref ref-type="bibr" rid="B6">6</xref>]. The segmentation and wire radii used in [<xref ref-type="bibr" rid="B6">6</xref>] were replicated. More detailed discussion of the PBM problems and NEC4 input and output files are available online at the following website: <ext-link ext-link-type="uri" xlink:href="https://app.box.com/s/j6km9sy4udstujy5fx9e40p6ci70qs85">https://app.box.com/s/j6km9sy4udstujy5fx9e40p6ci70qs85</ext-link>. Each PBM antenna was modeled using the coordinates for the maxima reported in [<xref ref-type="bibr" rid="B6">6</xref>]. In several cases, they were estimated from graphical data and, as a consequence, are necessarily approximate. <bold>Table 2</bold><bold>(a)</bold> and <bold>Table 2</bold><bold>(</bold><bold>b</bold><bold>)</bold> summarize the results. In the “Domain” column, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mn> 1 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mn> 2 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> , respectively, refer to the abscissa and ordinate; <italic>λ</italic> is the wavelength; <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the problem’s dimensionality; and <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> D </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow><mml:mrow><mml:mi> P </mml:mi><mml:mi> B </mml:mi><mml:mi> M </mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> D </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow><mml:mrow><mml:mi> N </mml:mi><mml:mi> E </mml:mi><mml:mi> C </mml:mi><mml:mn> 4 </mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> , respectively, are the maximum directivities from the PBM paper and as computed by NEC4.1D for this paper.</p>
        <p>While the general conclusion is that NEC4 essentially recovers the PBM results, there are some noteworthy differences. For problems #1 and #2, NEC4’s computed directivities are slightly less than PBM’s. For problems #3 and #4, they are lower by wider margin. The best agreement is on problem #5 where the NEC4 and PBM data show very good agreement. What accounts for these discrepancies is not clear. There are several possible explanations, ranging from possibly different versions of NEC to compiler differences in creating the executables to slight differences in the antenna models, for example, source modeling (NEC4 excitation was modeled following the guidelines for the “EX0” card [<xref ref-type="bibr" rid="B14">14</xref>] (Part I, p. 48 <italic>et seq</italic>.). These differences between the PBM results and NEC4 notwithstanding, the validation test shows that NEC4 can be used effectively to assess CFO’s performance against the PBM benchmarks, and that CFO should recover maxima with similar amplitudes at about the same points in DS.</p>
        <p><bold>Table 2</bold><bold>.</bold>(a). PBM and NEC4 Results for Benchmarks #1-4; (b) PBM and NEC4 Results for Benchmark #5.</p>
        <table-wrap id="tbl2">
          <label>Table 2</label>
          <table>
            <tbody>
              <tr>
                <td colspan="12">
                  <bold>(a)</bold>
                </td>
              </tr>
              <tr>
                <td colspan="2" rowspan="2">
                  <bold>Problem #</bold>
                </td>
                <td colspan="9">
                  <bold>PBM</bold>
                </td>
                <td>
                  <bold>NEC4</bold>
                </td>
              </tr>
              <tr>
                <td colspan="3">
                  <bold>Domain</bold>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>P</mml:mi>
                            <mml:mi>B</mml:mi>
                            <mml:mi>M</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <italic>
                    <bold>
                      <sub>x</sub>
                    </bold>
                  </italic>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>N</mml:mi>
                            <mml:mi>E</mml:mi>
                            <mml:mi>C</mml:mi>
                            <mml:mn>4</mml:mn>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
              </tr>
              <tr>
                <td colspan="2">1</td>
                <td colspan="3">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>L</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>3</mml:mn>
                        <mml:mi>λ</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>θ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mfrac>
                          <mml:mi>π</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:mfrac>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  2.58
                  <italic>λ</italic>
                </td>
                <td colspan="2">0.63</td>
                <td colspan="2">3.32</td>
                <td>3.2</td>
              </tr>
              <tr>
                <td colspan="2">2</td>
                <td colspan="3">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>d</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>3</mml:mn>
                        <mml:mi>λ</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>θ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>π</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  ~5.85
                  <italic>λ</italic>
                  <sup>(1)</sup>
                </td>
                <td colspan="2">π/2</td>
                <td colspan="2">~18.3</td>
                <td>18.11</td>
              </tr>
              <tr>
                <td colspan="2">3</td>
                <td colspan="3">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>β</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>4</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>θ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>π</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">0.5, 1.5, 2.5, 3.5</td>
                <td colspan="2">π/2</td>
                <td colspan="2">~7.05</td>
                <td>6.15</td>
              </tr>
              <tr>
                <td colspan="2">4</td>
                <td colspan="3">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:msub>
                          <mml:mi>L</mml:mi>
                          <mml:mrow>
                            <mml:mi>a</mml:mi>
                            <mml:mi>r</mml:mi>
                            <mml:mi>m</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>1.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mfrac>
                          <mml:mi>π</mml:mi>
                          <mml:mrow>
                            <mml:mn>18</mml:mn>
                          </mml:mrow>
                        </mml:mfrac>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>α</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mfrac>
                          <mml:mi>π</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:mfrac>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  1.5
                  <italic>λ</italic>
                </td>
                <td colspan="2">0.834</td>
                <td colspan="2">~5.8</td>
                <td>4.8</td>
              </tr>
              <tr>
                <td colspan="12">
                  <bold>(b)</bold>
                </td>
              </tr>
              <tr>
                <td>
                  <bold>Problem #</bold>
                </td>
                <td colspan="2">
                  <bold># Dipoles</bold>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>N</mml:mi>
                          <mml:mi>d</mml:mi>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  <bold>Domain</bold>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>P</mml:mi>
                            <mml:mi>B</mml:mi>
                            <mml:mi>M</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>N</mml:mi>
                            <mml:mi>E</mml:mi>
                            <mml:mi>C</mml:mi>
                            <mml:mn>4</mml:mn>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
              </tr>
              <tr>
                <td>5</td>
                <td colspan="2">6</td>
                <td>5</td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>15</mml:mn>
                        <mml:mi>λ</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>1</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>i</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>5</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  0.99
                  <italic>λ</italic>
                </td>
                <td colspan="2">
                  ~11.25
                  <sup>(</sup>
                  <sup>2</sup>
                  <sup>)</sup>
                </td>
                <td colspan="2">11.22</td>
              </tr>
              <tr>
                <td>5</td>
                <td colspan="2">10</td>
                <td>9</td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>15</mml:mn>
                        <mml:mi>λ</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>1</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>i</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>9</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  0.99
                  <italic>λ</italic>
                </td>
                <td colspan="2">~19</td>
                <td colspan="2">19.10</td>
              </tr>
              <tr>
                <td>5</td>
                <td colspan="2">16</td>
                <td>15</td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>15</mml:mn>
                        <mml:mi>λ</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>1</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>i</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>15</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  0.99
                  <italic>λ</italic>
                </td>
                <td colspan="2">~31</td>
                <td colspan="2">30.97</td>
              </tr>
              <tr>
                <td>5</td>
                <td colspan="2">24</td>
                <td>23</td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>0.5</mml:mn>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>15</mml:mn>
                        <mml:mi>λ</mml:mi>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mn>1</mml:mn>
                        <mml:mo>≤</mml:mo>
                        <mml:mi>i</mml:mi>
                        <mml:mo>≤</mml:mo>
                        <mml:mn>23</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  0.99
                  <italic>λ</italic>
                </td>
                <td colspan="2">~47</td>
                <td colspan="2">46.88</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Note: <sup>(1)</sup> Values marked with ~ are estimated from Figure 6, Figure 9 or Figure 11 in [<xref ref-type="bibr" rid="B6">6</xref>]; <sup>(</sup><sup>2</sup><sup>)</sup> Values marked with ~ are estimated from Figure 13 in [<xref ref-type="bibr" rid="B6">6</xref>].</p>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. CFO Performance Summary</title>
      <sec id="sec3dot1">
        <title>3.1. Effectiveness</title>
        <p>This section summarizes CFO’s performance (Appendix A contains detailed discussions of each benchmark). CFO’s <italic>effectiveness</italic> is measured by how accurately it locates the PBM maxima (coordinates and maxima values, that is, best fitnesses). <bold>Table 3</bold> summarizes the coordinate results and <bold>Table 4</bold> the fitnesses (“∆” denotes difference in values). Inspection of these tables shows that the agreement generally is quite good.</p>
        <p>Turning to <bold>Table 3</bold>, for 2D problems #1 through #4, respectively, the coordinates agree to within (1.12%, 1.9%), (1.26%, 0.89%), (3.95%, 0.16%), and (0.03%, 14.75%) [relative to PBM’s coordinates]. The only significant disagreements are in the abscissas for problem #3 and the ordinates for problem #4. In the case of problem #3, the location of the global maximum at <inline-formula><mml:math><mml:mrow><mml:mi> β </mml:mi><mml:mo> = </mml:mo><mml:mn> 0.5 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> θ </mml:mi><mml:mo> = </mml:mo><mml:mfrac><mml:mi> π </mml:mi><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula> is known analytically. No computed value was reported in [<xref ref-type="bibr" rid="B6">6</xref>], so that the true degree of agreement is not known. For problem #4, the discrepancy in the inner angle <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> may be a result of modeling differences, or possibly using different versions of NEC. Of course, from a practical (read “engineering”) point of view, agreement to within about 15% probably is acceptable. NEC4 guidelines suggest that an Average Gain Test (AGT) value within about 15% indicates a good EM model. All models discussed here meet that test. For problem #5, the dipole separation for maximum directivity agreed to within 1% for all array sizes, which is quite good. If the 24-element array, for which <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> d </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mtext>   </mml:mtext><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mtext>   </mml:mtext><mml:mi> λ </mml:mi></mml:mrow></mml:math></inline-formula> , is excluded, then the agreement is even better, to within 0.7%.</p>
        <p><bold>Table 3</bold><bold>.</bold>Comparison of PBM and CFO maxima coordinates.</p>
        <table-wrap id="tbl3">
          <label>Table 3</label>
          <table>
            <tbody>
              <tr>
                <td rowspan="2">
                  <bold>PBM</bold>
                  <bold>Problem #</bold>
                </td>
                <td colspan="2">
                  <bold>PBM Coordinates</bold>
                </td>
                <td colspan="2">
                  <bold>CFO Coordinates</bold>
                </td>
                <td colspan="2">∆</td>
              </tr>
              <tr>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                          <mml:mrow>
                            <mml:mi>P</mml:mi>
                            <mml:mi>B</mml:mi>
                            <mml:mi>M</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                        <mml:mo>−</mml:mo>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                          <mml:mrow>
                            <mml:mi>C</mml:mi>
                            <mml:mi>F</mml:mi>
                            <mml:mi>O</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                          <mml:mrow>
                            <mml:mi>P</mml:mi>
                            <mml:mi>B</mml:mi>
                            <mml:mi>M</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                        <mml:mo>−</mml:mo>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                          <mml:mrow>
                            <mml:mi>C</mml:mi>
                            <mml:mi>F</mml:mi>
                            <mml:mi>O</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
              </tr>
              <tr>
                <td>1</td>
                <td>
                  2.58
                  <italic>λ</italic>
                </td>
                <td>0.63</td>
                <td>
                  2.55088
                  <italic>λ</italic>
                </td>
                <td>0.61805</td>
                <td>
                  0.02912
                  <italic>λ</italic>
                </td>
                <td>0.01195</td>
              </tr>
              <tr>
                <td>2a [no noise]</td>
                <td>
                  ~5.85
                  <italic>λ</italic>
                </td>
                <td>π/2</td>
                <td>
                  5.92359
                  <italic>λ</italic>
                </td>
                <td>1.55685</td>
                <td>
                  -0.07359
                  <italic>λ</italic>
                </td>
                <td>0.01395</td>
              </tr>
              <tr>
                <td>2b [noise]</td>
                <td>
                  nr
                  <sup>(1)</sup>
                </td>
                <td>nr</td>
                <td>
                  6.93601
                  <italic>λ</italic>
                </td>
                <td>1.54721</td>
                <td>---</td>
                <td>---</td>
              </tr>
              <tr>
                <td>3</td>
                <td>0.5</td>
                <td>π/2</td>
                <td>0.48024</td>
                <td>1.57327</td>
                <td>0.01976</td>
                <td>-0.00247</td>
              </tr>
              <tr>
                <td>4</td>
                <td>
                  1.5
                  <italic>λ</italic>
                </td>
                <td>0.834</td>
                <td>
                  1.49520
                  <italic>λ</italic>
                </td>
                <td>0.71098</td>
                <td>
                  0.00048
                  <italic>λ</italic>
                </td>
                <td>0.12302</td>
              </tr>
              <tr>
                <td>---</td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mo>,</mml:mo>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mi>i</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mo>,</mml:mo>
                        <mml:mo>⋯</mml:mo>
                        <mml:mo>,</mml:mo>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:msub>
                          <mml:mi>N</mml:mi>
                          <mml:mrow>
                            <mml:mi>e</mml:mi>
                            <mml:mi>l</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mo>,</mml:mo>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mi>i</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mo>,</mml:mo>
                        <mml:mo>⋯</mml:mo>
                        <mml:mo>,</mml:mo>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:msub>
                          <mml:mi>N</mml:mi>
                          <mml:mrow>
                            <mml:mi>e</mml:mi>
                            <mml:mi>l</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:mi>M</mml:mi>
                        <mml:mi>A</mml:mi>
                        <mml:mi>X</mml:mi>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mrow>
                            <mml:msubsup>
                              <mml:mi>d</mml:mi>
                              <mml:mi>i</mml:mi>
                              <mml:mrow>
                                <mml:mi>P</mml:mi>
                                <mml:mi>B</mml:mi>
                                <mml:mi>M</mml:mi>
                              </mml:mrow>
                            </mml:msubsup>
                            <mml:mo>−</mml:mo>
                            <mml:msubsup>
                              <mml:mi>d</mml:mi>
                              <mml:mi>i</mml:mi>
                              <mml:mrow>
                                <mml:mi>C</mml:mi>
                                <mml:mi>F</mml:mi>
                                <mml:mi>O</mml:mi>
                              </mml:mrow>
                            </mml:msubsup>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
              </tr>
              <tr>
                <td>5</td>
                <td colspan="2">
                  0.99
                  <italic>λ</italic>
                </td>
                <td colspan="2">
                  0.98310
                  <italic>λ</italic>
                  – 1
                  <italic>λ</italic>
                </td>
                <td colspan="2">
                  0.01
                  <italic>λ</italic>
                </td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Notes: <sup>(1)</sup> Not reported in [<xref ref-type="bibr" rid="B6">6</xref>].</p>
        <p><bold>Table 4</bold> compares CFO’s and PBM’s best fitnesses as measured by the difference of directivities, <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> D </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow><mml:mrow><mml:mi> P </mml:mi><mml:mi> B </mml:mi><mml:mi> M </mml:mi></mml:mrow></mml:msubsup><mml:mo> − </mml:mo><mml:msubsup><mml:mi> D </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow><mml:mrow><mml:mi> C </mml:mi><mml:mi> F </mml:mi><mml:mi> O </mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> . The differences are 3.43%, 0.36%, 27.74%, and 1.47%, respectively, for problems #1 through #4 [relative to PBM values]. The agreement is quite good, except for problem #3, which would be troublesome but for the data in <bold>Table 2(a)</bold>. NEC4 returned a directivity 6.15 at the points <inline-formula><mml:math display="inline"><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> β </mml:mi><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mi> θ </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> i </mml:mi><mml:mo> − </mml:mo><mml:mn> 0.5 </mml:mn><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mfrac><mml:mi> π </mml:mi><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mn> 2 </mml:mn><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mn> 3 </mml:mn><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mn> 4 </mml:mn></mml:mrow></mml:math></inline-formula> , instead of 7.05 as reported in [<xref ref-type="bibr" rid="B6">6</xref>]. If, in fact, 6.15 is the correct value, then the difference decreases to a more modest 5.47%. At a minimum, there appears to be a question concerning the accuracy of the result reported in [<xref ref-type="bibr" rid="B6">6</xref>], and CFO’s overall performance suggests that it accurately located the first global maximum for problem #3 after all. On problem #5 the directivity values are in excellent agreement across all array sizes. The differences range from only 0.08% (<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mn> 16 </mml:mn></mml:mrow></mml:math></inline-formula> ) to 0.52% (<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mn> 10 </mml:mn></mml:mrow></mml:math></inline-formula> ). In this case CFO recovered the PBM’s suite best fitnesses with very high accuracy.</p>
        <p><bold>Table 4</bold><bold>.</bold>Comparison of PBM and CFO best fitnesses.</p>
        <table-wrap id="tbl4">
          <label>Table 4</label>
          <table>
            <tbody>
              <tr>
                <td rowspan="2">
                  <bold>PBM</bold>
                  <bold>Problem #</bold>
                </td>
                <td colspan="3">
                  <bold>CFO Results</bold>
                </td>
                <td rowspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>P</mml:mi>
                            <mml:mi>B</mml:mi>
                            <mml:mi>M</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td rowspan="2">
                  ∆
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>P</mml:mi>
                            <mml:mi>B</mml:mi>
                            <mml:mi>M</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                        <mml:mo>−</mml:mo>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>C</mml:mi>
                            <mml:mi>F</mml:mi>
                            <mml:mi>O</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
              </tr>
              <tr>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msubsup>
                          <mml:mi>D</mml:mi>
                          <mml:mrow>
                            <mml:mi>max</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mi>C</mml:mi>
                            <mml:mi>F</mml:mi>
                            <mml:mi>O</mml:mi>
                          </mml:mrow>
                        </mml:msubsup>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
              </tr>
              <tr>
                <td>1</td>
                <td>
                  2.55088
                  <italic>λ</italic>
                </td>
                <td>0.61805</td>
                <td>3.20627</td>
                <td>3.32</td>
                <td>0.11373</td>
              </tr>
              <tr>
                <td>2a (without noise)</td>
                <td>
                  5.92359
                  <italic>λ</italic>
                </td>
                <td>1.55685</td>
                <td>18.3654</td>
                <td>
                  18.3
                  <sup>(1)</sup>
                </td>
                <td>−0.0654</td>
              </tr>
              <tr>
                <td>2b (with noise)</td>
                <td>
                  6.93601
                  <italic>λ</italic>
                </td>
                <td>1.54721</td>
                <td>18.6880</td>
                <td>
                  nr
                  <sup>(2)</sup>
                </td>
                <td>nr</td>
              </tr>
              <tr>
                <td>3</td>
                <td>0.48024</td>
                <td>1.57327</td>
                <td>6.48634</td>
                <td>
                  7.05
                  <sup>(1)</sup>
                </td>
                <td>0.56366</td>
              </tr>
              <tr>
                <td>4</td>
                <td>
                  1.49520
                  <italic>λ</italic>
                </td>
                <td>0.71098</td>
                <td>5.71479</td>
                <td>
                  5.8
                  <sup>(1)</sup>
                </td>
                <td>0.08521</td>
              </tr>
              <tr>
                <td>---</td>
                <td colspan="2">
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>d</mml:mi>
                          <mml:mi>i</mml:mi>
                        </mml:msub>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mo>,</mml:mo>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mi>i</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:mo>,</mml:mo>
                        <mml:mo>⋯</mml:mo>
                        <mml:mo>,</mml:mo>
                        <mml:mtext>
                           
                        </mml:mtext>
                        <mml:msub>
                          <mml:mi>N</mml:mi>
                          <mml:mrow>
                            <mml:mi>e</mml:mi>
                            <mml:mi>l</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td>---</td>
                <td>---</td>
                <td>---</td>
              </tr>
              <tr>
                <td>5 (6 el)</td>
                <td colspan="2">
                  0.99105
                  <italic>λ</italic>
                </td>
                <td>11.2202</td>
                <td>
                  ~11.25
                  <sup>(3)</sup>
                </td>
                <td>0.0298</td>
              </tr>
              <tr>
                <td>5 (7 el)</td>
                <td colspan="2">
                  0.98310
                  <italic>λ</italic>
                </td>
                <td>13.1826</td>
                <td>nr</td>
                <td>---</td>
              </tr>
              <tr>
                <td>5 (10 el)</td>
                <td colspan="2">
                  0.99421
                  <italic>λ</italic>
                </td>
                <td>19.0985</td>
                <td>
                  ~19
                  <sup>(2)</sup>
                </td>
                <td>-0.0985</td>
              </tr>
              <tr>
                <td>5 (13 el)</td>
                <td colspan="2">
                  0.99629
                  <italic>λ</italic>
                </td>
                <td>25.0611</td>
                <td>nr</td>
                <td>---</td>
              </tr>
              <tr>
                <td>5 (16 el)</td>
                <td colspan="2">
                  0.98958
                  <italic>λ</italic>
                </td>
                <td>30.9742</td>
                <td>
                  ~31
                  <sup>(2)</sup>
                </td>
                <td>0.0258</td>
              </tr>
              <tr>
                <td>5 (24 el)</td>
                <td colspan="2">
                  1.00000
                  <italic>λ</italic>
                </td>
                <td>46.8813</td>
                <td>
                  ~47
                  <sup>(2)</sup>
                </td>
                <td>0.1187</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Notes: <sup>(1)</sup>Values marked with are estimated from the figures in [<xref ref-type="bibr" rid="B6">6</xref>]. <sup>(2)</sup>nr – not reported in [<xref ref-type="bibr" rid="B6">6</xref>]. <sup>(3)</sup>Values marked with ~ are estimated from Figure 13 in [<xref ref-type="bibr" rid="B6">6</xref>].</p>
        <p>These data show that CFO essentially accurately recovered the global maximum for every one of the five PBM benchmark problems, with the caveat that it located only one of the four maxima for problem #3. This performance is better than any of the algorithms reported in [<xref ref-type="bibr" rid="B6">6</xref>]. None of those algorithms achieved 100% effectiveness. CFO therefore is very effective against the PBM antenna benchmarks.</p>
      </sec>
      <sec id="sec3dot2">
        <title>3.2. Efficiency</title>
        <p>An EA’s <italic>efficiency</italic> is measured by how computationally intensive it is. As the detailed results below show, CFO generally converges quickly, at least to the vicinity of a global maximum if trapping has not occurred. After its usually rapid rise, the best fitness often continues to increase, but much slower pace with only slight additional gains.</p>
        <p>Here, efficiency is measured by the total number of calculations (objective function evaluations) required for the best fitness to saturate. The PBM paper examines four algorithms: i) <italic><bold>GA-FPC</bold></italic>, ii) <italic><bold>μGA</bold></italic>, iii) <italic><bold>GA-RC</bold></italic>, and iv) <italic><bold>PSO</bold></italic> (see [<xref ref-type="bibr" rid="B6">6</xref>] for details). The first three are GA variants, while the fourth is a particle swarm. Because these algorithms are stochastic, each one was run twenty times to develop statistics. The “mean hit time” in Table II in [<xref ref-type="bibr" rid="B6">6</xref>] is the average generation number at which the global maximum was located. Thus, the <italic>average</italic> number of function evaluations is the product of mean hit time and the population size. <bold>Table 5</bold> shows this measure for the PBM algorithms, along with the total number of objective function evaluations for saturation of CFO’s best fitness [<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> v </mml:mi><mml:mi> a </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msup><mml:mi> j </mml:mi><mml:mo> ∗ </mml:mo></mml:msup><mml:mo> + </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , where <inline-formula><mml:math><mml:mrow><mml:msup><mml:mi> j </mml:mi><mml:mo> ∗ </mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is the CFO step at which the fitness saturated, and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the number of CFO “probes” (see §7.2)]. In <bold>Table 5</bold>, the <italic>best</italic> values are shown in bold <bold>red</bold> font, the <italic>second best</italic> in bold <bold>blue</bold>.</p>
        <p>On problem #1 CFO performed much better than all the other algorithms, requiring only 60 calculations to locate the global maximum compared to 1530 for the next best algorithm, <italic><bold>PSO</bold></italic>. On problem #2, without and with noise, CFO did not perform as well as <italic><bold>GA-FPC</bold></italic> and <italic><bold>μGA</bold></italic> by a factor of about 2 to 3. CFO was on par with <italic><bold>GA-RC</bold></italic>, and it did substantially better than <italic><bold>PSO</bold></italic>. For problem #3, CFO out-performed all the algorithms except <italic><bold>PSO</bold></italic>, whose performance was about 17% better. Two different CFO initial probe distributions were used on problem #4, with the result that CFO’s performance was comparable to <italic><bold>GA-FPC</bold></italic><italic><bold>’</bold></italic>s, and quite a bit better than <italic><bold>μGA</bold></italic><italic><bold>’</bold></italic>s and <italic><bold>GA-RC</bold></italic><italic><bold>’</bold></italic>s by at least a factor of 2. Compared to <italic><bold>PSO</bold></italic>, however, CFO did not do as well by a factor of about 3. Problems #5a and 5b in [<xref ref-type="bibr" rid="B6">6</xref>] (Table II) are 7 and 13 element collinear arrays, respectively [<xref ref-type="bibr" rid="B6">6</xref>] (p. 1119). For problem #5a CFO was nearly 15 times more efficient than the next most efficient algorithm, <italic><bold>PSO</bold></italic>. On problem #5b, CFO was more than 12 times more efficient, again compared to <italic><bold>PSO</bold></italic>. </p>
        <p><bold>Table 5</bold><bold>.</bold>CFO efficiency (# function evaluations).</p>
        <table-wrap id="tbl5">
          <label>Table 5</label>
          <table>
            <tbody>
              <tr>
                <td rowspan="2">
                  <bold>Problem #</bold>
                </td>
                <td rowspan="2">
                  <bold>CFO</bold>
                  <inline-formula>
                    <mml:math>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>N</mml:mi>
                          <mml:mrow>
                            <mml:mi>e</mml:mi>
                            <mml:mi>v</mml:mi>
                            <mml:mi>a</mml:mi>
                            <mml:mi>l</mml:mi>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                    </mml:math>
                  </inline-formula>
                </td>
                <td colspan="4">
                  <bold>Results from PBM Paper</bold>
                  [
                  <xref ref-type="bibr" rid="B6">6</xref>
                  ]
                  <bold>, Table II</bold>
                  (mean hit time x population)
                </td>
              </tr>
              <tr>
                <td>
                  <italic>
                    <bold>GA</bold>
                  </italic>
                  <bold>-</bold>
                  <italic>
                    <bold>FPC</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>μGA</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>GA</bold>
                  </italic>
                  <bold>-</bold>
                  <italic>
                    <bold>RC</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>PSO</bold>
                  </italic>
                </td>
              </tr>
              <tr>
                <td>1</td>
                <td>
                  <bold>60</bold>
                </td>
                <td>3140</td>
                <td>5065</td>
                <td>8920</td>
                <td>
                  <bold>1530</bold>
                </td>
              </tr>
              <tr>
                <td>2a [no noise]</td>
                <td>1320</td>
                <td rowspan="2">
                  <bold>360</bold>
                </td>
                <td rowspan="2">
                  <bold>450</bold>
                </td>
                <td rowspan="2">1400</td>
                <td rowspan="2">2280</td>
              </tr>
              <tr>
                <td>2b [with noise]</td>
                <td>768</td>
              </tr>
              <tr>
                <td>3</td>
                <td>
                  <bold>1050</bold>
                </td>
                <td>1940</td>
                <td>1685</td>
                <td>5040</td>
                <td>
                  <bold>900</bold>
                </td>
              </tr>
              <tr>
                <td>4</td>
                <td>
                  1488
                  <sup>(1)</sup>
                  <bold>1155</bold>
                </td>
                <td>1300</td>
                <td>3125</td>
                <td>3800</td>
                <td>
                  <bold>330</bold>
                </td>
              </tr>
              <tr>
                <td>5a</td>
                <td>
                  <bold>72</bold>
                </td>
                <td>1220</td>
                <td>1700</td>
                <td>
                  nr
                  <sup>(2)</sup>
                </td>
                <td>
                  <bold>1050</bold>
                </td>
              </tr>
              <tr>
                <td>5b</td>
                <td>
                  <bold>144</bold>
                </td>
                <td>3480</td>
                <td>5695</td>
                <td>nr</td>
                <td>
                  <bold>1770</bold>
                </td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Notes: <sup>(1)</sup>Different initial probe distributions; <sup>(2)</sup>Not reported in [<xref ref-type="bibr" rid="B6">6</xref>].</p>
        <p>CFO therefore more than holds its own in terms of computational efficiency, especially for an algorithm that is not as highly developed as those reported in [<xref ref-type="bibr" rid="B6">6</xref>]. Out of six problems, CFO performed the best on three, out-performing the other algorithms by a very wide margin. On problem #3, CFO turned in the second best result, but it was close to the best efficiency. On problem #4, CFO was the second best performer. And on problem #2 it was the third most efficient algorithm. Across the six problems, CFO was best on three and second best on two. <italic><bold>PSO</bold></italic> turned in the next best overall performance, placing first on two problems and second on three. On the one problem where CFO did not finish in the top two, it was the third best. Thus, CFO has clearly proven to be very competitive in terms of efficiency.</p>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. A Pseudorandom CFO Using π Fractions</title>
      <p>An important consideration in global search and optimization (GSO) is uniformity in randomly generated sample points because how well the decision space is sampled hangs in the balance. Sample points should be generated using a truly uniformly distributed random variable calculated from a probability distribution, but most pseudo random sequence generators fall short because their points in fact are not uniformly distributed (see the detailed discussion in [<xref ref-type="bibr" rid="B15">15</xref>]).</p>
      <p>Design and optimization (D&amp;O) problems in applied EM, in particular antenna D&amp;O, often rely on global search and optimization metaheuristics based on Nature-inspired metaphors. Because these algorithms are inherently stochastic each run produces different results. These uncertain outcomes can be mitigated by pseudo randomly sampling the decision space. The π fractions provide a method for creating deterministic uniformly distributed decision space sample points.</p>
      <sec id="sec4dot1">
        <title>4.1. π Fractions</title>
        <p>The π fractions comprise a set of random numbers extracted from the mathematical constant π that are uniformly distributed on the interval [0,1). They are generated by the Bailey, Borwein, Plouffe (BBP) hexadecimal digit extraction algorithm [<xref ref-type="bibr" rid="B16">16</xref>]. In an inherently deterministic algorithm like CFO, the π fractions can improve DS exploration by adding a measure of pseudorandomness [<xref ref-type="bibr" rid="B17">17</xref>]. Used in an inherently stochastic algorithm like πGASR [<xref ref-type="bibr" rid="B15">15</xref>] the π fractions render an otherwise stochastic algorithm effectively deterministic.</p>
        <p>A major advantage of determinism is that every optimization run with the same setup yields precisely the same results. This characteristic allows the algorithm designer to quickly and with certainty evaluate the effects of changes such as different run parameters or different fitness functions. By contrast, such evaluations using a stochastic algorithm require many independent runs, often hundreds or even thousands, to generate adequate statistics, and even then the results are imprecise because of their statistical nature. Having to make so many runs can be a very serious limitation in real-world optimization problems, especially ones that require relatively long-running external modeling engines such as NEC with highly segmented antennas [<xref ref-type="bibr" rid="B17">17</xref>].</p>
        <p>Alternatives to the π fraction approach include using a compiler’s built-in random number generator or a separately coded routine employing the same “seed” value on successive runs in order to generate a repeatable sequence of ostensibly “random” numbers. These approaches, however, run the risk of creating undesirable bi-dimensional correlations in high dimensionality decision spaces, an effect seen, for example, in Halton and van der Corput low-discrepancy sequences [<xref ref-type="bibr" rid="B18">18</xref>][<xref ref-type="bibr" rid="B19">19</xref>]. In many cases, the correlations are visually striking as seen in [<xref ref-type="bibr" rid="B20">20</xref>][<xref ref-type="bibr" rid="B21">21</xref>]. In contrast, undesirable correlations in the π fractions are readily avoided by not using them in their order of occurrence [<xref ref-type="bibr" rid="B15">15</xref>].</p>
        <p>In the present work, algorithms πCFO and πGASR [<xref ref-type="bibr" rid="B15">15</xref>] both employ the following π fraction pseudocode instead of using a compiler’s built-in random number generator. This procedure generates random real numbers <italic>a ≤ r</italic><italic><sub>i</sub></italic><italic>&lt; b</italic> and mitigates the correlation problems discussed above (note that initialization values are completely arbitrary). Algorithm πGASR is based on the modified GA described in [<xref ref-type="bibr" rid="B22">22</xref>] to which π fractions have been added.</p>
        <table-wrap id="tbl6">
          <label>Table 6</label>
          <table>
            <tbody>
              <tr>
                <td>
                  π
                  <italic>
                    <sub>i</sub>
                  </italic>
                  : {
                  <italic>π fractions in order of occurrence;</italic>
                  <italic>i=1,.., N</italic>
                  <italic>
                    <sub>π</sub>
                  </italic>
                  }
                  <italic>Initialize: N</italic>
                  <italic>
                    <sub>π</sub>
                  </italic>
                  ←
                  <italic>215,830</italic>
                  :
                  <italic>init</italic>
                  <italic>
                    <sub>1</sub>
                  </italic>
                  ← 17
                  <italic>init</italic>
                  <italic>
                    <sub>2</sub>
                  </italic>
                  ← 22 :
                  <italic>inc</italic>
                  ← 5 :
                  <italic>i</italic>
                  ←
                  <italic>init</italic>
                  <italic>
                    <sub>1</sub>
                  </italic>
                  <italic>
                    <bold>Procedure R</bold>
                  </italic>
                  <italic>
                    <bold>
                      <sub>π</sub>
                    </bold>
                  </italic>
                  <italic>
                    <bold>:</bold>
                  </italic>
                  <italic>generates a random number</italic>
                  <italic>in</italic>
                  <italic>[</italic>
                  <italic>a,b) using π fractions</italic>
                  <italic>r</italic>
                  <italic>
                    <sub>i</sub>
                  </italic>
                  =
                  <italic>a + (b-a)</italic>
                  π
                  <italic>
                    <sub>i</sub>
                  </italic>
                  <italic>i</italic>
                  ←
                  <italic>i</italic>
                  +
                  <italic>inc</italic>
                  <italic>if</italic>
                  <italic>i</italic>
                  &gt;
                  <italic>N</italic>
                  <italic>
                    <sub>π</sub>
                  </italic>
                  <inline-formula>
                    <mml:math>
                      <mml:mo>∴</mml:mo>
                    </mml:math>
                  </inline-formula>
                  <italic>i</italic>
                  ←
                  <italic>init</italic>
                  <italic>
                    <sub>2</sub>
                  </italic>
                  <italic>
                    <bold>End</bold>
                  </italic>
                  Pseudocode for π Fraction Random Numbers usedin Algorithms πCFO and πGASR
                </td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec4dot2">
        <title>4.2. Utility of π Fractions in CFO</title>
        <p>Under certain conditions, CFO is prone to trapping at local maxima or global maxima (for functions like PBM #3 that have multiple global maxima). When this happens oscillation in <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (average distance, CFO probe with the best fitness and all other probes, see §7.2) appears to be a sufficient but not necessary indicator. Typically, the oscillation in Davg is on a plateau-like region, often flat but not necessarily. An example of this effect is seen in the 30-dimensional (<inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 30 </mml:mn></mml:mrow></mml:math></inline-formula> ) Step function which is a standard benchmark defined as <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mo> − </mml:mo><mml:mstyle displaystyle="true"><mml:munderover><mml:mo> ∑ </mml:mo><mml:mrow><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mtext>   </mml:mtext><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> x </mml:mi><mml:mi> o </mml:mi></mml:msub><mml:mo> + </mml:mo><mml:mn> 0.5 </mml:mn></mml:mrow><mml:mo> ⌋ </mml:mo></mml:mrow><mml:mtext>   </mml:mtext></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mn> 2 </mml:mn></mml:msup></mml:mrow></mml:mstyle></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mo> − </mml:mo><mml:mn> 100 </mml:mn><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 100 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> . The Step is unimodal and highly discontinuous. In this paper, the usual global maximum of zero has been offset from the origin to the point <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> o </mml:mi></mml:msub><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mi> o </mml:mi></mml:msub></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> o </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 75.123 </mml:mn></mml:mrow></mml:math></inline-formula> . Perspective plots of the 30-D step appear in <xref ref-type="fig" rid="fig1">Figure 1(a)</xref> and <xref ref-type="fig" rid="fig1">Figure 1(b)</xref> (entire domain and region of global maximum, respectively).</p>
        <p>Using a π fraction IPD appears to defeat local trapping as shown in the <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> plots in <xref ref-type="fig" rid="fig2">Figure 2(a)</xref> and <xref ref-type="fig" rid="fig2">Figure 2(b)</xref> using, respectively, a uniform on-axis probe IPD and a random π fraction IPD. The oscillation associated with trapping is quite apparent in<xref ref-type="fig" rid="fig2">Figure 2(a)</xref>, but none is evient in<xref ref-type="fig" rid="fig2">Figure 2(b)</xref>. The first plot comprises two oscillatory plateaus connected by a substantial jump in Davg. But in contrast no such oscillation is evident in<xref ref-type="fig" rid="fig2">Figure 2(b)</xref>.</p>
        <fig id="fig1">
          <label>Figure 1</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId160.jpeg?20260214014940" />
        </fig>
        <p>(a)</p>
        <fig id="fig2">
          <label>Figure 2</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId161.jpeg?20260214014940" />
        </fig>
        <p>(b)</p>
        <p><bold>Figure 1</bold><bold>.</bold>(a) 2-D Step over domain; (b) 2-D Step near global max.</p>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. Algorithms Compared</title>
      <p>Data from three algorithms, CFO, πCFO, and πGASR are compared to the published PBM data. The PBM suite was initially studied using completely deterministic CFO without π fraction pseudorandomness, although a measure of pseudorandomness was otherwise introduced as described in [<xref ref-type="bibr" rid="B23">23</xref>]. Initial probe accelerations were set to zero, the Repositioning Factor (<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> ) was initialized and incremented deterministically, and a deterministic “Probe Line” Initial Probe Distribution (IPD) was used (for details see [<xref ref-type="bibr" rid="B23">23</xref>]). By contrast, the present version, πCFO, is pseudorandomized using π fractions to compute the initial probe accelerations, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , and the IPD. Run parameters were the same as in [<xref ref-type="bibr" rid="B15">15</xref>] with DS shrinking and early termination checking. Only <italic>one</italic> πCFO run was made for each benchmark because with π fractions algorithm remains completely deterministic.</p>
      <p>The second randomized algorithm applied to PBM is πGASR (Genetic Algorithm with Sibling Rivalry, discussed in detail in [<xref ref-type="bibr" rid="B15">15</xref>]). Because the original GASR is inherently stochastic, calls to the compiler’s built-in random number generator were replaced by the π fraction procedure described above (run parameters otherwise the same as in [<xref ref-type="bibr" rid="B15">15</xref>]). The best πGASR fitness over multiple runs is reported here because the very purpose of using π fractions is to eliminate true randomness by replacing it with deterministic pseudorandomness.</p>
      <fig id="fig3">
        <label>Figure 3</label>
        <graphic xlink:href="https://html.scirp.org/file/1724495-rId166.jpeg?20260214014941" />
      </fig>
      <p>(a)</p>
      <fig id="fig4">
        <label>Figure 4</label>
        <graphic xlink:href="https://html.scirp.org/file/1724495-rId167.jpeg?20260214014941" />
      </fig>
      <p>(b)</p>
      <p><bold>Figure 2</bold><bold>.</bold>(a) Uniform IPD; (b) π fraction IPD.</p>
    </sec>
    <sec id="sec6">
      <title>6. Comparison Results</title>
      <p><bold>Table 6</bold> compares the best fitness results for algorithms CFO, πCFO and πGASR to the published PBM data. While there are slight differences, overall the maximum directivity data are quite similar for all five problems. Consistency is very high on PBM #5 and somewhat lower on the others. In all cases, the best fitness is close to the reported PBM data, but, as pointed out above, some (minor) questions arise concerning the accuracy of some of the published PBM results. A fair reading of these data is that all the tested algorithms provide maximum directivities close to the actual maxima, and that the π fraction approach is effective in making stochastic πGASR deterministic so that only a single run is actually required instead of many.</p>
      <p><bold>Table 6</bold><bold>.</bold>Best fitness.</p>
      <table-wrap id="tbl7">
        <label>Table 7</label>
        <table>
          <tbody>
            <tr>
              <td rowspan="2">
                <bold>PBM</bold>
                <bold>Benchmark</bold>
              </td>
              <td colspan="4">
                <bold>Maximum Directivity</bold>
              </td>
            </tr>
            <tr>
              <td>
                <bold>PBM</bold>
              </td>
              <td>
                <bold>CFO</bold>
              </td>
              <td>
                <bold>πCFO</bold>
              </td>
              <td>
                <bold>πGASR</bold>
              </td>
            </tr>
            <tr>
              <td>1</td>
              <td>3.32</td>
              <td>3.20627</td>
              <td>3.24340</td>
              <td>3.25837</td>
            </tr>
            <tr>
              <td>2a (no noise)</td>
              <td>
                18.3
                <sup>(1)</sup>
              </td>
              <td>18.3654</td>
              <td>18.2810</td>
              <td>17.9473</td>
            </tr>
            <tr>
              <td>2b (noisy)</td>
              <td>
                <italic>nr</italic>
                <sup>(2)</sup>
              </td>
              <td>18.6880</td>
              <td>19.7609</td>
              <td>18.8314</td>
            </tr>
            <tr>
              <td>3</td>
              <td>
                7.05
                <sup>(1)</sup>
              </td>
              <td>6.48634</td>
              <td>6.57766</td>
              <td>6.57658</td>
            </tr>
            <tr>
              <td>4</td>
              <td>
                5.8
                <sup>(1)</sup>
              </td>
              <td>5.71479</td>
              <td>5.29663</td>
              <td>5.29663</td>
            </tr>
            <tr>
              <td>5 (6 el)</td>
              <td>
                ~11.25
                <sup>(3)</sup>
              </td>
              <td>11.2202</td>
              <td>11.2202</td>
              <td>11.2202</td>
            </tr>
            <tr>
              <td>5 (7 el)</td>
              <td>
                <italic>nr</italic>
              </td>
              <td>13.1826</td>
              <td>13.0918</td>
              <td>13.1826</td>
            </tr>
            <tr>
              <td>5 (10 el)</td>
              <td>
                ~19
                <sup>(2)</sup>
              </td>
              <td>19.0985</td>
              <td>19.0985</td>
              <td>19.0985</td>
            </tr>
            <tr>
              <td>5 (13 el)</td>
              <td>
                <italic>nr</italic>
              </td>
              <td>25.0611</td>
              <td>25.0035</td>
              <td>25.0035</td>
            </tr>
            <tr>
              <td>5 (16 el)</td>
              <td>
                ~31
                <sup>(2)</sup>
              </td>
              <td>30.9742</td>
              <td>30.9742</td>
              <td>30.9742</td>
            </tr>
            <tr>
              <td>5 (24 el)</td>
              <td>
                ~47
                <sup>(2)</sup>
              </td>
              <td>46.8813</td>
              <td>46.8813</td>
              <td>46.8813</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p>Notes: <sup>(1)</sup> Values estimated from the figures in [<xref ref-type="bibr" rid="B6">6</xref>]; <sup>(2)</sup><italic>nr</italic> – not reported in [<xref ref-type="bibr" rid="B6">6</xref>]; <sup>(3)</sup> Values marked with ~ are estimated from Figure 13 in [<xref ref-type="bibr" rid="B6">6</xref>].</p>
      <p>Coordinates for the best fitnesses are shown in <bold>Table 7</bold>. These data also show a high degree of consistency between the tested algorithms except for πGASR on PBM #2a where the <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mn> 1 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> coordinate is different from the other two algorithms’. This disagreement also shows up to a lesser degree in πGASR’s maximum directivity in <bold>Table 2</bold>. On PBM #5 the dipole element separations are all close to 0.99<italic>λ</italic> with the greatest variability returned by algorithm πCFO. The differences in <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> d </mml:mi><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , however, have no effect on the best fitness as seen in the remarkably consistent data in <bold>Table 6</bold>.</p>
      <p><bold>Table 7</bold><bold>.</bold>Best fitness coordinates.</p>
      <table-wrap id="tbl8">
        <label>Table 8</label>
        <table>
          <tbody>
            <tr>
              <td rowspan="2">
                <bold>PBM</bold>
                <bold>Benchmark</bold>
              </td>
              <td colspan="3">
                <bold>PBM</bold>
              </td>
              <td colspan="2">
                <bold>CFO</bold>
              </td>
              <td colspan="2">
                <bold>πCFO</bold>
              </td>
              <td colspan="2">
                <bold>πGASR</bold>
              </td>
            </tr>
            <tr>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>1</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td colspan="2">
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>1</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>1</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>1</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
            </tr>
            <tr>
              <td>1</td>
              <td>
                2.58
                <italic>λ</italic>
              </td>
              <td colspan="2">0.63</td>
              <td>
                2.5509
                <italic>λ</italic>
              </td>
              <td>0.6181</td>
              <td>2.5896</td>
              <td>0.6195</td>
              <td>2.5845</td>
              <td>0.6198</td>
            </tr>
            <tr>
              <td>2a (no noise)</td>
              <td>
                ~5.85
                <italic>λ</italic>
              </td>
              <td colspan="2">1.5730</td>
              <td>
                5.9236
                <italic>λ</italic>
              </td>
              <td>1.5569</td>
              <td>5.9246</td>
              <td>1.5554</td>
              <td>6.9270</td>
              <td>1.5467</td>
            </tr>
            <tr>
              <td>2b (noisy)</td>
              <td>
                nr
                <sup>(1)</sup>
              </td>
              <td colspan="2">nr</td>
              <td>
                6.9360
                <italic>λ</italic>
              </td>
              <td>1.5472</td>
              <td>5.8877</td>
              <td>1.5560</td>
              <td>9.8907</td>
              <td>1.5230</td>
            </tr>
            <tr>
              <td>3</td>
              <td>0.5</td>
              <td colspan="2">1.5730</td>
              <td>0.4802</td>
              <td>1.5733</td>
              <td>2.4806</td>
              <td>1.5611</td>
              <td>1.5201</td>
              <td>1.5704</td>
            </tr>
            <tr>
              <td>4</td>
              <td>
                1.5
                <italic>λ</italic>
              </td>
              <td colspan="2">0.834</td>
              <td>
                1.4952
                <italic>λ</italic>
              </td>
              <td>0.7110</td>
              <td>1.4913</td>
              <td>0.7176</td>
              <td>1.4942</td>
              <td>0.7317</td>
            </tr>
            <tr>
              <td colspan="10">
                Min/Max
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>d</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                      <mml:mtext>
                         
                      </mml:mtext>
                      <mml:mo>,</mml:mo>
                      <mml:mtext>
                         
                      </mml:mtext>
                      <mml:mi>i</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                      <mml:mtext>
                         
                      </mml:mtext>
                      <mml:mo>,</mml:mo>
                      <mml:mo>⋯</mml:mo>
                      <mml:mo>,</mml:mo>
                      <mml:mtext>
                         
                      </mml:mtext>
                      <mml:msub>
                        <mml:mi>N</mml:mi>
                        <mml:mrow>
                          <mml:mi>e</mml:mi>
                          <mml:mi>l</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
            </tr>
            <tr>
              <td>5</td>
              <td colspan="2">
                0.99
                <italic>λ</italic>
              </td>
              <td colspan="3">
                0.983/1
                <italic>λ</italic>
              </td>
              <td colspan="2">
                0.974/1.199
                <italic>λ</italic>
              </td>
              <td colspan="2">
                0.987/1
                <italic>λ</italic>
              </td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p>Notes: <sup>(1)</sup><italic>nr</italic> – not reported in [<xref ref-type="bibr" rid="B6">6</xref>].</p>
      <p>π fractions have been shown to be an effective approach to mitigating the inconsistency inherent in stochastic global search and optimization. Here, the case for using π fractions is made by way of example using the PBM antenna benchmarks as representative real-world problems requiring an external modeling engine for fitness calculation. Stochastic algorithms require multiple runs to build meaningful statistics, often runs numbering in the hundreds or more. This requirement usually is not a limitation when optimizing analytical benchmarks because fast built-in routines are used, but it easily becomes a very significant impediment when a long-running external modeling engine is required as is often the case for real-world problems. π fractions address this concern by rendering deterministic (pseudorandom) an otherwise probabilistic optimizer so that only a single run is required. π fractions also are useful in inherently deterministic algorithms by injecting a measure of pseudorandomness that may improve an algorithm’s ability to explore the decision space.</p>
    </sec>
    <sec id="sec7">
      <title>7. The CFO Metaphor</title>
      <p>There are many nature-inspired search and optimization EAs, as examples metaheuristics based on animal and insect behaviour, human population behaviour, or physical processes such as water drop pooling. Most of these algorithms are fundamentally stochastic because the processes they analogize are inherently random. In fact, their ability to locate maxima derives from this inherent randomness. Without it, these EAs cannot function, they fail completely.</p>
      <p>CFO, by contrast, is completely deterministic because it is based on the metaphor of gravitational kinematics, the branch of physics that computes the motion of masses moving solely under the influence of gravity. Because gravity is deterministic, so too is CFO. This feature is a significant improvement over stochastic algorithms. Every CFO run with the same setup parameters returns precisely the same results. But, of course, as with all deterministic methodologies, the downside is a tendency for CFO to become trapped at local maxima. In fact, the two major issues in CFO’s further development appear to be (1) finding effective ways of mitigating trapping and (2) establishing a precise methodology for specifying run parameters. This section describes CFO’s basic equations and discusses these issues, in particular oscillation in <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (defined below) as a harbinger of trapping and recent results in the astronomy literature that may be useful in understanding this phenomenon.</p>
      <p>Even though CFO is fundamentally deterministic, the algorithm designer is free to inject some randomness if doing so improves performance. When local trapping occurs, pseudorandom perturbation of CFO’s “probe” distribution may mitigate the trapping. The judicious injection of some measure of randomness has not been investigated here, but it has been used in other CFO implementations with very good results [<xref ref-type="bibr" rid="B23">23</xref>]. The author emphasizes CFO’s deterministic nature because CFO is one of very few algorithms that provide true reproducibility and control over computed results. This characteristic may be especially useful in parameter-tuning implementations in which CFO’s run parameters are adjusted using real-time feedback such as discussed in [<xref ref-type="bibr" rid="B24">24</xref>]. Some CFO implementations may benefit from a pseudorandom component, and that possibility certainly merits consideration. In fact, in [<xref ref-type="bibr" rid="B23">23</xref>] it is recommended for all CFO implementations.</p>
      <sec id="sec7dot1">
        <title>7.1. CFO, NEOs and Energy</title>
        <p>This section asks an interesting question, but does not answer it: Is there a connection between the orbital trajectories of Near Earth Objects (NEOs) and CFO? The basis for this question is an obvious similarity between the required velocity curve to avoid Earth collision with an NEO and CFO’s “average distance” plot. The possibility of a connection is entirely speculative, and it is raised to hopefully encourage the research that may resolve it.</p>
        <p>An NEO, for example a large asteroid, approaching planet Earth can become gravitationally “trapped” for a while. As a general rule, in the absence of friction or some other energy dissipation mechanism, an object’s trajectory will depend only upon its (constant) total energy. Recent work on gravitational “resonant returns” [<xref ref-type="bibr" rid="B25">25</xref>], however, shows that certain objects closely approaching the Earth can exchange energy with the planet without dissipation and, for some time at least, become gravitationally trapped in a tight orbit. If the orbit is such that the object passes through a small region of space known as a “keyhole”, then a collision with the Earth may occur. NEO’s not entering the keyhole cannot collide.</p>
        <p>Many NEO’s are asteroids that fall into this category and can be quite large, for example Apophis with approximate dimensions 340 × 450 meters. If an object of solid rock with those dimensions impacts the Earth the result likely is catastrophic, possibly cataclysmic. One way to avoid such an encounter is to “nudge” the object into a different orbit by slightly changing its velocity. Extending the model in [<xref ref-type="bibr" rid="B25">25</xref>] Schweikart <italic>et al</italic>. [<xref ref-type="bibr" rid="B26">26</xref>] calculate the required velocity change for asteroid Apophis to avoid the keyhole.<xref ref-type="fig" rid="fig2">Figure 2</xref> in [<xref ref-type="bibr" rid="B26">26</xref>], reproduced below with permission, plots the velocity change <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> v </mml:mi></mml:mrow></mml:math></inline-formula> required to modify the Apophis’ trajectory to avoid a collision with Earth as a function of when the encounter occurs (<xref ref-type="fig" rid="fig3">Figure 3</xref>).</p>
        <fig id="fig5">
          <label>Figure 5</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId194.jpeg?20260214014942" />
        </fig>
        <p><bold>Figure 3.</bold>Reproduction of<xref ref-type="fig" rid="fig2">Figure 2</xref> in Schweickart [<xref ref-type="bibr" rid="B16">16</xref>].</p>
        <p>The Apophis <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> v </mml:mi></mml:mrow></mml:math></inline-formula> plot is particularly interesting because of its unusual structure, two oscillatory plateau-like regions separated by a rapid rise in <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> v </mml:mi></mml:mrow></mml:math></inline-formula> . The oscillatory behaviour is a direct result of actual gravitational trapping in the physical Universe. An example is the MOID (Minimum Orbital Intersection Distance) plot in<xref ref-type="fig" rid="fig4">Figure 4</xref> in [<xref ref-type="bibr" rid="B25">25</xref>] which shows a similar oscillatory behavior. When MOID is zero impact occurs.</p>
        <fig id="fig6">
          <label>Figure 6</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId198.jpeg?20260214014943" />
        </fig>
        <p><bold>Figure 4.</bold><inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , 2D step function.</p>
        <p>The CFO-NEO nexus is a strikingly similar appearance of some of CFO’s <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> plots. An example is provided by the two-dimensional Step function <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> x </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mo> − </mml:mo><mml:mstyle displaystyle="true"><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:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><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> x </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> + </mml:mo><mml:mn> 0.5 </mml:mn></mml:mrow><mml:mo> ⌋ </mml:mo></mml:mrow><mml:mtext>   </mml:mtext></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mn> 2 </mml:mn></mml:msup></mml:mrow></mml:mstyle></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mn> 0 </mml:mn><mml:mrow></mml:mrow></mml:msubsup><mml:mo> = </mml:mo><mml:mn> 75.123 </mml:mn></mml:mrow></mml:math></inline-formula> whose <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> curve (average distance, CFO probe with the best fitness and all other probes) along with perspective views of the 2D Step.</p>
        <p>Not only is the structural similarity between the Apophis <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> v </mml:mi></mml:mrow></mml:math></inline-formula> plot and CFO’s <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> self-evident, it is quite remarkable and not limited only to the cutves’ appearances. The Apophis <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> v </mml:mi></mml:mrow></mml:math></inline-formula> and the resulting distance nudge <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:math></inline-formula> are proportional, that is <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> d </mml:mi><mml:mo> = </mml:mo><mml:mi> Δ </mml:mi><mml:mi> v </mml:mi><mml:mo> ⋅ </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> being the time, the epoch of encounter, while the Step’s <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is essentially the same quantity where the CFO run step number is in effect the time. Thus, the relationship between gravitational trapping in the real Universe and trapping near a maximum in metaphorical CFO space appears to be more than simply visual similarity. In the author’s opinion it is difficult to imagine that the Apophis curve, which is based on actual NEO gravitational trapping, and the CFO <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> curve, which is based on the metaphor of gravitational kinematics, are <italic>not</italic>manifestations of the same or, at a minimum, very similar underlying phenomena. Although admittedly speculative, the author believes that this similarity is compelling evidence of the validity of CFO’s gravitational metaphor, and that it might point the way to techniques for mitigating trapping. In particular, the analysis of Valsecchi <italic>et al</italic>. [<xref ref-type="bibr" rid="B25">25</xref>] may be directly applicable to improving CFO so that it avoids local trapping.</p>
        <p>Another possible application of the conservative energy exchange between a small object and a larger gravitating mass in a trapping encounter is using the object’s total energy, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> E </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mi> o </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , as a measure of trapping. This suggestion, too, is speculative in nature, but it reflects what appears t be a strong correlation between real gravitational kinematics and CFO’s metaphorical search methodology. If the effect of gravitational trapping is to modify <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> E </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mi> o </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , then with a suitable definition of energy in CFO space <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> E </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mi> o </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> may become a key factor in signalling trapping and possibly providing a mitigation mechanism simply by increasing its value. It may also be possible to re-formulate the basic CFO equations in terms of an energy model. Whether or not this approach has any merit is a question for researchers far more capable than the author, one that he hopes will be pursued.</p>
      </sec>
      <sec id="sec7dot2">
        <title>7.2. The CFO Equations</title>
        <p>CFO addresses the following problem: Locate the global maxima of the objective function <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><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:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> defined on the decision space (DS) <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mi> i </mml:mi><mml:mrow><mml:mi> min </mml:mi></mml:mrow></mml:msubsup><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> ≤ </mml:mo><mml:msubsup><mml:mi> x </mml:mi><mml:mi> i </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> i </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , the <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being <italic>decision variables</italic>, where <inline-formula><mml:math><mml:mi> i </mml:mi></mml:math></inline-formula> the coordinate number, and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the space’s dimensionality (number of coordinates). <italic>Fitness</italic> refers to the value of <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mover accent="true"><mml:mi> x </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> at the point <inline-formula><mml:math><mml:mover accent="true"><mml:mi> x </mml:mi><mml:mo> → </mml:mo></mml:mover></mml:math></inline-formula> . The objective function’s topology, which is unknown, may be continuous or discontinuous, highly multimodal or unimodal, and possibly subject to a set of constraints <inline-formula><mml:math display="inline"><mml:mi> Ω </mml:mi></mml:math></inline-formula> among the decision variables. While many optimization algorithms search for minima, CFO searches for maxima, that is, minimizing <inline-formula><mml:math><mml:mrow><mml:mo> − </mml:mo><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mover accent="true"><mml:mi> x </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> .</p>
        <p>CFO “flies” a group of “probes” through DS. Their trajectories are computed from the <italic>equations of motion</italic> for each probe’s acceleration and position vector. These equations are derived by generalizing Newton’s universal law of gravitation and law of motion from three-dimensional physical space to metaphorical <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> -dimensional “CFO space.” The resulting equations are [<xref ref-type="bibr" rid="B1">1</xref>]-[<xref ref-type="bibr" rid="B4">4</xref>]:</p>
        <disp-formula id="FD1">
          <label>(1)</label>
          <mml:math>
            <mml:mrow>
              <mml:msubsup>
                <mml:mover accent="true">
                  <mml:mi>a</mml:mi>
                  <mml:mo>→</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mi>p</mml:mi>
              </mml:msubsup>
              <mml:mo>=</mml:mo>
              <mml:mi>G</mml:mi>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mstyle displaystyle="true">
                <mml:munderover>
                  <mml:mo>∑</mml:mo>
                  <mml:mtable columnalign="left">
                    <mml:mtr>
                      <mml:mtd>
                        <mml:mrow>
                          <mml:mi>k</mml:mi>
                          <mml:mo>=</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:mtd>
                    </mml:mtr>
                    <mml:mtr>
                      <mml:mtd>
                        <mml:mrow>
                          <mml:mi>k</mml:mi>
                          <mml:mo>≠</mml:mo>
                          <mml:mi>p</mml:mi>
                        </mml:mrow>
                      </mml:mtd>
                    </mml:mtr>
                  </mml:mtable>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mi>p</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                </mml:munderover>
                <mml:mrow>
                  <mml:mi>U</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msubsup>
                        <mml:mi>M</mml:mi>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>k</mml:mi>
                      </mml:msubsup>
                      <mml:mo>−</mml:mo>
                      <mml:msubsup>
                        <mml:mi>M</mml:mi>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>p</mml:mi>
                      </mml:msubsup>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>⋅</mml:mo>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>M</mml:mi>
                            <mml:mrow>
                              <mml:mi>j</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                            <mml:mi>k</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:msubsup>
                            <mml:mi>M</mml:mi>
                            <mml:mrow>
                              <mml:mi>j</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                            <mml:mi>p</mml:mi>
                          </mml:msubsup>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mi>α</mml:mi>
                  </mml:msup>
                </mml:mrow>
              </mml:mstyle>
              <mml:mo>×</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msubsup>
                        <mml:mover accent="true">
                          <mml:mi>R</mml:mi>
                          <mml:mo>→</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>k</mml:mi>
                      </mml:msubsup>
                      <mml:mo>−</mml:mo>
                      <mml:msubsup>
                        <mml:mover accent="true">
                          <mml:mi>R</mml:mi>
                          <mml:mo>→</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>p</mml:mi>
                      </mml:msubsup>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mrow>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>|</mml:mo>
                        <mml:mrow>
                          <mml:mtext>
                             
                          </mml:mtext>
                          <mml:msubsup>
                            <mml:mover accent="true">
                              <mml:mi>R</mml:mi>
                              <mml:mo>→</mml:mo>
                            </mml:mover>
                            <mml:mrow>
                              <mml:mi>j</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                            <mml:mi>k</mml:mi>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:msubsup>
                            <mml:mover accent="true">
                              <mml:mi>R</mml:mi>
                              <mml:mo>→</mml:mo>
                            </mml:mover>
                            <mml:mrow>
                              <mml:mi>j</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                            <mml:mi>p</mml:mi>
                          </mml:msubsup>
                          <mml:mtext>
                             
                          </mml:mtext>
                        </mml:mrow>
                        <mml:mo>|</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mi>β</mml:mi>
                  </mml:msup>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD2">
          <label>(2)</label>
          <mml:math>
            <mml:mrow>
              <mml:msubsup>
                <mml:mover accent="true">
                  <mml:mi>R</mml:mi>
                  <mml:mo>→</mml:mo>
                </mml:mover>
                <mml:mi>j</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:msubsup>
              <mml:mo>=</mml:mo>
              <mml:msubsup>
                <mml:mover accent="true">
                  <mml:mi>R</mml:mi>
                  <mml:mo>→</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mi>p</mml:mi>
              </mml:msubsup>
              <mml:mo>+</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mn>2</mml:mn>
              </mml:mfrac>
              <mml:msubsup>
                <mml:mover accent="true">
                  <mml:mi>a</mml:mi>
                  <mml:mo>→</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mi>p</mml:mi>
              </mml:msubsup>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>Δ</mml:mi>
              <mml:msup>
                <mml:mi>t</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msup>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>j</mml:mi>
              <mml:mo>≥</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mtext>
                 
              </mml:mtext>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The probe number is <inline-formula><mml:math><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> p </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , and the time step (iteration) number is <inline-formula><mml:math><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> j </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the <italic>total</italic> number of probes and the <italic>total</italic> number of time steps, respectively. <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi> a </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mi> p </mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is “probe” <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> ’s acceleration at time step (iteration) <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> . <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi> R </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mi> j </mml:mi><mml:mi> p </mml:mi></mml:msubsup><mml:mo> = </mml:mo><mml:mstyle displaystyle="true"><mml:munderover><mml:mo> ∑ </mml:mo><mml:mrow><mml:mi> k </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mi> k </mml:mi><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:msub><mml:mover accent="true"><mml:mi> e </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> k </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is its position vector at step <inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> , where the <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mi> k </mml:mi><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> are probe <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> ’s coordinates at step <inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> e </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> k </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the unit vector along the <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> k </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> axis. Note that the version of eq. (2) in [<xref ref-type="bibr" rid="B1">1</xref>] contains a “velocity” term not included in the CFO formulation in [<xref ref-type="bibr" rid="B3">3</xref>]. The velocity term was dropped because including it actually impeded convergence (reasons unknown). In [<xref ref-type="bibr" rid="B1">1</xref>], however, this term already had been set to zero as a matter of convenience, so that from the outset it never was required, and consequently is no longer included.</p>
        <p>CFO “flies” its <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> probes through the decision space as a function of time (iteration number) along trajectories calculated using equations (1) and (2). A new probe distribution is computed at each step, and at the location of each probe the objective function’s fitness is computed. For example, at time step <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> at probe <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> ’s location, the fitness is <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> M </mml:mi><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mi> p </mml:mi></mml:msubsup><mml:mo> = </mml:mo><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mn> 1 </mml:mn><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msubsup><mml:mo> , </mml:mo><mml:msubsup><mml:mi> x </mml:mi><mml:mn> 2 </mml:mn><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msubsup><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msubsup><mml:mi> x </mml:mi><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </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:math></inline-formula> . Note that <inline-formula><mml:math><mml:mi> M </mml:mi></mml:math></inline-formula> does <italic>not</italic> mean “mass” (see [<xref ref-type="bibr" rid="B1">1</xref>] for a discussion of the symbology). Each of the other probes has a fitness <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> M </mml:mi><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mi> k </mml:mi></mml:msubsup><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mi> k </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:mi> p </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mi> p </mml:mi><mml:mo> + </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , associated with it at step <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> .</p>
        <p>The function <inline-formula><mml:math><mml:mrow><mml:mi> U </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mo> ⋅ </mml:mo><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> in eq. (1) is the Unit Step function, <inline-formula><mml:math><mml:mrow><mml:mi> U </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> z </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mtext>   </mml:mtext><mml:mtext>   </mml:mtext><mml:mtext>   </mml:mtext><mml:mi> z </mml:mi><mml:mo> ≥ </mml:mo><mml:mn> 0 </mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mtext>   </mml:mtext><mml:mtext> otherwise </mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:math></inline-formula> . Following standard notation, the magnitude of vector <inline-formula><mml:math><mml:mover accent="true"><mml:mi> B </mml:mi><mml:mo> → </mml:mo></mml:mover></mml:math></inline-formula> is <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> | </mml:mo><mml:mover accent="true"><mml:mi> B </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mo> | </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover><mml:mo> ∑ </mml:mo><mml:mrow><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msubsup><mml:mi> b </mml:mi><mml:mi> i </mml:mi><mml:mn> 2 </mml:mn></mml:msubsup></mml:mrow></mml:mstyle></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mn> 1 </mml:mn><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> , where the <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> b </mml:mi><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are its scalar components. <inline-formula><mml:math><mml:mi> G </mml:mi></mml:math></inline-formula> is CFO’s “gravitational constant,” and <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> the “time” interval between steps during which the acceleration is constant. It is important to remember that this terminology is chosen solely to reflect CFO’s gravitational metaphor, as is the factor <inline-formula><mml:math><mml:mrow><mml:mfrac><mml:mn> 1 </mml:mn><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula> in eq. (2), and beyond that there is no significance to the nomenclature. <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> are the CFO exponents. While <inline-formula><mml:math><mml:mi> G </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> have direct analogs in the equations of motion for gravitationally controlled real masses moving through physical space, there is no analog in Nature for <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> . They are included to provide added flexibility in how CFO is implemented by giving the algorithm designer the freedom to change how CFO’s “gravity” varies with mass or distance, or both, in order to achieve a more effective algorithm. Of course, <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> are perfectly acceptable parameters in metaphorical “CFO space,” because there gravity can be whatever the designer wants it to be.</p>
        <p>The Unit Step function in eq. (1) is extremely important because it creates positive-definite CFO mass. Under the gravitational analogy on which CFO is based objects in CFO space have “mass” just as they do in the physical Universe. But unlike real objects, mass in CFO space is a <italic>user-defined</italic>function of the objective function’s fitness (not necessarily the fitness value itself). The problem is, depending on how the user defines that function, the mass can be positive or negative. And negative mass leads to serious problems!</p>
        <p>In this paper CFO “mass,” by definition, is <inline-formula><mml:math><mml:mrow><mml:mi> U </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msubsup><mml:mi> M </mml:mi><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mi> k </mml:mi></mml:msubsup><mml:mo> − </mml:mo><mml:msubsup><mml:mi> M </mml:mi><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mi> p </mml:mi></mml:msubsup></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> ⋅ </mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msubsup><mml:mi> M </mml:mi><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mi> k </mml:mi></mml:msubsup><mml:mo> − </mml:mo><mml:msubsup><mml:mi> M </mml:mi><mml:mrow><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mi> p </mml:mi></mml:msubsup></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mi> α </mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> , that is, the difference in fitness values raised to the <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> power multiplied by the Unit Step. The <italic>difference</italic> of fitnesses intuitively seems to be a good measure of how much “gravitational” influence the value of the objective function at one point in the decision space should have on a probe at another point in the space, but other choices certainly are possible. The exponent <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> is optional, giving the algorithm designer added flexibility as discussed above. In marked contrast, with the difference of fitnesses definition, the Unit Step is an essential element, because without it the mass could be negative depending on which fitness is greater. In the real world, gravity always is attractive because mass is positive. Negative mass creates a repulsive gravitational force that flies probes away from maxima, instead of the positive gravitational force required to fly probes toward them. This is just the opposite of what CFO is intended to do. The Unit Step solves the negative mass problem by creating positive-definite CFO mass and, consequently, a positive gravitational force that is always attractive.</p>
        <p>A frequently used measure of how well CFO’s probes have clustered at a maximum is the average distance between the probe with the best fitness and all the other probes, normalized to the size of the decision space (length of the principal diagonal), that is, <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mfrac><mml:mn> 1 </mml:mn><mml:mrow><mml:mi> L </mml:mi><mml:mo> ⋅ </mml:mo><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mtext>   </mml:mtext><mml:mstyle displaystyle="true"><mml:munderover><mml:mo> ∑ </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msqrt><mml:mrow><mml:mtext>   </mml:mtext><mml:mstyle displaystyle="true"><mml:munderover><mml:mo> ∑ </mml:mo><mml:mrow><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mi> i </mml:mi><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow></mml:msubsup><mml:mo> − </mml:mo><mml:msubsup><mml:mi> x </mml:mi><mml:mi> i </mml:mi><mml:mrow><mml:msup><mml:mi> p </mml:mi><mml:mo> ∗ </mml:mo></mml:msup><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mn> 2 </mml:mn></mml:msup></mml:mrow></mml:mstyle></mml:mrow></mml:msqrt></mml:mrow></mml:mstyle></mml:mrow></mml:math></inline-formula> where <inline-formula><mml:math display="inline"><mml:mrow><mml:msup><mml:mi> p </mml:mi><mml:mo> ∗ </mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is the number of the probe with the best fitness, <inline-formula><mml:math><mml:mrow><mml:mi> L </mml:mi><mml:mo> = </mml:mo><mml:msqrt><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover><mml:mo> ∑ </mml:mo><mml:mrow><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mi> i </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow></mml:msubsup><mml:mo> − </mml:mo><mml:msubsup><mml:mi> x </mml:mi><mml:mi> i </mml:mi><mml:mrow><mml:mi> min </mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mn> 2 </mml:mn></mml:msup></mml:mrow></mml:mstyle></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> is the diagonal length, and <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi> R </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mi> j </mml:mi><mml:mi> p </mml:mi></mml:msubsup><mml:mo> = </mml:mo><mml:mstyle displaystyle="true"><mml:munderover><mml:mo> ∑ </mml:mo><mml:mrow><mml:mi> k </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msubsup><mml:mi> x </mml:mi><mml:mi> k </mml:mi><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:msub><mml:mover accent="true"><mml:mi> e </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> k </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is probe <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> ’s position vector at step <inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> . Plotting <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> as a function of the time step is helpful in showing how the probe distribution evolves. As pointed out in §4.1, oscillation in <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> g </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> appears to be a sufficient but not necessary condition for local trapping of CFO’s probe with the best fitness.</p>
      </sec>
      <sec id="sec7dot3">
        <title>7.3. A New “Hyperspace Directional Derivative”?</title>
        <p>The Unit Step introduced in the definition of mass in §7.2 may be important in another, purely mathematical way. It may be the basis for defining a new type of “hyperspace directional derivative.” This idea is entirely speculative because no such mathematical operator currently exists, but the author believes it merits consideration if it is shown to be widely useful in addressing high-dimensionality optimization problems generally. In Nature, gravity is a conservative vector force field that produces “action at a distance”. While its fundamental equations are vector in nature, gravity also can be calculated as the gradient of a scalar potential function, just as the electric field is derived from an electric potential. The general notion of a “gradient” also applies in CFO space, but to some degree its utility depends on how mass is defined. For example, in this CFO implementation with <inline-formula><mml:math><mml:mrow><mml:mi> α </mml:mi><mml:mo> = </mml:mo><mml:mi> β </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , the difference in fitness values divided by the distance between probes is essentially the square of the average slope, that is, the square of a derivative. When the Unit Step is included, this term, in a general sense, may be thought of as a sort of “generalized derivative”. However, with entirely different CFO mass definitions, or the present definition with different exponent values, this generalization may not be as apparent or compelling; but in this case it seems both clear and appropriate. This observation suggests the possibility of defining a new mathematical construct, a “hyperspace directional derivative”, that includes the Unit Step so that it always points towards an objective function’s maxima. The author makes this suggestion entirely on a speculative basis. As with the “energy” notions discussed in §7.1, whether or not this suggestion makes any sense is a question left to the mathematicians who hopefully will pursue CFO’s further development.</p>
      </sec>
      <sec id="sec7dot4">
        <title>7.4. CFO Parameters</title>
        <p>The CFO implementation described in this paper requires seven user-specified run parameters: <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mi> G </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> . They are all defined above, except <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , the “repositioning factor.” The probe initial acceleration could be used as an eighth parameter, but it is zero for all runs reported here. <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is an algorithmic element and has nothing to do with fundamental CFO theory. For the specific CFO implementation used in this paper, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> addresses the problem of errant probes. When equations (1) and (2) in §7.2 are used to compute a probe distribution, some “errant” probes may end up outside DS. When that happens the question is, how to get them back? There are many possibilities. For example, the decision space boundary could be made “reflecting” (probes bouncing back into the decision space) or “absorbing” (probes extinguished and replaced with a new ones), and so on. Another possibility is randomly re-initializing the errant probes’ locations, and most of these were tried during CFO’s early development. After evaluating various approaches a simple entirely empirical scheme was developed and is used here “<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> repositioning” where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the “repositioning parameter”.</p>
        <p>On a coordinate-by-coordinate basis, probes flying out of DS are placed a fraction, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , of the distance between the probe’s starting coordinate and the corresponding boundary coordinate. But because there is no obvious way to assign a value to <inline-formula><mml:math><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> , the following simple, deterministic, perhaps clumsy, but workable approach was taken. At each step, the current and previous four fitness values were stored in a 5-element array. <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> started at a value of 0.5 and was incremented by 0.005 whenever the absolute value of the difference between 5<sup>th</sup> array element and elements 3, 4, and 5 differed by less than 0.0005. If incrementing <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> in this manner results in <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub><mml:mo> ≥ </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> , then it was reset to the starting value, and this procedure repeated with the then current probe distribution. If the data reported here are used for validation, it is important to note that the five saved fitness values are not necessarily sequential because of how the array index was computed (see pseudocode in Appendix B has details), which then affects when <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is incremented. <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> ’s starting value and increment, and the fitness tolerance were determined empirically, that is, on a trial and error basis, as are all CFO parameters used in this and the other CFO papers.</p>
        <p>Of all the CFO parameters, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> seem to have the greatest effect by far on the algorithm’s performance. The sensitivity to <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is what led to the empirical scheme described above. Changing <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> generally improves convergence, because doing so avoids or terminates local trapping (this effect discovered empirically). The number of probes, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , determines how well the decision space is sampled, that is, how much information CFO has about the objective function at the start of a run. Numerical testing shows that CFO’s convergence frequently is a sensitive function of how many initial probes are deployed. Another related non-numerical factor is where the initial probes are placed. As some of the cases in §6 show, changing the initial probe distribution may make the difference between capturing the global maximum or missing it.</p>
        <p>The question of how best to assign values to CFO’s run parameters is very important, yet it remains unanswered. At this point, there is no methodology to do that. Like most EAs, actually using the algorithm for a specific problem or class of problems, that is, setting up and making many runs, results in the user’s learning how to make best use of the algorithm, so specifying run parameters is done empirically. Some parameter values work better than others, and the experience gained by making many runs is reflected in the user’s choice of parameters in subsequent ones.</p>
        <p>Of course, the result is that the user <italic>de facto</italic> becomes a part of the algorithm because every run includes a degree of subjectivity. Needless to say, it would be better to implement an EA using an objective methodology to specify run parameters, but there presently is none for CFO, or for that matter for most EAs. One significant advantage that CFO offers is its determinism. Results that are reproducible from one run to the next coupled with CFO’s frequently rapid convergence, even if to a local maximum, lend CFO to implementations that perform real-time parameter adjustments in response to a feedback mechanism. This sort of <italic>Reactive Search</italic> [<xref ref-type="bibr" rid="B24">24</xref>] may be particularly appropriate for CFO because the algorithm is fast and deterministic. It consequently is an extension that deserves consideration.</p>
      </sec>
    </sec>
    <sec id="sec8">
      <title>8. Why a Deterministic Optimizer?</title>
      <p>When it comes to selecting an optimization program there are countless algorithms to choose from, almost all of which are stochastic in nature. The number of effective fundamentally deterministic algorithms is actually quite limited (see for example [<xref ref-type="bibr" rid="B27">27</xref>] for a list). In addition, an important distinction must be drawn between benchmark test functions and real-world problem objective functions, the kind of fitness functions that practicing engineers routinely face.</p>
      <p>Real-world problems usually require a <italic>two-step</italic>solution whereas benchmark problems require only one. Optimization algorithms are almost always evaluated against benchmark suites for the very reason that the solutions are known in advance. An algorithm’s effectiveness is measured by the quality of its solutions (how close it comes to the known answers) and by the required computational effort (typically number of function evaluations). <italic>At no point is the fitness function itself an unknown, but this</italic><italic>is almost alway</italic><italic>s the case in real-world problems</italic>. As a consequence, the <italic>user</italic>, that is, the practicing engineer, must define a suitable objective function before any optimization can be done, and this added requirement makes solving the problem much harder because not all objective functions are well-behaved or for that matter yield good results even if they are. This dichotomy can be illustrated with a straight-forward example problem.</p>
      <p>When the very form of the objective function is unknown the entire optimization process must be repeated for <italic>every</italic> candidate function. While this is not a fundamental limitation, as a practical matter in many real-world cases it turns out to be one that simply cannot be overcome because, again as a practical matter, computation times frequently become too long. Evaluating a benchmark test function like the Step is straightforward and quick because it requires only built-in functions (summation, floor, exponentiation), but real problems usually are quite different.</p>
      <p>Real-world problems often require an external “modeling engine” that is frequently far more computationally intensive than using built-in functions. In antenna D&amp;O, for example, Finite Element and Method of Moments codes are popular with their attendant long run times. And this limitation renders statistical evaluations of candidate fitness functions completely impractical. As an example, the run time for the 7303-segment vehicle-mounted antenna model shown in<xref ref-type="fig" rid="fig5">Figure 5</xref> was 369 seconds on a 2.30GHz 8-core Core i7-3610QM machine using a multithreaded version of the Numerical Electromagnetics Code (NEC4/MP, [<xref ref-type="bibr" rid="B14">14</xref>]) under 64-bit Windows 7 [<xref ref-type="bibr" rid="B17">17</xref>]. An optimization run requiring, say, 1000 evaluations would take more than 102 hours, well over 4 days! And this must be repeated for <italic>each candidate</italic> fitness function!</p>
      <p>Knowing that an algorithm is effective against the Step Function tells the practitioner absolutely nothing about how to formulate useful fitness functions and whether or not the algorithm will work well against those functions whatever form they may take. Stochastic algorithms make answers to this and related questions very difficult and consequently are frequently not well-suited to solving the real-world problems routinely encountered by practicing engineers. CFO solves addresses this dilemma, and π fractions offer the potential of turning purely stochastic algorithms into pseudorandom, hence deterministic, ones. </p>
      <fig id="fig7">
        <label>Figure 7</label>
        <graphic xlink:href="https://html.scirp.org/file/1724495-rId396.jpeg?20260214014946" />
      </fig>
      <p><bold>Figure 5.</bold>Vehicle-mounted antenna.</p>
    </sec>
    <sec id="sec9">
      <title>9. Conclusions</title>
      <p>This paper describes Central Force Optimization, a deterministic, Nature-inspired evolutionary search and optimization metaheuristic that embraces the metaphor of gravitational kinematics. It reports the results of testing CFO against the PBM suite of antenna benchmarks. CFO acquits itself quite well, in many respects better than the more established EAs analyzed in the PBM paper [<xref ref-type="bibr" rid="B6">6</xref>]. CFO located all global maxima, even in a noisy decision landscape, and it did so with excellent efficiency. CFO generally performed better than the algorithms reported in [<xref ref-type="bibr" rid="B6">6</xref>].</p>
      <p>This paper also highlights the striking similarity between velocity curves for Near Earth Objects in close encounters with planet Earth and CFO’s average distance curves in the presence of local trapping. The nature of these plots suggests that oscillation is a sufficient but not necessary condition for local trapping, and that the theory of gravitational “resonant returns” might be of use in better understanding and perhaps mitigating trapping.</p>
      <p>The concept of “energy” in the gravitational metaphor was discussed, and suggestions made for its use as a test for local trapping and possibly a trapping mitigation mechanism. Also discussed was the possibility that CFO could be re-formulated on the basis of a “total energy” model.</p>
      <p>Finally, this paper suggests the possibility of a new mathematical construct, a hyperspace “directional derivative” based on the Unit Step function that always points towards a function’s maxima. This idea is admittedly entirely speculative in nature because no such mathematical operator currently exists, yet the author believes it does merit consideration by mathematicians far more capable than he.</p>
    </sec>
    <sec id="sec10">
      <title>Acknowledgements</title>
      <p>The author thanks the reviewers for their helpful comments that have improved this exposition. The author also wishes to acknowledge the following individuals who in various ways at various times have helped bring CFO to the attention of the optimization community. If CFO continues to realize what appears to be its considerable potential in no small measure it will be due to their interest and encouragement: Emeritus Professor Kusum Deep, Department of Mathematics, Indian Institute of Technology, Roorkee; Professor Mario Pavone, Department of Mathematics, University of Catania, Sicily, Italy; Professor Zhihua Cui, Taiyuan University of Science and Technology, Division of System Simulation and Computer Application, Taiyuan, Shanxi, China; Professor Nihad Dib, Department of Electrical Engineering, Jordan University of Science and Technology, Irbid, Jordan. If, on the other hand, CFO fails to meet this expectation then the responsibility is entirely the author’s.</p>
    </sec>
    <sec id="sec11">
      <title>Appendix A: PBM Benchmarks—Geometries, Landscapes &amp; NEC4 Files</title>
      <p>This section describes each PBM benchmark antenna and, for the 2D cases, its decision space using a perspective view of the topology. Additional perspective plots and projections onto the decision space’s principal planes as well as samples of the NEC4 input/output files used to generate the plots and to validate NEC4 are available online at the URL cited below.</p>
      <sec id="sec11dot1">
        <title>A.1. Benchmark #1: Variable Length Center-Fed Dipole</title>
        <p>The antenna geometry for Problem #1 is shown in <bold>Figure A1</bold>. The objective is to maximize a center-fed dipole’s directivity, <inline-formula><mml:math><mml:mi> D </mml:mi></mml:math></inline-formula> , as a function of its total length, <inline-formula><mml:math><mml:mi> L </mml:mi></mml:math></inline-formula> , and the polar angle, <inline-formula><mml:math><mml:mi> θ </mml:mi></mml:math></inline-formula> . A perspective view of the 2D landscape appears in <bold>Figure A2</bold> with additional plots available online at <ext-link ext-link-type="uri" xlink:href="https://app.box.com/s/j6km9sy4udstujy5fx9e40p6ci70qs85">https://app.box.com/s/j6km9sy4udstujy5fx9e40p6ci70qs85</ext-link> (the online data also include sample NEC4.1D input/output files). The topology is smoothly varying with a single global maximum and two local maxima of similar amplitude.</p>
        <fig id="fig8">
          <label>Figure 8</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId428.jpeg?20260214014950" />
        </fig>
        <p><bold>Figure A1.</bold> Dipole.</p>
        <fig id="fig9">
          <label>Figure 9</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId429.jpeg?20260214014951" />
        </fig>
        <p><bold>Figure A</bold><bold>2</bold><bold>.</bold> Benchmark #1 topology, perspective view.</p>
      </sec>
      <sec id="sec11dot2">
        <title>A.2. Benchmark #2: Uniform Dipole Array</title>
        <p>The problem #2 antenna is the uniform array of half-wave dipoles shown in <bold>Figure A3</bold>. All elements are center-fed with in-phase equal amplitude sources. The standard right-handed Cartesian coordinate system used by NEC4 is also shown, as are the polar angle <inline-formula><mml:math><mml:mi> θ </mml:mi></mml:math></inline-formula> and azimuth angle <inline-formula><mml:math><mml:mi> ϕ </mml:mi></mml:math></inline-formula> . The objective is to maximize directivity <inline-formula><mml:math><mml:mrow><mml:mi> D </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> d </mml:mi><mml:mo> , </mml:mo><mml:mi> θ </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> in the plane <inline-formula><mml:math><mml:mrow><mml:mi> ϕ </mml:mi><mml:mo> = </mml:mo><mml:mn> 90 </mml:mn><mml:mo> ˚ </mml:mo></mml:mrow></mml:math></inline-formula> as a function of element separation <inline-formula><mml:math><mml:mi> d </mml:mi></mml:math></inline-formula> and polar angle <inline-formula><mml:math><mml:mi> θ </mml:mi></mml:math></inline-formula> without and with the presence of additive Gaussian noise. <bold>Figure A4(a)</bold> shows the landscape without noise, and <bold>Figure A4(b)</bold> with it. Following [<xref ref-type="bibr" rid="B6">6</xref>], noise is generated by adding to the NEC4-computed directivity a normally distributed zero-mean, 0.2-variance random variable <inline-formula><mml:math><mml:mi> z </mml:mi></mml:math></inline-formula> , here computed using the Box Muller method [<xref ref-type="bibr" rid="B28">28</xref>][<xref ref-type="bibr" rid="B29">29</xref>] as: <inline-formula><mml:math><mml:mrow><mml:mi> z </mml:mi><mml:mo> = </mml:mo><mml:mi> μ </mml:mi><mml:mo> + </mml:mo><mml:mi> σ </mml:mi><mml:msqrt><mml:mrow><mml:mo> − </mml:mo><mml:mn> 2 </mml:mn><mml:mi> ln </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> s </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:msqrt><mml:mi> cos </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mn> 2 </mml:mn><mml:mi> π </mml:mi><mml:mtext>   </mml:mtext><mml:mi> t </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , where <inline-formula><mml:math><mml:mi> μ </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> σ </mml:mi></mml:math></inline-formula> , respectively, are the mean (zero) and standard deviation (0.4472), and <inline-formula><mml:math><mml:mi> s </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> are random variables uniformly distributed on [0,1]. <inline-formula><mml:math><mml:mi> s </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> are generated using the compiler’s internal RND function [<xref ref-type="bibr" rid="B30">30</xref>] seeded with the CFO run’s start time.</p>
        <fig id="fig10">
          <label>Figure 10</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId458.jpeg?20260214014951" />
        </fig>
        <p><bold>Figure A</bold><bold>3</bold><bold>.</bold> Uniform array of half-wave center-fed in-phase dipoles.</p>
        <fig id="fig11">
          <label>Figure 11</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId459.jpeg?20260214014951" />
        </fig>
        <p>(a)</p>
        <fig id="fig12">
          <label>Figure 12</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId460.jpeg?20260214014951" />
        </fig>
        <p>(b)</p>
        <p><bold>Figure A</bold><bold>4</bold><bold>.</bold> (a). Uniform half-wave dipole array without noise, perspective view; (b) Uniform dipole array with additive gaussian noise, perspective view.</p>
      </sec>
      <sec id="sec11dot3">
        <title>A.3. Benchmark #3: Circular Array of Half-Wave Dipoles</title>
        <p>The antenna for problem #3 is the circular array of half-wave dipoles shown in <bold>Figure A5</bold>. The array comprises eight dipoles parallel to the z-axis uniformly deployed on a one-wavelength radius circle. All elements are center-fed by equal-amplitude sources; but, following [<xref ref-type="bibr" rid="B6">6</xref>], the phase varies as <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> α </mml:mi><mml:mi> n </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mo> − </mml:mo><mml:mi> cos </mml:mi><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 2 </mml:mn><mml:mi> π </mml:mi><mml:mi> β </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> n </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math display="inline"><mml:mrow><mml:mi> n </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:mn> 8 </mml:mn></mml:mrow></mml:math></inline-formula> . The unit-amplitude excitation therefore is <inline-formula><mml:math><mml:mrow><mml:msub><mml:mtext> V </mml:mtext><mml:mi> n </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mi> cos </mml:mi><mml:msub><mml:mi> α </mml:mi><mml:mi> n </mml:mi></mml:msub><mml:mo> + </mml:mo><mml:mi> j </mml:mi><mml:mi> sin </mml:mi><mml:msub><mml:mi> α </mml:mi><mml:mi> n </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> . The objective is to maximize the directivity<inline-formula><mml:math><mml:mrow><mml:mi> D </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> β </mml:mi><mml:mo> , </mml:mo><mml:mi> θ </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> in the plane <inline-formula><mml:math display="inline"><mml:mrow><mml:mi> ϕ </mml:mi><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn><mml:mo> ˚ </mml:mo></mml:mrow></mml:math></inline-formula> as a function of the dimensionless phase parameter <inline-formula><mml:math><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> β </mml:mi><mml:mo> ≤ </mml:mo><mml:mn> 4 </mml:mn></mml:mrow></mml:math></inline-formula> and the polar angle <inline-formula><mml:math><mml:mi> θ </mml:mi></mml:math></inline-formula> . The range for <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> produces the four global maxima at <inline-formula><mml:math><mml:mrow><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:mi> i </mml:mi><mml:mo> − </mml:mo><mml:mn> 0.5 </mml:mn><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:mn> 4 </mml:mn><mml:mtext>   </mml:mtext><mml:mo> ; </mml:mo><mml:mtext>   </mml:mtext><mml:mi> θ </mml:mi><mml:mo> = </mml:mo><mml:mfrac><mml:mi> π </mml:mi><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> seen in the perspective topology plot in <bold>Figure A6</bold>.</p>
      </sec>
      <sec id="sec11dot4">
        <title>A.4. Benchmark #4: Vee Dipole</title>
        <p>The Vee-dipole antenna for benchmark #4 is shown in <bold>Figure A7</bold>. The antenna comprises two arms of length <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> r </mml:mi><mml:mi> m </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> with inner angle <inline-formula><mml:math><mml:mrow><mml:mn> 2 </mml:mn><mml:mi> α </mml:mi></mml:mrow></mml:math></inline-formula> connected by a feed segment of length <inline-formula><mml:math><mml:mrow><mml:mn> 2 </mml:mn><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> f </mml:mi><mml:mi> e </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> fed at its midpoint. The objective is to maximize the directivity <inline-formula><mml:math><mml:mrow><mml:mi> D </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mi> o </mml:mi><mml:mi> t </mml:mi><mml:mi> a </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:mi> α </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> along the +X-axis as a function of the total dipole length <inline-formula><mml:math><mml:mrow><mml:mn> 0.5 </mml:mn><mml:mi> λ </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mi> o </mml:mi><mml:mi> t </mml:mi><mml:mi> a </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> a </mml:mi><mml:mi> r </mml:mi><mml:mi> m </mml:mi></mml:mrow></mml:msub><mml:mo> + </mml:mo><mml:mn> 2 </mml:mn><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> f </mml:mi><mml:mi> e </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 1.5 </mml:mn><mml:mi> λ </mml:mi></mml:mrow></mml:math></inline-formula> and the inner half-angle <inline-formula><mml:math><mml:mrow><mml:mfrac><mml:mi> π </mml:mi><mml:mrow><mml:mn> 18 </mml:mn></mml:mrow></mml:mfrac><mml:mo> ≤ </mml:mo><mml:mi> α </mml:mi><mml:mo> ≤ </mml:mo><mml:mfrac><mml:mi> π </mml:mi><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula> with <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> f </mml:mi><mml:mi> e </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mn> 0.01 </mml:mn><mml:mi> λ </mml:mi></mml:mrow></mml:math></inline-formula> . Topology of benchmark #4’s decision space appears in <bold>Figure A8</bold>. This objective function is unimodal with a single global maximum at <inline-formula><mml:math><mml:mrow><mml:mi> D </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mi> o </mml:mi><mml:mi> t </mml:mi><mml:mi> a </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:mi> α </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mn> 1.5 </mml:mn><mml:mi> λ </mml:mi><mml:mo> , </mml:mo><mml:mn> 0.834 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . The surface is smoothly varying without pronounced local maxima.</p>
        <fig id="fig13">
          <label>Figure 13</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId495.jpeg?20260214014953" />
        </fig>
        <p><bold>Figure A</bold><bold>5</bold><bold>.</bold> Circular array of half-wave dipoles (1<italic>λ</italic> radius).</p>
        <fig id="fig14">
          <label>Figure 14</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId496.jpeg?20260214014953" />
        </fig>
        <p><bold>Figure A</bold><bold>6</bold><bold>.</bold> Circular array landscape, perspective view.</p>
        <fig id="fig15">
          <label>Figure 15</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId497.jpeg?20260214014953" />
        </fig>
        <p><bold>Figure A</bold><bold>7</bold><bold>.</bold> Vee dipole.</p>
        <fig id="fig16">
          <label>Figure 16</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId498.jpeg?20260214014952" />
        </fig>
        <p><bold>Figure A</bold><bold>8</bold><bold>.</bold> Vee dipole decision space topology, perspective view.</p>
      </sec>
      <sec id="sec11dot5">
        <title>A.5. Benchmark #5: N-element Collinear Dipole Array</title>
        <p>Benchmark #5 is a collinear array of <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> half-wave dipoles as shown in <bold>Figure A9</bold>. All elements are center-fed in-phase with equal amplitudes sources. The objective is to maximize directivity <inline-formula><mml:math><mml:mrow><mml:mi> D </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> d </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> , </mml:mo><mml:mi> i </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> in the plane <inline-formula><mml:math><mml:mrow><mml:mi> ϕ </mml:mi><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn><mml:mo> ˚ </mml:mo></mml:mrow></mml:math></inline-formula> as a function of the element center-to-center spacings <inline-formula><mml:math><mml:mrow><mml:mn> 0.5 </mml:mn><mml:mi> λ </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> d </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 1.5 </mml:mn><mml:mi> λ </mml:mi></mml:mrow></mml:math></inline-formula> . Because there are <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> spacings in an <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> array, the dimensionality of this problem is <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> e </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mtext> D </mml:mtext></mml:mrow></mml:math></inline-formula> , unlike the previous four benchmarks each of which is 2D. As discussed at length in [<xref ref-type="bibr" rid="B6">6</xref>], maximum directivity occurs at <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> d </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 0.99 </mml:mn><mml:mi> λ </mml:mi><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mo> ∀ </mml:mo><mml:mi> i </mml:mi></mml:mrow></mml:math></inline-formula> independent of the number of elements, that is, with all dipoles spaced <inline-formula><mml:math><mml:mrow><mml:mn> 0.99 </mml:mn><mml:mi> λ </mml:mi></mml:mrow></mml:math></inline-formula> regardless of the array size. Of course, the value of the directivity does depend on the array size, increasing approximately in proportion to the length.</p>
        <fig id="fig17">
          <label>Figure 17</label>
          <graphic xlink:href="https://html.scirp.org/file/1724495-rId517.jpeg?20260214014953" />
        </fig>
        <p><bold>Figure A</bold><bold>9</bold><bold>.</bold><italic>N</italic><italic><sub>el</sub></italic>-element collinear dipole array.</p>
      </sec>
    </sec>
    <sec id="sec12">
      <title>Appendix B: CFO Pseudocode</title>
      <p>As discussed in §7.4 specifying run parameters is an important consideration in setting up a CFO run. Some of that discussion is consequently repeated here. A CFO run requires seven user-specified parameters: <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mi> G </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , some of which appear to be more important than others. A possible eighth parameter is the initial probe acceleration, which is set to zero for all runs reported here and consequently is not included in this list. Constant values for <inline-formula><mml:math><mml:mi> G </mml:mi></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> combine multiplicatively in a single coefficient, but of course these parameters could be separated and varied during a run. For the runs reported here, <inline-formula><mml:math><mml:mrow><mml:mi> α </mml:mi><mml:mo> = </mml:mo><mml:mi> β </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> because this value seems to provide good results for many test functions and may be good default values. In this paper, there is no change in fitness value or average probe distance between steps 0 and 1 because the initial acceleration is set to zero.</p>
      <p>CFO is a simple algorithm that is easily implemented. These are the basic steps:</p>
      <p><bold>(a)</bold> compute initial probe positions and corresponding objective function fitnesses and assign initial accelerations</p>
      <p><bold>(b)</bold> successively compute each probe’s new position using equation (2) §7.2 based on previously computed accelerations using equation (1) §7.2</p>
      <p><bold>(c)</bold> verify that each probe is located inside the decision space, making corrections as required</p>
      <p><bold>(d)</bold> update fitness at each new probe position</p>
      <p><bold>(e)</bold> compute accelerations for the next time step using new positions</p>
      <p><bold>(f)</bold> loop over time steps or until termination criterion is met.</p>
      <p>While the initial acceleration is zero for runs reported here, a non-zero value would “fly” probes in the directions of the accelerations at step 0 which may or may not improve performance. Because CFO may fly probes outside the DS domain into regions of unallowable solutions, any errant probes should be returned to the decision space. There are many possible retrieval schemes, and the one used here is simple and deterministic as described below and in §7.4. The repositioning factor, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , which is used to return errant probes, in fact is one of CFO’s most important parameters. When and how it should be changed are unanswered questions. The simple approach below seems to provide good results, and it was chosen solely for that reason.</p>
      <p>Note that all CFO parameters presently are chosen on an empirical basis, that is, by “trial and error” because there is no methodology at this point for specifying their values. This question remains a pressing one in CFO’s further development. The parameter values that have been used provide good results for the purpose of demonstrating CFO’s effectiveness and efficiency as an optimization metaheuristic against the PBM suite, but these are not necessarily the best values.</p>
      <p>CFO pseudocode is as follows with values for <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> s </mml:mi><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mi> T </mml:mi><mml:mi> O </mml:mi><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> f </mml:mi><mml:mi> i </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:msub><mml:mtext>   </mml:mtext><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:msubsup><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow><mml:mrow><mml:mi> i </mml:mi><mml:mi> n </mml:mi><mml:mi> i </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are those used in this paper as shown:</p>
      <p><bold>(1)</bold><bold>Data Structures</bold></p>
      <p>(A) Create arrays <inline-formula><mml:math><mml:mrow><mml:mi> R </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> i </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> [position vectors], <inline-formula><mml:math><mml:mrow><mml:mi> A </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> i </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> [accelerations], <inline-formula><mml:math><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> p </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> i </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> j </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> [probe #, coordinate #, time step #]</p>
      <p>(B) Create fitness array <inline-formula><mml:math><mml:mrow><mml:mi> M </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> R </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> i </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></p>
      <p>(C) Create array of last <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> s </mml:mi><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> best fitnesses <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> M </mml:mi><mml:mrow><mml:mi> b </mml:mi><mml:mi> e </mml:mi><mml:mi> s </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo> ( </mml:mo><mml:mi> q </mml:mi><mml:mo> ) </mml:mo></mml:mrow><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mn> 1 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> q </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> s </mml:mi><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></p>
      <p><bold>(2)</bold><bold>Initialization</bold></p>
      <p>At time step <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> :</p>
      <p>(A) (i) Uniform probes on each coordinate axis (note: <inline-formula><mml:math><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula> , # probes/dimension, user-specified).</p>
      <disp-formula id="FD3">
        <mml:math>
          <mml:mrow>
            <mml:mi>i</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD4">
        <mml:math>
          <mml:mrow>
            <mml:mi>p</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>n</mml:mi>
            <mml:mo>+</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</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:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>p</mml:mi>
                </mml:msub>
              </mml:mrow>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>d</mml:mi>
                </mml:msub>
              </mml:mrow>
            </mml:mfrac>
            <mml:mo>,</mml:mo>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mi>R</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>i</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:msubsup>
              <mml:mi>x</mml:mi>
              <mml:mi>i</mml:mi>
              <mml:mrow>
                <mml:mi>min</mml:mi>
              </mml:mrow>
            </mml:msubsup>
            <mml:mo>+</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>n</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </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:mrow>
                        <mml:mi>max</mml:mi>
                      </mml:mrow>
                    </mml:msubsup>
                    <mml:mo>−</mml:mo>
                    <mml:msubsup>
                      <mml:mi>x</mml:mi>
                      <mml:mi>i</mml:mi>
                      <mml:mrow>
                        <mml:mi>min</mml:mi>
                      </mml:mrow>
                    </mml:msubsup>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mi>p</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mi>d</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                </mml:mfrac>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:mfrac>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mo>.</mml:mo>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(A) (ii) Probes slightly off decision space diagonal</p>
      <disp-formula id="FD5">
        <mml:math>
          <mml:mrow>
            <mml:mi>p</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD6">
        <mml:math display="inline">
          <mml:mrow>
            <mml:mi>R</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>i</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:msubsup>
              <mml:mi>x</mml:mi>
              <mml:mi>i</mml:mi>
              <mml:mrow>
                <mml:mi>min</mml:mi>
              </mml:mrow>
            </mml:msubsup>
            <mml:mo>+</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>n</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </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:mrow>
                        <mml:mi>max</mml:mi>
                      </mml:mrow>
                    </mml:msubsup>
                    <mml:mo>−</mml:mo>
                    <mml:msubsup>
                      <mml:mi>x</mml:mi>
                      <mml:mi>i</mml:mi>
                      <mml:mrow>
                        <mml:mi>min</mml:mi>
                      </mml:mrow>
                    </mml:msubsup>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mrow>
                  <mml:mo>[</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mi>d</mml:mi>
                    </mml:msub>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mi>p</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mi>i</mml:mi>
                    <mml:mo>−</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mo>]</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>p</mml:mi>
                </mml:msub>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>d</mml:mi>
                </mml:msub>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:mfrac>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mo>.</mml:mo>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(A) (iii) Uniform 2D grid</p>
      <disp-formula id="FD7">
        <mml:math>
          <mml:mrow>
            <mml:mi>Δ</mml:mi>
            <mml:msub>
              <mml:mi>x</mml:mi>
              <mml:mn>1</mml:mn>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msubsup>
                  <mml:mi>x</mml:mi>
                  <mml:mn>1</mml:mn>
                  <mml:mrow>
                    <mml:mi>max</mml:mi>
                  </mml:mrow>
                </mml:msubsup>
                <mml:mo>−</mml:mo>
                <mml:msubsup>
                  <mml:mi>x</mml:mi>
                  <mml:mn>1</mml:mn>
                  <mml:mrow>
                    <mml:mi>min</mml:mi>
                  </mml:mrow>
                </mml:msubsup>
              </mml:mrow>
              <mml:mrow>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mi>p</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mi>d</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                </mml:mfrac>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:mfrac>
            <mml:mtext>
               
            </mml:mtext>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD8">
        <mml:math>
          <mml:mrow>
            <mml:mi>p</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>p</mml:mi>
                </mml:msub>
              </mml:mrow>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>d</mml:mi>
                </mml:msub>
              </mml:mrow>
            </mml:mfrac>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>k</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>+</mml:mo>
            <mml:mi>m</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(A) (iv) Other user-specified probe distribution <bold>[</bold><bold>Note</bold><bold>—</bold><bold>This option used for this paper]</bold></p>
      <p>(B) Initial acceleration</p>
      <disp-formula id="FD9">
        <mml:math>
          <mml:mrow>
            <mml:mi>A</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>i</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mn>0</mml:mn>
            <mml:mo>,</mml:mo>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mn>1</mml:mn>
            <mml:mo>≤</mml:mo>
            <mml:mi>p</mml:mi>
            <mml:mo>≤</mml:mo>
            <mml:msub>
              <mml:mi>N</mml:mi>
              <mml:mi>p</mml:mi>
            </mml:msub>
            <mml:mo>,</mml:mo>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mn>1</mml:mn>
            <mml:mo>≤</mml:mo>
            <mml:mi>i</mml:mi>
            <mml:mo>≤</mml:mo>
            <mml:msub>
              <mml:mi>N</mml:mi>
              <mml:mi>d</mml:mi>
            </mml:msub>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(C) Initial fitness</p>
      <disp-formula id="FD10">
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mn>0</mml:mn>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mi>f</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>R</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>p</mml:mi>
                    <mml:mo>,</mml:mo>
                    <mml:mi>i</mml:mi>
                    <mml:mo>,</mml:mo>
                    <mml:mn>0</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD11">
        <mml:math>
          <mml:mrow>
            <mml:mi>B</mml:mi>
            <mml:mi>e</mml:mi>
            <mml:mi>s</mml:mi>
            <mml:mi>t</mml:mi>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mi>F</mml:mi>
            <mml:mi>i</mml:mi>
            <mml:mi>t</mml:mi>
            <mml:mi>n</mml:mi>
            <mml:mi>e</mml:mi>
            <mml:mi>s</mml:mi>
            <mml:mi>s</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mi>M</mml:mi>
            <mml:mi>A</mml:mi>
            <mml:mi>X</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>M</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>p</mml:mi>
                    <mml:mo>,</mml:mo>
                    <mml:mn>0</mml:mn>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>,</mml:mo>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mn>1</mml:mn>
                <mml:mo>≤</mml:mo>
                <mml:mi>p</mml:mi>
                <mml:mo>≤</mml:mo>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>p</mml:mi>
                </mml:msub>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(D) Saved Fitnesses &amp; Fitness Tolerance</p>
      <disp-formula id="FD12">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mi>N</mml:mi>
              <mml:mrow>
                <mml:mi>s</mml:mi>
                <mml:mi>a</mml:mi>
                <mml:mi>v</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>d</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:mn>5</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(E) Initial Reposition Factor &amp; Increment</p>
      <disp-formula id="FD13">
        <mml:math>
          <mml:mrow>
            <mml:msubsup>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>i</mml:mi>
                <mml:mi>n</mml:mi>
                <mml:mi>i</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msubsup>
            <mml:mo>=</mml:mo>
            <mml:mn>0.5</mml:mn>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mo>,</mml:mo>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mi>Δ</mml:mi>
            <mml:msub>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:mn>0.005</mml:mn>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mo>,</mml:mo>
            <mml:mtext>
               
            </mml:mtext>
            <mml:msub>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:msubsup>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>i</mml:mi>
                <mml:mi>n</mml:mi>
                <mml:mi>i</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msubsup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p><bold>(3)</bold><bold>Time Loop</bold> (<inline-formula><mml:math><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> ≤ </mml:mo><mml:mi> j </mml:mi><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> )</p>
      <p>(A) Saved Fitness Array Index: <inline-formula><mml:math><mml:mrow><mml:mi> s </mml:mi><mml:mo> = </mml:mo><mml:mi> j </mml:mi><mml:mtext>   </mml:mtext><mml:mi> M </mml:mi><mml:mi> O </mml:mi><mml:mi> D </mml:mi><mml:mtext>   </mml:mtext><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> s </mml:mi><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> ; If <inline-formula><mml:math><mml:mrow><mml:mi> s </mml:mi><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> then <inline-formula><mml:math><mml:mrow><mml:mi> s </mml:mi><mml:mo> = </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mrow><mml:mi> s </mml:mi><mml:mi> a </mml:mi><mml:mi> v </mml:mi><mml:mi> e </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></p>
      <p><bold>Important Note:</bold><bold>Saved fitnesses are not necessarily sequential as a result of how</bold><italic>s</italic><bold>is calculated, which affects when</bold><italic>F</italic><italic><sub>rep</sub></italic><bold>is incremented</bold><bold>See discussion in §4.4.</bold></p>
      <p><italic>New Probe Positions</italic></p>
      <disp-formula id="FD14">
        <mml:math>
          <mml:mrow>
            <mml:mi>p</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(a) <inline-formula><mml:math><mml:mrow><mml:mi> R </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> i </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mi> R </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> i </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> + </mml:mo><mml:mfrac><mml:mn> 1 </mml:mn><mml:mn> 2 </mml:mn></mml:mfrac><mml:mi> A </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> i </mml:mi><mml:mo> , </mml:mo><mml:mi> j </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mi> Δ </mml:mi><mml:msup><mml:mi> t </mml:mi><mml:mn> 2 </mml:mn></mml:msup><mml:mo> , </mml:mo><mml:mtext>   </mml:mtext><mml:mi> Δ </mml:mi><mml:msup><mml:mi> t </mml:mi><mml:mn> 2 </mml:mn></mml:msup><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula></p>
      <p>(b) <italic>Retrieve errant probes as required</italic> (Note: For Repositioning Factor, <inline-formula><mml:math><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> F </mml:mi><mml:mrow><mml:mi> r </mml:mi><mml:mi> e </mml:mi><mml:mi> p </mml:mi></mml:mrow></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> , see Formato [<xref ref-type="bibr" rid="B2">2</xref>]-[<xref ref-type="bibr" rid="B4">4</xref>])</p>
      <disp-formula id="FD15">
        <mml:math>
          <mml:mrow>
            <mml:mi>R</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>i</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>j</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>&lt;</mml:mo>
            <mml:msubsup>
              <mml:mi>x</mml:mi>
              <mml:mi>i</mml:mi>
              <mml:mrow>
                <mml:mi>min</mml:mi>
              </mml:mrow>
            </mml:msubsup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD16">
        <mml:math>
          <mml:mrow>
            <mml:mi>R</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>i</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>j</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>&gt;</mml:mo>
            <mml:msubsup>
              <mml:mi>x</mml:mi>
              <mml:mi>i</mml:mi>
              <mml:mrow>
                <mml:mi>max</mml:mi>
              </mml:mrow>
            </mml:msubsup>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(B) Update Fitness Matrix</p>
      <disp-formula id="FD17">
        <mml:math>
          <mml:mrow>
            <mml:mi>p</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD18">
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>j</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mi>f</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>R</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>p</mml:mi>
                    <mml:mo>,</mml:mo>
                    <mml:mi>i</mml:mi>
                    <mml:mo>,</mml:mo>
                    <mml:mi>j</mml:mi>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD19">
        <mml:math>
          <mml:mrow>
            <mml:mi>M</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:mi>p</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>j</mml:mi>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>≥</mml:mo>
            <mml:mi>B</mml:mi>
            <mml:mi>e</mml:mi>
            <mml:mi>s</mml:mi>
            <mml:mi>t</mml:mi>
            <mml:mtext>
               
            </mml:mtext>
            <mml:mi>F</mml:mi>
            <mml:mi>i</mml:mi>
            <mml:mi>t</mml:mi>
            <mml:mi>n</mml:mi>
            <mml:mi>e</mml:mi>
            <mml:mi>s</mml:mi>
            <mml:mi>s</mml:mi>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(C) Update Reposition Factor</p>
      <disp-formula id="FD20">
        <mml:math>
          <mml:mrow>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:msub>
                  <mml:mi>M</mml:mi>
                  <mml:mrow>
                    <mml:mi>b</mml:mi>
                    <mml:mi>e</mml:mi>
                    <mml:mi>s</mml:mi>
                    <mml:mi>t</mml:mi>
                  </mml:mrow>
                </mml:msub>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mrow>
                        <mml:mi>s</mml:mi>
                        <mml:mi>a</mml:mi>
                        <mml:mi>v</mml:mi>
                        <mml:mi>e</mml:mi>
                        <mml:mi>d</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>−</mml:mo>
                <mml:mfrac>
                  <mml:mn>1</mml:mn>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>N</mml:mi>
                      <mml:mrow>
                        <mml:mi>s</mml:mi>
                        <mml:mi>a</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                  </mml:mrow>
                </mml:mfrac>
                <mml:mstyle displaystyle="true">
                  <mml:munderover>
                    <mml:mo>∑</mml:mo>
                    <mml:mrow>
                      <mml:mi>q</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mi>s</mml:mi>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>N</mml:mi>
                        <mml:mrow>
                          <mml:mi>s</mml:mi>
                          <mml:mi>a</mml:mi>
                          <mml:mi>v</mml:mi>
                          <mml:mi>e</mml:mi>
                          <mml:mi>d</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                  </mml:munderover>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>M</mml:mi>
                      <mml:mrow>
                        <mml:mi>b</mml:mi>
                        <mml:mi>e</mml:mi>
                        <mml:mi>s</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mi>q</mml:mi>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mstyle>
                <mml:mtext>
                   
                </mml:mtext>
              </mml:mrow>
              <mml:mo>|</mml:mo>
            </mml:mrow>
            <mml:mo>≤</mml:mo>
            <mml:mi>T</mml:mi>
            <mml:mi>O</mml:mi>
            <mml:msub>
              <mml:mi>L</mml:mi>
              <mml:mrow>
                <mml:mi>f</mml:mi>
                <mml:mi>i</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD21">
        <mml:math>
          <mml:mrow>
            <mml:mtext>
               
            </mml:mtext>
            <mml:msub>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>+</mml:mo>
            <mml:mi>Δ</mml:mi>
            <mml:msub>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
            </mml:msub>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD22">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mi>r</mml:mi>
                <mml:mi>e</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>≥</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(D) Update Accelerations</p>
      <disp-formula id="FD23">
        <mml:math>
          <mml:mrow>
            <mml:mi>p</mml:mi>
            <mml:mo>=</mml:mo>
            <mml:mn>1</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD24">
        <mml:math>
          <mml:mtable>
            <mml:mtr>
              <mml:mtd>
                <mml:mi>A</mml:mi>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:mi>p</mml:mi>
                    <mml:mo>,</mml:mo>
                    <mml:mi>i</mml:mi>
                    <mml:mo>,</mml:mo>
                    <mml:mi>j</mml:mi>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mi>G</mml:mi>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mstyle displaystyle="true">
                  <mml:munderover>
                    <mml:mo>∑</mml:mo>
                    <mml:mtable columnalign="left">
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mrow>
                            <mml:mi>k</mml:mi>
                            <mml:mo>=</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:mtd>
                      </mml:mtr>
                      <mml:mtr>
                        <mml:mtd>
                          <mml:mrow>
                            <mml:mi>k</mml:mi>
                            <mml:mo>≠</mml:mo>
                            <mml:mi>p</mml:mi>
                          </mml:mrow>
                        </mml:mtd>
                      </mml:mtr>
                    </mml:mtable>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>N</mml:mi>
                        <mml:mi>p</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                  </mml:munderover>
                  <mml:mrow>
                    <mml:mi>U</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mi>M</mml:mi>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mrow>
                            <mml:mi>k</mml:mi>
                            <mml:mo>,</mml:mo>
                            <mml:mi>j</mml:mi>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                        <mml:mo>−</mml:mo>
                        <mml:mi>M</mml:mi>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mrow>
                            <mml:mi>p</mml:mi>
                            <mml:mo>,</mml:mo>
                            <mml:mi>j</mml:mi>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mstyle>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mo>×</mml:mo>
                <mml:msup>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mi>M</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:mi>k</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>j</mml:mi>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                      <mml:mo>−</mml:mo>
                      <mml:mi>M</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:mi>p</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>j</mml:mi>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mi>α</mml:mi>
                </mml:msup>
                <mml:mo>×</mml:mo>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:mi>R</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mi>k</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>i</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>j</mml:mi>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                    <mml:mo>−</mml:mo>
                    <mml:mi>R</mml:mi>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mi>p</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>i</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>j</mml:mi>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msup>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>|</mml:mo>
                          <mml:mrow>
                            <mml:mtext>
                               
                            </mml:mtext>
                            <mml:msubsup>
                              <mml:mover accent="true">
                                <mml:mi>R</mml:mi>
                                <mml:mo>→</mml:mo>
                              </mml:mover>
                              <mml:mi>j</mml:mi>
                              <mml:mi>k</mml:mi>
                            </mml:msubsup>
                            <mml:mo>−</mml:mo>
                            <mml:msubsup>
                              <mml:mover accent="true">
                                <mml:mi>R</mml:mi>
                                <mml:mo>→</mml:mo>
                              </mml:mover>
                              <mml:mi>j</mml:mi>
                              <mml:mi>p</mml:mi>
                            </mml:msubsup>
                            <mml:mtext>
                               
                            </mml:mtext>
                          </mml:mrow>
                          <mml:mo>|</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mi>β</mml:mi>
                    </mml:msup>
                  </mml:mrow>
                </mml:mfrac>
                <mml:mo>,</mml:mo>
              </mml:mtd>
            </mml:mtr>
          </mml:mtable>
        </mml:math>
      </disp-formula>
      <disp-formula id="FD25">
        <mml:math>
          <mml:mrow>
            <mml:mrow>
              <mml:mo>|</mml:mo>
              <mml:mrow>
                <mml:msubsup>
                  <mml:mover accent="true">
                    <mml:mi>R</mml:mi>
                    <mml:mo>→</mml:mo>
                  </mml:mover>
                  <mml:mi>j</mml:mi>
                  <mml:mi>k</mml:mi>
                </mml:msubsup>
                <mml:mo>−</mml:mo>
                <mml:msubsup>
                  <mml:mover accent="true">
                    <mml:mi>R</mml:mi>
                    <mml:mo>→</mml:mo>
                  </mml:mover>
                  <mml:mi>j</mml:mi>
                  <mml:mi>p</mml:mi>
                </mml:msubsup>
              </mml:mrow>
              <mml:mo>|</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:msqrt>
              <mml:mrow>
                <mml:mstyle displaystyle="true">
                  <mml:munderover>
                    <mml:mo>∑</mml:mo>
                    <mml:mrow>
                      <mml:mi>m</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>N</mml:mi>
                        <mml:mi>d</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                  </mml:munderover>
                  <mml:mrow>
                    <mml:msup>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mrow>
                            <mml:mi>R</mml:mi>
                            <mml:mrow>
                              <mml:mo>(</mml:mo>
                              <mml:mrow>
                                <mml:mi>k</mml:mi>
                                <mml:mo>,</mml:mo>
                                <mml:mi>m</mml:mi>
                                <mml:mo>,</mml:mo>
                                <mml:mi>j</mml:mi>
                              </mml:mrow>
                              <mml:mo>)</mml:mo>
                            </mml:mrow>
                            <mml:mo>−</mml:mo>
                            <mml:mi>R</mml:mi>
                            <mml:mrow>
                              <mml:mo>(</mml:mo>
                              <mml:mrow>
                                <mml:mi>p</mml:mi>
                                <mml:mo>,</mml:mo>
                                <mml:mi>m</mml:mi>
                                <mml:mo>,</mml:mo>
                                <mml:mi>j</mml:mi>
                              </mml:mrow>
                              <mml:mo>)</mml:mo>
                            </mml:mrow>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:msup>
                  </mml:mrow>
                </mml:mstyle>
              </mml:mrow>
            </mml:msqrt>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>(E) Increment <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> → </mml:mo><mml:mi> j </mml:mi><mml:mo> + </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> , and repeat from (3)(A) until <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> = </mml:mo><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> or other stopping criterion has been met.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2007) Central Force Optimization: A New Metaheuristic with Applications in Applied Electromagnetics. <italic>Progress</italic><italic>In</italic><italic>Electromagnetics</italic><italic>Research</italic>, 77, 425-491. https://doi.org/10.2528/pier07082403 <pub-id pub-id-type="doi">10.2528/pier07082403</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pier07082403">https://doi.org/10.2528/pier07082403</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
            </person-group>
            <year>2007</year>
            <article-title>Central Force Optimization: A New Metaheuristic with Applications in Applied Electromagnetics</article-title>
            <source>Progress In Electromagnetics Research</source>
            <volume>77</volume>
            <pub-id pub-id-type="doi">10.2528/pier07082403</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2008) Central Force Optimization: A New Nature Inspired Computational Framework for Multidimensional Search and Optimization. In: Krasnogor, N., Nicosia, G., Pavone, M. and Pelta, D., Eds., <italic>Studies</italic><italic>in</italic><italic>Computational</italic><italic>Intelligence</italic>, Springer Berlin Heidelberg, 221-238. https://doi.org/10.1007/978-3-540-78987-1_21 <pub-id pub-id-type="doi">10.1007/978-3-540-78987-1_21</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-3-540-78987-1_21">https://doi.org/10.1007/978-3-540-78987-1_21</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
              <string-name>Krasnogor, N.</string-name>
              <string-name>Nicosia, G.</string-name>
              <string-name>Pavone, M.</string-name>
              <string-name>Pelta, D.</string-name>
              <string-name>Intelligence, S</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Central Force Optimization: A New Nature Inspired Computational Framework for Multidimensional Search and Optimization</article-title>
            <source>In: Krasnogor</source>
            <volume>221</volume>
            <pub-id pub-id-type="doi">10.1007/978-3-540-78987-1_21</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Formato, R.A. (2009) Central Force Optimisation: A New Gradient-Like Metaheuristic for Multidimensional Search and Optimisation. <italic>International</italic><italic>Journal</italic><italic>of</italic><italic>Bio-Inspired</italic><italic>Computation</italic>, 1, 217-238. https://doi.org/10.1504/ijbic.2009.024721 <pub-id pub-id-type="doi">10.1504/ijbic.2009.024721</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1504/ijbic.2009.024721">https://doi.org/10.1504/ijbic.2009.024721</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
            </person-group>
            <year>2009</year>
            <article-title>Central Force Optimisation: A New Gradient-Like Metaheuristic for Multidimensional Search and Optimisation</article-title>
            <source>International Journal of Bio-Inspired Computation</source>
            <volume>1</volume>
            <pub-id pub-id-type="doi">10.1504/ijbic.2009.024721</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Formato, R.A. (2010) Central Force Optimization and NEOs—First Cousins? <italic>Journal of Multiple-Valued Logic and Soft Computing</italic>, 16, 547-565.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
            </person-group>
            <year>2010</year>
            <article-title>Central Force Optimization and NEOs—First Cousins? Journal of Multiple-Valued Logic and Soft Computing, 16, 547-565</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Qubati, G.M., Formato, R.A. and Dib, N.I. (2010) Antenna Benchmark Performance and Array Synthesis Using Central Force Optimisation. <italic>IET</italic><italic>Microwaves</italic>, <italic>Antennas</italic><italic>&amp;</italic><italic>Propagation</italic>, 4, 583-592. https://doi.org/10.1049/iet-map.2009.0147 <pub-id pub-id-type="doi">10.1049/iet-map.2009.0147</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1049/iet-map.2009.0147">https://doi.org/10.1049/iet-map.2009.0147</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Qubati, G.M.</string-name>
              <string-name>Formato, R.A.</string-name>
              <string-name>Dib, N.I.</string-name>
              <string-name>Microwaves, A</string-name>
            </person-group>
            <year>2010</year>
            <article-title>Antenna Benchmark Performance and Array Synthesis Using Central Force Optimisation</article-title>
            <source>IET Microwaves</source>
            <volume>4</volume>
            <pub-id pub-id-type="doi">10.1049/iet-map.2009.0147</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Pantoja, M.F., Bretones, A.R. and Martin, R.G. (2007) Benchmark Antenna Problems for Evolutionary Optimization Algorithms. <italic>IEEE</italic><italic>Transactions</italic><italic>on</italic><italic>Antennas</italic><italic>and</italic><italic>Propagation</italic>, 55, 1111-1121. https://doi.org/10.1109/tap.2007.893396 <pub-id pub-id-type="doi">10.1109/tap.2007.893396</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/tap.2007.893396">https://doi.org/10.1109/tap.2007.893396</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Pantoja, M.F.</string-name>
              <string-name>Bretones, A.R.</string-name>
              <string-name>Martin, R.G.</string-name>
            </person-group>
            <year>2007</year>
            <article-title>Benchmark Antenna Problems for Evolutionary Optimization Algorithms</article-title>
            <source>IEEE Transactions on Antennas and Propagation</source>
            <volume>55</volume>
            <pub-id pub-id-type="doi">10.1109/tap.2007.893396</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Li, W., Shi, X. and Hei, Y. (2008) An Improved Particle Swarm Optimization Algorithm for Pattern Synthesis of Phased Arrays. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic>, 82, 319-332. https://doi.org/10.2528/pier08030904 <pub-id pub-id-type="doi">10.2528/pier08030904</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pier08030904">https://doi.org/10.2528/pier08030904</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Li, W.</string-name>
              <string-name>Shi, X.</string-name>
              <string-name>Hei, Y.</string-name>
            </person-group>
            <year>2008</year>
            <article-title>An Improved Particle Swarm Optimization Algorithm for Pattern Synthesis of Phased Arrays</article-title>
            <source>Progress in Electromagnetics Research</source>
            <volume>82</volume>
            <pub-id pub-id-type="doi">10.2528/pier08030904</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Ghaffari-Miab, M., Farmahini-Farahani, A., Faraji-Dana, R. and Lucas, C. (2007) An Efficient Hybrid Swarm Intelligence-Gradient Optimization Method for Complex Time Green’s Functions of Multilayer Media. <italic>Progress</italic><italic>In</italic><italic>Electromagnetics</italic><italic>Research</italic>, 77, 181-192. https://doi.org/10.2528/pier07072504 <pub-id pub-id-type="doi">10.2528/pier07072504</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pier07072504">https://doi.org/10.2528/pier07072504</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Ghaffari-Miab, M.</string-name>
              <string-name>Farmahini-Farahani, A.</string-name>
              <string-name>Faraji-Dana, R.</string-name>
              <string-name>Lucas, C.</string-name>
            </person-group>
            <year>2007</year>
            <article-title>An Efficient Hybrid Swarm Intelligence-Gradient Optimization Method for Complex Time Green’s Functions of Multilayer Media</article-title>
            <source>Progress In Electromagnetics Research</source>
            <volume>77</volume>
            <pub-id pub-id-type="doi">10.2528/pier07072504</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Sijher, T.S. and Kishk, A.A. (2005) Antenna Modeling by Infinitesimal Dipoles Using Genetic Algorithms. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic>, 52, 225-254. https://doi.org/10.2528/pier04081801 <pub-id pub-id-type="doi">10.2528/pier04081801</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pier04081801">https://doi.org/10.2528/pier04081801</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Sijher, T.S.</string-name>
              <string-name>Kishk, A.A.</string-name>
            </person-group>
            <year>2005</year>
            <article-title>Antenna Modeling by Infinitesimal Dipoles Using Genetic Algorithms</article-title>
            <source>Progress in Electromagnetics Research</source>
            <volume>52</volume>
            <pub-id pub-id-type="doi">10.2528/pier04081801</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Cengiz, Y. and Tokat, H. (2008) Linear Antenna Array Design with Use of Genetic, Memetic and Tabu Search Optimization Algorithms. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic><italic>C</italic>, 1, 63-72. https://doi.org/10.2528/pierc08010205 <pub-id pub-id-type="doi">10.2528/pierc08010205</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pierc08010205">https://doi.org/10.2528/pierc08010205</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Cengiz, Y.</string-name>
              <string-name>Tokat, H.</string-name>
              <string-name>Genetic, M</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Linear Antenna Array Design with Use of Genetic, Memetic and Tabu Search Optimization Algorithms</article-title>
            <source>Progress in Electromagnetics Research C</source>
            <volume>1</volume>
            <pub-id pub-id-type="doi">10.2528/pierc08010205</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Zainud-Deen, S.H., Hassen, W.M. and Awadalla, K.H. (2009) Crack Detection Using a Hybrid Finite Difference Frequency Domain and Particle Swarm Optimization Techniques. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic><italic>M</italic>, 6, 47-58. https://doi.org/10.2528/pierm09012404 <pub-id pub-id-type="doi">10.2528/pierm09012404</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pierm09012404">https://doi.org/10.2528/pierm09012404</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Zainud-Deen, S.H.</string-name>
              <string-name>Hassen, W.M.</string-name>
              <string-name>Awadalla, K.H.</string-name>
            </person-group>
            <year>2009</year>
            <article-title>Crack Detection Using a Hybrid Finite Difference Frequency Domain and Particle Swarm Optimization Techniques</article-title>
            <source>Progress in Electromagnetics Research M</source>
            <volume>6</volume>
            <pub-id pub-id-type="doi">10.2528/pierm09012404</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Mangaraj, B.B., Misra, I.S. and Barisal, A.K. (2008) Optimizing Included Angle of Symmetrical V-Dipoles for Higher Directivity Using Bacteria Foraging Optimization Algorithm. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic><italic>B</italic>, 3, 295-314. https://doi.org/10.2528/pierb07121005 <pub-id pub-id-type="doi">10.2528/pierb07121005</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pierb07121005">https://doi.org/10.2528/pierb07121005</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Mangaraj, B.B.</string-name>
              <string-name>Misra, I.S.</string-name>
              <string-name>Barisal, A.K.</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Optimizing Included Angle of Symmetrical V-Dipoles for Higher Directivity Using Bacteria Foraging Optimization Algorithm</article-title>
            <source>Progress in Electromagnetics Research B</source>
            <volume>3</volume>
            <pub-id pub-id-type="doi">10.2528/pierb07121005</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Yau, D. and Crozier, S. (2003) A Genetic Algorithm/Method of Moments Approach to the Optimization of an RF Coil for MRI Applications—Theoretical Considerations. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic>, 39, 177-192. https://doi.org/10.2528/pier02062602 <pub-id pub-id-type="doi">10.2528/pier02062602</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pier02062602">https://doi.org/10.2528/pier02062602</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Yau, D.</string-name>
              <string-name>Crozier, S.</string-name>
            </person-group>
            <year>2003</year>
            <article-title>A Genetic Algorithm/Method of Moments Approach to the Optimization of an RF Coil for MRI Applications—Theoretical Considerations</article-title>
            <source>Progress in Electromagnetics Research</source>
            <volume>39</volume>
            <pub-id pub-id-type="doi">10.2528/pier02062602</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Burke, G.J. (1992) Numerical Electromagnetics Code—NEC-4, Method of Moments, Part I: User’s Manual and Part II: Program Description—Theory. UCRL-MA-109338, Lawrence Livermore Nat’l Lab. http://kirkmcd.princeton.edu/examples/NEC_Manuals/NEC4UsersMan.pdf</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Burke, G.J.</string-name>
              <string-name>Moments, P</string-name>
            </person-group>
            <year>1992</year>
            <article-title>Numerical Electromagnetics Code—NEC-4, Method of Moments, Part I: User’s Manual and Part II: Program Description—Theory</article-title>
            <source>UCRL-MA-109338</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Formato, R.A. (2017) Determinism in Electromagnetic Design &amp; Optimization—Part II: BBP-Derived <italic>π</italic> fractions for Generating Uniformly Distributed Sampling Points in Global Search and Optimization Algorithms. <italic>FERMAT</italic>, 19, Article 10. https://efermat.github.io/articles/formato-art-2017-vol19-jan-feb-010/</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Determinism in Electromagnetic Design &amp; Optimization—Part II: BBP-Derived π fractions for Generating Uniformly Distributed Sampling Points in Global Search and Optimization Algorithms</article-title>
            <source>FERMAT</source>
            <volume>19</volume>
            <elocation-id>10</elocation-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Bailey, D., Borwein, P. and Plouffe, S. (1997) On the Rapid Computation of Various Polylogarithmic Constants. <italic>Mathematics</italic><italic>of</italic><italic>Computation</italic>, 66, 903-913. https://doi.org/10.1090/s0025-5718-97-00856-9 <pub-id pub-id-type="doi">10.1090/s0025-5718-97-00856-9</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1090/s0025-5718-97-00856-9">https://doi.org/10.1090/s0025-5718-97-00856-9</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Bailey, D.</string-name>
              <string-name>Borwein, P.</string-name>
              <string-name>Plouffe, S.</string-name>
            </person-group>
            <year>1997</year>
            <article-title>On the Rapid Computation of Various Polylogarithmic Constants</article-title>
            <source>Mathematics of Computation</source>
            <volume>66</volume>
            <pub-id pub-id-type="doi">10.1090/s0025-5718-97-00856-9</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B17">
        <label>17.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Formato, R.A. (2017) Determinism in Electromagnetic Design &amp; Optimization—Part I: Central Force Optimization. <italic>FERMAT</italic>, 19, Article 9. https://efermat.github.io/articles/formato-art-2017-vol19-jan-feb-009/</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Determinism in Electromagnetic Design &amp; Optimization—Part I: Central Force Optimization</article-title>
            <source>FERMAT</source>
            <volume>19</volume>
            <elocation-id>9</elocation-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B18">
        <label>18.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Halton, J.H. (1960) On the Efficiency of Certain Quasi-Random Sequences of Points in Evaluating Multi-Dimensional Integrals. <italic>Numerische</italic><italic>Mathematik</italic>, 2, 84-90. https://doi.org/10.1007/bf01386213 <pub-id pub-id-type="doi">10.1007/bf01386213</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/bf01386213">https://doi.org/10.1007/bf01386213</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Halton, J.H.</string-name>
            </person-group>
            <year>1960</year>
            <article-title>On the Efficiency of Certain Quasi-Random Sequences of Points in Evaluating Multi-Dimensional Integrals</article-title>
            <source>Numerische Mathematik</source>
            <volume>2</volume>
            <pub-id pub-id-type="doi">10.1007/bf01386213</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B19">
        <label>19.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">van der Corput, J.G. (1935) Verteilungsfunktionen. <italic>Proceedings of the Koninklijke Nederlandse Akademie van Wetenschappen</italic>, 38, 813-821.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Corput, J.G.</string-name>
            </person-group>
            <year>1935</year>
            <article-title>Verteilungsfunktionen</article-title>
            <source>Proceedings of the Koninklijke Nederlandse Akademie van Wetenschappen</source>
            <volume>38</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B20">
        <label>20.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Krykova, I. (2003) Evaluating of Path-Dependent Securities with Low Discrepancy Methods. Ph.D. Thesis, Worcester Polytechnic Institute.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Krykova, I.</string-name>
              <string-name>Thesis, W</string-name>
            </person-group>
            <year>2003</year>
            <article-title>Evaluating of Path-Dependent Securities with Low Discrepancy Methods</article-title>
            <source>Ph.D. Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B21">
        <label>21.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Jørgensen, K. (2008) Himalaya Options: An Analysis of Pricing Himalaya Options in a Monte Carlo and Quasi-Random Monte Carlo framework. Master’s Thesis, School of Business, Aarhus University.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Thesis, S</string-name>
              <string-name>Business, A</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Himalaya Options: An Analysis of Pricing Himalaya Options in a Monte Carlo and Quasi-Random Monte Carlo framework</article-title>
            <source>Master’s Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B22">
        <label>22.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Li, W.T., Shi, X.W., Hei, Y.Q., Liu, S.F. and Zhu, J. (2010) A Hybrid Optimization Algorithm and Its Application for Conformal Array Pattern Synthesis. <italic>IEEE</italic><italic>Transactions</italic><italic>on</italic><italic>Antennas</italic><italic>and</italic><italic>Propagation</italic>, 58, 3401-3406. https://doi.org/10.1109/tap.2010.2050425 <pub-id pub-id-type="doi">10.1109/tap.2010.2050425</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/tap.2010.2050425">https://doi.org/10.1109/tap.2010.2050425</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Li, W.T.</string-name>
              <string-name>Shi, X.W.</string-name>
              <string-name>Hei, Y.Q.</string-name>
              <string-name>Liu, S.F.</string-name>
              <string-name>Zhu, J.</string-name>
            </person-group>
            <year>2010</year>
            <article-title>A Hybrid Optimization Algorithm and Its Application for Conformal Array Pattern Synthesis</article-title>
            <source>IEEE Transactions on Antennas and Propagation</source>
            <volume>58</volume>
            <pub-id pub-id-type="doi">10.1109/tap.2010.2050425</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B23">
        <label>23.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Formato, R.A. (2025) Pseudorandomness in Central Force Optimization. <italic>Journal</italic><italic>of</italic><italic>Applied</italic><italic>Mathematics</italic><italic>and</italic><italic>Physics</italic>, 13, 4567-4597. https://doi.org/10.4236/jamp.2025.1312250 <pub-id pub-id-type="doi">10.4236/jamp.2025.1312250</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.4236/jamp.2025.1312250">https://doi.org/10.4236/jamp.2025.1312250</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Pseudorandomness in Central Force Optimization</article-title>
            <source>Journal of Applied Mathematics and Physics</source>
            <volume>13</volume>
            <pub-id pub-id-type="doi">10.4236/jamp.2025.1312250</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B24">
        <label>24.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Brunato, M. and Battiti, R. (2007) Reactive Search: Machine Learning for Memory-Based Heuristics. In: Gonzalez, T.F., Ed., <italic>Chapman</italic><italic>&amp;</italic><italic>Hall</italic>/ <italic>CRC</italic><italic>Computer</italic><italic>&amp;</italic><italic>Information</italic><italic>Science</italic><italic>Series</italic>, Chapman and Hall/CRC, 21-1-21-17. https://doi.org/10.1201/9781420010749.ch21 <pub-id pub-id-type="doi">10.1201/9781420010749.ch21</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1201/9781420010749.ch21">https://doi.org/10.1201/9781420010749.ch21</ext-link></mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Brunato, M.</string-name>
              <string-name>Battiti, R.</string-name>
              <string-name>Gonzalez, T.F.</string-name>
              <string-name>Series, C</string-name>
            </person-group>
            <year>2007</year>
            <article-title>Reactive Search: Machine Learning for Memory-Based Heuristics</article-title>
            <source>In: Gonzalez</source>
            <volume>21</volume>
            <pub-id pub-id-type="doi">10.1201/9781420010749.ch21</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B25">
        <label>25.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Valsecchi, G.B., Milani, A., Gronchi, G.F. and Chesley, S.R. (2003) Resonant Returns to Close Approaches: Analytical Theory. <italic>Astronomy</italic><italic>&amp;</italic><italic>Astrophysics</italic>, 408, 1179-1196. https://doi.org/10.1051/0004-6361:20031039 <pub-id pub-id-type="doi">10.1051/0004-6361:20031039</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1051/0004-6361:20031039">https://doi.org/10.1051/0004-6361:20031039</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Valsecchi, G.B.</string-name>
              <string-name>Milani, A.</string-name>
              <string-name>Gronchi, G.F.</string-name>
              <string-name>Chesley, S.R.</string-name>
            </person-group>
            <year>2003</year>
            <article-title>Resonant Returns to Close Approaches: Analytical Theory</article-title>
            <source>Astronomy &amp; Astrophysics</source>
            <volume>408</volume>
            <fpage>200310</fpage>
            <pub-id pub-id-type="doi">10.1051/0004-6361:20031039</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B26">
        <label>26.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Schweickart, R., Chapman, C., Durda, D., Hut, P., Bottke, B. and Nesvorny, D. (2006) Threat Characterization: Trajectory Dynamics. arXiv: physics/0608155. http://arxiv.org/abs/physics/0608155</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Schweickart, R.</string-name>
              <string-name>Chapman, C.</string-name>
              <string-name>Durda, D.</string-name>
              <string-name>Hut, P.</string-name>
              <string-name>Bottke, B.</string-name>
              <string-name>Nesvorny, D.</string-name>
            </person-group>
            <year>2006</year>
            <article-title>Threat Characterization: Trajectory Dynamics</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B27">
        <label>27.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Luke, S. (2016) Essentials of Metaheuristics, Online Version 2.3. https://people.cs.gmu.edu/~sean/book/metaheuristics/</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Luke, S.</string-name>
              <string-name>Metaheuristics, O</string-name>
            </person-group>
            <year>2016</year>
            <article-title>Essentials of Metaheuristics, Online Version 2</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B28">
        <label>28.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Press, W.H., Flannery, B.P., Teukolsky, S.A. and Vetterling, W.T. (1986) Numerical Recipes: The Art of Scientific Computing. Cambridge University Press.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Press, W.H.</string-name>
              <string-name>Flannery, B.P.</string-name>
              <string-name>Teukolsky, S.A.</string-name>
              <string-name>Vetterling, W.T.</string-name>
            </person-group>
            <year>1986</year>
            <article-title>Numerical Recipes: The Art of Scientific Computing</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B29">
        <label>29.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Shinzato, T. (2007) Box Muller Method. https://www.scribd.com/document/399483818/Box-Muller</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Shinzato, T.</string-name>
            </person-group>
            <year>2007</year>
            <article-title>Box Muller Method</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B30">
        <label>30.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">(2012) Power BASIC for Windows, ver. 10.04.0108. PowerBASIC, Inc.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>PowerBASIC, I</string-name>
            </person-group>
            <year>2012</year>
            <article-title>Power BASIC for Windows, ver</article-title>
            <source>10.04.0108. PowerBASIC</source>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>