A decision support system for a capacity management problem at a container terminal

A decision support system for a capacity management problem at a container terminal

Journal Pre-proof A decision support system for a capacity management problem at a container terminal Julio Mar-Ortiz, Norberto Castillo-García, María...

3MB Sizes 2 Downloads 68 Views

Journal Pre-proof A decision support system for a capacity management problem at a container terminal Julio Mar-Ortiz, Norberto Castillo-García, María D. Gracia PII:

S0925-5273(19)30322-6

DOI:

https://doi.org/10.1016/j.ijpe.2019.09.023

Reference:

PROECO 7502

To appear in:

International Journal of Production Economics

Received Date: 20 September 2018 Revised Date:

11 September 2019

Accepted Date: 27 September 2019

Please cite this article as: Mar-Ortiz, J., Castillo-García, N., Gracia, Marí.D., A decision support system for a capacity management problem at a container terminal, International Journal of Production Economics (2019), doi: https://doi.org/10.1016/j.ijpe.2019.09.023. This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of record. This version will undergo additional copyediting, typesetting and review before it is published in its final form, but we are providing this version to give early visibility of the article. Please note that, during the production process, errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain. © 2019 Published by Elsevier B.V.

A decision support system for a capacity management problem at a container terminal Julio Mar-Ortiz Faculty of Engineering, Universidad Autonoma de Tamaulipas, Campus Tampico-Madero, 89140 Tampico, Mexico e-mail: [email protected]

Norberto Castillo-García Faculty of Engineering, Universidad Autonoma de Tamaulipas, Campus Tampico-Madero, 89140 Tampico, Mexico / Instituto Tecnológico de Altamira, Altamira Mexico. e-mail: [email protected]

María D. Gracia Faculty of Engineering, Universidad Autonoma de Tamaulipas, Campus Tampico-Madero, 89140 Tampico, Mexico e-mail: [email protected]

A decision support system for a capacity management problem at a container terminal

Abstract: This paper aims to design an optimization-based decision support system (DSS) for a capacity management problem in container terminals. The capacity management problem at a container terminal seeks to balance supply (equipment assignment) and demand (arrivals of trucks) while improving customer service level and productivity indicators. Specifically, this paper addresses the problem of determining the appointment quota for each time slot on a one-day planning horizon, within a container terminal working on a truck appointment system (TAS) environment. The DSS is developed in cooperation with an industrial partner to help them with their operational decision making when determining the appointment quotas, considering yard resource availability. The underlying approach makes use of a tabu search metaheuristic algorithm to solve a related optimization problem that balance the supply and demand of moves in the yard. The DSS is flexible, allowing several parameters to be configured and read from external files. Experimental examples using real-world data were conducted to evaluate the effectiveness of the system, and the suitability of the DSS. Keywords: container terminals, decision support system, tabu search, capacity management in port logistics.

1. Introduction Capacity management is a crucial decision-making process performed in worldwide industries, and container terminals are not the exception. The operational capacity management problem at a container terminal is a difficult and complex chore that seeks to balance supply (equipment assignment) and demand (arrivals of trucks) while improving customer service levels and productivity indicators. The terminal planer team takes both decisions every day. From a practical 1

point of view, the operational capacity management problem encompasses four decisions: (1) the appointments scheduling decisions, where the aim is to compute the appointment quota, i.e. the number of truck appointments to be scheduled per time slot (Phan and Kim, 2015; Torkjazi et al., 2018); (2) the sell appointments decisions (see Kraft, 2002; Chen et al., 2011), where the aim is to determine the tariff per time slot in order to manage the spaces available in dynamic fashion ―usually customer service sells more appointments than the originally determined to compensate the non-show effect―; (3) the resource scheduling decisions (Hartmann, 2004; Hartmann, 2013), where the terminal planner with the available information of the appointments sold, performs an operational refinement of the resource scheduling, considering additional constraints, such as nonshow, shifts, and early or late arrivals probabilities, among others; and, (4) the real-time decisions (Van Riessen et al., 2016), where the terminal planner must define some operational rules to make decisions under disruptive events; making use of data-driven decision mechanisms and tools such as simulation and data mining models. The inherent complexity of these decisions highlights the need to develop analytical methods to support with objectivity the decision-making process in capacity management of port operations. However, the use of advanced analytical methods during the long term or daily operations is difficult to implement without the aid of technological platforms that simplify the required computations. Therefore, Decision Support Systems (DSS) are required to aid decision makers in the complex decision-making process of managing port and maritime supply chains (Mar-Ortiz et al., 2018). In this paper, we concentrate on the first stage of the capacity management problem, the appointments scheduling problem. The aim is to design an optimization based DSS to manage traffic flows in a container terminal through proper sizing of truck appointments per time slot. Here, the truck appointments are sized depending on the activity generated by vessels (which are usually very well anticipated). Thus, offering fewer truck appointments for busy time slots and more appointments for less busy time slots, regarding the yard resource availability. It is achieved 2

by solving an optimization model that balance the workload in the container yard. Our approach differs from previous works published on literature, in how we define the appointment quota. Previous works assume a given handling capacity to serve trucks and try to minimize queuing consequences at the gate (Chen et al., 2013; Zhang et al., 2013). However, we capture the essentials of the appointment quota, considering that the number of appointments offered to external trucks depends on the availability of yard resources, once the vessels requirements have been fulfilled, which is the leading operation within a container terminal. Furthermore, our DSS is developed in cooperation with an industrial partner to help them with an operational decisionmaking problem what makes it a practical tool. In this way, the main contributions of this paper are outlined as follows: •

A new optimization model and a solution algorithm are proposed to balance the workload in the yard blocks aiming to minimize congestion, during vessel loading and discharging operations.



A new DSS is developed to aid decision makers to proper sizing truck appointments on predefined time slots, depending on the activity generated by vessels.

The remainder of this paper is organized as follows: Section 2 reviews the related literature on decision models and DSS for truck appointments. Section 3 defines the problem, while in Section 4 depicts the modules of the DSS. Later in Section 5, the analytical and algorithmic components of the solution approach embedded on the DSS are described. In Section 6 an experimental evaluation of the DSS is presented. Finally, in Section 7 the conclusions are shown, and further research directions are identified.

2. Related Literature 2.1.

Truck Appointment Systems

Truck appointment systems (TASs) are a common approach to reduce congestion and truck turnaround times at container terminals. The general idea behind a TAS is that the port terminals 3

can receive advance information regarding the arrival patterns of the trucks, in order to achieve better planning of their operations, reduce waiting times and mitigate congestion, avoiding spikes and pronounced valleys. In this sense, a well-designed TAS offers benefits to both carriers (shorter waiting times) and container terminals (better planning of their resources). From the early contributions that describe the pros and cons of TAS (Giuliano and O’Brien, 2007); to the recent studies that model disruptions (Li et al., 2018) and collaborative schemes (Phan and Kim, 2015; Schulte et al., 2017), the design of TAS has been widely studied, and the benefits and impacts obtained in terms of the waiting times and congestion reduction at gates have been quantified (Zhao and Goodchild, 2013). Giuliano and O'Brien (2007) present one of the seminal analysis of the impacts obtained by a TAS in terms of truck emissions. Results found in the study indicate no evidence of significant impacts of the TAS due to the lack of practical efforts to reduce waiting times of trucks at gates. One key element of the successful implementation of a TAS is related to the capability of the terminal operators to accurately define the available number of slots to truck carriers. In this regard, Huynh and Walton (2008) propose a methodology to assist terminal operators to find the proper level of capping truck arrivals at the port terminal. The aim is to define a solution that is beneficial for both the terminal operator and the truck carriers, accounting for early and late arrivals, and noshow of truckers with appointments. Huynh and Walton (2011) explore the effect of limiting truck arrivals on crane utilization and examine scheduling rules (individual/block appointments) and their effects on resource utilization and truck turnaround times. Van Asperen et al. (2013) address the impact of truck announcements on container stacking efficiency; investigating different scenarios to analyze whether more precise information of dispatching times influence the time to retrieve the container from the stack. No congestion performance indicators are measured, however, as the focus is on yard operations rather than the gate. Chen and Yang (2010) propose a system in which time windows length is optimized such that truck transport cost may be minimized. Chen et al. (2013) extend previous work and provide a framework based on three steps with a more precise 4

