A Job Sequencing Problem of an Overhead Shuttle Crane in a Rail-Based Automated Container Terminal

This study proposes a job scheduling model and its heuristics for an automated container terminal with an overhead shuttle crane (OS) to reduce the total tardiness time of flatcars and external trucks by considering the separation of each job into a main job, and a premarshaling or remarshaling job. The OS is busy or idle according to the fluctuations in the processing times of different pieces of equipment. We identify the OS job sequencing problem considering job separation (OSJSPS) as a mixed-integer programming (MIP) model, which simultaneously sequences a set of jobs and searches for their possible separation into premarshaling and remarshaling jobs. We present a two-stage genetic algorithm (TGA) based on two local improvement procedures: an iterative local search procedure and an opportunistic job separation procedure. We conclude that the two-stage genetic algorithm reduces the total tardiness time of the container terminal’s flatcars and external trucks as the number of OS jobs increases.


I. INTRODUCTION
Increased trade volume carried by container ships has motivated container terminal operators and engineers to develop more sophisticated strategies and container terminal designs [2]- [5] for improving throughput and storage capacity [6]- [8]. One design concept is the rail-based automated container terminal (RACT) [8], which comprises a quay area, a transport area, and a storage yard area. Figure 1 (a) and (b) shows the infrastructure of the RACT. In the quay area, containers are transferred between a vessel and the transporters on land by a double trolley quay crane [9]. In the transport lines, containers are transferred between the quay area and the storage area by flatcars, which operate on top of a set of fixed rails. The interactions between flatcars and the overhead shuttle crane (OS) or a quay crane (QC) in the transport lines occur at a handover location. In the storage yard area, containers are temporarily stored and retrieved by the OS which interacts with a flatcar or an external truck (ET).
The associate editor coordinating the review of this manuscript and approving it for publication was Bohui Wang . When designing a container terminal layout, the terminal planner needs to determine the size of its storage areas and the number of yard cranes per area, considering investment cost and crane capacity [10], [11], and when designing a RACT layout, the planner wants to maximize the performance of the single overhead shuttle, considering investment cost of cranes and overhead rails. When a terminal includes automatic stacking cranes (ASC), the planner wants to maximize ASC performance [12], ASC dispatching [13], ASC scheduling [14], etc.
In any container layout, the planner needs to ensure that the synchronization procedure supports operating at maximum capacity and preventing delays [15], similar to secure communication [16] or multi-agent control [17] procedures. In a RACT layout, the process planner sets a due time for each piece of terminal equipment required for the synchronization [8]. If any due time is missed, the risk of other jobs being completed late increases. For instance, if an OS fails to serve a flatcar by the due time, the flatcar obstructs other flatcars sharing the same rail and may even delay subsequent QC operations.
Fluctuations between QC processing times and flatcar moving times are mostly influenced by containers' locations on the vessel [18], while fluctuations between OS processing times and flatcar moving times are mostly influenced by the container terminal's flatcar routing policy and the distance between the flatcar's origin and destination [8]. Consequently, some jobs will be completed after their due times during busy periods and OS utilization will decline during idle periods. Terminal management has to account for the inevitable fluctuations affecting the synchronization.
This article describes an OS job sequencing model that determines which jobs should be premarshaled and remarshaled by using the OS idle time to sequence them. Premarshaling transports a retrieval container closer to its expected destination location in the terminal in preparation for the retrieval request, while remarshaling transports a storage container from its temporary location to its final location in preparation for the storage request (see Figure 2). Both procedures help to reduce vehicle waiting times. The OS job sequencing model determines which jobs should be premarshaled or remarshaled and sequences the set of jobs in the OS. Finally, the OS job sequencing with premarshaled and remarshaled jobs minimizes the total delay time of vehicles.
This article contributes to the published literature as follows. (1) We formulate an OS job sequencing mixed-integer programming (MIP) model that selectively combines premarshaled and remarshaled jobs for a RACT. The proposed model smooths the synchronization procedure by determining whether a requested job should be separated, or not, from the main job and auxiliary job under the premarshaling and remarshaling allowance. (2) We develop a two-stage genetic algorithm based on an iterative local search procedure and an opportunistic job separation procedure. The two-stage genetic algorithm reduces the total tardiness time of vehicles.
The remainder of this article is structured as follows. Section II reviews the relevant literature. Section III describes the OS job sequencing problem in greater detail.
Section IV describes the mathematical model of the OS job sequencing problem, considering premarshaling and remarshaling. Section V describes the two-stage genetic algorithm. Section VI discusses the results of the heuristics for reducing average job tardiness time, and the simulations and case study used to validate it. Chapter VII concludes and suggests future research.

