<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">IASC</journal-id>
<journal-id journal-id-type="nlm-ta">IASC</journal-id>
<journal-id journal-id-type="publisher-id">IASC</journal-id>
<journal-title-group>
<journal-title>Intelligent Automation &#x0026; Soft Computing</journal-title>
</journal-title-group>
<issn pub-type="epub">2326-005X</issn>
<issn pub-type="ppub">1079-8587</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">38272</article-id>
<article-id pub-id-type="doi">10.32604/iasc.2024.038272</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Optimal Scheduling of Multiple Rail Cranes in Rail Stations with Interference Crane Areas</article-title>
<alt-title alt-title-type="left-running-head">Optimal Scheduling of Multiple Rail Cranes in Rail Stations with Interference Crane Areas</alt-title>
<alt-title alt-title-type="right-running-head">Optimal Scheduling of Multiple Rail Cranes in Rail Stations with Interference Crane Areas</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Duy</surname><given-names>Nguyen Vu Anh</given-names></name></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Thai</surname><given-names>Nguyen Le</given-names></name></contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Tho</surname><given-names>Nguyen Huu</given-names></name><email>nhtho@ntt.edu.vn</email></contrib>
<aff>
<label></label><institution>Faculty of Engineering and Technology, Nguyen Tat Thanh University</institution>, <addr-line>Ho Chi Minh City, 700000</addr-line>, <country>Vietnam</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Nguyen Huu Tho. Email: <email>nhtho@ntt.edu.vn</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2024</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>29</day>
<month>3</month>
<year>2024</year></pub-date>
<volume>39</volume>
<issue>1</issue>
<fpage>15</fpage>
<lpage>31</lpage>
<history>
<date date-type="received">
<day>05</day>
<month>12</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>12</day>
<month>4</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2024 Duy, Thai and Tho</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Duy, Thai and Tho</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_IASC_38272.pdf"></self-uri>
<abstract>
<p>In this paper, we consider a multi-crane scheduling problem in rail stations because their operations directly influence the throughput of the rail stations. In particular, the job is not only assigned to cranes but also the job sequencing is implemented for each crane to minimize the makespan of cranes. A dual cycle of cranes is used to minimize the number of working cycles of cranes. The rail crane scheduling problems in this study are based on the movement of containers. We consider not only the gantry moves, but also the trolley moves as well as the re-handle cases are also included. A mathematical model of multi-crane scheduling is developed. The traditional and parallel simulated annealing (SA) are adapted to determine the optimal scheduling solutions. Numerical examples are conducted to evaluate the applicability of the proposed algorithms. Verification of the proposed parallel SA is done by comparing it to existing previous works. Results of numerical computation highlighted that the parallel SA algorithm outperformed the SA and gave better solutions than other considered algorithms.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Multi-crane scheduling</kwd>
<kwd>logistics</kwd>
<kwd>containers</kwd>
<kwd>makespan</kwd>
<kwd>rail stations</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Currently, air pollution is becoming more critical than ever. Rail transportation is an environmentally friendly solution because of low CO<sub>2</sub> emission, and will be further developed in the near future. In a rail transportation system, the main facility is the rail station. It is the place for trains to be discharged/loaded with outbound/inbound containers by rail cranes (RMGC, RTGC), forklifts and reach stackers. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> shows the general layout of a rail station. In this paper, we consider the scheduling of the rail cranes because their operations directly influence the throughput of the rail stations. We not only assigned the job to cranes but also gave the job sequencing for each crane in order to minimize the makespan (the maximum completion time) of cranes. A dual cycle of crane is selected to minimize the number of crane working cycles.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Layout of a rail station</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_38272-fig-1.tif"/>
</fig>
<p>In a working cycle, a crane simultaneously loads and discharges inbound container and outbound container on the trains, respectively. First, the crane moves to the transfer track, picks up the inbound container from the truck and loads it on to the train. Then, the crane moves to the outbound container position, discharges it from the train and loads it on to the truck. The re-handling of container (double handling) happened when an inbound container needs loading on the train but the outbound container at that position has not been unloaded. In that case, the inbound container needs to be loaded to a temporary storage area and be loaded on the train immediately after the outbound container is unloaded.</p>
<p>One difficulty of this problem is re-handling. An inbound container is directly loaded onto a train if the wagon is empty; otherwise, the inbound container needs to be re-handled. In that instance, the inbound container is unloaded from a truck and stacked in a temporary storage area. The inbound container that is stacked in the temporary storage area will be loaded onto the train after the wagon is empty (or the outbound container is discharged). In that case, we say that the outbound needs re-handling. Obviously, the re-handling operations of containers (inbound containers or outbound containers) depend on the point of time that the containers are transferred by cranes. In the simplest case, the re-handling case is caused by the operation of a crane, or may unfortunately be caused by two cranes being operated. A crane loads an inbound container on a wagon but that wagon has yet to be discharged, meaning the inbound container needs to be stored in a temporary storage area. Later, another crane unloads the wagon, and it should load the inbound container onto the wagon.</p>
<p>This paper is organized as follows. <xref ref-type="sec" rid="s2">Section 2</xref> presents the literature review while <xref ref-type="sec" rid="s3">Section 3</xref> explains the mathematical model. In <xref ref-type="sec" rid="s4">Section 4</xref>, the Simulated Annealing algorithms are developed to get near optimal solutions. <xref ref-type="sec" rid="s5">Section 5</xref> presents the performance validation of the algorithms and finally, <xref ref-type="sec" rid="s6">Section 6</xref> presents the conclusions of this study.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Literature Review</title>
<p>There are numerous studies related to the operations in rail terminals. Research related to the operation problems in a rail station can be classified into three sub-problems of layout design, load planning, and rail crane scheduling. There are some studies related to the layout design of a rail terminal. Kozan [<xref ref-type="bibr" rid="ref-1">1</xref>] determined the crane split and assignment of trains to rail way tracks by a simple heuristic decision rule and a simple dispatching rule. In addition, a simulation was applied based on these heuristic rules to compare different yard layouts. Ballis et al. [<xref ref-type="bibr" rid="ref-2">2</xref>] identified the main design parameters of a railroad transport terminal such as the length and utilization of trans-shipment tracks, the mean stacking height in a storage area, and the type and amount of handling equipment by an analysis tool consisting of three modules comprising of an expert system, a simulation model, and a cost calculation module. Abacoumkin et al. [<xref ref-type="bibr" rid="ref-3">3</xref>] have proposed a similar approach to Ballis et al. [<xref ref-type="bibr" rid="ref-2">2</xref>], where they developed an expert system to define the terminal parameters such as cargo volume, loading unit mixture, equipment, layout characteristic, and operation conditions. Kozan [<xref ref-type="bibr" rid="ref-4">4</xref>] used a simulation model to compare different combinations of handling equipment to determine the most efficient set of handling equipment which is balanced between investigation cost and performance. Benna et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] presented a simulation tool to plan and to design for the infrastructure, capacity, layout, and strategies of railroad container terminals.</p>
<p>There are several papers on the load planning on trains. For instance, Feo et al. [<xref ref-type="bibr" rid="ref-6">6</xref>] optimized the assignments of highway trailer to wagon in a piggyback (trailer on flatcar) system. Bostel et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] were interested in the loading of containers on trains at a rail transfer terminal. Their aim was to minimize the displacement of containers. In contrast to Bostel et al. [<xref ref-type="bibr" rid="ref-7">7</xref>], Corry et al. [<xref ref-type="bibr" rid="ref-8">8</xref>] considered a different terminal system, different objectives and constraints. Their study proposes several techniques for determining an appropriate balance between container handling and weight distribution at a railroad transfer terminal. In Bruns et al. [<xref ref-type="bibr" rid="ref-9">9</xref>], their objective was to assign containers to the wagon of a train to maximize the weight of load units and minimize the travelling cost of load units from their current storage location to the assigned location.</p>
<p>Similarly, there are several papers related to the rail crane scheduling problem. For instance, Alicke [<xref ref-type="bibr" rid="ref-10">10</xref>] delved into logistical issues in container transfer at a theoretical intermodal terminal &#x201C;Mega Hub&#x201D; based on constraint satisfaction modeling and heuristics to minimize the maximum lateness of all trains. Boysen et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] investigated the static crane areas in rail&#x2014;road transshipment yards. In contrast, Boysen et al. [<xref ref-type="bibr" rid="ref-12">12</xref>] focused on the optimization of static crane areas in rail&#x2014;rail transshipment contexts, using dynamic programming for optimal work area allocation. However, the optimal job sequencing of rail cranes remained unaddressed. Interestingly, none of these studies considered the efficiency-enhancing dual-cycle operation for rail cranes. Jeong et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] demonstrated the application of dual-cycle operations for sequencing rail crane jobs and truck positions, but limited their model to unidirectional crane movement. Pap et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] proposed a branch-and-bound algorithm for optimized dual-cycle job sequencing of a rail cranes, but their work excluded container re-handling scenarios. Guo et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] tackled container loading/unloading scheduling with multiple gantry crane constraints, addressing safety clearance and non-crossing constraints. Their work, however, assumed one-dimensional crane travel and neglected dual-cycle operations or container re-handling. In contrast to these approaches, Nguyen et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] studied rail crane job scheduling specifically in the context of container transfers between trains and trucks, incorporating both re-handling and dual-cycle operations into their model.</p>
<p>Scheduling problems of rail cranes in a rail station are similar to the scheduling problems of quay cranes at sea port container terminals. Many researchers have studied quay crane scheduling problems (QCSP) at port container terminals. In the quay crane scheduling problem, there are several factors which must be considered which are the bays, stacks, groups of containers and containers. However, the majority of studies have focused on the QCSP of container groups or vessel bays. Kim et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] considered the sequence problem of discharging and loading groups of containers of quay cranes in order to minimize the completion time of a ship operation with the interference constraints of cranes. They proposed a branch-and-bound algorithm, and a greedy randomized adaptive search procedure (GRASP) to solve the problem. Moccia et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] revised the formulation in Kim et al. [<xref ref-type="bibr" rid="ref-17">17</xref>], and obtained the optimal solution of the QCSP in small and medium sized instances. A branch-and-cut algorithm was developed to achieve the solutions of larger-sized instances. Moreover, some later studies including those of (Kaveshgar et al. [<xref ref-type="bibr" rid="ref-19">19</xref>]; Lee et al. [<xref ref-type="bibr" rid="ref-20">20</xref>]; Sammarra et al. [<xref ref-type="bibr" rid="ref-21">21</xref>]) tried to revise several issues in the formulation of Kim et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] and applied novel approaches towards problem solving. Ng et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] formulated the quay crane scheduling problem through integer programming. They developed an algorithm to obtain the lower bound of the problem based on the job scheduling problem for parallel machines with sequence independent processing time and LPT (largest processing time) rule. In order to find near optimal solutions, they developed a scheduling heuristic by decomposing the original problem into a number of independent quay crane scheduling sub-problems. The ship was partitioned into zones, with each crane operating within an individual zone. Dynamic programming was used to determine the optimal partition. Meisel [<xref ref-type="bibr" rid="ref-23">23</xref>] considered the QCSP with the inclusion of another aspect, in which a crane at a vessel is only available within certain time windows. A mixed integer programming model as well as a lower bound was developed. A heuristic approach was proposed to minimize the makespan of the cranes. Chen et al. [<xref ref-type="bibr" rid="ref-24">24</xref>] proposed a multi-commodity network flow model with two sets of flow trade-off constraints for multiple cranes and automated guide vehicles. Their constraints were used to solve inter-robot constraints to show the complicated interactions among agents accurately. Yang et al. [<xref ref-type="bibr" rid="ref-25">25</xref>] presented an integrated optimization method to manage the multi-devices integrated scheduling and storage space assignment issue in an energy-efficient manner. A bi-objective model is suggested to minimize the whole operating time and energy consumption, in which the transporting operations of imported and exported intermodal containers were solved simultaneously. Similarly, Li et al. [<xref ref-type="bibr" rid="ref-26">26</xref>] conducted a simulation-based solution for a multiple cranes scheduling issue in a steelmaking shop. Crane scheduling issues for a novel kind of automated container terminal system based on multi-storey frame bridges were explored by Zhen et al. [<xref ref-type="bibr" rid="ref-27">27</xref>]. Schulz et al. [<xref ref-type="bibr" rid="ref-28">28</xref>] depicted the planning situation encountered at a large rail-road terminal in Germany and presented a mixed-integer model capturing the core of the decision-making. They carried out a complicated analysis of issue&#x2019;s variants and developed a heuristic method in a simulated annealing framework based on these structural insights. Moreover, recent studies on railway container terminal have shown the ongoing interests of various researchers for allocation, planning and scheduling problems [<xref ref-type="bibr" rid="ref-29">29</xref>,<xref ref-type="bibr" rid="ref-30">30</xref>].</p>
<p>In summary, the rail crane scheduling problems in this study are based on the movement of containers. We consider not only the gantry moves, but also the trolley moves. Moreover, the re-handle cases are also considered. In contrast, many studies of QCSP have focused on the operation of quay cranes based on the groups or bays of containers. The movements of containers are usually decided by the crane drivers&#x2019; experiences, and hence, reports on QCSP usually only focus on the movement of the gantry. The multi-crane scheduling problem in rail stations is NP-hard, so it is meaningful to propose intelligent optimization algorithm to solve this problem based on parallel simulated annealing.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Mathematical Model</title>
<p>In this section, the mathematical model is developed.</p>
<p><bold><italic>Notation</italic></bold>
<def-list>
<def-item>
<term><inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>T</mml:mi></mml:math></inline-formula></term>
<def>
<p>Number of trains (<italic>T</italic> &#x002B; 1 is the temporary storage area position; and <italic>T</italic> &#x002B; 2 is the transfer track position)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>W</mml:mi></mml:math></inline-formula></term>
<def>
<p>Number of wagons per train</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula></term>
<def>
<p>Wagon indexes</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula></term>
<def>
<p>Train indexes</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:math></inline-formula></term>
<def>
<p>An outbound or an inbound container index, respectively, that is located at position <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Travelling time of a crane between two adjacent wagons</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Travelling time of a crane between two adjacent railway tracks</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>I</mml:mi></mml:math></inline-formula></term>
<def>
<p>Set of inbound containers</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>O</mml:mi></mml:math></inline-formula></term>
<def>
<p>Set of outbound containers</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msup><mml:mi>I</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula></term>
<def>
<p>Set of inbound containers that have the same position as outbound containers
<inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msup><mml:mi>I</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x003A;</mml:mo><mml:mi mathvariant="normal">&#x2203;</mml:mi><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi><mml:mrow><mml:mtext>&#xA0;and&#xA0;</mml:mtext></mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>and</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msup><mml:mi>O</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula></term>
<def>
<p>Set of outbound containers that have the same position as inbound containers
<inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msup><mml:mi>O</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi><mml:mo>&#x003A;</mml:mo><mml:mi mathvariant="normal">&#x2203;</mml:mi><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mrow><mml:mtext>&#xA0;and&#xA0;</mml:mtext></mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>and&#xA0;</mml:mtext></mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>M</mml:mi></mml:math></inline-formula></term>
<def>
<p>A large enough constant</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msubsup></mml:math></inline-formula></term>
<def>
<p>Travelling time of a crane from position <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to position <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, determined based on &#x201C;Tchebychev distance&#x201D; as follows. <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>The time require to complete the loading or unloading job of container <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>j</mml:mi></mml:math></inline-formula> if container <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mi>j</mml:mi></mml:math></inline-formula> is performed after container <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>i</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
</def-list></p>
<p><bold><italic>Decision variable</italic></bold></p>
<def-list>
<def-item>
<term><inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></term>
<def>
<p>1, if container <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>i</mml:mi></mml:math></inline-formula> is handled immediately before container <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>j</mml:mi></mml:math></inline-formula> by crane <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>k</mml:mi></mml:math></inline-formula>; 0, otherwise</p>
</def>
</def-item>
</def-list>
<p><bold><italic>Derived variable</italic></bold></p>
<def-list>
<def-item>
<term><inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula></term>
<def>
<p>Completion time of crane <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>k</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Completion time of the loading or unloading job of container <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>i</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Makespan of all cranes</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></term>
<def>
<p>Additional handling time of crane <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>k</mml:mi></mml:math></inline-formula> if inbound container <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>i</mml:mi></mml:math></inline-formula> needs to be re-handled</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>O</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></term>
<def>
<p>Additional handling time of crane <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>k</mml:mi></mml:math></inline-formula> if outbound container <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>i</mml:mi></mml:math></inline-formula> needs to be re-handled</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>T</mml:mi><mml:msup><mml:mi>R</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula></term>
<def>
<p>Total re-handling time of crane <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>k</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>1, if container <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>j</mml:mi></mml:math></inline-formula> starts to be handled after container <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mi>i</mml:mi></mml:math></inline-formula> is completely handled; 0, otherwise</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>1, if container <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>i</mml:mi></mml:math></inline-formula> needs to be re-handled; 0, otherwise</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>The time required to perform container <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>i</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
</def-list>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Subject to
<disp-formula id="eqn-2">
<label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-3">
<label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:msup><mml:mi>E</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-4">
<label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>O</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-5">
<label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-6">
<label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mi>M</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mrow><mml:mtext>ij</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-7">
<label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2264;</mml:mo><mml:mi>M</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>&#x003C;</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mtext>K</mml:mtext></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-8">
<label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:mrow></mml:munder><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-9">
<label>(9)</label>
<mml:math id="mml-eqn-9" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-10">
<label>(10)</label>
<mml:math id="mml-eqn-10" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:msub><mml:mn>0</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-11">
<label>(11)</label>
<mml:math id="mml-eqn-11" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-12">
<label>(12)</label>
<mml:math id="mml-eqn-12" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>I</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>O</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:math></disp-formula>
<disp-formula id="eqn-13">
<label>(13)</label>
<mml:math id="mml-eqn-13" display="block"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>I</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>O</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:math></disp-formula>
<disp-formula id="eqn-14">
<label>(14)</label>
<mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mi mathvariant="normal">&#x2216;</mml:mi><mml:msup><mml:mi>I</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:math></disp-formula>
<disp-formula id="eqn-15">
<label>(15)</label>
<mml:math id="mml-eqn-15" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-16">
<label>(16)</label>
<mml:math id="mml-eqn-16" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-17">
<label>(17)</label>
<mml:math id="mml-eqn-17" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>O</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-18">
<label>(18)</label>
<mml:math id="mml-eqn-18" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-19">
<label>(19)</label>
<mml:math id="mml-eqn-19" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-20">
<label>(20)</label>
<mml:math id="mml-eqn-20" display="block"><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mn>0</mml:mn><mml:mrow><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>0</mml:mn><mml:mrow><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-21">
<label>(21)</label>
<mml:math id="mml-eqn-21" display="block"><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mn>0</mml:mn><mml:mrow><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>0</mml:mn><mml:mrow><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-22">
<label>(22)</label>
<mml:math id="mml-eqn-22" display="block"><mml:msubsup><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mrow><mml:mtext>&#xA0;or&#xA0;</mml:mtext></mml:mrow><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>O</mml:mi></mml:math></disp-formula></p>
<p>The mathematical model is defined in the objective function as <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>. The makespan is the maximum completion time of all cranes, as described in <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>. The completion time of a crane is the completion time of the last container in its container sequence, as in <xref ref-type="disp-formula" rid="eqn-2">Eqs. (2)</xref> and <xref ref-type="disp-formula" rid="eqn-3">(3)</xref>. <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref> is the processing time of a container. <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref> defines the variable <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if container <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>j</mml:mi></mml:math></inline-formula> is handled after the operation of container <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>i</mml:mi></mml:math></inline-formula> is completed, <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>; otherwise, <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref> is noninterference constraint. <xref ref-type="disp-formula" rid="eqn-8">Eq. (8)</xref> ensures that a container is assigned to only one crane. <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref> is the flow balance constraint. <xref ref-type="disp-formula" rid="eqn-10">Eqs. (10)</xref> and <xref ref-type="disp-formula" rid="eqn-11">(11)</xref> select the initial and final containers of a crane, respectively. <xref ref-type="disp-formula" rid="eqn-12">Eqs. (12)</xref> to <xref ref-type="disp-formula" rid="eqn-14">(14)</xref> evaluate the re-handling cases. <xref ref-type="disp-formula" rid="eqn-12">Eq. (12)</xref> denotes that if an inbound container <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>i</mml:mi></mml:math></inline-formula> <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>I</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> is loaded onto a wagon before the unloading of the outbound container <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>j</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>O</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, the container <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>i</mml:mi></mml:math></inline-formula> needs to be loaded to the temporary storage area, <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>. If the inbound container i and the outbound container have the same position on a train, <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> (<xref ref-type="disp-formula" rid="eqn-13">Eq. (13)</xref>). If the inbound container <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mi>i</mml:mi></mml:math></inline-formula> is loaded into temporary storage area, after unloading the outbound container <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>j</mml:mi></mml:math></inline-formula>, the crane should load the inbound container <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mi>i</mml:mi></mml:math></inline-formula> onto the wagon. <xref ref-type="disp-formula" rid="eqn-14">Eq. (14)</xref> guarantees that the inbound container, which is not occupied by an outbound container, is not loaded into the temporary storage area. <xref ref-type="disp-formula" rid="eqn-15">Eq. (15)</xref> determines the finishing time of a container. <xref ref-type="disp-formula" rid="eqn-16">Eqs. (16)</xref> to <xref ref-type="disp-formula" rid="eqn-19">(19)</xref> define the additional time if a container needs to be re-handled. <xref ref-type="disp-formula" rid="eqn-20">Eqs. (20)</xref> and <xref ref-type="disp-formula" rid="eqn-21">(21)</xref> determine the completion time of the first container in the schedule of a crane. The value of <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is calculated by <xref ref-type="disp-formula" rid="eqn-23">Eq. (23)</xref>.
<disp-formula id="eqn-23">
<label>(23)</label>
<mml:math id="mml-eqn-23" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="s4">
<label>4</label>
<title>Simulated Annealing Algorithms</title>
<p>The meta-heuristic simulated annealing algorithm is used to solve the problem of multiple rail cranes scheduling.</p>
<sec id="s4_1">
<label>4.1</label>
<title>The Traditional SA</title>
<sec id="s4_1_1">
<label>4.1.1</label>
<title>Initial Solution</title>
<p>A solution to the scheduling problem is a permutation representation of the job sequence of each crane. The initial solution of the SA is obtained by assigning containers to cranes based on the balancing workload among cranes. The &#x201C;workload&#x201D; is the total of all the travelling times to unload outbound containers or to load inbound containers [<xref ref-type="bibr" rid="ref-11">11</xref>]. One time unit is applied for the travelling time between the two closest railway tracks. The temporary storage area serves as a buffer zone between the transfer track and the railway track. <xref ref-type="table" rid="table-1">Table 1</xref> presents examples of containers. The table also includes the total crane travel time required to load or unload these containers. In the table, the train and wagon columns show the positions of containers. The total workload requires 41 units of time. Hence, the first crane is assigned wagons 1 to 5. The second crane is assigned wagons 6 to 10. The first crane has a total workload of 20 units. The workload of the second crane is 21 units.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Examples of a job scheduling problem</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Container</th>
<th>Type</th>
<th>Train</th>
<th>Wagon</th>
<th>Workload</th>
<th>Container</th>
<th>Type</th>
<th>Train</th>
<th>Wagon</th>
<th>Workload</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Inbound</td>
<td>1</td>
<td>1</td>
<td>3</td>
<td>9</td>
<td>Inbound</td>
<td>1</td>
<td>9</td>
<td>3</td>
</tr>
<tr>
<td>2</td>
<td>Inbound</td>
<td>2</td>
<td>1</td>
<td>2</td>
<td>10</td>
<td>Outbound</td>
<td>2</td>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>Inbound</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>11</td>
<td>Outbound</td>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>Inbound</td>
<td>2</td>
<td>3</td>
<td>2</td>
<td>12</td>
<td>Outbound</td>
<td>1</td>
<td>6</td>
<td>3</td>
</tr>
<tr>
<td>5</td>
<td>Inbound</td>
<td>1</td>
<td>5</td>
<td>3</td>
<td>13</td>
<td>Outbound</td>
<td>2</td>
<td>7</td>
<td>2</td>
</tr>
<tr>
<td>6</td>
<td>Inbound</td>
<td>2</td>
<td>5</td>
<td>2</td>
<td>14</td>
<td>Outbound</td>
<td>2</td>
<td>8</td>
<td>2</td>
</tr>
<tr>
<td>7</td>
<td>Inbound</td>
<td>1</td>
<td>6</td>
<td>3</td>
<td>15</td>
<td>Outbound</td>
<td>1</td>
<td>9</td>
<td>3</td>
</tr>
<tr>
<td>8</td>
<td>Inbound</td>
<td>1</td>
<td>7</td>
<td>3</td>
<td>16</td>
<td>Outbound</td>
<td>2</td>
<td>9</td>
<td>2</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The job sequence comes from a simple heuristic, called &#x201C;unidirectional&#x201D; operating, in which a crane will handle its job in a single direction.</p>
</sec>
<sec id="s4_1_2">
<label>4.1.2</label>
<title>Neighborhood Solution</title>
<p>Two methods are used to generate the neighborhood solutions in this simulated annealing algorithm. The first method is pairwise interchange two containers that are assigned to the same crane. The second method is to exchange the assignment of a container. In the second method, two adjacent cranes are selected randomly, assume that two cranes <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are selected. Crane <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> has a job sequence <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> and crane <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> has a job sequence <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. There are two cases of the exchange of assignment of containers. Case 1: The last task in the job sequence of crane <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is assigned to crane <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as the first task, <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. Case 2: The first task in the job sequence of crane <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is assigned to crane <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as the last task, <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. These two cases are applied with probability 0.5. Overall, the first method and the second method are selected with probability <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula>, if <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula> the first method is used, otherwise the second method are applied, where <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>is random number between 0 and 1.</p>
</sec>
<sec id="s4_1_3">
<label>4.1.3</label>
<title>The Acceptance Criterion</title>
<p>The neighbor solution is accepted if <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>R</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>C</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> or <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mfrac><mml:mrow><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>C</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>R</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:mrow></mml:msup></mml:math></inline-formula>, where <italic>Q(&#x002A;)</italic> is the completion time of crane <italic>k</italic> in solution <italic>(&#x002A;)</italic>, <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the current temperature of iteration <italic>i</italic>.</p>
</sec>
<sec id="s4_1_4">
<label>4.1.4</label>
<title>The Cooling Down Function</title>
<p>In this SA, the geometric update scheme of (Lundy et al. [<xref ref-type="bibr" rid="ref-31">31</xref>]) is referred.</p>
<p><disp-formula id="eqn-24">
<label>(24)</label>
<mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03C0;</mml:mi></mml:math></disp-formula>and the algorithm stops when the computation exceeds an expected time.</p>
</sec>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>The Parallel SA</title>
<p>Parallel computing is a technique to increase computation speed of a computer. In this algorithm the searching neighborhood solutions is separated into many threads of the CPU, which search the solution simultaneously. Hence it can search more solution candidates than the traditional SA wihthin a similar time frame. All operators in this algorithm are the same as those of the traditional SA. <xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows the flowchart of the algorithm. In the parallel SA, the neighborhood solutions are generated from the same current solution by many threads simultaneously. If a thread can achieve a new current solution or a new best solution, it will update to the current solution or the global best solution. All the operators of the parallel SA are the same as the operators of the SA.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Parallel SA flowchart</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_38272-fig-2.tif"/>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Numerical Examples</title>
<p>It is very difficult to obtain the optimal solutions from the mathematical model. <xref ref-type="fig" rid="fig-3">Fig. 3</xref> shows the computation of CPLEX 12.6 on Windows 10 64 bits, Intel core i7, RAM 24 GB, SSD 512 GB to get the optimal solution from the mathematical model. From <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, the computation time increases rapidly when the number of containers increases. The computation time is very long because CPLEX used an exact algorithm and the multi-crane scheduling problem in rail stations is NP-hard. Sometimes it is difficult to find the optimum solution with large problem size. For instance, when the number of containers is 10, we cannot achieve the optimal solution within 12 h. With the case of 10 containers and 2 cranes, it takes a very long computational time (more than 16 h) to find the optimal solution.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Computation time of mathematical model</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_38272-fig-3.tif"/>
</fig>
<sec id="s5_1">
<label>5.1</label>
<title>Determine Parameter of the Simulated Annealing Algorithm</title>
<p>In this Section, we use the method of Ruiz et al. [<xref ref-type="bibr" rid="ref-32">32</xref>] to determine the parameters of these algorithms. The simulated annealing algorithms in this research have three parameters, <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mi>T</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula>. We set four values for <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mrow><mml:mo>{</mml:mo><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mn>0.4</mml:mn><mml:mo>,</mml:mo><mml:mn>0.6</mml:mn><mml:mo>,</mml:mo><mml:mn>0.8</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, seven values for <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mi>T</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:mn>20</mml:mn><mml:mo>,</mml:mo><mml:mn>40</mml:mn><mml:mo>,</mml:mo><mml:mn>80</mml:mn><mml:mo>,</mml:mo><mml:mn>160</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> and four values for <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mrow><mml:mo>{</mml:mo><mml:mn>0.9999000</mml:mn><mml:mo>,</mml:mo><mml:mn>0.9999900</mml:mn><mml:mo>,</mml:mo><mml:mn>0.9999990</mml:mn><mml:mo>,</mml:mo><mml:mn>0.9999999</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>There are 112 combinations of three parameters. The algorithm is tested with 24 problems, which are generated randomly by Bernoulli distribution. The probabilities that a wagon carries a container are <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mrow><mml:mo>{</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mn>0.50</mml:mn><mml:mo>,</mml:mo><mml:mn>0.75</mml:mn><mml:mo>,</mml:mo><mml:mn>0.95</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. The number of the trains are <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> and the number of the rail cranes are <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mrow><mml:mo>{</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. A problem is generated twice for the inbound containers and outbound containers. The response variable is calculated by relative percentage deviation (RPD) (Ruiz et al. [<xref ref-type="bibr" rid="ref-32">32</xref>]).</p>
<p><disp-formula id="eqn-25">
<label>(25)</label>
<mml:math id="mml-eqn-25" display="block"><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>B</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>B</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>&#x00D7;</mml:mo><mml:mn>100</mml:mn></mml:math></disp-formula>where, <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the objective value of a given problem obtained by a combination of the three parameters, <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>B</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the best solution returned by all combinations of all parameters for the same problem. The algorithms are run by setting the computation time:</p>
<p><inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mrow><mml:mtext>CpuTime&#xA0;</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mtext>&#xA0;NumberOfInbounds&#xA0;</mml:mtext></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mtext>&#xA0;NumberOfOutbounds&#xA0;</mml:mtext></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mtext>&#xA0;NumberOfCranes&#xA0;</mml:mtext></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mn>20</mml:mn></mml:math></inline-formula> (Milliseconds)</p>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Determine Parameter of the SA</title>
<p><xref ref-type="table" rid="table-2">Table 2</xref> shows the ANOVA table of RPD <italic>vs</italic>. all the parameters. The result in <xref ref-type="table" rid="table-2">Table 2</xref> shows that all parameters are very significant. In <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, the mean plot of the three parameters is presented. From this figure, the set of parameters giving the best performance is <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn><mml:mrow><mml:mtext>&#xA0;and&#xA0;</mml:mtext></mml:mrow><mml:mi>&#x03C0;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.999999</mml:mn></mml:math></inline-formula>.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>ANOVA: RPD <italic>vs</italic>. No., <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula>, <italic>T</italic> and <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Source</th>
<th>DF</th>
<th>Seq SS</th>
<th>Adj SS</th>
<th>Adj MS</th>
<th>F</th>
<th>P</th>
</tr>
</thead>
<tbody>
<tr>
<td>No.</td>
<td>23</td>
<td>9577<monospace>.</monospace>29</td>
<td>9577.29</td>
<td>416.40</td>
<td>225.18</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula></td>
<td>3</td>
<td>179.08</td>
<td>179.08</td>
<td>59.69</td>
<td>32.28</td>
<td>0.000</td>
</tr>
<tr>
<td><italic>T</italic><sub><italic>0</italic></sub></td>
<td>6</td>
<td>4802.97</td>
<td>4802.97</td>
<td>800.50</td>
<td>432.89</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>3</td>
<td>135.69</td>
<td>135.69</td>
<td>45.23</td>
<td>24.46</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula></td>
<td>69</td>
<td>457.92</td>
<td>457.92</td>
<td>6.64</td>
<td>3.59</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>138</td>
<td>4856.63</td>
<td>4856.63</td>
<td>35.19</td>
<td>19.03</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>69</td>
<td>343.01</td>
<td>343.01</td>
<td>4.97</td>
<td>2.69</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mi>&#x03B1;</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>18</td>
<td>183.29</td>
<td>183.29</td>
<td>10.18</td>
<td>5.51</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mi>&#x03B1;</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>9</td>
<td>53.61</td>
<td>53.61</td>
<td>5.96</td>
<td>3.22</td>
<td>0.001</td>
</tr>
<tr>
<td><inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>18</td>
<td>247.59</td>
<td>247.59</td>
<td>13.75</td>
<td>7.44</td>
<td>0.000</td>
</tr>
<tr>
<td>Error</td>
<td>2331</td>
<td>4310.43</td>
<td>4310.43</td>
<td>1.85</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Total</td>
<td>2687</td>
<td>25147.52</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Mean of RPD of the SA</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_38272-fig-4.tif"/>
</fig>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Determine Parameter of the PSA</title>
<p><xref ref-type="table" rid="table-3">Table 3</xref> shows the ANOVA results of three parameters, showing all the factors are significant. From the <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, the set of parameters giving the best results is <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn>10</mml:mn><mml:mrow><mml:mtext>&#xA0;and&#xA0;</mml:mtext></mml:mrow><mml:mi>&#x03C0;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.999999</mml:mn></mml:math></inline-formula>.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>ANOVA: RPD <italic>vs.</italic> No., <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula>, <italic>T</italic> and <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Source</th>
<th>DF</th>
<th>Seq SS </th>
<th>Adj SS</th>
<th>Adj MS</th>
<th>F</th>
<th>P</th>
</tr>
</thead>
<tbody>
<tr>
<td>No.</td>
<td>23</td>
<td>6773.15</td>
<td>6773.15</td>
<td>294.48</td>
<td>196.29</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula></td>
<td>3</td>
<td>145.82</td>
<td>145.82</td>
<td>48.61</td>
<td>32.40</td>
<td>0.000</td>
</tr>
<tr>
<td><italic>T</italic><sub><italic>0</italic></sub></td>
<td>6</td>
<td>2376.76</td>
<td>2376.76</td>
<td>396.13</td>
<td>264.04</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>3</td>
<td>315.24</td>
<td>315.24</td>
<td>105.08</td>
<td>70.04</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula></td>
<td>69</td>
<td>394.85</td>
<td>394.85</td>
<td>5.72</td>
<td>3.81</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>138</td>
<td>2953.83</td>
<td>2953.83</td>
<td>21.40</td>
<td>14.27</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>69</td>
<td>559.22</td>
<td>559.22</td>
<td>8.10</td>
<td>5.40</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mi>&#x03B1;</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>18</td>
<td>179.10</td>
<td>179.10</td>
<td>9.95</td>
<td>6.63</td>
<td>0.000</td>
</tr>
<tr>
<td><inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mi>&#x03B1;</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>9</td>
<td>33.84</td>
<td>33.84</td>
<td>3.76</td>
<td>2.51</td>
<td>0.007</td>
</tr>
<tr>
<td><inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula></td>
<td>18</td>
<td>397.27</td>
<td>397.27</td>
<td>22.07</td>
<td>14.71</td>
<td>0.000</td>
</tr>
<tr>
<td>Error</td>
<td>2331</td>
<td>3497.15</td>
<td>3497.15</td>
<td>1.50</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Total</td>
<td>2687</td>
<td>17626.23</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Mean of RPD of the PSA</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_38272-fig-5.tif"/>
</fig>
</sec>
<sec id="s5_4">
<label>5.4</label>
<title>Performances of the Algorithms</title>
<p><xref ref-type="table" rid="table-4">Table 4</xref> shows the results of the SA and PSA. 24 problems are used to test the algorithms. Each problem is executed 10 times to obtain the mean and standard deviation. The Discrete Artificial Bee Colony algorithm (DABC) in Guo et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] and the Greedy Randomized Adaptive Search Procedure (GRASP) in Kim et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] are developed to compare to our proposed algorithms. All the algorithms are coded in JAVA programming language. From <xref ref-type="table" rid="table-4">Table 4</xref>, the SA and PSA outperform the DABC and GRASP. In the small size problem, the gap between our algorithms and the other algorithms is small. When the sizes of the problems increase, the gaps among the algorithms are increased. The PSA outperforms the SA because the PSA can search for more solution candidates than the SA for a given time period.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Experimental results of simulated annealing algorithms</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th valign="top" rowspan="4">No.</th>
<th valign="top" rowspan="4">Number of Crane/Trains/Inbound/OutboundContainers</th>
<th valign="top" colspan="3" align="center">DABC (Guo et al. [<xref ref-type="bibr" rid="ref-15">15</xref>])</th>
<th valign="top" colspan="3" align="center">GRASP (Kim et al. [<xref ref-type="bibr" rid="ref-17">17</xref>])</th>
<th valign="top" colspan="5" align="center">Simulated annealing algorithm</th>
</tr>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th valign="top" colspan="2" align="center">Traditional SA</th>
<th valign="top" colspan="2" align="center">Parallel SA</th>
<th valign="top" rowspan="3">CPU<break/>time<break/>(s)</th>
</tr>
<tr>
<th valign="top" colspan="2" align="center">Makespan</th>
<th valign="top" rowspan="2">CPU<break/>time<break/>(s)</th>
<th valign="top" colspan="2" align="center">Makespan</th>
<th valign="top" rowspan="2">CPU<break/>time<break/>(s)</th>
<th valign="top" colspan="2" align="center">Makespan</th>
<th valign="top" colspan="2" align="center">Makespan</th>
</tr>
<tr>
<th valign="top">Mean</th>
<th valign="top">(Std.)</th>
<th valign="top">Mean</th>
<th valign="top">(Std.)</th>
<th valign="top">Mean</th>
<th valign="top">(Std.)</th>
<th valign="top">Mean</th>
<th valign="top">(Std.)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2/1/12/08</td>
<td>135.37</td>
<td>13.02</td>
<td>3.88</td>
<td>116.50</td>
<td>0.00</td>
<td>0.19</td>
<td>116.50</td>
<td>0.00</td>
<td>116.50</td>
<td>0.00</td>
<td>3.85</td>
</tr>
<tr>
<td>2</td>
<td>2/1/16/16</td>
<td>202.94</td>
<td>13.16</td>
<td>10.53</td>
<td>178.94</td>
<td>3.07</td>
<td>1.02</td>
<td>153.78</td>
<td>0.00</td>
<td>153.78</td>
<td>0.00</td>
<td>10.25</td>
</tr>
<tr>
<td>3</td>
<td>2/1/24/21</td>
<td>276.57</td>
<td>29.25</td>
<td>20.65</td>
<td>298.01</td>
<td>9.48</td>
<td>5.38</td>
<td>181.74</td>
<td>0.00</td>
<td>181.74</td>
<td>0.00</td>
<td>20.17</td>
</tr>
<tr>
<td>4</td>
<td>2/1/30/31</td>
<td>456.21</td>
<td>163.34</td>
<td>41.81</td>
<td>356.72</td>
<td>6.81</td>
<td>15.47</td>
<td>223.68</td>
<td>0.00</td>
<td>223.68</td>
<td>0.00</td>
<td>37.21</td>
</tr>
<tr>
<td>5</td>
<td>2/2/14/17</td>
<td>260.96</td>
<td>8.79</td>
<td>9.85</td>
<td>198.05</td>
<td>0.00</td>
<td>0.74</td>
<td>184.54</td>
<td>1.47</td>
<td>184.07</td>
<td>0.00</td>
<td>9.53</td>
</tr>
<tr>
<td>6</td>
<td>2/2/36/28</td>
<td>608.36</td>
<td>146.98</td>
<td>41.09</td>
<td>373.73</td>
<td>4.56</td>
<td>11.80</td>
<td>304.07</td>
<td>1.98</td>
<td>302.90</td>
<td>0.00</td>
<td>40.33</td>
</tr>
<tr>
<td>7</td>
<td>2/2/49/48</td>
<td>1335.09</td>
<td>205.47</td>
<td>97.65</td>
<td>573.18</td>
<td>6.77</td>
<td>57.32</td>
<td>400.76</td>
<td>2.46</td>
<td>396.10</td>
<td>0.00</td>
<td>94.09</td>
</tr>
<tr>
<td>8</td>
<td>2/2/64/61</td>
<td>1973.98</td>
<td>80.25</td>
<td>175.28</td>
<td>1072.73</td>
<td>5.94</td>
<td>420.61</td>
<td>504.45</td>
<td>12.63</td>
<td>484.87</td>
<td>2.56</td>
<td>156.17</td>
</tr>
<tr>
<td>9</td>
<td>2/3/25/23</td>
<td>394.00</td>
<td>50.39</td>
<td>24.37</td>
<td>378.39</td>
<td>7.86</td>
<td>5.16</td>
<td>283.33</td>
<td>2.50</td>
<td>279.60</td>
<td>0.00</td>
<td>23.01</td>
</tr>
<tr>
<td>10</td>
<td>2/3/51/46</td>
<td>1339.98</td>
<td>217.65</td>
<td>114.59</td>
<td>659.16</td>
<td>11.17</td>
<td>87.90</td>
<td>494.19</td>
<td>5.20</td>
<td>490.47</td>
<td>3.52</td>
<td>93.85</td>
</tr>
<tr>
<td>11</td>
<td>2/3/72/81</td>
<td>2683.23</td>
<td>61.08</td>
<td>347.88</td>
<td>983.96</td>
<td>3.81</td>
<td>452.43</td>
<td>739.08</td>
<td>3.07</td>
<td>720.20</td>
<td>3.72</td>
<td>233.29</td>
</tr>
<tr>
<td>12</td>
<td>2/3/97/97</td>
<td>3548.82</td>
<td>79.56</td>
<td>553.78</td>
<td>2970.75</td>
<td>0.00</td>
<td>3832.51</td>
<td>903.34</td>
<td>11.52</td>
<td>844.63</td>
<td>1.65</td>
<td>376.37</td>
</tr>
<tr>
<td>13</td>
<td>3/1/12/08</td>
<td>89.47</td>
<td>7.55</td>
<td>5.84</td>
<td>93.20</td>
<td>0.00</td>
<td>0.09</td>
<td>83.88</td>
<td>0.00</td>
<td>83.88</td>
<td>0.00</td>
<td>5.77</td>
</tr>
<tr>
<td>14</td>
<td>3/1/16/16</td>
<td>142.13</td>
<td>7.12</td>
<td>15.64</td>
<td>164.73</td>
<td>8.08</td>
<td>0.49</td>
<td>107.18</td>
<td>0.00</td>
<td>107.18</td>
<td>0.00</td>
<td>15.37</td>
</tr>
<tr>
<td>15</td>
<td>3/1/24/21</td>
<td>210.63</td>
<td>15.92</td>
<td>31.36</td>
<td>206.90</td>
<td>18.86</td>
<td>1.61</td>
<td>122.56</td>
<td>3.15</td>
<td>121.16</td>
<td>0.00</td>
<td>30.25</td>
</tr>
<tr>
<td>16</td>
<td>3/1/30/31</td>
<td>384.45</td>
<td>46.30</td>
<td>62.16</td>
<td>320.84</td>
<td>11.31</td>
<td>7.59</td>
<td>149.35</td>
<td>0.74</td>
<td>149.12</td>
<td>0.00</td>
<td>55.81</td>
</tr>
<tr>
<td>17</td>
<td>3/2/14/17</td>
<td>164.96</td>
<td>15.33</td>
<td>14.71</td>
<td>179.41</td>
<td>9.70</td>
<td>0.52</td>
<td>123.49</td>
<td>0.00</td>
<td>123.49</td>
<td>0.00</td>
<td>14.29</td>
</tr>
<tr>
<td>18</td>
<td>3/2/36/28</td>
<td>433.85</td>
<td>43.75</td>
<td>61.77</td>
<td>311.75</td>
<td>21.01</td>
<td>9.09</td>
<td>203.88</td>
<td>4.15</td>
<td>201.08</td>
<td>2.21</td>
<td>60.49</td>
</tr>
<tr>
<td>19</td>
<td>3/2/49/48</td>
<td>815.03</td>
<td>19.70</td>
<td>146.54</td>
<td>474.16</td>
<td>10.49</td>
<td>42.07</td>
<td>271.68</td>
<td>3.84</td>
<td>266.55</td>
<td>3.15</td>
<td>141.13</td>
</tr>
<tr>
<td>20</td>
<td>3/2/64/61</td>
<td>1135.64</td>
<td>15.77</td>
<td>266.95</td>
<td>616.28</td>
<td>11.84</td>
<td>122.25</td>
<td>338.78</td>
<td>6.33</td>
<td>325.27</td>
<td>1.63</td>
<td>234.25</td>
</tr>
<tr>
<td>21</td>
<td>3/3/25/23</td>
<td>317.58</td>
<td>31.24</td>
<td>35.91</td>
<td>239.99</td>
<td>10.59</td>
<td>3.07</td>
<td>194.09</td>
<td>2.47</td>
<td>191.06</td>
<td>0.00</td>
<td>34.51</td>
</tr>
<tr>
<td>22</td>
<td>3/3/51/46</td>
<td>857.44</td>
<td>25.19</td>
<td>147.93</td>
<td>529.84</td>
<td>9.96</td>
<td>48.45</td>
<td>329.00</td>
<td>0.98</td>
<td>327.83</td>
<td>1.57</td>
<td>140.77</td>
</tr>
<tr>
<td>23</td>
<td>3/3/72/81</td>
<td>1521.96</td>
<td>29.28</td>
<td>353.79</td>
<td>873.75</td>
<td>17.64</td>
<td>279.92</td>
<td>494.43</td>
<td>3.93</td>
<td>486.97</td>
<td>5.71</td>
<td>349.93</td>
</tr>
<tr>
<td>24</td>
<td>3/3/97/97</td>
<td>1982.36</td>
<td>64.99</td>
<td>841.78</td>
<td>993.98</td>
<td>3.15</td>
<td>612.57</td>
<td>604.17</td>
<td>8.22</td>
<td>564.09</td>
<td>0.74</td>
<td>564.55</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><xref ref-type="table" rid="table-5">Table 5</xref> and <xref ref-type="fig" rid="fig-6">Fig. 6</xref> show the makespan obtained from the parallel SA with 24 problems which are generated with unbalanced rate of inbound and outbound containers. If the problems have similar total number of containers, the problem which have more outbound containers than inbound containers will lead to higher makespan value. The balance rate of inbound and outbound containers gives smaller makespan than the unbalance case.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Effect of the average percentage of wagons with In/Outbound containers on makespan</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th valign="top">No.</th>
<th valign="top">No. of Cranes/Trains/In/Outbound containers</th>
<th valign="top">Average % of a Wagon with an inbound container</th>
<th valign="top">Average % of a wagon with an outbound container</th>
<th valign="top" colspan="3" align="center">Parallel SA</th>
</tr>
<tr>
<th/>
<th/>
<th/>
<th/>
<th valign="top" colspan="2" align="center">Makespan</th>
<th rowspan="2">CPU time (s)</th>
</tr>
<tr>
<th/>
<th/>
<th/>
<th/>
<th valign="top">Mean</th>
<th valign="top">(Std.)</th>
</tr>
</thead>
<tbody>
<tr>
<td>25</td>
<td>2/1/12/32</td>
<td>0.25</td>
<td>0.95</td>
<td>181.74</td>
<td>(0.00)</td>
<td>15.37</td>
</tr>
<tr>
<td>26</td>
<td>2/1/19/25</td>
<td>0.50</td>
<td>0.75</td>
<td>181.74</td>
<td>(0.00)</td>
<td>19.01</td>
</tr>
<tr>
<td>27</td>
<td>2/1/26/19</td>
<td>0.75</td>
<td>0.50</td>
<td>181.74</td>
<td>(0.00)</td>
<td>19.77</td>
</tr>
<tr>
<td>28</td>
<td>2/1/32/06</td>
<td>0.95</td>
<td>0.25</td>
<td>163.10</td>
<td>(0.00)</td>
<td>7.69</td>
</tr>
<tr>
<td>29</td>
<td>2/2/16/62</td>
<td>0.25</td>
<td>0.95</td>
<td>384.68</td>
<td>(0.74)</td>
<td>39.69</td>
</tr>
<tr>
<td>30</td>
<td>2/2/35/51</td>
<td>0.50</td>
<td>0.75</td>
<td>371.87</td>
<td>(1.96)</td>
<td>71.41</td>
</tr>
<tr>
<td>31</td>
<td>2/2/45/29</td>
<td>0.75</td>
<td>0.50</td>
<td>323.87</td>
<td>(0.00)</td>
<td>52.21</td>
</tr>
<tr>
<td>32</td>
<td>2/2/59/14</td>
<td>0.95</td>
<td>0.25</td>
<td>358.35</td>
<td>(0.98)</td>
<td>33.05</td>
</tr>
<tr>
<td>33</td>
<td>2/3/24/94</td>
<td>0.25</td>
<td>0.95</td>
<td>687.35</td>
<td>(3.47)</td>
<td>90.25</td>
</tr>
<tr>
<td>34</td>
<td>2/3/54/76</td>
<td>0.50</td>
<td>0.75</td>
<td>631.66</td>
<td>(3.00)</td>
<td>164.18</td>
</tr>
<tr>
<td>35</td>
<td>2/3/78/56</td>
<td>0.75</td>
<td>0.50</td>
<td>644.01</td>
<td>(2.73)</td>
<td>174.73</td>
</tr>
<tr>
<td>36</td>
<td>2/3/94/31</td>
<td>0.95</td>
<td>0.25</td>
<td>671.97</td>
<td>(3.15)</td>
<td>116.57</td>
</tr>
<tr>
<td>37</td>
<td>3/1/12/32</td>
<td>0.25</td>
<td>0.95</td>
<td>121.16</td>
<td>(0.00)</td>
<td>23.05</td>
</tr>
<tr>
<td>38</td>
<td>3/1/19/25</td>
<td>0.50</td>
<td>0.75</td>
<td>121.16</td>
<td>(0.00)</td>
<td>28.50</td>
</tr>
<tr>
<td>39</td>
<td>3/1/26/19</td>
<td>0.75</td>
<td>0.50</td>
<td>125.82</td>
<td>(0.00)</td>
<td>29.65</td>
</tr>
<tr>
<td>40</td>
<td>3/1/32/6</td>
<td>0.95</td>
<td>0.25</td>
<td>107.18</td>
<td>(0.00)</td>
<td>11.53</td>
</tr>
<tr>
<td>41</td>
<td>3/2/16/62</td>
<td>0.25</td>
<td>0.95</td>
<td>256.53</td>
<td>(1.72)</td>
<td>59.53</td>
</tr>
<tr>
<td>42</td>
<td>3/2/35/51</td>
<td>0.50</td>
<td>0.75</td>
<td>250.24</td>
<td>(1.63)</td>
<td>107.11</td>
</tr>
<tr>
<td>43</td>
<td>3/2/45/29</td>
<td>0.75</td>
<td>0.50</td>
<td>214.59</td>
<td>(1.32)</td>
<td>78.31</td>
</tr>
<tr>
<td>44</td>
<td>3/2/59/14</td>
<td>0.95</td>
<td>0.25</td>
<td>236.96</td>
<td>(1.13)</td>
<td>49.57</td>
</tr>
<tr>
<td>45</td>
<td>3/3/24/94</td>
<td>0.25</td>
<td>0.95</td>
<td>459.24</td>
<td>(2.56)</td>
<td>135.37</td>
</tr>
<tr>
<td>46</td>
<td>3/3/54/76</td>
<td>0.50</td>
<td>0.75</td>
<td>425.46</td>
<td>(2.50)</td>
<td>246.25</td>
</tr>
<tr>
<td>47</td>
<td>3/3/78/56</td>
<td>0.75</td>
<td>0.50</td>
<td>436.18</td>
<td>(3.07)</td>
<td>262.09</td>
</tr>
<tr>
<td>48</td>
<td>3/3/94/31</td>
<td>0.95</td>
<td>0.25</td>
<td>452.72</td>
<td>(3.48)</td>
<td>174.85</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>The average of percentages of wagon with containers <italic>vs</italic>. the mean of makespan</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_38272-fig-6.tif"/>
</fig>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusions</title>
<p>In this paper, we considered a multi-crane scheduling problem in rail stations. We not only assigned the job tasks to cranes in the dynamic boundary of cranes but also determined the sequence scheduling of each crane. The makespan of cranes was used as an optimization criterion and a Simulated Annealing (SA) and a parallel SA algorithm were proposed to find the solutions. We investigated the performance of algorithms by numerical examples. In general, the parallel SA algorithm outperformed the SA. Furthermore, the algorithms proposed in this paper gave better solutions than other considered algorithms. Moreover, we considered problems with balanced and unbalanced rates of inbound and outbound containers. The problems which had a balance rate of inbound and outbound containers gave smaller makespan, because cranes can perform more dual-cycle operations. When the rate of the outbound container is bigger than the rate of the inbound container, it usually leads to a higher makespan, because of the occurrence of re-handling cases.</p>
</sec>
</body>
<back>
<ack>
<p>None.</p>
</ack>
<sec><title>Funding Statement</title>
<p>The authors received no funding for this study.</p>
</sec>
<sec><title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: Study conception and design: NVAD, NHT; data collection: NVAD, NLT; analysis and interpretation of results: NVAD, NLT, NHT; draft manuscript preparation: NVAD, NHT. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Kozan</surname></string-name></person-group>, &#x201C;<article-title>Increasing the operational efficiency of container terminals in Australia</article-title>,&#x201D; <source>J. Oper Res Soc</source>, vol. <volume>48</volume>, no. <issue>2</issue>, pp. <fpage>151</fpage>&#x2013;<lpage>161</lpage>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Ballis</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Golias</surname></string-name></person-group>, &#x201C;<article-title>Comparative evaluation of existing and innovative rail-road freight transport terminals</article-title>,&#x201D; <source>Transp. Res. Part A: Policy Pract.</source>, vol. <volume>36</volume>, no. <issue>7</issue>, pp. <fpage>593</fpage>&#x2013;<lpage>611</lpage>, <year>2002</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Abacoumkin</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Ballis</surname></string-name></person-group>, &#x201C;<article-title>Development of an expert system for the evaluation of conventional and innovative technologies in the intermodal transport area</article-title>,&#x201D; <source>Eur. J. Oper. Res.</source>, vol. <volume>152</volume>, no. <issue>2</issue>, pp. <fpage>410</fpage>&#x2013;<lpage>419</lpage>, <year>2004</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Kozan</surname></string-name></person-group>, &#x201C;<article-title>Optimum capacity for intermodal container terminals</article-title>,&#x201D; <source>Transp. Plan. Technol.</source>, vol. <volume>29</volume>, no. <issue>6</issue>, pp. <fpage>471</fpage>&#x2013;<lpage>482</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Benna</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Gronalt</surname></string-name></person-group>, &#x201C;<article-title>Generic simulation for rail-road container terminals</article-title>,&#x201D; in <conf-name>Proc. 40th Winter Simul. Conf. 2008</conf-name>, <conf-loc>Miami, FL, USA, Dec. 6&#x2013;12</conf-loc>, <year>2008</year>, pp. <fpage>2656</fpage>&#x2013;<lpage>2660</lpage>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T. A.</given-names> <surname>Feo</surname></string-name> and <string-name><given-names>J. L.</given-names> <surname>Gonz&#x00E1;lez-Velarde</surname></string-name></person-group>, &#x201C;<article-title>The intermodal trailer assignment problem</article-title>,&#x201D; <source>Transport. Sci.</source>, vol. <volume>29</volume>, no. <issue>4</issue>, pp. <fpage>330</fpage>&#x2013;<lpage>341</lpage>, <year>1995</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Bostel</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Dejax</surname></string-name></person-group>, &#x201C;<article-title>Models and algorithms for container allocation problems on trains in a rapid transshipment shunting yard</article-title>,&#x201D; <source>Transport. Sci.</source>, vol. <volume>32</volume>, no. <issue>4</issue>, pp. <fpage>370</fpage>&#x2013;<lpage>379</lpage>, <year>1998</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Corry</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Kozan</surname></string-name></person-group>, &#x201C;<article-title>An assignment model for dynamic load planning of intermodal trains</article-title>,&#x201D; <source>Comput. Oper. Res.</source>, vol. <volume>33</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>17</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Bruns</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Knust</surname></string-name></person-group>, &#x201C;<article-title>Optimized load planning of trains in intermodal transportation</article-title>,&#x201D; <source>OR Spectrum</source>, vol. <volume>34</volume>, no. <issue>3</issue>, pp. <fpage>511</fpage>&#x2013;<lpage>533</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Alicke</surname></string-name></person-group>, &#x201C;<chapter-title>Modeling and optimization of the intermodal terminal Mega Hub</chapter-title>,&#x201D; in <person-group person-group-type="editor"><string-name><given-names>H. O.</given-names> <surname>G&#x00FC;nther</surname></string-name>, <string-name><given-names>K. H.</given-names> <surname>Kim</surname></string-name></person-group> (Eds.), <source>Container Terminals and Automated Transport Systems: Logistics Control Issues and Quantitative Decision Support</source>, <publisher-loc>Berlin Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name> <comment>Berlin Heidelberg</comment>, <year>2005</year>, pp. <fpage>307</fpage>&#x2013;<lpage>323</lpage>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Boysen</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Fliedner</surname></string-name></person-group>, &#x201C;<article-title>Determining crane areas in intermodal transshipment yards: The yard partition problem</article-title>,&#x201D; <source>Eur. J. Oper. Res.</source>, vol. <volume>204</volume>, no. <issue>2</issue>, pp. <fpage>336</fpage>&#x2013;<lpage>342</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Boysen</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Fliedner</surname></string-name>, and <string-name><given-names>M.</given-names> <surname>Kellner</surname></string-name></person-group>, &#x201C;<article-title>Determining fixed crane areas in rail-rail transshipment yards</article-title>,&#x201D; <source>Transp. Res. Part E: Logist. Transp. Rev.</source>, vol. <volume>46</volume>, no. <issue>6</issue>, pp. <fpage>1005</fpage>&#x2013;<lpage>1016</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B. J.</given-names> <surname>Jeong</surname></string-name> and <string-name><given-names>K. H.</given-names> <surname>Kim</surname></string-name></person-group>, &#x201C;<article-title>Scheduling operations of a rail crane and container deliveries between rail and port terminals</article-title>,&#x201D; <source>Eng. Optimiz.</source>, vol. <volume>43</volume>, no. <issue>6</issue>, pp. <fpage>597</fpage>&#x2013;<lpage>613</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Pap</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Bojanic</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Ralevic</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Georgijevic</surname></string-name>, and <string-name><given-names>V.</given-names> <surname>Bojanic</surname></string-name></person-group>, &#x201C;<article-title>Crane scheduling method for train reloading at inland intermodal container terminal</article-title>,&#x201D; in <conf-name>Proc. 2012 IEEE 10th Jubilee Int. Symp. Intell. Syst. Inf.</conf-name>, <year>2012</year>, pp. <fpage>189</fpage>&#x2013;<lpage>192</lpage>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Guo</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Cheng</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Zhang</surname></string-name>, and <string-name><given-names>J.</given-names> <surname>Liang</surname></string-name></person-group>, &#x201C;<article-title>Gantry crane scheduling with interference constraints in railway container terminals</article-title>,&#x201D; <source>Int. J. Comput. Int. Syst.</source>, vol. <volume>6</volume>, no. <issue>2</issue>, pp. <fpage>244</fpage>&#x2013;<lpage>260</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>V. A. D.</given-names> <surname>Nguyen</surname></string-name> and <string-name><given-names>W. Y.</given-names> <surname>Yun</surname></string-name></person-group>, &#x201C;<article-title>Optimal job scheduling of a rail crane in rail terminals</article-title>,&#x201D; <source>Int. J. Ind. Eng.</source>, vol. <volume>21</volume>, no. <issue>3</issue>, pp. <fpage>129</fpage>&#x2013;<lpage>140</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K. H.</given-names> <surname>Kim</surname></string-name> and <string-name><given-names>Y. M.</given-names> <surname>Park</surname></string-name></person-group>, &#x201C;<article-title>A crane scheduling method for port container terminals</article-title>,&#x201D; <source>Eur J. Oper. Res.</source>, vol. <volume>156</volume>, no. <issue>3</issue>, pp. <fpage>752</fpage>&#x2013;<lpage>768</lpage>, <year>2004</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Moccia</surname></string-name>, <string-name><given-names>J. F.</given-names> <surname>Cordeau</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Gaudioso</surname></string-name>, and <string-name><given-names>G.</given-names> <surname>Laporte</surname></string-name></person-group>, &#x201C;<article-title>A branch-and-cut algorithm for the quay crane scheduling problem in a container terminal</article-title>,&#x201D; <source>Nav. Res. Log.</source>, vol. <volume>53</volume>, no. <issue>1</issue>, pp. <fpage>45</fpage>&#x2013;<lpage>59</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Kaveshgar</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Huynh</surname></string-name>, and <string-name><given-names>S. K.</given-names> <surname>Rahimian</surname></string-name></person-group>, &#x201C;<article-title>An efficient genetic algorithm for solving the quay crane scheduling problem</article-title>,&#x201D; <source>Expert Syst. Appl.</source>, vol. <volume>39</volume>, no. <issue>18</issue>, pp. <fpage>13108</fpage>&#x2013;<lpage>13117</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D. H.</given-names> <surname>Lee</surname></string-name> and <string-name><given-names>J. H.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>An improved approach for quay crane scheduling with non-crossing constraints</article-title>,&#x201D; <source>Eng. Optimiz.</source>, vol. <volume>42</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>15</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Sammarra</surname></string-name>, <string-name><given-names>J. F.</given-names> <surname>Cordeau</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Laporte</surname></string-name>, and <string-name><given-names>M. F.</given-names> <surname>Monaco</surname></string-name></person-group>, &#x201C;<article-title>A tabu search heuristic for the quay crane scheduling problem</article-title>,&#x201D; <source>J. Sched.</source>, vol. <volume>10</volume>, no. <issue>4&#x2013;5</issue>, pp. <fpage>327</fpage>&#x2013;<lpage>336</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W. C.</given-names> <surname>Ng</surname></string-name> and <string-name><given-names>K. L.</given-names> <surname>Mak</surname></string-name></person-group>, &#x201C;<article-title>Quay crane scheduling in container terminals</article-title>,&#x201D; <source>Eng. Optimiz.</source>, vol. <volume>38</volume>, no. <issue>6</issue>, pp. <fpage>723</fpage>&#x2013;<lpage>737</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Meisel</surname></string-name></person-group>, &#x201C;<article-title>The quay crane scheduling problem with time windows</article-title>,&#x201D; <source>Nav. Res. Logist.</source>, vol. <volume>58</volume>, no. <issue>7</issue>, pp. <fpage>619</fpage>&#x2013;<lpage>636</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>S.</given-names> <surname>He</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Tong</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Shang</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Zhou</surname></string-name></person-group>, &#x201C;<article-title>Yard crane and AGV scheduling in automated container terminal: A multi-robot task allocation framework</article-title>,&#x201D; <source>Transp. Res. Part C: Emerg. Technol.</source>, vol. <volume>114</volume>, pp. <fpage>241</fpage>&#x2013;<lpage>271</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhu</surname></string-name>, and <string-name><given-names>A.</given-names> <surname>Haghani</surname></string-name></person-group>, &#x201C;<article-title>Multiple equipment integrated scheduling and storage space allocation in Rail-Water intermodal container terminals considering energy efficiency</article-title>,&#x201D; <source>Transp. Res. Record.</source>, vol. <volume>2673</volume>, pp. <fpage>199</fpage>&#x2013;<lpage>209</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Xu</surname></string-name>, and <string-name><given-names>X.</given-names> <surname>Zang</surname></string-name></person-group>, &#x201C;<article-title>Simulation-based solution for a dynamic multi-crane-scheduling problem in a steelmaking shop</article-title>,&#x201D; <source>Int. J. Prod. Res.</source>, vol. <volume>58</volume>, pp. <fpage>6970</fpage>&#x2013;<lpage>6984</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Zhen</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Hu</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Shi</surname></string-name>, and <string-name><given-names>C.</given-names> <surname>Ma</surname></string-name></person-group>, &#x201C;<article-title>Cranes scheduling in frame bridges based automated container terminals</article-title>,&#x201D; <source>Transp. Res. Part C: Emerg. Technol.</source>, vol. <volume>97</volume>, pp. <fpage>369</fpage>&#x2013;<lpage>384</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Schulz</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Fliedner</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Fiedrich</surname></string-name>, and <string-name><given-names>C.</given-names> <surname>Pfeiffer</surname></string-name></person-group>, &#x201C;<article-title>Levelling crane workload in multi-yard rail-road container terminals</article-title>,&#x201D; <source>Eur. J. Oper. Res.</source>, vol. <volume>293</volume>, pp. <fpage>941</fpage>&#x2013;<lpage>954</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Ren</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Cai</surname></string-name>, and <string-name><given-names>S.</given-names> <surname>Guo</surname></string-name></person-group>, &#x201C;<article-title>Allocation and scheduling of handling resources in the railway container terminal based on crossing crane area</article-title>,&#x201D; <source>Sustain.</source>, vol. <volume>13</volume>, no. <issue>3</issue>, pp. <fpage>1190</fpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.3390/su13031190</pub-id>.</mixed-citation></ref> 
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Li</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;<article-title>A flexible scheduling for twin yard cranes at container terminals considering dynamic cut-off time</article-title>,&#x201D; <source>J. Mar. Sci. Eng.</source>, vol. <volume>10</volume>, no. <issue>5</issue>, pp. <fpage>675</fpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.3390/jmse10050675</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Lundy</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Mees</surname></string-name></person-group>, &#x201C;<article-title>Convergence of an annealing algorithm</article-title>,&#x201D; <source>Math. Program.</source>, vol. <volume>34</volume>, pp. <fpage>111</fpage>&#x2013;<lpage>124</lpage>, <year>1986.</year></mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Ruiz</surname></string-name> and <string-name><given-names>T.</given-names> <surname>St&#x00FC;tzle</surname></string-name></person-group>, &#x201C;<article-title>A simple and effective iterated greedy algorithm for the permutation flowshop scheduling problem</article-title>,&#x201D; <source>Eur. J. Oper. Res.</source>, vol. <volume>177</volume>, pp. <fpage>2033</fpage>&#x2013;<lpage>2049</lpage>, <year>2007</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>