<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFO1189</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2018.178</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Some Further Experiments with Crossover Operators for Genetic Algorithms</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Misevičius</surname><given-names>Alfonsas</given-names></name><email xlink:href="alfonsas.misevicius@ktu.lt">alfonsas.misevicius@ktu.lt</email><xref ref-type="aff" rid="j_info1189_aff_001"/><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>A. Misevičius</bold> was born in 1962, in Marijampolė, Lithuania. He received dipl. eng. degree from Kaunas Polytechnic Institute, Lithuania, in 1986. A. Misevičius got his doctor’s degree in 1996, Kaunas University of Technology. He was conferred the best refereed technical paper award at 23rd SGAI International Conference on Innovative Techniques and Applications of Artificial Intelligence, Cambridge, UK, 2003. A. Misevičius is currently a professor at Department of Multimedia Engineering, Faculty of Informatics, Kaunas Univ. Technol. Author and co-author of over 80 res. papers and academic texts on various topics of computer science. The main research interests include: combinatorial optimization, design and implementation of heuristic and metaheuristic algorithms.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Kuznecovaitė</surname><given-names>Dovilė</given-names></name><email xlink:href="dovile.kuznecovaite@ktu.lt">dovile.kuznecovaite@ktu.lt</email><xref ref-type="aff" rid="j_info1189_aff_001"/><bio>
<p><bold>D. Kuznecovaitė</bold> was born in 1989, in Kaunas, Lithuania. She got informatics bachelor degree at Kaunas University of Technology, in 2012, and she received informatics master’s degree, in 2014. D. Kuznecovaitė is currently a PhD student and a lecturer at Department of Multimedia Engineering, Faculty of Informatics, Kaunas Univ. Technol. Her research interests are in the areas of combinatorial optimization and heuristic algorithms.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Platužienė</surname><given-names>Jūratė</given-names></name><email xlink:href="jurate.platuziene@ktu.lt">jurate.platuziene@ktu.lt</email><xref ref-type="aff" rid="j_info1189_aff_001"/><bio>
<p><bold>J. Platužienė</bold> was born in 1981, in Kaunas, Lithuania. She received bachelor electroengineering and management degree at Kaunas University of Technology, in 2004. In 2007 J. Platužienė got informatics engineering master‘s degree. She is currently a lecturer at Department of Multimedia Engineering, Faculty of Informatics, Kaunas Univ. Technol. The main scope of her pedagogical and research activity covers 3D modelling and animation.</p></bio>
</contrib>
<aff id="j_info1189_aff_001"><institution>Kaunas University of Technology</institution>, Department of Multimedia Engineering, Studentų st. 50-400/416a, LT-51368 Kaunas, <country>Lithuania</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2018</year></pub-date><pub-date pub-type="epub"><day>1</day><month>1</month><year>2018</year></pub-date><volume>29</volume><issue>3</issue><fpage>499</fpage><lpage>516</lpage><history><date date-type="received"><month>10</month><year>2017</year></date><date date-type="accepted"><month>6</month><year>2018</year></date></history>
<permissions><copyright-statement>© 2018 Vilnius University</copyright-statement><copyright-year>2018</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>Crossover operators play a very important role by creation of genetic algorithms (GAs) which are applied in various areas of computer science, including combinatorial optimization. In this paper, fifteen genetic crossover procedures are designed and implemented using a modern C# programming language. The computational experiments have been conducted with these operators by solving the famous combinatorial optimization problem – the quadratic assignment problem (QAP). The results of the conducted experiments on the characteristic benchmark instances from the QAP instances library QAPLIB illustrate the relative performance of the examined crossover operations.</p>
<p>All crossover procedures are publicly available with the intention that the GA researchers will choose a procedure which suits the individual demand at the highest degree.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>metaheuristic methods</kwd>
<kwd>genetic algorithms</kwd>
<kwd>genetic crossover operators</kwd>
<kwd>combinatorial optimization</kwd>
<kwd>quadratic assignment problem</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_info1189_s_001">
<label>1</label>
<title>Introduction</title>
<p>Many optimization problems belong to the class of NP-hard problems (Garey and Johnson, <xref ref-type="bibr" rid="j_info1189_ref_011">1979</xref>). These problems pose a real challenge for the researchers who develop algorithms for solving such problems. A considerable progress is achieved by using, in particular, genetic algorithms, which are based on imitation of evolution occurring in live nature (Holland, <xref ref-type="bibr" rid="j_info1189_ref_018">1975</xref>; Goldberg, <xref ref-type="bibr" rid="j_info1189_ref_013">1989</xref>; Sivanandam and Deepa, <xref ref-type="bibr" rid="j_info1189_ref_027">2008</xref>; Simon, <xref ref-type="bibr" rid="j_info1189_ref_026">2013</xref>; Heaton, <xref ref-type="bibr" rid="j_info1189_ref_016">2014</xref>).</p>
<p>The GA developers are constantly seeking to enhance the performance of GAs. The goal is to create the genetic algorithms that are in competitive advantage with respect to other types of (meta)heuristic optimization algorithms. To achieve this goal, there is a high need in developing and investigating the essential “building components” of the genetic algorithms, among others, the crossover (recombination) operators (Herrera <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1189_ref_017">2003</xref>). Despite the significant progress in the design of crossover operators during the last decades, there still is a room for further improvement of this kind of operators (Deep and Thakur, <xref ref-type="bibr" rid="j_info1189_ref_008">2007</xref>; Maenhout and Vanhoucke, <xref ref-type="bibr" rid="j_info1189_ref_020">2008</xref>; Abdoun and Abouchabaka, <xref ref-type="bibr" rid="j_info1189_ref_001">2011</xref>; Kaya, <xref ref-type="bibr" rid="j_info1189_ref_019">2011</xref>; Magalhães-Mendes, <xref ref-type="bibr" rid="j_info1189_ref_021">2013</xref>).</p>
<p>The crossover operators (along with mutation operators) constitute the basis for successful functioning of GAs (Misevičius <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1189_ref_023">2005</xref>). Here, the key idea is that a new genetic information is created by reordering the genetic code which is present in two (or more) predecessors. In this way, the inheritance of the existing traits and the acquirement of completely new features well fit each other. In the course of the crossover procedure, the successor inherits what the best is accumulated in the predecessors; at the same time, a novel combination of the genetic code – which is absent in the parents – comes into being. Thus, the optimization process gets diversified by exploring new and promising areas in the search space. This synergy of creativeness and exploration is probably the most significant reason why the genetic algorithms are so successful (Goldberg, <xref ref-type="bibr" rid="j_info1189_ref_014">2002</xref>).</p>
<p>In this paper, we consider, in particular, the genetic crossover operators of different kind and expose the results obtained from the numerical experiments with these operators. Although the principles of functioning of the majority of the considered operators are not new, the crossover implementations in modern C# programming language appear quite original. We also propose three innovative crossover operations.</p>
<list>
<list-item id="j_info1189_li_001">
<label>•</label>
<p>First, we offer an enhancement of the so-called swap-path crossover – swap-path descent crossover – which benefits from taking into account the problem-specific information.</p>
</list-item>
<list-item id="j_info1189_li_002">
<label>•</label>
<p>Second, the so-called universal crossover operator is proposed, where the goal is to provide more flexibility and versatility in the crossover process.</p>
</list-item>
<list-item id="j_info1189_li_003">
<label>•</label>
<p>Third, a gene translocation procedure is introduced, which is non-traditional in the sense that it is based on “many-parents-many-children” approach, rather than a usual “two-parents-one-child” scheme.</p>
</list-item>
</list>
<p>All these crossover operators are publicly available for the researchers who want to contribute to the further progress of genetic and evolutionary computation.</p>
<p>The paper is structured as follows. Firstly, some definitions are given and basic features of the crossover operations are described. Then, the crossover operator details are provided. The newly proposed crossover operators are marked with the symbol ‘⋆’. Finally, the results of experimental comparison of the considered crossover procedures are presented. The paper is completed with concluding remarks.</p>
</sec>
<sec id="j_info1189_s_002">
<label>2</label>
<title>Preliminary Remarks</title>
<p>In the most general case, the crossover process enables to transmit the genetic code of two or more agents (called parents) to one or more successors (called children) in a specified deterministic-like way. Ideally, in the crossover operation, the chromosomes of two parents are recombined in such a way that the child’s chromosome contains only the parents’ genes. This is the main distinguishing feature of crossover process and, thus, crossover operation is quite opposite to mutation, which is of pure stochastic nature. However, it should be noted that the crossover process can involve indirect randomness due to explicit and implicit mutations (Misevičius, <xref ref-type="bibr" rid="j_info1189_ref_022">2006</xref>).</p>
<p>Let us consider (without a significant loss of generality) the crossover operators intended for the permutation-based combinatorial optimization problems. Remember that the permutation <italic>p</italic> is formally defined as a collection <inline-formula id="j_info1189_ineq_001"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$p=(p(1),p(2),\dots ,p(i),\dots ,p(n))$]]></tex-math></alternatives></inline-formula>; <inline-formula id="j_info1189_ineq_002"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$p(i)\in \{1,2,\dots ,n\}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_003"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$i=1,2,\dots ,n$]]></tex-math></alternatives></inline-formula>; <inline-formula id="j_info1189_ineq_004"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$p(i)\ne p(j)$]]></tex-math></alternatives></inline-formula>, i, <inline-formula id="j_info1189_ineq_005"><alternatives><mml:math>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$j=1,2,\dots ,n$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_006"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi></mml:math><tex-math><![CDATA[$i\ne j$]]></tex-math></alternatives></inline-formula>. Indeed, it is not very difficult to modify the permutation-based crossovers so that they become suitable also for the classical genetic algorithms, which commonly use the bit string-based crossovers. Mathematically, a two-parents-one-child crossover can be described using a binary operator <italic>ψ</italic>: <inline-formula id="j_info1189_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Π</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Π</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">→</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Π</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Pi _{n}}\times {\Pi _{n}}\to {\Pi _{n}}$]]></tex-math></alternatives></inline-formula> such that: 
<disp-formula id="j_info1189_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">ψ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>∨</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">ψ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mtext>if</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {p^{\circ }}=\psi ({p^{\prime }},{p^{\prime\prime }})\ne {p^{\prime }}\vee {p^{\circ }}=\psi ({p^{\prime }},{p^{\prime\prime }})\ne {p^{\prime\prime }},\hspace{1em}\text{if}\hspace{2.5pt}{p^{\prime }}\ne {p^{\prime\prime }},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1189_ineq_008"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Π</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Pi _{n}}$]]></tex-math></alternatives></inline-formula> denotes a set consisting of all possible permutations of size <italic>n</italic>; <inline-formula id="j_info1189_ineq_009"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_010"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime\prime }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_011"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\circ }}$]]></tex-math></alternatives></inline-formula> are permutations (here, <inline-formula id="j_info1189_ineq_012"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_013"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime\prime }}$]]></tex-math></alternatives></inline-formula> denote the parents, <inline-formula id="j_info1189_ineq_014"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\circ }}$]]></tex-math></alternatives></inline-formula> denotes the offspring). It appears that the offspring may sometimes be identical to one of the parents, especially in the cases where the parents tend to be very similar. The permutation is usually associated with the individual’s chromosome; then, the permutation element <inline-formula id="j_info1189_ineq_015"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$p(i)$]]></tex-math></alternatives></inline-formula> corresponds to a gene occupying the <italic>i</italic>th locus of the current chromosome (consequently, <italic>n</italic> is the length of the chromosome).</p>
<p>Formally, the crossover operator must ensure that the offspring’s chromosome necessary inherits the genes which are common for both parents, i.e.: 
<disp-formula id="j_info1189_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="1em"/>
<mml:mo stretchy="false">⇒</mml:mo>
<mml:mspace width="1em"/>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {p^{\prime }}(i)={p^{\prime\prime }}(i)\hspace{1em}\Rightarrow \hspace{1em}{p^{\circ }}(i)={p^{\prime }}(i)={p^{\prime\prime }}(i),\hspace{1em}i=1,2,\dots ,n,\]]]></tex-math></alternatives>
</disp-formula> 
here, again, <inline-formula id="j_info1189_ineq_016"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_017"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime\prime }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_018"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\circ }}$]]></tex-math></alternatives></inline-formula> denote parents and an offspring, respectively.</p>
<p>Every element in the permutation is unique and the crossover operation should address this aspect. It doesn’t concern the bit strings. Meanwhile, in the case of permutations, some discrepancies are possible, i.e. the so-called “foreign” (random) genes may occur. This does not mean that the crossover is incorrect – simply, this is caused by specific properties of permutations.</p>
<p>A plenty of variants of various computer realizations of crossover operators exist, depending on the details and peculiarities of implementation.<xref ref-type="fn" rid="j_info1189_fn_001">1</xref><fn id="j_info1189_fn_001"><label><sup>1</sup></label>
<p>The most recent detailed surveys on crossover operators can be found in Umbarkar and Sheth (<xref ref-type="bibr" rid="j_info1189_ref_031">2015</xref>), Pavai and Geetha (<xref ref-type="bibr" rid="j_info1189_ref_025">2017</xref>).</p></fn> There is a lot of freedom here for both the implementers and end-users of the crossover operators: the implementers offer new operator variations and the end-users choose them according to their special needs.</p>
</sec>
<sec id="j_info1189_s_003">
<label>3</label>
<title>Genetic Crossover Operators Used in the Study</title>
<sec id="j_info1189_s_004">
<label>3.1</label>
<title>Representative Examples of Known Crossover Operators and Their Variants</title>
<sec id="j_info1189_s_005">
<label>3.1.1</label>
<title>Point-Based Crossovers</title>
<sec id="j_info1189_s_006">
<label>3.1.1.1</label>
<title>One-Point Crossover.</title>
<p>This is very likely the most commonly used crossover operator for the genetic algorithms (Goldberg, <xref ref-type="bibr" rid="j_info1189_ref_013">1989</xref>). It is not difficult to implement, but still quite efficient. Roughly, the basic idea is as follows. A single crossover point is chosen in one of the two chromosomes. The point position <italic>x</italic> can be determined by generating a (pseudo-)random number within the interval <inline-formula id="j_info1189_ineq_019"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[1,n-1]$]]></tex-math></alternatives></inline-formula> (<italic>n</italic> is the chromosome length). The offspring is obtained by copying <italic>x</italic> genes from one parent, the rest of the genes are copied from the second parent. The feasibility of the offspring must be preserved (see Fig. <xref rid="j_info1189_fig_001">1</xref>).</p>
</sec>
<sec id="j_info1189_s_007">
<label>3.1.1.2</label>
<title>Modified One-Point Crossover.</title>
<p>A slight disadvantage of the straightforward one-point crossover lies in tendency of having certain genes more “ordered” than others (compare, for example, the gene sequences “82396” and “1475” in Fig. <xref rid="j_info1189_fig_001">1</xref>). In the modified crossover, either the genes from 1 to <italic>x</italic>, or the genes from <italic>x</italic> to <italic>n</italic> are copied with probability <inline-formula id="j_info1189_ineq_020"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{2}$]]></tex-math></alternatives></inline-formula> from one of the parents, the rest are copied from the opposite parent.</p>
<fig id="j_info1189_fig_001">
<label>Fig. 1</label>
<caption>
<p>Graphical illustration of one-point crossover.</p>
</caption>
<graphic xlink:href="info1189_g001.jpg"/>
</fig>
</sec>
<sec id="j_info1189_s_008">
<label>3.1.1.3</label>
<title>Two-point crossover.</title>
<p>The two-point crossover works similarly to the one-point crossover, except that two crossover points <inline-formula id="j_info1189_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${x_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1189_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${x_{2}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1189_ineq_023"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(1\leqslant x1<{x_{2}}\leqslant n)$]]></tex-math></alternatives></inline-formula> are used. In a similar fashion, one can construct a three-point crossover, and so on (De Jong and Spears, <xref ref-type="bibr" rid="j_info1189_ref_006">1992</xref>).</p>
</sec>
</sec>
<sec id="j_info1189_s_009">
<label>3.1.2</label>
<title>Uniform Crossovers</title>
<sec id="j_info1189_s_010">
<label>3.1.2.1</label>
<title>Uniform Crossover – I.</title>
<p>The principle of the uniform crossover is also simple (Syswerda, <xref ref-type="bibr" rid="j_info1189_ref_028">1989</xref>). At first, the common genes are copied to the offspring’s chromosome. Then, the unoccupied loci (positions) in the offspring’s chromosome are scanned from left to right and the empty loci are assigned the genes – one at a time – from one of the parents with probability <inline-formula id="j_info1189_ineq_024"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{2}$]]></tex-math></alternatives></inline-formula>, i.e. <inline-formula id="j_info1189_ineq_025"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="{" close="">
<mml:mrow>
<mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left">
<mml:mtr>
<mml:mtd class="array">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mi mathvariant="italic">ς</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>otherwise</mml:mtext>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math><tex-math><![CDATA[${p^{\circ }}(i)=\left\{\begin{array}{l@{\hskip4.0pt}l}{p^{\prime }}(i),\hspace{1em}& \varsigma <\frac{1}{2}\\ {} {p^{\prime\prime }}(i),\hspace{1em}& \text{otherwise};\end{array}\right.$]]></tex-math></alternatives></inline-formula> here, <italic>ζ</italic> is a uniformly distributed (pseudo-)random number from the interval <inline-formula id="j_info1189_ineq_026"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[0,1]$]]></tex-math></alternatives></inline-formula>. The assigned gene must be unique. In case there are still empty loci, they are filled in with random genes (see Fig. <xref rid="j_info1189_fig_002">2</xref>).</p>
</sec>
<sec id="j_info1189_s_011">
<label>3.1.2.2</label>
<title>Uniform Crossover −II (Quasi-Uniform Crossover).</title>
<p>The uniform crossover can be modified in such a way that the probability of the assignment of genes is no longer equal to <inline-formula id="j_info1189_ineq_027"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{2}$]]></tex-math></alternatives></inline-formula>, but is greater or less than <inline-formula id="j_info1189_ineq_028"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{2}$]]></tex-math></alternatives></inline-formula>. In this way, we can prefer one of the parents (for example, the better parent).</p>
<fig id="j_info1189_fig_002">
<label>Fig. 2</label>
<caption>
<p>Graphical illustration of uniform crossover.</p>
</caption>
<graphic xlink:href="info1189_g002.jpg"/>
</fig>
</sec>
<sec id="j_info1189_s_012">
<label>3.1.2.3</label>
<title>Shuffle Crossover.</title>
<p>The shuffle crossover is obtained by randomly reordering the parents’ genes before applying the uniform crossover (Caruana <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1189_ref_004">1989</xref>). The same rearrangement rule must be used for both parents. After the uniform crossover is finished, the same (initial) rearrangement rule is again applied (see Fig. <xref rid="j_info1189_fig_003">3</xref>).</p>
<fig id="j_info1189_fig_003">
<label>Fig. 3</label>
<caption>
<p>Graphical illustration of shuffle crossover.</p>
</caption>
<graphic xlink:href="info1189_g003.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_info1189_s_013">
<label>3.1.3</label>
<title>Partially-Mapped Crossover</title>
<p>Partially-mapped crossover (PMX) can be seen as a modified variant of the <italic>k</italic>-point (multi-point) crossover. The initial version of PMX was designed for the travelling salesman problem (Goldberg and Lingle, <xref ref-type="bibr" rid="j_info1189_ref_015">1985</xref>), but it may be adapted also for other optimization problems. The basic principle relies on the so-called mapping sections (the chromosome segments between mapping points). So, at first, the segments of the chromosome of the chosen parent are moved to the offspring’s chromosome. The same is done for the other parent. At last, the empty loci (if any) are filled in in a random way (see Fig. <xref rid="j_info1189_fig_004">4</xref>). Note that if <inline-formula id="j_info1189_ineq_029"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$k=n$]]></tex-math></alternatives></inline-formula>, then PMX becomes very similar to the uniform crossover.</p>
<fig id="j_info1189_fig_004">
<label>Fig. 4</label>
<caption>
<p>Graphical illustration of partially-mapped crossover.</p>
</caption>
<graphic xlink:href="info1189_g004.jpg"/>
</fig>
</sec>
<sec id="j_info1189_s_014">
<label>3.1.4</label>
<title>Swap-Path Crossovers</title>
<sec id="j_info1189_s_015">
<label>3.1.4.1</label>
<title>Swap-Path Crossover – I.</title>
<p> Swap-path crossover (SPX) (Glover, <xref ref-type="bibr" rid="j_info1189_ref_012">1994</xref>) differs from the above crossover operators in that it is oriented basically to the permutation-based problems. The main distinguishing feature of SPX is that instead of transferring genes from parents to a child, the genes are, so to speak, rearranged in the chromosomes of the parents. Let <inline-formula id="j_info1189_ineq_030"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p^{\prime }},{p^{\prime\prime }})$]]></tex-math></alternatives></inline-formula> be a pair of parents. Then, the process starts from some chosen position and the loci are scanned from left to right. The process continues until a predefined number of swaps, <italic>s</italic>, <inline-formula id="j_info1189_ineq_031"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(s<n)$]]></tex-math></alternatives></inline-formula> are performed. If, in the current position, the genes are the same for both parents, then one moves to the next locus; otherwise, a pairwise interchange of genes of the parents’ chromosomes is accomplished. The interchange is performed in both parents. For example, if the current locus index is equal to <italic>i</italic> and <inline-formula id="j_info1189_ineq_032"><alternatives><mml:math>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$a={p^{\prime }}(i)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_033"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$b={p^{\prime\prime }}(i)$]]></tex-math></alternatives></inline-formula>, then there exists a locus <italic>j</italic> such that <inline-formula id="j_info1189_ineq_034"><alternatives><mml:math>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$b={p^{\prime }}(j)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_035"><alternatives><mml:math>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$a={p^{\prime\prime }}(j)$]]></tex-math></alternatives></inline-formula>; then, after a swap, <inline-formula id="j_info1189_ineq_036"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[${p^{\prime }}(i)=b$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_037"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[${p^{\prime\prime }}(i)=a$]]></tex-math></alternatives></inline-formula>, in addition, <inline-formula id="j_info1189_ineq_038"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[${p^{\prime }}(j)=a$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_039"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[${p^{\prime\prime }}(j)=b$]]></tex-math></alternatives></inline-formula>. Consequently, the new chromosomes <inline-formula id="j_info1189_ineq_040"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>‴</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime\prime\prime }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_041"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
<mml:mo>′</mml:mo>
<mml:mo>′</mml:mo>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\prime \prime \prime \prime }}$]]></tex-math></alternatives></inline-formula> are produced. Thus, in the next generation, a pair <inline-formula id="j_info1189_ineq_042"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>‴</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
<mml:mo>′</mml:mo>
<mml:mo>′</mml:mo>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p^{\prime\prime\prime }},{p^{\prime \prime \prime \prime }})$]]></tex-math></alternatives></inline-formula> is considered, and so on. The graphical example of SPX is shown in Fig. <xref rid="j_info1189_fig_005">5</xref>.</p>
<fig id="j_info1189_fig_005">
<label>Fig. 5</label>
<caption>
<p>Graphical illustration of fragment of swap-path crossover.</p>
</caption>
<graphic xlink:href="info1189_g005.jpg"/>
</fig>
</sec>
<sec id="j_info1189_s_016">
<label>3.1.4.2</label>
<title>Swap-Path Crossover – II (Heuristic Swap-Path Crossover).</title>
<p> A modification to the standard SPX can be achieved when the best offspring (with respect to the fitness of the offspring<xref ref-type="fn" rid="j_info1189_fn_002">2</xref><fn id="j_info1189_fn_002"><label><sup>2</sup></label>
<p>The fitness of an individual is associated with the value of an objective function of an optimization problem.</p></fn>) is retained in the course of gene interchanges (Ahuja <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1189_ref_002">2000</xref>). In this way, we get a heuristic swap-path crossover, where the quality of the offspring is taken into account.</p>
</sec>
</sec>
<sec id="j_info1189_s_017">
<label>3.1.5</label>
<title>Cycle Crossover</title>
<p>The cycle crossover (CX) (Oliver <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1189_ref_024">1987</xref>) slightly resembles the swap-path crossover and is based on the pairwise gene interchanges. The principal property of CX is the ability to produce the offspring without distortion of the genetic code; in other words, CX enables to create the chromosome with no foreign genes. The negative aspect of CX is that the offspring may genetically be very close to their predecessors or even identical to them. (For example, if in the given illustration (see Fig. <xref rid="j_info1189_fig_006">6</xref>) the second chromosome is a bit changed to “254169783”, then, after the cycle crossover, the offspring’s chromosome becomes duplicate to the chromosome of the first parent.)</p>
<fig id="j_info1189_fig_006">
<label>Fig. 6</label>
<caption>
<p>Graphical illustration of cycle crossover.</p>
</caption>
<graphic xlink:href="info1189_g006.jpg"/>
</fig>
</sec>
<sec id="j_info1189_s_018">
<label>3.1.6</label>
<title>Cohesive Crossover</title>
<p>The cohesive crossover was proposed by Z. Drezner to efficiently recombine individuals’ genes by solving the quadratic assignment problem. In this case, the appropriateness of the genes – which is calculated according to the problem data – is taken into consideration. From the several recombinations of genes, the recombination is selected that minimizes the objective function. The details of implementation of the cohesive crossover are described in Drezner (<xref ref-type="bibr" rid="j_info1189_ref_009">2003</xref>).</p>
</sec>
<sec id="j_info1189_s_019">
<label>3.1.7</label>
<title>Multi-Parent Crossover</title>
<p>In the multi-parent crossover, several (or all) members of a population participate in creation of the offspring (Eiben <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1189_ref_010">1994</xref>). More precisely, the <italic>i</italic>th locus of the offspring’s chromosome <inline-formula id="j_info1189_ineq_043"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${p^{\circ }}$]]></tex-math></alternatives></inline-formula> is assigned the value <italic>j</italic> with the probability <inline-formula id="j_info1189_ineq_044"><alternatives><mml:math>
<mml:mtext>P</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\text{P}({p^{\circ }}(i)=j)$]]></tex-math></alternatives></inline-formula> (under condition that the value <italic>j</italic> has not been utilized before).</p>
<fig id="j_info1189_fig_007">
<label>Fig. 7</label>
<caption>
<p>Graphical illustration of multi-parent crossover.</p>
</caption>
<graphic xlink:href="info1189_g007.jpg"/>
</fig>
<p>The probability <inline-formula id="j_info1189_ineq_045"><alternatives><mml:math>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathrm{P}({p^{\circ }}(i)=j)$]]></tex-math></alternatives></inline-formula> is calculated according to the formula: 
<disp-formula id="j_info1189_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.61em" minsize="1.61em" stretchy="true" mathvariant="normal">/</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathrm{P}({p^{\circ }}(i)=j)={q_{ij}}\Big/{\sum \limits_{j}^{n}}{q_{ij}},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1189_ineq_046"><alternatives><mml:math>
<mml:mi mathvariant="normal">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathrm{P}({p^{\circ }}(i)=j)$]]></tex-math></alternatives></inline-formula> denotes the probability that <inline-formula id="j_info1189_ineq_047"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∘</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi></mml:math><tex-math><![CDATA[${p^{\circ }}(i)=j$]]></tex-math></alternatives></inline-formula>; <inline-formula id="j_info1189_ineq_048"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{ij}}$]]></tex-math></alternatives></inline-formula> is an element of a desirability matrix <inline-formula id="j_info1189_ineq_049"><alternatives><mml:math>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\textbf{Q}={({q_{ij}})_{n\times n}}$]]></tex-math></alternatives></inline-formula>; here, <inline-formula id="j_info1189_ineq_050"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{ij}}$]]></tex-math></alternatives></inline-formula> denotes the number of times that the <italic>i</italic>th locus takes the value <italic>j</italic> in the parental chromosomes. Of course, <inline-formula id="j_info1189_ineq_051"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi></mml:math><tex-math><![CDATA[${q_{ij}}\leqslant t$]]></tex-math></alternatives></inline-formula> (<italic>t</italic> is the number of parents). If there exist several values <inline-formula id="j_info1189_ineq_052"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({j_{1}},{j_{2}},\dots \hspace{0.1667em})$]]></tex-math></alternatives></inline-formula> with the same probability, then one of them is chosen randomly. The above rule applies to all genes of the offspring (see Fig. <xref rid="j_info1189_fig_007">7</xref>).</p>
</sec>
</sec>
<sec id="j_info1189_s_020">
<label>3.2</label>
<title>Newly Proposed Crossover Operators</title>
<sec id="j_info1189_s_021">
<label>3.2.1</label>
<title>Swap-Path Descent Crossover<inline-formula id="j_info1189_ineq_053"><alternatives><mml:math>
<mml:msup>
<mml:mrow/>
<mml:mrow>
<mml:mo mathvariant="normal">⋆</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${^{\mathrm{\star }}}$]]></tex-math></alternatives></inline-formula></title>
<p>The swap-path descent crossover (SPDX) is similar to the heuristic swap-path crossover in that it takes into consideration the values of the objective function. The SPDX operator resembles the descent local search (hill-climbing) procedure in some sense. The advantage of this operator is in the dynamic evaluation of the offspring fitness: only the gene interchanges that improve the value of the objective function and lead to a better fitness of the offspring are accepted.</p>
</sec>
<sec id="j_info1189_s_022">
<label>3.2.2</label>
<title>Universal Crossover<inline-formula id="j_info1189_ineq_054"><alternatives><mml:math>
<mml:msup>
<mml:mrow/>
<mml:mrow>
<mml:mo mathvariant="normal">⋆</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${^{\mathrm{\star }}}$]]></tex-math></alternatives></inline-formula></title>
<p>The universal crossover (UNIVX) distinguishes for its versatility and the possibility of flexible usage. It is somewhat similar to what is known in the literature as a simulated binary crossover (Deb and Agrawal, <xref ref-type="bibr" rid="j_info1189_ref_007">1995</xref>).</p>
<p>Our operator is based on the use of a random mask. There are four controlling parameters: <italic>α</italic>, <italic>β</italic>, <italic>γ</italic>, <italic>χ</italic>. The mask length is equal to <italic>α</italic>, where <italic>α</italic> is a (pseudo-)random number within the interval <inline-formula id="j_info1189_ineq_055"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\varepsilon _{1}},n]$]]></tex-math></alternatives></inline-formula>, <italic>n</italic> is the chromosome length, <inline-formula id="j_info1189_ineq_056"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">⌊</mml:mo>
<mml:mi mathvariant="italic">h</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo fence="true" stretchy="false">⌋</mml:mo></mml:math><tex-math><![CDATA[${\varepsilon _{1}}=\lfloor h\cdot n\rfloor $]]></tex-math></alternatives></inline-formula>, <italic>h</italic> – the user’s parameter close to 1, for example, 0.9. The mask contains binary digits 0 and 1, where 1 means that the corresponding gene of the first parent needs to be cloned and 0 means that the gene of the second parent is cloned. The main goal is to create the mask as versatile as possible. The randomness of the mask can be controlled by parameters <italic>β</italic>, <italic>γ</italic>. The parameter <italic>β</italic> (<inline-formula id="j_info1189_ineq_057"><alternatives><mml:math>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\beta \in [{\varepsilon _{2}},{\varepsilon _{3}}]$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_058"><alternatives><mml:math>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$0<{\varepsilon _{2}}\hspace{2.5pt}\leqslant {\varepsilon _{3}}<1$]]></tex-math></alternatives></inline-formula>) enables to regulate how many 0’s and 1’s there are in the mask: the more value of <italic>β</italic>, the bigger total number of 1’s is in the mask, and vice versa. The arrangement of bits is dictated by the parameter <italic>γ</italic>. The bit generation itself can be accomplished by using an (indeterministic) sorting algorithm, which may be viewed as a kind of “anytime” algorithm. If the sorting algorithm is interrupted at some random moment, one gets the randomized sequence of bits. The moment of interruption is defined by the number <italic>z</italic>, where <inline-formula id="j_info1189_ineq_059"><alternatives><mml:math>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">w</mml:mi></mml:math><tex-math><![CDATA[$z=\gamma \cdot w$]]></tex-math></alternatives></inline-formula>, here <italic>γ</italic> is a (pseudo-)random real number from the interval <inline-formula id="j_info1189_ineq_060"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[0,1]$]]></tex-math></alternatives></inline-formula>, <italic>w</italic> – maximum number of iterations of the sorting algorithm. (For example, if the bits of the mask “000001111” are sorted in descending order and the algorithm is stopped when <inline-formula id="j_info1189_ineq_061"><alternatives><mml:math>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\gamma =0.9$]]></tex-math></alternatives></inline-formula>, then the random mask “101100010” is generated.) Having the mask generated, the decision is made as to about what genes have to be transmitted to the offspring’s chromosome. The starting position of the transferred genes, <italic>χ</italic>, is generated randomly so that <inline-formula id="j_info1189_ineq_062"><alternatives><mml:math>
<mml:mi mathvariant="italic">χ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\chi \in [1,n]$]]></tex-math></alternatives></inline-formula>. At last, the empty loci (if any) are filled in randomly.</p>
<p>The illustrative example of the universal crossover with the parameters <inline-formula id="j_info1189_ineq_063"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =9$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_064"><alternatives><mml:math>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\beta =\frac{4}{9}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_065"><alternatives><mml:math>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\gamma =0.9$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_066"><alternatives><mml:math>
<mml:mi mathvariant="italic">χ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\chi =1$]]></tex-math></alternatives></inline-formula> is presented in Fig. <xref rid="j_info1189_fig_008">8</xref>.</p>
<fig id="j_info1189_fig_008">
<label>Fig. 8</label>
<caption>
<p>Graphical illustration of universal crossover.</p>
</caption>
<graphic xlink:href="info1189_g008.jpg"/>
</fig>
</sec>
<sec id="j_info1189_s_023">
<label>3.2.3</label>
<title>Gene Translocation<inline-formula id="j_info1189_ineq_067"><alternatives><mml:math>
<mml:msup>
<mml:mrow/>
<mml:mrow>
<mml:mo mathvariant="normal">⋆</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${^{\mathrm{\star }}}$]]></tex-math></alternatives></inline-formula></title>
<p>So far, a single child is created from two or more parents. In the gene translocation (GT) procedure, many children are produced from many parents. The GT procedure is performed in an iterative way. The total number of iterations is equal to <italic>m</italic>, <inline-formula id="j_info1189_ineq_068"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">max</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>01</mml:mn>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$m=\max \{1;0,01\cdot c\cdot d(n-1)\}$]]></tex-math></alternatives></inline-formula>, where <italic>c</italic> denotes a translocation coefficient (in percent) <inline-formula id="j_info1189_ineq_069"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0<c\leqslant 100)$]]></tex-math></alternatives></inline-formula>, <italic>d</italic> is the population size and <italic>n</italic> denotes the chromosome length. At each iteration of the GT procedure, three random integers <inline-formula id="j_info1189_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{1}},{\zeta _{2}},{\zeta _{3}}$]]></tex-math></alternatives></inline-formula> are generated. The first two integers (<inline-formula id="j_info1189_ineq_071"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{1}},{\zeta _{2}}$]]></tex-math></alternatives></inline-formula>) are from the interval <inline-formula id="j_info1189_ineq_072"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[1,d]$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{1}}\ne {\zeta _{2}}$]]></tex-math></alternatives></inline-formula>. The integer <inline-formula id="j_info1189_ineq_074"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{3}}$]]></tex-math></alternatives></inline-formula> is within the interval <inline-formula id="j_info1189_ineq_075"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[1,n]$]]></tex-math></alternatives></inline-formula>. Let (<inline-formula id="j_info1189_ineq_076"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{{\zeta _{1}}}},{p_{{\zeta _{2}}}}$]]></tex-math></alternatives></inline-formula>) be a pair of parents such that <inline-formula id="j_info1189_ineq_077"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{{\zeta _{1}}}}$]]></tex-math></alternatives></inline-formula> is the <inline-formula id="j_info1189_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{1}}$]]></tex-math></alternatives></inline-formula>th member of the current population, meanwhile <inline-formula id="j_info1189_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{{\zeta _{2}}}}$]]></tex-math></alternatives></inline-formula> is the <inline-formula id="j_info1189_ineq_080"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{2}}$]]></tex-math></alternatives></inline-formula>th member of the population. Then, if the genes at the <inline-formula id="j_info1189_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{3}}$]]></tex-math></alternatives></inline-formula>th locus are the same for both parents, one continues with the next iteration; otherwise, the pairwise gene interchange is performed (similarly to the swap-path crossover). That is, if the current locus index is equal to <inline-formula id="j_info1189_ineq_082"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\zeta _{3}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1189_ineq_083"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${a_{{\zeta _{1}}}}={p_{{\zeta _{1}}}}({\zeta _{3}})$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_084"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${a_{{\zeta _{2}}}}={p_{{\zeta _{2}}}}({\zeta _{3}})$]]></tex-math></alternatives></inline-formula>, then, after the interchange, either <inline-formula id="j_info1189_ineq_085"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{{\zeta _{1}}}}({\zeta _{3}})$]]></tex-math></alternatives></inline-formula> becomes equal to <inline-formula id="j_info1189_ineq_086"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${a_{{\zeta _{2}}}}$]]></tex-math></alternatives></inline-formula>, or <inline-formula id="j_info1189_ineq_087"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{{\zeta _{2}}}}({\zeta _{3}})$]]></tex-math></alternatives></inline-formula> equal to <inline-formula id="j_info1189_ineq_088"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ζ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${a_{{\zeta _{1}}}}$]]></tex-math></alternatives></inline-formula>. The iterations of gene translocations are continued until the maximum number of iterations has been reached. As a result, the new population is produced in which there are <italic>c</italic> percent new genes.</p>
<p>An illustrative example of the GT procedure with the parameters <inline-formula id="j_info1189_ineq_089"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>9</mml:mn></mml:math><tex-math><![CDATA[$n=9$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_090"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>4</mml:mn></mml:math><tex-math><![CDATA[$d=4$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_091"><alternatives><mml:math>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$c=20\% $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_092"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>6</mml:mn></mml:math><tex-math><![CDATA[$m=6$]]></tex-math></alternatives></inline-formula> is shown in Fig. <xref rid="j_info1189_fig_009">9</xref>.</p>
<fig id="j_info1189_fig_009">
<label>Fig. 9</label>
<caption>
<p>Graphical illustration of gene translocation.</p>
</caption>
<graphic xlink:href="info1189_g009.jpg"/>
</fig>
</sec>
</sec>
</sec>
<sec id="j_info1189_s_024">
<label>4</label>
<title>Computational Experiments</title>
<p>We have conducted the computational experiments in order to compare the efficiency of the considered crossover operators. The experiments have been carried out on the basis of the difficult combinatorial optimization problem – the quadratic assignment problem (Çela, <xref ref-type="bibr" rid="j_info1189_ref_005">1998</xref>). This problem can be concisely formulated as follows. Given two integer matrices <inline-formula id="j_info1189_ineq_093"><alternatives><mml:math>
<mml:mtext mathvariant="bold">A</mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\textbf{A}={({a_{ij}})_{n\times n}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1189_ineq_094"><alternatives><mml:math>
<mml:mtext mathvariant="bold">B</mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\textbf{B}={({b_{kl}})_{n\times n}}$]]></tex-math></alternatives></inline-formula> and a set <inline-formula id="j_info1189_ineq_095"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Π</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Pi _{n}}$]]></tex-math></alternatives></inline-formula> of permutations of the integers from 1 to <italic>n</italic>, find a permutation <inline-formula id="j_info1189_ineq_096"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Π</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$p=(p(1),p(2),\dots ,p(n))\in {\Pi _{n}}$]]></tex-math></alternatives></inline-formula> that minimizes 
<disp-formula id="j_info1189_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ f(p)={\sum \limits_{i=1}^{n}}{\sum \limits_{j=1}^{n}}{a_{ij}}{b_{p(i)p(j)}}.\]]]></tex-math></alternatives>
</disp-formula> 
In the experiments, we have used the benchmark instances from the electronic public library of the QAP instances – QAPLIB (Burkard <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1189_ref_003">1997</xref>). We experimented with the following fifteen crossover operators<xref ref-type="fn" rid="j_info1189_fn_003">3</xref><fn id="j_info1189_fn_003"><label><sup>3</sup></label>
<p>The source texts (in C# programming language) of the crossover operators for the QAP can be found at: http://www.personalas.ktu.lt/˜alfmise/.</p></fn>:</p>
<p>1) one-point crossover – 1PX;</p>
<p>2) modified one-point crossover – M1PX;</p>
<p>3) two-point crossover – 2PX;</p>
<p>4) uniform crossover – UX;</p>
<p>5) quasi-uniform crossover – QUX;</p>
<p>6) shuffle crossover – SX;</p>
<p>7) partially-mapped crossover – PMX;</p>
<p>8) swap-path crossover – SPX;</p>
<p>9) heuristic swap-path crossover – HSPX;</p>
<p>10) swap-path descent crossover – SPDX;</p>
<p>11) cycle crossover – CX;</p>
<p>12) cohesive crossover – COHX;</p>
<p>13) multi-parent crossover – MPX;</p>
<p>14) universal crossover – UNIVX;</p>
<p>15) gene translocation – GT.</p>
<p>All the above crossover operators have been tested using the genetic algorithm, which was implemented in C# programming language by A. Misevičius and D. Kuznecovaitė. In this algorithm, the number of generations is equal to 100 and the population size is equal to 10. The crossover operators were run 10 times with the different chromosome pairs during each generation of GA (thus, each crossover procedure was run 1000 times on every benchmark instance). (The exception was gene translocation, which was run 100 times.) The experiments were performed on a 3.1 GHz personal computer.</p>
<p>In the experiments, we used the following criteria for the evaluation of the efficiency of the crossover operators: 1) the minimum deviation (<inline-formula id="j_info1189_ineq_097"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula>) of the best found solution from the best known (pseudo-optimal) solution (BKS) (BKSs are from QAPLIB); 2) the average deviation (<inline-formula id="j_info1189_ineq_098"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula>) from BKS; 3) the decrement of minimum deviation (<inline-formula id="j_info1189_ineq_099"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula>) during the execution of GA; 4) the decrement of average deviation (<inline-formula id="j_info1189_ineq_100"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula>). The following are the formula for calculation of the above criteria: <disp-formula-group id="j_info1189_dg_001">
<disp-formula id="j_info1189_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="normal">%</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\delta _{\min }}=100({f_{\min }}-{f^{\ast }})/{f^{\ast }}\hspace{2.5pt}[\% ],\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1189_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="normal">%</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \bar{\delta }=100(\bar{f}-{f^{\ast }})/{f^{\ast }}\hspace{2.5pt}[\% ],\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1189_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mspace width="2.5pt"/>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="normal">%</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\Delta _{\min }}=100({\delta _{\min }^{0}}-{\delta _{\min }})/{\delta _{\min }^{0}}\hspace{2.5pt}[\% ],\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1189_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>−</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="normal">%</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \bar{\Delta }=100({\bar{\delta }^{0}}-\bar{\delta })/{\bar{\delta }^{0}}\hspace{2.5pt}[\% ].\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> The notations are as follows: <inline-formula id="j_info1189_ineq_101"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${f_{\min }}$]]></tex-math></alternatives></inline-formula> – the best found value of the objective function (see formula (<xref rid="j_info1189_eq_004">4</xref>)); <inline-formula id="j_info1189_ineq_102"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${f^{\ast }}$]]></tex-math></alternatives></inline-formula> – the best known (pseudo-optimal) value of the objective function; <inline-formula id="j_info1189_ineq_103"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{f}$]]></tex-math></alternatives></inline-formula> – the objective function value averaged over all members of the final obtained population; <inline-formula id="j_info1189_ineq_104"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\delta _{\min }^{0}}$]]></tex-math></alternatives></inline-formula> – the minimum deviation calculated for the best individual of the initial population; <inline-formula id="j_info1189_ineq_105"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\bar{\delta }^{0}}$]]></tex-math></alternatives></inline-formula> – the average deviation calculated for all the individuals of the initial population (note that the initial population is generated randomly before the execution of GA).</p>
<p>We have utilized two different types of benchmark instances: tai10a (<inline-formula id="j_info1189_ineq_106"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn></mml:math><tex-math><![CDATA[$n=10$]]></tex-math></alternatives></inline-formula>), tai30a <inline-formula id="j_info1189_ineq_107"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>30</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(n=30)$]]></tex-math></alternatives></inline-formula>, tai50a <inline-formula id="j_info1189_ineq_108"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>50</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(n=50)$]]></tex-math></alternatives></inline-formula> and tai10b <inline-formula id="j_info1189_ineq_109"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(n=10)$]]></tex-math></alternatives></inline-formula>, tai30b <inline-formula id="j_info1189_ineq_110"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>30</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(n=30)$]]></tex-math></alternatives></inline-formula>, tai50b <inline-formula id="j_info1189_ineq_111"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>50</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(n=50)$]]></tex-math></alternatives></inline-formula>. The instances tai10a, tai30a, tai50a are generated in a random way (Taillard, <xref ref-type="bibr" rid="j_info1189_ref_029">1991</xref>); whereas the instances tai10b, tai30b, tai50b are generated pseudo-randomly in such a way that the data resemble a distribution of real-world problems (Taillard, <xref ref-type="bibr" rid="j_info1189_ref_030">1995</xref>).</p>
<p>For the sake of more fairness, the following three different variants of the genetic algorithm were examined: 1) the standard genetic algorithm without mutation; 2) the standard genetic algorithm with a mutation procedure; 3) the hybrid genetic algorithm with an integrated local search procedure. Mutation is operationalized by the use of random pairwise gene interchanges, meanwhile the local search uses deterministic gene exchanges which improve the fitness of an individual.</p>
<table-wrap id="j_info1189_tab_001">
<label>Table 1</label>
<caption>
<p>Results of the comparison of crossover operators for the instances tai10a, tai10b (GA variant 1).</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai10a</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai10b</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_112"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_113"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_114"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_115"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_116"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_117"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_118"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_119"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>1PX</bold></td>
<td style="vertical-align: top; text-align: left">11,01</td>
<td style="vertical-align: top; text-align: left">20,80</td>
<td style="vertical-align: top; text-align: left">25,69</td>
<td style="vertical-align: top; text-align: left">17,28</td>
<td style="vertical-align: top; text-align: left">24,29</td>
<td style="vertical-align: top; text-align: left">30,20</td>
<td style="vertical-align: top; text-align: left">62,58</td>
<td style="vertical-align: top; text-align: left">49,54</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>M1PX</bold></td>
<td style="vertical-align: top; text-align: left">12,11</td>
<td style="vertical-align: top; text-align: left">21,66</td>
<td style="vertical-align: top; text-align: left">24,51</td>
<td style="vertical-align: top; text-align: left">16,45</td>
<td style="vertical-align: top; text-align: left">24,29</td>
<td style="vertical-align: top; text-align: left">30,20</td>
<td style="vertical-align: top; text-align: left">62,58</td>
<td style="vertical-align: top; text-align: left">49,54</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>2PX</bold></td>
<td style="vertical-align: top; text-align: left">19,99</td>
<td style="vertical-align: top; text-align: left">24,50</td>
<td style="vertical-align: top; text-align: left">16,67</td>
<td style="vertical-align: top; text-align: left">13,80</td>
<td style="vertical-align: top; text-align: left">41,98</td>
<td style="vertical-align: top; text-align: left">46,44</td>
<td style="vertical-align: top; text-align: left">38,18</td>
<td style="vertical-align: top; text-align: left">32,95</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UX</bold></td>
<td style="vertical-align: top; text-align: left">17,46</td>
<td style="vertical-align: top; text-align: left">20,33</td>
<td style="vertical-align: top; text-align: left">19,07</td>
<td style="vertical-align: top; text-align: left">17,74</td>
<td style="vertical-align: top; text-align: left">38,65</td>
<td style="vertical-align: top; text-align: left">42,57</td>
<td style="vertical-align: top; text-align: left">40,78</td>
<td style="vertical-align: top; text-align: left">36,56</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>QUX</bold></td>
<td style="vertical-align: top; text-align: left">21,57</td>
<td style="vertical-align: top; text-align: left">26,17</td>
<td style="vertical-align: top; text-align: left">15,21</td>
<td style="vertical-align: top; text-align: left">12,29</td>
<td style="vertical-align: top; text-align: left">47,02</td>
<td style="vertical-align: top; text-align: left">52,74</td>
<td style="vertical-align: top; text-align: left">34,48</td>
<td style="vertical-align: top; text-align: left">27,47</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SX</bold></td>
<td style="vertical-align: top; text-align: left">20,07</td>
<td style="vertical-align: top; text-align: left">23,60</td>
<td style="vertical-align: top; text-align: left">26,58</td>
<td style="vertical-align: top; text-align: left">14,62</td>
<td style="vertical-align: top; text-align: left">15,84</td>
<td style="vertical-align: top; text-align: left">33,64</td>
<td style="vertical-align: top; text-align: left">62,60</td>
<td style="vertical-align: top; text-align: left">45,68</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>PMX</bold></td>
<td style="vertical-align: top; text-align: left">15,50</td>
<td style="vertical-align: top; text-align: left">18,09</td>
<td style="vertical-align: top; text-align: left">21,00</td>
<td style="vertical-align: top; text-align: left">19,98</td>
<td style="vertical-align: top; text-align: left">30,37</td>
<td style="vertical-align: top; text-align: left">35,31</td>
<td style="vertical-align: top; text-align: left">47,82</td>
<td style="vertical-align: top; text-align: left">43,88</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPX</bold></td>
<td style="vertical-align: top; text-align: left">12,65</td>
<td style="vertical-align: top; text-align: left">16,73</td>
<td style="vertical-align: top; text-align: left">23,93</td>
<td style="vertical-align: top; text-align: left">21,37</td>
<td style="vertical-align: top; text-align: left">26,20</td>
<td style="vertical-align: top; text-align: left">31,40</td>
<td style="vertical-align: top; text-align: left">51,71</td>
<td style="vertical-align: top; text-align: left">48,17</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>HSPX</bold></td>
<td style="vertical-align: top; text-align: left">18,28</td>
<td style="vertical-align: top; text-align: left">22,63</td>
<td style="vertical-align: top; text-align: left">31,27</td>
<td style="vertical-align: top; text-align: left">15,53</td>
<td style="vertical-align: top; text-align: left">21,33</td>
<td style="vertical-align: top; text-align: left">30,25</td>
<td style="vertical-align: top; text-align: left">56,60</td>
<td style="vertical-align: top; text-align: left">49,48</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPDX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,34</bold></td>
<td style="vertical-align: top; text-align: left"><bold>9,46</bold></td>
<td style="vertical-align: top; text-align: left"><bold>34,87</bold></td>
<td style="vertical-align: top; text-align: left"><bold>33,34</bold></td>
<td style="vertical-align: top; text-align: left"><bold>7,67</bold></td>
<td style="vertical-align: top; text-align: left"><bold>9,44</bold></td>
<td style="vertical-align: top; text-align: left"><bold>70,82</bold></td>
<td style="vertical-align: top; text-align: left"><bold>72,03</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>CX</bold></td>
<td style="vertical-align: top; text-align: left">20,00</td>
<td style="vertical-align: top; text-align: left">30,74</td>
<td style="vertical-align: top; text-align: left">16,66</td>
<td style="vertical-align: top; text-align: left">8,36</td>
<td style="vertical-align: top; text-align: left">47,98</td>
<td style="vertical-align: top; text-align: left">67,23</td>
<td style="vertical-align: top; text-align: left">33,80</td>
<td style="vertical-align: top; text-align: left">16,42</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>COHX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,59</bold></td>
<td style="vertical-align: top; text-align: left"><bold>4,09</bold></td>
<td style="vertical-align: top; text-align: left"><bold>38,19</bold></td>
<td style="vertical-align: top; text-align: left"><bold>36,11</bold></td>
<td style="vertical-align: top; text-align: left">20,86</td>
<td style="vertical-align: top; text-align: left">22,50</td>
<td style="vertical-align: top; text-align: left">57,09</td>
<td style="vertical-align: top; text-align: left">58,93</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>MPX</bold></td>
<td style="vertical-align: top; text-align: left">15,44</td>
<td style="vertical-align: top; text-align: left">17,72</td>
<td style="vertical-align: top; text-align: left">21,07</td>
<td style="vertical-align: top; text-align: left">20,35</td>
<td style="vertical-align: top; text-align: left"><bold>15,49</bold></td>
<td style="vertical-align: top; text-align: left"><bold>27,63</bold></td>
<td style="vertical-align: top; text-align: left"><bold>63,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>52,54</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UNIVX</bold></td>
<td style="vertical-align: top; text-align: left">21,37</td>
<td style="vertical-align: top; text-align: left">24,44</td>
<td style="vertical-align: top; text-align: left">15,39</td>
<td style="vertical-align: top; text-align: left">13,85</td>
<td style="vertical-align: top; text-align: left">52,82</td>
<td style="vertical-align: top; text-align: left">54,88</td>
<td style="vertical-align: top; text-align: left">30,51</td>
<td style="vertical-align: top; text-align: left">25,70</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>GT</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>12,61</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>13,31</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>23,98</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>25,03</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>1,54</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>3,40</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>84,27</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>88,29</bold></td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="j_info1189_tab_002">
<label>Table 2</label>
<caption>
<p>Results of the comparison of crossover operators for the instances tai10a, tai10b (GA variant 2).</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai10a</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai10b</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_120"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_121"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_122"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_123"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_124"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_125"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_126"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_127"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>1PX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,47</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>69,61</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,03</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,70</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>M1PX</bold></td>
<td style="vertical-align: top; text-align: left">0,43</td>
<td style="vertical-align: top; text-align: left">1,94</td>
<td style="vertical-align: top; text-align: left">73,42</td>
<td style="vertical-align: top; text-align: left">68,97</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,08</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,62</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>2PX</bold></td>
<td style="vertical-align: top; text-align: left">2,30</td>
<td style="vertical-align: top; text-align: left">3,45</td>
<td style="vertical-align: top; text-align: left">70,97</td>
<td style="vertical-align: top; text-align: left">66,95</td>
<td style="vertical-align: top; text-align: left">0,28</td>
<td style="vertical-align: top; text-align: left">1,65</td>
<td style="vertical-align: top; text-align: left">93,17</td>
<td style="vertical-align: top; text-align: left">89,53</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,38</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>69,75</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,96</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,84</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>QUX</bold></td>
<td style="vertical-align: top; text-align: left">0,45</td>
<td style="vertical-align: top; text-align: left">1,81</td>
<td style="vertical-align: top; text-align: left">73,38</td>
<td style="vertical-align: top; text-align: left">69,16</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,94</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>90,88</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SX</bold></td>
<td style="vertical-align: top; text-align: left">2,30</td>
<td style="vertical-align: top; text-align: left">3,66</td>
<td style="vertical-align: top; text-align: left">70,97</td>
<td style="vertical-align: top; text-align: left">66,68</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,91</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>90,93</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>PMX</bold></td>
<td style="vertical-align: top; text-align: left">2,43</td>
<td style="vertical-align: top; text-align: left">3,88</td>
<td style="vertical-align: top; text-align: left">70,81</td>
<td style="vertical-align: top; text-align: left">66,38</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,96</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,84</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPX</bold></td>
<td style="vertical-align: top; text-align: left">0,64</td>
<td style="vertical-align: top; text-align: left">2,07</td>
<td style="vertical-align: top; text-align: left">73,13</td>
<td style="vertical-align: top; text-align: left">68,81</td>
<td style="vertical-align: top; text-align: left">1.65</td>
<td style="vertical-align: top; text-align: left">2,58</td>
<td style="vertical-align: top; text-align: left">91,11</td>
<td style="vertical-align: top; text-align: left">88,80</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>HSPX</bold></td>
<td style="vertical-align: top; text-align: left">0,59</td>
<td style="vertical-align: top; text-align: left">2,11</td>
<td style="vertical-align: top; text-align: left">73,19</td>
<td style="vertical-align: top; text-align: left">68,74</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,96</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,84</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPDX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,43</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,70</bold></td>
<td style="vertical-align: top; text-align: left"><bold>74,95</bold></td>
<td style="vertical-align: top; text-align: left"><bold>72,06</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,95</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,86</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>CX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">3,44</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">66,96</td>
<td style="vertical-align: top; text-align: left">0,28</td>
<td style="vertical-align: top; text-align: left">2,11</td>
<td style="vertical-align: top; text-align: left">93,17</td>
<td style="vertical-align: top; text-align: left">88,66</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>COHX</bold></td>
<td style="vertical-align: top; text-align: left">3,33</td>
<td style="vertical-align: top; text-align: left">5,24</td>
<td style="vertical-align: top; text-align: left">69,67</td>
<td style="vertical-align: top; text-align: left">64,62</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,05</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,68</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>MPX</bold></td>
<td style="vertical-align: top; text-align: left">2,43</td>
<td style="vertical-align: top; text-align: left">5,40</td>
<td style="vertical-align: top; text-align: left">70,81</td>
<td style="vertical-align: top; text-align: left">64,42</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,92</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>90,92</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UNIVX</bold></td>
<td style="vertical-align: top; text-align: left">2,43</td>
<td style="vertical-align: top; text-align: left">4,18</td>
<td style="vertical-align: top; text-align: left">70,81</td>
<td style="vertical-align: top; text-align: left">65,99</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,96</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">90,84</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>GT</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,92</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2,94</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">72,76</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">67,63</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1,13</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">100,00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">90,52</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The obtained results of all performed experiments are presented in Tables <xref rid="j_info1189_tab_001">1</xref>–<xref rid="j_info1189_tab_007">7</xref>. The best achieved values of the crossover operators are in bold. Note that the CPU times differ unimportantly and are omitted.</p>
<p>After analysis of the experimental results, the most essential observations are as follows.</p>
<list>
<list-item id="j_info1189_li_004">
<label>•</label>
<p>The obtained results are very influenced by the size and nature of test data. The large instances are more difficult to solve when comparing to smaller instances. Also, it seems that the random medium- and large-scale instances are harder than their real life counterparts. This is true for all the crossover operators.</p>
<p><table-wrap id="j_info1189_tab_003">
<label>Table 3</label>
<caption>
<p>Results of the comparison of crossover operators for the instances tai30a, tai30b (GA variant 2).</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai30a</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai30b</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_128"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_129"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_130"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_131"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_133"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_134"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_135"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>1PX</bold></td>
<td style="vertical-align: top; text-align: left">5,82</td>
<td style="vertical-align: top; text-align: left">6,68</td>
<td style="vertical-align: top; text-align: left">16,40</td>
<td style="vertical-align: top; text-align: left">13,28</td>
<td style="vertical-align: top; text-align: left">4,18</td>
<td style="vertical-align: top; text-align: left">4,63</td>
<td style="vertical-align: top; text-align: left">93,32</td>
<td style="vertical-align: top; text-align: left">91,85</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>M1PX</bold></td>
<td style="vertical-align: top; text-align: left">6,73</td>
<td style="vertical-align: top; text-align: left">7,22</td>
<td style="vertical-align: top; text-align: left">15,44</td>
<td style="vertical-align: top; text-align: left">12,71</td>
<td style="vertical-align: top; text-align: left">7,56</td>
<td style="vertical-align: top; text-align: left">7,67</td>
<td style="vertical-align: top; text-align: left">98,49</td>
<td style="vertical-align: top; text-align: left">86,32</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>2PX</bold></td>
<td style="vertical-align: top; text-align: left">5,49</td>
<td style="vertical-align: top; text-align: left">6,93</td>
<td style="vertical-align: top; text-align: left">16,75</td>
<td style="vertical-align: top; text-align: left">13,01</td>
<td style="vertical-align: top; text-align: left">12,42</td>
<td style="vertical-align: top; text-align: left">12,89</td>
<td style="vertical-align: top; text-align: left">82,07</td>
<td style="vertical-align: top; text-align: left">77,53</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UX</bold></td>
<td style="vertical-align: top; text-align: left">6,39</td>
<td style="vertical-align: top; text-align: left">7,28</td>
<td style="vertical-align: top; text-align: left">15,80</td>
<td style="vertical-align: top; text-align: left">12,65</td>
<td style="vertical-align: top; text-align: left">4,17</td>
<td style="vertical-align: top; text-align: left">5,01</td>
<td style="vertical-align: top; text-align: left">93,33</td>
<td style="vertical-align: top; text-align: left">91,14</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>QUX</bold></td>
<td style="vertical-align: top; text-align: left">6,83</td>
<td style="vertical-align: top; text-align: left">7,59</td>
<td style="vertical-align: top; text-align: left">15,33</td>
<td style="vertical-align: top; text-align: left">12,32</td>
<td style="vertical-align: top; text-align: left"><bold>3,68</bold></td>
<td style="vertical-align: top; text-align: left"><bold>3,94</bold></td>
<td style="vertical-align: top; text-align: left"><bold>94,05</bold></td>
<td style="vertical-align: top; text-align: left"><bold>93,16</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SX</bold></td>
<td style="vertical-align: top; text-align: left">6,51</td>
<td style="vertical-align: top; text-align: left">7,55</td>
<td style="vertical-align: top; text-align: left">15,67</td>
<td style="vertical-align: top; text-align: left">12,37</td>
<td style="vertical-align: top; text-align: left"><bold>1,67</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,85</bold></td>
<td style="vertical-align: top; text-align: left"><bold>97,10</bold></td>
<td style="vertical-align: top; text-align: left"><bold>97,21</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>PMX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,48</bold></td>
<td style="vertical-align: top; text-align: left"><bold>6,31</bold></td>
<td style="vertical-align: top; text-align: left"><bold>16,76</bold></td>
<td style="vertical-align: top; text-align: left"><bold>13,67</bold></td>
<td style="vertical-align: top; text-align: left">5,35</td>
<td style="vertical-align: top; text-align: left">5,60</td>
<td style="vertical-align: top; text-align: left">91,62</td>
<td style="vertical-align: top; text-align: left">89,94</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPX</bold></td>
<td style="vertical-align: top; text-align: left">7,15</td>
<td style="vertical-align: top; text-align: left">7,57</td>
<td style="vertical-align: top; text-align: left">15,00</td>
<td style="vertical-align: top; text-align: left">12,35</td>
<td style="vertical-align: top; text-align: left">6,74</td>
<td style="vertical-align: top; text-align: left">7,04</td>
<td style="vertical-align: top; text-align: left">89,64</td>
<td style="vertical-align: top; text-align: left">87,45</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>HSPX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>4,37</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,68</bold></td>
<td style="vertical-align: top; text-align: left"><bold>17,96</bold></td>
<td style="vertical-align: top; text-align: left"><bold>14,35</bold></td>
<td style="vertical-align: top; text-align: left">7,94</td>
<td style="vertical-align: top; text-align: left">8,28</td>
<td style="vertical-align: top; text-align: left">87,98</td>
<td style="vertical-align: top; text-align: left">85,25</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPDX</bold></td>
<td style="vertical-align: top; text-align: left">4,51</td>
<td style="vertical-align: top; text-align: left">5,73</td>
<td style="vertical-align: top; text-align: left">17,00</td>
<td style="vertical-align: top; text-align: left">13,97</td>
<td style="vertical-align: top; text-align: left"><bold>7,65</bold></td>
<td style="vertical-align: top; text-align: left"><bold>7,81</bold></td>
<td style="vertical-align: top; text-align: left"><bold>98,44</bold></td>
<td style="vertical-align: top; text-align: left"><bold>88,78</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>CX</bold></td>
<td style="vertical-align: top; text-align: left">6,30</td>
<td style="vertical-align: top; text-align: left">6,76</td>
<td style="vertical-align: top; text-align: left">15,89</td>
<td style="vertical-align: top; text-align: left">13,20</td>
<td style="vertical-align: top; text-align: left">9,49</td>
<td style="vertical-align: top; text-align: left">10,77</td>
<td style="vertical-align: top; text-align: left">95,88</td>
<td style="vertical-align: top; text-align: left">88,00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>COHX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>4,56</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,33</bold></td>
<td style="vertical-align: top; text-align: left"><bold>17,75</bold></td>
<td style="vertical-align: top; text-align: left"><bold>14,73</bold></td>
<td style="vertical-align: top; text-align: left">9,11</td>
<td style="vertical-align: top; text-align: left">9,26</td>
<td style="vertical-align: top; text-align: left">96,38</td>
<td style="vertical-align: top; text-align: left">83,55</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>MPX</bold></td>
<td style="vertical-align: top; text-align: left">6,68</td>
<td style="vertical-align: top; text-align: left">7,88</td>
<td style="vertical-align: top; text-align: left">15,50</td>
<td style="vertical-align: top; text-align: left">12,02</td>
<td style="vertical-align: top; text-align: left">7,77</td>
<td style="vertical-align: top; text-align: left">7,85</td>
<td style="vertical-align: top; text-align: left">98,21</td>
<td style="vertical-align: top; text-align: left">86,01</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UNIVX</bold></td>
<td style="vertical-align: top; text-align: left">6,84</td>
<td style="vertical-align: top; text-align: left">7,76</td>
<td style="vertical-align: top; text-align: left">15,33</td>
<td style="vertical-align: top; text-align: left">12,14</td>
<td style="vertical-align: top; text-align: left">12,72</td>
<td style="vertical-align: top; text-align: left">12,83</td>
<td style="vertical-align: top; text-align: left">81,70</td>
<td style="vertical-align: top; text-align: left">77,62</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>GT</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">7,60</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">8,21</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">14,54</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">11,68</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9,13</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9,41</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">96,36</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">84,30</td>
</tr>
</tbody>
</table>
</table-wrap></p>
<p><table-wrap id="j_info1189_tab_004">
<label>Table 4</label>
<caption>
<p>Results of the comparison of crossover operators for the instances tai50a, tai50b (GA variant 2).</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai50a</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai50b</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_136"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_137"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_139"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_140"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_141"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_142"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_143"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>1PX</bold></td>
<td style="vertical-align: top; text-align: left">8,70</td>
<td style="vertical-align: top; text-align: left">8,98</td>
<td style="vertical-align: top; text-align: left">13,32</td>
<td style="vertical-align: top; text-align: left">10,35</td>
<td style="vertical-align: top; text-align: left">8,13</td>
<td style="vertical-align: top; text-align: left">9,15</td>
<td style="vertical-align: top; text-align: left">65,02</td>
<td style="vertical-align: top; text-align: left">55,71</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>M1PX</bold></td>
<td style="vertical-align: top; text-align: left">7,16</td>
<td style="vertical-align: top; text-align: left">7,92</td>
<td style="vertical-align: top; text-align: left">14,90</td>
<td style="vertical-align: top; text-align: left">11,42</td>
<td style="vertical-align: top; text-align: left">8,84</td>
<td style="vertical-align: top; text-align: left">9,67</td>
<td style="vertical-align: top; text-align: left">64,08</td>
<td style="vertical-align: top; text-align: left">54,97</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>2PX</bold></td>
<td style="vertical-align: top; text-align: left">8,13</td>
<td style="vertical-align: top; text-align: left">8,67</td>
<td style="vertical-align: top; text-align: left">13,90</td>
<td style="vertical-align: top; text-align: left">10,66</td>
<td style="vertical-align: top; text-align: left">7,31</td>
<td style="vertical-align: top; text-align: left">7,96</td>
<td style="vertical-align: top; text-align: left">66,13</td>
<td style="vertical-align: top; text-align: left">57,43</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UX</bold></td>
<td style="vertical-align: top; text-align: left">8,41</td>
<td style="vertical-align: top; text-align: left">8,89</td>
<td style="vertical-align: top; text-align: left">13,62</td>
<td style="vertical-align: top; text-align: left">10,43</td>
<td style="vertical-align: top; text-align: left">9,78</td>
<td style="vertical-align: top; text-align: left">10,74</td>
<td style="vertical-align: top; text-align: left">62,84</td>
<td style="vertical-align: top; text-align: left">53,48</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>QUX</bold></td>
<td style="vertical-align: top; text-align: left">8,68</td>
<td style="vertical-align: top; text-align: left">9,03</td>
<td style="vertical-align: top; text-align: left">13,35</td>
<td style="vertical-align: top; text-align: left">10,29</td>
<td style="vertical-align: top; text-align: left">6,12</td>
<td style="vertical-align: top; text-align: left">7,92</td>
<td style="vertical-align: top; text-align: left">67,77</td>
<td style="vertical-align: top; text-align: left">57,49</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SX</bold></td>
<td style="vertical-align: top; text-align: left">6,65</td>
<td style="vertical-align: top; text-align: left">7,32</td>
<td style="vertical-align: top; text-align: left">15,42</td>
<td style="vertical-align: top; text-align: left">12,06</td>
<td style="vertical-align: top; text-align: left">11,78</td>
<td style="vertical-align: top; text-align: left">13,33</td>
<td style="vertical-align: top; text-align: left">60,28</td>
<td style="vertical-align: top; text-align: left">49,97</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>PMX</bold></td>
<td style="vertical-align: top; text-align: left">7,91</td>
<td style="vertical-align: top; text-align: left">8,59</td>
<td style="vertical-align: top; text-align: left">14,13</td>
<td style="vertical-align: top; text-align: left">10,74</td>
<td style="vertical-align: top; text-align: left">6,33</td>
<td style="vertical-align: top; text-align: left">6,40</td>
<td style="vertical-align: top; text-align: left">67,48</td>
<td style="vertical-align: top; text-align: left">59,75</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,31</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,96</bold></td>
<td style="vertical-align: top; text-align: left"><bold>16,85</bold></td>
<td style="vertical-align: top; text-align: left"><bold>13,49</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,47</bold></td>
<td style="vertical-align: top; text-align: left"><bold>6,16</bold></td>
<td style="vertical-align: top; text-align: left"><bold>68,68</bold></td>
<td style="vertical-align: top; text-align: left"><bold>60,10</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>HSPX</bold></td>
<td style="vertical-align: top; text-align: left">6,88</td>
<td style="vertical-align: top; text-align: left">7,59</td>
<td style="vertical-align: top; text-align: left">14,18</td>
<td style="vertical-align: top; text-align: left">11,77</td>
<td style="vertical-align: top; text-align: left">8,07</td>
<td style="vertical-align: top; text-align: left">8,62</td>
<td style="vertical-align: top; text-align: left">65,10</td>
<td style="vertical-align: top; text-align: left">56,47</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPDX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>4,93</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,07</bold></td>
<td style="vertical-align: top; text-align: left"><bold>17,13</bold></td>
<td style="vertical-align: top; text-align: left"><bold>14,52</bold></td>
<td style="vertical-align: top; text-align: left"><bold>6,08</bold></td>
<td style="vertical-align: top; text-align: left"><bold>6,45</bold></td>
<td style="vertical-align: top; text-align: left"><bold>67,09</bold></td>
<td style="vertical-align: top; text-align: left"><bold>59,81</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>CX</bold></td>
<td style="vertical-align: top; text-align: left">7,76</td>
<td style="vertical-align: top; text-align: left">8,65</td>
<td style="vertical-align: top; text-align: left">14,28</td>
<td style="vertical-align: top; text-align: left">10,68</td>
<td style="vertical-align: top; text-align: left">8,93</td>
<td style="vertical-align: top; text-align: left">10,04</td>
<td style="vertical-align: top; text-align: left">63,96</td>
<td style="vertical-align: top; text-align: left">54,46</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>COHX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,71</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,98</bold></td>
<td style="vertical-align: top; text-align: left"><bold>16,42</bold></td>
<td style="vertical-align: top; text-align: left"><bold>13,46</bold></td>
<td style="vertical-align: top; text-align: left">12,45</td>
<td style="vertical-align: top; text-align: left">12,79</td>
<td style="vertical-align: top; text-align: left">59,45</td>
<td style="vertical-align: top; text-align: left">50,69</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>MPX</bold></td>
<td style="vertical-align: top; text-align: left">9,17</td>
<td style="vertical-align: top; text-align: left">9,58</td>
<td style="vertical-align: top; text-align: left">12,85</td>
<td style="vertical-align: top; text-align: left">9,74</td>
<td style="vertical-align: top; text-align: left"><bold>5,57</bold></td>
<td style="vertical-align: top; text-align: left"><bold>5,77</bold></td>
<td style="vertical-align: top; text-align: left"><bold>68,54</bold></td>
<td style="vertical-align: top; text-align: left"><bold>60,70</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UNIVX</bold></td>
<td style="vertical-align: top; text-align: left">7,15</td>
<td style="vertical-align: top; text-align: left">7,73</td>
<td style="vertical-align: top; text-align: left">14,91</td>
<td style="vertical-align: top; text-align: left">11,62</td>
<td style="vertical-align: top; text-align: left">7,32</td>
<td style="vertical-align: top; text-align: left">7,63</td>
<td style="vertical-align: top; text-align: left">66,12</td>
<td style="vertical-align: top; text-align: left">57,91</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>GT</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9,26</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9,61</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">12,77</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9,71</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">10,69</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">12,25</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">61,67</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">51,42</td>
</tr>
</tbody>
</table>
</table-wrap></p>
</list-item>
<list-item id="j_info1189_li_005">
<label>•</label>
<p>The main differentiation in the results is due to distinct configurations of the inner structure of the genetic algorithm, rather than due to the crossover operations themselves. Presumably, not only the crossover operator, but also mutation is important. The crossover enables to diversify the search process, it is explorative and can discover new regions in the search space. Meanwhile, the mutation allows to intensify the search process, it is rather exploitative and creates random, but small diversions staying near (in the neighbourhood of) the parent. Both have their role. They complement each other; there exists a mutual interaction between them, which increases the overall performance of the genetic algorithm.</p>
<p><table-wrap id="j_info1189_tab_005">
<label>Table 5</label>
<caption>
<p>Results of the comparison of crossover operators for the instances tai10a, tai10b (GA variant 3).</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai10a</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai10b</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_144"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_145"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_146"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_147"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_148"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_149"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_150"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_151"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>1PX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,01</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,57</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,12</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,82</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>M1PX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,06</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,45</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,05</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,90</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>2PX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,04</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,50</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,26</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,67</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,01</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,57</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,28</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,65</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>QUX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,54</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>98,71</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,81</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,15</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,92</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,80</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,91</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,04</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>PMX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,87</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,91</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,97</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,98</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,87</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,91</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,43</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,49</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>HSPX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,38</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">96,70</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,10</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,84</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPDX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,46</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,13</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,98</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">99,02</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>CX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,46</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">96,51</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,17</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,76</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>COHX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">1,04</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">97,49</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,72</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,24</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>MPX</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,75</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,20</td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,94</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">99,01</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UNIVX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,59</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>98,57</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,99</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">98,95</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>GT</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,75</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">100,00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">98,20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1,24</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">100,00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">98,69</td>
</tr>
</tbody>
</table>
</table-wrap></p>
<p><table-wrap id="j_info1189_tab_006">
<label>Table 6</label>
<caption>
<p>Results of the comparison of crossover operators for the instances tai30a, tai30b (GA variant 3).</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">textbftai30a</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai30b</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_152"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_153"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_154"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_155"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_156"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_157"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_158"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_159"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>1PX</bold></td>
<td style="vertical-align: top; text-align: left">2,12</td>
<td style="vertical-align: top; text-align: left">2,26</td>
<td style="vertical-align: top; text-align: left">88,83</td>
<td style="vertical-align: top; text-align: left">89,18</td>
<td style="vertical-align: top; text-align: left">0,19</td>
<td style="vertical-align: top; text-align: left">0,26</td>
<td style="vertical-align: top; text-align: left">99,68</td>
<td style="vertical-align: top; text-align: left">99,75</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>M1PX</bold></td>
<td style="vertical-align: top; text-align: left">1,55</td>
<td style="vertical-align: top; text-align: left">1,96</td>
<td style="vertical-align: top; text-align: left">91,83</td>
<td style="vertical-align: top; text-align: left">90,60</td>
<td style="vertical-align: top; text-align: left">0,17</td>
<td style="vertical-align: top; text-align: left">0,30</td>
<td style="vertical-align: top; text-align: left">99,71</td>
<td style="vertical-align: top; text-align: left">99,71</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>2PX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,72</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,98</bold></td>
<td style="vertical-align: top; text-align: left"><bold>96,19</bold></td>
<td style="vertical-align: top; text-align: left"><bold>95,29</bold></td>
<td style="vertical-align: top; text-align: left">1,40</td>
<td style="vertical-align: top; text-align: left">1,51</td>
<td style="vertical-align: top; text-align: left">97,66</td>
<td style="vertical-align: top; text-align: left">98,56</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UX</bold></td>
<td style="vertical-align: top; text-align: left">1,28</td>
<td style="vertical-align: top; text-align: left">1,70</td>
<td style="vertical-align: top; text-align: left">93,23</td>
<td style="vertical-align: top; text-align: left">91,84</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,03</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,97</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>QUX</bold></td>
<td style="vertical-align: top; text-align: left">2,04</td>
<td style="vertical-align: top; text-align: left">2,65</td>
<td style="vertical-align: top; text-align: left">89,21</td>
<td style="vertical-align: top; text-align: left">87,31</td>
<td style="vertical-align: top; text-align: left">1,40</td>
<td style="vertical-align: top; text-align: left">1,62</td>
<td style="vertical-align: top; text-align: left">97,65</td>
<td style="vertical-align: top; text-align: left">98,45</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SX</bold></td>
<td style="vertical-align: top; text-align: left">1,43</td>
<td style="vertical-align: top; text-align: left">1,53</td>
<td style="vertical-align: top; text-align: left">92,47</td>
<td style="vertical-align: top; text-align: left">92,66</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,04</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,96</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>PMX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,74</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,03</bold></td>
<td style="vertical-align: top; text-align: left"><bold>96,10</bold></td>
<td style="vertical-align: top; text-align: left"><bold>95,06</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,05</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">99,95</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPX</bold></td>
<td style="vertical-align: top; text-align: left">1,45</td>
<td style="vertical-align: top; text-align: left">1,84</td>
<td style="vertical-align: top; text-align: left">92,35</td>
<td style="vertical-align: top; text-align: left">91,17</td>
<td style="vertical-align: top; text-align: left">1,40</td>
<td style="vertical-align: top; text-align: left">1,46</td>
<td style="vertical-align: top; text-align: left">97,66</td>
<td style="vertical-align: top; text-align: left">98,61</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>HSPX</bold></td>
<td style="vertical-align: top; text-align: left">3,00</td>
<td style="vertical-align: top; text-align: left">3,84</td>
<td style="vertical-align: top; text-align: left">84,14</td>
<td style="vertical-align: top; text-align: left">81,56</td>
<td style="vertical-align: top; text-align: left">1,70</td>
<td style="vertical-align: top; text-align: left">2,79</td>
<td style="vertical-align: top; text-align: left">97,16</td>
<td style="vertical-align: top; text-align: left">97,34</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPDX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,87</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,05</bold></td>
<td style="vertical-align: top; text-align: left"><bold>95,56</bold></td>
<td style="vertical-align: top; text-align: left"><bold>94,45</bold></td>
<td style="vertical-align: top; text-align: left">0,00</td>
<td style="vertical-align: top; text-align: left">0,08</td>
<td style="vertical-align: top; text-align: left">100,00</td>
<td style="vertical-align: top; text-align: left">99,92</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>CX</bold></td>
<td style="vertical-align: top; text-align: left">2,24</td>
<td style="vertical-align: top; text-align: left">2,75</td>
<td style="vertical-align: top; text-align: left">88,15</td>
<td style="vertical-align: top; text-align: left">86,80</td>
<td style="vertical-align: top; text-align: left">1,40</td>
<td style="vertical-align: top; text-align: left">2,07</td>
<td style="vertical-align: top; text-align: left">97,65</td>
<td style="vertical-align: top; text-align: left">98,03</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>COHX</bold></td>
<td style="vertical-align: top; text-align: left">0,94</td>
<td style="vertical-align: top; text-align: left">1,27</td>
<td style="vertical-align: top; text-align: left">95,05</td>
<td style="vertical-align: top; text-align: left">93,91</td>
<td style="vertical-align: top; text-align: left">2,22</td>
<td style="vertical-align: top; text-align: left">2,54</td>
<td style="vertical-align: top; text-align: left">96,29</td>
<td style="vertical-align: top; text-align: left">97,58</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>MPX</bold></td>
<td style="vertical-align: top; text-align: left">1,00</td>
<td style="vertical-align: top; text-align: left">1,42</td>
<td style="vertical-align: top; text-align: left">94,72</td>
<td style="vertical-align: top; text-align: left">93,18</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,04</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,96</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UNIVX</bold></td>
<td style="vertical-align: top; text-align: left">1,59</td>
<td style="vertical-align: top; text-align: left">1,94</td>
<td style="vertical-align: top; text-align: left">91,62</td>
<td style="vertical-align: top; text-align: left">90,69</td>
<td style="vertical-align: top; text-align: left"><bold>0,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,03</bold></td>
<td style="vertical-align: top; text-align: left"><bold>100,00</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,97</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>GT</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1,39</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1,86</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">92,66</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">91,07</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,11</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">99,82</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">99,81</td>
</tr>
</tbody>
</table>
</table-wrap></p>
</list-item>
<list-item id="j_info1189_li_006">
<label>•</label>
<p>The results clearly demonstrate that the hybrid genetic-local search algorithm outperforms the standard variant of the genetic algorithm with respect to all examined criteria. Thus, the deterministic intensification, i.e. local search, is evidently more helpful than the stochastic intensification, i.e. mutation.</p>
</list-item>
<list-item id="j_info1189_li_007">
<label>•</label>
<p>The differences in the effectiveness of particular crossover operators are not statistically very significant. These differences are even more minimized if crossovers are tested in the “hybrid environment”. Still, it can be observed that the multi-parent crossover and especially the swap-path descent crossover – which uses the heuristic information – seem, on average, to be superior to other operators. Further experiments could be recommended in order to corroborate this observation.</p>
</list-item>
</list>
<p>Despite the limited extent of our experiments, the scope of applications of the considered crossover operators is not constricted to the permutation-based problems as long as bit-string genetic algorithms are utilized. Regardless of the differences of implementation, the principles of functioning of these crossovers (possibly with the exception of heuristic crossovers) are rather general and invariant. This is especially true for our proposed universal crossover that is straightforwardly replicable to bit-string GAs, which, in turn, are applicable to both combinatorial and continuous optimization problems.</p>
<table-wrap id="j_info1189_tab_007">
<label>Table 7</label>
<caption>
<p>Results of the comparison of crossover operators for the instances tai50a, tai50b (GA variant 3).</p>
</caption>
<table>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai50a</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">tai50b</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_160"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1189_ineq_161"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_162"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_163"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_164"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_165"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\delta }$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_166"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\Delta _{\min }}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1189_ineq_167"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">¯</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\bar{\Delta }$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>1PX</bold></td>
<td style="vertical-align: top; text-align: left">2,47</td>
<td style="vertical-align: top; text-align: left">2,67</td>
<td style="vertical-align: top; text-align: left">86,91</td>
<td style="vertical-align: top; text-align: left">86,82</td>
<td style="vertical-align: top; text-align: left">0,41</td>
<td style="vertical-align: top; text-align: left">0,44</td>
<td style="vertical-align: top; text-align: left">99,28</td>
<td style="vertical-align: top; text-align: left">99,37</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>M1PX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,46</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,59</bold></td>
<td style="vertical-align: top; text-align: left"><bold>92,23</bold></td>
<td style="vertical-align: top; text-align: left"><bold>92,15</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,25</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,32</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,56</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,55</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>2PX</bold></td>
<td style="vertical-align: top; text-align: left">2,06</td>
<td style="vertical-align: top; text-align: left">2,23</td>
<td style="vertical-align: top; text-align: left">89,04</td>
<td style="vertical-align: top; text-align: left">88,99</td>
<td style="vertical-align: top; text-align: left">1,01</td>
<td style="vertical-align: top; text-align: left">1,03</td>
<td style="vertical-align: top; text-align: left">98,22</td>
<td style="vertical-align: top; text-align: left">98,53</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UX</bold></td>
<td style="vertical-align: top; text-align: left">2,60</td>
<td style="vertical-align: top; text-align: left">2,76</td>
<td style="vertical-align: top; text-align: left">86,17</td>
<td style="vertical-align: top; text-align: left">86,38</td>
<td style="vertical-align: top; text-align: left"><bold>0,30</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,34</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,48</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,51</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>QUX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,56</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,70</bold></td>
<td style="vertical-align: top; text-align: left"><bold>91,73</bold></td>
<td style="vertical-align: top; text-align: left"><bold>91,62</bold></td>
<td style="vertical-align: top; text-align: left">1,19</td>
<td style="vertical-align: top; text-align: left">1,24</td>
<td style="vertical-align: top; text-align: left">97,91</td>
<td style="vertical-align: top; text-align: left">98,23</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SX</bold></td>
<td style="vertical-align: top; text-align: left">1,97</td>
<td style="vertical-align: top; text-align: left">2,10</td>
<td style="vertical-align: top; text-align: left">89,56</td>
<td style="vertical-align: top; text-align: left">89,65</td>
<td style="vertical-align: top; text-align: left">1,24</td>
<td style="vertical-align: top; text-align: left">1,27</td>
<td style="vertical-align: top; text-align: left">97,82</td>
<td style="vertical-align: top; text-align: left">98,19</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>PMX</bold></td>
<td style="vertical-align: top; text-align: left">2,00</td>
<td style="vertical-align: top; text-align: left">2,20</td>
<td style="vertical-align: top; text-align: left">89,38</td>
<td style="vertical-align: top; text-align: left">89,14</td>
<td style="vertical-align: top; text-align: left">1,49</td>
<td style="vertical-align: top; text-align: left">1,52</td>
<td style="vertical-align: top; text-align: left">97,38</td>
<td style="vertical-align: top; text-align: left">97,83</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPX</bold></td>
<td style="vertical-align: top; text-align: left">1,78</td>
<td style="vertical-align: top; text-align: left">2,23</td>
<td style="vertical-align: top; text-align: left">90,53</td>
<td style="vertical-align: top; text-align: left">89,01</td>
<td style="vertical-align: top; text-align: left">0,78</td>
<td style="vertical-align: top; text-align: left">0,81</td>
<td style="vertical-align: top; text-align: left">98,63</td>
<td style="vertical-align: top; text-align: left">98,84</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>HSPX</bold></td>
<td style="vertical-align: top; text-align: left">3,53</td>
<td style="vertical-align: top; text-align: left">4,05</td>
<td style="vertical-align: top; text-align: left">81,25</td>
<td style="vertical-align: top; text-align: left">80,00</td>
<td style="vertical-align: top; text-align: left">1,84</td>
<td style="vertical-align: top; text-align: left">3,96</td>
<td style="vertical-align: top; text-align: left">96,77</td>
<td style="vertical-align: top; text-align: left">94,34</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>SPDX</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,37</bold></td>
<td style="vertical-align: top; text-align: left"><bold>1,46</bold></td>
<td style="vertical-align: top; text-align: left"><bold>93,27</bold></td>
<td style="vertical-align: top; text-align: left"><bold>93,18</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,21</bold></td>
<td style="vertical-align: top; text-align: left"><bold>0,29</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,61</bold></td>
<td style="vertical-align: top; text-align: left"><bold>99,58</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>CX</bold></td>
<td style="vertical-align: top; text-align: left">2,55</td>
<td style="vertical-align: top; text-align: left">2,85</td>
<td style="vertical-align: top; text-align: left">86,45</td>
<td style="vertical-align: top; text-align: left">85,93</td>
<td style="vertical-align: top; text-align: left">0,60</td>
<td style="vertical-align: top; text-align: left">0,68</td>
<td style="vertical-align: top; text-align: left">98,94</td>
<td style="vertical-align: top; text-align: left">99,03</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>COHX</bold></td>
<td style="vertical-align: top; text-align: left">2,13</td>
<td style="vertical-align: top; text-align: left">2,41</td>
<td style="vertical-align: top; text-align: left">88,68</td>
<td style="vertical-align: top; text-align: left">88,11</td>
<td style="vertical-align: top; text-align: left">0,67</td>
<td style="vertical-align: top; text-align: left">0,70</td>
<td style="vertical-align: top; text-align: left">98,82</td>
<td style="vertical-align: top; text-align: left">98,99</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>MPX</bold></td>
<td style="vertical-align: top; text-align: left">2,44</td>
<td style="vertical-align: top; text-align: left">2,52</td>
<td style="vertical-align: top; text-align: left">87,06</td>
<td style="vertical-align: top; text-align: left">87,57</td>
<td style="vertical-align: top; text-align: left">0,63</td>
<td style="vertical-align: top; text-align: left">0,64</td>
<td style="vertical-align: top; text-align: left">98,90</td>
<td style="vertical-align: top; text-align: left">99,08</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>UNIVX</bold></td>
<td style="vertical-align: top; text-align: left">1,58</td>
<td style="vertical-align: top; text-align: left">2,08</td>
<td style="vertical-align: top; text-align: left">91,60</td>
<td style="vertical-align: top; text-align: left">89,71</td>
<td style="vertical-align: top; text-align: left">1,46</td>
<td style="vertical-align: top; text-align: left">1,51</td>
<td style="vertical-align: top; text-align: left">97,44</td>
<td style="vertical-align: top; text-align: left">97,85</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>GT</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1,83</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2,10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">90,26</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">89,63</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,46</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0,48</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">99,20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">99,31</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_info1189_s_025">
<label>5</label>
<title>Concluding Remarks</title>
<p>In this paper, fifteen crossover operators for genetic algorithms were investigated. The investigation has been carried out on the quadratic assignment problem, which is a representative example of the challenging permutation-based combinatorial optimization problems.</p>
<p>We experimented with the point-based crossovers, uniform crossovers, shuffle crossover, partially-mapped crossover, swap-path crossovers, cycle crossover, cohesive crossover, multi-parent crossover, among others. In addition, we have introduced the enhanced swap-based crossover (swap-path descent crossover), in which the improvements of the values of the objective function are taken into consideration. Also, we propose the so-called universal crossover, which can be flexibly adapted to meet the requirements/requests of the algorithm’s user. Additionally, the gene translocation procedure is presented, in which many parents produce many children during each generation of the genetic algorithm.</p>
<p>We expect that the considered crossover procedures, along with the proposed new ones, will be beneficial for the solution of a wide class of optimization problems. Problem-oriented, heuristic crossover procedures seem to be a good alternative to canonical, general-purpose crossover operators. It also seems that the attention should be focused on the deterministic local search procedures, thereby capitalizing on the synergy of recombination (diversification) and intensification in genetic algorithms.</p>
</sec>
</body>
<back>
<ref-list id="j_info1189_reflist_001">
<title>References</title>
<ref id="j_info1189_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Abdoun</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Abouchabaka</surname>, <given-names>J.</given-names></string-name> (<year>2011</year>). <article-title>A comparative study of adaptive crossover operators for genetic algorithms to resolve the traveling salesman problem</article-title>. <source>International Journal of Computer Applications</source>, <volume>31</volume>, <fpage>49</fpage>–<lpage>57</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Ahuja</surname>, <given-names>R.K.</given-names></string-name>, <string-name><surname>Orlin</surname>, <given-names>J.B.</given-names></string-name>, <string-name><surname>Tiwari</surname>, <given-names>A.</given-names></string-name> (<year>2000</year>). <article-title>A greedy genetic algorithm for the quadratic assignment problem</article-title>. <source>Computers &amp; Operations Research</source>, <volume>27</volume>, <fpage>917</fpage>–<lpage>934</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Burkard</surname>, <given-names>R.E.</given-names></string-name>, <string-name><surname>Karisch</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Rendl</surname>, <given-names>F.</given-names></string-name> (<year>1997</year>). <article-title>QAPLIB – a quadratic assignment problem library</article-title>. <source>Journal of Global Optimization</source>, <volume>10</volume>, <fpage>391</fpage>–<lpage>403</lpage>. <comment>See also <ext-link ext-link-type="uri" xlink:href="http://anjos.mgi.polymtl.ca/qaplib/">http://anjos.mgi.polymtl.ca/qaplib/</ext-link></comment>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_004">
<mixed-citation publication-type="chapter"><string-name><surname>Caruana</surname>, <given-names>R.A.</given-names></string-name>, <string-name><surname>Eshelman</surname>, <given-names>L.A.</given-names></string-name>, <string-name><surname>Schaffer</surname>, <given-names>J.D.</given-names></string-name> (<year>1989</year>). <chapter-title>Representation and hidden bias II: eliminating defining length bias in genetic search via shuffle crossover</chapter-title>. In: <string-name><surname>Sridharan</surname>, <given-names>N.S.</given-names></string-name> (Ed.), <source>Proceedings of the Eleventh International Joint Conference on AI</source>, Vol. <volume>1</volume>. <publisher-name>Morgan Kaufmann</publisher-name>, <publisher-loc>San Mateo</publisher-loc>, pp. <fpage>750</fpage>–<lpage>755</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_005">
<mixed-citation publication-type="book"><string-name><surname>Çela</surname>, <given-names>E.</given-names></string-name> (<year>1998</year>). <source>The Quadratic Assignment Problem: Theory and Algorithms</source>. <publisher-name>Kluwer</publisher-name>, <publisher-loc>Dordrecht</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>De Jong</surname>, <given-names>K.A.</given-names></string-name>, <string-name><surname>Spears</surname>, <given-names>W.M.</given-names></string-name> (<year>1992</year>). <article-title>A formal analysis of the role of multi-point crossover in genetic algorithms</article-title>. <source>Annals of Mathematics and Artificial Intelligence</source>, <volume>5</volume>, <fpage>1</fpage>–<lpage>26</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Deb</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Agrawal</surname>, <given-names>R.B.</given-names></string-name> (<year>1995</year>). <article-title>Simulated binary crossover for continuous search space</article-title>. <source>Complex Systems</source>, <volume>9</volume>, <fpage>115</fpage>–<lpage>148</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Deep</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Thakur</surname>, <given-names>M.</given-names></string-name> (<year>2007</year>). <article-title>A new crossover operator for real coded genetic algorithms</article-title>. <source>Applied Mathematics and Computation</source>, <volume>188</volume>, <fpage>895</fpage>–<lpage>911</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Drezner</surname>, <given-names>Z.</given-names></string-name> (<year>2003</year>). <article-title>A new genetic algorithm for the quadratic assignment problem</article-title>. <source>INFORMS Journal on Computing</source>, <volume>15</volume>, <fpage>320</fpage>–<lpage>330</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_010">
<mixed-citation publication-type="chapter"><string-name><surname>Eiben</surname>, <given-names>A.E.</given-names></string-name>, <string-name><surname>Raue</surname>, <given-names>P.-E.</given-names></string-name>, <string-name><surname>Ruttkay</surname>, <given-names>Z.</given-names></string-name> (<year>1994</year>). <chapter-title>Genetic algorithms with multi-parent recombination. Parallel problem solving from nature – PPSN III</chapter-title>. In: <string-name><surname>Davidor</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Schwefel</surname>, <given-names>H.P.</given-names></string-name>, <string-name><surname>Männer</surname>, <given-names>R.</given-names></string-name> (Eds.), <source>International Conference on Evolutionary Computation, The Third Conference on Parallel Problem Solving from Nature, Proceedings</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>866</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin-Heidelberg</publisher-loc>, pp. <fpage>78</fpage>–<lpage>87</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_011">
<mixed-citation publication-type="book"><string-name><surname>Garey</surname>, <given-names>M.R.</given-names></string-name>, <string-name><surname>Johnson</surname>, <given-names>D.S.</given-names></string-name> (<year>1979</year>). <source>Computers and Intractability: A Guide to the Theory of NP-Completeness</source>. <publisher-name>Freeman</publisher-name>, <publisher-loc>San Francisco</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Glover</surname>, <given-names>F.</given-names></string-name> (<year>1994</year>). <article-title>Genetic algorithms and scatter search: unsuspected potential</article-title>. <source>Statistics and Computing</source>, <volume>4</volume>, <fpage>131</fpage>–<lpage>140</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_013">
<mixed-citation publication-type="book"><string-name><surname>Goldberg</surname>, <given-names>D.E.</given-names></string-name> (<year>1989</year>). <source>Genetic Algorithms in Search, Optimization and Machine Learning</source>. <publisher-name>Addison-Wesley</publisher-name>, <publisher-loc>Reading</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_014">
<mixed-citation publication-type="book"><string-name><surname>Goldberg</surname>, <given-names>D.E.</given-names></string-name> (<year>2002</year>). <source>The Design of Innovation: Lessons from and for Competent Genetic Algorithms</source>. <publisher-name>Kluwer</publisher-name>, <publisher-loc>Dordrecht-Norwell</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_015">
<mixed-citation publication-type="chapter"><string-name><surname>Goldberg</surname>, <given-names>D.E.</given-names></string-name>, <string-name><surname>Lingle</surname>, <given-names>R.</given-names></string-name> (<year>1985</year>). <chapter-title>Alleles, loci, and the traveling salesman problem</chapter-title>. In: <string-name><surname>Grefenstette</surname>, <given-names>J.J.</given-names></string-name> (Ed.), <source>Proceedings of the First International Conference on Genetic Algorithms and their Applications</source>. <publisher-name>Lowrence Erlbaum</publisher-name>, <publisher-loc>Hillsdale</publisher-loc>, pp. <fpage>154</fpage>–<lpage>159</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_016">
<mixed-citation publication-type="book"><string-name><surname>Heaton</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <source>Artificial Intelligence for Humans, Vol. 2: Nature-Inspired Algorithms</source>. <publisher-name>Heaton Research</publisher-name>, <publisher-loc>Chesterfield</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Herrera</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Lozano</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Sánchez</surname>, <given-names>A.M.</given-names></string-name> (<year>2003</year>). <article-title>A taxonomy for the crossover operator for real-coded genetic algorithms: an experimental study</article-title>. <source>International Journal of Intelligent Systems</source>, <volume>18</volume>, <fpage>309</fpage>–<lpage>338</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_018">
<mixed-citation publication-type="book"><string-name><surname>Holland</surname>, <given-names>J.H.</given-names></string-name> (<year>1975</year>). <source>Adaptation in Natural and Artificial Systems</source>. <publisher-name>University of Michigan Press</publisher-name>, <publisher-loc>Ann Arbor</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_019">
<mixed-citation publication-type="journal"><string-name><surname>Kaya</surname>, <given-names>M.</given-names></string-name> (<year>2011</year>). <article-title>The effects of two new crossover operators on genetic algorithm performance</article-title>. <source>Applied Soft Computing</source>, <volume>11</volume>, <fpage>881</fpage>–<lpage>890</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Maenhout</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Vanhoucke</surname>, <given-names>M.</given-names></string-name> (<year>2008</year>). <article-title>Comparison and hybridization of crossover operators for the nurse scheduling problem</article-title>. <source>Annals of Operations Research</source>, <volume>159</volume>, <fpage>333</fpage>–<lpage>353</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Magalhães-Mendes</surname>, <given-names>J.</given-names></string-name> (<year>2013</year>). <article-title>A comparative study of crossover operators for genetic algorithms to solve the job shop scheduling problem</article-title>. <source>WSEAS Transactions on Computers</source>, <volume>12</volume>, <fpage>164</fpage>–<lpage>173</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Misevičius</surname>, <given-names>A.</given-names></string-name> (<year>2006</year>). <article-title>Experiments with hybrid genetic algorithm for the grey pattern problem</article-title>. <source>Informatica</source>, <volume>17</volume>, <fpage>237</fpage>–<lpage>258</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Misevičius</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Blonskis</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Bukšnaitis</surname>, <given-names>V.</given-names></string-name> (<year>2005</year>). <article-title>Aspects of combinatorial optimization and genetic algorithms</article-title>. <source>Informacijos mokslai (Information Sciences)</source>, <volume>34</volume>, <fpage>307</fpage>–<lpage>314</lpage> <comment>(in Lithuanian)</comment>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_024">
<mixed-citation publication-type="chapter"><string-name><surname>Oliver</surname>, <given-names>I.M.</given-names></string-name>, <string-name><surname>Smith</surname>, <given-names>D.J.</given-names></string-name>, <string-name><surname>Holland</surname>, <given-names>J.H.</given-names></string-name> (<year>1987</year>). <chapter-title>A study of permutation crossover operators on the traveling salesman problem</chapter-title>. In: <string-name><surname>Grefenstette</surname>, <given-names>J.J.</given-names></string-name> (Ed.), <source>Genetic Algorithms and their Applications: Proceedings of the Second International Conference on Genetic Algorithms and their Applications</source>. <publisher-name>Lawrence Erlbaum</publisher-name>, <publisher-loc>Hillsdale</publisher-loc>, pp. <fpage>224</fpage>–<lpage>230</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Pavai</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Geetha</surname>, <given-names>T.V.</given-names></string-name> (<year>2017</year>). <article-title>A survey on crossover operators</article-title>. <source>ACM Computing Surveys</source>, <volume>49</volume>, <fpage>1</fpage>–<lpage>43</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_026">
<mixed-citation publication-type="book"><string-name><surname>Simon</surname>, <given-names>D.</given-names></string-name> (<year>2013</year>). <source>Evolutionary Optimization Algorithms. Biologically Inspired and Population-Based Approaches to Computer Intelligence</source>. <publisher-name>Wiley</publisher-name>, <publisher-loc>Hoboken</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_027">
<mixed-citation publication-type="book"><string-name><surname>Sivanandam</surname>, <given-names>S.N.</given-names></string-name>, <string-name><surname>Deepa</surname>, <given-names>S.N.</given-names></string-name> (<year>2008</year>). <source>Introduction to Genetic Algorithms</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Heidelberg, New York</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_028">
<mixed-citation publication-type="chapter"><string-name><surname>Syswerda</surname>, <given-names>G.</given-names></string-name> (<year>1989</year>). <chapter-title>Uniform crossover in genetic algorithms</chapter-title>. In: <string-name><surname>Schaffer</surname>, <given-names>J.D.</given-names></string-name> (Ed.), <source>Proceedings of the Third International Conference on Genetic Algorithms</source>. <publisher-name>Morgan Kaufmann</publisher-name>, <publisher-loc>San Mateo</publisher-loc>, pp. <fpage>2</fpage>–<lpage>9</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_029">
<mixed-citation publication-type="journal"><string-name><surname>Taillard</surname>, <given-names>E.</given-names></string-name> (<year>1991</year>). <article-title>Robust taboo search for the QAP</article-title>. <source>Parallel Computing</source>, <volume>17</volume>, <fpage>443</fpage>–<lpage>455</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_030">
<mixed-citation publication-type="journal"><string-name><surname>Taillard</surname>, <given-names>E.</given-names></string-name> (<year>1995</year>). <article-title>Comparison of iterative searches for the quadratic assignment problem</article-title>. <source>Location Science</source>, <volume>3</volume>, <fpage>87</fpage>–<lpage>105</lpage>.</mixed-citation>
</ref>
<ref id="j_info1189_ref_031">
<mixed-citation publication-type="journal"><string-name><surname>Umbarkar</surname>, <given-names>A.J.</given-names></string-name>, <string-name><surname>Sheth</surname>, <given-names>P.D.</given-names></string-name> (<year>2015</year>). <article-title>Crossover operators in genetic algorithms: a review</article-title>. <source>ICTACT Journal on Soft Computing</source>, <volume>6</volume>, <fpage>1083</fpage>–<lpage>1092</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>