II. LITERATURE REVIEW A. MANAGEMENT OF YARD CRANE AND TRANSPORTER
To operate a container terminal at maximum capacity, several studies propose an integrated approach [19]- [21]. Lau and Zhao [22] develop an integrated model to manage the transporter, QC, and yard crane and to shorten container processing times. Cao et al. [23] propose an integrated yard crane and transporter problem to improve loading. Homayouni et al. [24] address the integrated scheduling of multiple pieces of equipment in an automated container terminal that uses a split-platform storage/retrieval system. He et al. [25] focus on the trade-off between equipment efficiency and energy consumption by integrating the management of the QC, transporter, and yard crane. Due to the direct relationship between the storage location and the routing path of a straddle carrier, Dkhil et al. [26] study an integrated space allocation and vehicle dispatching problem. Kress et al. [27] present a partitioning min-max weighted matching problem to model the temporary storage allocation problem and the job-to-equipment assignment problem. Chen et al. [28], who propose a scheduling model, considering the cooperation between vehicles and cranes, use a network flow with space and time windows, and emphasize that cranes and vehicles are synchronized.
Other studies focus on managing transporters independently [29], [30]. Briskorn et al. [31] approach the automated guided vehicle (AGV) dispatching problem from the viewpoint of inventory management. Grunow et al. [32] study the assignment of jobs considering the multi-load capability of AGVs. Kim et al. [33] develop an algorithm to detect and prevent deadlock between AGVs, where the AGV travel area is partitioned into grid blocks. Nguyen and Kim [34] propose a heuristic algorithm to dispatch automated lifting vehicles (ALVs) considering the buffer space for the containers in the apron and yard areas.

B. YARD CRANE JOB SEQUENCING
The management of yard cranes and jobs has been rigorously examined [35]- [38]. Chen and Langevin [39] use a metaheuristic to minimize the makespan of rubber-tired gantry crane (RTGC) jobs. Gharehgozli et al. [40] focus on the makespan minimization of single rail-mounted gantry crane (RMGC) jobs. Later, Gharehgozli et al. [41] propose an adaptive large neighborhood search algorithm to minimize the makespan of twin yard cranes' jobs considering job precedence. Vis and Carlo [42] and Nossack et al. [43] aim to minimize the makespan of crossover cranes' jobs.  Park et al. [44] develop a heuristic and a simulated annealing algorithm to minimize the waiting times of the internal and external vehicles by scheduling twin RMGCs. Choe et al. [45] incorporate the possibilities of remarshaling jobs into scheduling twin RMGCs considering the minimization of penalties for the remarshaling jobs, makespan, and the transporters' waiting times. Galle et al. [46] incorporate the selection of container slots into the job sequencing problem to minimize makespan and the chance of future relocation.
Guo et al. [47] address the job sequencing problem involving a single yard crane to minimize external and internal vehicle delays. Ng and Mak [48] develop a heuristic to sequence yard crane jobs to minimize vehicle waiting times. Similarly, Li et al. [49] propose a heuristic to sequence yard crane jobs by minimizing the earliness and tardiness of each job. Huang and Li [50] present three proxies for the job sequencing problem: the first considers the minimization of weighted vessel loading time, the second considers the minimization of weighted vehicle tardiness, and the third considers the minimization of makespan.