estimation of truck waiting times. Zhang et al. (2013) propose an optimization model for TAS, where the appointment quota of each period is optimized subject to the constraints of adjustment quota. A BCMP queuing network was used to describe the process of trucks at gate and yard, and to solve the model a method based on Genetic Algorithm and Pointwise Stationary Fluid Flow Approximation was designed. Most of the previous studies assume a given handling capacity allocated to trucks and try to minimize queuing consequences (Guan and Liu, 2009). However, truck appointments are sized depending on the activity generated by vessels, trains, and barges (which are usually very well anticipated). Typically, the terminal can serve fewer trucks during time slots with high levels of activity in vessels. Thus, offering fewer truck appointments for busy time slots and more appointments for less busy time slots. Some authors have recognized this interaction between the number of truck appointments and the number of yard cranes used to simultaneously serve internal and external trucks; as well as their impact on congestion and delays at the terminal. Zender and Feillet (2014) propose a mixed integer linear programming model to determine simultaneously, the number of truck appointments to accept and the number of straddle carriers to allocate to trucks, trains, barges and vessels to reduce overall delays at the terminal. Zhao and Goodchild (2013) propose a hybrid approach of simulation and queuing theory to model the interaction between yard crane and arriving trucks during the container retrieval process. This hybrid model is designed to evaluate how strategic factors, such as truck appointment system configuration and container dwell time, affect crane productivity, and truck transaction time. Torkjazi et al. (2018) propose a formulation for a TAS considering minimizing not only the impact on the container terminals but also on drayage operations. Li et al. (2018) identify response strategies that can maintain high resilience ability in container terminals, facing disruptions caused when some truck arrivals deviate from their schedule in the appointment system. Zhang et al. (2019) propose a model based on nonstationary queuing theory for optimizing a TAS to decrease external trucks' waiting times, at the gate and yard, and internal trucks’ waiting times at the yard. Thus, the research on truck 5

appointment systems trends to consider its impact not only on the container terminal but also on other components of the port logistics processes. Most of the TAS available on the literature are based on mathematical models, which should be incorporated into technological tools or DSS –computerized solutions used to assist the complex process of decision making and to solve specific problems (Shim et al., 2002)–. Mar-Ortiz et al. (2018) discuss the challenges in the design and development of DSS for the port and maritime industry; the authors state that the computational, analytical and technological advances have evolve to cope with the need of higher level intelligent and advanced systems that demand extensive experience and expert knowledge in the port and maritime industry, and conclude that the design of DSS that provide real-time solutions may be approached using modern metaheuristic algorithms whose effectiveness has been demonstrated in several domains. The substantial function of a TAS is to manage the arrival of trucks among terminals and the stakeholders of the port cycle. The inter-terminal transportation is one of the main flows that affect ports traffic. It is related to the moving of containers and cargo between separated areas within a seaport. Consequently, it must be considered when sizing a TAS. In the literature, the study of interterminal transportation has been approached to minimize transport costs, empty trips, and avoid congestion, among others. Two of the most relevant contributions on the subject are Heilig et al. (2017a) and Heilig et al. (2017b), which propose technological platforms to solve this practical problem related to TAS. Heilig et al. (2017a), modeled the inter-terminal transportation problem as a vehicle routing problem that minimizes the overall cost of the selected routes. They propose two greedy heuristics and two hybrid simulated annealing algorithms to solve it. The foremost contribution of the authors was to take advantage of modern information technologies and optimization algorithms. Heiling et al. (2017b) extend the inter-terminal transportation problem into a multi-objective inter-terminal truck routing problem by considering the objectives of minimizing variable and fixed costs of

6

vehicles as well as greenhouse gas emissions. They propose a SA-based multi-objective optimization algorithm and a clustering procedure to solve it.

2.2.

Yard Optimization Problems

In the literature four problems deal with the yard optimization problem: (i) the yard crane assignment and scheduling problem (He et al., 2019), which refers to the handling sequence and starting service time of each yard crane for each task group, aiming to improve the handling efficiency and cost in a container terminal; (ii) the container staking problem (Rodriguez-Molins et al., 2012), which aims at determining the stacking positions of the containers in the yard in order to reduce unproductive moves (i.e., rehandling moves) that cause operational delays; (iii) the container relocation problem (Ting et al., 2017), that involves the retrieval of all containers from the container yard with a minimum number of relocations; and (iv) the multi-period yard template planning problem (Zhen et al. 2016), which aims at determining the assignment of blocks in a yard for arriving vessels, which visit the port periodically, so as to minimize the transportation cost of moving containers around the yard. Our yard-block workload assignment problem is a variant of the first and fourth problems, with the aim of balance the workload in the yard blocks in order to achieve homogeneous productivity of yard cranes.

3. Background and Problem Description Consider a container terminal that aims to determine the proper number of truck appointments to be scheduled per time slot during a working day, by analyzing the resources that will be available in the yard after servicing the incoming vessels. To do it so, few days before a vessel arrives at the container terminal, the terminal planner determines the sizes and locations of storage areas (blocks) for the containers to be loaded onto the vessel, and then determine the containers to be stacked in each block, by using a dynamic space-allocation method for outbound containers 7

(Kim et al., 2003; Caserta et al., 2012; Chen and Lu, 2012). Later, a few hours before a vessel arrives, the terminal planner determines: (i) the sequence of discharging and loading containers for the vessel, (ii) the quay cranes to be assigned to the vessel, which implies solving a quay crane assignment and scheduling problem (Diabat and Theodorou, 2014; Biewirth and Meisel, 2015), and (iii) the number of internal trucks to be used per quay crane (Vis et al., 2001; Gracia et al., 2018). Figure 1 shows a standard sequence of operations for a vessel serviced by three quay cranes to discharge and load 481 containers. Once handling operations start on the vessel, the quay cranes will generate transportation jobs for the internal trucks and handling jobs for the yard cranes. Each quay crane and each yard crane have expected standard productivity (moves per hour), that defines the number of containers that the container terminal expects to move per hour. If the yard operates with rubber-tired gantry cranes (RTG), their operation is generally restricted to a predetermined block within a container yard for a few hours before the crane moves to another zone, to ensure yard traffic safety and to avoid long zone-to-zone traveling time. However, within a block, a yard crane can move freely to perform all handling jobs generated by the vessel. The physical handling rate (productivity) of a yard crane is generally about half of that of a quay crane, and very often, the container flow in a terminal is bottlenecked because of the slow yard crane operations. To cope with this constraint, usually, the terminal operator uses as a rule 1.5 RTGs per each quay crane. In this context, the activity generated in the yard by vessels can usually be very well anticipated. Finally, the terminal planer determines the proper number of truck appointments per time slot, by assigning the remaining moves of yard cranes to pick-up and deliver containers to external trucks.

8

FIGURE 1. SEQUENCE OF OPERATIONS.

A terminal planer faces these decisions every day, consuming a considerable amount of time that could be used to analyze other potential scenarios. Hence, a technological solution capable of providing a high-quality solution in a few seconds is required. This technological solution must be able not only to determine the proper number of trucks that may be attended per time slot on a oneday planning horizon but also to balance the workload in the container yard. Besides, the DSS must be able to perform sensibility analyses by varying some parameters, like the sequence of operations and the expected productivity per quay and yard equipment, among others.

9

