Keywords

1 Introduction and Literature Review

Maritime container terminals are generally recognised as crucial intermodal change nodes in the logistic chains. In fact, about 80\(\%\) of the world trade is realized via sea (UNCTAD, 2018) and the most part of general cargo is containerized. Maritime container terminals connect the seaside to the landside through storage yards [1]. Their relative services, reliabilities and infrastructures are pointed out by [2, 3]. The import and export processes and the related problems in a container terminal have been analysed together with the useful optimization approaches in [4,5,6].

The storage yards have a primary role in permitting the efficient management of import and export flows [7]. The yard is an intermediate area between the frontier and the backward of a terminal used to store, control and handle the containers. This area occupies a considerable part in a terminal and can be divided into some segmentation for the inbound and outbound containers based on the process of import and export, respectively. Referring to the location of the input/output container points, two different configurations of layout are possible: Asian and European layout [8].

The container yard is basically divided into numerous Blocks, each one composed by a given number of Bays. Each bay is formed by several Rows; containers are thus stacked in Tiers [9]. In modern container terminals, the maximum tier to stock a container in a block is 4 and the utilization ratio ranges from 70\(\%\) to 90\(\%\) [10]. The exact position of each container is described by a code like the following: A01-07-03-1 that means that the container is stored in the Area/Block A01, bay 07, row 03, first tier.

An import container is unloaded from a vessel and transported to a pre-assigned block either in the import yard or in the rail yard, in accordance with the rail/road transport modality used to send it in the interland [11]. Dealing with export containers, the procedure is reversed. Containers approaching the terminal by trains or trucks and waiting to leave the terminal by ships are stored in the export yard. Dedicated areas for reefer, open top, tank, out of gauge, dangerous, transit and empty containers are usually present in container terminals.

Efficiency is always a major aim to be considered: efficiency in both picking containers from the yard, loading a ship/a train and reducing congestion inside the terminal when trucks are unloaded/loaded. The typical operations performed in the yard are the storage and the retrieval of containers, dispatching and routing of material handling equipment. All the related problems have been studied by many researchers. [7] presents a review and a classification scheme for the storage yard operations in container terminals.

In this paper, we consider an European layout where import and export yards are independent, and we deal with export standard containers. Each container is characterized by its type, size, weight and destination; these characteristics are important when defining the storage strategy. The ideal rule is to store together containers having both the same characteristics and the same loading vessel, in order to reduce the operation time and avoid bottleneck in the terminal when loading the ship [12, 13]. This strategy is known as consignment strategy. Note that, this strategy requires large storage space (for example more than random policies [14]), but on the other hand permits to improve the storage yard operations during the vessel containers loading in terms of productivity of both pick up operations in the bays and movements of material handling equipment among bays. Note that when a random policy is used, generally in European layout terminals, another strategy follows to improve the efficiency in the loading process; this strategy can be either a pre-marshaling strategy that permits to reorganize the container stacking beforehand, in order to reduce reshuffles, or a re-marshaling strategy that permits to move containers from their current storage location to a location closer to their vessel.

The purpose of this work is to set the best rules for defining which containers to store together (i.e., in a bay), that is the characteristics of containers for applying the consignment strategy. In particular, the idea is to monitor the outbound flows in such a way to periodically update the characteristics to use in the consignment strategy as better explained in the next section.

A 0–1 linear programming model is proposed to define the characteristics to lead the storage strategy in such a way to both minimize the space used in the export yard and grant a certain level of efficiency in the terminal during the pick up of containers in the yard and during the containers loading on vessels.

This problem can be included in the class of storage space assignment to containers [7]. The storage space assignment deals with finding the best allocation of containers to storage spaces, in order to reduce the storage yard operations cycle time. The assignment can be related to either individual containers or groups of containers. Note that the present problem differs from the ones proposed in the existing literature for the specific decisions to take, the evaluation criteria, and also for the tactical contest, as explained in the next section.

Concerning the storage allocation for export containers, in [15] Light, Medium and Heavy weight classes, destination and size are used to decide an exact slot for an individual container. [16] tries to increase the loading operation efficiency by considering the travel distances of equipment. [17] includes new constraints related to the staking height and specific stack configurations. In [18] the optimal storage location is determined taking into consideration the container handling schedules.