C. YARD CRANE JOB SCHEDULING
When the major decisions also include the time in which each job must be performed, the job sequencing problem becomes a job scheduling problem that must consider the interference between multiple cranes sharing the same track. Cao et al. [51] discuss the job scheduling problem for cross-over cranes to minimize makespan. Dorndorf and Schneider [52] study a container terminal that utilizes triple crossover stacking cranes. Han et al. [53] attempt to mitigate interferences between cranes to minimize the makespan when input/output points are available for immediate ASC operations.
The job scheduling problem can also include measuring crane productivity according to the number of productive moves per hour. Lee et al. [54] propose a heuristic to minimize the loading time of yard cranes by determining which crane should perform a job at a specific time.
Li et al. [55] develop a discrete-time model and propose a heuristic coupled with a rolling horizon approach to minimize the earliness and tardiness of each job. Zheng et al. [56] incorporate reshuffling jobs and yard cranes' interference into a twin yard cranes scheduling problem. He et al. [57] address a yard crane scheduling problem with uncertainty and reduce the completion time.
Some studies propose scheduling yard crane jobs by limiting the job sequence alteration. Briskorn and Angeloudis [58] present a graphical optimization problem to minimize makespan by scheduling the movement of crossover cranes or twin cranes with a fixed job sequence. Briskorn et al. [59] include intermediate slot locations for containers being transferred from the quay area to ETs at both ends of the storage area. Their model allows job sequence alteration. Jaehn and Kress [60] and Kress et al. [61] schedule twin yard cranes by altering only the sequence of landside jobs. Carlo and Martínez-Acevedo [62] strictly fix the job sequence to find the best priority rule that minimizes the interference between twin yard cranes.

D. RELATIONSHIP BETWEEN OUR PAPER AND OTHER STUDIES
Two published studies relate closely to our research. Park et al. [44] develop a twin RMGC scheduling model and consider the option for a RMGC to conduct premarshaling for existing jobs, and Choe et al. [45] consider premarshaling for future jobs. Unlike these two studies, we consider premarshaling and remarshaling as well as the realistic restrictions on the time when the OS can start or complete a job based on the job type. We develop a two-stage genetic algorithm for OS job sequencing, considering the benefit by the job separation. To our best knowledge, our study is the first to consider these aspects of OS job sequencing.

III. PROBLEM DEFINITION
We define a job sequencing problem for an OS to reduce the total tardiness time of flatcars and ETs in a RACT. We define the OS operations, classify them, and introduce a job separation procedure.

A. OS OPERATIONS IN A RACT
We consider a single OS working on an overhead rail covering a part of the transport area and the entire storage yard area as shown in Figure 3. The storage yard area is partitioned into three smaller storage areas each containing a set of container slots. The handover point (HP) is the location where the OS picks up and drops off containers from/to waiting vehicles (flatcars and ETs). Since an OS can interact with a vehicle positioned exactly under the OS rail, the line for the flatcar and the road for the ET also serve as the HP.
The container terminal's OS manager sequences OS jobs to ensure that each OS can serve any vehicle within a certain time window. The process manager regulates the time windows and provides the OS manager with a due time for each OS job to promote synchronization. The flatcar manager provides the OS manager with the expected locations of the interactions between flatcars and the OS, and the expected earliest times of the interactions (earliest arrival time) [8].
In particular, the storage job's earliest time denotes when the OS arrives to pick a container from a vehicle and the retrieval job's earliest time denotes when the OS arrives to drop a container onto a vehicle. Synchronizing the OS and other equipment, considering both of these earliest times, remains challenging due to the inevitable fluctuations in QC and flatcar operations that cause irregularity in the number of OS jobs over time.

B. OS JOB CLASSIFICATION
The OS handles three types of jobs distinguished by their origins and destination locations: retrieval, storage, and auxiliary. For the retrieval job, the origin location is the storage area and the destination location is the HP. The OS only completes a retrieval job after the corresponding vehicle arrives at the HP location (see Figure 4 (a)). For the storage job, the origin location is the HP and the destination location is the RACT's storage area. The OS only starts a storage job after the corresponding vehicle arrives at the HP location (see Figure 4 (b)).
For the auxiliary jobs, the origin and destination locations are any storage area. Each auxiliary job must have a corresponding main job. The main job must be completed VOLUME 8, 2020 before, or can only be started, after the related auxiliary job is completed, i.e., the job having a precedence relationship with the related auxiliary job. Note that the auxiliary job is classified as premarshaling and remarshaling based on the purpose of the job. The OS may start or complete any auxiliary job when the container is in the storage yard area (see Figure 4 (c)).

