<?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">INFOR432</article-id>
<article-id pub-id-type="doi">10.15388/20-INFOR432</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>A Parallel Algorithm for Solving a Two-Stage Fixed-Charge Transportation Problem</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Cosma</surname><given-names>Ovidiu</given-names></name><email xlink:href="ovidiu.cosma@cunbm.utcluj.ro">ovidiu.cosma@cunbm.utcluj.ro</email><xref ref-type="aff" rid="j_infor432_aff_001">1</xref><bio>
<p><bold>O. Cosma</bold> received the BS degree in automatic control and computer science and the PhD degree in automatic control from Politehnica University, Bucharest, Romania, in 1986 and 2004, respectively. From 1986 to 1992, he was an analyst programmer with the Electronic Computing Center, Baia Mare. In 1992, he began his activity as assistant professor with North University, Baia Mare. He is currently an associate professor with the Technical University of Cluj-Napoca, the North University Center, Baia Mare. His research interests include optimization algorithms, image processing, and programming languages. He has authored six books, more than 50 research articles, and two inventions.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Pop</surname><given-names>Petrică C.</given-names></name><email xlink:href="petrica.pop@cunbm.utcluj.ro">petrica.pop@cunbm.utcluj.ro</email><xref ref-type="aff" rid="j_infor432_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>P.C. Pop</bold> received the BS degree in mathematics from the Babes-Bolyai University of Cluj-Napoca, Romania, the MS and PhD degrees in operations research from the University of Twente, The Netherlands, and the Habilitation degree in informatics from the Babes-Bolyai University of Cluj-Napoca. He currently serves as a Professor with the Department of Mathematics and Computer Science, Technical University of Cluj-Napoca, the North University Center, Baia Mare. He wrote more than 130 papers from which more than 100 appeared in ISI journals, ISI proceedings, and international journals. His research interests include combinatorial optimization, mathematical modelling, artificial intelligence, and operations research. Several research stays have taken him to Italy, UK, Japan, France, Austria, Greece, The Netherlands, Spain, and Canada.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Dănciulescu</surname><given-names>Daniela</given-names></name><email xlink:href="dana.danciulescu@ucv.ro">dana.danciulescu@ucv.ro</email><xref ref-type="aff" rid="j_infor432_aff_002">2</xref><bio>
<p><bold>D. Dănciulescu</bold> received the BS degree in informatics from the University of Craiova in 1994, the BS degree in accounting and management informatics, in 2009, the MS degree in management, in 2011, the PhD degree in cybernetics and economic statistics from the Faculty of Economic Sciences, University of Craiova, in 2003, the second PhD degree in computer science from the West University of Timişoara, in 2015, and the habilitation degree in economic informatics from the A. I. Cuza University of Iaşi, in 2018. She is currently an associate professor with the University of Craiova. She has authored a monograph, eight course books for students and over 80 papers in peer-reviewed journals, out of which 18 ISI papers and papers in ISI or conference proceedings indexed in well-known international databases.</p></bio>
</contrib>
<aff id="j_infor432_aff_001"><label>1</label>Department of Mathematics and Informatics, <institution>Technical University of Cluj-Napoca, North University Center of Baia Mare</institution>, <country>Romania</country></aff>
<aff id="j_infor432_aff_002"><label>2</label>Department of Computer Science, <institution>University of Craiova</institution>, <country>Romania</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2020</year></pub-date>
<pub-date pub-type="epub"><day>15</day><month>10</month><year>2020</year></pub-date>
<volume>31</volume><issue>4</issue><fpage>681</fpage><lpage>706</lpage>
<history>
<date date-type="received"><month>9</month><year>2019</year></date>
<date date-type="accepted"><month>9</month><year>2020</year></date>
</history>
<permissions><copyright-statement>© 2020 Vilnius University</copyright-statement><copyright-year>2020</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>This paper deals with the two-stage transportation problem with fixed charges, denoted by TSTPFC. We propose a fast solving method, designed for parallel environments, that allows solving real-world applications efficiently. The proposed constructive heuristic algorithm is iterative and its primary feature is that the solution search domain is reduced at each iteration. Our achieved computational results were compared with those of the existing solution approaches. We tested the method on two sets of instances available in literature. The outputs prove that we have identified a very competitive approach as compared to the methods than one can find in literature.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>parallel computing</kwd>
<kwd>heuristic algorithms</kwd>
<kwd>transportation system design</kwd>
<kwd>two-stage fixed-charge transportation problem</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_infor432_s_001">
<label>1</label>
<title>Introduction</title>
<p>When looking at the definition of supply chains (SCs), we find the commonly accepted variant: they are considered worldwide networks in which the actors are suppliers, manufacturers, distribution centres (DCs), retailers and customers. The typical SC performs several functions; these are: the purchase and processing of raw materials, and their subsequent conversion into intermediary and finished manufactured goods, along with the delivery of the goods to the customers. The major goal of this entire operation is the satisfaction of the customers’ needs and wants.</p>
<p>A particular SC network design problem is the focus of this paper, more specifically, the two-stage transportation problem with fixed charges for opening the distribution centres. This is a modelling problem for a distribution network in a supply chain that is described as two-stage. This two-stage supply chain network design problem includes manufacturers, DCs and customers and its primary feature resides in the fact that for the opening of distribution centres there exist fixed charges added to the variable costs of transportation, that are proportionate to the quantity of goods delivered. The aim of the envisaged optimization problem is to determine which DCs should be opened and to pinpoint and choose the shipping routes, starting from the manufacturers and passing through the picked DCs to reach the customers, and to satisfy all the capacity restrictions at manufacturers and DCs so as to meet the customers’ specific demands, minimizing the total costs of distribution. The problem with this design was considered first by Gen <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_007">2006</xref>). For a survey on the fixed-charge transportation problem and its variants we refer to Buson <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_001">2014</xref>), Cosma <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_006">2018</xref>, <xref ref-type="bibr" rid="j_infor432_ref_004">2019</xref>, <xref ref-type="bibr" rid="j_infor432_ref_005">2020</xref>), Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_003">2018</xref>), Pirkul and Jayaraman (<xref ref-type="bibr" rid="j_infor432_ref_011">1998</xref>), Pop <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_012">2016</xref>, <xref ref-type="bibr" rid="j_infor432_ref_013">2017</xref>), etc.</p>
<p>The variant addressed within the current paper envisages a TSTPFC for opening the DCs, as presented by Gen <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_007">2006</xref>). The same problem was also considered by Raj and Rajendran (<xref ref-type="bibr" rid="j_infor432_ref_014">2012</xref>). The authors of the two specified papers developed GAs that build, firstly, a distribution tree for the distribution network that links the DCs to customers, and secondly, a distribution tree for the distribution network that links the manufacturers to DCs. In both GAs, the chromosome contains two parts, each encoding one of the distribution trees. Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>) designed an innovative hybrid genetic algorithm, whose principal characteristic is the employment of a distinct chromosome representation that offers information on the DCs employed within the transportation system. Lately, Cosma <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_004">2019</xref>) described an effective solution approach that is based on progresively shrinking the solutions search domain. In order to avoid the loss of quality solutions, a mechanism of perturbations was created, which reconsiders the feasible solutions that were discarded, and which might eventually lead to the optimal solution.</p>
<p>The investigated TSTPFC for opening the DCs is an <italic>NP</italic>-hard optimization problem because it expands the classical fixed charge transportation problem, which is known to be <italic>NP</italic>-hard, for more information see Guisewite and Pardalos (<xref ref-type="bibr" rid="j_infor432_ref_008">1990</xref>). That is why we describe an efficient parallel heuristic algorithm.</p>
<p>Parallel computing seeks to exploit the availability of several CPU cores which can operate simultaneously. For more information on parallel computing we refer to Trobec <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_015">2018</xref>).</p>
<p>In this paper, we aim to illustrate an innovative parallel implementation of the Shrinking Domain Search (SDS) algorithm described in Cosma <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_004">2019</xref>), that is dealing with the TSTPFC for opening the DCs. Our constructive heuristic approach is called Parallel Shrinking Domain Search and its principal features are the reduction of the solutions search domain to a reasonably sized subdomain by taking into account a perturbation mechanism which permits us to reevaluate abandoned feasible solutions whose outcome could be optimal or sub-optimal solutions and its parallel implementation that allows us to solve real-world applications in reasonable computational time. The proposed solution approach was implemented and tested on the existing benchmark instances from the literature.</p>
<p>The paper is organized as follows: in Section <xref rid="j_infor432_s_002">2</xref>, we define the investigated TSTPFC for opening the DCs. In Section <xref rid="j_infor432_s_003">3</xref> we describe the novel solution approach for solving the problem, designed for parallel environments. In Section <xref rid="j_infor432_s_004">4</xref> we present implementation details and in Section <xref rid="j_infor432_s_005">5</xref> we describe and discuss the computational experiments and our achieved results. Finally, the conclusions are depicted in Section <xref rid="j_infor432_s_006">6</xref>.</p>
</sec>
<sec id="j_infor432_s_002">
<label>2</label>
<title>Definition of the Problem</title>
<p>In order to define and model the TSTPFC for opening the DCs we consider a tripartite directed graph <inline-formula id="j_infor432_ineq_001"><alternatives>
<mml:math><mml:mi mathvariant="italic">G</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$G=(V,A)$]]></tex-math></alternatives></inline-formula>, that consists of a set of vertices <inline-formula id="j_infor432_ineq_002"><alternatives>
<mml:math><mml:mi mathvariant="italic">V</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$V={V_{1}}\cup {V_{2}}\cup {V_{3}}$]]></tex-math></alternatives></inline-formula> and a set of arcs <inline-formula id="j_infor432_ineq_003"><alternatives>
<mml:math><mml:mi mathvariant="italic">A</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$A={A_{1}}\cup {A_{2}}$]]></tex-math></alternatives></inline-formula> defined as follows: 
<disp-formula id="j_infor432_eq_001">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">A</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="0.1667em"/><mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mspace width="2.5pt"/><mml:mtext>and</mml:mtext><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo><mml:mspace width="1em"/><mml:mtext>and</mml:mtext><mml:mspace width="1em"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">A</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="0.1667em"/><mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="2.5pt"/><mml:mtext>and</mml:mtext><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {A_{1}}=\big\{(i,j)\hspace{0.1667em}\big|\hspace{0.1667em}i\in {V_{1}}\hspace{2.5pt}\text{and}\hspace{2.5pt}j\in {V_{2}}\big\}\hspace{1em}\text{and}\hspace{1em}{A_{2}}=\big\{(j,k)\hspace{0.1667em}\big|\hspace{0.1667em}j\in {V_{2}}\hspace{2.5pt}\text{and}\hspace{2.5pt}k\in {V_{3}}\big\}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The entire set of vertices <italic>V</italic> is divided into three mutually exclusive sets corresponding to the set of manufacturers denoted by <inline-formula id="j_infor432_ineq_004"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${V_{1}}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor432_ineq_005"><alternatives>
<mml:math><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:math>
<tex-math><![CDATA[$|{V_{1}}|=p$]]></tex-math></alternatives></inline-formula>, the set of distribution centres denoted by <inline-formula id="j_infor432_ineq_006"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${V_{2}}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor432_ineq_007"><alternatives>
<mml:math><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:math>
<tex-math><![CDATA[$|{V_{2}}|=q$]]></tex-math></alternatives></inline-formula> and the set of customers denoted by <inline-formula id="j_infor432_ineq_008"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${V_{3}}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor432_ineq_009"><alternatives>
<mml:math><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">r</mml:mi></mml:math>
<tex-math><![CDATA[$|{V_{3}}|=r$]]></tex-math></alternatives></inline-formula>.</p>
<p>In addition, we suppose that: 
<list>
<list-item id="j_infor432_li_001">
<label>•</label>
<p>Every manufacturer <inline-formula id="j_infor432_ineq_010"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$i\in {V_{1}}$]]></tex-math></alternatives></inline-formula> has <inline-formula id="j_infor432_ineq_011"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{i}}$]]></tex-math></alternatives></inline-formula> units of supply, every DC <inline-formula id="j_infor432_ineq_012"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$j\in {V_{2}}$]]></tex-math></alternatives></inline-formula> has a given capacity <inline-formula id="j_infor432_ineq_013"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{j}}$]]></tex-math></alternatives></inline-formula>, each customer <inline-formula id="j_infor432_ineq_014"><alternatives>
<mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$k\in {V_{3}}$]]></tex-math></alternatives></inline-formula> has a demand <inline-formula id="j_infor432_ineq_015"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${D_{k}}$]]></tex-math></alternatives></inline-formula> and the total number of units received by DC <inline-formula id="j_infor432_ineq_016"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$j,j\in {V_{2}}$]]></tex-math></alternatives></inline-formula> from manufacturers and sent from DC <italic>j</italic> to customers is denoted by <inline-formula id="j_infor432_ineq_017"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${d_{j}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor432_li_002">
<label>•</label>
<p>Every manufacturer may transport to any of the <italic>q</italic> DCs at a transportation cost <inline-formula id="j_infor432_ineq_018"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</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[${b_{ij}}$]]></tex-math></alternatives></inline-formula> per unit from manufacturer <inline-formula id="j_infor432_ineq_019"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$i\in {V_{1}}$]]></tex-math></alternatives></inline-formula>, to DC <inline-formula id="j_infor432_ineq_020"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$j\in {V_{2}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor432_li_003">
<label>•</label>
<p>Every DC may transport to any of the <italic>r</italic> customers at a transportation cost <inline-formula id="j_infor432_ineq_021"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${c_{jk}}$]]></tex-math></alternatives></inline-formula> per unit from DC <inline-formula id="j_infor432_ineq_022"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$j\in {V_{2}}$]]></tex-math></alternatives></inline-formula>, to customer <inline-formula id="j_infor432_ineq_023"><alternatives>
<mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$k\in {V_{3}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_infor432_li_004">
<label>•</label>
<p>In order to open any of the DCs we have to pay a given fixed charge, denoted by <inline-formula id="j_infor432_ineq_024"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{j}}$]]></tex-math></alternatives></inline-formula> and there exists a limitation on the number of the DCs that are permitted to be opened, denoted by <italic>w</italic>.</p>
</list-item>
</list> 
The goal of the investigated TSTPFC for opening the DCs is to select the DCs, the shipping routes and corresponding transported quantities on these routes, so that the customer demands are satisfied, all the transportation restrictions are fulfilled, and the total transportation costs are minimized.</p>
<p>In Fig. <xref rid="j_infor432_fig_001">1</xref> we present the investigated TSTPFC for opening the DCs.</p>
<fig id="j_infor432_fig_001">
<label>Fig. 1</label>
<caption>
<p>Illustration of the considered TSTPFC for opening the DCs.</p>
</caption>
<graphic xlink:href="infor432_g001.jpg"/>
</fig>
<p>In order to provide the mathematical formulation of the investigated transportation problem with fixed charges, we consider the following decision variables: the binary variables <inline-formula id="j_infor432_ineq_025"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><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[${v_{j}}\in \{0,1\}$]]></tex-math></alternatives></inline-formula> that indicate if DC <italic>j</italic> has been opened and the linear variables <inline-formula id="j_infor432_ineq_026"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</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:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${x_{ij}}\geqslant 0$]]></tex-math></alternatives></inline-formula> representing the amount of units have been transported from manufacturer <italic>i</italic> to DC <italic>j</italic> and <inline-formula id="j_infor432_ineq_027"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${y_{jk}}\geqslant 0$]]></tex-math></alternatives></inline-formula> representing the amount of units have been shipped from DC <italic>j</italic> to customer <italic>k</italic>.</p>
<p>Then the TSTPFC for opening the distribution centres can be formulated as the following mixed integer problem, proposed by Raj and Rajendran (<xref ref-type="bibr" rid="j_infor432_ref_014">2012</xref>): <disp-formula-group id="j_infor432_dg_001">
<disp-formula id="j_infor432_eq_002">
<label>(1)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:mo movablelimits="false">min</mml:mo></mml:mtd><mml:mtd class="align-even">
<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">p</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">q</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</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">x</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: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">q</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">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><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">j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"><mml:mtext>s.t.</mml:mtext></mml:mtd><mml:mtd class="align-even">
<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">q</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</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:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}\min & {\sum \limits_{i=1}^{p}}{\sum \limits_{j=1}^{q}}{b_{ij}}{x_{ij}}+{\sum \limits_{j=1}^{q}}{\sum \limits_{k=1}^{r}}{c_{jk}}{y_{jk}}+{\sum \limits_{j=1}^{q}}{v_{j}}{f_{j}}\\ {} \text{s.t.}& {\sum \limits_{j=1}^{q}}{x_{ij}}\leqslant {S_{i}},\hspace{1em}\forall \hspace{0.1667em}i\in {V_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor432_eq_003">
<label>(2)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even">
<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">q</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {\sum \limits_{j=1}^{q}}{y_{jk}}={D_{k}},\hspace{1em}\forall \hspace{0.1667em}k\in {V_{3}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor432_eq_004">
<label>(3)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even">
<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">p</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</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: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">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {\sum \limits_{i=1}^{p}}{x_{ij}}={\sum \limits_{k=1}^{r}}{y_{jk}}\leqslant {T_{j}},\hspace{1em}\forall \hspace{0.1667em}j\in {V_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor432_eq_005">
<label>(4)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even">
<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">q</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {\sum \limits_{j=1}^{q}}{v_{j}}\leqslant w,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor432_eq_006">
<label>(5)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</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:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {S_{i}}{v_{j}}\geqslant {x_{ij}}\geqslant 0,\hspace{1em}\forall \hspace{0.1667em}i\in {V_{1}},\forall \hspace{0.1667em}j\in {V_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor432_eq_007">
<label>(6)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</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:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {D_{k}}{v_{j}}\geqslant {y_{jk}}\geqslant 0,\hspace{1em}\forall \hspace{0.1667em}j\in {V_{2}},\forall \hspace{0.1667em}k\in {V_{3}}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
<p>In order to have a nonempty solution set we make the following suppositions: <disp-formula-group id="j_infor432_dg_002">
<disp-formula id="j_infor432_eq_008">
<label>(7)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even">
<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">p</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><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">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {\sum \limits_{i=1}^{p}}{S_{i}}\geqslant {\sum \limits_{k=1}^{r}}{D_{k}},\hspace{1em}\forall \hspace{0.1667em}k\in {V_{3}},\hspace{2.5pt}\forall \hspace{0.1667em}i\in {V_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor432_eq_009">
<label>(8)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even">
<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">q</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><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">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {\sum \limits_{j=1}^{q}}{T_{j}}\geqslant {\sum \limits_{k=1}^{r}}{D_{k}},\hspace{1em}\forall \hspace{0.1667em}k\in {V_{3}},\hspace{2.5pt}\forall \hspace{0.1667em}j\in {V_{2}}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> The aim of the investigated problem is to minimize the total transportation costs, therefore the objective function has three terms associated to the transportation costs between manufacturers and distribution centres, between depots distribution centres and customers and the costs of opening the DCs, respectively. Constraints (<xref rid="j_infor432_eq_002">1</xref>) guarantee that the capacity of the manufacturers is not exceeded, while constraints (<xref rid="j_infor432_eq_003">2</xref>) ensure that the total shipment received from DCs by each customer satisfies its demand. Restrictions (<xref rid="j_infor432_eq_004">3</xref>) are the flow conservation conditions and they guarantee that the units received by a DC from manufacturers are equal to the units shipped from the distribution centres to the customers and as well ensure that the capacity of the DCs is not exceeded. Constraint (<xref rid="j_infor432_eq_005">4</xref>) limits the number of distribution centres that can be opened and the last three constraints ensure the integrality and non-negativity of the decision variables.</p>
</sec>
<sec id="j_infor432_s_003">
<label>3</label>
<title>Description of the Parallel SDS Algorithm</title>
<p>The difficulty of the investigated transportation problem lies in the large number of feasible solutions, from which the optimal option should be chosen. Because each used DC adds a certain cost to the objective function, the fundamental decision of the algorithm is related to the distribution centres that should be used in order to optimize the total distribution costs. Thus, the operations of the algorithm can be separated into the following steps: 
<list>
<list-item id="j_infor432_li_005">
<label>S1:</label>
<p>Choosing a set of promising distribution centres.</p>
</list-item>
<list-item id="j_infor432_li_006">
<label>S2:</label>
<p>Solving an optimization subproblem in which only the DCs in the chosen set are used.</p>
</list-item>
</list> 
Each iteration of the PSDS algorithm involves one or more operations. The set of DCs that are used in the optimal solution is called the <italic>best set</italic>.</p>
<p>At the initialization of the algorithm, the number of DCs in the optimal set (<italic>DCno</italic>) will be estimated based on the minimum capacity of the DCs and the total customer demand. This estimate will be permanently updated throughout the algorithm. If the distribution system has <italic>q</italic> DCs, then the optimum set search domain has <inline-formula id="j_infor432_ineq_028"><alternatives>
<mml:math><mml:mfenced separators="" open="(" close=")"><mml:mfrac linethickness="0"><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">DCno</mml:mtext></mml:mrow></mml:mfrac></mml:mfenced></mml:math>
<tex-math><![CDATA[$\left(\genfrac{}{}{0pt}{}{q}{\textit{DCno}}\right)$]]></tex-math></alternatives></inline-formula> elements. Evaluating each set involves solving the S2 subproblem. For large systems, it is not possible to evaluate all these variants. We will refer to the number of DCs in a set by the <italic>set type</italic> and to the cost of the distribution solution obtained by solving subproblem S2 through the <italic>set cost</italic>.</p>
<p>The proposed Parallel Shrinking Domain Search algorithm (PSDS) is an iterative algorithm that applies the following strategy: at each iteration, a fixed number of sets of the search domain will be evaluated, after which the search domain for the next iteration will be reduced. As the search domains narrow down, they will be explored at more detail. In the last iterations, the search domains can be explored exhaustively because they will contain fewer elements than the number settled for evaluation. The algorithm ends when a single set exists in the search domain. In order to avoid losing the optimal solution in the domain search reduction and for <italic>DCno</italic> estimate adjustment, a perturbation mechanism has been created to reconsider some sets outside the search domain. The search strategy of the PSDS algorithm is shown in Fig. <xref rid="j_infor432_fig_002">2</xref>.</p>
<fig id="j_infor432_fig_002">
<label>Fig. 2</label>
<caption>
<p>The search strategy of the Parallel Shrinking Domain Search algorithm.</p>
</caption>
<graphic xlink:href="infor432_g002.jpg"/>
</fig>
<p>The solution-building process is relatively expensive because it requires a large number of operations and the problem is even more complex as the size of the distribution system is larger. The performance of the algorithm has been improved by building solutions in parallel. For this purpose, the Java Fork and Join framework has been used.</p>
<p>In Fig. <xref rid="j_infor432_fig_003">3</xref>, we illustrate the operating principle of the proposed PSDS algorithm.</p>
<fig id="j_infor432_fig_003">
<label>Fig. 3</label>
<caption>
<p>Our iterative Parallel Shrinking Domain Search algorithm.</p>
</caption>
<graphic xlink:href="infor432_g003.jpg"/>
</fig>
<p>The parallel shrinking domain algorithm maintains the following set of lists:</p>
<list>
<list-item id="j_infor432_li_007">
<label>•</label>
<p><italic>Good DCs</italic> – contains the promising DCs, based on which the sets within the search domain will be generated at every iteration. This list contains the features of surviving sets;</p>
</list-item>
<list-item id="j_infor432_li_008">
<label>•</label>
<p><italic>Bad DCs</italic> – a list of disadvantageous DCs that is necessary for the implementation of the perturbation operation, and to correct the <italic>DCno</italic> estimation;</p>
</list-item>
<list-item id="j_infor432_li_009">
<label>•</label>
<p><italic>Good sets</italic> – a list that preserves the best performing sets discovered during the execution of the algorithm. This list has a fixed number of items representing the surviving sets. The sets found at the beginning of this list, contain only good DCs. In the remaining of this document, they will be called <italic>Best sets</italic>;</p>
</list-item>
<list-item id="j_infor432_li_010">
<label>•</label>
<p><italic>Sets for evaluation</italic> – a list of prepared sets for evaluation representing the sets from next generation of sets;</p>
</list-item>
<list-item id="j_infor432_li_011">
<label>•</label>
<p><italic>Sets types</italic> – a list that contains a quality estimation of all types of sets found in the <italic>Best sets</italic> list. This is a list of structures {type, quality};</p>
</list-item>
<list-item id="j_infor432_li_012">
<label>•</label>
<p><italic>All sets</italic> – a hash set containing every set created and placed in the <italic>Sets for evaluation</italic> list during the execution of the algorithm.</p>
</list-item>
</list>
<p>At the initialization of the algorithm, the optimal set type (<italic>DCno</italic>) is estimated and all available DCs are added to the <italic>Bad DCs</italic> list. Then the <italic>Good Sets</italic> list, the <italic>Sets for evaluation</italic> list and the <italic>All sets</italic> hash set are constructed and a single item of <italic>DCno</italic> type and <inline-formula id="j_infor432_ineq_029"><alternatives>
<mml:math><mml:mtext mathvariant="italic">quality</mml:mtext><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$\textit{quality}=1$]]></tex-math></alternatives></inline-formula> is added to the <italic>Sets Types</italic> list. Next, a <italic>Thread Pool</italic> is created with a number of Worker Threads equal to the number of CPU logic processors. For performance comparison, experiments with fewer threads were also performed. The worker threads will be enabled at each iteration by creating a <italic>Recursive Evaluator task</italic> that will be sent to the <italic>Thread Pool</italic> for parallel evaluation of the sets in the <italic>Sets for evaluation</italic> list.</p>
<p>Every iteration of the proposed algorithm executes in sequence the four main blocks presented in Fig. <xref rid="j_infor432_fig_003">3</xref>: <italic>Generation</italic>, <italic>Evaluation</italic>, <italic>Selection</italic> and <italic>Classification</italic>. The first block prepares the sets to be evaluated, the second one deals with the evaluation of the sets, and the last two handle the results. From the point of view of complexity, the first and the last two blocks are negligible in relation to the second. The efficiency of the algorithm has been significantly improved by parallel implementation of the processing in the <italic>Evaluation</italic> block.</p>
<p>The <italic>Generation</italic> block contains three types of generators for feeding the <italic>Sets for evaluation</italic> list. All the sets created during the algorithm are kept in a hash set <italic>All Sets</italic>. Thus, each duplicate can be detected and removed easily. Such a mechanism could be implemented because the total number of sets is relatively small. The optimization process ends after a very small number of iterations. The total number of sets generated during the execution of the algorithm is relatively small. Due to this property, the PSDS algorithm can be applied for solving large instances of the problem.</p>
<p>The first generator type creates a fixed number of sets by picking at random DCs from the <italic>Good DCs</italic> list. The types of the created sets are retrieved from the <italic>Best types</italic> list. For each type present in this list, a number of sets proportional to the quality of the type are generated. The quality of the type is determined by the <italic>Classification</italic> block.</p>
<p>The second generator type creates perturbations by inserting “bad” distribution centres taken from the <italic>Bad DCs</italic> list in the good sets from the <italic>Good sets</italic> list. This operation is essential for our optimization process: there could be distribution centres erroneously categorized by the <italic>Classification</italic> module, because they were found only in sets composed mainly by “bad” distribution centres. Due to the perturbation mechanism, at each iteration these sets get an opportunity to return to the <italic>Good DCs</italic> list. This mechanism creates a new set for each “bad” distribution centre in the <italic>Bad DCs</italic> list, by changing one element of a set taken from the <italic>Good sets</italic> list. The <italic>Good sets</italic> list is processed in the order given by the cost of the corresponding distribution solutions. This attempts to place each “bad” distribution centre into the best possible set.</p>
<p>Another key operation is the update of the <italic>DCno</italic> estimation. For this purpose, both larger and smaller sets than those existing in the <italic>Best sets</italic> list will be created by the third generator type. For creating larger sets, each “bad” distribution centre is added to the best possible set from the <italic>Best sets</italic> list. The smaller sets are generated by cloning sets from the <italic>Best sets</italic> list and randomly deleting one of their elements.</p>
<p>The <italic>Evaluation</italic> block has the role of evaluating the sets from the <italic>Sets for evaluation</italic> list. For this purpose, a <italic>Recursive Evaluator</italic> task is created, which is sent to the <italic>Thread Pool</italic> for execution.</p>
<p>The operation of this task is shown in Fig. <xref rid="j_infor432_fig_004">4</xref>. The <italic>Recursive Evaluator</italic> task divides the <italic>Sets for evaluation</italic> list into two equal parts, then creates two sub-tasks (<italic>ST</italic>) to evaluate the two halves. When the number of items a task has to evaluate drops below a certain threshold, a <italic>Final Task</italic> (<italic>FT</italic>) is created that will be executed by one of the <italic>Worker Threads</italic>. For the results presented in this article, a threshold of 10 was used. The algorithm by which each set is evaluated by a <italic>FT</italic> will be presented at the end of this section.</p>
<fig id="j_infor432_fig_004">
<label>Fig. 4</label>
<caption>
<p>The operation of the <italic>Recursive Evaluator</italic> task.</p>
</caption>
<graphic xlink:href="infor432_g004.jpg"/>
</fig>
<p>The <italic>Selection</italic> and <italic>Classification</italic> blocks are triggered when all the worker threads have ended. The <italic>Selection</italic> module takes all the sets in the <italic>Sets for evaluation</italic> list that are better than the last element in the <italic>Good sets</italic> list and moves them to that list. Next, the <italic>Good sets</italic> list is sorted by the set costs and only the best elements are kept, so that its size stays constant. Then the <italic>Sets for evaluation</italic> list is cleared to make room for the next generation of sets.</p>
<p>The <italic>Classification</italic> block uses the information in the <italic>Good sets</italic> list for updating the <italic>Good DCs</italic> and <italic>Bad DCs</italic> lists. The <italic>Good sets</italic> list is traversed based on the cost order. The first distribution centres found in the <italic>Good sets</italic> elements are added to the <italic>Good DCs</italic> list, and the remaining ones form the <italic>Bad DCs</italic> list. The number of sets selected to form the <italic>Good sets</italic> list decreases each time. Due to this, the PSDS algorithm ends after a small number of iterations.</p>
<p>The <italic>Classification</italic> block estimates the quality of the set types in the <italic>Best sets</italic> list and places the result in the <italic>Sets types</italic> list. The quality of each set type is estimated based on the number of items of that type found in the <italic>Best sets</italic> list and the positions of those items in the list.</p>
<p>The DC set evaluation operation is presented in Fig. <xref rid="j_infor432_fig_005">5</xref>.</p>
<fig id="j_infor432_fig_005">
<label>Fig. 5</label>
<caption>
<p>The DC set evaluation operation.</p>
</caption>
<graphic xlink:href="infor432_g005.jpg"/>
</fig>
<p>The relatively bulky data structure representing the characteristics of the distribution system (the unit costs <inline-formula id="j_infor432_ineq_030"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</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[${b_{ij}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor432_ineq_031"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${c_{jk}}$]]></tex-math></alternatives></inline-formula>), the fixed costs (<inline-formula id="j_infor432_ineq_032"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{j}}$]]></tex-math></alternatives></inline-formula>), the demands of the customers (<italic>Dk</italic>) and the manufacturers and distribution centers capacities (<inline-formula id="j_infor432_ineq_033"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor432_ineq_034"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{j}}$]]></tex-math></alternatives></inline-formula>) is static, so it will not be copied at the creation of each task. Because this data is shared by all the final tasks running in paralel, it must remain unchanged. For the construction of each distribution solution, two small lists (<italic>used DCs list</italic> and <italic>used Ms list</italic>) will be constructed by the final task, in which the quantities to be delivered by the DCs and manufacturers used in the solution will be kept.</p>
<p>Each solution is constructed in <italic>r</italic> stages. At each stage the best supply variant for one customer is searched for. Every decision taken in this stage will affect all decisions to be taken in the next stages, as certain transport links might be opened and some of the capacities of manufacturers and distribution centres will be consumed.</p>
<p>Each customer demand is resolved in one or a few stages. At every stage, the cheapest Manufacturer – Dictribution Centre – Customer supply route is sought by the <italic>Find Route</italic> module, that performs a greedy search. The cost of a route depends on the amount of transported goods, the unit costs of the transport lines and the fixed costs of the transport lines that have not been opened previously. If the found route can not ensure the entire demand of the customer, because of the limited capacities of the distribution centres and manufacturers, then an extra stage is added for the remaining quantity.</p>
<p>The <italic>Supply</italic> module only uses the two local lists as storage area and updates the total unit costs corresponding to the distribution solution. The last operations of the <italic>Supply</italic> module is the removal of the unused distribution centres from the evaluated set, and the addition of the remaining distribution centres fixed costs to the final cost of the set.</p>
</sec>
<sec id="j_infor432_s_004">
<label>4</label>
<title>Implementation Details</title>
<p>In the description of our algorithm we will use the following abbreviations:</p>
<table-wrap id="j_infor432_tab_001">
<table>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>Zbest</italic></td>
<td style="vertical-align: top; text-align: left">the cost of the best distribution solution;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>Zworst</italic></td>
<td style="vertical-align: top; text-align: left">the cost of the distribution solution corresponding to the last of the <italic>Good sets</italic>;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>Zs</italic></td>
<td style="vertical-align: top; text-align: left">the cost of the distribution solution corresponding to set <italic>s</italic>;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>totalQuality</italic></td>
<td style="vertical-align: top; text-align: left">sum of the qualities of all types in the <italic>Sets types</italic> list;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>sType</italic></td>
<td style="vertical-align: top; text-align: left">the type of set <italic>s</italic>;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>totalSets</italic></td>
<td style="vertical-align: top; text-align: left">the number of sets kept in the <italic>Good sets</italic> list after each iteration;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>bestSetsNo</italic></td>
<td style="vertical-align: top; text-align: left">the number of items in the <italic>Best sets</italic> list;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>goodPercent</italic></td>
<td style="vertical-align: top; text-align: left">the percentage of the total number of distribution centres that are placed in the <italic>Good DCs</italic> list;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>goodDCsNo</italic></td>
<td style="vertical-align: top; text-align: left">the number of items in the <italic>Good DCs</italic> list;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>speed</italic></td>
<td style="vertical-align: top; text-align: left">the rate of decreasing the <italic>goodPercent</italic>;</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>AllDCs</italic></td>
<td style="vertical-align: top; text-align: left">the list with all the distribution centres.</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The hierarchy of the procedures that make up the PSDS algorithm is shown in Fig. <xref rid="j_infor432_fig_006">6</xref>.</p>
<fig id="j_infor432_fig_006">
<label>Fig. 6</label>
<caption>
<p>The hierarchy of the PSDS algorithm procedures.</p>
</caption>
<graphic xlink:href="infor432_g006.jpg"/>
</fig>
<p>The startup of the algorithm is presented in Algorithm 1. Based on experiments, the following initialization parameters were used: <inline-formula id="j_infor432_ineq_035"><alternatives>
<mml:math><mml:mtext mathvariant="italic">totalSetsInit</mml:mtext><mml:mo>=</mml:mo><mml:mn>6</mml:mn><mml:mi mathvariant="italic">q</mml:mi></mml:math>
<tex-math><![CDATA[$\textit{totalSetsInit}=6q$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor432_ineq_036"><alternatives>
<mml:math><mml:mtext mathvariant="italic">goodPercentInit</mml:mtext><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math>
<tex-math><![CDATA[$\textit{goodPercentInit}=0.5$]]></tex-math></alternatives></inline-formula>, where <italic>q</italic> is the total number of distribution centres. The calls on lines 15 and 16 generate and evaluate an initial collection of sets and then, the call on line 17 starts the optimization process.</p>
<fig id="j_infor432_fig_007">
<graphic xlink:href="infor432_g007.jpg"/>
</fig>
<p>The <italic>generation</italic> procedure is presented in Algorithm 2. It generates multiple sets based on the distribution centres found in the <italic>DCList</italic> parameter. This procedure produces perturbations only if the second parameter is true. Petrurbations are almost always generated. The only exception occurs in the case of the call on line 15 of the <italic>startup</italic> procedure. A number of sets equal to <italic>totalSets</italic> will be generated at most. For each set type in the <italic>SetsTypes</italic> list, a number of sets in proportion with the set quality will be generated. If the <italic>DCList</italic> does not have enough elements for generating the required amount of sets, then the <italic>exhaustiveGenerator</italic> procedure will be called to generate all the possible sets. Otherwise procedure <italic>randomGenerator</italic> will be called. If perturbations are required, then the procedures <italic>largerSetsGenerator</italic> and <italic>perturbationsGenerator</italic> are called for each distribution center in the <italic>BadDCs</italic> list.</p>
<fig id="j_infor432_fig_008">
<graphic xlink:href="infor432_g008.jpg"/>
</fig>
<p>The <italic>randomGenerator</italic> procedure presented in Algorithm 3 creates at least <italic>variantsNo</italic> random sets of certain type with distribution centres taken from the <italic>DCList</italic>. The new created sets are added to the <italic>Sets for evaluation</italic> list. The procedure shuffles the distribution centres in a working list and avoids putting a distribution centre multiple times in the same set. Each set is validated on line 10. For a valid set, the sum of the distribution centres capacities must be large enough to satisfy all the customers, and the set has to pass the <italic>Duplicates detector</italic>.</p>
<fig id="j_infor432_fig_009">
<graphic xlink:href="infor432_g009.jpg"/>
</fig>
<p>The <italic>exhaustiveGenerator</italic> procedure is presented in Algorithm 4. It generates all possible sets of certain type with the distribution centres from the <italic>DCList</italic>. The newly created sets are validated on line 3 and added to the <italic>Sets for evaluation</italic> list.</p>
<fig id="j_infor432_fig_010">
<graphic xlink:href="infor432_g010.jpg"/>
</fig>
<p>The <italic>largerSetsGenerator</italic> procedure is presented in Algorithm 5. It searches through the <italic>Best sets</italic> list to find the best ranked set in which the <italic>badDC</italic> can be inserted to create a new validated set. The procedure is called in line 14 of the <italic>generation</italic> procedure, aiming to insert each bad distribution centre in a new valid set.</p>
<fig id="j_infor432_fig_011">
<graphic xlink:href="infor432_g011.jpg"/>
</fig>
<p>The <italic>perturbationsGenerator</italic> procedure presented in Algorithm 6 searches in the Good sets list, the first set in which an item can be substituted by the <italic>badDC</italic>. All the new created sets are added to the <italic>Sets for evaluation</italic> list. The procedure is called in line 15 of the <italic>generation</italic> procedure. It tries to insert each “bad” distribution centre in the best possible set.</p>
<fig id="j_infor432_fig_012">
<graphic xlink:href="infor432_g012.jpg"/>
</fig>
<p>The <italic>evaluation</italic> procedure is presented in Algorithm 7. It is called in the <italic>startup</italic> and <italic>shrinkingDomainSearch</italic> procedures, when the preparation of the <italic>Sets for evaluation</italic> list is finished. The procedure creates a <italic>Recursive evaluator</italic> task for all the sets in the <italic>Sets for evaluation</italic> list, and sends it to the <italic>Thread pool</italic> for execution. When the evaluation ends, all the sets that are not worse than the ones in the <italic>Good sets</italic> list are moved to that list. The <italic>Sets for evaluation</italic> list is cleared, to be prepared for a new iteration, and the <italic>Good sets</italic> list is sorted according to sets cost.</p>
<fig id="j_infor432_fig_013">
<graphic xlink:href="infor432_g013.jpg"/>
</fig>
<p>The recursiveEvaluator procedure is presented in Algorithm 8. The first parameter represents the position of the first set from the <italic>SetsForEvaluation</italic> list to be considered, and the <italic>length</italic> parameter represents the number of sets to be evaluated, starting from the first. If the value of the <italic>length</italic> parameter exceeds the value of the threshold <italic>wThreshold</italic>, then through the calls on lines 9 and 10 two sub-tasks are created, each having to evaluate half of the initial number of sets. When the <italic>length</italic> parameter falls below <italic>wThreshold</italic>, the procedure is converted into a <italic>Final Task</italic> that is retrieved and executed by one of the available <italic>Worker Threads</italic> in the <italic>Thread Pool</italic>.</p>
<fig id="j_infor432_fig_014">
<graphic xlink:href="infor432_g014.jpg"/>
</fig>
<p>The <italic>shrinkingDomainSearch</italic> presented in Algorithm 9 is the central procedure of the PSDS algorithm. The search domain is reduced at every iteration of the main loop, by decreasing the <italic>goodPercent</italic>. Therefore, the <italic>goodDCsNo</italic> is also reduced. The <italic>speed</italic> parameter controls the convergence of the algorithm. By increasing the speed parameter, the total number of iterations is reduced. This reduces the total number of operations, the algorithm runs quicker, but the optimal solution might be lost, because the search domains are explored less thoroughly. For the results included in this paper, the <italic>speed</italic> parameter was fixed to 1.1. The <italic>updateGoodDCs</italic> procedure call rebuilds the <italic>Good DCs</italic> and <italic>Bad DCs</italic> lists, at each iteration. The for loop estimates the quality of all the set types from the <italic>Best sets</italic> list, considering the number of items of each type, and the positions of those items in the list. These estimations will determine the number of sets that will be generated for each type. The <italic>DCNo</italic> estimation is updated on line 18. The generators and evaluation procedures are called at the end of the main loop.</p>
<fig id="j_infor432_fig_015">
<graphic xlink:href="infor432_g015.jpg"/>
</fig>
<p>The <italic>updateGoodDCs</italic> procedure is presented in Algorithm 10. It moves from the <italic>Bad DCs</italic> list to the <italic>Good DCs</italic> list a number of distribution centres equal to <italic>GoodDCsNo</italic>. The distribution centres are taken from the best items of the <italic>Good sets</italic> list. The <italic>bestSetsNo</italic> variable is recalculated in the process.</p>
<fig id="j_infor432_fig_016">
<graphic xlink:href="infor432_g016.jpg"/>
</fig>
<p>The <italic>smallerSetsGenerator</italic> procedure presented in Algorithm 11 generates all the possible sets by removing one distribution centre from the items in the <italic>Best sets</italic> list. Each new created set is validated before being added to the <italic>Sets for evaluation</italic> list.</p>
<fig id="j_infor432_fig_017">
<graphic xlink:href="infor432_g017.jpg"/>
</fig>
<p>The remaining of this section is dedicated to the adjustment of the algorithm’s operating parameters. The charts presented in Figs. <xref rid="j_infor432_fig_018">7</xref>–<xref rid="j_infor432_fig_023">12</xref> show the gaps for the average of the best solutions and for the average running times required to find the best solutions, in the cases of four different instances. The selected instances have been run 10 times, using five different values for the following algorithm parameters: <italic>speed</italic>, <italic>goodPercentInit</italic> and <italic>totalSetsInit</italic>.</p>
<p>The gap of the average best solution <inline-formula id="j_infor432_ineq_037"><alternatives>
<mml:math><mml:mi mathvariant="italic">Z</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$Z{g_{v}}$]]></tex-math></alternatives></inline-formula> is given by relation (<xref rid="j_infor432_eq_010">9</xref>), where <italic>v</italic> is the value of the studied parameter, <italic>ref</italic> is the reference value of the same parameter, <inline-formula id="j_infor432_ineq_038"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\overline{Z}_{v}}$]]></tex-math></alternatives></inline-formula> is the average of the best solutions found in the ten runs of the instance when using <italic>v</italic> and <inline-formula id="j_infor432_ineq_039"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">ref</mml:mtext></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\overline{Z}_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> is the average of the best solutions found in the ten runs of the instance when using <italic>ref</italic>. The gap of the running time <inline-formula id="j_infor432_ineq_040"><alternatives>
<mml:math><mml:mi mathvariant="italic">T</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$T{g_{v}}$]]></tex-math></alternatives></inline-formula> is given by relation (<xref rid="j_infor432_eq_011">10</xref>), where <inline-formula id="j_infor432_ineq_041"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\overline{T}_{v}}$]]></tex-math></alternatives></inline-formula> is the average of the running times when using <italic>v</italic> and <inline-formula id="j_infor432_ineq_042"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext mathvariant="italic">ref</mml:mtext></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\overline{T}_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> is the average of the running times when using <italic>ref</italic>. <disp-formula-group id="j_infor432_dg_003">
<disp-formula id="j_infor432_eq_010">
<label>(9)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mi mathvariant="italic">Z</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ref</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ref</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>×</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& Z{g_{v}}=\frac{{\overline{Z}_{v}}-{\overline{Z}_{\mathit{ref}}}}{{\overline{Z}_{\mathit{ref}}}}\times 100,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor432_eq_011">
<label>(10)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mi mathvariant="italic">T</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ref</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ref</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>×</mml:mo><mml:mn>100.</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& T{g_{v}}=\frac{{\overline{T}_{v}}-{\overline{T}_{\mathit{ref}}}}{{\overline{T}_{\mathit{ref}}}}\times 100.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
<p>Figures <xref rid="j_infor432_fig_018">7</xref> and <xref rid="j_infor432_fig_019">8</xref> deal with the <italic>speed</italic> parameter. The reference value of this parameter that has been set for building the charts is <italic>1.1</italic>. For higher values of this parameter, the algorithm ends faster because it performs fewer iterations, but this increases the likelihood of missing the optimal solution, because the search domains are reduced too much with each iteration. For <inline-formula id="j_infor432_ineq_043"><alternatives>
<mml:math><mml:mtext mathvariant="italic">speed</mml:mtext><mml:mo>=</mml:mo><mml:mtext mathvariant="italic">1.4</mml:mtext></mml:math>
<tex-math><![CDATA[$\textit{speed}=\textit{1.4}$]]></tex-math></alternatives></inline-formula> the <italic>running time gap</italic> decreases to about −<italic>50%</italic>, but the <italic>best solution gap</italic> can increase to about <italic>0.3%</italic>. For values lower than the reference, the <italic>running time gap</italic> increases unreasonably.</p>
<fig id="j_infor432_fig_018">
<label>Fig. 7</label>
<caption>
<p>The influence of the <italic>speed</italic> parameter on the best solution found.</p>
</caption>
<graphic xlink:href="infor432_g018.jpg"/>
</fig>
<fig id="j_infor432_fig_019">
<label>Fig. 8</label>
<caption>
<p>The influence of the <italic>speed</italic> parameter on the running time.</p>
</caption>
<graphic xlink:href="infor432_g019.jpg"/>
</fig>
<p>Figures <xref rid="j_infor432_fig_020">9</xref> and <xref rid="j_infor432_fig_021">10</xref> deal with the <italic>goodPercentInit</italic> parameter. This parameter determines how much the solution search domain is reduced after the first iteration of the algorithm. The reference value of this parameter that has been set for building the charts is <italic>50</italic>. The graph in Fig. <xref rid="j_infor432_fig_020">9</xref> shows that the decrease of this parameter below the reference value increases the probability of missing the optimal solution, and the graph in Fig. <xref rid="j_infor432_fig_021">10</xref> shows that increasing this parameter over the reference value also unjustifiably increases the running time.</p>
<fig id="j_infor432_fig_020">
<label>Fig. 9</label>
<caption>
<p>The influence of the <italic>goodPercentInit</italic> parameter on the best solution found.</p>
</caption>
<graphic xlink:href="infor432_g020.jpg"/>
</fig>
<fig id="j_infor432_fig_021">
<label>Fig. 10</label>
<caption>
<p>The influence of the <italic>goodPercentInit</italic> parameter on the running time.</p>
</caption>
<graphic xlink:href="infor432_g021.jpg"/>
</fig>
<p>Figures <xref rid="j_infor432_fig_022">11</xref> and <xref rid="j_infor432_fig_023">12</xref> deal with the <italic>totalSetsInit</italic> parameter, that is: <inline-formula id="j_infor432_ineq_044"><alternatives>
<mml:math><mml:mtext mathvariant="italic">totalSetsInit</mml:mtext><mml:mo>=</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo>×</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$\textit{totalSetsInit}=q\times {t_{c}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor432_ineq_045"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{c}}$]]></tex-math></alternatives></inline-formula> is the <italic>totalSetsInit</italic> coefficient, and <italic>q</italic> is the number of distribution centres. The reference value of the <italic>totalSetsInit</italic> coefficient that has been set for building the charts is <italic>6</italic>. The chart in Fig. <xref rid="j_infor432_fig_022">11</xref> shows that decreasing the initial number of sets below <inline-formula id="j_infor432_ineq_046"><alternatives>
<mml:math><mml:mi mathvariant="italic">q</mml:mi><mml:mo>×</mml:mo><mml:mn>6</mml:mn></mml:math>
<tex-math><![CDATA[$q\times 6$]]></tex-math></alternatives></inline-formula> increases the likelihood of missing the optimal solution, and the chart in Fig. <xref rid="j_infor432_fig_023">12</xref> shows that increasing too much the initial number of sets has a negative impact on the running time of the algorithm.</p>
<fig id="j_infor432_fig_022">
<label>Fig. 11</label>
<caption>
<p>The influence of the <italic>totalSetsInit</italic> coefficient on the best solution found.</p>
</caption>
<graphic xlink:href="infor432_g022.jpg"/>
</fig>
<fig id="j_infor432_fig_023">
<label>Fig. 12</label>
<caption>
<p>The influence of the <italic>totalSetsInit</italic> coefficient on the running time.</p>
</caption>
<graphic xlink:href="infor432_g023.jpg"/>
</fig>
</sec>
<sec id="j_infor432_s_005">
<label>5</label>
<title>Computational Results</title>
<p>This section is dedicated to the achieved computational results with the aim of assessing the effectiveness of our approaches suggested for solving the TSTPFC for opening the DCs.</p>
<p>The results presented in this section were obtained by running our algorithm for solving the TSTPFC for opening the DCs on a set of 16 test instances of medium sizes, and on a set of 8 instances of larger sizes. Both sets of benchmark instances are known from literature. We refer to Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>) for more information regarding the characteristics of the first set of instances, and to Cosma <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_004">2019</xref>) for more information regarding the characteristics of the second set instances.</p>
<p>We implemented our parallel heuristic algorithm for solving the considered transportation problem, in Java language. We have run each of the instances 10 times, as Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>) did. For our tests, we used two computing systems having the following two significantly different Central Processing Units:</p>
<list>
<list-item id="j_infor432_li_013">
<label>•</label>
<p>Intel Core i5-4590 CPU at 3.3 GHz having 4 cores / 4 logical processors;</p>
</list-item>
<list-item id="j_infor432_li_014">
<label>•</label>
<p>Intel Xenon Silver 4114 at 2.2 GHz having 10 cores / 20 logical processors.</p>
</list-item>
</list>
<p>For the envisaged test instances, we compared our developed parallel heuristic algorithm with the existing solution approaches with the aim of analysing the performance of our solution. The obtained computational results are presented in Tables <xref rid="j_infor432_tab_002">1</xref> and <xref rid="j_infor432_tab_003">2</xref>.</p>
<table-wrap id="j_infor432_tab_002">
<label>Table 1</label>
<caption>
<p>Computational results for the instances introduced by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>).</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Instance</td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">LINGO</td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">HEA Calvete <italic>et al</italic>.</td>
<td colspan="7" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Our solution approach</td>
</tr>
<tr>
<td rowspan="2" style="vertical-align: top; text-align: left; border-bottom: solid thin">Zbest</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-bottom: solid thin">Time</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-bottom: solid thin">Iteration</td>
<td rowspan="2" style="vertical-align: top; text-align: left; border-bottom: solid thin">Avg. T/It</td>
<td rowspan="2" style="vertical-align: top; text-align: left; border-bottom: solid thin">wt#</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Best</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Avg.</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Best</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Avg.</td>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_047"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>Pl,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>10</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>20</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>40</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{Pl,l:}p=10,\\ {} q=20,\hspace{2.5pt}i=40\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_048"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>295703</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=295703\\ {} {T_{\mathit{opt}}}=1\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_049"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>295703</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=295703$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">295703</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_050"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.05</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=0.05$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_051"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1.0</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=1.0$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_052"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P2,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>10</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>20</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>60</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P2,l:}p=10,\\ {} q=20,\hspace{2.5pt}i=60\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_053"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>500583</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=500583\\ {} {T_{\mathit{opt}}}=1\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_054"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>500583</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=500583$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">500583</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_055"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.08</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=0.08$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_056"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1.6</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=1.6$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_057"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P3,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>25</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P3,l:}p=25,\\ {} q=50,\hspace{2.5pt}r=100\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_058"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>803019</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>7</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=803019\\ {} {T_{\mathit{opt}}}=7\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_059"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>803019</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=803019$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">803019</td>
<td style="vertical-align: top; text-align: left">0.03</td>
<td style="vertical-align: top; text-align: left">0.04</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">0.04</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_060"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.81</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=0.81$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_061"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>4.2</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=4.2$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.02</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.02</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.02</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_062"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P4,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>25</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>150</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P4,l:}p=25,\\ {} q=50,i=150\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_063"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1230358</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>144</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=1230358\\ {} {T_{\mathit{opt}}}=144\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_064"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1230358</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=1230358$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">1230358</td>
<td style="vertical-align: top; text-align: left">0.05</td>
<td style="vertical-align: top; text-align: left">0.06</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">0.06</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_065"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1.78</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=1.78$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">0.03</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.10</td>
<td style="vertical-align: top; text-align: left">0.03</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_066"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>9.0</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=9.0$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.02</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.02</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.02</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_067"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P5,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>200</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P5,l:}p=50,\\ {} q=100,\hspace{2.5pt}i=200\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_068"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1571893</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2633</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=1571893\\ {} {T_{\mathit{opt}}}=2633\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_069"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1571893</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=1571893$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">1571893</td>
<td style="vertical-align: top; text-align: left">0.30</td>
<td style="vertical-align: top; text-align: left">0.32</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.20</td>
<td style="vertical-align: top; text-align: left">0.28</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_070"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>6.88</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=6.88$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0.14</td>
<td style="vertical-align: top; text-align: left">0.18</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.30</td>
<td style="vertical-align: top; text-align: left">0.14</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_071"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>11.4</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=11.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.08</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.13</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.40</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.09</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_072"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P6,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>300</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P6,l:}p=50,\\ {} q=100,\hspace{2.5pt}r=300\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_073"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2521232</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>2</mml:mn><mml:mtext>hours</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=2521232\\ {} {T_{\mathit{opt}}}>2\text{hours}\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_074"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2521232</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=2521232$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">2521232</td>
<td style="vertical-align: top; text-align: left">0.44</td>
<td style="vertical-align: top; text-align: left">0.55</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.50</td>
<td style="vertical-align: top; text-align: left">0.38</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_075"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>11.73</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=11.73$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0.22</td>
<td style="vertical-align: top; text-align: left">0.24</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.10</td>
<td style="vertical-align: top; text-align: left">0.23</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_076"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>13.4</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=13.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.14</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.17</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.40</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.12</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_077"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P7,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>400</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P7,l:}p=100,\\ {} q=200,r=400\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_078"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>3253335</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>2</mml:mn><mml:mtext>hours</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=3253335\\ {} {T_{\mathit{opt}}}>2\text{hours}\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_079"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>3253335</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=3253335$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">3253335</td>
<td style="vertical-align: top; text-align: left">2.31</td>
<td style="vertical-align: top; text-align: left">4.49</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">2.80</td>
<td style="vertical-align: top; text-align: left">1.68</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_080"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>56.73</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=56.73$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">1.20</td>
<td style="vertical-align: top; text-align: left">1.95</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">2.20</td>
<td style="vertical-align: top; text-align: left">0.99</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_081"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>23.4</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=23.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.70</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.16</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</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">0.60</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_082"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P8,l:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>600</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P8,l:}p=100,\\ {} q=200,\hspace{2.5pt}r=600\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_083"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>4595835</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>2</mml:mn><mml:mtext>hours</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=4595835\\ {} {T_{\mathit{opt}}}>2\text{hours}\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_084"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>4595835</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=4595835$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">4595835</td>
<td style="vertical-align: top; text-align: left">3.47</td>
<td style="vertical-align: top; text-align: left">3.49</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">3.49</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_085"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>38.39</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=38.39$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">1.80</td>
<td style="vertical-align: top; text-align: left">1.83</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.00</td>
<td style="vertical-align: top; text-align: left">1.83</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_086"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>9.6</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=9.6$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.03</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_087"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>Pl,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>10</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>20</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>40</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{Pl,2:}p=10,\\ {} q=20,r=40\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_088"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>228306</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=228306\\ {} {T_{\mathit{opt}}}=1\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_089"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>228306</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=228306$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">228306</td>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">2.70</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_090"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.20</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=0.20$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">&lt;0.001</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1.70</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_091"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>5.6</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=5.6$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.70</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_092"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P2,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>10</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>20</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>60</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P2,2:}p=10,\\ {} q=20,\hspace{2.5pt}i=60\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_093"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>348837</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=348837\\ {} {T_{\mathit{opt}}}=0\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_094"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>348837</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=348837$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">348837</td>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">2.30</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_095"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.23</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=0.23$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">2.10</td>
<td style="vertical-align: top; text-align: left">0.01</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_096"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>4.8</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=4.8$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">&lt;0.001</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.01</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.01</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_097"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P3,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>25</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P3,2:}p=25,\\ {} q=50,\hspace{2.5pt}r=100\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_098"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>507934</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=507934\\ {} {T_{\mathit{opt}}}=2\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_099"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>507934</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=507934$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">507934</td>
<td style="vertical-align: top; text-align: left">0.20</td>
<td style="vertical-align: top; text-align: left">0.36</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">4.30</td>
<td style="vertical-align: top; text-align: left">0.09</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_100"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2.55</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=2.55$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0.09</td>
<td style="vertical-align: top; text-align: left">0.20</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">4.90</td>
<td style="vertical-align: top; text-align: left">0.04</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_101"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>12.0</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=12.0$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.08</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.14</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.80</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.02</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_102"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P4,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>25</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>150</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P4,2:}p=25,\\ {} q=50,\hspace{2.5pt}i=150\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_103"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>713610</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=713610\\ {} {T_{\mathit{opt}}}=4\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_104"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>713610</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=713610$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">713610</td>
<td style="vertical-align: top; text-align: left">0.31</td>
<td style="vertical-align: top; text-align: left">0.61</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">5.60</td>
<td style="vertical-align: top; text-align: left">0.12</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_105"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>4.17</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=4.17$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0.20</td>
<td style="vertical-align: top; text-align: left">0.32</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">5.50</td>
<td style="vertical-align: top; text-align: left">0.06</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_106"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>12.6</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=12.6$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.13</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.19</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.04</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_107"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P5,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>200</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P5,2:}p=50,\\ {} q=100,\hspace{2.5pt}i=200\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_108"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>985628</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>33</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=985628\\ {} {T_{\mathit{opt}}}=33\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_109"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>985628</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=985628$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">985628</td>
<td style="vertical-align: top; text-align: left">4.80</td>
<td style="vertical-align: top; text-align: left">7.71</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">13.00</td>
<td style="vertical-align: top; text-align: left">0.59</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_110"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>20.46</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=20.46$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">2.83</td>
<td style="vertical-align: top; text-align: left">4.09</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">13.70</td>
<td style="vertical-align: top; text-align: left">0.30</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_111"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>39.4</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=39.4$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.28</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.84</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">11</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">13.80</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.21</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_112"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P6,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>300</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P6,2:}p=50,\\ {} q=100,r=300\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_113"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1509476</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>51</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=1509476\\ {} {T_{\mathit{opt}}}=51\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_114"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1509476</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=1509476$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">1509476</td>
<td style="vertical-align: top; text-align: left">6.75</td>
<td style="vertical-align: top; text-align: left">10.91</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">13.70</td>
<td style="vertical-align: top; text-align: left">0.84</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_115"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>43.70</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=43.70$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.28</td>
<td style="vertical-align: top; text-align: left">5.96</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">15.40</td>
<td style="vertical-align: top; text-align: left">0.41</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_116"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>62.2</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=62.2$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.09</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.09</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">14.70</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.29</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_117"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P7,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>400</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P7,2:}p=100,\\ {} q=200,r=400\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_118"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1888252</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>305</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=1888252\\ {} {T_{\mathit{opt}}}=305\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_119"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1888252</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=1888252$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">1888252</td>
<td style="vertical-align: top; text-align: left">72.63</td>
<td style="vertical-align: top; text-align: left">92.90</td>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">18.30</td>
<td style="vertical-align: top; text-align: left">5.08</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_120"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>120.92</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=120.92$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">32.64</td>
<td style="vertical-align: top; text-align: left">45.71</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">18.10</td>
<td style="vertical-align: top; text-align: left">2.53</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_121"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>54.0</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=54.0$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">13.05</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">24.66</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18.50</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1.34</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_122"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext>P8,2:</mml:mtext><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>600</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}\text{P8,2:}p=100,\\ {} q=200,i=600\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td rowspan="3" style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_123"><alternatives>
<mml:math><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2669231</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>2</mml:mn><mml:mtext>hours</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[$\begin{array}[t]{l}{Z_{\mathit{opt}}}=2669231\\ {} {T_{\mathit{opt}}}>2\text{hours}\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_124"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2669231</mml:mn></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}=2669231$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">2669231</td>
<td style="vertical-align: top; text-align: left">55.76</td>
<td style="vertical-align: top; text-align: left">98.05</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">13.70</td>
<td style="vertical-align: top; text-align: left">7.27</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor432_ineq_125"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>154.42</mml:mn></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}=154.42$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">22.96</td>
<td style="vertical-align: top; text-align: left">39.25</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">11.70</td>
<td style="vertical-align: top; text-align: left">3.44</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor432_ineq_126"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>35.2</mml:mn></mml:math>
<tex-math><![CDATA[$I{T_{\mathit{avg}}}=35.2$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">15.91</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">26.32</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">7</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">14.60</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">4</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In Table <xref rid="j_infor432_tab_002">1</xref>, we describe the results of the computational experiments in the case of the two classes of instances introduced by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>). The first column of the table provides the name and the characteristics of the test instance, the next column provides the optimal solution of the problem, denoted by <inline-formula id="j_infor432_ineq_127"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Z_{\mathit{opt}}}$]]></tex-math></alternatives></inline-formula> achieved by the professional optimization software LINGO and as well the corresponding execution time <inline-formula id="j_infor432_ineq_128"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">opt</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{\mathit{opt}}}$]]></tex-math></alternatives></inline-formula> required to obtain it, the next column displays the best solution <inline-formula id="j_infor432_ineq_129"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}$]]></tex-math></alternatives></inline-formula> achieved by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>) and as well the corresponding average computational time <inline-formula id="j_infor432_ineq_130"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}$]]></tex-math></alternatives></inline-formula> and average number of iterations <inline-formula id="j_infor432_ineq_131"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$I{t_{\mathit{avg}}}$]]></tex-math></alternatives></inline-formula> required to achieve the best solution. Finally, the last seven columns display results achieved by our novel parallel heuristic algorithm: the best solution <inline-formula id="j_infor432_ineq_132"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}$]]></tex-math></alternatives></inline-formula> achieved in all ten runs of the computational experiments, the corresponding best computational times <inline-formula id="j_infor432_ineq_133"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{\mathit{best}}}$]]></tex-math></alternatives></inline-formula> and average computational times <inline-formula id="j_infor432_ineq_134"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">avg</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{\mathit{avg}}}$]]></tex-math></alternatives></inline-formula> for obtaining the solution, the best and the avearage iteration at which the best solution appears, the average duration of an iteration <italic>avg</italic> <inline-formula id="j_infor432_ineq_135"><alternatives>
<mml:math><mml:mi mathvariant="italic">T</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:math>
<tex-math><![CDATA[$T/it$]]></tex-math></alternatives></inline-formula> in seconds and the number of worker threads used in each experiment <inline-formula id="j_infor432_ineq_136"><alternatives>
<mml:math><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="normal">#</mml:mi></mml:math>
<tex-math><![CDATA[$wt\mathrm{\# }$]]></tex-math></alternatives></inline-formula>. The computational times are displayed in seconds, with four exceptions, in the case of problems <inline-formula id="j_infor432_ineq_137"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>6</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn></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:mn>7</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn></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:mn>8</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{6,1}},{P_{7,1}},{P_{8,1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor432_ineq_138"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>8</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{8,2}}$]]></tex-math></alternatives></inline-formula> where LINGO needs more than two hours to solve the problems.</p>
<table-wrap id="j_infor432_tab_003">
<label>Table 2</label>
<caption>
<p>Computational results for the instances introduced by Cosma et al. (2019).</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td style="vertical-align: top; text-align: left; border-top: solid thin">p</td>
<td rowspan="2" style="vertical-align: middle; text-align: left; border-top: solid thin"><inline-formula id="j_infor432_ineq_139"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}$]]></tex-math></alternatives></inline-formula></td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin">Cosma et al.</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin"/>
<td colspan="6" style="vertical-align: top; text-align: left; border-top: solid thin">Our solution approach</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">I</td>
<td style="vertical-align: top; text-align: left">q</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-bottom: solid thin">IEEE Access</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">#</td>
<td style="vertical-align: top; text-align: left">r</td>
<td style="vertical-align: top; text-align: left"/>
<td colspan="2" style="vertical-align: top; text-align: left">Time [s]</td>
<td colspan="2" style="vertical-align: top; text-align: left">Iteration</td>
<td rowspan="2" style="vertical-align: middle; text-align: left; border-bottom: solid thin">CPU</td>
<td colspan="2" style="vertical-align: top; text-align: left">Time [s]</td>
<td colspan="2" style="vertical-align: top; text-align: left">Iteration</td>
<td style="vertical-align: top; text-align: left">Avg.</td>
<td style="vertical-align: top; text-align: left">wt</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">w</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Best</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Avg</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Best</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Avg</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Best</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Avg</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Best</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Avg</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">T/It</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">#</td>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">1</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">150<break/>300<break/>800<break/>50</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">47.61</td>
<td style="vertical-align: top; text-align: left">112.99</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">6.66</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">41.82</td>
<td style="vertical-align: top; text-align: left">191.88</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">15.85</td>
<td style="vertical-align: top; text-align: left">12.21</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">184.95</td>
<td style="vertical-align: top; text-align: left">400.48</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">16.65</td>
<td style="vertical-align: top; text-align: left">24.3</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">3600012</td>
<td style="vertical-align: top; text-align: left">206.79</td>
<td style="vertical-align: top; text-align: left">216.52</td>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">19.0</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201p 2.2 GHz</td>
<td style="vertical-align: top; text-align: left">48.99</td>
<td style="vertical-align: top; text-align: left">59.15</td>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">3.3</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">45.53</td>
<td style="vertical-align: top; text-align: left">58.23</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">17.25</td>
<td style="vertical-align: top; text-align: left">3.38</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">38.96</td>
<td style="vertical-align: top; text-align: left">56.91</td>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">16.4</td>
<td style="vertical-align: top; text-align: left">3.48</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">55.41</td>
<td style="vertical-align: top; text-align: left">74.57</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">4.18</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">99.46</td>
<td style="vertical-align: top; text-align: left">129.28</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">17.00</td>
<td style="vertical-align: top; text-align: left">7.67</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">467.97</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">492.64</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">17</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18.75</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">26.42</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">2</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">150<break/>300<break/>1000<break/>50</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">47.42</td>
<td style="vertical-align: top; text-align: left">149.35</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">17.36</td>
<td style="vertical-align: top; text-align: left">8.72</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">139.55</td>
<td style="vertical-align: top; text-align: left">260.61</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">16.97</td>
<td style="vertical-align: top; text-align: left">15.37</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">183.33</td>
<td style="vertical-align: top; text-align: left">481.88</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">16.38</td>
<td style="vertical-align: top; text-align: left">29.74</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">4531394</td>
<td style="vertical-align: top; text-align: left">260.37</td>
<td style="vertical-align: top; text-align: left">311.11</td>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">16.8</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201p 2.2 GHz</td>
<td style="vertical-align: top; text-align: left">28.28</td>
<td style="vertical-align: top; text-align: left">63.83</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">15.14</td>
<td style="vertical-align: top; text-align: left">4.27</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">59.09</td>
<td style="vertical-align: top; text-align: left">74.92</td>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">17.6</td>
<td style="vertical-align: top; text-align: left">4.25</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">51.8</td>
<td style="vertical-align: top; text-align: left">70.8</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">17.25</td>
<td style="vertical-align: top; text-align: left">4.16</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">39.83</td>
<td style="vertical-align: top; text-align: left">83.4</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">17.60</td>
<td style="vertical-align: top; text-align: left">5.42</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">138.01</td>
<td style="vertical-align: top; text-align: left">159.82</td>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left">18.25</td>
<td style="vertical-align: top; text-align: left">9.06</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">466.01</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">578.98</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">16</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">31.62</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">3</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">200<break/>400<break/>1500<break/>60</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">144.92</td>
<td style="vertical-align: top; text-align: left">336.46</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">15.28</td>
<td style="vertical-align: top; text-align: left">22.28</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">305.63</td>
<td style="vertical-align: top; text-align: left">624.35</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">15.62</td>
<td style="vertical-align: top; text-align: left">40.53</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">635.52</td>
<td style="vertical-align: top; text-align: left">1221.32</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">15.17</td>
<td style="vertical-align: top; text-align: left">81.85</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">6594333</td>
<td style="vertical-align: top; text-align: left">468.97</td>
<td style="vertical-align: top; text-align: left">721.36</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">12.8</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201p 2.2 GHz</td>
<td style="vertical-align: top; text-align: left">99.39</td>
<td style="vertical-align: top; text-align: left">176.27</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">16.92</td>
<td style="vertical-align: top; text-align: left">10.49</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">112.61</td>
<td style="vertical-align: top; text-align: left">166.2</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">15.4</td>
<td style="vertical-align: top; text-align: left">10.86</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">140.05</td>
<td style="vertical-align: top; text-align: left">192.61</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">17.1</td>
<td style="vertical-align: top; text-align: left">11.29</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">90.58</td>
<td style="vertical-align: top; text-align: left">199.83</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">14.6</td>
<td style="vertical-align: top; text-align: left">13.89</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">175.63</td>
<td style="vertical-align: top; text-align: left">338.08</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">26.57</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">962.04</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1287.39</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">12</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">15</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">86.09</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">4</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">200<break/>400<break/>2000<break/>60</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">96.54</td>
<td style="vertical-align: top; text-align: left">442.01</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">17.17</td>
<td style="vertical-align: top; text-align: left">26.02</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">344.31</td>
<td style="vertical-align: top; text-align: left">848.23</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">17.58</td>
<td style="vertical-align: top; text-align: left">48.53</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">815.78</td>
<td style="vertical-align: top; text-align: left">1681.32</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">17.32</td>
<td style="vertical-align: top; text-align: left">97.66</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">8828329</td>
<td style="vertical-align: top; text-align: left">461.28</td>
<td style="vertical-align: top; text-align: left">1020.21</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">16.2</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201p 2.2 GHz</td>
<td style="vertical-align: top; text-align: left">144.52</td>
<td style="vertical-align: top; text-align: left">215.19</td>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">16.92</td>
<td style="vertical-align: top; text-align: left">12.79</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">147.32</td>
<td style="vertical-align: top; text-align: left">224.16</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">17.2</td>
<td style="vertical-align: top; text-align: left">13.13</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">144.18</td>
<td style="vertical-align: top; text-align: left">230.6</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">16.9</td>
<td style="vertical-align: top; text-align: left">13.8</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">51.32</td>
<td style="vertical-align: top; text-align: left">265.5</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">14.8</td>
<td style="vertical-align: top; text-align: left">19.27</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">404.8</td>
<td style="vertical-align: top; text-align: left">506.15</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">17.25</td>
<td style="vertical-align: top; text-align: left">29.46</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1590.44</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1886.82</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">15</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">17.5</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">108.01</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">5</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">250<break/>500<break/>2500<break/>70</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">321.67</td>
<td style="vertical-align: top; text-align: left">1194.81</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">20.07</td>
<td style="vertical-align: top; text-align: left">60.02</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">1569.33</td>
<td style="vertical-align: top; text-align: left">2294.09</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">20.06</td>
<td style="vertical-align: top; text-align: left">114.82</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">2744.46</td>
<td style="vertical-align: top; text-align: left">4276.71</td>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">19.38</td>
<td style="vertical-align: top; text-align: left">222.91</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">11055247</td>
<td style="vertical-align: top; text-align: left">2709.26</td>
<td style="vertical-align: top; text-align: left">2733.78</td>
<td style="vertical-align: top; text-align: left">21</td>
<td style="vertical-align: top; text-align: left">21.5</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201p 2.2 GHz</td>
<td style="vertical-align: top; text-align: left">353.18</td>
<td style="vertical-align: top; text-align: left">522.15</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">18.71</td>
<td style="vertical-align: top; text-align: left">28.07</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">497.03</td>
<td style="vertical-align: top; text-align: left">569.26</td>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">19.75</td>
<td style="vertical-align: top; text-align: left">28.86</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">539.16</td>
<td style="vertical-align: top; text-align: left">605.85</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">21.75</td>
<td style="vertical-align: top; text-align: left">28.02</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">427.66</td>
<td style="vertical-align: top; text-align: left">663.61</td>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">19.20</td>
<td style="vertical-align: top; text-align: left">34.96</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">1235.03</td>
<td style="vertical-align: top; text-align: left">1368.82</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">21.00</td>
<td style="vertical-align: top; text-align: left">65.19</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4529.15</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4609.30</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">19.75</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">235.26</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">6</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">250<break/>500<break/>3000<break/>70</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">658.72</td>
<td style="vertical-align: top; text-align: left">1029.29</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">16.33</td>
<td style="vertical-align: top; text-align: left">64.35</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">733.17</td>
<td style="vertical-align: top; text-align: left">2062.34</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">15.93</td>
<td style="vertical-align: top; text-align: left">133.13</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">1482.97</td>
<td style="vertical-align: top; text-align: left">4093.83</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">15.34</td>
<td style="vertical-align: top; text-align: left">271.97</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">13150463</td>
<td style="vertical-align: top; text-align: left">1423.67</td>
<td style="vertical-align: top; text-align: left">2275.37</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">15.0</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201p 2.2G Hz</td>
<td style="vertical-align: top; text-align: left">443.38</td>
<td style="vertical-align: top; text-align: left">588.29</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">18.08</td>
<td style="vertical-align: top; text-align: left">32.54</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">264.15</td>
<td style="vertical-align: top; text-align: left">452.47</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">13.29</td>
<td style="vertical-align: top; text-align: left">34.5</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">448.52</td>
<td style="vertical-align: top; text-align: left">586.94</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">17.83</td>
<td style="vertical-align: top; text-align: left">33</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">441.11</td>
<td style="vertical-align: top; text-align: left">740.31</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">17.00</td>
<td style="vertical-align: top; text-align: left">44.24</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">646.10</td>
<td style="vertical-align: top; text-align: left">908.02</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">10.50</td>
<td style="vertical-align: top; text-align: left">86.92</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3065.59</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4712.13</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">16.25</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">292.96</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">7</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">300<break/>600<break/>3500<break/>80</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">621.07</td>
<td style="vertical-align: top; text-align: left">1795.15</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">17.91</td>
<td style="vertical-align: top; text-align: left">101.73</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">1191.45</td>
<td style="vertical-align: top; text-align: left">3653.61</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">18.57</td>
<td style="vertical-align: top; text-align: left">198.91</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">2869.08</td>
<td style="vertical-align: top; text-align: left">7824.73</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">17.48</td>
<td style="vertical-align: top; text-align: left">453.42</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">15190167</td>
<td style="vertical-align: top; text-align: left">1531.77</td>
<td style="vertical-align: top; text-align: left">4439.75</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">15.8</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201 p 2.2 GHz</td>
<td style="vertical-align: top; text-align: left">414.1</td>
<td style="vertical-align: top; text-align: left">894.56</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">18.33</td>
<td style="vertical-align: top; text-align: left">49.7</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">510.9</td>
<td style="vertical-align: top; text-align: left">947.71</td>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">18.4</td>
<td style="vertical-align: top; text-align: left">51.9</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">732.69</td>
<td style="vertical-align: top; text-align: left">1017.76</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">19.33</td>
<td style="vertical-align: top; text-align: left">52.2</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">985.16</td>
<td style="vertical-align: top; text-align: left">1274.07</td>
<td style="vertical-align: top; text-align: left">15</td>
<td style="vertical-align: top; text-align: left">19.4</td>
<td style="vertical-align: top; text-align: left">65.7</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">2284.5</td>
<td style="vertical-align: top; text-align: left">2376.73</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">20.25</td>
<td style="vertical-align: top; text-align: left">117</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">8520.18</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">8759.55</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">20.33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">430.7</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody><tbody>
<tr>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">8</td>
<td rowspan="9" style="vertical-align: middle; text-align: left; border-bottom: solid thin">300<break/>600<break/>4000<break/>80</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">i3</td>
<td style="vertical-align: top; text-align: left">1381.14</td>
<td style="vertical-align: top; text-align: left">2133.52</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">18.51</td>
<td style="vertical-align: top; text-align: left">116.24</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">4c, 4 lp</td>
<td style="vertical-align: top; text-align: left">2875.94</td>
<td style="vertical-align: top; text-align: left">4159.1</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">19.07</td>
<td style="vertical-align: top; text-align: left">220.35</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">3.58 GHz</td>
<td style="vertical-align: top; text-align: left">3441.87</td>
<td style="vertical-align: top; text-align: left">8269.08</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">18.35</td>
<td style="vertical-align: top; text-align: left">454.77</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">17266134</td>
<td style="vertical-align: top; text-align: left">3046.88</td>
<td style="vertical-align: top; text-align: left">5368.18</td>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">19.8</td>
<td rowspan="6" style="vertical-align: middle; text-align: left; border-bottom: solid thin">Xeon 10c, 201 p 2.2 GHz</td>
<td style="vertical-align: top; text-align: left">978.31</td>
<td style="vertical-align: top; text-align: left">1116.29</td>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">20.25</td>
<td style="vertical-align: top; text-align: left">55.25</td>
<td style="vertical-align: top; text-align: left">20</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">784.3</td>
<td style="vertical-align: top; text-align: left">1121.98</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">18.9</td>
<td style="vertical-align: top; text-align: left">59.49</td>
<td style="vertical-align: top; text-align: left">16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">515.16</td>
<td style="vertical-align: top; text-align: left">1150.47</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">19.22</td>
<td style="vertical-align: top; text-align: left">60.87</td>
<td style="vertical-align: top; text-align: left">12</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">1265.48</td>
<td style="vertical-align: top; text-align: left">1459.72</td>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">73.07</td>
<td style="vertical-align: top; text-align: left">8</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">1540.24</td>
<td style="vertical-align: top; text-align: left">2168.33</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">14.75</td>
<td style="vertical-align: top; text-align: left">148</td>
<td style="vertical-align: top; text-align: left">4</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"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">6721.36</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">8589.16</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">12</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">17</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">512.2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The results in Table <xref rid="j_infor432_tab_002">1</xref> show that our developed parallel heuristic algorithm delivers the same result as the one provided by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>), in all ten runs of computing experiments. These results correspond to the optimal solutions of the problem obtained by LINGO. In terms of efficiency, our parallel heuristic algorithm runs faster than the hybrid evolutionary algorithm proposed by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>) when using a single working thread and our calculation runtimes decrease as the number of worker threads increases, for all the tested instances.</p>
<p>Since Table <xref rid="j_infor432_tab_002">1</xref> shows a comparison of the running times of the proposed algorithm with those obtained by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>), a comparison of the effectiveness of the programming languages in which the two algorithms were implemented and a comparison of the processing power of the CPUs used in the experiments, are required. The algorithm proposed by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>) has been run on an Intel Pentium D CPU at 3.0 GHz. For the results presented in Table <xref rid="j_infor432_tab_002">1</xref>, we used an Intel Core i5-4590 processor at 3.3 GHz. The single thread ratings of the two processors are shown in PassMark. Pentium D rating: 698, Core i5 rating: 2114. The processor used in our experiments is 3.03 times more powerful. Regarding the languages, the proposed algorithm is implemented in Java while the algorithm proposed by Calvete <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_002">2016</xref>) is programmed in C++. A comparison of the two programming languages in terms of efficiency is shown in Hundt (<xref ref-type="bibr" rid="j_infor432_ref_009">2011</xref>). C++ has a time factor of 1, and 64 bit Java has a time factor of 5.8. The programming language used for implementing the PSDS algorithm is 5.8 times slower. We considered that the greater speed of the processor roughly compensates the slowness of the Java language. Because the ratings are always approximate, we did not use a scaling factor. The times shown in Table <xref rid="j_infor432_tab_002">1</xref> were actually measured during the experiments.</p>
<p>The results corresponding to the set of larger instances are presented in Table <xref rid="j_infor432_tab_003">2</xref>, and they are compared to the results achieved by Cosma <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_004">2019</xref>). The first two columns display the instance number (<inline-formula id="j_infor432_ineq_140"><alternatives>
<mml:math><mml:mi mathvariant="italic">I</mml:mi><mml:mi mathvariant="normal">#</mml:mi></mml:math>
<tex-math><![CDATA[$I\mathrm{\# }$]]></tex-math></alternatives></inline-formula>) and the instance features (<italic>p</italic>, <italic>q</italic>, <italic>r</italic> and <italic>w</italic>). The next five columns display the results of the Shrinking Domain Search (SDS) algorithm reported by Cosma <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor432_ref_004">2019</xref>): the best solution <inline-formula id="j_infor432_ineq_141"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Z_{\mathit{best}}}$]]></tex-math></alternatives></inline-formula>, the best and the average running time for finding the best solution and the best and the average iteration in which the best solution appears. The next column displays the CPU used in the experiments. The last six columns display the results achieved by the PSDS algorithm: the best and the average running times for obtaining the best solution, the best and the average iteration at which the best solution appears, the average duration of an iteration <italic>avg</italic> <inline-formula id="j_infor432_ineq_142"><alternatives>
<mml:math><mml:mi mathvariant="italic">T</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:math>
<tex-math><![CDATA[$T/it$]]></tex-math></alternatives></inline-formula> in seconds and the number of worker threads <inline-formula id="j_infor432_ineq_143"><alternatives>
<mml:math><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="normal">#</mml:mi></mml:math>
<tex-math><![CDATA[$wt\mathrm{\# }$]]></tex-math></alternatives></inline-formula>. We reported the computational times in seconds.</p>
<p>Two different processors (<italic>Intel i5-4590</italic> and <italic>Intel Xenon 4114</italic>) were used for the experiments shown in Table <xref rid="j_infor432_tab_003">2</xref>. Because the working frequencies of the 2 processors are different, for analysing the results we calculated a scaling factor based on the single thread results as follows: <inline-formula id="j_infor432_ineq_144"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo>=</mml:mo><mml:mtext mathvariant="italic">average</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">X</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$s=\textit{average}({\overline{t}_{Xe}}/{\overline{t}_{i5}})$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor432_ineq_145"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\overline{t}_{i5}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor432_ineq_146"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">X</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\overline{t}_{Xe}}$]]></tex-math></alternatives></inline-formula> are the average running times required for finding the best solution in the case of <italic>i5</italic> and <italic>Xenon</italic> processors. Thus, based on the data in Table <xref rid="j_infor432_tab_003">2</xref>, <inline-formula id="j_infor432_ineq_147"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo>=</mml:mo><mml:mn>0.89</mml:mn></mml:math>
<tex-math><![CDATA[$s=0.89$]]></tex-math></alternatives></inline-formula>. Analysing the data in Table <xref rid="j_infor432_tab_003">2</xref>, it turns out that in single thread mode, the PSDS algorithm is on average <inline-formula id="j_infor432_ineq_148"><alternatives>
<mml:math><mml:mn>67.58</mml:mn><mml:mi mathvariant="normal">%</mml:mi></mml:math>
<tex-math><![CDATA[$67.58\% $]]></tex-math></alternatives></inline-formula> less efficient than the SDS algorithm. This decrease in efficiency occurs because some of the CPU power used to initiate the parallel processing, and the <italic>Recursive evaluator</italic> cannot be as effective as the evaluation procedure in the SDS algorithm. When 4 worker threads are enabled, then in the case of the <italic>i5</italic> processor, the average running time required for finding the optimal solution decreases by an average of <inline-formula id="j_infor432_ineq_149"><alternatives>
<mml:math><mml:mn>55.09</mml:mn><mml:mi mathvariant="normal">%</mml:mi></mml:math>
<tex-math><![CDATA[$55.09\% $]]></tex-math></alternatives></inline-formula>. When 20 worker threads and the <italic>Xenon</italic> processor are used, then the average running time required to find the optimal solution decreases by an average of 80.06%. The scaling factor <inline-formula id="j_infor432_ineq_150"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo>=</mml:mo><mml:mn>0.89</mml:mn></mml:math>
<tex-math><![CDATA[$s=0.89$]]></tex-math></alternatives></inline-formula> was used to calculate this gain. It should be noted here that although 20 worker threads have been activated, the <italic>Xenon</italic> processor has only 10 physical cores, so the efficiency of the PSDS algorithm cannot be increased by increasing the number of worker threads above 10.</p>
<p>In Tables <xref rid="j_infor432_tab_002">1</xref> and <xref rid="j_infor432_tab_003">2</xref> we may remark that, in the case of all the test instances our parallel heuristic algorithm obtained the same results in all ten runs of computational experiments. This confirms both the robustness and the quality of our developed innovative method. The computational execution time decreases as the number of worker threads increases for all instances tested. Because the algorithm has an important random component, the number of iterations required until the optimal solution is found differs at each of the runs. For this reason, the run times are not inversely proportional to the number of threads. To better quantify the gain due to parallelism, the average time of an iteration was calculated for each run, after which an average was calculated for each test instance. Thus, it can be seen that for relatively small instances (P1,1–P4,1 and P2,2–P4,4), the gain is negligible because there is not enough data to be processed. For the other instances, the gains are significant. The average duration of an iteration roughly halves when doubling the number of worker threads. In terms of single thread performance, the Xenon processor is weaker than the i5 processor, because of the lower clock frequency. The Xenon processor has 10 cores and 20 logical processors. As expected, our algorithm could not obtain any significant gain in terms of efficiency when increasing the number of worker threads over the number of physical cores.</p>
<fig id="j_infor432_fig_024">
<label>Fig. 13</label>
<caption>
<p>Evolution of the PSDS algorithm results, when run by <italic>Intel i5</italic> processor.</p>
</caption>
<graphic xlink:href="infor432_g024.jpg"/>
</fig>
<fig id="j_infor432_fig_025">
<label>Fig. 14</label>
<caption>
<p>Evolution of the PSDS algorithm results, when run by <italic>Intel Xenon</italic> processor.</p>
</caption>
<graphic xlink:href="infor432_g025.jpg"/>
</fig>
<p>Figures <xref rid="j_infor432_fig_024">13</xref> and <xref rid="j_infor432_fig_025">14</xref> show a comparison of the time evolution of the solutions found by the PSDS algorithm according to the number of used worker threads. The Intel Core i5-4590 CPU at 3.3 GHz was used in the case of Fig. <xref rid="j_infor432_fig_024">13</xref> and the Intel Xenon Silver 4114 CPU at 2.2 GHz was used in the case of Fig. <xref rid="j_infor432_fig_025">14</xref>. Each graph represents the average of the best found solution as a function of the running time, when using a certain number of worker threads. At least ten runs of the second last instance from Table <xref rid="j_infor432_tab_003">2</xref> were performed for each of the graphs. The graphs demonstrate the effectiveness of parallel processing. The time required to obtain the same result roughly halves when doubling the number of worker threads.</p>
</sec>
<sec id="j_infor432_s_006">
<label>6</label>
<title>Conclusions</title>
<p>This study suggests an effective and fast constructive parallel heuristic algorithm whose purpose is to solve the two-stage transportation problem with fixed-charges for opening the distribution centres, which generates an essential design for the distribution system from manufacturers to customers via the DCs.</p>
<p>Our parallel solution approach is based on reducing of the solutions search domain to a subdomain with a reasonable size by considering a perturbation mechanism that permits us to reevaluate abandoned solutions that could conduct to optimal or sub-optimal solutions. Our approach is designed for parallel environments and takes advantage of the multi-core processor architectures.</p>
<p>The achieved computational results on two sets of instances from the existing literature: the first one consisting of 20 medium size benchmark instances and the second one consisting of 8 large size benchmark instances prove that our suggested innovative method is remarkably competitive, and surpasses in terms of execution time the other existing solution approaches meant for providing solutions to the TSTPFC for opening the DCs, allowing us to solve real-world applications in reasonable computational time.</p>
<p>Here are some significant characteristics of the method we suggest: it is designed for parallel environments and takes advantage of the new multi-core processor architectures; it is based on the reduction of the solution search domain to a subdomain with a reasonable size by considering a perturbation mechanism that permits us to reevaluate abandoned solutions that could conduct to optimal or sub-optimal solutions; it is extremely effective, offering outstanding solutions to all the instances tested and in all ten runs of the computing experiments, and it can be adapted easily to various supply chain network design problems, proving its flexibility.</p>
</sec>
</body>
<back>
<ref-list id="j_infor432_reflist_001">
<title>References</title>
<ref id="j_infor432_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Buson</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Roberti</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Toth</surname>, <given-names>P.</given-names></string-name> (<year>2014</year>). <article-title>A reduced-cost iterated local search heuristic for the fixed-charge transportation problem</article-title>. <source>Operations Research</source>, <volume>62(5)</volume>, <fpage>1095</fpage>–<lpage>1106</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Calvete</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Gale</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Iranzo</surname>, <given-names>J.</given-names></string-name> (<year>2016</year>). <article-title>An improved evolutionary algorithm for the two-stage transportation problem with fixed charge at depots</article-title>. <source>OR Spectrum</source>, <volume>38</volume>, <fpage>189</fpage>–<lpage>206</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Calvete</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Gale</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Iranzo</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Toth</surname>, <given-names>P.</given-names></string-name> (<year>2018</year>). <article-title>A matheuristic for the two-stage fixed-charge transportation problem</article-title>. <source>Computers &amp; Operations Research</source>, <volume>95</volume>, <fpage>113</fpage>–<lpage>122</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Cosma</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Danciulescu</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Pop</surname>, <given-names>P.C.</given-names></string-name> (<year>2019</year>). <article-title>On the two-stage transportation problem with fixed charge for opening the distribution centers</article-title>. <source>IEEE Access</source>, <volume>7</volume>, <fpage>113684</fpage>–<lpage>113698</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Cosma</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Pop</surname>, <given-names>P.C.</given-names></string-name>, <string-name><surname>Danciulescu</surname>, <given-names>D.</given-names></string-name> (<year>2020</year>). <article-title>A novel matheuristic approach for a two-stage transportation problem with fixed costs associated to the routes</article-title>. <source>Computers &amp; Operations Research</source>, <volume>118</volume>, <fpage>104906</fpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_006">
<mixed-citation publication-type="chapter"><string-name><surname>Cosma</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Pop</surname>, <given-names>P.C.</given-names></string-name>, <string-name><surname>Matei</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Zelina</surname>, <given-names>I.</given-names></string-name> (<year>2018</year>). <chapter-title>A hybrid iterated local search for solving a particular two-stage fixed-charge transportation problem</chapter-title>. In: <source>Hybrid Artificial Intelligent Systems, HAIS 2018</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>10870</volume>, pp. <fpage>684</fpage>–<lpage>693</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Gen</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Altiparmak</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>L.</given-names></string-name> (<year>2006</year>). <article-title>A genetic algorithm for two-stage transportation problem using priority based encoding</article-title>. <source>OR Spectrum</source>, <volume>28</volume>, <fpage>337</fpage>–<lpage>354</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Guisewite</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Pardalos</surname>, <given-names>P.</given-names></string-name> (<year>1990</year>). <article-title>Minimum concave-cost network flow problems: applications, complexity, and algorithms</article-title>. <source>Annals of Operations Research</source>, <volume>25(1)</volume>, <fpage>75</fpage>–<lpage>99</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_009">
<mixed-citation publication-type="other"><string-name><surname>Hundt</surname>, <given-names>R.</given-names></string-name> (2011). Loop Recognition in C++/Java/Go/Scala. In: <italic>Proceedings of Scala Days 2011</italic>. <uri>https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf</uri>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_010">
<mixed-citation publication-type="other"><string-name><surname>PassMark</surname></string-name> (2020). CPU Benchmarks. <ext-link ext-link-type="uri" xlink:href="https://www.cpubenchmark.net/compare/Intel-Pentium-D-830-vs-Intel-i5-4590/1127vs2234">https://www.cpubenchmark.net/compare/Intel-Pentium-D-830-vs-Intel-i5-4590/1127vs2234</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Pirkul</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Jayaraman</surname>, <given-names>V.</given-names></string-name> (<year>1998</year>). <article-title>A multi-commodity, multi-plant, capacitated facility location problem. Formulation and efficient heuristic solution</article-title>. <source>Computers &amp; Operations Research</source>, <volume>25(10)</volume>, <fpage>869</fpage>–<lpage>878</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Pop</surname>, <given-names>P.C.</given-names></string-name>, <string-name><surname>Matei</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Pop Sitar</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Zelina</surname>, <given-names>I.</given-names></string-name> (<year>2016</year>). <article-title>A hybrid based genetic algorithm for solving a capacitated fixed-charge transportation problem</article-title>. <source>Carpathian Journal of Mathematics</source>, <volume>32(2)</volume>, <fpage>225</fpage>–<lpage>232</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Pop</surname>, <given-names>P.C.</given-names></string-name>, <string-name><surname>Sabo</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Biesinger</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Raidl</surname>, <given-names>G.</given-names></string-name> (<year>2017</year>). <article-title>Solving the two-stage fixed-charge transportation problem with a hybrid genetic algorithm</article-title>. <source>Carpathian Journal of Mathematics</source>, <volume>33(3)</volume>, <fpage>365</fpage>–<lpage>371</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_014">
<mixed-citation publication-type="journal"><string-name><surname>Raj</surname>, <given-names>K.A.A.D.</given-names></string-name>, <string-name><surname>Rajendran</surname>, <given-names>C.</given-names></string-name> (<year>2012</year>). <article-title>A genetic algorithm for solving the fixed-charge transportation model. Two-stage problem</article-title>. <source>Computers &amp; Operations Research</source>, <volume>39(9)</volume>, <fpage>2016</fpage>–<lpage>2032</lpage>.</mixed-citation>
</ref>
<ref id="j_infor432_ref_015">
<mixed-citation publication-type="book"><string-name><surname>Trobec</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Slivnik</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Bulic</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Robic</surname>, <given-names>B.</given-names></string-name> (<year>2018</year>). <source>Introduction to Parallel Computing. From Algorithms to Programming on State-of-the-Art Platforms</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Switzerland</publisher-loc>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>