<?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.2025.1312250</article-id>
      <article-id pub-id-type="publisher-id">jamp-148418</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>Pseudorandomness in Central Force Optimization</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> Consulting Engineer &amp; Registered Patent Attorney, Cataldo &amp; Fisher, LLC (Emeritus), 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>08</day>
        <month>12</month>
        <year>2025</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>12</month>
        <year>2025</year>
      </pub-date>
      <volume>13</volume>
      <issue>12</issue>
      <fpage>4567</fpage>
      <lpage>4597</lpage>
      <history>
        <date date-type="received">
          <day>13</day>
          <month>10</month>
          <year>2025</year>
        </date>
        <date date-type="accepted">
          <day>26</day>
          <month>12</month>
          <year>2025</year>
        </date>
        <date date-type="published">
          <day>29</day>
          <month>12</month>
          <year>2025</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2025 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2025</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.2025.1312250">https://doi.org/10.4236/jamp.2025.1312250</self-uri>
      <abstract>
        <p>This note examines the utility of pseudorandom variables (prv) in Global Search and Optimization (GSO) using Central Force Optimization (CFO) as an example. Most GSO metaheuristics are stochastic in nature, but not all. CFO is a completely deterministic GSO metaheuristic, but it nevertheless benefits from injecting prv’s, thereby preserving its deterministic nature while improving its decision space (DS) exploration. CFO benefits substantially from the inclusion of a pseudorandom component, that is, a numerical sequence that is precisely known by specification, or by calculation, or both, but which is otherwise arbitrary. The essential requirement is that the sequence be uncorrelated with DS’s topology, so that its effect is to pseudorandomly distribute probes throughout the landscape. While this process may appear to be similar to the randomness in an inherently stochastic algorithm, it is in fact fundamentally different because CFO remains deterministic at every step. Injecting prv’s is not limited to CFO. It is an approach that can be used in any metaheuristic, stochastic or not. In this note three different pseudorandom methods are discussed for CFO (initial probe distribution, repositioning factor, and decision space adaptation). A sample benchmark problem is presented in detail, and summary data are included for a 23-function benchmark suite. In addition, two sample “real world” problems in electromagnetics are presented. CFO’s performance with prv’s is quite good compared to other highly developed, state-of-the-art algorithms.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Central Force Optimization (CFO)</kwd>
        <kwd>Pseudorandom Variables (PRV)</kwd>
        <kwd>Global Search and Optimization (GSO)</kwd>
        <kwd>Deterministic Metaheuristics</kwd>
        <kwd>Decision Space (DS) Exploration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>The metaheuristics used to solve optimization problems more often than not are stochastic in nature. They are frequently based on inherently random processes such as: (i) propagation of species, for example genetic algorithm analogizing survival of the fittest; (ii) animal foraging behavior, for example ants, bees or fish; (iii) random physical processes, for example simulated annealing and gravitational search; or (iv) purely mathematical but random approaches, as examples, differential evolution and tabu search. It is impractical to list all such algorithms because there are far too many, literally hundreds. Luke’s excellent book [<xref ref-type="bibr" rid="B1">1</xref>] provides an extensive list of random metaheuristics and is highly recommended to readers looking for an overview and implementations.</p>
      <p>But is <italic>true</italic><italic>randomness</italic> important? Why is it an underpinning of almost all metaheuristics? The answer to the first question is “no”, and in the author’s opinion the answer to the second is “precedent”, that is, what was done before that worked is simply repeated. Over the past three decades or so, there has been an explosion of stochastic algorithms most of them inspired by biology or sociology, many being of questionable merit because they are obviously preposterous or they are based on some bizarre metaphor. Examples range from “Anarchic Societies” to “Zombies” [<xref ref-type="bibr" rid="B2">2</xref>][<xref ref-type="bibr" rid="B3">3</xref>]. Sorensen discusses a particular metaheuristic in detail, and he makes this point in a compelling and humorous manner [<xref ref-type="bibr" rid="B2">2</xref>]. Of course, every proposed algorithm is shown to work at least to some degree. This observation raises another important question: Why do such disparate metaheuristics work at all? As bizarre as a metaheuristic may be, the fact that it may provide reasonable solutions makes one wonder, Why? Unfortunately, there is no answer to this question, which brings us full circle to the theme of this note—Is there some advantage in avoiding stochastic approaches to optimization? And if so, Why? The answer to the first question is “yes”, and to the second it is that useful results can be obtained quickly without the need to do the statistical analysis required by random algorithms. This latter observation is particularly important in “real-world” problems, the kinds that practicing engineers deal with on a day-to-day basis.</p>
      <p>This note examines the role of <italic>pseudorandomness</italic> in a specific metaheuristic, Central Force Optimization. CFO is a <italic>deterministic</italic> Nature-inspired GSO metaheuristic for an evolutionary algorithm (EA) based on gravitational kinematics [<xref ref-type="bibr" rid="B4">4</xref>]-[<xref ref-type="bibr" rid="B13">13</xref>]. CFO analogizes Newton’s mathematically precise laws of motion and gravity, so its underlying equations are equally precise. CFO locates the global <italic>maxima</italic> (value and location) of an <italic>objective function</italic> defined on a <italic>decision space</italic> Ω of dimension <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> with a topology (“landscape”) that is unknown or unknowable. CFO searches Ω by “flying” a group of “probes” whose trajectories are computed from two deterministic <italic>equations of motion</italic> at a series of discrete “time” steps (iterations). Details of the CFO metaheuristic are in the <bold>Appendix</bold>.</p>
      <p>Because CFO is deterministic, it is fundamentally different from Nature-inspired EAs whose underlying equations are inherently stochastic. Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO) are prime examples. Their equations are formulated in terms of <italic>true</italic><italic>random variables</italic> (RV’s), and removing randomness causes these algorithms to fail completely. By contrast, CFO’s equations are inherently deterministic. Every CFO run with the same setup returns precisely the same values step-by-step throughout the entire run. Nevertheless, effective CFO implementations can benefit substantially from a “pseudorandom” component that enters the algorithm indirectly, not through its basic equations. This is a fundamental and important distinction that sets CFO apart from stochastic algorithms. Although pseudorandomness is <italic>not required</italic> in CFO, numerical experiments do show that it can be an important feature in improving the algorithm’s effectiveness.</p>
      <p>The Network Working Group suggests the following terminology [<xref ref-type="bibr" rid="B14">14</xref>]. “<italic>Random value</italic>—an individual value that is unpredictable; <italic>i.e.</italic>, each value in the total population of possibilities has equal probability of being selected…<italic>Pseudorandom</italic>—a sequence of values that appears to be random (<italic>i.e.</italic>, unpredictable) but is actually generated by a deterministic algorithm.”</p>
      <p>Consistent with this recommendation this note adopts the following terminology: A <italic>pseudorandom</italic>variable (prv) is defined as one whose value is precisely known but arbitrarily assigned. The value can be specified in advance (for example, an arbitrary sequence of numbers) or it can be calculated in a prescribed manner or these two methods can be combined. The variable’s “randomness” derives from the fact that its value is arbitrary and uncorrelated with Ω’s topology, not that it is uncertain in the sense of a true RV. A <italic>true RV</italic>’s value is calculated from a probability distribution with successive calculations yielding different values that cannot be known <italic>a priori</italic>. Thus true randomness is fundamentally different from CFO’s pseudorandomness. Why? Because even when CFO includes pseudorandomness, it remains deterministic, always yielding the same result for runs with the same setup. Once a pseudorandom variable is specified, either explicitly or by calculation or otherwise, its value is known with absolute precision, so that CFO’s trajectory calculations remain deterministic even in the presence of that pseudorandomness. There are many ways pseudorandomness can be added to CFO; and three simple methods are described here.</p>
    </sec>
    <sec id="sec2">
      <title>2. CFO Implementation</title>
      <p>In this note pseudorandomness is injected into CFO in the following three ways: 1) the initial probe distribution (IPD); 2) the “repositioning factor”; and 3) changing the decision space boundaries. These are discussed in detail below. As to nomenclature, the modified algorithm is referred to as <italic>CFO-PR</italic>.</p>
      <p><underline><italic>Method</italic></underline><underline> 1 </underline>: Every CFO run starts with a user-specified IPD, that is, total number and locations of probes in Ω at the beginning of the run, step 0. An arbitrary, variable initial probe distribution is a convenient way to inject pseudorandomness, the effect of which is to provide better sampling of Ω’s topology than a static distribution. Each IPD in a set of distributions provides different information about Ω’s landscape. As the results below show certain ones perform better than others, which is expected.</p>
      <p><underline><italic>Method</italic></underline><underline> 2 </underline>: The second method of injecting pseudorandomness is the use of a step-by-step variable repositioning factor <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: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> where <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> is the step increment. “Repositioning” refers to the process of retrieving a probe that has flown outside the decision space, details in the <bold>Appendix</bold>. A variable <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> has the effect of pseudorandomly distributing probes throughout Ω, which provides better sampling of the decision space’s landscape as the run progresses.</p>
      <p><underline><italic>Method</italic></underline><underline> 3 </underline>: The third way pseudorandomness is injected is by shrinking the decision space around the best probe’s location. This process coupled with variable <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> redistributes probes in the smaller Ω in an arbitrary but precise, hence pseudorandom, manner. The effect is to speed CFO’s convergence, but at the risk of premature convergence [empirically, this issue does not appear to be significant using the procedures described below]. Another risk using this approach is that the shrunken DS may actually exclude the global maximum, but as a practical matter this concern seems to be minimal.</p>
      <p><underline><italic>Pseudocode</italic></underline>: Pseudocode for CFO-PR appears in <xref ref-type="fig" rid="fig1">Figure 1</xref>. A source code listing is available online [<xref ref-type="bibr" rid="B15">15</xref>]. The inner time step loop (“<inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> ” loop) is common to all CFO implementations. It is the two outer loops that inject initial probe pseudorandomness. The <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> loop controls where IPD probes are deployed, and the <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> loop determines their number. These two parameters define the IPD, and the two loops together create a variable, prv distribution (see <bold>Appendix</bold> for notation and equations).</p>
      <p>The variable <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> procedure (Method 3) appears in step (f) of the pseudocode. The pseudorandom decision space adaptation is in step (g). In this case Ω’s boundaries shrink around the then best probe position vector every 20<sup>th</sup> step as discussed in detail below. A two-dimensional example is used to illustrate these techniques because it provides a concrete visualization of the different methods. Of course, in the actual CFO-PR implementation these techniques are generalized to the <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 case as shown in the pseudocode below and in the online source code.</p>
      <p><italic><bold>Initial Probes</bold></italic><bold>:</bold> The manner in which initial probes are deployed using <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> is shown schematically in <xref ref-type="fig" rid="fig2">Figure 2(a)</xref>, which provides a 2-dimensional (2D) schematic representation of a variable IPD comprising an orthogonal array of <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> probes per axis (DS dimension) deployed uniformly on “probe lines” parallel to the coordinate axes that intersect at a point along Ω’s principal diagonal. <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 Ω’s dimensionality (here <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> ), and <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> define Ω’s domain. <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 total number of probes.</p>
      <p>For illustrative purposes, <xref ref-type="fig" rid="fig2">Figure 2(a)</xref> shows nine probes on each probe line. The lines, which are parallel to 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> 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> axes, intersect at a point on Ω’s principal diagonal marked by position vector <inline-formula><mml:math><mml:mrow><mml:mover accent="true"><mml:mi> D </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mo> = </mml:mo><mml:msub><mml:mover accent="true"><mml:mi> X </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mrow><mml:mi> min </mml:mi></mml:mrow></mml:msub><mml:mo> + </mml:mo><mml:mi> γ </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> X </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mrow><mml:mi> max </mml:mi></mml:mrow></mml:msub><mml:mo> − </mml:mo><mml:msub><mml:mover accent="true"><mml:mi> X </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mrow><mml:mi> min </mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , where </p>
      <p><inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> X </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mrow><mml:mi> min </mml:mi></mml:mrow></mml:msub><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: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:mstyle><mml:msub><mml:mover accent="true"><mml:mi> e </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> X </mml:mi><mml:mo> → </mml:mo></mml:mover><mml:mrow><mml:mi> max </mml:mi></mml:mrow></mml:msub><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: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:mstyle><mml:msub><mml:mover accent="true"><mml:mi> e </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the diagonal’s endpoint vectors. Para- </p>
      <p>meter <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> 1 </mml:mn></mml:mrow></mml:math></inline-formula> specifies where along the diagonal the orthogonal probe array is placed by locating the probe lines’ intersection point.</p>
      <fig id="fig1">
        <label>Figure 1</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId61.jpeg?20251229023815" />
      </fig>
      <p><bold>Figure 1.</bold><italic>CFO-PR</italic> pseudocode with variable initial probes, variable <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 DS adaptation (see <bold>Appendix</bold>).</p>
      <p>While <xref ref-type="fig" rid="fig2">Figure 2(a)</xref> shows an equal number of probes on each line, a different number of probes per axis can be used instead. For example, if equal probe spacing were desired in a decision space with unequal boundaries, or if overlapping probes were to be excluded in a symmetrical DS, then unequal numbers would be used. Unequal numbers also might be appropriate if <italic>a priori</italic> knowledge of Ω’s landscape, however obtained, suggests denser sampling in one area. The initial probe distribution in <xref ref-type="fig" rid="fig2">Figure 2</xref> with variable <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> was used for the CFO-PR runs reported here, but any number of other variable initial probe distributions could be used instead. A typical three-dimensional “probe line” IPD is shown in <xref ref-type="fig" rid="fig2">Figure 2(b)</xref>. The key idea is that the initial probe distribution must be pseudorandom, </p>
      <fig id="fig2">
        <label>Figure 2</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId66.jpeg?20251229023815" />
      </fig>
      <p><bold>Figure 2</bold><bold>.</bold> (a) Variable 2-D initial probe distribution used for CFO-PR runs reported here; (b) Typical variable 3-D IPD with 6 Probes/Axis.</p>
      <p>that is, arbitrary and consequently uncorrelated with Ω’s landscape.</p>
      <p><italic><bold>Re</bold></italic><italic><bold>positioning Factor</bold></italic><bold>:</bold> A variable value for <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> also adds pseudorandomness. <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> starts at some arbitrary initial value that is incremented at each iteration by an arbitrary amount <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> such that <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> remains bounded as <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: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> . This errant probe retrieval scheme is an example of an arbitrary sequence of calculated numbers deterministically assigned to a CFO parameter. CFO’s ability to search Ω depends on where errant probes are reinserted. This process is pseudorandom in nature because <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 deterministic but arbitrary and uncorrelated with Ω’s topology. By placing errant probes pseudorandomly throughout the decision space, more information is developed about its topology as the run progresses. The scheme used here was determined empirically, and it appears to work well across a wide range of objective functions. Of course, there are many other procedures for setting <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 value, some no doubt better than others.</p>
      <p><italic><bold>Decision Space Adaptation</bold></italic><bold>:</bold> CFO-PR also includes adaptive reconfiguration of the decision space in order to improve convergence speed. This feature also is pseudorandom in nature because the way Ω’s boundaries are changed is arbitrary and uncorrelated with the landscape. <xref ref-type="fig" rid="fig4">Figure 4</xref> illustrates in 2D how Ω’s size is adaptively reduced, in this case every 20<sup>th</sup> step around the probe’s location with the then best fitness throughout the run up to the current iteration, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> R </mml:mi><mml:mo> → </mml:mo></mml:mover><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:math></inline-formula> . Ω’s boundary coordinates are reduced by one-half the distance from the best probe’s position to the each boundary on a coordinate-by-coordinate basis, that is, </p>
      <p><inline-formula><mml:math><mml:mrow><mml:msubsup><mml:msup><mml:mi> x </mml:mi><mml:mo> ′ </mml:mo></mml:msup><mml:mi> i </mml:mi><mml:mrow><mml:mi> min </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:mo> + </mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> R </mml:mi><mml:mo> → </mml:mo></mml:mover><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:mo> ⋅ </mml:mo><mml:msub><mml:mover accent="true"><mml:mi> e </mml:mi><mml:mo> ^ </mml:mo></mml:mover><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> min </mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:msup><mml:mi> x </mml:mi><mml:mo> ′ </mml:mo></mml:msup><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> max </mml:mi></mml:mrow></mml:msubsup><mml:mo> − </mml:mo><mml:mfrac><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:msub><mml:mover accent="true"><mml:mi> R </mml:mi><mml:mo> → </mml:mo></mml:mover><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:mo> ⋅ </mml:mo><mml:msub><mml:mover accent="true"><mml:mi> e </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> i </mml:mi></mml:msub></mml:mrow><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula> , where the primed </p>
      <p>coordinate is the new decision space boundary value, and the dot denotes vector inner product. For clarity, <xref ref-type="fig" rid="fig3">Figure 3</xref> shows <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> R </mml:mi><mml:mo> → </mml:mo></mml:mover><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:math></inline-formula> as fixed, whereas generally it varies throughout a run. Changing Ω’s boundary every twenty steps instead of some other interval was chosen arbitrarily (another, probably better approach, might be a reactive adaptation based on performance measures such as convergence speed or fitness saturation).</p>
      <fig id="fig3">
        <label>Figure 3</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId89.jpeg?20251229023815" />
      </fig>
      <p><bold>Figure 3.</bold> Schematic 2-D decision space adaptation (with constant <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> R </mml:mi><mml:mo> → </mml:mo></mml:mover><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:math></inline-formula> ).</p>
    </sec>
    <sec id="sec3">
      <title>3. A Sample Benchmark Problem</title>
      <p>The effectiveness of injecting pseudorandomness into CFO-PR will be illustrated with the 2D Goldstein-Price function (“GP”) plotted in <xref ref-type="fig" rid="fig4">Figure 4</xref>. GP is a recognized benchmark problem defined as</p>
      <disp-formula id="FD1">
        <mml:math>
          <mml:mtable columnalign="left">
            <mml:mtr>
              <mml:mtd>
                <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:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mo>−</mml:mo>
                <mml:mrow>
                  <mml:mo>[</mml:mo>
                  <mml:mrow>
                    <mml:mn>1</mml:mn>
                    <mml:mo>+</mml:mo>
                    <mml:msup>
                      <mml:mrow>
                        <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:mn>1</mml:mn>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:msup>
                    <mml:mo>⋅</mml:mo>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mn>19</mml:mn>
                        <mml:mo>−</mml:mo>
                        <mml:mn>14</mml:mn>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                        <mml:mo>+</mml:mo>
                        <mml:mn>3</mml:mn>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                          <mml:mn>2</mml:mn>
                        </mml:msubsup>
                        <mml:mo>−</mml:mo>
                        <mml:mn>14</mml:mn>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                        <mml:mo>+</mml:mo>
                        <mml:mn>6</mml:mn>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                        <mml:mo>+</mml:mo>
                        <mml:mn>3</mml:mn>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                          <mml:mn>2</mml:mn>
                        </mml:msubsup>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>]</mml:mo>
                </mml:mrow>
              </mml:mtd>
            </mml:mtr>
            <mml:mtr>
              <mml:mtd>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mtext>
                   
                </mml:mtext>
                <mml:mo>×</mml:mo>
                <mml:mrow>
                  <mml:mo>[</mml:mo>
                  <mml:mrow>
                    <mml:mn>30</mml:mn>
                    <mml:mo>+</mml:mo>
                    <mml:msup>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:mo>(</mml:mo>
                          <mml:mrow>
                            <mml:mn>2</mml:mn>
                            <mml:msub>
                              <mml:mi>x</mml:mi>
                              <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:mo>−</mml:mo>
                            <mml:mn>3</mml:mn>
                            <mml:msub>
                              <mml:mi>x</mml:mi>
                              <mml:mn>2</mml:mn>
                            </mml:msub>
                          </mml:mrow>
                          <mml:mo>)</mml:mo>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:msup>
                    <mml:mo>⋅</mml:mo>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:mrow>
                        <mml:mn>18</mml:mn>
                        <mml:mo>−</mml:mo>
                        <mml:mn>32</mml:mn>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                        <mml:mo>+</mml:mo>
                        <mml:mn>12</mml:mn>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                          <mml:mn>2</mml:mn>
                        </mml:msubsup>
                        <mml:mo>+</mml:mo>
                        <mml:mn>48</mml:mn>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                        <mml:mo>−</mml:mo>
                        <mml:mn>36</mml:mn>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>1</mml:mn>
                        </mml:msub>
                        <mml:msub>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                        </mml:msub>
                        <mml:mo>+</mml:mo>
                        <mml:mn>27</mml:mn>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mn>2</mml:mn>
                          <mml:mn>2</mml:mn>
                        </mml:msubsup>
                      </mml:mrow>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>]</mml:mo>
                </mml:mrow>
                <mml:mo>,</mml:mo>
              </mml:mtd>
            </mml:mtr>
          </mml:mtable>
        </mml:math>
      </disp-formula>
      <p>where Ω: <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: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:mn> 100 </mml:mn></mml:mrow></mml:math></inline-formula> Note that in most published reports Ω is much smaller, <italic>viz.</italic>, <inline-formula><mml:math><mml:mrow><mml:mo> − </mml:mo><mml:mn> 2 </mml:mn><mml:mo> ≤ </mml:mo><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:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> . It has been intentionally increased here to make the problem more difficult. GP’s known global maximum is −3 at the point (0, −1). GP is multimodal with few local maxima, and it varies over nearly nineteen orders of magnitude as shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>.</p>
      <fig id="fig4">
        <label>Figure 4</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId98.jpeg?20251229023818" />
      </fig>
      <p><bold>Figure 4.</bold> Goldstein-price function.</p>
      <p>The following parameter values were used for all analytical benchmark runs reported in this note, that is, functions with known maxima: <inline-formula><mml:math><mml:mrow><mml:mi> α </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> β </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> G </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> , initial acceleration of zero, initial <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> 0.5 </mml:mn></mml:mrow></mml:math></inline-formula> , <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:mo> = </mml:mo><mml:mn> 0.05 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> γ </mml:mi><mml:mrow><mml:mi> s </mml:mi><mml:mi> t </mml:mi><mml:mi> a </mml:mi><mml:mi> r </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> γ </mml:mi><mml:mrow><mml:mi> s </mml:mi><mml:mi> t </mml:mi><mml:mi> o </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> with <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> γ </mml:mi><mml:mo> = </mml:mo><mml:mn> 0.1 </mml:mn></mml:mrow></mml:math></inline-formula> (eleven runs). Because <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> 1 </mml:mn></mml:mrow></mml:math></inline-formula> the algorithm designer must choose the granularity with which <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> is specified. A value of 0.1 has consistently worked well, but of course a different granularity could be used instead, say 0.05 or even 0.025. The number of individual CFO runs increases substantially as the granularity decreases, so that the algorithm designer must make a determination that likely will vary one optimization problem to the next. For the Goldstein-Price benchmark the number of probes per dimension was specified as <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow><mml:mo> = </mml:mo><mml:mn> 4 </mml:mn></mml:mrow></mml:math></inline-formula> to 14 by 2 with different ranges of this parameter for the other test functions as described in <bold>Table 1</bold>. Just as <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> is specified based on the algorithm designer’s experience and understanding of the problem at hand, so too is parameter <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> . And just as <italic>decreasing</italic><inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> results in more function evaluations, <italic>increasing</italic><inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> has the same effect. In all cases for the GP runs reported in <bold>Table 1</bold>, a run was terminated early if the average best fitness over 50 steps including the current step and the current best fitness differed by less than 10<sup>−</sup><sup>6</sup>. The best run pseudorandom IPD’s computed using the procedure illustrated in <xref ref-type="fig" rid="fig2">Figure 2(a)</xref> are plotted in <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p>
      <p><bold>Table 1</bold> shows a summary of the results for the GP function. A total of sixty-six optimization runs were made in six groups of eleven runs each with data for “Run #0” being starting values. The column headings are for the most part self-explanatory. Each run began with <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> t </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 500 </mml:mn></mml:mrow></mml:math></inline-formula> , but, as the <italic>#Steps</italic> column shows, in no case were 500 iterations actually used because every run terminated early. <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> is the number of function evaluations performed for the shortened run, and the total number of evaluations over all runs appears at the bottom of this column.</p>
      <p>The <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> column lists <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 value at the end of the run. “V” denotes that <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 variable as discussed above. <italic>Fitness</italic> tabulates the best fitness returned during the run. The <italic>Initial Probes</italic> column shows the type of initial probe distribution, in this case probes uniformly spaced along probe lines parallel to Ω’s axes (notated “ǁ-AXIS”) as described above and shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p>
      <p>The best fitness ranged from a low of −236.6643… in run 12 to the known global maximum of −3 at <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> that was returned in run #54 (best results highlighted in red). Parameters for run #54 were <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow><mml:mo> = </mml:mo><mml:mn> 12 </mml:mn></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:mo> = </mml:mo><mml:mn> 24 </mml:mn></mml:mrow></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:mi> γ </mml:mi><mml:mo> = </mml:mo><mml:mn> 0.9 </mml:mn></mml:mrow></mml:math></inline-formula> . The total number of function evaluations over all runs was 180,472 while <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> for the best run was 1,464 (60 iterations).</p>
      <p><xref ref-type="fig" rid="fig6">Figure 6</xref> plots the evolution of GP’s best fitness, which in only two steps increases from −2.992268247672 × 10<sup>−</sup><sup>12</sup> to GP’s actual global maximum of −3. This result is quite remarkable in view of the initial probe distribution for <inline-formula><mml:math><mml:mrow><mml:mi> γ </mml:mi><mml:mo> = </mml:mo><mml:mn> 0.9 </mml:mn></mml:mrow></mml:math></inline-formula> (<xref ref-type="fig" rid="fig5">Figure 5</xref>) in which all probes are far removed from the maximum’s location at <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . As a general proposition CFO-PR’s exploitation of the decision space (converging quickly on maxima) appears to be very robust indeed [<xref ref-type="bibr" rid="B16">16</xref>].</p>
      <p><xref ref-type="fig" rid="fig7">Figure 7</xref> plots 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> curve” for GP. <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 the normalized average distance between the probe with the best fitness and all other probes at each time step, <italic>viz.</italic>, <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: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: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><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 </p>
      <p>the probe with the best fitness, and <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 length of Ω’s principal diagonal (see <bold>Appendix</bold> for definitions). <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> decreases monotonically through step 10 to 0.0496977, then increases very quickly to a peak of 0.4767301 at step 11, followed by another quasi-monotonic decrease through step 29 to 0.0274355. This cycle repeats through step 48 where <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 0.0169657, followed by a jump to 0.1194779 at step 49.</p>
      <p>After a slight dip through step 53, <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> flattens out around a value of 0.11… The quasi-oscillatory behavior 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> usually correlates with local trapping, which in this case happens to be at the global maximum. 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> may be a similar phenomenon to oscillation seen in “<inline-formula><mml:math display="inline"><mml:mrow><mml:mi> Δ </mml:mi><mml:mtext> V </mml:mtext></mml:mrow></mml:math></inline-formula> ” curves for gravitationally </p>
      <p><bold>Table 1.</bold>Summary results for GP function using CFO-PR.</p>
      <fig id="fig5">
        <label>Figure 5</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId177.jpeg?20251229023817" />
      </fig>
      <p>trapped Near Earth Objects (NEOs), strongly suggesting that NEO theory may hold the key to analytical mitigation or elimination of local trapping at local maxima and possibly a proof of convergence for CFO (see in particular [<xref ref-type="bibr" rid="B16">16</xref>]). As the data in <bold>Table 1</bold> clearly show, some sets of parameters are much better than others. Without pseudorandom initial probes, one run would be made with, in this example, only a 13.6% probability of locating the global maximum with a fractional accuracy of 0.03% (9 of 66 runs). This statistic highlights the importance of pseudorandomness in CFO.</p>
      <p>Because CFO-PR converges so quickly on GP’s global maximum, the number</p>
      <fig id="fig6">
        <label>Figure 6</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId178.jpeg?20251229023817" />
      </fig>
      <p><bold>Figure 5.</bold> GP best run initial probe distributions.</p>
      <fig id="fig7">
        <label>Figure 7</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId179.jpeg?20251229023817" />
      </fig>
      <p><bold>Figure 6.</bold> Evolution of GP function best fitness.</p>
      <fig id="fig8">
        <label>Figure 8</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId180.jpeg?20251229023818" />
      </fig>
      <p><bold>Figure 7.</bold> Evolution of GP function <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> .</p>
      <p>of the probe with the best fitness is constant after step #1 as seen in the best probe plot in <xref ref-type="fig" rid="fig8">Figure 8</xref>. The best probe number (#14) is the same for steps 0 and 1, but it switches to probe #2 at step 2. Neither the number of the best probe nor the fitness change after step 2. Of course, for most functions the best probe number varies throughout a run, often quite erratically.</p>
      <fig id="fig9">
        <label>Figure 9</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId183.jpeg?20251229023818" />
      </fig>
      <p><bold>Figure 8.</bold> GP function best probe number.</p>
      <fig id="fig10">
        <label>Figure 10</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId184.jpeg?20251229023818" />
      </fig>
      <p><bold>Figure 9.</bold> GP function trajectories of probes with best fitness.</p>
      <p><xref ref-type="fig" rid="fig9">Figure 9</xref> and <xref ref-type="fig" rid="fig10">Figure 10</xref>, respectively, plot the probe trajectories for the probes with the best ten fitnesses ordered by fitness and for the first sixteen individual probes ordered by probe number [number of trajectories plotted chosen as a matter of convenience]. Both plots are very chaotic with no obvious sign of regularity in how probes gravitate to the global maximum. Nevertheless, there is some measure of regularity as reflected 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> curve because its appearance is not nearly as chaotic as the trajectory plots. In fact, in many cases <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> exhibits a mathematically precise oscillation even when the probe trajectories look like <xref ref-type="fig" rid="fig9">Figure 9</xref> and <xref ref-type="fig" rid="fig10">Figure 10</xref> (see in particular [<xref ref-type="bibr" rid="B4">4</xref>][<xref ref-type="bibr" rid="B17">17</xref>]).</p>
      <fig id="fig11">
        <label>Figure 11</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId189.jpeg?20251229023818" />
      </fig>
      <p><bold>Figure 10.</bold> GP function probe trajectories by probe number.</p>
    </sec>
    <sec id="sec4">
      <title>4. A Benchmark Suite</title>
      <p>CFO-PR was tested against the twenty-three function benchmark suite in [<xref ref-type="bibr" rid="B18">18</xref>], and the results compared to those from the other algorithms reported in that paper. The benchmarks, their decision spaces, and the three other algorithms (“GSO,” “PSO,” “GA”) are discussed in detail in that paper. GSO (Group Search Optimizer, not to be confused with “Global Search and Optimization”) is a novel, highly refined Nature-inspired metaheuristic that mimics animal searching behavior based on a “producer-scrounger” model. PSO was implemented using “PSOt,” a MATLAB-based toolbox that includes standard and variant PSO algorithms. The genetic algorithm in [<xref ref-type="bibr" rid="B18">18</xref>] was implemented using the GAOT toolbox (genetic algorithm optimization toolbox). Recommended default parameter values were used for the PSOt and GA algorithms as described in [<xref ref-type="bibr" rid="B18">18</xref>].</p>
      <p><bold>Table 2</bold> summarizes CFO-PR’s results using the same function numbering as [<xref ref-type="bibr" rid="B18">18</xref>] (more detailed data appear in the <bold>Appendix</bold> that is available online [<xref ref-type="bibr" rid="B15">15</xref>]). Note that the benchmark suite in [<xref ref-type="bibr" rid="B18">18</xref>] does not include GP as a test function. In <bold>Table 2</bold><inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> f </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the known global <italic>maximum</italic> (note that the negative of each benchmark is used because, unlike the other algorithms, CFO locates maxima, not minima). <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> 〈 </mml:mo><mml:mrow><mml:mtext>   </mml:mtext><mml:mo> ⋅ </mml:mo><mml:mtext>   </mml:mtext></mml:mrow><mml:mo> 〉 </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> denotes average value. Because GSO, PSO and GA are inherently </p>
      <p><bold>Table 2.</bold> CFO-PR comparative results for 23 Benchmark Functions (<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> = Function Dimension, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> f </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> = Known Global Maximum).</p>
      <table-wrap id="tbl1">
        <label>Table 1</label>
        <table>
          <tbody>
            <tr>
              <td rowspan="2">
                <italic>Test</italic>
                <italic>Function</italic>
                <bold>
                  <sup>*</sup>
                </bold>
              </td>
              <td rowspan="2">
                <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 rowspan="2">
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>f</mml:mi>
                        <mml:mrow>
                          <mml:mi>max</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
                <bold>
                  <sup>*</sup>
                </bold>
              </td>
              <td rowspan="2">
                <italic>
                  <bold>
                  </bold>
                </italic>
                <italic>
                  <bold>Fitness&gt;/</bold>
                </italic>
                <italic>
                  <bold>Other</bold>
                </italic>
                <italic>
                  <bold>Algorithm</bold>
                </italic>
              </td>
              <td colspan="5">
                <italic>
                  <bold>CFO</bold>
                </italic>
              </td>
            </tr>
            <tr>
              <td>
                <italic>Best Fitness</italic>
              </td>
              <td>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>γ</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:math>
                </inline-formula>
              </td>
              <td>
                <italic>Best</italic>
                <inline-formula>
                  <mml:math>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>N</mml:mi>
                            <mml:mi>p</mml:mi>
                          </mml:msub>
                        </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:mrow>
                    </mml:mrow>
                  </mml:math>
                </inline-formula>
              </td>
              <td>
                <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>
                <italic>Best Run</italic>
              </td>
              <td>
                <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>
                <italic>Total</italic>
              </td>
            </tr>
            <tr>
              <td colspan="9">Unimodal Functions (other algorithms: average of 1000 runs)</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>1</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −3.6927 × 10
                <sup>−37</sup>
                /PSO
              </td>
              <td>
                −4.8438 × 10
                <sup>−4</sup>
              </td>
              <td>0.1</td>
              <td>4</td>
              <td>20,640</td>
              <td>507,060</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>2</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −2.9168 × 10
                <sup>−24</sup>
                /PSO
              </td>
              <td>
                −4 × 10
                <sup>−8</sup>
              </td>
              <td>0.5</td>
              <td>2</td>
              <td>5040</td>
              <td>716,400</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>3</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −1.1979 × 10
                <sup>−3</sup>
                /PSO
              </td>
              <td>
                −6 × 10
                <sup>−8</sup>
              </td>
              <td>0.5</td>
              <td>2</td>
              <td>10,260</td>
              <td>1,534,260</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>4</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>−0.1078/GSO</td>
              <td>
                −4.2 × 10
                <sup>−7</sup>
              </td>
              <td>0.5</td>
              <td>2</td>
              <td>5160</td>
              <td>332,340</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>5</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>−37.3582/PSO</td>
              <td>
                −1.09289 × 10
                <sup>−3</sup>
              </td>
              <td>0.9</td>
              <td>6</td>
              <td>34,560</td>
              <td>845,640</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>6</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −1.6000 × 10
                <sup>−2</sup>
                /GSO
              </td>
              <td>0</td>
              <td>1.0</td>
              <td>6</td>
              <td>10,980</td>
              <td>350,280</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>7</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −9.9024 × 10
                <sup>−3</sup>
                /PSO
              </td>
              <td>
                −4.249 × 10
                <sup>−5</sup>
              </td>
              <td>0.1</td>
              <td>4</td>
              <td>60,120</td>
              <td>1,983,960</td>
            </tr>
            <tr>
              <td colspan="9">Multimodal Functions, Many Local Maxima (other algorithms: avg 1000 runs)</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>8</sub>
              </td>
              <td>30</td>
              <td>12,569.5</td>
              <td>12,569.4882/GSO</td>
              <td>12,569.4866</td>
              <td>0.5</td>
              <td>4</td>
              <td>12,720</td>
              <td>448,800</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>9</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>−0.6509/GA</td>
              <td>
                −2.05 × 10
                <sup>−6</sup>
              </td>
              <td>0.7</td>
              <td>4</td>
              <td>16,440</td>
              <td>680,640</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>10</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −2.6548 × 10
                <sup>−5</sup>
                /GSO
              </td>
              <td>
                −1.5 × 10
                <sup>−7</sup>
              </td>
              <td>0.5</td>
              <td>2</td>
              <td>5100</td>
              <td>904,980</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>11</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −3.0792 × 10
                <sup>−2</sup>
                /GSO
              </td>
              <td>
                −9.97293 × 10
                <sup>−2</sup>
              </td>
              <td>0.1</td>
              <td>6</td>
              <td>42,660</td>
              <td>489,060</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>12</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −2.7648 × 10
                <sup>−11</sup>
                /GSO
              </td>
              <td>
                −2.067 × 10
                <sup>−5</sup>
              </td>
              <td>0.5</td>
              <td>2</td>
              <td>3660</td>
              <td>341,400</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>13</sub>
              </td>
              <td>30</td>
              <td>0</td>
              <td>
                −4.6948 × 10
                <sup>−5</sup>
                /GSO
              </td>
              <td>
                −3.2853 × 10
                <sup>−3</sup>
              </td>
              <td>0.6</td>
              <td>6</td>
              <td>16,920</td>
              <td>679,620</td>
            </tr>
            <tr>
              <td colspan="9">Multimodal Functions, Few Local Maxima (other algorithms: avg 50 runs)</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>14</sub>
              </td>
              <td>2</td>
              <td>−1</td>
              <td>−0.9980/GSO</td>
              <td>−0.9980</td>
              <td>0.2</td>
              <td>12</td>
              <td>5952</td>
              <td>141,076</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>15</sub>
              </td>
              <td>4</td>
              <td>−0.0003075</td>
              <td>
                −3.7713 × 10
                <sup>−4</sup>
                /GSO
              </td>
              <td>
                −4.889 × 10
                <sup>−4</sup>
              </td>
              <td>0</td>
              <td>12</td>
              <td>3360</td>
              <td>304,664</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>16</sub>
              </td>
              <td>2</td>
              <td>1.0316285</td>
              <td>1.031628/GSO</td>
              <td>1.031626</td>
              <td>0.4</td>
              <td>12</td>
              <td>6288</td>
              <td>124,340</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>17</sub>
              </td>
              <td>2</td>
              <td>−0.398</td>
              <td>−0.3979/GSO</td>
              <td>−0.3979</td>
              <td>0</td>
              <td>8</td>
              <td>1872</td>
              <td>108,340</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>18</sub>
              </td>
              <td>2</td>
              <td>−3</td>
              <td>−3/GSO</td>
              <td>−3</td>
              <td>0.9</td>
              <td>12</td>
              <td>1464</td>
              <td>180,472</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>19</sub>
              </td>
              <td>3</td>
              <td>3.86</td>
              <td>3.8628/GSO</td>
              <td>3.8627</td>
              <td>0.2</td>
              <td>14</td>
              <td>3150</td>
              <td>200,268</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>20</sub>
              </td>
              <td>6</td>
              <td>3.32</td>
              <td>3.2697/GSO</td>
              <td>3.32173</td>
              <td>0.3</td>
              <td>12</td>
              <td>18,072</td>
              <td>730,212</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>21</sub>
              </td>
              <td>4</td>
              <td>10</td>
              <td>7.5439/PSO</td>
              <td>10.1532</td>
              <td>0.4</td>
              <td>6</td>
              <td>1896</td>
              <td>336,712</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>22</sub>
              </td>
              <td>4</td>
              <td>10</td>
              <td>8.3553/PSO</td>
              <td>10.4029</td>
              <td>0.8</td>
              <td>6</td>
              <td>2208</td>
              <td>386,176</td>
            </tr>
            <tr>
              <td>
                <italic>f</italic>
                <sub>23</sub>
              </td>
              <td>4</td>
              <td>10</td>
              <td>8.9439/PSO</td>
              <td>10.5363</td>
              <td>0.8</td>
              <td>6</td>
              <td>2256</td>
              <td>394,320</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p>*Note: negative of the functions in [<xref ref-type="bibr" rid="B11">11</xref>] are computed by CFO because CFO searches for maxima instead of minima.</p>
      <p>stochastic, evaluating their performance requires a statistical assessment. Statistical data for those algorithms in <bold>Table 2</bold> are reproduced from [<xref ref-type="bibr" rid="B18">18</xref>] where thousands of runs were required. In stark contrast CFO’s results, of course, are repeatable over runs with the same parameters because it is deterministic; therefore no statistical description is necessary.</p>
      <p>The CFO-PR data correspond to the best fitness returned by the single best run in the set of runs with variable <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> and variable <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> . For functions <italic>f</italic><sub>1</sub><sub>4</sub> - <italic>f</italic><sub>23</sub> eleven runs were made with <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> 1 </mml:mn></mml:mrow></mml:math></inline-formula> in increments of 0.1 and <inline-formula><mml:math><mml:mrow><mml:mn> 4 </mml:mn><mml:mo> ≤ </mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow><mml:mo> ≤ </mml:mo><mml:mn> 14 </mml:mn></mml:mrow></mml:math></inline-formula> by 2 (66 runs total). For <italic>f</italic><sub>1</sub> - <italic>f</italic><sub>13</sub> the same procedure was used, but with <inline-formula><mml:math display="inline"><mml:mrow><mml:mn> 2 </mml:mn><mml:mo> ≤ </mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow><mml:mo> ≤ </mml:mo><mml:mn> 6 </mml:mn></mml:mrow></mml:math></inline-formula> by 2 (33 runs total) in order to avoid excessive runtimes. <bold>Table 2</bold> shows the <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> value corresponding to the best fitness, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> γ </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:math></inline-formula> , and the corresponding best value of <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></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> v </mml:mi><mml:mi> a </mml:mi><mml:mi> l </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the number of function evaluations, and it is tabulated for the single best run and for the group of runs used to determine <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> γ </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:math></inline-formula> and the best number of probes per axis.</p>
      <p>In the first group of high dimensionality unimodal functions, <italic>f</italic><sub>1</sub> - <italic>f</italic><sub>7</sub>, CFO-PR returned the best fitness on five of the seven functions (<italic>f</italic><sub>3</sub> - <italic>f</italic><sub>7</sub>). PSO performed best on the first two. In the second set of high dimensionality multimodal functions with many local maxima, <italic>f</italic><sub>8</sub> - <italic>f</italic><sub>13</sub>, CFO-PR performed best on two (<italic>f</italic><sub>9</sub>, <italic>f</italic><sub>10</sub>) and essentially the same as the best other algorithm (GSO) on <italic>f</italic><sub>8</sub>. In last group of ten multimodal functions with few local maxima, <italic>f</italic><sub>14</sub> - <italic>f</italic><sub>23</sub>, CFO-PR returned the best fitness on four (<italic>f</italic><sub>20</sub> - <italic>f</italic><sub>23</sub>), equal fitnesses on three (<italic>f</italic><sub>14</sub><italic><sub>,</sub></italic><italic>f</italic><sub>17</sub><italic><sub>,</sub></italic><italic>f</italic><sub>18</sub>), and very slightly lower fitnesses on the remaining three.</p>
      <p>CFO-PR performed very well against three other highly sophisticated algorithms. It returned the best, equal, essentially equal or very slightly lower fitnesses on eighteen of the twenty three test functions. It is reasonable to conclude that, overall, CFO-PR performed as well or better than GSO, which in turn performed better than PSO or GA.</p>
      <p>Because GP was not included in [<xref ref-type="bibr" rid="B18">18</xref>] a direct comparison with that test function cannot be made. But in order to provide a thorough comparison <bold>Table 2</bold> and <bold>Table 3</bold>, respectively, tabulate the number of function evaluations from [<xref ref-type="bibr" rid="B18">18</xref>] compared to CFO-PR’s total number of runs and the number for its best run. The total number for CFO-PR depends entirely on the choice of parameters <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> . <bold>Table 4</bold> provides the same information as <bold>Table 3</bold> but for CFO-PR’s best run instead of for all runs. Increasing the number of probes per dimension or decreasing the granularity of the probe line parameter can dramatically increase </p>
      <p><bold>Table 3.</bold> # Evals, GSO/CFO-PR all runs.</p>
      <table-wrap id="tbl2">
        <label>Table 2</label>
        <table>
          <tbody>
            <tr>
              <td>Fnc #</td>
              <td>GSO/CFO-PR</td>
              <td>Fnc #</td>
              <td>GSO/CFO-PR</td>
              <td>Fnc #</td>
              <td>GSO/CFO-PR</td>
            </tr>
            <tr>
              <td>1</td>
              <td>150000/507060</td>
              <td>9</td>
              <td>250000/680640</td>
              <td>17</td>
              <td>5000/108340</td>
            </tr>
            <tr>
              <td>2</td>
              <td>150000/716400</td>
              <td>10</td>
              <td>150000/904980</td>
              <td>18</td>
              <td>10000/180472</td>
            </tr>
            <tr>
              <td>3</td>
              <td>250000/1534260</td>
              <td>11</td>
              <td>150000/489060</td>
              <td>19</td>
              <td>4000/200268</td>
            </tr>
            <tr>
              <td>4</td>
              <td>150000/332340</td>
              <td>12</td>
              <td>150000/341400</td>
              <td>20</td>
              <td>7500/730212</td>
            </tr>
            <tr>
              <td>5</td>
              <td>150000/845640</td>
              <td>13</td>
              <td>150000/679620</td>
              <td>21</td>
              <td>1000/336712</td>
            </tr>
            <tr>
              <td>6</td>
              <td>150000/350280</td>
              <td>14</td>
              <td>7500/141076</td>
              <td>22</td>
              <td>1000/386176</td>
            </tr>
            <tr>
              <td>7</td>
              <td>150000/1983960</td>
              <td>15</td>
              <td>250000/304664</td>
              <td>23</td>
              <td>1000/394320</td>
            </tr>
            <tr>
              <td>8</td>
              <td>150000/448800</td>
              <td>16</td>
              <td>1250/124340</td>
              <td>--</td>
              <td>--</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p><bold>Table 4.</bold> # Evals, GSO/CFO-PR best run.</p>
      <table-wrap id="tbl3">
        <label>Table 3</label>
        <table>
          <tbody>
            <tr>
              <td>Fnc #</td>
              <td>GSO/CFO-PR</td>
              <td>Fnc #</td>
              <td>GSO/CFO-PR</td>
              <td>Fnc #</td>
              <td>GSO/CFO-PR</td>
            </tr>
            <tr>
              <td>1</td>
              <td>150000/20640</td>
              <td>9</td>
              <td>250000/16440</td>
              <td>17</td>
              <td>5000/1872</td>
            </tr>
            <tr>
              <td>2</td>
              <td>150000/5040</td>
              <td>10</td>
              <td>150000/5100</td>
              <td>18</td>
              <td>10000/1464</td>
            </tr>
            <tr>
              <td>3</td>
              <td>250000/10260</td>
              <td>11</td>
              <td>150000/42660</td>
              <td>19</td>
              <td>4000/3150</td>
            </tr>
            <tr>
              <td>4</td>
              <td>150000/5160</td>
              <td>12</td>
              <td>150000/3660</td>
              <td>20</td>
              <td>7500/18072</td>
            </tr>
            <tr>
              <td>5</td>
              <td>150000/34560</td>
              <td>13</td>
              <td>150000/16920</td>
              <td>21</td>
              <td>1000/1896</td>
            </tr>
            <tr>
              <td>6</td>
              <td>150000/10980</td>
              <td>14</td>
              <td>7500/5952</td>
              <td>22</td>
              <td>1000/2208</td>
            </tr>
            <tr>
              <td>7</td>
              <td>150000/60120</td>
              <td>15</td>
              <td>250000/3360</td>
              <td>23</td>
              <td>1000/2256</td>
            </tr>
            <tr>
              <td>8</td>
              <td>150000/12720</td>
              <td>16</td>
              <td>1250/6288</td>
              <td>--</td>
              <td>--</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p>the number of function evaluations as is evident from these <bold>Table 2</bold> and <bold>Table 3</bold>. It therefore behooves the algorithm designer to choose these parameters wisely, and perhaps to employ novel strategies instead of simply looping on many possibilities as is done here. For example, a bisection scheme might work well, but this approach has not been tested because the very point of this discussion is to demonstrate how well CFO-PR works with an appropriate choice of run parameters. An adaptive approach such as discussed in [<xref ref-type="bibr" rid="B19">19</xref>] might be useful in CFO-PR.</p>
      <p>When appropriate parameters are specified, CFO-PR’s performance is quite good as demonstrated by the 30-dimensional Schwefel Problem 2.26 (see [<xref ref-type="bibr" rid="B19">19</xref>]). This is an especially difficult benchmark because of its extreme multimodality as shown in its 2D plot shown in <xref ref-type="fig" rid="fig11">Figure 11</xref>.</p>
      <fig id="fig12">
        <label>Figure 12</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId234.jpeg?20251229023819" />
      </fig>
      <p><bold>Figure 11.</bold> Schwefel problem 2.26 in two dimensions (courtesy <ext-link ext-link-type="uri" xlink:href="http://www.sfu.ca/~ssurjano/schwef.html">http://www.sfu.ca/~ssurjano/schwef.html</ext-link>). </p>
      <p>The 30D Schwefel is defined as <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: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:mn> 30 </mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:mstyle><mml:mi> sin </mml:mi><mml:msqrt><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:mrow><mml:mo> | </mml:mo></mml:mrow></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mo> − </mml:mo><mml:mn> 500 </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> 500 </mml:mn></mml:mrow></mml:math></inline-formula> with a known global maximum value of 12,569.5 [<xref ref-type="bibr" rid="B4">4</xref>]. CFO-PR data are as follows:</p>
      <fig id="fig13">
        <label>Figure 13</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId240.jpeg?20251229023820" />
      </fig>
      <p>But for runs #1 and 11 CFO-PR returned excellent estimates of the Schwefel’s maximum, which confirms how well it performs with appropriate choices for <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub></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:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mi> γ </mml:mi></mml:math></inline-formula> .</p>
    </sec>
    <sec id="sec5">
      <title>5. Typical “Real World” Problems</title>
      <p>Besides working very well on a wide range of benchmark functions with excellent scalability [<xref ref-type="bibr" rid="B13">13</xref>], CFO-PR is very effective on “real world” problems as well. Two sample problems are discussed in this section. Both are drawn from antenna engineering. Readers unfamiliar with or not particularly interested in this field can peruse this section quickly to get an idea of how well CFO-PR works against a couple of difficult practical problems.</p>
      <sec id="sec5dot1">
        <title>5.1. Circular Array of Half-Wave Dipoles (PBM#3)</title>
        <p>The first real world problem is Problem #3 in the PBM suite of antenna benchmarks (“PBM#3”) [<xref ref-type="bibr" rid="B20">20</xref>]. This suite comprises five difficult real-world antenna optimization problems designed to test a metaheuristic’s effectiveness (how close it gets to the known best fitness and its location in Ω) and its efficiency (number of required calculations).</p>
        <p>PBM#3 is a circular array of half-wave dipoles (<inline-formula><mml:math><mml:mrow><mml:mrow><mml:mi> λ </mml:mi><mml:mo> / </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:mrow></mml:math></inline-formula> , where <inline-formula><mml:math><mml:mi> λ </mml:mi></mml:math></inline-formula> is wavelength). Its geometry is shown in <xref ref-type="fig" rid="fig12">Figure 12</xref>. The array comprises eight dipoles parallel to the z-axis uniformly deployed on a one-wavelength radius circle (<inline-formula><mml:math><mml:mrow><mml:mi> λ </mml:mi><mml:mo> = </mml:mo><mml:mn> 1.0 </mml:mn></mml:mrow></mml:math></inline-formula> ) in standard right-handed Cartesian coordinates. All dipoles are center-fed by unit-amplitude sources with phase varying as <inline-formula><mml:math><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><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> , and <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> is the phase parameter. The unit-amplitude excitation is therefore <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> , <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> = </mml:mo><mml:msqrt><mml:mrow><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> .</p>
        <p><underline><italic>Fitness</italic></underline><underline> : </underline> The objective (fitness) function is maximizing the array’s 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><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 decision space is {Ω: <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> &lt; </mml:mo><mml:mi> θ </mml:mi><mml:mo> &lt; </mml:mo><mml:mi> π </mml:mi></mml:mrow></mml:math></inline-formula> }. Its landscape is shown in <xref ref-type="fig" rid="fig13">Figure 13</xref>. Although the topology is very highly multimodal, the global maxima are nevertheless visible. The range of <inline-formula><mml:math><mml:mi> β </mml:mi></mml:math></inline-formula> results in four equal-amplitude global maxima at the points (<inline-formula><mml:math><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: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:mn> 2 </mml:mn><mml:mo> , </mml:mo><mml:mn> 3 </mml:mn><mml:mo> , </mml:mo><mml:mn> 4 </mml:mn></mml:mrow></mml:math></inline-formula> ; <inline-formula><mml:math><mml:mrow><mml:mi> θ </mml:mi><mml:mo> = </mml:mo><mml:mrow><mml:mi> π </mml:mi><mml:mo> / </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:mrow></mml:math></inline-formula> ). The known value of the maxima was determined by modeling the array with the Numerical Electromagnetics Code Version 4 (NEC4) [<xref ref-type="bibr" rid="B21">21</xref>]. The NEC4-computed maximum directivity is 6.15 dBi (decibels relative to isotropic). CFO was run with the following parameters: <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></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:mo> = </mml:mo><mml:mn> 100 </mml:mn></mml:mrow></mml:math></inline-formula> , </p>
        <p><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:mo> = </mml:mo><mml:mn> 8 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> γ </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> γ </mml:mi><mml:mo> = </mml:mo><mml:mn> 0 </mml:mn></mml:mrow></mml:math></inline-formula> (4 probes equally spaced on each of the two axes), </p>
        <p><inline-formula><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:mrow></mml:math></inline-formula> , <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:mo> = </mml:mo><mml:mn> 0.1 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><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> min </mml:mi></mml:mrow></mml:msubsup><mml:mo> = </mml:mo><mml:mn> 0.05 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> α </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> β </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> G </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> . These </p>
        <p>parameter values provide an example of how the number of function evaluations can be reduced.</p>
        <fig id="fig14">
          <label>Figure 14</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId305.jpeg?20251229023824" />
        </fig>
        <p><bold>Figure 12.</bold> PBM #3, Circular Array of Half-Wave Dipoles (1<italic>λ</italic> radius).</p>
        <fig id="fig15">
          <label>Figure 15</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId306.jpeg?20251229023824" />
        </fig>
        <p><bold>Figure 13.</bold> PBM#3 landscape, perspective view.</p>
        <p><underline><italic>Effectiveness</italic></underline><underline> : </underline> CFO-PR returned a maximum directivity of 6.48634 dBi, which is a difference of 0.33634 dB (5.5%//6.15, “//” is relative to). For the maximum’s location CFO-PR returned coordinates <inline-formula><mml:math><mml:mrow><mml:mi> β </mml:mi><mml:mo> = </mml:mo><mml:mtext> 0 </mml:mtext><mml:mtext> .48024 </mml:mtext></mml:mrow></mml:math></inline-formula> ,<inline-formula><mml:math><mml:mrow><mml:mi> θ </mml:mi><mml:mo> = </mml:mo><mml:mtext> 1 </mml:mtext><mml:mtext> .57327 </mml:mtext></mml:mrow></mml:math></inline-formula> , which differ from the known coordinates by 0.01976 and −0.00247, respectively (3.9% and 0.15% // known coordinates).</p>
        <p><underline><italic>Efficiency</italic></underline><underline> : </underline> CFO-PR required 1050 function evaluations while the best performing algorithm in [<xref ref-type="bibr" rid="B20">20</xref>] required 900. Four different optimizers were evaluated in [<xref ref-type="bibr" rid="B20">20</xref>], and the other three required between 1685 and 5040 function evaluations. CFO-PR thus performs very well on PBM#3.</p>
      </sec>
      <sec id="sec5dot2">
        <title>5.2. Ultra-Wideband Bowtie</title>
        <p>The second real-world antenna problem is optimizing a resistively-loaded Bowtie antenna. The Bowtie is widely used as a broadband structure, but unloaded versions cannot provide nearly as much bandwidth as a resistively loaded antenna. A detailed analysis of the Bowtie structure appears in [<xref ref-type="bibr" rid="B22">22</xref>]. The general objective is to achieve ultra wideband (UWB) performance over as much of the 3 - 8 GHz band as possible, where following the U.S. FCC definition UWB is defined as 25% or more of the band center frequency.</p>
        <p><inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula><underline><italic>as a design variable</italic></underline>: <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the characteristic impedance of antenna’s feed system. For historical reasons its value is usually 50 ohms resistive, and almost all modern antennas are designed against this standard. In optimizing an antenna <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is consequently almost always a fixed parameter, not an optimization variable. But by removing this artificial constraint and allowing <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> to be determined<italic>by</italic> the optimizer much better antennas can be discovered [<xref ref-type="bibr" rid="B23">23</xref>]. This approach is referred to as <italic>Variable</italic><inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> , which is a patented technology [<xref ref-type="bibr" rid="B24">24</xref>] that is now in the public domain for unrestricted use.</p>
        <p>An antenna’s <italic>impedance bandwidth</italic> (IBW) is defined as the frequency band or bands within which the antenna input impedance, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mi> n </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , is matched within specified limits to the feed system characteristic impedance, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> . The required degree of impedance matching can be specified in terms of the antenna’s actual input impedance (resistance and reactance) as a function of frequency, or, as is more often the case, in terms of a maximum <italic>voltage standing wave ratio</italic> (VSWR). IBW typically is specified as <inline-formula><mml:math display="inline"><mml:mrow><mml:mtext> VSWR </mml:mtext><mml:mo> / </mml:mo><mml:mtext>   </mml:mtext><mml:mo> / </mml:mo><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 2 </mml:mn><mml:mo> : </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> (// denoting “relative to”), which is equivalent to a return loss (scattering parameter <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> S </mml:mi><mml:mrow><mml:mn> 11 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> ) of approximately less than −10 dB. Of course, other VSWR thresholds can be used instead (and often are). Zehforoosh <italic>et al.</italic> [<xref ref-type="bibr" rid="B25">25</xref>] describes the design of an UWB microstrip antenna and provides a good summary of <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> ’s significance as a design parameter in the context of IBW. Notably, in [<xref ref-type="bibr" rid="B25">25</xref>]<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is a fixed parameter, not a variable quantity as it is in <italic>Variable</italic><inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> .</p>
        <p>The Bowtie antenna structure is shown schematically in <xref ref-type="fig" rid="fig14">Figure 14</xref>. The objective is to maximize bandwidth in the 3 - 8 GHz range. The Bowtie comprises two symmetrical wire triangles connected by a feed wire. The perfectly electrically conducting (PEC) wire has diameter <inline-formula><mml:math><mml:mrow><mml:mn> 2 </mml:mn><mml:mi> a </mml:mi></mml:mrow></mml:math></inline-formula> meters and the arm and feed wire </p>
        <fig id="fig16">
          <label>Figure 16</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId337.jpeg?20251229023825" />
        </fig>
        <p><bold>Figure 14</bold><bold>.</bold>Schematic diagram of resistively loaded Bowtie antenna.</p>
        <p>lengths are <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> and <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:mrow></mml:math></inline-formula> , respectively, also in meters. The bowtie’s flare angle (vertex angle) is <inline-formula><mml:math><mml:mrow><mml:mn> 2 </mml:mn><mml:mi> α </mml:mi></mml:mrow></mml:math></inline-formula> radians. The antenna is impedance-loaded with four symmetrically placed equal-value loading resistors, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> R </mml:mi><mml:mrow><mml:mi> l </mml:mi><mml:mi> o </mml:mi><mml:mi> a </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> ohms, that increase IBW at the expense of radiation efficiency (see [<xref ref-type="bibr" rid="B26">26</xref>] for a discussion of impedance loading). The resistors are inserted in series with the antenna wire a distance <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> l </mml:mi><mml:mi> o </mml:mi><mml:mi> a </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> meters from the vertex. Excitation is provided by an RF (radio frequency) source at the center of the feed wire. The feed system characteristics impedance is <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> which, as discussed above, is an optimization parameter whose value will be determined by the optimization process.</p>
        <p>The Bowtie structure was modeled in free space with the double-precision version of NEC4, [<xref ref-type="bibr" rid="B21">21</xref>] without and with resistive loading. The RF source is located at the origin of NEC’s standard right-handed spherical polar coordinate system with the antenna the Y-Z plane and feed wire along the Y-axis.</p>
        <p><underline><italic>Design Variables</italic></underline>: The Bowtie problem is 5-dimensional with design <italic>variables</italic>: <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> , <inline-formula><mml:math><mml:mi> α </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> l </mml:mi><mml:mi> o </mml:mi><mml:mi> a </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> R </mml:mi><mml:mrow><mml:mi> l </mml:mi><mml:mi> o </mml:mi><mml:mi> a </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , and, importantly and differently from traditional methodology, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> . Each of these quantities is allowed to vary in the optimization process. Their values are determined by the optimizer. Note that the wire radius <inline-formula><mml:math><mml:mi> a </mml:mi></mml:math></inline-formula> and the feed wire length <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:mrow></mml:math></inline-formula> are fixed parameters and consequently not included in the list of design variables (this is the usual approach).</p>
        <p><underline><italic>Optimization Methodology</italic></underline>: CFO-PR was used as the optimizer. The fitness function (to be maximized over the frequency range 0.8-12 GHz) was defined as</p>
        <disp-formula id="FD2">
          <mml:math display="inline">
            <mml:mtable columnalign="left">
              <mml:mtr>
                <mml:mtd>
                  <mml:mi>F</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>Z</mml:mi>
                        <mml:mn>0</mml:mn>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>R</mml:mi>
                        <mml:mrow>
                          <mml:mi>l</mml:mi>
                          <mml:mi>o</mml:mi>
                          <mml:mi>a</mml:mi>
                          <mml:mi>d</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>L</mml:mi>
                        <mml:mrow>
                          <mml:mi>l</mml:mi>
                          <mml:mi>o</mml:mi>
                          <mml:mi>a</mml:mi>
                          <mml:mi>d</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <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:mi>α</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                </mml:mtd>
              </mml:mtr>
              <mml:mtr>
                <mml:mtd>
                  <mml:mfrac>
                    <mml:mrow>
                      <mml:mn>5</mml:mn>
                      <mml:mo>⋅</mml:mo>
                      <mml:mi>min</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>G</mml:mi>
                            <mml:mrow>
                              <mml:mi>max</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                      <mml:mo>+</mml:mo>
                      <mml:mi>min</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mi>ε</mml:mi>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>|</mml:mo>
                        <mml:mrow>
                          <mml:mtext>
                             
                          </mml:mtext>
                          <mml:mi>max</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>R</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mi>n</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>Z</mml:mi>
                            <mml:mn>0</mml:mn>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>|</mml:mo>
                      </mml:mrow>
                      <mml:mo>⋅</mml:mo>
                      <mml:mrow>
                        <mml:mo>{</mml:mo>
                        <mml:mrow>
                          <mml:mi>max</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:mtext>VSWR</mml:mtext>
                              <mml:mo>/</mml:mo>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mo>/</mml:mo>
                              <mml:msub>
                                <mml:mi>Z</mml:mi>
                                <mml:mn>0</mml:mn>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                          <mml:mo>−</mml:mo>
                          <mml:mi>min</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:mtext>VSWR</mml:mtext>
                              <mml:mo>/</mml:mo>
                              <mml:mtext>
                                 
                              </mml:mtext>
                              <mml:mo>/</mml:mo>
                              <mml:msub>
                                <mml:mi>Z</mml:mi>
                                <mml:mn>0</mml:mn>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>}</mml:mo>
                      </mml:mrow>
                      <mml:mo>⋅</mml:mo>
                      <mml:mrow>
                        <mml:mo>{</mml:mo>
                        <mml:mrow>
                          <mml:mi>max</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>X</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mi>n</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                          <mml:mo>−</mml:mo>
                          <mml:mi>min</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>X</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mi>n</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mo>}</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mfrac>
                  <mml:mo>,</mml:mo>
                </mml:mtd>
              </mml:mtr>
            </mml:mtable>
          </mml:math>
        </disp-formula>
        <p>in which <inline-formula><mml:math><mml:mi> ε </mml:mi></mml:math></inline-formula> is the bowtie’s radiation efficiency, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> G </mml:mi><mml:mrow><mml:mi> max </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> its maximum gain, and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mi> n </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:msub><mml:mi> R </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mi> n </mml:mi></mml:mrow></mml:msub><mml:mo> + </mml:mo><mml:mi> j </mml:mi><mml:msub><mml:mi> X </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mi> n </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> its input impedance, all as functions of frequency. The first term in the denominator drives the input resistance toward the feed system characteristic impedance (assumed to be purely resistive), while the second and third terms, respectively, minimize the VSWR and input reactance variability with frequency. The Bowtie’s fitness increases with increasing radiation efficiency and minimum maximum gain, and it decreases with increasing mismatch between <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> R </mml:mi><mml:mrow><mml:mi> i </mml:mi><mml:mi> n </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , and with increasing variability in VSWR and input reactance. The coefficient 5 in the gain term was determined empirically. Of course, the antenna designer is free to specify any desired fitness function, and different fitnesses will create different decision space landscapes that result in different antenna designs.</p>
        <p>The decision space was defined as follows: <inline-formula><mml:math><mml:mrow><mml:mn> 0.01 </mml:mn><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> 0.08 </mml:mn><mml:mtext>   </mml:mtext><mml:mtext> m </mml:mtext></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msup><mml:mrow><mml:mn> 10 </mml:mn></mml:mrow><mml:mo> ∘ </mml:mo></mml:msup><mml:mo> ≤ </mml:mo><mml:mi> α </mml:mi><mml:mo> ≤ </mml:mo><mml:msup><mml:mrow><mml:mn> 80 </mml:mn></mml:mrow><mml:mo> ∘ </mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> (bowtie variables); <inline-formula><mml:math><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> ≤ </mml:mo><mml:mrow><mml:mo> ⌊ </mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> l </mml:mi><mml:mi> o </mml:mi><mml:mi> a </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow><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:mfrac></mml:mrow><mml:mo> ⌋ </mml:mo></mml:mrow><mml:mo> ≤ </mml:mo><mml:mn> 9 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> R </mml:mi><mml:mrow><mml:mi> l </mml:mi><mml:mi> o </mml:mi><mml:mi> a </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 1000 </mml:mn><mml:mtext>   </mml:mtext><mml:mi> Ω </mml:mi></mml:mrow></mml:math></inline-formula> (loading variables); <inline-formula><mml:math><mml:mrow><mml:mn> 50 </mml:mn><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 1000 </mml:mn><mml:mtext>   </mml:mtext><mml:mi> Ω </mml:mi></mml:mrow></mml:math></inline-formula> (<italic>variable</italic> feed system characteristic impedance). The <italic>fixed</italic> design parameters were <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.02 </mml:mn><mml:mtext>   </mml:mtext><mml:mtext> m </mml:mtext></mml:mrow></mml:math></inline-formula> and wire radius <inline-formula><mml:math><mml:mrow><mml:mi> a </mml:mi><mml:mo> = </mml:mo><mml:mn> 0.0005 </mml:mn><mml:mtext>   </mml:mtext><mml:mtext> m </mml:mtext></mml:mrow></mml:math></inline-formula> (all dimensions in meters). These parameter ranges were specified based on experience.</p>
        <p>A parameter-free CFO-PR implementation was used (only the fitness function supplied as input) [<xref ref-type="bibr" rid="B22">22</xref>]-[<xref ref-type="bibr" rid="B24">24</xref>], run parameters being: <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> d </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 5 </mml:mn></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:mo> = </mml:mo><mml:mn> 250 </mml:mn></mml:mrow></mml:math></inline-formula> ; <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> γ </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 11 </mml:mn></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> γ </mml:mi><mml:mo> = </mml:mo><mml:mn> 0.1 </mml:mn></mml:mrow></mml:math></inline-formula> ); <inline-formula><mml:math><mml:mrow><mml:mi> max </mml:mi><mml:mtext>   </mml:mtext><mml:mtext>   </mml:mtext><mml:mrow><mml:mo> ( </mml:mo><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:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mn> 8 </mml:mn></mml:mrow></mml:math></inline-formula> ; <inline-formula><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:mrow></mml:math></inline-formula> ; <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:mo> = </mml:mo><mml:mn> 0.1 </mml:mn></mml:mrow></mml:math></inline-formula> ;<inline-formula><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> min </mml:mi></mml:mrow></mml:msubsup><mml:mo> = </mml:mo><mml:mn> 0.05 </mml:mn></mml:mrow></mml:math></inline-formula> ; <inline-formula><mml:math><mml:mrow><mml:mi> α </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> ; <inline-formula><mml:math><mml:mrow><mml:mi> β </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> ; <inline-formula><mml:math><mml:mrow><mml:mi> G </mml:mi><mml:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> ; <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi><mml:mo> = </mml:mo><mml:mn> 0.5 </mml:mn></mml:mrow></mml:math></inline-formula> . Decision space adaptation was applied every 20<sup>th</sup> time step with an early termination criterion of fitness saturation for 25 consecutive steps (variation ≤ 10<sup>−</sup><sup>6</sup>). CFO-PR’s best fitness was 1.5806 × 10<sup>−</sup><sup>4</sup> with <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:mo> = </mml:mo><mml:mn> 2 </mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:mi> γ </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> at time step 35, probe #1.</p>
        <p>The Bowtie’s performance was computed by NEC4 every 100 MHz across the band <inline-formula><mml:math><mml:mrow><mml:mn> 800 </mml:mn><mml:mo> ≤ </mml:mo><mml:msub><mml:mi> f </mml:mi><mml:mrow><mml:mi> m </mml:mi><mml:mi> h </mml:mi><mml:mi> z </mml:mi></mml:mrow></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 12000 </mml:mn></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> f </mml:mi><mml:mrow><mml:mi> m </mml:mi><mml:mi> h </mml:mi><mml:mi> z </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> being the frequency in megahertz) and the resulting data used to compute the fitness at each calculation frequency. The unloaded structure was optimized to create a reference Bowtie which was then optimized with loading using the reference structure as a starting point. The NEC-4 model employed 9 segments in each of the six wires forming the bowtie triangles, and three segments in the feed wire. Gain was computed every 5 degrees from <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> 90 </mml:mn><mml:mo> ˚ </mml:mo></mml:mrow></mml:math></inline-formula> at <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> (see [<xref ref-type="bibr" rid="B21">21</xref>] for coordinate system details). Note that the range for <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> L </mml:mi><mml:mrow><mml:mi> l </mml:mi><mml:mi> o </mml:mi><mml:mi> a </mml:mi><mml:mi> d </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is specified as an integer ratio to <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> because NEC loads a wire by segment <italic>number</italic> (“LD” cards), not by coordinate. The distance <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> consequently must be converted to an integer for use in NEC4.</p>
        <p><underline><italic>Bowtie results</italic></underline>: Design values for the optimized loaded Bowtie appear in <xref ref-type="fig" rid="fig15">Figure 15</xref>. Its computed VSWR performance from 800 to 12,000 MHz is summarized in <xref ref-type="fig" rid="fig16">Figure 16</xref>. Post-processing extended the frequency range from 200 to 15,000 MHz with data computed every 15 MHz. <xref ref-type="fig" rid="fig17">Figures 17-24</xref> plot and tabulate the results. As a preliminary matter, the NEC4 model must be validated using the unloaded antenna’s average free space power gain test (AGT) as discussed at [<xref ref-type="bibr" rid="B21">21</xref>]. The AGT plot appears in <xref ref-type="fig" rid="fig17">Figure 17</xref>. Over most of the band the average power gain is between about 1.05 and 1.1 with a peak near 1.18. Values within 20% of unity usually are considered adequate for model validation, so that in this example there is high confidence in the Bowtie data.</p>
        <p><xref ref-type="fig" rid="fig18">Figure 18</xref> plots the VSWR with and without resistive loading relative to the CFO-computed optimum feed system characteristic impedance of <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> = </mml:mo><mml:mn> 715 </mml:mn><mml:mtext>   </mml:mtext><mml:mi> Ω </mml:mi></mml:mrow></mml:math></inline-formula> . Note that <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> , which has been determined as a result of its being a <italic>variable</italic> quantity in the optimization process, is unusual and quite far from the “standard” </p>
        <fig id="fig17">
          <label>Figure 17</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId436.jpeg?20251229023826" />
        </fig>
        <p><bold>Figure 15.</bold> Optimized Bowtie design values.</p>
        <fig id="fig18">
          <label>Figure 18</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId437.jpeg?20251229023826" />
        </fig>
        <p><bold>Figure 16.</bold> Optimized Bowtie performance 800 - 12,000 MHz.</p>
        <fig id="fig19">
          <label>Figure 19</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId438.jpeg?20251229023826" />
        </fig>
        <p><bold>Figure 17.</bold> Bowtie NEC4 AGT plot.</p>
        <p>values that are much lower (mostly ~50 Ω). Impedance-matching <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> to a “standard” value, say, 50 Ω, requires a sufficiently broadband matching network, for example, a broadband transformer, lumped or distributed matching network, tapered transmission line, and so on, with some matching devices being better than others depending on the frequency range.</p>
        <p><xref ref-type="fig" rid="fig21">Figure 21</xref> summarizes the Bowtie’s IBW using the commonly used threshold </p>
        <fig id="fig20">
          <label>Figure 20</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId441.jpeg?20251229023825" />
        </fig>
        <p><bold>Figure 18.</bold> Bowtie VSWR.</p>
        <fig id="fig21">
          <label>Figure 21</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId442.jpeg?20251229023825" />
        </fig>
        <p><bold>Figure 19.</bold> Loaded Bowtie radiation efficiency.</p>
        <fig id="fig22">
          <label>Figure 22</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId443.jpeg?20251229023825" />
        </fig>
        <p><bold>Figure 20.</bold> Bowtie input resistance.</p>
        <fig id="fig23">
          <label>Figure 23</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId444.jpeg?20251229023825" />
        </fig>
        <p><bold>Figure 21.</bold> Bowtie VSWR//715 Ω ≤ 2:1 bands (<italic>f</italic><italic><sub>c</sub></italic> = band center).</p>
        <p><inline-formula><mml:math><mml:mrow><mml:mtext> VSWR </mml:mtext><mml:mo> / </mml:mo><mml:mtext>   </mml:mtext><mml:mo> / </mml:mo><mml:msub><mml:mi> Z </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> ≤ </mml:mo><mml:mn> 2 </mml:mn><mml:mo> : </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> . The antenna has several low-VSWR bands, two of which would be considered UWB because the fractional bandwidth with VSWR ≤ 2:1 is ≥ 25% of the band’s center frequency, <italic>f</italic><italic><sub>c</sub></italic>. The loading resistance thus had the desired effect of increasing IBW, but it does so at the expense of radiation efficiency as shown in <xref ref-type="fig" rid="fig19">Figure 19</xref>. At low frequencies <inline-formula><mml:math><mml:mi> ε </mml:mi></mml:math></inline-formula> is quite low, and it decreases very quickly with decreasing frequency. But, near 3000 MHz <inline-formula><mml:math><mml:mi> ε </mml:mi></mml:math></inline-formula> exhibits a sharp increase, with very reasonable values at higher frequencies. The unloaded PEC Bowtie’s efficiency is 100% and consequently is not plotted.</p>
        <p><xref ref-type="fig" rid="fig20">Figure 20</xref> and <xref ref-type="fig" rid="fig22">Figure 22</xref>, respectively, plot the antenna’s input resistance and reactance. The effect of adding resistive loading is, as expected, to reduce fluctuations in these variables.<xref ref-type="fig" rid="fig23">Figure 23</xref> and <xref ref-type="fig" rid="fig24">Figure 24</xref>plot the antenna’s maximum and minimum gains, respectively. Adding resistive loading generally reduces maximum gain as expected, but, interestingly, in this case it actually increases minimum gain in certain frequency ranges.</p>
        <fig id="fig24">
          <label>Figure 24</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId451.jpeg?20251229023826" />
        </fig>
        <p><bold>Figure 22.</bold> Bowtie input reactance.</p>
        <fig id="fig25">
          <label>Figure 25</label>
          <graphic xlink:href="https://html.scirp.org/file/1724397-rId452.jpeg?20251229023827" />
        </fig>
        <p><bold>Figure 23.</bold> Bowtie maximum power gain.</p>
      </sec>
    </sec>
    <sec id="sec6">
      <title>6. Conclusions</title>
      <p>This note suggests that pseudorandomness is an important, indeed perhaps essential, aspect of effective CFO implementations. A pseudorandom variable has an arbitrary but precisely known value that may be assigned or calculated or both. Its essential characteristic is that the value is uncorrelated with the decision space’s topology, so that it has the effect of distributing probes pseudorandomly throughout the landscape.</p>
      <fig id="fig26">
        <label>Figure 26</label>
        <graphic xlink:href="https://html.scirp.org/file/1724397-rId453.jpeg?20251229023829" />
      </fig>
      <p><bold>Figure 24.</bold> Bowtie minimum power gain.</p>
      <p>While in a general sense this process may appear to be similar to the true randomness in an inherently stochastic algorithm, it is in fact fundamentally different. The equations underlying stochastic algorithms are formulated in terms of true random variables whose values are computed from probability distributions and consequently are unknowable until the calculation is performed. Successive calculations consequently yield different values, and as a result every optimization run has a different outcome.</p>
      <p>By contrast, a pseudorandom variable in the context of CFO is known with absolute precision because of how its value is determined (assignment or deterministic calculation). This property allows CFO to compute probe trajectories precisely because it is inherently deterministic. Therefore every CFO with the same setup, with or without a pseudorandom component, yields exactly the same results step-by-step throughout the entire run. Importantly, CFO’s reproducibility lends itself well to “reactive” implementations in which run parameters are “tuned” in response to performance metrics such as rate of convergence or fitness saturation, for example. Reactive stochastic algorithms, on the other hand, are not easily implemented.</p>
      <p>This note provides examples of how pseudorandomness can improve CFO’s performance in particular, but it is an approach that can be employed in any stochastic metaheuristic, not only in CFO. For CFO in this note three different approaches are used (initial probe distribution, repositioning factor, and decision space adaptation), and each was discussed in detail. Of course, other approaches are possible, for example <italic>Pi Fractions</italic> being one that has been used with excellent results [<xref ref-type="bibr" rid="B27">27</xref>]. The utility of <italic>Pi Fractions</italic> is discussed in [<xref ref-type="bibr" rid="B27">27</xref>]. Why determinism is important in addressing real-world engineering problems is discussed at length with examples in [<xref ref-type="bibr" rid="B28">28</xref>]. In this note, a sample benchmark problem was presented in detail while another one was summarized. Summary data are also included for CFO-PR tested against a 23-function benchmark suite. Two “real world” electromagnetics problem were discussed in detail showing that CFO-PR provides excellent results. On the whole CFO-PR’s performance is quite good across a wide range of optimization problems compared to other highly developed, state-of-the-art algorithms.</p>
      <p>Hopefully these results will encourage further work on improved methodologies for injecting pseudorandomness into CFO as well as into inherently stochastic algorithms. Of course, any or all of CFO’s run parameters can be pseudorandomized, not only the three that were considered here. But even with respect to those three parameters, different approaches as to how they are pseudorandomized may yield better results or faster runtimes. There are many fruitful areas of research on CFO, and it is the author’s hope that this and the other CFO papers will provide the foundation and catalyst for that work.</p>
    </sec>
    <sec id="sec7">
      <title>Appendix: The CFO Metaheuristic</title>
      <p>CFO searches an <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 decision space Ω for the global <italic>maxima</italic> of an <italic>objective function</italic><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 Ω: <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> are the <italic>decision variables</italic>, and <inline-formula><mml:math><mml:mi> i </mml:mi></mml:math></inline-formula> the coordinate number. The term <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 point <inline-formula><mml:math><mml:mover accent="true"><mml:mi> x </mml:mi><mml:mo> → </mml:mo></mml:mover></mml:math></inline-formula> in Ω. There is no <italic>a priori</italic> information about the objective function’s maxima, that is, <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> ’s topology or “landscape” is unknown.</p>
      <p>CFO searches Ω by flying “probes” through the space at discrete “time” steps (iterations). Each probe’s location is specified by its position vector computed from two <italic>equations of motion</italic> that analogize their real-world counterparts for material objects moving through physical space under the influence of gravity without energy dissipation.</p>
      <p>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> is <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> , 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 its coordinates 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> 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. The indices <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> , <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 <inline-formula><mml:math><mml:mi> j </mml:mi></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> , respectively, are the probe number and iteration number, 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 corresponding <italic>total</italic> number of probes and <italic>total</italic> number of time steps.</p>
      <p><italic><bold>Equations of Motion.</bold></italic> In metaphorical “CFO space” each of the <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 experiences an acceleration created by the “gravitational pull” of “masses” in Ω. Probe <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> ’s acceleration 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> is given by</p>
      <disp-formula id="FD3">
        <label>(1)</label>
        <mml:math display="inline">
          <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: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: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>
      <p>which is the first of CFO’s two equations of motion. In Equation (1), <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> is the objective function’s fitness at probe<inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> ’s location 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> . Each of the other probes at that step (iteration) has associated with it 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:mn> ... </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:mi> p </mml:mi><mml:mo> + </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mn> ... </mml:mn><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:mi> G </mml:mi></mml:math></inline-formula> is CFO’s <italic>gravitational constant</italic>, and <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> 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: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> .</p>
      <p>The acceleration <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> causes probe <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> to move from position <inline-formula><mml:math><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> p </mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> 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> to <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:mrow></mml:math></inline-formula> at step <inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> according to the trajectory equation</p>
      <disp-formula id="FD4">
        <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:mrow>
        </mml:math>
      </disp-formula>
      <p>which is CFO’s second equation of motion.</p>
      <p>The CFO equations of motion, (1) and (2), combine to compute a new probe distribution at each time step using “masses” discovered by the probe distribution at the previous step. <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> is the “time” interval between steps during which the acceleration is constant. Note that CFO’s terminology has no significance beyond being a reflection of CFO’s kinematic roots, as is the factor 1/2 in Equation (2). The gravitational constant, <inline-formula><mml:math><mml:mi> G </mml:mi></mml:math></inline-formula> , and time increment, <inline-formula><mml:math><mml:mrow><mml:mi> Δ </mml:mi><mml:mi> t </mml:mi></mml:mrow></mml:math></inline-formula> , have direct analogues in Newton’s equations of motion for real masses moving under real gravity through three-dimensional physical space. The CFO exponents <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> , by contrast, have no analogues in Nature. They provide added flexibility to the algorithm designer who, in metaphorical “CFO space,” is free to change how “gravity” varies with distance, or mass, or both, if doing so creates a more effective algorithm.</p>
      <p><bold>“</bold><italic><bold>Mass.</bold></italic><bold>”</bold> The concept of “mass” in CFO space is very important and quite different than it is in real space. Mass in the physical Universe is an inherent, immutable property of matter, whereas in CFO space it is a positive-definite <italic>user-defined</italic><italic>function</italic> of the objective function’s fitness [not (necessarily) the fitness itself]. For example, in Equation (1) mass is defined as <inline-formula><mml:math><mml:mrow><mml:mi> M </mml:mi><mml:mi> A </mml:mi><mml:mi> S </mml:mi><mml:msub><mml:mi> S </mml:mi><mml:mrow><mml:mi> C </mml:mi><mml:mi> F </mml:mi><mml:mi> O </mml:mi></mml:mrow></mml:msub><mml:mo> = </mml:mo><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> [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]. A different function can be used if it results in a better performing CFO algorithm. In this specific implementation the Unit Step is a critical element because it prevents negative mass. Without the Unit Step CFO mass could be negative depending on which fitness is greater. But mass in the real Universe always is positive, and as a consequence the force of gravity always attractive. By contrast, mass can be positive or negative in metaphorical CFO space, depending on how it is defined, and undesirable effects may result from the wrong definition. Negative mass creates a <italic>repulsive</italic> gravitational force that flies probes away from maxima instead of toward them, thus defeating the very purpose of the algorithm.</p>
      <p><italic><bold>Errant Probes.</bold></italic>At any iteration in a CFO run, it is possible that a probe’s acceleration computed from Equation (2) may be too great to keep it inside Ω. If any coordinate <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub><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></inline-formula> or <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub><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></inline-formula> , the probe enters a region of <italic>unfeasible</italic> solutions that are not valid for the problem at hand. The question is what to do with an errant probe, and it arises in many algorithms. There are many approaches s. While many schemes are possible, a simple, empirically determined one is used here. On a coordinate-by-coordinate basis, probes flying out of the decision space are placed a fraction <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: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> of the distance between the probe’s starting coordinate and the corresponding boundary coordinate. <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 variable “repositioning factor” discussed above. Its value, as well as those of all the CFO parameters, were determined empirically.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Luke, S. (2016) Essentials of Metaheuristics, Online Version 2.3. https://cs.gmu.edu/~sean/book/metaheuristics/Essentials.pdf</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="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Sörensen, K. (2013) Metaheuristics—The Metaphor Exposed. <italic>International</italic><italic>Transactions</italic><italic>in</italic><italic>Operational</italic><italic>Research</italic>, 22, 3-18. https://doi.org/10.1111/itor.12001 <pub-id pub-id-type="doi">10.1111/itor.12001</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1111/itor.12001">https://doi.org/10.1111/itor.12001</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <year>2013</year>
            <article-title>Metaheuristics—The Metaphor Exposed</article-title>
            <source>International Transactions in Operational Research</source>
            <volume>22</volume>
            <pub-id pub-id-type="doi">10.1111/itor.12001</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Aranha, C. and Campelo, F. (2025) Evolutionary Computation Bestiary. https://github.com/fcampelo/EC-Bestiary</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Aranha, C.</string-name>
              <string-name>Campelo, F.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Evolutionary Computation Bestiary</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</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 in Electromagnetics 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="B5">
        <label>5.</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: <italic>Studies in Computational Intelligence</italic>, Springer, 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>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: Studies in Computational Intelligence</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="B6">
        <label>6.</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 Journal of Bio</italic>- <italic>Inspired 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="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2009) Central Force Optimization: A New Deterministic Gradient-Like Optimization Metaheuristic. <italic>OPSEARCH</italic>, 46, 25-51. https://doi.org/10.1007/s12597-009-0003-4 <pub-id pub-id-type="doi">10.1007/s12597-009-0003-4</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s12597-009-0003-4">https://doi.org/10.1007/s12597-009-0003-4</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>2009</year>
            <article-title>Central Force Optimization: A New Deterministic Gradient-Like Optimization Metaheuristic</article-title>
            <source>OPSEARCH</source>
            <volume>46</volume>
            <pub-id pub-id-type="doi">10.1007/s12597-009-0003-4</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</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>U</italic>. <italic>K</italic>.) <italic>Microwaves</italic>, <italic>Antennas &amp; 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 (U.K.) 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="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Formato, R.A. (2025) Fano Load Redux: CFO with Negative Gravity. <italic>Journal</italic><italic>of</italic><italic>Applied</italic><italic>Mathematics</italic><italic>and</italic><italic>Physics</italic>, 13, 2113-2127. https://doi.org/10.4236/jamp.2025.136118 <pub-id pub-id-type="doi">10.4236/jamp.2025.136118</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.4236/jamp.2025.136118">https://doi.org/10.4236/jamp.2025.136118</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>Fano Load Redux: CFO with Negative Gravity</article-title>
            <source>Journal of Applied Mathematics and Physics</source>
            <volume>13</volume>
            <pub-id pub-id-type="doi">10.4236/jamp.2025.136118</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2010) Improved CFO Algorithm for Antenna Optimization. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic><italic>B</italic>, 19, 405-425. https://doi.org/10.2528/pierb09112309 <pub-id pub-id-type="doi">10.2528/pierb09112309</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pierb09112309">https://doi.org/10.2528/pierb09112309</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>2010</year>
            <article-title>Improved CFO Algorithm for Antenna Optimization</article-title>
            <source>Progress in Electromagnetics Research B</source>
            <volume>19</volume>
            <pub-id pub-id-type="doi">10.2528/pierb09112309</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2011) Central Force Optimization with Variable Initial Probes and Adaptive Decision Space. <italic>Applied Mathematics and Computation</italic>, 217, 8866-8872. https://doi.org/10.1016/j.amc.2011.03.151 <pub-id pub-id-type="doi">10.1016/j.amc.2011.03.151</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.amc.2011.03.151">https://doi.org/10.1016/j.amc.2011.03.151</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>2011</year>
            <article-title>Central Force Optimization with Variable Initial Probes and Adaptive Decision Space</article-title>
            <source>Applied Mathematics and Computation</source>
            <volume>217</volume>
            <pub-id pub-id-type="doi">10.1016/j.amc.2011.03.151</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2010) Parameter-Free Deterministic Global Search with Simplified Central Force Optimization. In: <italic>Lecture Notes in Computer Science</italic>, Springer, 309-318. https://doi.org/10.1007/978-3-642-14922-1_39 <pub-id pub-id-type="doi">10.1007/978-3-642-14922-1_39</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-3-642-14922-1_39">https://doi.org/10.1007/978-3-642-14922-1_39</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Formato, R.A.</string-name>
              <string-name>Science, S</string-name>
            </person-group>
            <year>2010</year>
            <article-title>Parameter-Free Deterministic Global Search with Simplified Central Force Optimization</article-title>
            <source>In: Lecture Notes in Computer Science</source>
            <volume>309</volume>
            <pub-id pub-id-type="doi">10.1007/978-3-642-14922-1_39</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Qubati, G.M. and Dib, N.I. (2010) Microstrip Patch Antenna Optimization Using Modified Central Force Optimization. <italic>Prog</italic><italic>ress in</italic><italic>Electromagnetics Research</italic>, 21, 281-298. https://doi.org/10.2528/PIERB10050511 <pub-id pub-id-type="doi">10.2528/PIERB10050511</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/PIERB10050511">https://doi.org/10.2528/PIERB10050511</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Qubati, G.M.</string-name>
              <string-name>Dib, N.I.</string-name>
            </person-group>
            <year>2010</year>
            <article-title>Microstrip Patch Antenna Optimization Using Modified Central Force Optimization</article-title>
            <source>Progress in Electromagnetics Research</source>
            <volume>21</volume>
            <pub-id pub-id-type="doi">10.2528/PIERB10050511</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Shirey, R. (2025) Internet Security Glossary, Version 2. https://www.rfc-editor.org/rfc/pdfrfc/rfc4949.txt.pdf</mixed-citation>
          <element-citation publication-type="web">
            <person-group person-group-type="author">
              <string-name>Shirey, R.</string-name>
              <string-name>Glossary, V</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Internet Security Glossary, Version 2</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <mixed-citation publication-type="web">Complete Test Function Data and Source Code Are Available for Download. https://app.box.com/s/joyx4kmu6sf591wkb297wdwuin8133lt</mixed-citation>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Ding, D., Luo, X., Chen, J., Wang, X., Du, P. and Guo, Y. (2011) A Convergence Proof and Parameter Analysis of Central Force Optimization Algorithm. <italic>Journal of Convergence Information Technology</italic>, 6, 16-23. https://www.researchgate.net/publication/236985390_A_Convergence_Proof_and_Parameter_Analysis_of_Central_Force_Optimization_Algorithm</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Ding, D.</string-name>
              <string-name>Luo, X.</string-name>
              <string-name>Chen, J.</string-name>
              <string-name>Wang, X.</string-name>
              <string-name>Du, P.</string-name>
              <string-name>Guo, Y.</string-name>
            </person-group>
            <year>2011</year>
            <article-title>A Convergence Proof and Parameter Analysis of Central Force Optimization Algorithm</article-title>
            <source>Journal of Convergence Information Technology</source>
            <volume>6</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B17">
        <label>17.</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>, 547-565. https://www.oldcitypublishing.com/journals/mvlsc-home/mvlsc-issue-contents/mvlsc-volume-16-number-6-2010/mvlsc-16-6-p-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, 547-565</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B18">
        <label>18.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">He, S., Wu, Q.H. and Saunders, J.R. (2009) Group Search Optimizer: An Optimization Algorithm Inspired by Animal Searching Behavior. <italic>IEEE</italic><italic>Transactions</italic><italic>on</italic><italic>Evolutionary</italic><italic>Computation</italic>, 13, 973-990. https://doi.org/10.1109/tevc.2009.2011992 <pub-id pub-id-type="doi">10.1109/tevc.2009.2011992</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/tevc.2009.2011992">https://doi.org/10.1109/tevc.2009.2011992</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>He, S.</string-name>
              <string-name>Wu, Q.H.</string-name>
              <string-name>Saunders, J.R.</string-name>
            </person-group>
            <year>2009</year>
            <article-title>Group Search Optimizer: An Optimization Algorithm Inspired by Animal Searching Behavior</article-title>
            <source>IEEE Transactions on Evolutionary Computation</source>
            <volume>13</volume>
            <pub-id pub-id-type="doi">10.1109/tevc.2009.2011992</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B19">
        <label>19.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Wang, J. (2011) Particle Swarm Optimization with Adaptive Parameter Control and Opposition. <italic>Journal of Computational Information Systems</italic>, 7, 4463-4470.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Wang, J.</string-name>
            </person-group>
            <year>2011</year>
            <article-title>Particle Swarm Optimization with Adaptive Parameter Control and Opposition</article-title>
            <source>Journal of Computational Information Systems</source>
            <volume>7</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B20">
        <label>20.</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 Transactions on Antennas 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="B21">
        <label>21.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Burke, G.J. (2025) Numerical Electromagnetics Code—NEC-4, Method of Moments, Part I: User’s Manual and Part II: Program Description—Theory. January 1992, UCRL-MA-109338, Lawrence Livermore National Laboratory, Livermore, California, USA. https://apps.dtic.mil/sti/pdfs/ADA956129.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>
              <string-name>Laboratory, L</string-name>
              <string-name>California, U</string-name>
            </person-group>
            <year>2025</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>January 1992</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B22">
        <label>22.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Balanis, C.A. (2005) Antenna Theory. 3rd Edition, Wiley.</mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Balanis, C.A.</string-name>
              <string-name>Edition, W</string-name>
            </person-group>
            <year>2005</year>
            <article-title>Antenna Theory</article-title>
            <source>3rd Edition</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B23">
        <label>23.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2012) Improving Bandwidth of Yagi-Uda Arrays. <italic>Wireless</italic><italic>Engineering</italic><italic>and</italic><italic>Technology</italic>, 3, 18-24. https://doi.org/10.4236/wet.2012.31003 <pub-id pub-id-type="doi">10.4236/wet.2012.31003</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.4236/wet.2012.31003">https://doi.org/10.4236/wet.2012.31003</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>2012</year>
            <article-title>Improving Bandwidth of Yagi-Uda Arrays</article-title>
            <source>Wireless Engineering and Technology</source>
            <volume>3</volume>
            <pub-id pub-id-type="doi">10.4236/wet.2012.31003</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B24">
        <label>24.</label>
        <mixed-citation publication-type="patent">Patent No. US8,776,002B2. https://patents.google.com/patent/US8776002B2/en</mixed-citation>
      </ref>
      <ref id="B25">
        <label>25.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Zehforoosh, Y., Ghobadi, C. and Nourinia, J. (2006) Antenna Design for Ultra Wideband Application Using a New Multilayer Structure. <italic>PIERS</italic><italic>Online</italic>, 2, 544-549. https://doi.org/10.2529/piers060531145356 <pub-id pub-id-type="doi">10.2529/piers060531145356</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2529/piers060531145356">https://doi.org/10.2529/piers060531145356</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Zehforoosh, Y.</string-name>
              <string-name>Ghobadi, C.</string-name>
              <string-name>Nourinia, J.</string-name>
            </person-group>
            <year>2006</year>
            <article-title>Antenna Design for Ultra Wideband Application Using a New Multilayer Structure</article-title>
            <source>PIERS Online</source>
            <volume>2</volume>
            <pub-id pub-id-type="doi">10.2529/piers060531145356</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B26">
        <label>26.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Formato, R.A. (2011) New Techniques for Increasing Antenna Bandwidth with IMPEDANCE Loading. <italic>Progress</italic><italic>in</italic><italic>Electromagnetics</italic><italic>Research</italic><italic>B</italic>, 29, 269-288. https://doi.org/10.2528/pierb11021904 <pub-id pub-id-type="doi">10.2528/pierb11021904</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.2528/pierb11021904">https://doi.org/10.2528/pierb11021904</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>2011</year>
            <article-title>New Techniques for Increasing Antenna Bandwidth with IMPEDANCE Loading</article-title>
            <source>Progress in Electromagnetics Research B</source>
            <volume>29</volume>
            <pub-id pub-id-type="doi">10.2528/pierb11021904</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B27">
        <label>27.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Formato, R.A. (2017) Determinism in Electromagnetic Design &amp; Optimization-Part II: BBP-Derived π Fractions for Generating Uniformly Distributed Sampling Points in Global Search and Optimization Algorithms. <italic>Forum for Electromagnetic Research Methods and Application Technologies</italic>, 19, Article No. 10. http://www.e-fermat.org/</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>Forum for Electromagnetic Research Methods and Application Technologies</source>
            <volume>19</volume>
            <elocation-id>No</elocation-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B28">
        <label>28.</label>
        <citation-alternatives>
          <mixed-citation publication-type="web">Formato, R.A. (2017) Determinism in Electromagnetic Design &amp; Optimization-Part I: Central Force Optimization. <italic>Forum for Electromagnetic Research Methods and Application Technologies</italic>, 19, Article No. 9. http://www.e-fermat.org/</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>Forum for Electromagnetic Research Methods and Application Technologies</source>
            <volume>19</volume>
            <elocation-id>No</elocation-id>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>