C. OS JOB SEPARATION
The job separation procedure separates an original job into a main job and an auxiliary job, where the total travel time of an OS when transporting a container (loaded travel time) from the main job and the auxiliary job equals the loaded travel time of the original job. The OS can reduce its workload during busy periods at the expense of adding more workload during idle periods. For instance, Figure 5 shows how premarshaling job 3 in the idle period prevents flatcar 3 from waiting. When the job separation is applied to a retrieval job, the resulting jobs are a retrieval job with shorter loaded travel time as the main job, and a premarshaling job. When the job separation is applied to a storage job, the resulting jobs are a storage job with shorter loaded travel time as the main job, and a remarshaling job. When separating a job does not aid the OS in reducing tardiness, the resulting main and auxiliary jobs are merged back into the original job.
We begin by separating all jobs that can be separable. A job that is eligible for separation has a temporary slot located between the job's origin location and destination location. We assume that the temporary slot is fixed to simplify storage space management. For instance, the origin and destination location of job 3 in Figure 6 encloses the temporary location L B and therefore, job 3 is separable job. The resulting storage job or retrieval job inherits the arrival time and due time of the original job. We set the arrival time and due time of the resulting premarshaling job or remarshaling job as 0 and M , respectively, with M as a positive large number. We also enforce a precedence relationship for the resulting retrieval job or remarshaling job so that the OS completes the premarshaling job before starting the separated retrieval job, or the storage job before starting the separated remarshaling job. After sequencing all jobs, we merge any separated jobs, whose main and auxiliary jobs are sequenced next to one another in the sequence, back into the original job.

IV. OS JOB SEQUENCING PROBLEM CONSIDERING JOB SEPARATION (OSJSPS)
We formulate the OS job sequencing problem considering job separation (OSJSPS) as an MIP model. Given a set of OS jobs J with N+1 jobs, where J = {0, 1, 2, . . . , N }, the problem is how to sequence all the jobs in J so that the total tardiness time of all jobs is minimized, with a dummy job j = 0 denoting the beginning of the sequence. We also incorporate decision variable w j to eliminate any subtour in the job sequence [63].
j∈J \{0} The objective is to minimize the sum of all jobs' tardiness times (1). Constraints (2) and (3) ensure that each job is sequenced once. Constraints (4) and (5) restrict the sequence to a single closed loop tour for completing the jobs. Constraint (6) updates the completion time for picking a container at the origin location for the job j, and constraint (7) updates the completion time for dropping it at the destination location for the job i. Note that the additional pick-up or drop-off time required by the OS to perform an auxiliary job is negated when the auxiliary job is sequenced before/after its corresponding main job because the resulting main and auxiliary jobs are merged into the original job. Constraint (8) ensures that premarshaling must be completed prior to starting its corresponding retrieval job, and constraint (9) ensures that the remarshaling operation can only be performed after completing its corresponding storage job. Constraint (10) ensures that an OS can only pick a container from a vehicle after the vehicle arrives, and Constraint (11) ensures that an OS can only drop a container onto a vehicle after the vehicle arrives. Constraints (12) and (13) calculate the tardiness times of all storage and retrieval jobs. Constraint (14) sets job j as the dummy job where the sequence begins. Constraint (15) ensures that all decision variables relating to time must be greater than zero. We validated the OSJSPS model in comparison with its solution and a full-enumeration model (see Appendix A for the details).

V. A TWO-STAGE GENETIC ALGORITHM FOR OSJSPS
A genetic algorithm is a metaheuristic that evolves chromosomes and solves optimization problems based on the principle of natural selection [64]. In scheduling problems, the genetic algorithm changes job sequences as chromosomes of a population. In general, the genetic algorithm generates initial population, evaluates the fitness of each chromosome by the objective function, provides inheritance from parent chromosomes, and decides to terminate if there is no improvement of the best chromosome or the number of repeated steps reaches a maximum iteration [65].
We develop a two-stage genetic algorithm (TGA) based on an iterative local search procedure (iLS) and an opportunistic job separation procedure (OSJSPS). The OSJSPS involves two sequencing problems for main jobs and auxiliary jobs, respectively. We connect the two sequencing problems and use a two-stage algorithm from..Defersha et al. [66] and.Tsai and Li [67]. The first stage searches the candidate sequences among the main jobs, and second stage searches the best sequence including auxiliary jobs, given the main job sequence and considering the precedence relationships.
We incorporate local search procedures into the two-stage genetic algorithm because a traditional GA-only algorithm may not guarantee convergence of a global optimal. The GA with the local improvement procedures accelerates searching local optima. We incorporate iLS into the first stage of TGA and an opportunity job separation procedure into the second stage of TGA. The local improvement procedures enable the stages to take advantage of iLS and the opportunistic job separation procedure, thereby improving the initial population the TGA generates. Figure 7 shows the flowchart of TGA.
Section V, part A, describes an initialization of the population based on the iLS and opportunistic job separation procedures. Section V, part B, gives the details of the genetic operators, selection, and crossover. Since the OSJSPS resembles the traveling salesman problem (TSP), it follows the complexity of the TSP which is NP-hard [68].