4. Developing a Decision Support System In this section, we describe a decision support system designed to facilitate the decision-making process when determining the appointment quota in practice. The DSS is an integrated prototype software designed to run into a multiplatform environment. It is so because the software and the heuristic procedures were coded in JAVA, aiming to develop a user-friendly interface between the system and the terminal planner. The purpose of the DSS is not only to provide high-quality solutions regarding the computation of the appointment quotas but also to give decision makers more insights into the capacity management at container terminals. Furthermore, our development presents an additional advantage, by being based on free software technology, which incorporates a state-of-the-art metaheuristic algorithm of proved effectiveness for solving problems of similar nature to the addressed in the article. In particular, the DSS has two major modules, the “Sequence Visualization Module” and the “Optimization Module”. The sequence visualization module (see Figure 2) reads the sequence of loading and discharging operations and the quay cranes productivities, in order to compute the expected number of moves per hour of quay equipment. This module visualizes the expected productivity of the quayside and the makespan of the quay cranes. The optimization module (see Figure 3) takes the information provided by the sequence visualization module and reads some other parameters regarding the yard conditions, such as the number of blocks, the location of the export containers, the number of yard cranes and their expected productivity. Finally, the user defines the maximum number of iterations for the tabu search algorithm (see Section 5.2.2), which is the unique parameter required to the user by the metaheuristic algorithm in order to have an independent optimization algorithm. After few seconds, the optimization module shows the best configuration suggested by the DSS to assign yard cranes to blocks, the expected workload among the blocks, and the expected number of containers that the terminal will be able to attend per hour on a one-day horizon. Then, to compute the appointment quota per time slot, the user is required to define the length of each time slot (see Figure 4). 10

The computational efficiency of the DSS allows the user to analyze several realizations of the yard conditions, sequences of quayside operations, and equipment productivities, in order to aid the decision-making process. Indeed, the DSS allows the terminal manager to vary several parameters to perform sensitivity analyses. Additionally, there are several options, such as read the sequence of operations, modify the expected productivity of yard and quayside equipment, and the length of the time slots. Notice that changes in one or more of these parameters will affect the solution.

FIGURE 2 SEQUENCE VISUALIZATION MODULE.

11

FIGURE 3 OPTIMIZATION MODULE: INPUT PARAMETERS.

12

FIGURE 4 OPTIMIZATION MODULE: RESULTS.

5. Analytical and Algorithmic Components of the Solution Approach Three analytical components are embedded into the DSS: (1) a preprocessing component to compute the workload of each quay crane; (2) a modeling and optimization component to determine the resource requirements that will be consumed by the vessels; and (3) a post-

13

processing component to estimate the resources that will be available in the yard to picking-up and delivering containers to external trucks; thus determining the appointment quota.

5.1.

Preprocessing: Compute the workload of each quay crane per unit of time

In the first stage, a deterministic procedure is required to determine the total number of moves (i.e., loading and discharging moves) that each quay crane will perform per unit of time (usually an hour) along the planning horizon. Thus, given the sequence of operations per quay crane and its expected productivity (number of containers to move per hour), the aim of this procedure is to determine the number of import (I) and export (E) containers that each quay crane q must move from and to the vessel per unit of time t, DIqt, and DEqt respectively. The input data of this procedure is the sequence of operations of the vessel, which we assume that the terminal manager has available. This sequence of operations may be previously obtained from an exact or an approximation algorithm. The sequence of operations defines per each quay crane used in the loading and discharging process, a permutation of triplets πq(sec)={type of move (load -L- or discharge -D-), bay of the vessel where the move will be performed, number of containers to move}. For instance, quay crane 1 may have the following sequence of operations: πq1(1)={D, 42, 100}, i.e., discharge from bay 42, 100 containers; πq1(2)={L, 46, 80}, i.e., load to

bay 46, 80 containers; and so on. The procedure is detailed on Algorithm 1 in Appendix A.

5.2. 5.2.1.

Modeling and Optimization: the multi-period yard workload assignment problem Modeling the multi-period workload assignment problem

For a formal definition of the problem, let QC = {q1, q2, ..., qQC} be the set of quay cranes assigned to the container loading and discharging operation, and YC = {g1, g2, ..., gYC} be the set of yard cranes available on the terminal for exclusive use to loading and discharging operations; whose productivities (i.e. the number of containers to move per unit of time) are well known. Let T = {t1, t2, ..., tT} be the set of time units along the planning horizon. Let B(E) be the set of export 14

blocks, B(I) the set of import blocks and B(M) the set of mixed blocks, where a mixed block may storage import and export containers. From the procedure depicted in Algorithm 1 (see Appendix A), the number of import and export containers that each quay crane q must move from and to the vessel per unit of time t, DIqt and DEqt respectively, are known. The location of the export containers in the yard is also known. Let HEb be the number of export containers located on yard block b. The problem consists of finding the best assignment of (1) workload, and (2) yard cranes to the blocks of containers, in order to achieve homogeneous productivity of yard cranes, while all the scheduled moves (loading and discharging) per unit of time are executed. The aim of the mathematical model is to balance the workload among the blocks in order to reduce traffic flow and congestion among them. This is one of the main accepted heuristic principles by terminal operators for space planning and congestion management (Kim and Park, 2003). Due to technical limitations or capacity conditions, a maximum number of W yard cranes can be placed on a block without collision problems. Figure 5 illustrates the relationship between the variables.

Quay Cranes

Yard Cranes

DIqt QC1

DE

λE(q1)bt

qt

Block A

Vessel

λI(q1)bt

µ·Sbt

Block B

λI(q2)bt Block C

DIqt QC2

DEqt

λE

(q2)bt

Import moves Export moves

FIGURE 5. YARD WORKLOAD PROBLEM REPRESENTATION.

15

In order to facilitate the description of the mathematical model proposed here, Table 1 describes the notation used.

TABLE 1. NOTATION USED IN THE MATHEMATICAL MODEL. − Sets: Q G

Set of quay cranes. Set of yard cranes available on the terminal for exclusive use to loading and unloading operations, where |G| = Rmax B Set of container's blocks. Where B(I) ⊆ B is the subset of import containers and B(E) ⊆ B is the subset of export containers. T Set of time units. − Parameters: HEb Number of export containers located on block b. DIqt Number of import containers scheduled (demand) to be unloaded by quay crane q∈Q on time t∈T. DEqt Number of export containers scheduled (demand) to be loaded by quay crane q∈Q on time t∈T. Standard productivity of a generic yard crane (RTG). µ W Maximum number of yard cranes that can be placed on a block without collision problems. k Minimum number of consecutive periods that a yard crane must remain in the assigned block. Rmax Number of yard cranes available in the terminal. − Decision variables: λIqbt Number of import containers to be unloaded by quay crane q∈Q with destiny to block b∈B on time t∈T. λEqbt Number of export containers to be loaded by quay crane q∈Q coming from block b∈B on time t∈T. ygbt 1 if yard crane g∈G is assigned to block b∈B on time t∈T, and 0 otherwise. αgbt 1 if the assignment of yard crane g∈G to yard block b∈B begins on period t∈T, and 0 otherwise. The complete mathematical model for the yard block workload assignment problem (YB-WAP) is given by:   ∙  −  +   ,

∈



(1)

Subject to:

16

 =

 

(2)

 =

∀" ∈ #, $ ∈ %

 

∀" ∈ #, $ ∈ %

(3)

∀( ∈ )*

(4)

∀. ∈ /, $ ∈ %

(5)

∀$ ∈ %

(6)

∀( ∈ ), $ ∈ %

(7)

∀. ∈ /, ( ∈ ), $ ∈ %

(8)

∈

∈

 = & ∈' ∈



∈∪



 ≤ 1



∈ ∈∪

 ≤ 0123

 ≤ 4

∈

9:;<

5. 7 ≤ 8 ≤ 5 − 1 + 7 8=

7 ≤ 1 − 78

 +  ≤ ⋅ 

∈

 ≥ 0

∈

 ≥ 0

 ∈ B0,1C

7 ∈ B0,1C

∈

∀. ∈ /, ( ∈ ), $ ∈ %, > = $ + 1. . $ + 5 − 1 ∀( ∈ ), $ ∈ %

∀" ∈ #, ( ∈ ), $ ∈ % ∀" ∈ #, ( ∈ ), $ ∈ %

∀. ∈ /, ( ∈ ), $ ∈ % ∀. ∈ /, ( ∈ ), $ ∈ %

(9) (10) (11) (12) (13) (14)