[12] formulates the storage space allocation problem by using a rolling-horizon approach in a temporary working period; the aim is to disperse appropriate quantity of containers to each block and balance the workload of yard equipment. [19] uses a mixed-integer programming model to define the number of yard bays and a hybrid sequence algorithm to select the exact slots for storing containers. [20] focuses on the space allocation problem in the short-term. The authors introduce the new concept “segment” to define a block. Two boundaries are brought in as shifts and vessels constraints for each segment.

In [21] four rules to determine the number of blocks to allocate the groups of export containers are proposed. Rules are fixed and the main aim is to optimize the movements of yard equipment and the distance between the yard and the quay. Moreover, the authors evaluate the influence of the yard size on the efficiency of loading operations.

The reminder of this paper is organized as follows. The problem under investigation is described in Sect. 2; the 0–1 linear model is presented in Sect. 3. In Sect. 4, a case study related to an Italian maritime terminal is detailed. Finally, conclusions and future works are outlined in Sect. 5.

2 Problem Description

Let us consider an export yard splits into different zones according to the transport services offered by the terminal, and let us focus on the blocks dedicated to a particular service, that is dedicated to receive containers to be loaded on the vessels of the considered service. The problem consists in defining the best rules to use when storing containers in the bays of these blocks. Blocks are characterized by different capacities, depending on bays, rows and tiers. The capacity of each bay can be equal to 4, 8, 12 and 16, either 20’ or 40’ containers, depending on the number of tiers and the number of rows that, in this case, range from 1 to 4, as sketched in Figure 1. For example, Block 03 in Fig.1 is composed of 16 bays, with 4 rows and 4 tiers each; thus, each bay has a capacity of 16 containers.

In this work, we will refer to the cells belonging to the same bay of a block as bay-locations; only 20’ bay-locations with a capacity of 8, 12 and 16 containers are considered. A bay-locations with 8 containers capacity has 8 slots in which we can store containers; the general aim is to fulfill the bay-locations minimizing the empty slots. For the storage of 40’ containers, two contiguous 20’ bays are required.

Fig. 1.
figure 1

Yard blocks with different capacities - view from above.

To define rules to store containers together means to list the characteristics that containers may have to be stored in the same bay-locations. These rules must grant an efficient pick-up and loading process. The efficiency is related to the handling equipment of the terminal. Following the instruction of ships and yards planners of the container terminal we are involved with, we prefer to store together containers having the same loading vessel, port of destination, size and “class of weight”. These rules permit to have homogeneous containers in each bay-locations, i.e., to be able to pick them up in sequence for their loading on board, and to optimize the work of the reach stackers during their pick-up in the yard.

The containers included in the analysis have the following characteristics:

Size: 20 ft (20’) and 40 ft (40’) containers. The 20’ container is the standard size and referred as a TEU. A 40’ container is equivalent to two 20’ (2 TEU). For storing a 40’ container, two contiguous 20’ bay-locations are required, and for security reasons, a 40’ container cannot be stored under two 20’ containers. Generally, stacks of one size (i.e., either 20’ or 40’) are preferred, both in the yard and on board.

Type: standard containers, 20’ and 40’ box and 40’ HC containers are analysed. Box and HC containers are often mixed in the yard bay-locations. The choice to have bay-locations devoted to HC depends on both the pick-up and the loading strategy used during the loading process. The terminal we are involved with prefers to complete the pick- up process in a bay-locations and empty it before moving the reach stacker to another bay-locations. This means that, in case of a bay-locations devoted to HC, they transfer from the yard to the vessel a sequence of HC containers. If, due to the loading policy, they are stored on board in the same stack, this can create an inefficient usage of the vertical space in the hold of the ship.

Destination: containers are grouped in accordance with their destination, i.e. the port of call of the vessel of the considered service. In fact, containers, on board, are generally grouped for homogeneous destination, i.e., either a bay of the vessel, or a part of it, is dedicated to store containers of the same destination.