A. INITIALIZATION OF THE POPULATION
The initial population of the first stage consists of an elite sequence from an iLS and random sequences satisfying a condition that the random sequences should not exceed the maximum makespan from EAT. The initial population in the second stage consists of an elite sequence from the job separation procedure and random sequences from random numbers.

1) ITERATIVE LOCAL SEARCH PROCEDURE
The iLS starts with a sequence obtained from the earliestarrival-time procedure (EAT), a common default job sequencing procedure (Ng, 2005) that sequences a set of jobs by sorting them according to job arrival time in non-decreasing order. The iLS iteratively updates the job sequence by using local search sub-procedures. The local search sub-procedures scramble m consecutive jobs in a given sequence starting from the s-th job. For each scramble, the iLS produces a list of m! unique combinations of sequence, selects the best combination that minimizes the total tardiness time of all jobs, and updates the job sequence according to the best combination. An iLS with a larger m value yields better, or at least the same solution as an iLS with a smaller m value, but at exponentially longer computation time. The iterative local search sub-procedure starts with s = 1 until s = N − m with an interval of 1 job per iteration. Therefore, the complexity of iLS is approximately O((N − m + 1) · m!). Algorithm 1 summarizes the iLS procedure and Figure 8 illustrates the steps.

Algorithm 1 Iterative Local Search Procedure
Step 1.
Apply EAT to a given set of jobs J.
Start the iteration of the local search.
Step 2.1 Set s as 1.
Step 2.2 Create a job set V representing the permutations of the s-th job to (s + m − 1)-th job in J .
Step 2.3 Calculate the total tardiness of each job set in V.
Step 2.4 Replace job set J with the job set with the lowest total tardiness in V , and delete V.
Step 2.5 If s + m is smaller than N , set s as s + 1 and go to Step 2.2; otherwise, continue to Step 3.
Return J .

2) OPPORTUNISTIC JOB SEPARATION PROCEDURE
The opportunistic job separation procedure aims to reduce the total tardiness of all jobs by simultaneously selecting which job should be separated and determining when the OS processes the resulting auxiliary job. The procedure begins by identifying all separable jobs and time slots. Then the procedure assigns each of the resulting auxiliary jobs from the selected separable job to a time slot that minimizes the total tardiness of all jobs. We define a time slot as the period when the OS is idle. All separable jobs (original job) j are identified based on the criterion described in Section III, part B. We use index j + N for the resulting main job and j + 2N for the resulting auxiliary job. At this point, we have three sets of jobs: a set of original jobs J ⊆ {1,. . . ,N }, a set of main jobs K ⊆ {N + 1,. . . ,2N }, and a set of auxiliary jobs L ⊆ {2N + 1, . . . , 3N }, where the separation of job j results in the main job j+N and an auxiliary job j+2N . We consider the elements with indexes between N + 1 to 2N as separable jobs.
Identifying the time slot requires the job sequence information and an executable OSJSPS model. Figure 9 shows the OSJSPS model execution, in which we can track the OS status over time, and identify any time slot (constraint (6) and constraint (7)). The procedure only considers time slots with durations longer than the total duration for the OS to pick and drop a container. The procedure marks each time slot with the job index that succeeds in the corresponding time slot (constraint (8) and constraint (9)). For instance, if there is a time slot before the OS completes job j, the time slot is identified as time slot j. This example suggests that the OS can process an auxiliary job before it starts job j. Preliminary simulations showed that most of the time slots had short durations, so we set 1 as the number of auxiliary jobs that can be conducted during a time slot.
We define a unique time slot for each auxiliary job that can only be taken by and serves as the default time slot for, the corresponding auxiliary job. We set the default time slot immediately before or after the respective storage or retrieval job, depending on the precedence relationship. Therefore, when job separation brings no benefit, the auxiliary job will take the default time slot and it is merged back into the original job.
After identifying all time slots and all separable jobs, the procedure replaces all separable jobs j (original job) with the resulting storage or retrieval job (main job) j + N and an auxiliary job j + 2N . To guide the assignment of each auxiliary job to a time slot, the procedure iteratively selects the best time slot for each auxiliary job, which reduces the total tardiness time. In the case of equivalent total tardiness times, the procedure selects the auxiliary job that requires the longest loaded travel time. In the case of yet another equivalent loaded travel time, the procedure randomly selects from the pairs. VOLUME 8, 2020 The procedure maintains the sequence of original jobs and main jobs, and only changes when it inserts an auxiliary job between the original job and the main jobs. Obviously, the sequence of the given set of jobs J influences the procedure's effectiveness. Algorithm 2 summarizes the procedure and Figure 10 illustrates a numerical example.