The objective function in (1) minimizes the maximum difference between the assigned handling capacity to blocks and its workload. We have four sets of constraints. The first set of constraints (2 ~ 4) are demand constraints. Constraints (2) and (3), respectively, state that all the import and export moves scheduled per each quay crane must be executed. Constraint (4) state that all export containers located on yard block b must be uploaded by the corresponding quay crane q. The

17

second set of constraints (5 ~ 9) are resource allocation constraints. Constraint (5) states that a yard crane only can be assigned to one yard-block at a time. Constraint (6) states that no more than Rmax identical yard cranes can be assigned to blocks at a time. Constraint (7) states that every yard block may handle at most W yard cranes. Constraints (8) and (9) state continuity and feasibility conditions, where if a yard crane is assigned to a yard block at time t, it must remain on that block at least k periods. These constraints are necessary to avoid unnecessary reallocation of yard cranes during the working day. Constraint (10) is a capacity constraint; it states that a yard block cannot perform more moves than those available. Finally, constraints (11 ~ 14) define the technical conditions. This formulation is a variant of the assignment problem with additional constraints. Especially, note that this is a minimax linear programming problem, which according to Ahuja (1985) is equivalent to the following linear programming problem:  D

( 15 )

Subject to: ( 2 ) ~ ( 14 )

∙  −  +   ≤ D

∈



∀( ∈ ), $ ∈ %

(16)

As we desire high-quality solutions in very fast response times, a metaheuristic algorithm is next proposed.

5.2.2.

A tabu search algorithm to solve the multi-period workload assignment problem

In this section, we introduce a Tabu Search (TS) algorithms to solve the multi-period yard-block workload assignment problem depicted above. Tabu Search is an adaptive search procedure for solving optimization problems, designed to guide other methods to escape the trap of local optimality. For a thorough description of TS, we refer to books (Glover and Laguna, 1997) and 18

tutorials (Glover and Taillard, 1993) that cover this technique. The motivation for using TS in this particular application is based on the fact that this metaheuristic approach has been used in a wide variety of classical and practical problems of a high degree of complexity, including several variants of the assignment problem (see Laguna et al., 1995; Lee et al., 2012). On the other hand, in the container terminal realm, TS has been used to solve a variety of problems including the interterminal transport of containers (Hu et al., 2018), the movement of containers among terminals, depots and customers (Sterzik and Kopfer, 2013), and the scheduling of quay cranes, yard cranes and vehicles on the yard (Chen et al., 2007; Lee et al., 2012). To implement a TS strategy, the following questions were answered: How to code a solution? What movement operators should be considered in our TS approach? What is the structure of the neighborhood of an existing solution? How many moves should be retained in the tabu structure? What are the criteria for stopping the procedure? What diversification strategy should be employed? The remaining part of this section explains this procedure on the yard workload assignment problem. 5.2.2.1. Solution coding. When designing an algorithm, it is important to define an efficient

structure for encoding the solution. Computationally speaking, in our particular case the simplest structure to consider for representing the solution is a WORKLOAD matrix (see example in Figure 6) which has as many rows as the total number of transfer tasks (QC × T) and as many columns as the number of container blocks (B). Every transfer task π is defined by the set of two attributes: the time period t and the quay crane q (πtq). Each cell (π, b) specifies the amount of workload lπb assigned to block b to satisfy the transfer task π. Since every row in WORKLOAD corresponds to a transfer task and every column corresponds to a container block, a feasible solution must satisfy that: a) for each row its sum must not exceed the demand of moves in transfer task π, import DIqt and export DEqt, respectively, and b) for each column of the export containers its sum must be less than the total number of export containers located on that block HEb.

19

λE/Iqbt

Mixed blocks

Import Blocks

Batch

1A

2B

3C

4D_I 4D_E

Export Blocks 5E

6F

DIqt

DEqt

Σ

A

π

q1

5

5

5

6

21

21

B

π

q2

4

5

5

5

19

19

C

π

q3

3

4

4

4

15

15

D

π

q1

3

3

3

3

12

12

E

π

q2

2

3

3

3

3

3

3

11

9

20

F

π

q3

2

3

3

3

3

3

3

11

9

20

G

π

q1

2

3

3

3

3

3

4

11

10

21

H

π

q2

4

4

5

13

13

I

π

q3

4

4

5

13

13

J

π

q1

4

4

5

13

13

K

π

q2

5

5

6

16

16

L

π

q3

6

6

6

18

18

32

32

37

101

201

1 1 1 2 2 2 3 3 3 4 4 4 E

H

b

100

FIGURE 6 WORKLOAD MATRIX: SOLUTION TO THE TRIAL EXAMPLE. From the WORKLOAD matrix is easy to obtain a Λ matrix; where each cell λ(t, b) summarizes the workload assigned to yard block b on time period t. See Figure 7.

Yard Block

Period

λ(t, b)

5E

6F

Σ 55

15

6

6

52

14

11

14

47

15

15

17

47

59

32

37

201

1A

2B

3C

4D

t1

12

14

14

15

t2

7

9

9

t3

2

3

3

t4

Σ

21

26

26

FIGURE 7 THE Λ MATRIX. A feasible solution in Λ has associated an assignment of yard cranes to blocks. The simplest structure considered to represent the assignment of yard cranes to blocks corresponds to another matrix ASSIGN (see Figure 8), where each cell y(t, g) = b indicates the block b to which the g-th yard crane has been assigned on time period t. For example y(2, g3) = 1A means that in time period 20

2 the yard crane g3 is assigned to block 1A. With this structure, constraints (5) and (6) are easily satisfied. Yard cranes

Period

y(t, g)

g1

g2

g3

g4

g5

g6

g7

g8

2B

3C

2B

3C

g9

t1

4D

1A

4D

t2

4D

1A

4D

t3

1A

2B

3C

4D

4D

5E

t4

1A

2B

3C

4D

4D

5E

5E

6F

6F

μg

10

10

12

12

12

12

14

14

14

5E

6F 6F

FIGURE 8 ASSING MATRIX. 5.2.2.2. Initial Solution. The initial solution is obtained by the following three steps greedy

procedure which aims to maximize the efficient use of yard cranes: Step 1. In the first step, considering the principle that a balanced the workload among the blocks is preferred to reduce the traffic flow and congestion among blocks, all the demand of import DIqt and export DEqt moves are uniformly distributed among their corresponding blocks. This

procedure emulates the current practice of the industrial partner. For example, if there are  

= 20 moves and there are 6 import blocks, then a feasible solution will be πtq = <3, 3,

3, 3, 4, 4>. Satisfying that:

∑∈  =

 

for each q and each t

Although this step could lead to an infeasible solution, due to it does not warranty to satisfy the constraint (4); a feasibility procedure will eliminate this infeasibility. Step 2. In the second step, the Λ matrix is easily obtained from the WORKLOAD matrix. Step 3. In the third step, the ASSIGN matrix is computed. Basically, obtaining the ASSIGN matrix implies to solve a special type of a multi-period assignment problem, with additional constraints, such as: (1) the total capacity of the yard cranes assigned to a block must be enough to fulfill the demand of each block, (2) no more than W yard cranes can be simultaneously assigned to a block on each time period, (3) at most Rmax yard cranes may be 21

assigned, and (4) each yard crane assigned to a block on period t must remain on that block at least k periods of time. The procedure proposed to obtain the ASSIGN matrix is described on Algorithm 2 in Appendix B.

As will be seen, solutions with a few yard cranes and balanced workload are preferable. Hence, the search will start from a solution with an unbalanced workload and a large number of yard cranes. Then, the tabu search algorithm will progressively try to reduce this number of yard cranes and to balance the workload, in order to obtain homogeneous productivity among the yard cranes, while intermediate solutions are explored. Finally, the cost of the solution may be easily obtained by computing the Φ matrix, as follows (see Figure 9):