Weight: usually, empty 20’, 40’ and 40’ HC containers weight, respectively, 2.3, 3.9, 4.1 tons. The full container weight can vary from 5 to more than 33 tons depending on cargo and loading degree. This standardization prioritizes to store containers in the same bay with similar weights also respecting the requirement of safety, generally saying that the weight of the container stored in a given tier has to be no greater than the weight of the container stored in tier below it, within a given tolerance. Many terminals group containers according to the weight classes, i.e., containers belonging to the same weight class can be stored together; the most common configuration used is based on three classes: Light (from 5 tons to 15 tons); Medium (from 15 tons to 25 tons); Heavy (over 25 tons).

The weight limitations of each class and the number of classes used for defining the storage rules have a significant impact on the space used in the yard, varying the number of containers of each group, and the number of groups to manage. The number of groups to manage corresponds to the required patterns of bay-locations.

Let us suppose to have to create 3 different patterns of bay-locations for each destination, for respecting the type and size rules (see Fig. 2). If we use 3 weight classes, each one of these bay-locations will generate 3 other patterns one for each weight class, thus having 9 patterns of bay-locations to manage. Moreover, the number of the required bay-locations of each pattern depends on the number of the containers of each group, and it is strongly related to the different weight limitations imposed for each weight class.

We consider the possibility of having to choose among 2, 3 and 4 classes. We will refer to the chosen class of weight as Class configuration. Each Class configuration can be characterized by many weight limitations, here Weight configurations.

Fig. 2.
figure 2

Decision tree for defining patterns of bay-locations.

Let us give an example: consider a class configuration with 2 classes: Light and Heavy. For this configuration 3 alternative weight configurations are considered, i.e. 1–23/23–33, 1–18/18–33 and 1–14/14–33. In the first example, 1–23/23–33, Light containers weight ranges from 1 ton to 23 tons, while Heavy containers weight ranges from 23 to 33 tons.

As already said, the basic rule is to store together containers with the same characteristics; these containers are considered of the same group. Note that, the classes of weight, in terms of the number of classes to use and the weight limitations of each class, are key elements among the characteristics of containers (destinations, types, sizes and weights) when implementing the storage strategy. Thus, given a set C of containers characterized by their size, type, weight, destination, being representative of the average transport demand of a given service, the problem consists in deciding how to group them in order to minimize the space used in the export yard. We have to define the set of characteristics of the different patterns of bay-locations and the capacity of each bay-locations used to store containers. The objective is to use the minimum number of bay-locations and to minimize the total empty slots in the bay-locations. Also, the storage of box and HC in the same bay-locations is penalized. The 0–1 linear programming model used for that purpose is presented in the next section.

Note that this problem emerges at the tactical level for defining rules to use in the operative contests. These rules are not fixed once and ever adopt; the idea is to modify them following the trend of the export flow demand. Consider, for example, a service offered by the terminal, and suppose that the number of containers for a destination of this service increases; we are interested to observe which groups of containers increase. Only in this way, we are able to decide if the existing rules are adequate or not, and in this latter case, how to modify them.

3 The 0–1 Linear Programming Formulation

In this section, a basic 0–1 linear programming model to solve the problem described in Sect. 2 is presented. Table 1 gives the useful notation. The resulting model is the following:

$$\begin{aligned} Min \sum \limits _{d \in D}\sum \limits _{j \in B}^{} {yd_{dj}} + \sum \limits _{\mathrm{{j}} \in B}^{} {z_j} + \alpha \sum \limits _{j \in B}^{} {m_j} \end{aligned}$$
(1)

Subject to:

$$\begin{aligned} \sum \limits _{j \in B}^{} {{x_{ij}}} = 1 \quad \forall i \in C\; \end{aligned}$$
(2)
$$\begin{aligned} \sum \limits _{i \in C:d_i = d}^{} {{x_{ij}}} \le M yd_{dj} \quad \forall d \in D,\forall j \in B\; \end{aligned}$$
(3)
$$\begin{aligned} \sum \limits _{d \in D}^{} {yd_{dj}} \le 1 \quad \forall j \in B\; \end{aligned}$$
(4)
$$\begin{aligned} \sum \limits _{i \in C:s_i = s}^{} {{x_{ij}}} \le M ys_{sj} \quad \forall s \in S,\forall j \in B\; \end{aligned}$$
(5)
$$\begin{aligned} \sum \limits _{s \in S}^{} {ys_{sj}} \le 1 \quad \forall j \in B\; \end{aligned}$$
(6)
$$\begin{aligned} \sum \limits _{i \in C}^{} {{x_{ij}}} \le q yq_{qj} \quad \forall q \in Q,\forall j \in B\; \end{aligned}$$
(7)
$$\begin{aligned} \sum \limits _{q \in Q}^{} {yq_{qj}} \le 1 \quad \forall j \in B\; \end{aligned}$$
(8)
$$\begin{aligned} \sum \limits _{i \in C:h_i = h}^{} {{x_{ij}}} \le M yh_{hj} \quad \forall h \in H,\forall j \in B\; \end{aligned}$$
(9)
$$\begin{aligned} \sum \limits _{h \in H}^{} {yh_{hj}} \le 1 + m_j \quad \forall j \in B \end{aligned}$$
(10)
$$\begin{aligned} yq_{qj}+ys_{sj}-1 \le t_{jqs} \quad \forall j\in B, \forall q\in Q, \forall s\in S\; \end{aligned}$$
(11)
$$\begin{aligned} \sum \limits _{j \in B}^{} {(t_{jq20}+ 2 t_{jq40})} \le n_q \quad \forall q \in Q\; \end{aligned}$$
(12)
$$\begin{aligned} w_i x_{ij} \le \sum \limits _{f\in F}\sum \limits _{w\in W_f}^{}u_{wf} yw_{wfj} \quad \forall i \in C, \forall j \in B\; \end{aligned}$$
(13)
Table 1. Useful notation for model (1)–(17)
$$\begin{aligned} w_i x_{ij} \ge \sum \limits _{f\in F}\sum \limits _{w\in W_f}^{}l_{wf} yw_{wfj} \quad \forall i \in C, \forall j \in B\; \end{aligned}$$
(14)
$$\begin{aligned} \sum \limits _{w \in W_f}^{} {yw_{wfj}} \le 1 v_f \quad \forall j \in B, \forall f\in F\; \end{aligned}$$
(15)
$$\begin{aligned} \sum \limits _{f\in F} v_f = 1\; \end{aligned}$$
(16)
$$\begin{aligned} \sum \limits _{q\in Q}q yq_{qj} - \sum \limits _{i\in C}x_{ij} \le z_j \quad \forall j\in B\; \end{aligned}$$
(17)

Equation (1) is the objective function that minimizes the number of bay-locations used, the empty slots in the bay-locations, and penalizes the storage of box and HC in the same bay-locations.

Thanks to constraints (2) each container must be stored in one bay-locations. Constraints (3)–(8) assign only one destination, one size and one capacity to each bay-locations. Note that M can be fixed equal to 16 (that is the maximum number of containers to store in a bay-locations) in constraints (3), (5) and (9).

Constraints (9) and (10) assign the height to each bay-locations; (10) fixed to one variables \(m_j\) when in bay-locations j both box and HC are stored. Equations (11) define variables \(t_{jqs}\) that indicate if bay-locations j has capacity q and size s, information necessary to compute the number of bay-locations of a given capacity, used for 20’ and 40’, with respect to the number of bay-locations of the corresponding capacity available in the yard (12).

Thanks to constraints (13) and (14) a container can be assigned to a bay-locations only if its weight is within the maximum and minimum weight limitations imposed to the bay-locations by the weight configuration assigned to it (15). Note that the weight configuration assigned to the bay-locations depends on the chosen class configuration (16). Thanks to constraint (16) only one configuration can be chosen. In (17) the number of empty slots in each bay-locations is computed.

4 Case Study

In this section, the case study of an Italian maritime terminal is introduced. Thanks to historical data analysis, together with a scenario analysis on different strategies to store export containers in the yard, we noted that it is possible to save space acting on the weight class configurations. Higher savings can be obtained if the storage strategies are periodically modified to take into account the real containers flows and their trend.

The rules for grouping containers and the bay-locations patterns resulting by solving the model, represent the parameters that are inserted in the TOS (Terminal Operating System) used by the terminal to manage containers when approaching the terminal by trucks or by trains. The idea is to modify these parameters when there is a change in the transport demand. How to modify them is determined by the mathematical model (1)–(17) that is solved using average updated input data information reflecting the trend of the transport demand.