B. SELECTION AND CROSSOVER OPERATORS
We introduce selection and crossover operators for the job scheduling problem. The genetic operators select parents and generate new offspring. We use two selection and crossover operators for the main jobs and auxiliary jobs. The genetic operators repeat until each termination criterion is satisfied, i.e., the fitness becomes zero or the number of iterations reaches the maximum iteration.

1) LINEAR ORDER CROSSOVER
We adopt the popular crossover operator, linear order crossover (LOX) mentioned in.Pinedo [69] for searching main job sequences. It generates offspring from two random crossover points which can be applied to a single machine scheduling problem. The numbers in Figure 11 denote the IDs of main jobs with their sequences. A gene represents a job ID with its order and a chromosome represents the set of genes. The genes between two random crossover points are inherited from the first parent and other genes are copied from the second parent.

2) TWO-POINT CROSSOVER
We also adopt the two-point crossover operator in Murata et al. [70] for auxiliary job sequences. We define the feasible solution space because the auxiliary job corresponding to a storage job should be placed before (forward) the main job, i.e., the auxiliary job to a retrieval job should be placed after (backward) the main job. The numbers in Figure 12 denote the offsets from a random number, where the number of steps the auxiliary job are located forward

Algorithm 2 Opportunistic Job Separation Procedure
Step 1.
Given a set of sequenced jobs J , calculate cost j as the tardiness of each job j ∈ J .
Calculate total_cost as the total tardiness time, given a set of sequenced jobs J .
Identify and list any time slot z into a set of time slots Z. Step 4.
Identify any separable job j ∈ J , and list its corresponding main job j + N to K and its corresponding auxiliary job j + 2N to L. Step 5.
Construct all possible pairs of auxiliary jobs j+ 2N ∈ L and time slots z ∈ Z .
Calculate the total_cost j+2N ,z for each pair of auxiliary job j + 2N and time slot z, as the total tardiness time of all jobs in J , except that job j is replaced by main job j + N and auxiliary job j + 2N is included in time slot z. Step 7.
If there is a total cost j+2N ,z with smaller value than total_cost, select the pair of auxiliary job j + 2N and time slot z with the minimum total_cost j+2N ,z ; if more than one pair has an equal minimum value, select the one with the longest loaded travel time, if there are still pairs with equal solutions, then select randomly, then continue to Step 8; otherwise, go to Step 10.
Update J by replacing the selected job j with j + N and putting j + 2N into time slot z, and then remove j + N from K , j + 2N from L, and z from Z. Step 9.
If there is any auxiliary job in L and any time slot z in Z, go to Step 6; otherwise, continue to Step 10.
Step 10. Calculate the total_cost as the total tardiness of J , and return J and the total_cost. or backward within a range of the feasible solution space. If more than one auxiliary job is assigned to the same position, the auxiliary jobs are re-sequenced randomly.

VI. COMPUTATIONAL EXPERIMENT
In this section we evaluate the proposed heuristics under three scenarios where job separation is possible. We modify data from a real container terminal to conduct a case study, considering the inter-arrival times of flatcars and external trucks. We compare the results obtained by the proposed heuristics and by the optimal approach.