where P$, ( = Q∑

costK, LMMN/O = BP$, (C ,

R,

T:VW,TXY ST

Zrepresents the percentage of the used capacity. Yard Block

φ(t, b)

1A

3C

4D

5E

6F

t3

1 1 1 0.68 0.58 0.64 0.64 0.68 0.20 0.43 1 0.20 0.30 0.25 0.58 0.92

t4

0.58 0.61

t1 Period

2B

t2

FIGURE 9 Φ MATRIX. COST = 0.20

5.2.2.3. Neighborhood Structures and Move Definition. We have implemented three different types

of moves which form the basis for the neighborhood’s structures used in the tabu search metaheuristic. These moves are performed on the WORKLOAD matrix. One move acts on the import blocks, one on export blocks, and one move that acts in import and export blocks. These moves are as follows.

22

Feasibility Procedure: this procedure aims to transform any initial infeasible solution into an initial feasible solution. To do it so, this procedure iteratively identifies the row π* = argmaxπ{ DEπ}, and takes the large portion of the workload from the block with the bigger positive ∆, to assign this excess of workload within the block with the most negative ∆. Figure 10, shows the behavior of this move after two iterations.

FIGURE 10 FEASIBILITY LOCAL SEARCH. Insert Move: This move also aims to reduce the number of blocks used in the import operation (see Figure 11). For each row π take lπb from each block b and reinsert it into a different block b'. This move will only affect the Λ matrix in the corresponding row t for block b and b'.

before

π

after

π

b1

b2

b3

b4

5

5

5

6

b1

b2

b3

b4

5

10

6

DI π = 21

DI π = 21

FIGURE 11 INSERT MOVE.

23

Swap Move: This move will work on import and export blocks. This move will only change the assignment of workload without affecting the number of blocks used (see Figure 12). For each pair of blocks b and b', both in import or export blocks, without mixing. It will take the workload assigned to (π, b), ω = lπb, and will reinsert this workload into a different (π', b); then in order to keep a feasible solution ω containers need to be moved from (π', b') to (π, b'). b

b’

π

3

3

DI π = 9

π

3

4

DI π = 10

π

4

5

DI π = 13

π

6

6

DI π = 18

HE b

16

18

b

b’

before

π

after

6

DI π = 9

π

3

4

DI π = 10

π

7

2

DI π = 13

π

6

6

DI π = 18

HE b

16

18

FIGURE 12 SWAP MOVE r-Merge Move: This move aims to reduce the number of blocks used in the import operation.

Thus, for each row (πtq) in the WORKLOAD matrix, the total demand DIπ is redistributed in > ≥ 1

blocks less. This move will only affect the Λ matrix in the corresponding row t for each block involved in the move (see Figure 13). Here DIπ is uniformly distributed among card(B'') - r blocks.

before

after

π

π

b1

b2

b3

b4

5

5

5

6

b1

b2

b3

b4

10

11

DI π = 21

DI π = 21

FIGURE 13 r-MERGE MOVE WITH r = 2 BLOCKS LESS.

24

In all cases, the moves will be infeasible if the resulting λ$, ( >  123 + 1]^ . Given the multiple representations of a single solution, not all the elements in N(x) must be considered (because of capacity constraints), considerably reducing the number of candidates to explore. Diversification Move: For each row, this move will redistribute their corresponding demand, DEπ, and DIπ respectively, in one block more than the current number of blocks (see Figure 14).

before

after

π

π

b1

b2

b3

10

11

b1

b2

b3

7

7

7

b4 DI,E π = 21 b4 DI,E π = 21

FIGURE 14 DIVERSIFICATION (SPLIT) MOVE.

5.2.2.4. A general description of the TS algorithm. The search initially starts off with the Insert, Swap and r-Merge, neighborhoods. If η iterations have elapsed since the last update of the best solution then diversification move is implemented to restart the search in another zone, which acts as a diversifier, and the search then goes back to the Insert neighborhood, and this process repeats until the stopping criterion is met. Our TS implementation uses two short-term memory structures to keep track of moves that remain tabu during a specified time horizon (tabu tenure). The first, label tabu those moves that reverse the insert move. If an insert move is implemented in iteration iter, then the inverse move is tabu during ρ1 iterations, where ρ1 is the corresponding tabu tenure for insert. The second, label tabu those moves that reverse the swap move. If ω containers were moved from (π, b) to (π', b) and correspondingly ω containers were moved from (π', b') to (π, b') in iteration iter, then the inverse move is tabu during ρ2 iterations, where ρ2 is the corresponding tabu tenure. The aspiration criterion used was the standard aspiration criterion used in most TS applications, which states that a tabu move is accepted if the solution it produces is better than the best solution found to date. If max_iter iterations have been performed, then the algorithm stops. max_iter is a parameter that can be modified, assigning, for example, a sufficiently high value (e.g. 25

1000) in order to guarantee that the search will not end too soon. It defines the stopping criterion (see Algorithm 3 in Appendix C).

5.2.2.5. Parameter Tuning. The parameters of a TS algorithm are mainly related to three elements: (1) the number of interactions elapsed without an improve to implement a diversification move (η), (2) the tabu tenure for the corresponding moves (ρ1 and ρ2, for inset and swap, respectively), and (3) the number of interactions (max_iter). Where, as can be noted, the first and second elements are dependent on max_iter. In order to determine the appropriate parameter values for our TS algorithm, we conduct an experimental analysis to evaluate the performance of the algorithm on a subset of three instances, using different values for η = {15%, 20%, 25% and 30% of max_iter}, ρ1 = {5%, 10%, 15%, and 20% of max_iter}, ρ2 = {5%, 10%, 15%, and 20% of max_iter} and max_iter = {100, 200, 300, 400 and 500 interactions}. A simple statistical analysis reveals that the

best parameters setting is η= _0.25 _$c>d, ρ1= _0.10 _$c>d, ρ2 = _0.10 _$c>$d, and max_iter = 300.

5.3.

Post-Processing: Compute the availability of resources and the appointment quota

In order to determine the appointment quota, simple post-processing is required. From the Λ matrix, we know the workload of each block b per unit of time t, i.e. λ(t, b) for each unit of time t and block b. It should be noted that for the container blocks not involved in the loading and discharging operations, the workload is zero (see Figure 15).

̿(t, b) Period

1.

Yard Block

5E

6F

15

6

6

14

11

14

15

15

17

59

32

37

1A

2B

3C

4D

t1

12

14

14

15

t2

7

9

9

t3

2

3

3

t4

Σ

21

26

26

7G

8H

9I

FIGURE 15 A Λ SAMPLE MATRIX. 26

2.

Let β(t, b) be the capacity of block b on time t, i.e., the number of containers that block b can move on time t (see Figure 16). These can be easily obtained from the ASSIGN

matrix, to obtain the Β matrix y(t, g) = b. Where β(t, y(t,g)) = ∑  .

Yard Block

Period

β(t, b)

1A

2B

3C

4D

5E

6F 14

7G 12

8H 12

9I 12

t1

12

14

14

22

12

t2

12

14

14

22

12

14

12

12

12

t3

10

10

12

24

12

14

12

12

12

t4

10

10

12

24

26

28

12

12

12

FIGURE 16 YARD CAPACITY MATRIX. 3.

The number of moves available in the yard δ(t, b) to picking-up and/or delivering containers, can be easily obtained as: f$, ( = g$, ( − $, ( for each t and b (see

Figure 17).

Yard Block

Period

δ(t, b)

1A

2B

3C

4D

t1

0

0

0

7

5E 12

6F 14

7G 12

8H 12

9I 12

t2

5

5

5

7

6

8

12

12

12

t3

8

7

9

10

1

0

12

12

12

t4

10

10

12

9

11

11

12

12

12

IMPORT

MIXED

EXPORT

FIGURE 17 NUMBER OF MOVES AVAILABLE MATRIX.

4.

Let T(s) be the subset of units of time included in time slot h ∈ %M. For example, if |TS| = 3, a feasible assignment of a 4 units of time horizon could be: T(s=1) = {1}, T(s=2) = {2, 3} and T(s=3) = {4}.

5.

Then, in order to compute the appointment quota for delivery (import) and pick-up operations are as follows: The difference between the maximum number of containers that can be moved and the number of moves used in the loading and unloading activities determines the proper size of the TAS (see Figure 18).

27

L#ijklm h = ∑∈'n ∑ f$, ( + o

∑W∈st ∑qr p, u

v

L#wxy;zw h = ∑∈'n ∑ f$, ( + ∑∈'n ∑{ f$, ( − o

∑W∈st ∑qr p, u

v

Where B(I) be the set of import blocks, B(E) the set of export blocks, and B(M) the set of mixed (import and export) blocks.

Time slot (s) t1 t2 -- t3 t4

Delivery (IMPORT) 10 51 42

Pick-up (EXPORT) 59 104 57

Total 103 220 FIGURE 18 APPOINTMENT RESULTS.

6. Application of the DSS The main objective of this section is to demonstrate the DSS capabilities as an effective and efficient operational planning tool for container terminals. The examples depicted here are all related with Altamira Terminal Portuaria (ATP), a Mexican container terminal serving more than 170 vessels per year. The container terminal uses RTG as yard cranes, allowing flexibility in the service capacity of container blocks, as RTG can be transferred from block to block as needed. From the historical records, five vessels were sampled to obtain their sequence of operations and the corresponding input parameters. The aim is to analyze the behavior of our DSS on small, medium, and large vessels, with different concentration of containers on blocks. To evaluate the instances, we used the minimum and average yard crane utilization (%). The time to get a solution is not considered as an evaluation criterion, as in all cases the DSS takes less than 18 seconds to perform 300 iterations of our tabu search algorithm, which is really small compared with the 30 to 40 minutes it takes the terminal planner to obtain a solution. Furthermore, these times can be

28

considered acceptable given the complexity of the problem and the off-line planning aim of the DSS. For each instance, the main input parameters are identified on both quayside and yard side (see Table 2). It includes the number of containers to move, the number of quay cranes used, and the number of loading blocks. For every instance: (i) the productivity of the yard cranes varies from 10 to 14 moves per hour, (ii) the number of containers to load is uniformly distributed among the export (loading) blocks; (iii) all yard cranes must remain at least 4 hours in a block, and (iv) at most 2 yard cranes are allowed per block. Let us consider 12 blocks in total and 14 RTG yard cranes. To compute the appointment quotas and to determine the allocation of yard cranes in the blocks, the terminal planner team uses their experience and a set of rules such as: (i) use three STS (shipto-shore) quay cranes if the number of containers to move is more than 750; (ii) assign 1.5 RTG per each STS; (iii) try to maintain a productivity of at least 80 containers per hour on the quay, (iv) try to maintain a balanced workload between the discharging blocks; and (v) avoid discharge containers in blocks with many deliveries to external trucks. It should be noted that our greedy solution resembles the behavior of the human decision maker, who considers the principle that a balanced the workload among the blocks is preferred to reduce the traffic flow and congestion among blocks. However, it should be noted that our greedy algorithm is able to compute this assignment in a practically insignificant time (at most 0.016 seconds). Besides, results in Table 2 indicate that the quality of the tabu search solution increases on average by 13.98% regarding the greedy solution (which may be used to approximate an improved human decision making). It makes our DSS an efficient operational planning tool for container terminals.

29

TABLE 2 EXPERIMENTAL RESULTS. Input Parameters No. of Containers

Inst 1 2 3 4 5

Discharge

Load

Total

313 624 664 701 744

168 168 801 818 865

481 792 1465 1519 1609

QC 2 3 3 3 3

Export Blocks

2 3 4 5 6

Tabu Search Results

Greedy Solution Min 16.66 8.33 3.57 7.14 7.14

Avg 37.94 59.59 43.32 51.49 53.17

Time (s) 4.31 5.77 17.07 14.75 12.01

Min

Avg

20.00 8.33 4.16 8.33 8.33

38.34 59.59 43.34 52.07 53.50

% Improve 20.05 0.00 16.53 16.67 16.67

One of the main advantages of our DSS is its capability to allow decision-makers to gain more insights into capacity management at container terminals. Thus, our TS algorithm is susceptible to the configuration of the initial parameters that are in the interface; so that the system user can explore different scenarios and make decisions according to their interests and current restrictions, in order to find solutions that better satisfy their needs. Figure 19 shows that improved solutions (regarding the average yard crane utilization), may be obtained by varying initial parameters such as the number of import blocks and the number of moves allowed per yard crane. For instance, note that in the first instance when the number of import blocks is 5 and 12 moves per hour are allowed by each yard crane, then the average yard crane utilization reach a productivity of 62.57%, which is

Avg. Yard Crane Utilization (%)

an improvement of 24.23% regarding the current configuration. 70.00 4.03

60.00 50.00

3.76

24.23

6.94

4.63 40.00 30.00 20.00

59.59 43.34

38.34

52.07

53.50

1519

1609

10.00 0.00 481

792

1465

Total Number of Containers Current Configuration

Improve

FIGURE 19 THE IMPACT OF BETTER CONFIGURATIONS. 30

Figure 20 shows the impact of instance size and the number of iterations of the TS algorithm on the time to get a solution. All experiments were run on a laptop Intel Core i7 2.4 GHz with 16 GB of RAM memory. These examples, although simple, illustrate the potentiality of our development and the importance of having available a reasonably sophisticated tool to compute the appointment quota in container terminals, justifying its development. Finally, the face validity (subjective test), was performed based on a set of interviews with the terminal planer of the container terminal, who were asked whether the DSS interaction is friendly and the quality of the solutions are reasonable, according to their experience and personal knowledge. 18.00 16.00 14.00

Time (s)

12.00 10.00 8.00 6.00 4.00 2.00 0.00 481

792

1465

1519

1609

Total Number of Containers 100 Iters

200 Iters

300 iters

FIGURE 20 The impact of instance size on time to get a solution.

Table 3 shows the performance of the TS algorithm regarding the optimization model. A preliminary analysis of the optimization model shows that it requires at least 2 hours to obtain an optimal solution to any instance of this set. However, we restrict the optimization model to run 45 minutes (2700 seconds) of time limit per each instance. We decide to set this time limit because usually, the terminal planner uses from 30 to 40 minutes of the day to make this decision. To

31

compare both solutions approaches we use the minimum yard crane utilization, computed as ((µ – Z) / µ) × 100. To measure the difference between the solution found by our TS algorithm and the solution found by the optimization model, the relative deviation (DEV) is computed as ((ZOPT – ZTS) / ZOPT) × 100, where ZOPT and ZTS are the optimization and the TS solutions, respectively. A negative value of DEV means that the TS algorithm outperforms the truncated CPLEX solution. The complexity of the optimization model increases when the number of blocks, quay cranes, time periods and number of containers increase. In four of the five instances, our TS algorithm obtained a better solution. On average the TS algorithm outperforms the best solution found by CPLEX after 45 minutes of CPU time by 8.25%.

TABLE 3 COMPARISON BETWEEN TS SOLUTIONS AND OPTIMIZATION RESULTS. Inst

No. of containers

1 2 3 4 5

481 792 1465 1519 1609

Optimization Model Min yard crane Time (s) utilization 2700 24.00 2700 7.14 2700 3.42 2700 7.86 2700 7.32

GAP 42.79% 54.97% 64.03% 34.96% 65.38%

Tabu Search Algorithm Min yard crane Time (s) DEV utilization 4.31 20.00 16.67% 5.77 8.33 -16.50% 17.07 4.16 -21.64% 14.75 8.33 -5.98% 12.01 8.33 -13.80%

7. Managerial Insights In this section, we draw some practical insights for terminal operators. • Complexity of capacity management problems and analytical components. Terminal operators

require technological platforms based on analytical methods to support with objectivity the decision-making process in port and maritime supply chains. These technological platforms must be able to provide high-quality solutions in a few seconds and allow the terminal operator to variate several parameters to perform a sensitivity analysis of potential scenarios. Therefore, there are three main analytical components to consider: (1) a preprocessing component to read and visualize the data instance, (2) a modeling and optimization component

32

to determine the best decisions, and (3) a post-processing component to translate the decisions into practical guidelines. Each of these components must be discussed and occasionally tailored to the requirements of the industrial partner, considering the type of yard equipment used to perform their operations. Particularly relevant is to incorporate the experience of the industrial partner into the solution approach aiming to resemble the behavior of the human decision maker. • Yard management and truck appointments. Terminal operators follow a wide range of

accepted heuristic principles for space planning and congestion management obtained from experience. One of these principles aims to distribute over several blocks the workload in order to avoid interference between yard cranes during the retrieving operations. In our solution approach, the truck appointments are sized depending on the activity generated by vessels (which are usually very well anticipated). Thus, offering fewer truck appointments for busy time slots and more appointments for less busy time slots, regarding the yard resource availability. • Practicability: Using the proposed solution approach allows to drastically improve the time

required to obtain an efficient solution. The proposed algorithm obtains a solution in a few seconds, which is really small compared with the 30 to 40 minutes it takes the terminal planner to obtain a solution. • Sensitivity analysis. One of the main advantages of the proposed DSS is its capability to allow

decision-makers to gain more insights into capacity management at container terminals. The DSS is susceptible to the configuration of the initial parameters that are in the interface; so that the system user can explore different scenarios and make decisions according to their interests and current restrictions, in order to find solutions that better satisfy their needs.

33

8. Conclusions The problem addressed in this paper can be easily stated as determining how the vessel workload must be distributed between the yard blocks in order to minimize congestion and improve yard cranes utilization so that correctly identify the size of the truck appointment quota per each time slot. However, determining the appointment quota and balancing the workload in the yard in real life is extremely difficult and time-consuming, particularly if we want to analyze the effect of the different yard and quay cranes productivities. The interaction between loading and discharging flows increases the complexity of the model; science these flows must be simultaneously considered. Workload balancing usually presents a combinatory nature with vast numbers of variables and constraints, and the use of metaheuristic algorithms is advisable. Also, it is essential for terminal container decision makers to have free software technologies to avoid additional costs. The strategy used to tackle the problem was to break it in three stages. The system proceeds sequentially, updating data, and reading input parameters as needed. The proposed DSS has been conceived to support operations management at a generic container terminal. The DSS capability has been successfully validated and put at work in a container terminal located in the port of Altamira in Mexico. Results obtained from the application of the model to both numerical experiments and a case study provide evidence of its capability in balancing the workload and determine the appointment quota for a container terminal working on a truck appointment system environment. In comparison with the current practice at the container terminal, the DSS allows an efficient search of improved alternatives to configure the containers yard. The visualized outputs of DSS allow decision-makers to gain a better understanding of the loading and discharging operations, facilitating the decisionmaking process. Notably, the DSS allows decision makers to perform sensibility analysis to better plan their operations. Some future work is described as follows. It should be noted that at its current state the DSS has two modules, but it is pretended to incorporated other modules, such as: (i) the Vessel Sequence of 34

Operations Module, which by reading the loading plan among others will determine the quay cranes schedule; and (ii) the Resource Scheduling Module, to perform an operational refinement of the resource schedule.

Acknowledgments We acknowledge the valuable comments of the referees to improve the quality of our work.

References Ahuja, R. K. (1985). Minimax linear programming problem. Operations Research Letters, 4(3), 131-134. Bierwirth, C., & Meisel, F. (2015). A follow-up survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research, 244(3), 675-689. Caserta, M., Schwarze, S., & Voß, S. (2012). A mathematical formulation and complexity considerations for the blocks relocation problem. European Journal of Operational Research, 219(1), 96-104. Chen, L., Bostel, N., Dejax, P., Cai, J., & Xi, L. (2007). A tabu search algorithm for the integrated scheduling problem of container handling systems in a maritime terminal. European Journal of Operational Research, 181(1), 40-58. Chen, G., & Yang, Z. (2010). Optimizing time windows for managing export container arrivals at Chinese container terminals. Maritime Economics & Logistics, 12(1), 111-126. Chen, G., Govindan, K., & Yang, Z. (2013). Managing truck arrivals with time windows to alleviate gate congestion at container terminals. International Journal of Production Economics, 141(1), 179-188. Chen, L., & Lu, Z. (2012). The storage location assignment problem for outbound containers in a maritime terminal. International Journal of Production Economics, 135(1), 73-80. 35

Chen, X., Zhou, X., & List, G. F. (2011). Using time-varying tolls to optimize truck arrivals at ports. Transportation Research Part E: Logistics and Transportation Review, 47(6), 965-982. Diabat, A., & Theodorou, E. (2014). An integrated quay crane assignment and scheduling problem. Computers & Industrial Engineering, 73, 115-123 Giuliano, G., & O’Brien, T. (2007). Reducing port-related truck emissions: The terminal gate appointment system at the Ports of Los Angeles and Long Beach. Transportation Research Part D: Transport and Environment, 12(7), 460-473. Glover, F., & Taillard, E. (1993). A user's guide to tabu search. Annals of operations research, 41(1), 1-28. Glover, F. and M. Laguna. (1997). Tabu Search. Kluwer, Norwell, MA. Gracia, M. D., Mar-Ortiz, J., & González-Ramírez, R. G. (2018). The Impact of Operational Strategies on Vessel Handling Times (VHT): A simulation approach. International Journal of Shipping and Transport Logistics. In press. Pp. 1-29. Guan, C., & Liu, R. R. (2009). Container terminal gate appointment system optimization. Maritime Economics & Logistics, 11(4), 378-398. Hartmann, S. (2004). A general framework for scheduling equipment and manpower at container terminals. OR Spectrum, 26(1), 51-74. Hartmann, S. (2013). Scheduling reefer mechanics at container terminals. Transportation Research Part E: Logistics and Transportation Review, 51, 17-27. He, J., Tan, C., & Zhang, Y. (2019). Yard crane scheduling problem in a container terminal considering risk caused by uncertainty. Advanced Engineering Informatics, 39, 14-24. Heilig, L, Lalla-Ruiz, E., & Voß, S. (2017a). port-IO: an integrative mobile cloud platform for realtime inter-terminal truck routing optimization. Flexible Services and Manufacturing Journal 29 (3-4), 504-534. Heilig, L., Lalla-Ruiz, E., & Voß, S. (2017b). Multi-objective inter-terminal truck routing. Transportation Research Part E: Logistics and Transportation Review, 106, 178-202. 36

Hu, Q., Corman, F., Wiegmans, B., & Lodewijks, G. (2018). A tabu search algorithm to solve the integrated planning of container on an inter-terminal network connected with a hinterland rail network. Transportation Research Part C: Emerging Technologies, 91, 15-36. Huynh, N., & Walton, C. M. (2008). Robust scheduling of truck arrivals at marine container terminals. Journal of transportation engineering, 134(8), 347-353. Huynh, N., & Walton, C. M. (2011). Improving efficiency of drayage operations at seaport container terminals through the use of an appointment system. In Handbook of terminal planning (pp. 323-344). Springer, New York, NY. Kim, K. H., & Park, K. T. (2003). A note on a dynamic space-allocation method for outbound containers. European Journal of Operational Research, 148(1), 92-101. Kraft, E. R. (2002). Scheduling railway freight delivery appointments using a bid price approach. Transportation Research Part A: Policy and Practice, 36(2), 145-165. Laguna, M., Kelly, J. P., González-Velarde, J., & Glover, F. (1995). Tabu search for the multilevel generalized assignment problem. European Journal of Operational Research, 82(1), 176-189. Lee, D. H., Jin, J. G., & Chen, J. H. (2012). Terminal and yard allocation problem for a container transshipment hub with multiple terminals. Transportation Research Part E: Logistics and Transportation Review, 48(2), 516-528. Li, N., Chen, G., Govindan, K., & Jin Z. (2018). Disruption management for truck appointment system at a container terminal: A green initiative. Transportation Research Part D: Transport and Environment, 61, 261-273. Mar-Ortiz, J., Gracia, M. D., & Castillo-García, N. (2018). Challenges in the Design of Decision Support Systems for Port and Maritime Supply Chains. In Exploring Intelligent Decision Support Systems (pp. 49-71). Springer, Cham. Phan, M. H., & Kim, K. H. (2015). Negotiating truck arrival times among trucking companies and a container terminal. Transportation Research Part E: Logistics and Transportation Review, 75, 132-144. 37

Rodriguez-Molins, M., Salido, M. A., & Barber, F. (2012). Intelligent planning for allocating containers in maritime terminals. Expert Systems with Applications, 39(1), 978-989. Schulte, F., Lalla-Ruiz, E., González-Ramírez, R. G., & Voß, S. (2017). Reducing port-related empty truck emissions: a mathematical approach for truck appointments with collaboration. Transportation Research Part E: Logistics and Transportation Review, 105, 195-212. Shim, J. P., Warkentin, M., Courtney, J. F., Power, D. J., Sharda, R., & Carlsson, C. (2002). Past, present, and future of decision support technology. Decision Support Systems, 33(2), 111-126. Sterzik, S., & Kopfer, H. (2013). A tabu search heuristic for the inland container transportation problem. Computers & Operations Research, 40(4), 953-962. Ting, C. J., & Wu, K. C. (2017). Optimizing container relocation operations at container yards with beam search. Transportation Research Part E: Logistics and Transportation Review, 103, 1731. Torkjazi, M., Huynh, N., & Shiri, S. (2018) Truck appointment systems considering impact to drayage truck tours. Transportation Research Part E: Logistics and Transportation Review, 116, 208-228. Van Asperen, E., Borgman, B., & Dekker, R. (2013). Evaluating impact of truck announcements on container stacking efficiency. Flexible Services and Manufacturing Journal, 25(4), 543-556. Van Riessen, B., Negenborn, R. R., & Dekker, R. (2016). Real-time container transport planning with decision trees based on offline obtained optimal solutions. Decision Support Systems, 89, 1-16. Vis, I. F., De Koster, R. M. B. M., Roodbergen, K. J., & Peeters, L. W. (2001). Determination of the number of automated guided vehicles required at a semi-automated container terminal. Journal of the Operational research Society, 52(4), 409-417. Zehendner, E., & Feillet, D. (2014). Benefits of a truck appointment system on the service quality of inland transport modes at a multimodal container terminal. European Journal of Operational Research, 235(2), 461-469. 38

Zhang, X., Zeng, Q., & Chen, W. (2013). Optimization model for truck appointment in container terminals. Procedia-Social and Behavioral Sciences, 96, 1938-1947. Zhang, X., Zeng, Q., & Yang, Z. (2019). Optimization of truck appointments in container terminals. Maritime Economics & Logistics, 1-21. Zhen, L., Xu, Z., Wang, K., & Ding, Y. (2016). Multi-period yard template planning in container terminals. Transportation Research Part B: Methodological, 93, 700-719. Zhao, W., & Goodchild, A. V. (2013). Using the truck appointment system to improve yard efficiency in container terminals. Maritime Economics & Logistics, 15(1), 101-119.

39

APPENDIX A ALGORITHM 1 PSEUDO CODE OF THE ALGORITHM TO DETERMINE THE TOTAL NUMBER OF MOVES (I.E., LOADING AND DISCHARGING MOVES) THAT EACH QUAY CRANE WILL PERFORM PER UNIT OF TIME. READ problem data: Sequence of operations. Let m(q,b) defines the number of containers that QC q will move on bay b. for each quay crane " ∈ #| assigned to the vessel do Compute the time (number of minutes) remaining to complete an hour and store its value on tavb. Compute the takt-time of QC q, as follows: 7 = 60⁄#| ~>€‚$ƒ$ Set $ ← 1 for each bay ( ∈ )L†M do Set  ‡ ", ( ← ", (, where  ‡ ", ( is the number of remaining moves on bay b. while  ‡ ", ( ≠ 0 do Compute the time that will be required to perform all these moves, as follows: ‡ ", ( × 7 $8‰ =  if $8‰ ≤ $2‹ then if type of move == discharge then   ‡ ", (  ←  +    else  ←  +  ‡ ", ( Update the time available: $2‹ ← $2‹ − $8‰ Update the number of remaining moves:  ‡", ( ← 0 else Compute the number of moves that can be performed within the time available ($2‹ ), as follows: $2‹ ∗ =  Ž 7 if type of move == discharge then   ∗  ←  +    ∗ else  ←  +  Update the time available: $2‹ ← 60  Update the number of remaining moves:  ‡ ", ( ←  ‡", ( − ∗ Update t: $ ← $ + 1 end while

Update the time available, considering that the QC moves from one bay to another: if $1‹ ≤ $2‹ then $2‹ ← $2‹ − $1‹ else $2‹ ← 60 + $2‹ − $1‹ $ ←$+1 end for end for return “the number of import (I) and export (E) containers that each quay crane q must move from and to the vessel per unit of time t, DIqt, and DEqt respectively”

40

APPENDIX B ALGORITHM 2 PSEUDO CODE OF THE ALGORITHM TO DETERMINE THE ASSIGNMENT OF YARD CRANES TO CONTAINER BLOCKS. READ: The Λ matrix, the set of yard cranes G and its related productivities (µg), W, and k.

Set GA(t) ← G ∀$ (all yard cranes are available to use all times) for each ( ∈ ) in the Λ matrix do for each $ ∈ % in the Λ matrix do if $, ( ≥ 0 then Identify the max and min number of moves that need to be performed from period t to period t+k, respectively: 9 = max B$, (C ,…,9:

; = min B$, (C ,…,9:

if ∃ . ∈ /L$| µg ≥ m+ then Identify the yard crane g* that if assigned to block b would result in the minimum waste of moves on the period with fewer moves. . ∗ = argminš  − ; › ∈™

Assign g* to block b from period t to t+k for s = t to t+k do LMMN/Oh, .∗  ← ( Update GA(s) ← GA(s)\g* end for Set $ ← $ + 5 end if else{ Identify the best combination of yard cranes that if jointly assigned to block b would result in the minimum waste of moves on the period with fewer moves. š.] , … , .œ › = argmin  μŸ ¢ − m;  ∈™

š  ,…,¡ ›

such that š.] , … , .œ › ≤ 4 Identify the main yard crane .∗ = argmaxš ,…,¡› š  › and assign g* to block b from period t to t+k for s = t to t+k do LMMN/Oh, .∗  ← ( Update GA(s) ← GA(s)\g* end for The remaining yard cranes in the set are known as floating yard cranes.; = š.] , … , .œ ›\.∗ , that would be assigned as needed on each time period individually. for s = t to t+k do if h, ( − ∗  > 0 then LMMN/Oh, .;  ← ( Update GA(s) ← GA(s)\gend if end for Set $ ← $ + 5

} end if end for end for return “an assignment of yard cranes to blocks”

41

APPENDIX C ALGORITHM 3 TABU SEARCH ALGORITHM FOR THE MULTI-PERIOD YARD WORKLOAD ASSIGNMENT PROBLEM. READ: The data structure for the block yard balancing problem. Obtain an initial solution x, if infeasible, then apply the feasibility procedure. Set iter ← 0; iter_without_improv ← 0; iter_best ← 0 Set value(xcurr) ← InitSol(xcurr); xbest ← xcurr while iter < max_iter do Set iter ← iter + 1 Set iter_without_improv ← iter_without_improv + 1 apply the insert_move() to the current solution (xcurr), and label the best move in this neighborhood as NI(xcurr). apply the swap_move() to the current solution (xcurr), and label the best move in this neighborhood as NS(xcurr). apply the r-merge_move() to the current solution (xcurr), and label the best move in this neighborhood as NM(xcurr). if iter_without_improv == η then apply the diversification_move() to the current solution (xcurr). Update: the current solution (xcurr). Set iter_without_improv ← 0 else Update: the current solution (xcurr) as the best move from NI(xcurr), NS(xcurr) or NM(xcurr). if value(xcurr) < value(xbest) then xbest ← xcurr iter_best ← iter iter_without_improv ← 0 end if end while return “xbest: the best feasible assignment of workload and yard cranes to blocks”

42