In the following we report the analysis related to one of the transport services of the terminal under investigation. This service has a ship once a week; the ship loads containers for 9 destinations. The historical data analysis for computing the input for the model (1)–(17) is based on 2 months, i.e., 9 trips.

In the following figures, some results of this analysis are shown. Figure 3 shows the number of containers loaded in the last 9 trips. Containers are split in accordance with their destination; the line chart represents the average data of total trips for each destination.

Fig. 3.
figure 3

Containers loaded split for their destination.

Distinguishing containers according to their size and their height (20’ box, 40’ box and HC), we obtained the graph reported in Fig. 4. The average number of loaded containers is 717.4, 33.74\(\%\) are 20’ box containers, while the 40’ box and HC are, respectively, 12.94\(\%\) and 53.3\(\%\).

Fig. 4.
figure 4

Containers loaded split for their size and height

The last analysed characteristic is the weight: the heaviest containers weigh 32.5 tons while the lightest ones 2.5 tons. The average weight of the containers is 18.7 tons. The class configuration used in this period is based on three classes: containers that weigh from 1 ton to 10.8 tons are pertained to Light class, while from 10.8 tons to 21.6 tons are in Medium and from 21.6 tons to 32.5 tons are in the Heavy. Figure 5 reveals the percentage of each class of weight loaded in each trip. The line chart in the Fig. 5 represents the average percentage of each class of weight in the 9 trips: Light containers represent 25.31\(\%\) while 28.69\(\%\) are Medium and 46.01\(\%\) are Heavy.

Here below, we report the results obtained by applying model (1)–(17). It has been encoded in Mathematical Programming Language (MPL) and solved by the commercial solver GUROBI on a computer Intel Core i7.

Note that model (1)–(17) has been solved for one destination a time with a time limit of one hour. Some instances have been solved in less than one second (i.e., 3–4–8–9). The CPU time grows when the number of containers increases and larger instances require 30 min. The decomposition of the problem is possible since containers are always grouped according to their destination; moreover, we relaxed the capacity constraints on the number of bay-locations (the only shared resource) for checking it when the problem is solved for all the destinations. Note that this decomposition permits to choose the most appropriate weight class configuration for each destination (instead of only one for the whole vessel/trip).

Fig. 5.
figure 5

The percentage of class of weight of containers loaded on the 9 trips.

Table 2. The obtained results

In Table 2, the first column shows the 9 destinations and the number of containers to load for each of them. The second column shows the number of bay-locations used for storing the containers, while the third column reveals the number of empty slots in the bay-locations used to store containers. The following column indicates the number of bay-locations that combine Box and High Cube. In the last column, the weight configuration of each destination is shown. Note that, we solved the model by choosing among 3 different configurations (2, 3, and 4 classes) and for each class among 4–6 weight configurations (4 when two classes are considered and 6 in the other cases).

Table 3. Results comparison between the optimized storage and the terminal one.

Analyzing the obtained solutions, we have computed the fulfill rate that is the occupancy of bay-locations computed as the ratio between the number of stored containers and the capacity of the bay-locations. This rate ranges from 44.44\(\%\) to 97.43\(\%\), and it is on average 87.78\(\%\). This rate results higher than that obtained by the terminal 82.82\(\%\).

Table 3 shows a comparison between the results obtained by using the proposed approach and the real storage plan of the terminal. We can note that the proposed approach permits to obtain better results both in terms of empty slots and bay-locations. The savings are on average 32.83\(\%\) and 13.79\(\%\) in terms of empty slots and bay-locations, respectively.

5 Conclusion

This work focuses on the possibility of optimizing the storage space in an export container yard. Considering the contradiction between the huge quantity of containers and the yard’s limitation, the main aim is to save spaces as more as possible while facilitating the container loading operations on vessels. A model for this purpose has been introduced. The idea is to plan the yard and to adequate it in accordance with the changes in the transport demand. The output of the model is the input parameters of the TOS of the terminal.

The preliminary results related to the case study seem to be promising. An extensive experimental campaign will be performed in the future. moreover, we will evaluate the possibility of mixing containers in a bay-locations in order to save space. Finally, more restrictions and more types of containers such as reefer will be taken into consideration.