A. EXPERIMENT DESIGN
We design an experiment to evaluate the effectiveness of the proposed heuristics for reducing total tardiness time and the effects of different scenarios on each heuristic, and to measure the computation required by each heuristic. Table 1 lists the parameters in the experiment. The real-size terminal has a single OS serving a partial area of 260.5 meters in length in a bay (shaded area in Figure 13). To enable job separation, we consider five temporary slots adjacent to each other, and randomly choose each slot during job separation. We set the length of the bay and OS moving times based on the simulation in [1]. We assume a constant OS speed of 4 m/s and a constant pick-up/drop-off time of 1 minute regardless of container location in a slot or vehicle. This assumption is reasonable for the fast-vertical speed of the OS, so we represent the speed by an average. Given the OS speed and moving times and the job's origin and destination locations, we calculate the empty travel timetable and loaded travel time before starting the job sequencing procedure.
The parameters, which represent common practical situations, are the numbers of jobs typically considered during a job sequencing period, the job compositions, and the distribution of flatcar inter-arrival times. The job compositions parameter represents different stages of QC activities in handling a vessel. For example, when QCs unload containers from a vessel, storage jobs from flatcars predominate, and when QCs load containers to a vessel, retrieval jobs predominate. The distribution flatcar inter-arrival time represents the workload distribution for a given vessel across multiple bays. For example, when a vessel's workload is concentrated in a bay, the frequency of arriving flatcars increases, and when the workload is sparsely distributed, the frequency of arriving flatcars decreases.
In Table 1 the numbers in bold represent the default setting. Typically, a bay handles 5 to 8 jobs per hour. For larger-scale problems, we consider up to 25 jobs during a single sequencing procedure. The flatcar inter-arrival time is represented by the minimum and maximum values of the inter-arrival times between the flatcars and they follow a uniform distribution. The ET inter-arrival time is represented by the uniform distribution with a minimum value of 0 and a maximum value of the last ET's arrival time. The job composition assumes a fixed percentage (10%) of the storage job and retrieval job to/from the ET. Our assumption of no rehandling is reasonable since 80% of the real jobs relate to vessels where rehandling can be prevented by careful planning. We assume the same priority between a flatcar and an external truck to prevent obtaining biased tardiness times by vehicle types. See Appendix B for the details.  We test five heuristics (earliest-arrival-time heuristic (EAT), earliest-arrival time with opportunistic job separation heuristic (EAT-S), iterative local search heuristic (iLS), iterative local search with opportunistic job separation heuristic (iLS-S), two-stage genetic algorithm (TGA), and an optimal algorithm (OPT). Only the EAT and the iLS apply the job sequencing procedure without any job separation procedure. The EAT-S uses an earliest-arrival time procedure to sequence the jobs and then uses the opportunistic job separation procedure for the resulting sequence. The iLS-S uses the iLS procedure combined with the job separation procedure to search for the sequence that minimizes total tardiness time. The TGA may search for further improvement from the local optima and obtain the global optimal. We also use an MIP solver to obtain the OPT solutions from the formulations.
Since we apply the opportunistic job separation procedure after finding the best job sequence, we compute the total tardiness time of each job sequence during the iterations without considering the improvement by job separation. For the iLS-based heuristic, we use the sub-procedures scramble m = 5. To test TGA, we use the genetic parameters and set the first stage population and sub-population sizes as 5 times the number of jobs. We set the maximum iterations for the first stage and second stage as a fixed number 25 after preliminary experiments.
We measure the total tardiness time obtained by each heuristic and the required CPU time. We compare the solutions obtained by the heuristics to the optimal solution using small-scale problems.
We use Siemens Tecnomatix Plant Simulation version 12 as our simulation platform and SimTalk, the built-in programming language of the Plant Simulation software, to implement the heuristics. We use Visual Studio 2017 to construct the model and IBM ILOG CPlex version 12.6 C++ Callable library to solve it optimally. We perform 20 trials for each parameter setting. We run the experiment on a PC equipped with Windows 10 Pro and Intel Core i5-7600L @3.80 GHz and 16GB RAM. Table 2 compares OSJSP, which allows no job separation, to OSJSPS using OPT. The job separation allowance in OSJSPS reduces total tardiness time by 39.09% on average. Job separation increases both computation time and complexity.  Table 3 summarizes the experimental results for the small problem sizes. The TGA outperforms the other heuristics which are still trapped at local optimal solutions. When the number of jobs is small enough, e.g., 6 to 8, the TGA obtains optimal solutions. When the number of jobs is large enough, e.g., 9 to 15, the TGA's optimality gap is between 5.90% and 9.74%. The CPlex solver is unable to solve problems with 15 or more jobs within the time allowance of 28800 seconds. Figure 14 illustrates the effectiveness of the heuristics algorithms relative to the EAT rule. On average, EAT-S and iLS-S improve 11.06% and 56.56%, respectively, and TGA and OPT improve 66.24% and 68.37% in total tardiness time, respectively.    Table 4 lists the results for the various job compositions. The job separation procedure contributes to the reduction of total tardiness time as indicated by the relative improvement by EAT-S, ranging from 9.11% to 27.31%, the relative improvement by iLS-S, ranging from 29.55% to 65.15%, and the relative improvement by TGA, ranging from 42.90% to 67.86%. The reductions in total tardiness time by job separation persist throughout all job composition settings. Job separation particularly achieves high improvement when there is a balanced ratio between storage and retrieval jobs to/from flatcars; the average improvement for the iLS-S and TGA is 51.66% and 54.26%, respectively. Table 5 lists the results for the various distributions of the flatcar arrival time periods. We note that the job separation procedure is only effective if the average flatcar inter-arrival time is at least longer than or equal to 195 seconds. After a certain point where the average flatcar inter-arrival time period increases, the improvement by job separation on iLS  and TGA heuristics starts to decrease. Ultimately, when the flatcar inter-arrival time is long enough so that each flatcar experiences no tardiness, job separation becomes obsolete. We note that the computation time required by TGA is heavily influenced by the average flatcar inter-arrival time. As the average of flatcar inter-arrival time becomes longer, the TGA quickly converges to the local or global optimal. When the number of jobs increases in iLS-S and EAT-S, computation times also increase, e.g., 5 to 8 jobs arrive every hour in a real bay of a RACT.

