<?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">INFO1225</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2019.215</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Endosymbiotic Evolutionary Algorithm for an Integrated Model of the Vehicle Routing and Truck Scheduling Problem with a Cross-Docking System</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Lee</surname><given-names>Kun-Young</given-names></name><xref ref-type="aff" rid="j_info1225_aff_001"/><bio>
<p><bold>K.-Y. Lee</bold> is an engineer at SK Hynix, Gyeonggi-do, Korea. He received his BS in industrial engineering from Konkuk University, Seoul, in 2016. His research interests are in operations research, production management, supply chain management and algorithm.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Lim</surname><given-names>Ji-Soo</given-names></name><xref ref-type="aff" rid="j_info1225_aff_001"/><bio>
<p><bold>J.-S. Lim</bold> is an engineer at T-Robotics, Gyeonggi-do, Korea. He received his BS in industrial engineering from Konkuk University, Seoul, in 2016. His research interests are in quality management, production management, supply chain management and algorithm.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Ko</surname><given-names>Sung-Seok</given-names></name><email xlink:href="ssko@konkuk.ac.kr">ssko@konkuk.ac.kr</email><xref ref-type="aff" rid="j_info1225_aff_001"/><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>S.-S. Ko</bold> is a professor in the Department of Industrial Engineering at Konkuk University, Seoul, Korea. He received his PhD in 2003 and MS in 1999 from the School of Industrial and Systems Engineering at the Georgia Institute of Technology and a BS in industrial engineering from Hanyang University, Seoul. His research interests are in operations research, production and inventory control, parallel processing, collaboration systems and financial engineering.</p></bio>
</contrib>
<aff id="j_info1225_aff_001">Department of Industrial Engineering, <institution>Konkuk University</institution>, 120 Neungdong-ro, Gwangjin-gu, Seoul, <country>South Korea</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2019</year></pub-date>
<pub-date pub-type="epub"><day>1</day><month>1</month><year>2019</year></pub-date><volume>30</volume><issue>3</issue><fpage>481</fpage><lpage>502</lpage>
<history>
<date date-type="received"><month>3</month><year>2018</year></date>
<date date-type="accepted"><month>3</month><year>2019</year></date>
</history>
<permissions><copyright-statement>© 2019 Vilnius University</copyright-statement><copyright-year>2019</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 presents a model which integrates inbound and outbound logistics with a crossdocking system. This model integrates the problem of routing inbound vehicles between suppliers and cross-docks and outbound vehicles between cross-docks and retailers, considering logistics costs and the products properties. This model aims to minimize the total cost by optimizing assignment of products to suppliers and retailers and operations of inbound and outbound vehicles. We developed an endosymbiotic evolutionary algorithm, which yields good performance in concurrent searches for the solutions of multiple subproblems and validate the performance using several numerical examples.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>logistics</kwd>
<kwd>cross-docking</kwd>
<kwd>vehicle routing</kwd>
<kwd>truck scheduling</kwd>
<kwd>endosymbiotic evolutionary algorithm</kwd>
</kwd-group>
<funding-group>
<funding-statement>This paper was supported by Konkuk University in 2015.</funding-statement>
</funding-group>
</article-meta>
</front>
<body>
<sec id="j_info1225_s_001">
<label>1</label>
<title>Introduction</title>
<p>Distribution operations reportedly account for 30% of product prices (Apte and Viswanthan, <xref ref-type="bibr" rid="j_info1225_ref_002">2000</xref>). Hence, it is very important to optimize distribution networks so as to reduce logistics costs and realize a profitable supply chain management policy. Among various distribution activities, the storage of goods is expensive because of space requirements, inventory holding costs, and labour-intensive order picking tasks. Compared to traditional warehousing with its high cost functions, the cross-docking strategy can increase the product flow while reducing the storage space requirements, inventory holding costs, and delivery lead time (Boysen and Fliedner, <xref ref-type="bibr" rid="j_info1225_ref_003">2010</xref>; Wen <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1225_ref_031">2009</xref>). In addition, transportation costs can be decreased by using cross-docking owing to the economies of scale in transportation caused by consolidating different shipments (Apte and Viswanthan, <xref ref-type="bibr" rid="j_info1225_ref_002">2000</xref>). For example, the reduction in order picking and storage costs resulting from the use of cross-docking decreased warehousing costs by up to 70% (Vahdani and Zandieh, <xref ref-type="bibr" rid="j_info1225_ref_029">2010</xref>). Therefore, the cross-docking strategy has been used by many companies in different industries and is well known to be one of the most efficient distribution systems.</p>
<p>Cross-docking systems are better suited to stable-demand products such as groceries or agricultural products; perishable bulk materials, including various chemical materials and food compounds requiring prompt shipment; and pharmaceutical materials that need to be transported in a cold-chain environment (Dondo and Cerdá, <xref ref-type="bibr" rid="j_info1225_ref_007">2014</xref>). In addition, hazardous materials are usually transported via cross-docks to remedy sites for treatment and disposal. As a result, chemical companies such as Eastman Kodak reported that they successfully implemented cross-docking strategies to gain competitive advantages (Van Belle <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1225_ref_030">2012</xref>).</p>
<p>Cross-docking is defined as continuous processing to the final destination through a cross-dock, without storing products and materials in a distribution centre (Apte and Viswanthan, <xref ref-type="bibr" rid="j_info1225_ref_002">2000</xref>). A cross-dock is usually an I-shaped facility with strip and stack dock doors located on opposite sides of the facility and minimal storage space in between (Dondo and Cerdá, <xref ref-type="bibr" rid="j_info1225_ref_007">2014</xref>). The cross-docking process includes three operations: receiving products from inbound vehicles at strip docks, consolidating the products into groups according to their destinations, and shipping them on outbound vehicles from stack docks. Both the pickup and delivery operations need to be considered to effectively apply cross-docking. Moreover, in addition to the pickup and delivery operations, vehicle routing and scheduling also need to be considered. Therefore, the physical flow in cross-dock operations can be improved by synthetic optimization of all operations, including pickup, cross-docking, and delivery. Moreover, to synthetically optimize the physical flow, the routes and schedules of vehicles need to be considered. Therefore, in this paper, the vehicle routing and truck scheduling problems are addressed along with cross-docking to improve material flow in the supply chain.</p>
<p>Boysen and Fliedner (<xref ref-type="bibr" rid="j_info1225_ref_003">2010</xref>) and Van Belle <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_030">2012</xref>) reviewed cross-docking systems thoroughly, and Buijs <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_004">2014</xref>) presented a research classification and framework for cross-docking network synchronization. Although cross-docking is rapidly becoming important in academia and industry, most studies on cross-docking have focused on the concept, physical design, cases in point, determination of optimal locations, and vehicle allocation. Sung and Song (<xref ref-type="bibr" rid="j_info1225_ref_027">2003</xref>) addressed a service network design problem for finding the optimal location of cross-docks and optimal allocation of vehicles. Jayaraman and Ross (<xref ref-type="bibr" rid="j_info1225_ref_011">2003</xref>) and Gumus and Bookbinder (<xref ref-type="bibr" rid="j_info1225_ref_010">2004</xref>) dealt with a distribution design problem that incorporates cross-docking into the supply chain by deciding whether to operate each cross-dock and the locations of open cross-docks.</p>
<p>The truck scheduling problem handles operational issues at the cross-dock, which include assigning vehicles to dock doors, determining the processing sequence of trucks at strip and stack doors, and transferring goods from inbound to outbound trucks. Tsui and Chang (<xref ref-type="bibr" rid="j_info1225_ref_028">1992</xref>) introduced a bilinear programming model to deal with the truck scheduling problem. Chen <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_005">2006</xref>) studied the truck scheduling problem for a network of cross-docks considering delivery and pickup time windows and warehouse capacities. Lee <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_015">2006</xref>) considered both cross-docking operations and truck scheduling; they assumed that all vehicles departing from suppliers arrive at the cross-dock simultaneously. Yu and Egbelu (<xref ref-type="bibr" rid="j_info1225_ref_032">2008</xref>) presented two approaches to scheduling trucks at the strip and stack docks. Kreng and Chen (<xref ref-type="bibr" rid="j_info1225_ref_014">2008</xref>) studied production–distribution planning for a traditional warehousing strategy versus a cross-docking strategy. Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_016">2009</xref>) considered a situation where the number of vehicles is higher than the number of cross-dock doors.</p>
<p>For the deterministic truck scheduling problem, where the trucks in the pickup and delivery processes are the same, Wen <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_031">2009</xref>) proposed a tabu search algorithm, Liao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_017">2010</xref>) developed a new tabu search algorithm, Santos <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_025">2011</xref>, <xref ref-type="bibr" rid="j_info1225_ref_026">2013</xref>) studied branch-and-price algorithms, and Morais <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_021">2014</xref>) developed some heuristics algorithms. In addition, Alpan <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_001">2011</xref>) studied schedule operations in a cross-dock where preemption and temporary storage are allowed to increase the operational flexibility. Dondo <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_008">2011</xref>) formulated the truck scheduling problem using a mixed integer programming model where products are transported from manufacturers to customers using warehousing and/or cross-docking strategies. Miao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_020">2012</xref>) considered a multiple cross-dock transshipment problem with time windows. Dondo and Cerdá (<xref ref-type="bibr" rid="j_info1225_ref_006">2013</xref>) investigated a truck scheduling problem assuming an unlimited number of doors. For distribution networks under uncertainty, Mousavi <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_022">2014</xref>) considered the location and the truck scheduling problem, proposing a hybrid fuzzy possibilistic-stochastic model.</p>
<p>The problem considered in this study extends these pickup and delivery problems for a single cross-dock, integrating cross-docking with vehicle route scheduling. Owing to the NP-hardness of this problem, even small-scale instances cannot be optimally solved within a reasonable amount of time. Hence, an endosymbiotic evolutionary algorithm (EEA) has been developed to solve the problem; EEA is known to perform well in concurrent searches for the solutions of multiple subproblems, especially when the original problem consists of multiple interconnected subproblems that need to be solved as a whole instead of solving each subproblem separately.</p>
<p>The rest of the paper is organized as follows. The description and mathematical formulation of the problem are presented in the next section. The proposed EEA for the problem is described in Section <xref rid="j_info1225_s_006">3</xref>, and in Section <xref rid="j_info1225_s_011">4</xref>, the algorithm performance is validated using several numerical examples in comparison with the mixed integer programming model as well as two genetic algorithms. Finally, the conclusions and future research directions are presented in the last section.</p>
</sec>
<sec id="j_info1225_s_002">
<label>2</label>
<title>Problem Formulation</title>
<sec id="j_info1225_s_003">
<label>2.1</label>
<title>Problem Description</title>
<fig id="j_info1225_fig_001">
<label>Fig. 1</label>
<caption>
<p>VRTSP model.</p>
</caption>
<graphic xlink:href="info1225_g001.jpg"/>
</fig>
<p>The integrated model of the cross-dock vehicle routing and truck scheduling problem (VRTSP) is defined as the problem of transporting a set of products from suppliers to customers (or retailers) by passing them through an intermediate cross-docking facility at the minimum transportation cost. Figure <xref rid="j_info1225_fig_001">1</xref> illustrates how a cross-docking facility operates in VRTSP. A fleet of inbound vehicles picks up products from suppliers and is assigned to strip (receiving) doors in the cross-dock. Picked-up products are consolidated, transported to outbound vehicles assigned to stack (shipping) doors, and immediately delivered to customers without storage.</p>
<p>Inbound and outbound vehicles operate exclusively; i.e. suppliers are served only by inbound vehicles, whereas customers are served only by outbound vehicles. Both inbound and outbound vehicles need to be operated efficiently to serve all suppliers and customers with a limited number of vehicles. This is a so-called vehicle routing problem. If each node must be served within a certain time period, the time windows can be considered in terms of an earliness and/or tardiness penalty cost.</p>
<p>When an inbound (outbound) truck arrives at (departs from) the cross-dock, it needs to be assigned to a strip door with the aim of increasing the cross-dock productivity and reducing the handling cost. A truck scheduling problem seeks to find the optimal assignment of inbound/outbound trucks to dock doors. In this study, we assume that the cross-dock has a limited number of strip doors and stack (shipping) doors; consequently, truck scheduling is an important problem because dock doors are scarce resources that need to be scheduled over time, and lines of trucks waiting for service can arise at every dock door.</p>
<p>As simultaneous treatment of both the vehicle routing problem and the truck scheduling problem is usually quite demanding, most studies have solved these integrated problems sequentially. However, in this paper we consider both the vehicle routing problem and the truck scheduling problem at the same time.</p>
</sec>
<sec id="j_info1225_s_004">
<label>2.2</label>
<title>Assumptions</title>
<p>The basic characteristics of and assumptions applied to the proposed model are as follows: 
<list>
<list-item id="j_info1225_li_001">
<label>•</label>
<p>The sum of all demands is equal to the sum of all supplies for all product types; i.e. unloaded product types are the same as loaded product types, and holding inventory at the cross-dock is not allowed.</p>
</list-item>
<list-item id="j_info1225_li_002">
<label>•</label>
<p>The cross-dock yard is unlimited.</p>
</list-item>
<list-item id="j_info1225_li_003">
<label>•</label>
<p>All nodes excluding the cross-dock must be served by one vehicle.</p>
</list-item>
<list-item id="j_info1225_li_004">
<label>•</label>
<p>Service time (loading or unloading time) for each product type is fixed at each node.</p>
</list-item>
<list-item id="j_info1225_li_005">
<label>•</label>
<p>All vehicles have homogeneous capacity and fixed cost.</p>
</list-item>
<list-item id="j_info1225_li_006">
<label>•</label>
<p>An inbound vehicle cannot leave a strip door until its task is completed. Similarly, an outbound vehicle cannot leave a stack door until its task is completed.</p>
</list-item>
<list-item id="j_info1225_li_007">
<label>•</label>
<p>Inbound vehicles and outbound vehicles are operated separately. Therefore, inbound vehicles cannot visit customers, whereas outbound vehicles cannot visit suppliers.</p>
</list-item>
<list-item id="j_info1225_li_008">
<label>•</label>
<p>The vehicle changeover time is fixed.</p>
</list-item>
<list-item id="j_info1225_li_009">
<label>•</label>
<p>Tardiness or earliness is allowed with a separate penalty cost.</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_info1225_s_005">
<label>2.3</label>
<title>Notation and the Proposed Model</title>
<p>The following notations are used to formulate VRTSP:</p>
<p><italic>Sets</italic>:</p>
<p><italic>S</italic> – set of supplier (inbound) nodes,</p>
<p><italic>C</italic> – set of customer (outbound) nodes,</p>
<p><inline-formula id="j_info1225_ineq_001"><alternatives>
<mml:math><mml:mi mathvariant="italic">N</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo>∪</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$N=S\cup C\cup \{0\}$]]></tex-math></alternatives></inline-formula> – entire set of nodes, where 0 indicates the cross-dock,</p>
<p><inline-formula id="j_info1225_ineq_002"><alternatives>
<mml:math><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" stretchy="false">{</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:mo 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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">≠</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${A_{1}}=\{(i,j)|i,j\in S\cup \{0\},i\ne j\}$]]></tex-math></alternatives></inline-formula> – set of feasible arcs in the picking phase,</p>
<p><inline-formula id="j_info1225_ineq_003"><alternatives>
<mml:math><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" stretchy="false">{</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:mo 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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo>∪</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">≠</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${A_{2}}=\{(i,j)|i,j\in C\cup \{0\},i\ne j\}$]]></tex-math></alternatives></inline-formula> – set of feasible arcs in the delivery phase,</p>
<p><inline-formula id="j_info1225_ineq_004"><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> – set of all feasible arcs in the network,</p>
<p><inline-formula id="j_info1225_ineq_005"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${K_{1}}$]]></tex-math></alternatives></inline-formula> – set of inbound vehicles,</p>
<p><inline-formula id="j_info1225_ineq_006"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${K_{2}}$]]></tex-math></alternatives></inline-formula> – set of outbound vehicles,</p>
<p><inline-formula id="j_info1225_ineq_007"><alternatives>
<mml:math><mml:mi mathvariant="italic">K</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$K={K_{1}}\cup {K_{2}}$]]></tex-math></alternatives></inline-formula> – set of all vehicles,</p>
<p><inline-formula id="j_info1225_ineq_008"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${D_{1}}$]]></tex-math></alternatives></inline-formula> – set of strip doors,</p>
<p><inline-formula id="j_info1225_ineq_009"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${D_{2}}$]]></tex-math></alternatives></inline-formula> – set of stack doors,</p>
<p><inline-formula id="j_info1225_ineq_010"><alternatives>
<mml:math><mml:mi mathvariant="italic">D</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</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">D</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$D={D_{1}}\cup {D_{2}}$]]></tex-math></alternatives></inline-formula> – set of dock doors,</p>
<p><italic>G</italic> – set of product types.</p>
<p><italic>Parameters</italic>:</p>
<p><inline-formula id="j_info1225_ineq_011"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">[</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$[{a_{i}},{b_{i}}]$]]></tex-math></alternatives></inline-formula> – time window at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_012"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</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[${c_{ij}}$]]></tex-math></alternatives></inline-formula> – transportation cost from node <italic>i</italic> to node <italic>j</italic>,</p>
<p><inline-formula id="j_info1225_ineq_013"><alternatives>
<mml:math><mml:mi mathvariant="italic">CT</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{CT}$]]></tex-math></alternatives></inline-formula> – changeover time of vehicles at dock doors,</p>
<p><italic>o</italic> – operation cost of vehicles,</p>
<p><italic>Q</italic> – maximum load capacity of vehicles,</p>
<p><inline-formula id="j_info1225_ineq_014"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${q_{i}^{g}}$]]></tex-math></alternatives></inline-formula> – supply/demand of product type <italic>g</italic> at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_015"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$s{t_{i}^{g}}$]]></tex-math></alternatives></inline-formula> – service time of product type <italic>g</italic> at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_016"><alternatives>
<mml:math><mml:mi mathvariant="italic">t</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</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[$t{t_{ij}}$]]></tex-math></alternatives></inline-formula> – travel time from node <italic>i</italic> to node <italic>j</italic>,</p>
<p><inline-formula id="j_info1225_ineq_017"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">α</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\alpha _{i}^{g}}$]]></tex-math></alternatives></inline-formula> – earliness penalty cost of product type <italic>g</italic> at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_018"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\beta _{i}^{g}}$]]></tex-math></alternatives></inline-formula> – tardiness penalty cost of product type <italic>g</italic> at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_019"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${K_{i}}$]]></tex-math></alternatives></inline-formula> – maximum number of available inbound vehicles,</p>
<p><inline-formula id="j_info1225_ineq_020"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">o</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${K_{o}}$]]></tex-math></alternatives></inline-formula> – maximum number of available outbound vehicles.</p>
<p><italic>Decision variables</italic>:</p>
<p><inline-formula id="j_info1225_ineq_021"><alternatives>
<mml:math><mml:msubsup><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:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${x_{ij}^{k}}$]]></tex-math></alternatives></inline-formula> – 1 if vehicle <italic>k</italic> moves from node <italic>i</italic> to node <italic>j</italic>, otherwise 0,</p>
<p><inline-formula id="j_info1225_ineq_022"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${X_{d}^{k}}$]]></tex-math></alternatives></inline-formula> – 1 if vehicle <italic>k</italic> is assigned to strip door <italic>d</italic>, otherwise 0,</p>
<p><inline-formula id="j_info1225_ineq_023"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${Y_{d}^{k}}$]]></tex-math></alternatives></inline-formula> – 1 if vehicle <italic>k</italic> is assigned to stack door <italic>d</italic>, otherwise 0,</p>
<p><inline-formula id="j_info1225_ineq_024"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</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[${P_{ij}}$]]></tex-math></alternatives></inline-formula> – 1 if inbound vehicles <italic>i</italic> and <italic>j</italic> are assigned to the same strip door and vehicle <italic>i</italic> is</p>
<p>the predecessor of vehicle <italic>j</italic>, otherwise 0,</p>
<p><inline-formula id="j_info1225_ineq_025"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Q_{ij}}$]]></tex-math></alternatives></inline-formula> – 1 if outbound vehicles <italic>i</italic> and <italic>j</italic> are assigned to the same stack door and vehicle <italic>i</italic></p>
<p>is the predecessor of vehicle <italic>j</italic>, otherwise 0,</p>
<p><inline-formula id="j_info1225_ineq_026"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</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[${v_{ij}}$]]></tex-math></alternatives></inline-formula> – 1 if product units have to be transported from inbound vehicle <italic>i</italic> to outbound</p>
<p>vehicle <italic>j</italic>, otherwise 0,</p>
<p><inline-formula id="j_info1225_ineq_027"><alternatives>
<mml:math><mml:mi mathvariant="italic">t</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$t{f_{ij}^{g}}$]]></tex-math></alternatives></inline-formula> – amount of product type <italic>g</italic> transported from inbound vehicle <italic>i</italic> to outbound</p>
<p>vehicle <italic>j</italic>,</p>
<p><inline-formula id="j_info1225_ineq_028"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</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[${y_{ij}}$]]></tex-math></alternatives></inline-formula> – total quantity of products from node <italic>i</italic> to node <italic>j</italic>,</p>
<p><inline-formula id="j_info1225_ineq_029"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">AT</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{AT}_{i}}$]]></tex-math></alternatives></inline-formula> – arrival time at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_030"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${e_{i}}$]]></tex-math></alternatives></inline-formula> – earliness time at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_031"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{i}}$]]></tex-math></alternatives></inline-formula> – tardiness time at node <italic>i</italic>,</p>
<p><inline-formula id="j_info1225_ineq_032"><alternatives>
<mml:math><mml:mi mathvariant="italic">u</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$u{s_{k}}$]]></tex-math></alternatives></inline-formula> – unloading start time of inbound vehicle <italic>k</italic>,</p>
<p><inline-formula id="j_info1225_ineq_033"><alternatives>
<mml:math><mml:mi mathvariant="italic">u</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$u{e_{k}}$]]></tex-math></alternatives></inline-formula> – unloading end time of inbound vehicle <italic>k</italic>,</p>
<p><inline-formula id="j_info1225_ineq_034"><alternatives>
<mml:math><mml:mi mathvariant="italic">a</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$a{t_{k}}$]]></tex-math></alternatives></inline-formula> – available unloading start time of inbound vehicle <italic>k</italic>,</p>
<p><inline-formula id="j_info1225_ineq_035"><alternatives>
<mml:math><mml:mi mathvariant="italic">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$l{s_{k}}$]]></tex-math></alternatives></inline-formula> – loading start time of outbound vehicle <italic>k</italic>,</p>
<p><inline-formula id="j_info1225_ineq_036"><alternatives>
<mml:math><mml:mi mathvariant="italic">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$l{e_{k}}$]]></tex-math></alternatives></inline-formula> – loading end time of outbound vehicle <italic>k</italic>,</p>
<p><inline-formula id="j_info1225_ineq_037"><alternatives>
<mml:math><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$d{k_{k}}$]]></tex-math></alternatives></inline-formula> – available departure time of outbound vehicle <italic>k</italic>.</p>
<p>The proposed VRTSP model is formulated as follows: 
<list>
<list-item id="j_info1225_li_010">
<label>•</label>
<p>Objective Function 
<disp-formula id="j_info1225_eq_001">
<label>(1)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd class="align-odd"><mml:mo movablelimits="false">min</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><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:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">A</mml:mi></mml:mrow></mml:munder><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</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:msubsup><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:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">o</mml:mi><mml:mspace width="-0.1667em"/><mml:mspace width="-0.1667em"/><mml:mspace width="-0.1667em"/><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">A</mml:mi></mml:mrow></mml:munder><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mspace width="-0.1667em"/><mml:mspace width="-0.1667em"/><mml:mspace width="-0.1667em"/><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">α</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mspace width="-0.1667em"/><mml:mspace width="-0.1667em"/><mml:mspace width="-0.1667em"/><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \min \sum \limits_{(i,j)\in A}\sum \limits_{k\in K}{c_{ij}}{x_{ij}^{k}}+o\hspace{-0.1667em}\hspace{-0.1667em}\hspace{-0.1667em}\sum \limits_{(0,j)\in A}\sum \limits_{k\in K}{x_{0j}^{k}}+\hspace{-0.1667em}\hspace{-0.1667em}\hspace{-0.1667em}\sum \limits_{i\in S\cup C}{e_{i}}\sum \limits_{g\in G}{\alpha _{i}^{g}}{q_{i}^{g}}+\hspace{-0.1667em}\hspace{-0.1667em}\hspace{-0.1667em}\sum \limits_{\in S\cup C}{t_{i}}\sum \limits_{g\in G}{\beta _{i}^{g}}{q_{i}^{g}};\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_info1225_li_011">
<label>•</label>
<p>Constraints</p>
<list>
<list-item id="j_info1225_li_012">
<label>–</label>
<p>Vehicle routing constraints: <disp-formula-group id="j_info1225_dg_001">
<disp-formula id="j_info1225_eq_002">
<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:munder><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 stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">(</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo>:</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml: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 fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>:</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:mo stretchy="false">∈</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 fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:msubsup><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:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">)</mml:mo><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& \sum \limits_{k\in {K_{1}}}\bigg(\sum \limits_{\{p:(p,i)\in {A_{1}}\}}{x_{pi}^{k}}+\sum \limits_{\{j:(i,j)\in {A_{1}}\}}{x_{ij}^{k}}\bigg)=2,\hspace{1em}\forall i\in S,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_003">
<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:munder><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 stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">(</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo>:</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml: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 fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>:</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:mo stretchy="false">∈</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:mo fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:msubsup><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:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">)</mml:mo><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& \sum \limits_{k\in {K_{2}}}\bigg(\sum \limits_{\{p:(p,i)\in {A_{2}}\}}{x_{pi}^{k}}+\sum \limits_{\{j:(i,j)\in {A_{2}}\}}{x_{ij}^{k}}\bigg)=2,\hspace{1em}\forall i\in C,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_004">
<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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo>:</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">p</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>:</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& \sum \limits_{\{i:(i,p)\in A\}}\sum \limits_{k\in K}{x_{ip}^{k}}-\sum \limits_{\{j:(p,j)\in A\}}\sum \limits_{k\in K}{x_{pj}^{k}}=0,\hspace{1em}\forall i\in S\cup C,\hspace{2.5pt}\forall k\in K,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_005">
<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:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:munder><mml:munder><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 stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></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\in S}\sum \limits_{k\in {K_{1}}}{x_{0j}^{k}}\leqslant {K_{i}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_006">
<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:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:munder><mml:munder><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 stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">o</mml:mi></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\in C}\sum \limits_{k\in {K_{2}}}{x_{0j}^{k}}\leqslant {K_{o}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_007">
<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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo>:</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:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo>:</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:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</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:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>if</mml:mtext><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>if</mml:mtext><mml:mspace width="2.5pt"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>otherwise</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& \sum \limits_{\{k:(j,k)\in A\}}{y_{jk}}-\sum \limits_{\{i:(i,j)\in A\}}{y_{ij}}=\left\{\begin{array}{l@{\hskip4.0pt}l}{\textstyle\sum _{g\in G}}{q_{i}^{g}}\hspace{1em}& \text{if}\hspace{2.5pt}i\in S,\\ {} -{\textstyle\sum _{g\in G}}{q_{i}^{g}}\hspace{1em}& \text{if}\hspace{2.5pt}i\in C,\\ {} 0\hspace{1em}& \text{otherwise}\end{array}\right.\hspace{1em}\forall j\in S\cup C,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_008">
<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:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">Q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {y_{ij}}\leqslant Q,\hspace{1em}\forall i,j\in S\cup C,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_009">
<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">A</mml:mi><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:mi mathvariant="italic">A</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:mi mathvariant="italic">s</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">t</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:munder><mml:msubsup><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:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo maxsize="2.03em" minsize="2.03em" fence="true" mathvariant="normal">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& A{T_{j}}\geqslant A{T_{i}}+\sum \limits_{g\in G}s{t_{i}^{g}}{q_{i}^{g}}+t{t_{ij}}-M\bigg(1-\sum \limits_{k\in K}{x_{ij}^{k}}\bigg),\hspace{1em}\forall i,j\in S\cup C,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_010">
<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">A</mml:mi><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:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">t</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& A{T_{j}}\geqslant d{t_{k}}+t{t_{0j}}-M\big(1-{x_{0j}^{k}}\big),\hspace{1em}\forall j\in S\cup C,\hspace{2.5pt}\forall k\in K,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_011">
<label>(11)</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">a</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:mi mathvariant="italic">s</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">t</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">D</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& a{t_{k}}\geqslant A{T_{i}}+\sum \limits_{g\in G}s{t_{i}^{g}}{q_{i}^{g}}+t{t_{i0}}-M\big(1-{x_{i0}^{k}}\big),\hspace{1em}\forall i\in P\cup D,\hspace{2.5pt}\forall k\in K,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_012">
<label>(12)</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">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</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:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {e_{i}}\geqslant {a_{i}}-A{T_{i}},\hspace{1em}\forall i\in S\cup C,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_013">
<label>(13)</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">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mi mathvariant="italic">A</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</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:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {t_{i}}\geqslant A{T_{i}}-{b_{i}},\hspace{1em}\forall i\in S\cup C;\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</list-item>
<list-item id="j_info1225_li_013">
<label>–</label>
<p>Truck scheduling constraints: <disp-formula-group id="j_info1225_dg_002">
<disp-formula id="j_info1225_eq_014">
<label>(14)</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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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_{d\in {D_{1}}}{X_{d}^{k}}=\sum \limits_{j\in S}{x_{0j}^{k}},\hspace{1em}\forall k\in {K_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_015">
<label>(15)</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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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_{d\in {D_{2}}}{X_{d}^{k}}=\sum \limits_{j\in C}{x_{0j}^{k}},\hspace{1em}\forall k\in {K_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_016">
<label>(16)</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:msubsup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</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">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><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:mi mathvariant="italic">i</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">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</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}{}& {X_{d}^{i}}+{X_{d}^{j}}-1\leqslant {P_{ij}}+{P_{ji}},\hspace{1em}\forall i,j\in {K_{1}},\hspace{2.5pt}\forall d\in {D_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_017">
<label>(17)</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">P</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">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</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">K</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}{}& {P_{ij}}+{P_{ji}}\leqslant 1,\hspace{1em}\forall i,j\in {K_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_018">
<label>(18)</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:msubsup><mml:mrow><mml:mi mathvariant="italic">Y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">Q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">Q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><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:mi mathvariant="italic">i</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">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">D</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}{}& {Y_{d}^{i}}+{Y_{d}^{j}}-1\leqslant {Q_{ij}}+{Q_{ji}},\hspace{1em}\forall i,j\in {K_{2}},\hspace{2.5pt}\forall d\in {D_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_019">
<label>(19)</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">Q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">Q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</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">K</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}{}& {Q_{ij}}+{Q_{ji}}\leqslant 1,\hspace{1em}\forall i,j\in {K_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_020">
<label>(20)</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">u</mml:mi><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:mi mathvariant="italic">a</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</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:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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}{}& u{s_{i}}\geqslant a{t_{i}},\hspace{1em}\forall i\in {K_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_021">
<label>(21)</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">u</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</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">u</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mi mathvariant="italic">T</mml:mi><mml:mo>−</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</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">K</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}{}& u{s_{j}}\geqslant u{e_{i}}+CT-M(1-{P_{ij}}),\hspace{1em}\forall i,j\in {K_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_022">
<label>(22)</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">u</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mi mathvariant="italic">u</mml:mi><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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:mi mathvariant="italic">s</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:munder><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 stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mi mathvariant="italic">t</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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}{}& u{e_{i}}\geqslant u{s_{i}}+\sum \limits_{g\in G}s{t_{0}^{g}}\sum \limits_{j\in {K_{2}}}t{f_{ij}^{g}}),\hspace{1em}\forall i\in {K_{1}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_023">
<label>(23)</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">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</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">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">C</mml:mi><mml:mi mathvariant="italic">T</mml:mi><mml:mo>−</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">Q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</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">K</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}{}& l{s_{j}}\geqslant l{e_{i}}+CT-M(1-{Q_{ij}}),\hspace{1em}\forall i,j\in {K_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_024">
<label>(24)</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">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</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">u</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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}{}& l{s_{j}}\geqslant u{e_{i}}-M(1-{v_{ij}}),\hspace{1em}\forall i\in {K_{1}},\hspace{2.5pt}\forall j\in {K_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_025">
<label>(25)</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">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</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">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:mi mathvariant="italic">s</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:munder><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 stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mi mathvariant="italic">t</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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}{}& l{e_{j}}\geqslant l{s_{j}}+\sum \limits_{g\in G}s{t_{0}^{g}}\sum \limits_{i\in {K_{1}}}t{f_{ij}^{g}},\hspace{1em}\forall j\in {K_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_026">
<label>(26)</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">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mi mathvariant="italic">l</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</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:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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}{}& d{t_{k}}\geqslant l{e_{k}},\hspace{1em}\forall k\in {K_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_027">
<label>(27)</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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:mi mathvariant="italic">t</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>⩾</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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_{g\in G}t{f_{ij}^{g}}\geqslant 1-M(1-{v_{ij}}),\hspace{1em}\forall i\in {K_{1}},\hspace{2.5pt}\forall j\in {K_{2}},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_028">
<label>(28)</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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi></mml:mrow></mml:munder><mml:mi mathvariant="italic">t</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</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_{g\in G}t{f_{ij}^{g}}\leqslant M{v_{ij}},\hspace{1em}\forall i\in {K_{1}},\hspace{2.5pt}\forall j\in {K_{2}};\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</list-item>
<list-item id="j_info1225_li_014">
<label>–</label>
<p>Product transshipment constraints: <disp-formula-group id="j_info1225_dg_003">
<disp-formula id="j_info1225_eq_029">
<label>(29)</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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mi mathvariant="italic">t</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>:</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:mo stretchy="false">∈</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 fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:msubsup><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:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& \sum \limits_{{k_{2}}\in {K_{2}}}t{f_{k{k_{2}}}^{g}}=\sum \limits_{i\in S}{q_{i}^{g}}\sum \limits_{\{j:(i,j)\in {A_{1}}\}}{x_{ij}^{k}},\hspace{1em}\forall k\in {K_{1}},\hspace{2.5pt}\forall g\in G,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1225_eq_030">
<label>(30)</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:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mi mathvariant="italic">t</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="italic">k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><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 stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msubsup><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>:</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:mo stretchy="false">∈</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:mo fence="true" stretchy="false">}</mml:mo></mml:mrow></mml:munder><mml:msubsup><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:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">G</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& \sum \limits_{{k_{1}}\in {K_{1}}}t{f_{{k_{1}}k}^{g}}=\sum \limits_{i\in C}{q_{i}^{g}}\sum \limits_{\{j:(i,j)\in {A_{2}}\}}{x_{ij}^{k}},\hspace{1em}\forall k\in {K_{2}},\hspace{2.5pt}\forall g\in G.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</list-item>
</list>
</list-item>
</list> 
Objective (<xref rid="j_info1225_eq_001">1</xref>) minimizes the total supply chain cost, which has four components: total transportation cost, total vehicle operation cost, total earliness penalty cost, and total tardiness penalty cost. We note that material handling cost in the cross-dock yard is ignored by assumption.</p>
<p>Constraints can be divided into three categories. The first type of constraints are related to the vehicle routing problem (constraints (<xref rid="j_info1225_eq_002">2</xref>)–(<xref rid="j_info1225_eq_013">13</xref>)). Constraints (<xref rid="j_info1225_eq_002">2</xref>) and (<xref rid="j_info1225_eq_003">3</xref>) ensure that nodes excluding the cross-dock are serviced once by one vehicle. Route continuity is guaranteed by constraint (<xref rid="j_info1225_eq_004">4</xref>). Constraint (<xref rid="j_info1225_eq_005">5</xref>) determines the number of inbound vehicles to use for pickup routes; similarly, constraint (<xref rid="j_info1225_eq_006">6</xref>) requires that all delivery routes are made with available outbound vehicles. The total quantity transported among nodes is expressed by constraint (<xref rid="j_info1225_eq_007">7</xref>). Constraint (<xref rid="j_info1225_eq_008">8</xref>) restricts the load quantity on all routes, so a vehicle cannot ship more than its maximum capacity. Constraint (<xref rid="j_info1225_eq_009">9</xref>) computes the arrival times at each node as the maximum of the sum of the arrival time, total service time, and travel time from other nodes. Constraint (<xref rid="j_info1225_eq_010">10</xref>) states that the arrival time of vehicles is greater than the arrival time at the first node from the cross-dock. Constraint (<xref rid="j_info1225_eq_011">11</xref>) ensures that the return time of vehicles to the cross-dock is greater than the maximum of the sum of the arrival time, total service time, and travel time. Earliness and tardiness are computed by constraints (<xref rid="j_info1225_eq_012">12</xref>) and (<xref rid="j_info1225_eq_013">13</xref>), respectively.</p>
<p>The second type is related to the vehicle scheduling problem (constraints (<xref rid="j_info1225_eq_014">14</xref>)–(<xref rid="j_info1225_eq_025">25</xref>)). Constraint (<xref rid="j_info1225_eq_014">14</xref>) ensures that each inbound vehicle is assigned to a strip door if it is used for pickup routes. Similarly, constraint (<xref rid="j_info1225_eq_015">15</xref>) ensures that each outbound vehicle is assigned to a stack door if it is used for delivery routes. Constraints (<xref rid="j_info1225_eq_016">16</xref>) and (<xref rid="j_info1225_eq_017">17</xref>) represent the precedence constraints in a strip door when two vehicles are assigned to the same strip door. These constraints are used to compute the unloading time of each vehicle. Constraints (<xref rid="j_info1225_eq_020">20</xref>) and (<xref rid="j_info1225_eq_021">21</xref>) ensure that the unloading start time of each inbound vehicle at the cross-dock is the maximum of the arrival time of the vehicle and the end time of its predecessor plus the vehicle changeover time. Constraint (<xref rid="j_info1225_eq_022">22</xref>) describes the unloading end time of each inbound vehicle. Based on the assumption that a vehicle cannot leave the door before its task is completed, the unloading end time is equal to its start time plus the time required to unload all products transported to outbound trucks. Similarly, constraints (<xref rid="j_info1225_eq_018">18</xref>) and (<xref rid="j_info1225_eq_019">19</xref>) represent the precedent constraints in a stack door. Constraints (<xref rid="j_info1225_eq_023">23</xref>) and (<xref rid="j_info1225_eq_024">24</xref>) determine the loading start time of an outbound vehicle according to its predecessor and the inbound vehicles that transport products to the outbound vehicle. This can be expressed as the larger time among the maximum of the loading end time of the predecessor and the maximum of the unloading end times of the inbound vehicles that transport products to the outbound vehicle. The loading end time of an outbound vehicle can be computed as the sum of its start time and the time required to load all products transported by inbound vehicles, which is enforced by constraint (<xref rid="j_info1225_eq_025">25</xref>). An outbound vehicle can depart from the cross-dock after its loading task is completed; thus, the departure time of an outbound vehicle is equal to its loading end time, which is expressed by constraint (<xref rid="j_info1225_eq_026">26</xref>). Constraints (<xref rid="j_info1225_eq_027">27</xref>) and (<xref rid="j_info1225_eq_028">28</xref>) represent the relationship between <inline-formula id="j_info1225_ineq_038"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</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[${v_{ij}}$]]></tex-math></alternatives></inline-formula> and the amount of product transported from inbound vehicle <italic>i</italic> to outbound vehicle <italic>j</italic>.</p>
<p>Product transshipment between inbound vehicles and outbound vehicles is expressed by constraints (<xref rid="j_info1225_eq_029">29</xref>) and (<xref rid="j_info1225_eq_030">30</xref>). Constraint (<xref rid="j_info1225_eq_029">29</xref>) ensures that the total quantity of product types transported from an inbound vehicle to outbound vehicles is equal to its pickup quantity. Constraint (<xref rid="j_info1225_eq_030">30</xref>) ensures that the total quantity of product types transported from inbound vehicles to an outbound vehicle is equal to its delivery quantity.</p>
</sec>
</sec>
<sec id="j_info1225_s_006">
<label>3</label>
<title>Proposed Endosymbiotic Evolutionary Algorithm</title>
<sec id="j_info1225_s_007">
<label>3.1</label>
<title>Endosymbiotic Evolutionary Algorithm</title>
<p>The VRTSP under study is a well-known NP-hard problem. Therefore, we propose an EEA-based method to obtain a good approximation solution within a reasonable time. EEA proposed by Kim <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_013">2001</xref>) is a type of symbiotic evolutionary algorithm that imitates the natural process of endosymbiotic evolution (Margulis, <xref ref-type="bibr" rid="j_info1225_ref_019">1980</xref>), in which prokaryotes with relatively simple structure enter a larger host prokaryote, where they live together in symbiosis and evolve into a eukaryote. Since the advent of EEA, this algorithm has been applied to combinatorial optimization problems and has been proven to be very effective at solving them. Owing to the intrinsic properties of EEA, it can be a good candidate to search for the solutions of multiple subproblems concurrently, especially when the original problem consists of multiple interconnected subproblems that are solved as a whole instead of being considered separately.</p>
<fig id="j_info1225_fig_002">
<label>Fig. 2</label>
<caption>
<p>Endosymbiotic evolutionary algorithm.</p>
</caption>
<graphic xlink:href="info1225_g002.jpg"/>
</fig>
<p>Figure <xref rid="j_info1225_fig_002">2</xref> gives an overview of EEA under consideration. In EEA, the original problem is split into several subproblems, and each subproblem has its own population (<inline-formula id="j_info1225_ineq_039"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[k]$]]></tex-math></alternatives></inline-formula>) consisting of symbionts representing partial solutions to the entire problem. To construct a complete solution to the entire problem, all the partial solutions, one from each of the populations, are combined. Each population evolves while cooperating with corresponding symbionts from other populations so as to find better solutions to the original problem. However, because individuals in each population of subproblems are only partial solutions, we can evaluate the solution only when the corresponding symbionts are combined appropriately into endosymbionts. In addition, the population (<inline-formula id="j_info1225_ineq_040"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Pop</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{Pop}_{C}}$]]></tex-math></alternatives></inline-formula>) of the combined problem in this algorithm consists of the endosymbionts, which carry the genes of all the symbionts (partial solutions). Hence, individuals in the population of the combined problem represent solutions to the original problem. Individuals in the population of the original problem compete with new offspring generated by combining individuals from each population of subproblems. However, the population of the original problem also evolves to find a better solution to the original problem.</p>
<p>Each population forms a two-dimensional structure consisting of a toroidal grid with the same number of individuals, <inline-formula id="j_info1225_ineq_041"><alternatives>
<mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math>
<tex-math><![CDATA[$n\times n$]]></tex-math></alternatives></inline-formula>, and individuals in the population are mapped onto the cells of the grid. Let <inline-formula id="j_info1225_ineq_042"><alternatives>
<mml:math><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:math>
<tex-math><![CDATA[$(i,j)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1225_ineq_043"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math>
<tex-math><![CDATA[$i,j=1,\dots ,n$]]></tex-math></alternatives></inline-formula> be the location index of the <inline-formula id="j_info1225_ineq_044"><alternatives>
<mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math>
<tex-math><![CDATA[$n\times n$]]></tex-math></alternatives></inline-formula> toroidal grids. Then <inline-formula id="j_info1225_ineq_045"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi><mml:msub><mml:mrow><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></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[$\mathit{NP}{[k]_{ij}}$]]></tex-math></alternatives></inline-formula> is defined as the neighbourhood of individual <inline-formula id="j_info1225_ineq_046"><alternatives>
<mml:math><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:math>
<tex-math><![CDATA[$(i,j)$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1225_ineq_047"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[k]$]]></tex-math></alternatives></inline-formula> and forms a <inline-formula id="j_info1225_ineq_048"><alternatives>
<mml:math><mml:mn>3</mml:mn><mml:mo>×</mml:mo><mml:mn>3</mml:mn></mml:math>
<tex-math><![CDATA[$3\times 3$]]></tex-math></alternatives></inline-formula> grid with <inline-formula id="j_info1225_ineq_049"><alternatives>
<mml:math><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:math>
<tex-math><![CDATA[$(i,j)$]]></tex-math></alternatives></inline-formula> in the centre of this structure and eight neighbouring individuals. Only the individuals in these neighbourhoods are considered for the interactions among these populations in each generation. The neighbourhoods of selected individuals in each population cooperate to find a good solution of the problem. Here, because each neighbourhood contains nine individuals, <inline-formula id="j_info1225_ineq_050"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mn>9</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${9^{K}}$]]></tex-math></alternatives></inline-formula> (where <italic>K</italic> is the number of subproblems) combinations are considered as candidate solutions of the original problem. The best combination among them is compared with the current best solution in the algorithm, which competes with nine individuals in <inline-formula id="j_info1225_ineq_051"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{NP}$]]></tex-math></alternatives></inline-formula> from <inline-formula id="j_info1225_ineq_052"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Pop</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{Pop}_{C}}$]]></tex-math></alternatives></inline-formula> as well. On the basis of the interactions among these neighbourhoods, a parallel search for partial solutions of the subproblems from each population and an integrated search for complete solutions from the population of the combined problem are conducted simultaneously in all generations.</p>
<p>The overall EEA procedure is as follows. In the procedure, <inline-formula id="j_info1225_ineq_053"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${b_{k}}$]]></tex-math></alternatives></inline-formula> represents an individual in <inline-formula id="j_info1225_ineq_054"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[k]$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1225_ineq_055"><alternatives>
<mml:math><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: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 stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${a_{1}}{a_{2}}\cdots {a_{k}}\cdots {a_{K}}$]]></tex-math></alternatives></inline-formula> is an individual (endosymbiont) in the population of endosymbionts.</p>
<p><bold>Step 1</bold>: Initialization 
<list>
<list-item id="j_info1225_li_015">
<label>–</label>
<p>For each cell in <inline-formula id="j_info1225_ineq_056"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[k]$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1225_ineq_057"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(k=1,2,\dots ,K)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1225_ineq_058"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Pop</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{Pop}_{C}}$]]></tex-math></alternatives></inline-formula>, generate <inline-formula id="j_info1225_ineq_059"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${n^{2}}$]]></tex-math></alternatives></inline-formula> individuals randomly.</p>
</list-item>
<list-item id="j_info1225_li_016">
<label>–</label>
<p>Set <inline-formula id="j_info1225_ineq_060"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>∞</mml:mi></mml:math>
<tex-math><![CDATA[${f_{\mathit{best}}}=\infty $]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
<bold>Step 2:</bold> Neighbourhood construction 
<list>
<list-item id="j_info1225_li_017">
<label>–</label>
<p>Select an arbitrary location <inline-formula id="j_info1225_ineq_061"><alternatives>
<mml:math><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:math>
<tex-math><![CDATA[$(i,j)$]]></tex-math></alternatives></inline-formula> and set up the neighbourhoods, <inline-formula id="j_info1225_ineq_062"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{NP}[k]$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1225_ineq_063"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(k=1,2,\dots ,K)$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1225_ineq_064"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{NP}$]]></tex-math></alternatives></inline-formula> in each population.</p>
</list-item>
</list> 
<bold>Step 3:</bold> Competition between symbiont and endosymbiont 
<list>
<list-item id="j_info1225_li_018">
<label>–</label>
<p>If there exists <inline-formula id="j_info1225_ineq_065"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">NP</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[${b_{k}}\in \mathit{NP}[k]$]]></tex-math></alternatives></inline-formula> such that for each <inline-formula id="j_info1225_ineq_066"><alternatives>
<mml:math><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: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 stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">NP</mml:mi></mml:math>
<tex-math><![CDATA[${a_{1}}{a_{2}}\cdots {a_{k}}\cdots {a_{K}}\in \mathit{NP}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1225_ineq_067"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><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 stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({a_{1}}{a_{2}}\cdots {b_{k}}\cdots {a_{K}})$]]></tex-math></alternatives></inline-formula> is better than <inline-formula id="j_info1225_ineq_068"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><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 stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({a_{1}}{a_{2}}\cdots {a_{k}}\cdots {a_{K}})$]]></tex-math></alternatives></inline-formula>, then substitute <inline-formula id="j_info1225_ineq_069"><alternatives>
<mml:math><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: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 stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${a_{1}}{a_{2}}\cdots {b_{k}}\cdots {a_{K}}$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_info1225_ineq_070"><alternatives>
<mml:math><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: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 stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">⋯</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">K</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mi mathvariant="italic">P</mml:mi></mml:math>
<tex-math><![CDATA[${a_{1}}{a_{2}}\cdots {a_{k}}\cdots {a_{K}}\in NP$]]></tex-math></alternatives></inline-formula> and replace <inline-formula id="j_info1225_ineq_071"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${b_{k}}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_info1225_ineq_072"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">a</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${a_{k}}$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1225_ineq_073"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{NP}[k]$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
<bold>Step 4:</bold> Generation of potential endosymbionts 
<list>
<list-item id="j_info1225_li_019">
<label>–</label>
<p>Evaluate the fitness of individuals in <inline-formula id="j_info1225_ineq_074"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{NP}[k]$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1225_ineq_075"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(k=1,2,\dots ,K)$]]></tex-math></alternatives></inline-formula>, where symbiotic partners are selected from the neighbourhood of the corresponding other populations.</p>
</list-item>
<list-item id="j_info1225_li_020">
<label>–</label>
<p>Let <inline-formula id="j_info1225_ineq_076"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${E_{\mathit{new}}}$]]></tex-math></alternatives></inline-formula> be a potential endosymbiont that is the best combination of symbionts. If <inline-formula id="j_info1225_ineq_077"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({E_{\mathit{new}}})$]]></tex-math></alternatives></inline-formula> is better than <inline-formula id="j_info1225_ineq_078"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{\mathit{best}}}$]]></tex-math></alternatives></inline-formula>, then update <inline-formula id="j_info1225_ineq_079"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">best</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{\mathit{best}}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
<bold>Step 5:</bold> Competition between an endosymbiont and a potential endosymbiont 
<list>
<list-item id="j_info1225_li_021">
<label>–</label>
<p>Compare <inline-formula id="j_info1225_ineq_080"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({E_{\mathit{new}}})$]]></tex-math></alternatives></inline-formula> to the fitness of <inline-formula id="j_info1225_ineq_081"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">NP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{NP}_{w}}$]]></tex-math></alternatives></inline-formula>, which is the worst individuals in <inline-formula id="j_info1225_ineq_082"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{NP}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1225_li_022">
<label>–</label>
<p>If <inline-formula id="j_info1225_ineq_083"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({E_{\mathit{new}}})$]]></tex-math></alternatives></inline-formula> is better than <inline-formula id="j_info1225_ineq_084"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">NP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f({\mathit{NP}_{w}})$]]></tex-math></alternatives></inline-formula>, then replace <inline-formula id="j_info1225_ineq_085"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">NP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{NP}_{w}}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_info1225_ineq_086"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${E_{\mathit{new}}}$]]></tex-math></alternatives></inline-formula>. The replaced <inline-formula id="j_info1225_ineq_087"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">NP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{NP}_{w}}$]]></tex-math></alternatives></inline-formula> is separated and moved into the position of component symbionts in the neighbourhood to which it belongs.</p>
</list-item>
</list> 
<bold>Step 6:</bold> Evolution 
<list>
<list-item id="j_info1225_li_023">
<label>–</label>
<p>Call <inline-formula id="j_info1225_ineq_088"><alternatives>
<mml:math><mml:mtext mathvariant="italic">Genetic Evolution</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">NP</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\textit{Genetic Evolution}(\mathit{NP}[k],{R_{c}},{R_{m}})$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_info1225_ineq_089"><alternatives>
<mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">K</mml:mi></mml:math>
<tex-math><![CDATA[$k=1,2,\dots ,K$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1225_li_024">
<label>–</label>
<p>Call <inline-formula id="j_info1225_ineq_090"><alternatives>
<mml:math><mml:mtext mathvariant="italic">Genetic Evolution</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mi mathvariant="italic">P</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\textit{Genetic Evolution}(NP,{R_{c}},{R_{m}})$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1225_li_025">
<label>–</label>
<p>Release the evolved neighbourhoods, <inline-formula id="j_info1225_ineq_091"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{NP}[k]$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1225_ineq_092"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(k=1,2,\dots ,K)$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1225_ineq_093"><alternatives>
<mml:math><mml:mi mathvariant="italic">NP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{NP}$]]></tex-math></alternatives></inline-formula> to the populations <inline-formula id="j_info1225_ineq_094"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[k]$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1225_ineq_095"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">K</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(k=1,2,\dots ,K)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1225_ineq_096"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Pop</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{Pop}_{C}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
<bold>Step 7:</bold> Termination criteria of evolution</p>
<list>
<list-item id="j_info1225_li_026">
<label>–</label>
<p>If one of the following conditions is satisfied: (i) the maximum number of iterations is reached, or (ii) the solution is not improved for a fixed number of consecutive iterations, then stop.</p>
</list-item>
<list-item id="j_info1225_li_027">
<label>–</label>
<p>Otherwise, go to Step 2.</p>
</list-item>
</list>
<p>The overall procedure of the general genetic algorithm used in Step 6 is as follows. The binary tournament method is applied as a selection mechanism method in this algorithm.</p>
<p>*<inline-formula id="j_info1225_ineq_097"><alternatives>
<mml:math><mml:mtext mathvariant="italic">Genetic Evolution</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\textit{Genetic Evolution}(P,{R_{c}},{R_{m}})$]]></tex-math></alternatives></inline-formula></p>
<p><bold>Substep 1:</bold> Selection and reproduction 
<list>
<list-item id="j_info1225_li_028">
<label>–</label>
<p>Select individuals from <italic>P</italic> using the binary tournament method.</p>
</list-item>
<list-item id="j_info1225_li_029">
<label>–</label>
<p>Generate a random number for each selected individual. If the random number is smaller than <inline-formula id="j_info1225_ineq_098"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mtext>crossover rate</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${R_{c}}(\text{crossover rate})$]]></tex-math></alternatives></inline-formula>, the individual becomes a candidate for crossover operation.</p>
</list-item>
<list-item id="j_info1225_li_030">
<label>–</label>
<p>Produce two offspring (individuals) by applying a crossover operator to a pair of candidate individuals.</p>
</list-item>
</list> 
<bold>Substep 2:</bold> Replacement 
<list>
<list-item id="j_info1225_li_031">
<label>–</label>
<p>Select individuals for replacement from <italic>P</italic>, where a high probability is given to those having high fitness.</p>
</list-item>
<list-item id="j_info1225_li_032">
<label>–</label>
<p>Replace the selected individuals with the newly created offspring (individuals).</p>
</list-item>
</list> 
<bold>Substep 3:</bold> Mutation</p>
<list>
<list-item id="j_info1225_li_033">
<label>–</label>
<p>Generate a random number for each individual from the newly generated <italic>P</italic>. If the random number is smaller than or equal to <inline-formula id="j_info1225_ineq_099"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mtext>mutation rate</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${R_{m}}(\text{mutation rate})$]]></tex-math></alternatives></inline-formula>, apply mutation operators to the individuals.</p>
</list-item>
</list>
</sec>
<sec id="j_info1225_s_008">
<label>3.2</label>
<title>Genetic Representations for VRTSP</title>
<p>Eq. (<xref rid="j_info1225_eq_001">1</xref>) is used as a fitness function (<inline-formula id="j_info1225_ineq_100"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo>·</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$f(\cdot )$]]></tex-math></alternatives></inline-formula>) to compute the total supply chain cost. And then EEA for VRTSP under consideration breaks down the original problem into four different subproblems and also considers the original problem itself as the combination of the four subproblems. The first subproblem is the inbound vehicle routing problem (<inline-formula id="j_info1225_ineq_101"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[1]$]]></tex-math></alternatives></inline-formula>), and the second is the outbound vehicle routing problem (<inline-formula id="j_info1225_ineq_102"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mn>2</mml:mn><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[2]$]]></tex-math></alternatives></inline-formula>). The inbound vehicle routing problem represents a pickup route, whereas outbound vehicle routing problem represents a delivery route. The third one is the vehicle sequencing problem (<inline-formula id="j_info1225_ineq_103"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mn>3</mml:mn><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[3]$]]></tex-math></alternatives></inline-formula>) for outbound vehicles determined in cross-docking. The last subproblem is the product transshipment problem (<inline-formula id="j_info1225_ineq_104"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mn>4</mml:mn><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[4]$]]></tex-math></alternatives></inline-formula>) to assign product units from inbound trucks to outbound trucks. Then the combined problem (<inline-formula id="j_info1225_ineq_105"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Pop</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{Pop}_{C}}$]]></tex-math></alternatives></inline-formula>) constitutes the VRTSP. Separate populations are maintained for these four subproblems and the combined problem. The four populations of the subproblems correspond to the symbionts in the endosymbiotic theory, and individuals in those populations represent partial solutions of the original problem.</p>
<p>When the populations evolve, EEA follows the steps of the steady-state genetic algorithm: selection, reproduction, replacement, and mutation. The crossover operators used for reproduction not only transmit good genes from parents to offspring, but should also ensure that new offspring can meet the problem constraints. Mutation is necessary in evolutionary algorithms to escape local optima and consistently search for the global optimum; thus, appropriate mutation operators must be introduced. In this study, we applied two crossover operators, one for the vehicle routing population and one for the other populations, and three mutation operators are considered for all populations.</p>
<sec id="j_info1225_s_009">
<label>3.2.1</label>
<title>Genetic Components for Vehicle Routing</title>
<p>For the vehicle routing problem, a genetic representation based on permutation is generally used. In this study, the two-dimensional representation proposed by Pereira <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_024">2002</xref>) is employed for the inbound and outbound vehicle routing problems. It is more intuitive than the one-dimensional representation using a splitter. In this representation, the genetic material of the chromosome is broken down into several routes, each of which consists of an ordered subset of suppliers or customers. Figure <xref rid="j_info1225_fig_003">3</xref> gives an example of chromosomes for an inbound vehicle route with 10 supplier nodes and 3 inbound vehicles. Because all the vehicles must depart from and arrive at the cross-dock, the vehicle routes in the example are interpreted as <inline-formula id="j_info1225_ineq_106"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mtext>0-8-2-3-0</mml:mtext><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$\{\text{0-8-2-3-0}\}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1225_ineq_107"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mtext>0-1-7-6-9-5-0</mml:mtext><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$\{\text{0-1-7-6-9-5-0}\}$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1225_ineq_108"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mtext>0-10-4-0</mml:mtext><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$\{\text{0-10-4-0}\}$]]></tex-math></alternatives></inline-formula>.</p>
<p>Because each vehicle has limited capacity, each route cannot include suppliers whose summed supply exceeds the corresponding vehicle’s capacity. In the outbound vehicle routing population, the genetic representation of the chromosome matches that of the chromosome in the inbound vehicle routing population. The genetic material of individuals in the outbound vehicle routing population is composed of customers, whereas the genetic material of individuals in the inbound vehicle routing population is composed of suppliers.</p>
<fig id="j_info1225_fig_003">
<label>Fig. 3</label>
<caption>
<p>Examples of pickup route representations.</p>
</caption>
<graphic xlink:href="info1225_g003.jpg"/>
</fig>
<p>Individuals in vehicle routing populations should obey the constraints imposed by the number of vehicles and vehicle capacity. For reproduction, we apply the <italic>Best-Cost Route Crossover</italic> (BCRC) operator proposed by Ombuki <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1225_ref_023">2006</xref>). BCRC minimizes not only the number of vehicles but also the cost while checking the feasibility constraints. BCRC is applied as follows. 
<list>
<list-item id="j_info1225_li_034">
<label>1.</label>
<p>Select a route from two parents, <inline-formula id="j_info1225_ineq_109"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1225_ineq_110"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{2}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1225_li_035">
<label>2.</label>
<p>Delete the nodes in the selected route from the opposite parent.</p>
</list-item>
<list-item id="j_info1225_li_036">
<label>3.</label>
<p>For <inline-formula id="j_info1225_ineq_111"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1225_ineq_112"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{2}}$]]></tex-math></alternatives></inline-formula>, array the deleted nodes in a random order.</p>
</list-item>
<list-item id="j_info1225_li_037">
<label>4.</label>
<p>Find feasible positions at which to insert deleted nodes.</p>
</list-item>
<list-item id="j_info1225_li_038">
<label>5.</label>
<p>Insert the deleted nodes at the position among the feasible positions that minimizes the total cost.</p>
</list-item>
<list-item id="j_info1225_li_039">
<label>6.</label>
<p>Select the offspring from among the newly reproduced individuals by comparing their fitness.</p>
</list-item>
</list> 
Figure <xref rid="j_info1225_fig_004">4</xref> illustrates how BCRC works. Individuals in vehicle routing populations represent subsolutions, not complete solutions. Therefore, the best position in Step 4 of EEA procedure described in Section <xref rid="j_info1225_s_007">3.1</xref> is the position that minimizes the sum of the total transportation cost and vehicle operation cost. BCRC usually aims to generate two offsprings. In EEA, however, the steady-state genetic algorithm requires only one offspring. Therefore, Step 4 is applied to choose the better offspring by comparing their fitness. For the mutation process, we adopt three mutation operators: sweep, Insertion, and Inversion. Mutation is accepted only under feasible conditions.</p>
<fig id="j_info1225_fig_004">
<label>Fig. 4</label>
<caption>
<p>Example of a BCRC operator.</p>
</caption>
<graphic xlink:href="info1225_g004.jpg"/>
</fig>
</sec>
<sec id="j_info1225_s_010">
<label>3.2.2</label>
<title>Genetic Components for Vehicle Sequencing and Product Transshipment</title>
<p>The vehicle scheduling problem determines the dock assignment and the sequence of inbound and outbound vehicles. Dock assignment of inbound vehicles is performed using First-Come First-Serve in most experiments in existing literature. Hence, only the scheduling of outbound vehicles needs to be considered. An outbound vehicle scheduling solution can be represented by a sequence of outbound vehicles obtained using a dispatching rule. The dispatching rule assigns outbound vehicles to the doors at which they can start their task as soon as possible. Figure <xref rid="j_info1225_fig_005">5</xref> gives an example of the genetic representation of an outbound vehicle sequence. Suppose that only stack doors 1 and 2 are available. Vehicle 8 is assigned to stack door 1. Vehicle 7 can be assigned to stack door 2 or 1 depending on whether vehicle 8 is working on its task or not. Vehicles 6, 10, and 9 are assigned following the same procedure.</p>
<fig id="j_info1225_fig_005">
<label>Fig. 5</label>
<caption>
<p>Example of outbound vehicle sequence representation.</p>
</caption>
<graphic xlink:href="info1225_g005.jpg"/>
</fig>
<p>The loading start time of outbound vehicles depends on the unloading end time of inbound vehicles. Therefore, product transshipment is employed to link outbound vehicles to inbound vehicles. The relationship between inbound vehicles and outbound vehicles determines the loading start time of outbound vehicles. That is, the loading start time of an outbound vehicle also depends on the maximum of the unloading end time of inbound vehicles that transport products to the outbound vehicle. Therefore, we know that the genetic representation of product transshipment is the same as that of the outbound vehicle sequence.</p>
<p>In this study, we apply Partially Mapped Crossover (PMX), which is the most widely used crossover operator for chromosomes having permutation encoding for reproduction. It was proposed by Goldberg and Lingle (<xref ref-type="bibr" rid="j_info1225_ref_009">1985</xref>) for the traveling salesman problem. In PMX, two chromosomes are aligned, and two crossover points are selected randomly. The two crossover points give a matching selection, called a swab, which is used to perform cross-through position-by-position exchange operations. The steps in PMX process are as follows:</p>
<list>
<list-item id="j_info1225_li_040">
<label>1.</label>
<p>Copy the swap from the first parent (<inline-formula id="j_info1225_ineq_113"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{1}}$]]></tex-math></alternatives></inline-formula>) into the first offspring.</p>
</list-item>
<list-item id="j_info1225_li_041">
<label>2.</label>
<p>Starting from the first crossover point, look for elements in the swap of the second parent (<inline-formula id="j_info1225_ineq_114"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{2}}$]]></tex-math></alternatives></inline-formula>) that have not been copied.</p>
</list-item>
<list-item id="j_info1225_li_042">
<label>3.</label>
<p>For each uncopied element (say <italic>i</italic>), look in the first offspring to find the elements that have been copied from <inline-formula id="j_info1225_ineq_115"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{1}}$]]></tex-math></alternatives></inline-formula> (say <italic>j</italic>).</p>
</list-item>
<list-item id="j_info1225_li_043">
<label>4.</label>
<p>Place <italic>i</italic> in the position occupied by <italic>j</italic> in <inline-formula id="j_info1225_ineq_116"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{2}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1225_li_044">
<label>5.</label>
<p>If the place occupied by <italic>j</italic> in <inline-formula id="j_info1225_ineq_117"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{2}}$]]></tex-math></alternatives></inline-formula> is already filled in the offspring by <italic>k</italic>, then put <italic>i</italic> in the position occupied by <italic>k</italic> in <inline-formula id="j_info1225_ineq_118"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{2}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1225_li_045">
<label>6.</label>
<p>Fill all the positions of the first offspring similarly for all elements in <inline-formula id="j_info1225_ineq_119"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{2}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1225_li_046">
<label>7.</label>
<p>Repeat this set of steps for the second offspring, reversing the order of parents.</p>
</list-item>
</list>
</sec>
</sec>
</sec>
<sec id="j_info1225_s_011">
<label>4</label>
<title>Computational Results</title>
<p>In this section, we evaluate the effectiveness of the proposed EEA by comparing with a monolithic method (Dondo and Cerdá, <xref ref-type="bibr" rid="j_info1225_ref_007">2014</xref>) and other symbiotic evolutionary algorithms.</p>
<sec id="j_info1225_s_012">
<label>4.1</label>
<title>Test Problems and Parameter Settings</title>
<p>Because no benchmark dataset is available for this study, we generate 20 test problem instances to assess the performance of the algorithm. The crucial parameters of each instance are shown in Table <xref rid="j_info1225_tab_001">1</xref>, and the locations of all the nodes are generated randomly.</p>
<table-wrap id="j_info1225_tab_001">
<label>Table 1</label>
<caption>
<p>Problem instances.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Instance</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Suppliers</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Customers</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Product types</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Inbound vehicles</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Outbound vehicles</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><italic>Q</italic></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Strip doors</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Stack doors</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Instance 01</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 02</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">30</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 03</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">35</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 04</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">30</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 05</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">30</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 06</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 07</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">60</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 08</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">60</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 09</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">60</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 10</td>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">70</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 11</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">30</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 12</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">30</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 13</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">60</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 14</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">60</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 15</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">70</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 16</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">75</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 17</td>
<td style="vertical-align: top; text-align: left">40</td>
<td style="vertical-align: top; text-align: left">60</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">70</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 18</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">80</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 19</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">50</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">70</td>
<td style="vertical-align: top; text-align: left">2</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">Instance 20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">50</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">50</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4</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">12</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">90</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">3</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="j_info1225_tab_002">
<label>Table 2</label>
<caption>
<p>Computational results from EEA, monolithic approach, and MIP model.</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Instance</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">EEA</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Monolithic approach</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">MIP model</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Objective (mean)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Run-time (s)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Objective (mean)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Run-time (s)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Objective (mean)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Run-time (s)</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Instance 01</td>
<td style="vertical-align: top; text-align: left">2125.92</td>
<td style="vertical-align: top; text-align: left">2.16</td>
<td style="vertical-align: top; text-align: left">2138.40</td>
<td style="vertical-align: top; text-align: left">52.73</td>
<td style="vertical-align: top; text-align: left">2125.92</td>
<td style="vertical-align: top; text-align: left">47.16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 02</td>
<td style="vertical-align: top; text-align: left">3167.91</td>
<td style="vertical-align: top; text-align: left">2.24</td>
<td style="vertical-align: top; text-align: left">3452.45</td>
<td style="vertical-align: top; text-align: left">28.32</td>
<td style="vertical-align: top; text-align: left">3167.91</td>
<td style="vertical-align: top; text-align: left">47.16</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 03</td>
<td style="vertical-align: top; text-align: left">2712.35</td>
<td style="vertical-align: top; text-align: left">3.19</td>
<td style="vertical-align: top; text-align: left">3515.15</td>
<td style="vertical-align: top; text-align: left">32.56</td>
<td style="vertical-align: top; text-align: left">2712.35</td>
<td style="vertical-align: top; text-align: left">52.77</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 04</td>
<td style="vertical-align: top; text-align: left">3680.49</td>
<td style="vertical-align: top; text-align: left">3.04</td>
<td style="vertical-align: top; text-align: left">3605.62</td>
<td style="vertical-align: top; text-align: left">12.33</td>
<td style="vertical-align: top; text-align: left">3594.65</td>
<td style="vertical-align: top; text-align: left">78.02</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 05</td>
<td style="vertical-align: top; text-align: left">4116.70</td>
<td style="vertical-align: top; text-align: left">4.04</td>
<td style="vertical-align: top; text-align: left">4797.14</td>
<td style="vertical-align: top; text-align: left">622.16</td>
<td style="vertical-align: top; text-align: left">4483.69</td>
<td style="vertical-align: top; text-align: left">3600.00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 06</td>
<td style="vertical-align: top; text-align: left">4957.08</td>
<td style="vertical-align: top; text-align: left">4.63</td>
<td style="vertical-align: top; text-align: left">4432.60</td>
<td style="vertical-align: top; text-align: left">3172.53</td>
<td style="vertical-align: top; text-align: left">4982.33</td>
<td style="vertical-align: top; text-align: left">3600.00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 07</td>
<td style="vertical-align: top; text-align: left">3825.29</td>
<td style="vertical-align: top; text-align: left">4.46</td>
<td style="vertical-align: top; text-align: left">5376.53</td>
<td style="vertical-align: top; text-align: left">1098.67</td>
<td style="vertical-align: top; text-align: left">5188.81</td>
<td style="vertical-align: top; text-align: left">3600.00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 08</td>
<td style="vertical-align: top; text-align: left">19023.91</td>
<td style="vertical-align: top; text-align: left">4.31</td>
<td style="vertical-align: top; text-align: left">19678.07</td>
<td style="vertical-align: top; text-align: left">2039.78</td>
<td style="vertical-align: top; text-align: left">22827.99</td>
<td style="vertical-align: top; text-align: left">3600.00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 09</td>
<td style="vertical-align: top; text-align: left">22449.95</td>
<td style="vertical-align: top; text-align: left">4.44</td>
<td style="vertical-align: top; text-align: left">24141.73</td>
<td style="vertical-align: top; text-align: left">3600.00</td>
<td style="vertical-align: top; text-align: left">22885.03</td>
<td style="vertical-align: top; text-align: left">3600.00</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Instance 10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">30922.97</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.30</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">31908.43</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">924.25</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">37546.22</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3600.00</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The proposed EEA has been coded in the Java programming language. The binary tournament method is employed as a selection mechanism. The parameters in EEA are determined by preliminary experiments. A 100-cell (10 × 10) toroidal grid is used for <inline-formula id="j_info1225_ineq_120"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pop</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\mathit{Pop}[k]$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1225_ineq_121"><alternatives>
<mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>3</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>4</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[$k=1,2,3,4,$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1225_ineq_122"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Pop</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{Pop}_{C}}$]]></tex-math></alternatives></inline-formula>. The crossover rate and mutation rate are set to 0.7 and 0.01, respectively. To determine the crossover rate (<inline-formula id="j_info1225_ineq_123"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{c}}$]]></tex-math></alternatives></inline-formula>) and mutation rate (<inline-formula id="j_info1225_ineq_124"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{m}}$]]></tex-math></alternatives></inline-formula>), an experimental design has been developed at different levels. We tested crossover rates in the range of [0.5, 0.9] with an increment of 0.1 and mutation rates in the range of [0.01, 0.05] with an increment of 0.01. Finally, we selected the pair, <inline-formula id="j_info1225_ineq_125"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.7</mml:mn></mml:math>
<tex-math><![CDATA[${R_{c}}=0.7$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1225_ineq_126"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.01</mml:mn></mml:math>
<tex-math><![CDATA[${R_{m}}=0.01$]]></tex-math></alternatives></inline-formula>, that yields the highest performance in case of ‘Instance 20’. When the current number of generations reaches 5,000, the proposed algorithm has been terminated. And, we solved 40 times for each problem instance shown in Table <xref rid="j_info1225_tab_001">1</xref> and obtained serveral key measures such as mean and standard deviation of objective value, and computation times.</p>
</sec>
<sec id="j_info1225_s_013">
<label>4.2</label>
<title>Performance Analysis</title>
<p>First, we compared EEA with the monolithic approach to handle the NP-hardness of VRTSP proposed by Dondo and Cerdá (<xref ref-type="bibr" rid="j_info1225_ref_007">2014</xref>) as well as with the mixed integer programming (MIP) model in Section <xref rid="j_info1225_s_002">2</xref>. The main idea of the monolithic approach is to assign vehicles to nodes and set the driving direction by mimicking the sweep algorithm. This approach has a potential to find a reasonably good solution within a shorter computational time, compared to exact algorithms for the optimal solutionl. The monolithic approach and the MIP model have been implemented on Cplex Optimizer version 12.6.2, and we set the time limit to 1 h (3,600 s). All the experiments in this study have been conducted on a computer with 2.20 GHz CPU and 8.0 GB RAM.</p>
<p>Table <xref rid="j_info1225_tab_002">2</xref> summarizes the results of the experiments for all problem instances. But For the monolithic approach and MIP model, Cplex Optimizer could not find any feasible solution for instance 11–20 with more than 50 nodes (Suppliers + Customers) in the preset time limit (3,600 s). Table <xref rid="j_info1225_tab_002">2</xref> shows that the monolithic approach shows reasonable results only in some environments, because of the basic assumption of the monolithic approach that all vehicles must travel counterclockwise and a node must form a route with nodes located at positions counterclockwise from itself. In addition, MIP modelling does not seem to be a good approach to large scale problems.</p>
<p>Unlike other approaches, EEA gives good solutions for all problem instances in the shortest computational time. For small instances, both EEA and Cplex Optimizer found an optimal solution for the MIP model. From the results for these test instances, we can see that while the MIP model approach using Cplex Optimizer does not guarantee an optimal solution in large-scale problems within the preset time limit, EEA gives good solutions within a reasonable computation time. Moreover, the computation time in EEA increases not exponentially but as a quadratic function of the number of nodes (suppliers and customers), which demonstrates the usefulness of our proposed algorithm.</p>
<p>We also compared the proposed algorithm to other genetic approaches: SPA (Separated and Population-based Algorithm) and SNA (Separated and Neighbourhood-based Algorithm). SPA and SNA are symbiotic evolutionary algorithms that divide the problem into subproblems. SPA has been used as the core algorithm in most existing symbiotic evolutionary algorithms (Maher and Poon, <xref ref-type="bibr" rid="j_info1225_ref_018">1996</xref>). In SPA, a solution is divided into more than one type of partial solution. Individuals representing each type of partial solution are maintained in a population, and they can evolve with the population to which they belong. Although the SNA is similar to SPA, they differ in that SNA uses neighbourhood-based co-evolution to maintain population diversity, whereas SPA uses population-based co-evolution (Kim <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1225_ref_012">2000</xref>).</p>
<table-wrap id="j_info1225_tab_003">
<label>Table 3</label>
<caption>
<p>Computational results from EEA, SPA, and SNA.</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Instance</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">SPA</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">SNA</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">EEA</td>
<td rowspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Gap</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Mean</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">S.D.</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Mean</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">S.D.</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Mean</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">S.D.</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Instance 01</td>
<td style="vertical-align: top; text-align: left">2125.92</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">2125.92</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">2125.92</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 02</td>
<td style="vertical-align: top; text-align: left">3167.91</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">3167.91</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">3167.91</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 03</td>
<td style="vertical-align: top; text-align: left">2712.35</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">2712.35</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">2712.35</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 04</td>
<td style="vertical-align: top; text-align: left">3680.49</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">3691.30</td>
<td style="vertical-align: top; text-align: left">40.76</td>
<td style="vertical-align: top; text-align: left">3680.49</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">0%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 05</td>
<td style="vertical-align: top; text-align: left">6296.91</td>
<td style="vertical-align: top; text-align: left">444.93</td>
<td style="vertical-align: top; text-align: left">4429.23</td>
<td style="vertical-align: top; text-align: left">341.30</td>
<td style="vertical-align: top; text-align: left">4116.70</td>
<td style="vertical-align: top; text-align: left">224.56</td>
<td style="vertical-align: top; text-align: left">7%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 06</td>
<td style="vertical-align: top; text-align: left">5781.59</td>
<td style="vertical-align: top; text-align: left">302.40</td>
<td style="vertical-align: top; text-align: left">5762.38</td>
<td style="vertical-align: top; text-align: left">521.41</td>
<td style="vertical-align: top; text-align: left">4957.08</td>
<td style="vertical-align: top; text-align: left">683.10</td>
<td style="vertical-align: top; text-align: left">14%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 07</td>
<td style="vertical-align: top; text-align: left">7645.23</td>
<td style="vertical-align: top; text-align: left">644.09</td>
<td style="vertical-align: top; text-align: left">4842.14</td>
<td style="vertical-align: top; text-align: left">680.19</td>
<td style="vertical-align: top; text-align: left">3825.29</td>
<td style="vertical-align: top; text-align: left">408.37</td>
<td style="vertical-align: top; text-align: left">21%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 08</td>
<td style="vertical-align: top; text-align: left">24651.91</td>
<td style="vertical-align: top; text-align: left">1067.31</td>
<td style="vertical-align: top; text-align: left">20031.98</td>
<td style="vertical-align: top; text-align: left">1084.47</td>
<td style="vertical-align: top; text-align: left">19023.91</td>
<td style="vertical-align: top; text-align: left">759.04</td>
<td style="vertical-align: top; text-align: left">5%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 09</td>
<td style="vertical-align: top; text-align: left">27943.59</td>
<td style="vertical-align: top; text-align: left">1162.44</td>
<td style="vertical-align: top; text-align: left">23802.30</td>
<td style="vertical-align: top; text-align: left">1458.23</td>
<td style="vertical-align: top; text-align: left">22449.95</td>
<td style="vertical-align: top; text-align: left">1127.05</td>
<td style="vertical-align: top; text-align: left">6%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 10</td>
<td style="vertical-align: top; text-align: left">38701.39</td>
<td style="vertical-align: top; text-align: left">1578.90</td>
<td style="vertical-align: top; text-align: left">34795.58</td>
<td style="vertical-align: top; text-align: left">2720.43</td>
<td style="vertical-align: top; text-align: left">30922.97</td>
<td style="vertical-align: top; text-align: left">2432.34</td>
<td style="vertical-align: top; text-align: left">11%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 11</td>
<td style="vertical-align: top; text-align: left">19215.70</td>
<td style="vertical-align: top; text-align: left">1426.24</td>
<td style="vertical-align: top; text-align: left">6435.90</td>
<td style="vertical-align: top; text-align: left">742.82</td>
<td style="vertical-align: top; text-align: left">4713.22</td>
<td style="vertical-align: top; text-align: left">375.39</td>
<td style="vertical-align: top; text-align: left">27%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 12</td>
<td style="vertical-align: top; text-align: left">20091.32</td>
<td style="vertical-align: top; text-align: left">1038.84</td>
<td style="vertical-align: top; text-align: left">7308.07</td>
<td style="vertical-align: top; text-align: left">778.87</td>
<td style="vertical-align: top; text-align: left">5259.30</td>
<td style="vertical-align: top; text-align: left">419.87</td>
<td style="vertical-align: top; text-align: left">28%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 13</td>
<td style="vertical-align: top; text-align: left">47341.58</td>
<td style="vertical-align: top; text-align: left">2310.59</td>
<td style="vertical-align: top; text-align: left">19392.46</td>
<td style="vertical-align: top; text-align: left">2559.45</td>
<td style="vertical-align: top; text-align: left">11971.18</td>
<td style="vertical-align: top; text-align: left">1843.43</td>
<td style="vertical-align: top; text-align: left">38%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 14</td>
<td style="vertical-align: top; text-align: left">60928.81</td>
<td style="vertical-align: top; text-align: left">2832.51</td>
<td style="vertical-align: top; text-align: left">27007.88</td>
<td style="vertical-align: top; text-align: left">3037.31</td>
<td style="vertical-align: top; text-align: left">18134.63</td>
<td style="vertical-align: top; text-align: left">3715.49</td>
<td style="vertical-align: top; text-align: left">33%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 15</td>
<td style="vertical-align: top; text-align: left">39016.55</td>
<td style="vertical-align: top; text-align: left">1592.40</td>
<td style="vertical-align: top; text-align: left">28502.67</td>
<td style="vertical-align: top; text-align: left">2189.54</td>
<td style="vertical-align: top; text-align: left">18128.09</td>
<td style="vertical-align: top; text-align: left">937.56</td>
<td style="vertical-align: top; text-align: left">36%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 16</td>
<td style="vertical-align: top; text-align: left">87548.26</td>
<td style="vertical-align: top; text-align: left">3889.85</td>
<td style="vertical-align: top; text-align: left">65141.56</td>
<td style="vertical-align: top; text-align: left">6057.46</td>
<td style="vertical-align: top; text-align: left">44744.94</td>
<td style="vertical-align: top; text-align: left">3899.56</td>
<td style="vertical-align: top; text-align: left">31%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 17</td>
<td style="vertical-align: top; text-align: left">331027.02</td>
<td style="vertical-align: top; text-align: left">10240.01</td>
<td style="vertical-align: top; text-align: left">207381.35</td>
<td style="vertical-align: top; text-align: left">18003.46</td>
<td style="vertical-align: top; text-align: left">95955.32</td>
<td style="vertical-align: top; text-align: left">10741.19</td>
<td style="vertical-align: top; text-align: left">54%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 18</td>
<td style="vertical-align: top; text-align: left">249954.00</td>
<td style="vertical-align: top; text-align: left">12494.57</td>
<td style="vertical-align: top; text-align: left">127543.23</td>
<td style="vertical-align: top; text-align: left">15833.90</td>
<td style="vertical-align: top; text-align: left">37362.67</td>
<td style="vertical-align: top; text-align: left">9148.41</td>
<td style="vertical-align: top; text-align: left">71%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 19</td>
<td style="vertical-align: top; text-align: left">312035.33</td>
<td style="vertical-align: top; text-align: left">9865.61</td>
<td style="vertical-align: top; text-align: left">223908.94</td>
<td style="vertical-align: top; text-align: left">13556.05</td>
<td style="vertical-align: top; text-align: left">170200.87</td>
<td style="vertical-align: top; text-align: left">10126.49</td>
<td style="vertical-align: top; text-align: left">24%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Instance 20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">516568.92</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18478.62</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">312789.88</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">27946.20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">154071.06</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">23627.00</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">51%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Under same parament setting (<inline-formula id="j_info1225_ineq_127"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.7</mml:mn></mml:math>
<tex-math><![CDATA[${R_{c}}=0.7$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1225_ineq_128"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.01</mml:mn></mml:math>
<tex-math><![CDATA[${R_{m}}=0.01$]]></tex-math></alternatives></inline-formula>), experimental results are summarized in Table <xref rid="j_info1225_tab_003">3</xref> in which the average and the standard deviations of the solutions for each experimental condition are reported. As shown in Table <xref rid="j_info1225_tab_003">3</xref>, for every problem instance, EEA showed the best results and SNA produced the next-to-best ones. Hence the last column (Gap) indicates the improvement rate, which is computed as 
<disp-formula id="j_info1225_eq_031">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mtext>Improvement Rate</mml:mtext><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:mtext>Mean of EEA</mml:mtext><mml:mo>−</mml:mo><mml:mtext>Mean of SNA</mml:mtext><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mtext>Mean of SNA</mml:mtext></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>×</mml:mo><mml:mn>100</mml:mn><mml:mi mathvariant="normal">%</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \text{Improvement Rate}=\frac{|\text{Mean of EEA}-\text{Mean of SNA}|}{\text{Mean of SNA}}\times 100\% .\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The main difference between EEA and SNA is the existence of endosymbionts. EEA allows the formation and evolution of endosymbionts that are a combination of good individuals obtained while evolving the populations of the subproblems and combined problem. Hence, we can infer that endosymbionts enhance the performance of the proposed algorithm, although a longer computation time is inevitable. Even though EEA computation time is reasonably short, it is still 3.5 times longer than that of SNA in average computation time for all instances. Therefore SNA may be used for a quick solution while EEA may be used for a better and more exact solution.</p>
<p>For detailed analysis, we compared convergence pattern of objective value of <italic>instance 20</italic> in terms of the number of generation as shown in Fig. <xref rid="j_info1225_fig_006">6</xref>. While objective values of SNA decrease smoothly without sudden change in trend, those of EEA decrease smoothly after high drop improvement in initial generation period. This shows that in a smaller generation, the EEA can produce a better solution than the SNA and we can also find that similar phenomena occur in other instance problems.</p>
<fig id="j_info1225_fig_006">
<label>Fig. 6</label>
<caption>
<p>Sample convergence rate for instance 20.</p>
</caption>
<graphic xlink:href="info1225_g006.jpg"/>
</fig>
<p>We also compared the result of EEA with that of SNA under the same run-time for each instance. These run-times are the average computation time to solve each instance by SNA with 5,000 generations. Table <xref rid="j_info1225_tab_004">4</xref> shows the comparison results. We can see that EEA outperforms SNA for all instances under the same run-time but improvement rate is slightly decreased compared with the values in Table <xref rid="j_info1225_tab_003">3</xref>. In addition, to check whether EEA is superior to SNA in our experiments, we performed <italic>t</italic>-test with null hypothesis that the objective values from these two algorithms are equal. The resulting <italic>p</italic>-values are almost zero for all instances. Therefore, we can conclude that EEA outperforms SNA.</p>
<table-wrap id="j_info1225_tab_004">
<label>Table 4</label>
<caption>
<p>Comparison of SNA and EEA under the same run-time.</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Instance</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">SNA</td>
<td colspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">EEA</td>
<td rowspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Run-time</td>
<td rowspan="2" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Gap</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Mean</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">S.D.</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Mean</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">S.D.</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Instance 01</td>
<td style="vertical-align: top; text-align: left">2125.92</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">2125.92</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 02</td>
<td style="vertical-align: top; text-align: left">3167.91</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">3167.91</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 03</td>
<td style="vertical-align: top; text-align: left">2712.35</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left">2712.35</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 04</td>
<td style="vertical-align: top; text-align: left">3691.30</td>
<td style="vertical-align: top; text-align: left">40.76</td>
<td style="vertical-align: top; text-align: left">3680.49</td>
<td style="vertical-align: top; text-align: left">–</td>
<td style="vertical-align: top; text-align: left"/>
<td style="vertical-align: top; text-align: left">0%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 05</td>
<td style="vertical-align: top; text-align: left">4429.23</td>
<td style="vertical-align: top; text-align: left">341.30</td>
<td style="vertical-align: top; text-align: left">4285.00</td>
<td style="vertical-align: top; text-align: left">309.57</td>
<td style="vertical-align: top; text-align: left">3.02</td>
<td style="vertical-align: top; text-align: left">3%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 06</td>
<td style="vertical-align: top; text-align: left">5762.38</td>
<td style="vertical-align: top; text-align: left">521.41</td>
<td style="vertical-align: top; text-align: left">4987.18</td>
<td style="vertical-align: top; text-align: left">672.62</td>
<td style="vertical-align: top; text-align: left">2.83</td>
<td style="vertical-align: top; text-align: left">13%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 07</td>
<td style="vertical-align: top; text-align: left">4842.14</td>
<td style="vertical-align: top; text-align: left">680.19</td>
<td style="vertical-align: top; text-align: left">4201.37</td>
<td style="vertical-align: top; text-align: left">623.19</td>
<td style="vertical-align: top; text-align: left">1.63</td>
<td style="vertical-align: top; text-align: left">13%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 08</td>
<td style="vertical-align: top; text-align: left">20031.98</td>
<td style="vertical-align: top; text-align: left">1084.47</td>
<td style="vertical-align: top; text-align: left">19477.59</td>
<td style="vertical-align: top; text-align: left">1003.17</td>
<td style="vertical-align: top; text-align: left">1.61</td>
<td style="vertical-align: top; text-align: left">3%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 09</td>
<td style="vertical-align: top; text-align: left">23802.30</td>
<td style="vertical-align: top; text-align: left">1458.23</td>
<td style="vertical-align: top; text-align: left">22957.74</td>
<td style="vertical-align: top; text-align: left">1450.34</td>
<td style="vertical-align: top; text-align: left">1.64</td>
<td style="vertical-align: top; text-align: left">4%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 10</td>
<td style="vertical-align: top; text-align: left">34795.58</td>
<td style="vertical-align: top; text-align: left">2720.43</td>
<td style="vertical-align: top; text-align: left">31883.37</td>
<td style="vertical-align: top; text-align: left">2758.46</td>
<td style="vertical-align: top; text-align: left">1.65</td>
<td style="vertical-align: top; text-align: left">8%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 11</td>
<td style="vertical-align: top; text-align: left">6435.90</td>
<td style="vertical-align: top; text-align: left">742.82</td>
<td style="vertical-align: top; text-align: left">4822.21</td>
<td style="vertical-align: top; text-align: left">409.37</td>
<td style="vertical-align: top; text-align: left">3.83</td>
<td style="vertical-align: top; text-align: left">25%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 12</td>
<td style="vertical-align: top; text-align: left">7308.07</td>
<td style="vertical-align: top; text-align: left">778.87</td>
<td style="vertical-align: top; text-align: left">5399.30</td>
<td style="vertical-align: top; text-align: left">374.17</td>
<td style="vertical-align: top; text-align: left">3.80</td>
<td style="vertical-align: top; text-align: left">26%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 13</td>
<td style="vertical-align: top; text-align: left">19392.46</td>
<td style="vertical-align: top; text-align: left">2559.45</td>
<td style="vertical-align: top; text-align: left">13991.27</td>
<td style="vertical-align: top; text-align: left">3090.22</td>
<td style="vertical-align: top; text-align: left">3.65</td>
<td style="vertical-align: top; text-align: left">28%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 14</td>
<td style="vertical-align: top; text-align: left">27007.88</td>
<td style="vertical-align: top; text-align: left">3037.31</td>
<td style="vertical-align: top; text-align: left">20799.50</td>
<td style="vertical-align: top; text-align: left">3664.06</td>
<td style="vertical-align: top; text-align: left">3.67</td>
<td style="vertical-align: top; text-align: left">23%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 15</td>
<td style="vertical-align: top; text-align: left">28502.67</td>
<td style="vertical-align: top; text-align: left">2189.54</td>
<td style="vertical-align: top; text-align: left">18479.78</td>
<td style="vertical-align: top; text-align: left">1048.65</td>
<td style="vertical-align: top; text-align: left">7.00</td>
<td style="vertical-align: top; text-align: left">35%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 16</td>
<td style="vertical-align: top; text-align: left">65141.56</td>
<td style="vertical-align: top; text-align: left">6057.46</td>
<td style="vertical-align: top; text-align: left">45881.88</td>
<td style="vertical-align: top; text-align: left">4999.99</td>
<td style="vertical-align: top; text-align: left">7.06</td>
<td style="vertical-align: top; text-align: left">30%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 17</td>
<td style="vertical-align: top; text-align: left">207381.35</td>
<td style="vertical-align: top; text-align: left">18003.46</td>
<td style="vertical-align: top; text-align: left">109947.28</td>
<td style="vertical-align: top; text-align: left">13523.93</td>
<td style="vertical-align: top; text-align: left">19.15</td>
<td style="vertical-align: top; text-align: left">47%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 18</td>
<td style="vertical-align: top; text-align: left">127543.23</td>
<td style="vertical-align: top; text-align: left">15833.90</td>
<td style="vertical-align: top; text-align: left">51688.50</td>
<td style="vertical-align: top; text-align: left">11049.59</td>
<td style="vertical-align: top; text-align: left">19.10</td>
<td style="vertical-align: top; text-align: left">59%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Instance 19</td>
<td style="vertical-align: top; text-align: left">223908.94</td>
<td style="vertical-align: top; text-align: left">13556.05</td>
<td style="vertical-align: top; text-align: left">188672.99</td>
<td style="vertical-align: top; text-align: left">12146.38</td>
<td style="vertical-align: top; text-align: left">20.74</td>
<td style="vertical-align: top; text-align: left">16%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Instance 20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">312789.88</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">27946.20</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">185855.84</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">28857.88</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">19.84</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">41%</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="j_info1225_s_014">
<label>5</label>
<title>Conclusion</title>
<p>This work considered a cross-docking system, which is a promising logistics strategy that distributes products from inbound vehicles directly to outbound vehicles by using the warehouse as temporary storage instead of a place for storage and retrieval, eliminating the need for storage and order-picking. This system is well known to be quite suitable for stable-demand products, perishable bulk materials, and pharmaceutical materials.</p>
<p>Many studies have investigated the vehicle routing and truck scheduling problems with cross-docking separately; however, there are few studies of the integration of these subproblems, although the components of a cross-docking system are interconnected with each other. This study investigated an integrated model with cross-docking for a three-echelon supply chain made up of suppliers, cross-docks, and customers.</p>
<p>This study described a MIP formulation for cross-docking, where vehicle routing and truck scheduling were planned cooperatively to achieve the minimum total cost. Further, we proposed an EEA-based method to obtain a good approximate solution within a reasonable time. The method was applied and proven to be very effective for combinatorial optimization problems; it is a good candidate method for searching for the solutions of multiple subproblems concurrently, especially when the original problem consists of multiple interconnected subproblems that are solved as a whole instead of being considered separately. A computational study has been conducted to quantify the performance of the proposed algorithm, and the computational results show that the proposed algorithm outperforms existing algorithms.</p>
</sec>
</body>
<back>
<ref-list id="j_info1225_reflist_001">
<title>References</title>
<ref id="j_info1225_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Alpan</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Larbi</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Penz</surname>, <given-names>B.</given-names></string-name> (<year>2011</year>). <article-title>A bounded dynamic programming approach to schedule operations in a cross docking platform</article-title>. <source>Computers and Industrial Engineering</source>, <volume>60</volume>, <fpage>385</fpage>–<lpage>396</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Apte</surname>, <given-names>U.M.</given-names></string-name>, <string-name><surname>Viswanthan</surname>, <given-names>S.</given-names></string-name> (<year>2000</year>). <article-title>Effective cross docking for improving distribution efficiencies</article-title>. <source>International Journal of Logistics Research and Applications</source>, <volume>3</volume>, <fpage>291</fpage>–<lpage>302</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Boysen</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Fliedner</surname>, <given-names>M.</given-names></string-name> (<year>2010</year>). <article-title>Cross dock scheduling: classification, literature review and research agenda</article-title>. <source>Omega</source>, <volume>38</volume>, <fpage>413</fpage>–<lpage>422</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Buijs</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Vis</surname>, <given-names>I.F.A.</given-names></string-name>, <string-name><surname>Carlo</surname>, <given-names>H.J.</given-names></string-name> (<year>2014</year>). <article-title>Synchronization in cross-docking networks: a research classification and framework</article-title>. <source>European Journal of Operational Research</source>, <volume>239</volume>, <fpage>593</fpage>–<lpage>608</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Chen</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Guo</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Lim</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Rodrigues</surname>, <given-names>B.</given-names></string-name> (<year>2006</year>). <article-title>Multiple crossdocks with inventory and time windows</article-title>. <source>Computers &amp; Operations Research</source>, <volume>33</volume>, <fpage>43</fpage>–<lpage>63</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Dondo</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Cerdá</surname>, <given-names>J.</given-names></string-name> (<year>2013</year>). <article-title>A sweep-heuristic based formulation for the vehicle routing problem with cross-docking</article-title>. <source>Computers &amp; Chemical Engineering</source>, <volume>48</volume>, <fpage>293</fpage>–<lpage>311</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Dondo</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Cerdá</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <article-title>A monolithic approach to vehicle routing and operations scheduling of a cross-dock system with multiple dock doors</article-title>. <source>Computers &amp; Chemical Engineering</source>, <volume>63</volume>, <fpage>184</fpage>–<lpage>205</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Dondo</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Méndez</surname>, <given-names>C.A.</given-names></string-name>, <string-name><surname>Cerdá</surname>, <given-names>J.</given-names></string-name> (<year>2011</year>). <article-title>The multi-echelon vehicle routing problem with cross docking in supply chain management</article-title>. <source>Computers &amp; Chemical Engineering</source>, <volume>35</volume>, <fpage>3002</fpage>–<lpage>3024</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_009">
<mixed-citation publication-type="chapter"><string-name><surname>Goldberg</surname>, <given-names>D.E.</given-names></string-name>, <string-name><surname>Lingle</surname>, <given-names>R.</given-names></string-name> (<year>1985</year>). <chapter-title>Alleles, loci, and the traveling salesman problem</chapter-title>. In: <source>Proceedings of an International Conference on Genetic Algorithms and Their Applications</source>, Vol. <volume>154</volume>. <publisher-name>Lawrence Erlbaum</publisher-name>, <publisher-loc>Hillsdale, NJ</publisher-loc>, pp. <fpage>154</fpage>–<lpage>159</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Gumus</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Bookbinder</surname>, <given-names>J.H.</given-names></string-name> (<year>2004</year>). <article-title>Cross-docking and its implications in location-distribution systems</article-title>. <source>Journal of Business Logistics</source>, <volume>25</volume>, <fpage>199</fpage>–<lpage>229</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Jayaraman</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Ross</surname>, <given-names>A.</given-names></string-name> (<year>2003</year>). <article-title>A simulated annealing methodology to distribution network design and management</article-title>. <source>European Journal of Operational Research</source>, <volume>144</volume>, <fpage>629</fpage>–<lpage>645</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Kim</surname>, <given-names>Y.K.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>J.Y.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>Y.</given-names></string-name> (<year>2000</year>). <article-title>A coevolutionary algorithm for balancing and sequencing in mixed model assembly lines</article-title>. <source>Applied Intelligence</source>, <volume>13</volume>(<issue>3</issue>), <fpage>247</fpage>–<lpage>258</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Kim</surname>, <given-names>Y.K.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>J.Y.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>Y.</given-names></string-name> (<year>2001</year>). <article-title>An endosymbiotic evolutionary algorithm for optimization</article-title>. <source>Applied Intelligence</source>, <volume>15</volume>, <fpage>117</fpage>–<lpage>130</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_014">
<mixed-citation publication-type="journal"><string-name><surname>Kreng</surname>, <given-names>V.B.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>F.T.</given-names></string-name> (<year>2008</year>). <article-title>The benefits of a cross-docking delivery strategy: a supply chain collaboration approach</article-title>. <source>Production Planning &amp; Control</source>, <volume>19</volume>, <fpage>229</fpage>–<lpage>241</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_015">
<mixed-citation publication-type="journal"><string-name><surname>Lee</surname>, <given-names>Y.H.</given-names></string-name>, <string-name><surname>Jung</surname>, <given-names>J.W.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>K.M.</given-names></string-name> (<year>2006</year>). <article-title>Vehicle routing scheduling for cross-docking in the supply chain</article-title>. <source>Computers &amp; Industrial Engineering</source>, <volume>51</volume>, <fpage>247</fpage>–<lpage>256</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Li</surname>, <given-names>Z.P.</given-names></string-name>, <string-name><surname>Low</surname>, <given-names>M.Y.H.</given-names></string-name>, <string-name><surname>Shakeri</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Lim</surname>, <given-names>Y.G.</given-names></string-name> (<year>2009</year>). <article-title>Crossdocking Planning and Scheduling: Problems and Algorithms</article-title>. <source>SIMTech Technical Reports</source>, <volume>10</volume>(<issue>3</issue>), <fpage>159</fpage>–<lpage>167</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Liao</surname>, <given-names>C.J.</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Shih</surname>, <given-names>S.C.</given-names></string-name> (<year>2010</year>). <article-title>Vehicle routing with cross-docking in the supply chain</article-title>. <source>Expert Systems with Applications</source>, <volume>37</volume>, <fpage>6868</fpage>–<lpage>6873</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Maher</surname>, <given-names>M.L.</given-names></string-name>, <string-name><surname>Poon</surname>, <given-names>J.</given-names></string-name> (<year>1996</year>). <article-title>Modelling design exploration as co-evolution</article-title>. <source>Microcomputers in Civil Engineering</source>, <volume>11</volume>, <fpage>195</fpage>–<lpage>210</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_019">
<mixed-citation publication-type="book"><string-name><surname>Margulis</surname>, <given-names>L.</given-names></string-name> (<year>1980</year>). <source>Symbiosis in Cell Evolution</source>. <publisher-name>WH Freeman</publisher-name>, <publisher-loc>San Francisco</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Miao</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Fu</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>D.</given-names></string-name> (<year>2012</year>). <article-title>Transshipment service through crossdocks with both soft and hard time windows</article-title>. <source>Annals of Operations Research</source>, <volume>192</volume>, <fpage>21</fpage>–<lpage>47</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Morais</surname>, <given-names>V.W.C.</given-names></string-name>, <string-name><surname>Mateus</surname>, <given-names>G.R.</given-names></string-name>, <string-name><surname>Noronha</surname>, <given-names>T.F.</given-names></string-name> (<year>2014</year>). <article-title>Iterated local search heuristics for the vehicle routing problem with cross-docking</article-title>. <source>Expert Systems with Applications</source>, <volume>41</volume>, <fpage>7495</fpage>–<lpage>7506</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Mousavi</surname>, <given-names>S.M.</given-names></string-name>, <string-name><surname>Vahdani</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Tavakkoli-Moghaddam</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Hashemi</surname>, <given-names>H.</given-names></string-name> (<year>2014</year>). <article-title>Location of cross-docking centers and vehicle routing scheduling under uncertainty: a fuzzy possibilistic-stochastic programming model</article-title>. <source>Applied Mathematical Modelling</source>, <volume>38</volume>, <fpage>2249</fpage>–<lpage>2264</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Ombuki</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Brian</surname>, <given-names>J.R.</given-names></string-name>, <string-name><surname>Franklin</surname>, <given-names>H.</given-names></string-name> (<year>2006</year>). <article-title>Multi-objective genetic algorithms for vehicle routing problem with time windows</article-title>. <source>Applied Intelligence</source>, <volume>24</volume>, <fpage>17</fpage>–<lpage>30</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_024">
<mixed-citation publication-type="chapter"><string-name><surname>Pereira</surname>, <given-names>F.B.</given-names></string-name>, <string-name><surname>Tavares</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Machado</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Costa</surname>, <given-names>E.</given-names></string-name> (<year>2002</year>). <chapter-title>GVR: a new genetic representation for the vehicle routing problem</chapter-title>. In: <source>Irish Conference on Artificial Intelligence and Cognitive Science</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>95</fpage>–<lpage>102</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Santos</surname>, <given-names>F.A.</given-names></string-name>, <string-name><surname>Mateus</surname>, <given-names>G.R.</given-names></string-name>, <string-name><surname>da Cunha</surname>, <given-names>A.S.</given-names></string-name> (<year>2011</year>). <article-title>A branch-and-price algorithm for a vehicle routing problem with cross-docking</article-title>. <source>Electronic Notes in Discrete Mathematics</source>, <volume>37</volume>, <fpage>249</fpage>–<lpage>254</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_026">
<mixed-citation publication-type="journal"><string-name><surname>Santos</surname>, <given-names>F.A.</given-names></string-name>, <string-name><surname>Mateus</surname>, <given-names>G.R.</given-names></string-name>, <string-name><surname>da Cunha</surname>, <given-names>A.S.</given-names></string-name> (<year>2013</year>). <article-title>The pickup and delivery problem with cross-docking</article-title>. <source>Computers &amp; Operations Research</source>, <volume>40</volume>, <fpage>1085</fpage>–<lpage>1093</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_027">
<mixed-citation publication-type="journal"><string-name><surname>Sung</surname>, <given-names>C.S.</given-names></string-name>, <string-name><surname>Song</surname>, <given-names>S.H.</given-names></string-name> (<year>2003</year>). <article-title>Integrated service network design for a cross-docking supply chain network</article-title>. <source>Journal of the Operational Research Society</source>, <volume>54</volume>, <fpage>1283</fpage>–<lpage>1295</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_028">
<mixed-citation publication-type="journal"><string-name><surname>Tsui</surname>, <given-names>L.Y.</given-names></string-name>, <string-name><surname>Chang</surname>, <given-names>C.H.</given-names></string-name> (<year>1992</year>). <article-title>An optimal solution to a dock door assignment problem</article-title>. <source>Computers &amp; Industrial Engineering</source>, <volume>23</volume>, <fpage>283</fpage>–<lpage>286</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_029">
<mixed-citation publication-type="journal"><string-name><surname>Vahdani</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Zandieh</surname>, <given-names>M.</given-names></string-name> (<year>2010</year>). <article-title>Scheduling trucks in cross-docking systems: robust meta-heuristics</article-title>. <source>Computers &amp; Industrial Engineering</source>, <volume>58</volume>, <fpage>12</fpage>–<lpage>24</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_030">
<mixed-citation publication-type="journal"><string-name><surname>Van Belle</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Valckenaers</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Cattrysse</surname>, <given-names>D.</given-names></string-name> (<year>2012</year>). <article-title>Cross-docking. State of the art</article-title>. <source>Omega</source>, <volume>40</volume>, <fpage>827</fpage>–<lpage>845</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_031">
<mixed-citation publication-type="journal"><string-name><surname>Wen</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Larsen</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Clausen</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Cordeau</surname>, <given-names>J.F.</given-names></string-name>, <string-name><surname>Laporte</surname>, <given-names>G.</given-names></string-name> (<year>2009</year>). <article-title>Vehicle routing with cross-docking</article-title>. <source>Journal of the Operational Research Society</source>, <volume>60</volume>, <fpage>1708</fpage>–<lpage>1718</lpage>.</mixed-citation>
</ref>
<ref id="j_info1225_ref_032">
<mixed-citation publication-type="journal"><string-name><surname>Yu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Egbelu</surname>, <given-names>P.J.</given-names></string-name> (<year>2008</year>). <article-title>Scheduling of inbound and outbound trucks in cross docking systems with temporary storage</article-title>. <source>European Journal of Operational Research</source>, <volume>184</volume>, <fpage>377</fpage>–<lpage>396</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>