B. EXPERIMENTAL RESULTS
The experimental results show that the proposed heuristics reduce the total tardiness time of vehicles under circumstances representing the QC's different stages: handling vessels or vehicles, and bay workloads. The iterative local search within the iLS-S limits the search space of the possible job sequence enough to obtain a local optimum within a short time. The TGA reduces the total tardiness time of the local search procedures in most scenarios in the experiments. Overall, iLS-based heuristics outperform EAT-based heuristics under any circumstances, partly because when iLS-based heuristics re-sequence a subset of neighboring jobs, the total tardiness time of a series of jobs decreases, but at the expense of a slight increase in the tardiness time of one job.

C. CASE STUDY
We consider a case study with the inter-arrival time of flatcars and external trucks modified for the RACT configuration from real data. We assume that the due time of vehicles follows a lognormal distribution from the vehicle inter-arrival time data. Table 6 reports that the TGA outperforms the algorithms that are trapped in local optimal solutions. Figure 15 shows the relative improvement by TGA, ranging from 32.01% to 39.33%.

VII. CONCLUSION
This article presented a job sequencing problem, considering job separation, and developed a two-stage genetic algorithm based on an iterative local search procedure and an opportunistic job separation procedure for sequencing a set of OS jobs in a RACT with a single OS traveling on a rail in a bay. The proposed algorithms enhanced the flexibility of OS operations and smoothed the synchronization procedure between yard storage and vehicles in the RACT.
The iterative local search procedure was developed based on the notion that an efficient sequence is obtainable by scrambling only a small subset of jobs with similar arrival times. The opportunistic job separation procedure improved the sequence by exploiting OS idle time. The two-stage genetic algorithm incorporated local search procedures to further improve total tardiness time within reasonable calculation time.
The four heuristics, EAT-S, iLS, iLS-S, and TGA, include the iterative local search procedure, or opportunistic job separation procedure, or both. The EAT-S heuristic applies the opportunistic job separation procedure after the jobs are sequenced. The iLS uses the iterative search procedure without job separation. The iLS-S, an extension of the iLS, adds the opportunistic job separation procedure after the jobs are sequenced. The TGA applies an opportunistic job separation procedure during iterative local search procedures.
Future research should address the rehandling job problem when the requested containers are not at the top of the container stack. The impacts of decisions about temporary slot locations on the four heuristics deserve more examination. Future research should also consider integrating the flatcar routing problem into the OS job sequencing problem to obtain smoother synchronization, by modifying the proposed heuristics to address the different equipment configurations in RACTs. The proposed algorithm and procedures could also be modified to obtain smoother synchronization between yard cranes and waiting vehicles in vertical terminals with transport locations and yard cranes under Chebyshev movement.

A. THE OSJSPS VALIDATION
We validate the OSJSPS model in comparison a with fullenumeration model (Solution) The full-enumeration model uses 30 instances. We enumerate full cases and obtain an optimal solution, which means the OSJSPS model works correctly.

B. EXPERIMENTAL RESULTS FROM WEIGHTS BETWEEN A FLATCAR AND EXTERNAL TRUCK
We conduct sensitivity analysis over weights by vehicle type. Table 8 reports that the weights modulate the tardiness of flatcars, external trucks, and the total sum of tardiness. In general, the weight [50,50] are balanced.