Introduction

World trade, especially the Asia–US and Asia–Europe trade, has developed rapidly over the last decades. As a result, container traffic has increased at a high rate as well. Ocean carriers have responded by ordering more and much larger ships. For example, the recently built PONL Mondriaan can carry up to 8,450 TEU, whereas Maersk/Sealand’s largest ships are considered to be equally large or larger. The consequence of having larger container ships is that terminal activities become more a bottleneck and its productivity has to go up. This was already acknowledged in the FAMAS research project started in The Netherlands in 1999 (Celen et al. 1999). In this paper, we will report on explorative research concerning container-stacking policies at an automated terminal. Before a detailed discussion, we will first give an overview on container activities.

Container operations and trends

Several reviews on container handling have been published (Meersmans and Dekker 2001; Steenken et al. 2004; Vis and de Koster 2003). The overview below is based on them as well as on own experience with terminal studies. Although marine container terminals vary all over the world, they have a number of similarities. Ocean-going ships moor at a berth where quay cranes unload and load containers from the ship. Containers that have been unloaded are then transported to the main stack where they are positioned through cranes or straddle carriers. Containers can again be loaded in sea ships. Alternatively, they can be further transported on land through truck, train, or barge. In those cases, the container is moved from the stack to a rail or barge terminal or it is directly positioned on a truck, which has entered the terminal. Most terminals are manually operated; a few terminals use semiautomated equipment such as automatic guided vehicles (AGV), to transport containers, and automatic stacking cranes (ASC), to stack containers. These are ECT in Rotterdam, CTA in Hamburg, and Thamesport in London. In this paper, we will focus on these automatic terminals such as the Delta Dedicated Terminals at ECT’s Maasvlakte complex in Rotterdam.

Implications of larger ships

Large ships are more expensive to buy and to operate than small ships. As a ship’s port time can be considered as nonproductive, a large ship’s port time is more costly per hour than a small ship’s time. Larger ships, however, take more time to unload and load due to the larger amount of cargo. This is a kind of paradox, which puts a limit to the size of ships, as pointed out in (Cullinane and Khanna 2000). The port time consists of port entry and departure time, (un)mooring time, preparation time, and the actual loading/unloading time. Larger ships are therefore likely to make fewer and larger calls than small ships to reduce unproductive time. For example, the PONL Mondriaan loaded and unloaded some 4,000 TEU in one port. This will put much more stress on the terminal logistics and stack.

Structure of stacking strategies

Several decision horizons can be identified in stacking, viz. strategic/design for the long-term, tactical for the medium-term, operational for the short-term, and real-time for the direct operations. Strategic decisions concern the choice of equipment, the size of the terminal in general, and the stack in particular. Automated stacks have less flexibility and apply more costly equipment than manually operated stacks; hence, the design is very important. Tactical stacking decisions concern capacity decisions on months to year. In manually operated stacks, there are more tactical decision freedoms than in automated stacks, viz. layout of the stack, number of cranes employed. Decisions on a tactical level include the use of operation strategies, such as using a prestack or the application of stack reorganizations (also called remarshalling) at those moments where no ships need to be served. Operational decision making concerns the reservation of space for ships, the decision to store a container at a particular location, the allocation of equipment to jobs, etc. Finally, the real-time phase is mainly relevant for automated equipment, as it concerns speed control and collision avoidance of equipment. These are mostly technical decisions taken by control systems. In this paper, we mainly address strategic and operational decisions. The way the latter are carried out is captured in a stacking strategy. The main objectives of a stacking strategy are

  • Efficient use of storage space

  • Efficient and timely transportation from quay to stack and further destination and vice versa

  • Avoidance of unproductive moves

The second objective implies, e.g., that an export container should be stacked close to the ship with which it will sail and that its retrieval time should be short. A stack with a maximum height of one container would be optimal for the third objective. This would however lead to an inefficient ground use and long travel times, so it is rarely applied in practice (apart from some stacks on wheels in the US). Accordingly, one has to decide whether a container should be stacked on another one or not.

A main input for a stacking strategy is the information available on a container. This is usually its type (size, reefer, dangerous goods), modality and date/time of departure. Unfortunately, this information may change or not be completely known upon arrival.

There are several types of stacking strategies. In category stacking, one defines categories and stacks containers of the same category on top of each other. In the residence time strategy, one stacks a container on others if its departure time is earlier than that of all containers, which will be below it.

Steenken et al. (2004) distinguish storage planning and scattered stacking. In storage planning, space in specific areas of the stack is reserved before the ship’s arrival. In scattered stacking, yard areas are not assigned to a ship’s arrival but to a berthing place. The stacking position is then determined in real-time and containers are stochastically distributed over the area. Scattered stacking results in higher yard utilization and a significant reduction in the number of reshuffles. The category stacking employed in this paper is a form of scattered stacking.

Some containers (e.g., reefers) require special locations because they need to be supplied with electricity. The determination of the stack capacity is a major design problem of a terminal, as the physical space required for the stack is often restricted and expensive. Stacking high may be advocated, but the expected number of reshuffles increases sharply with the stacking height. We define a reshuffle as an unproductive move of a container, which is required to access another container that is stored beneath it (this implies that reshuffles occur only when removing containers from the stack).

Quite often, stacks are separated into import and export parts. Import containers are those containers that arrive in large container ships from overseas and continue their destination through inland transport. These arrivals are somewhat predictable. The departure of import containers, however, is likely to be in an unpredictable order, so they cannot be stacked that high. Export containers that arrive via land transport may arrive somewhat randomly, but their departure is usually connected to a ship; hence, they can be stacked in a much better way.

Loading or stowage plan

Every ship which is loaded at a terminal has a stowage plan. According to Steenken et al. (2004), it is made in two steps. First the shipping line makes a rough plan based on categories, which is sent to the terminal. Later, somewhat before the arrival of the ship, a more detailed plan is made by the terminal planner who fills the categories in with detailed containers. The stowage plan specifies which container will be loaded at which location in the ship. As containers vary in size and weight, the load distribution is essential for the ship’s stability. Heavy containers should be stored as low as possible. The stowage plan, however, also directly influences the ease of unloading the containers and, hence, containers of the same destination should be loaded on top of each other or on top of containers destined for ports further away. Apart from these restrictions, there are also containers with dangerous goods, which should be stored preferably below decks, reefers that have special positions, etc. Advanced software is used to perform offline optimization of the stowage plan also to avoid reshuffles as much as possible. Although the stowage plan fixes the load order per quay crane, it does not fix the exact order in which the containers leave the stack as the crane loading cycles are quite stochastic and a difference in progress between cranes may occur. Therefore, this software does not take the actual operations of the loading into account (Steenken et al. 2004). Online stowage planning does take the details of yard operations into account and will be employed in this paper; it is not yet in use at container terminals.

The stacking problem can be considered to be more difficult than the stowage planning as there can be uncertainty about which container will be needed before another. For import containers, this uncertainty exists because trucks arrive more or less randomly to pick up a specific container.

Stacking research

Literature overview

Little has been published in scientific literature on stacking problems. A main reason may be that the practical problems are quite complex and do not easily allow for analytical results, which are relevant for practice. Steenken et al. (2004) gave a high-level overview of stacking both in theory and in practice.

Stacking problems can be dealt with in two ways: simplified analytical calculations or detailed simulation studies. The first gives insight into the relationships between the various parameters on a more abstract level. The second can go in much more detail, with the negative side effect that it is time-consuming and only few people really understand its ins and outs. No comprehensive stacking theory exists today, and a good stack design not only depends on local space conditions but also on the information characteristics of the ingoing and outgoing flow of containers, which may vary from place to place. Examples of both approaches are given below.

Sculli and Hui (1988) were among the first to develop yardsticks for the relation between stacking height, utilization (or storage space needed), and reshuffles by applying a comprehensive simulation study. Taleb-Ibrahimi et al. (1993) discussed this relation for export containers both at a long-term scale, as well as operationally. They discussed dynamic strategies that store early-arriving containers in a rough pile until a certain date, after which all containers for a ship are put in a dedicated storage area (usually close to the berthing place of the ship). The procedures developed calculate the storage space needed as function of the stacking height. De Castilho and Daganzo (1993) continue these studies with the stacking of import containers. They consider two strategies: one that keeps stacks of the same size vs one that segregates the containers on arrival time. A slightly more detailed discussion resulting in tables and yardsticks (looking at stacking blocks with bays of similarly sized containers served by gantry cranes), both analytically and by simulation, was given by Kim (1997). Kim and Kim (1998) extended these studies by also taking the number of stacking cranes into account. They developed a simple cost model for optimizing this number using analytical approximations for the various performance measures.

In case the stowage plan is available some time before the sailing, the containers in the export stack may be remarshalled. This results in an “ideal” stack and, thus, less handling work during the loading operation of the vessel. Kim and Bae (1998) describe a two-stage approach to minimize the number of containers to be moved and to do so in the shortest possible traveling distance. Segregating space allocation strategies of import containers was studied by Kim and Kim (1999). In segregation strategies, stacking newly arrived containers on top of containers that arrived earlier is not allowed. Spaces are thus allocated for each arriving vessel. They study cases with constant, cyclic, and varying arrivals of vessels.

An empirical statistical analysis of the actual performance at a Taiwanese container terminal was provided by Chen et al. (2000). The number of reshuffles (Chen et al. use the term “shift moves”) was related to the storage density, the volume of containers loaded, and the volume of containers discharged both for stacking crane blocks and straddle carrier blocks.

Decision rules using weight groups for locating export containers were derived and validated through dynamic programming by Kim et al. (2000). Weight is a useful criterion as heavy containers are usually stored deep in a ship.

Stacking policies for automated container terminals are investigated by Duinkerken et al. (2001), who use a detailed simulation model that not only models the stack, but also the quay transport in an automated container terminal. They also apply categories, but in a much more simplified way than we do in this paper. All in all, a comprehensive analysis of how stacking should be done at an operational level is still lacking; hence, this paper will deal with it.

Selection of research object

In this paper, we will investigate a container terminal with an automated stack as it is envisaged that future developments will move into that direction. A picture and logical layout of such a stack are given in Figs. 1 and 2. (Notice a slight difference in Figs. 1 and 2 with regard to the reefer platforms; in this paper, we will follow Fig. 2).

Fig. 1
figure 1

Overview of ECT’s DDE terminal

Fig. 2
figure 2

Schematic overview of the stack

Figure 2 gives the general layout of the stack. On each lane, we assume one automatic stacking crane. Transfer points are located on both the sea- and landsides. The lanes are perpendicular to the seaside, where jumbo (very large) and deep-sea ships, as well as short-sea/feeders, are loaded and unloaded. The containers are placed with their long side parallel to the direction of the lane. The transfer point on the landside is used for rail, truck, and barge. All lanes have the same length, width, and height, expressed in terms of locations. These locations are slightly larger than one TEU to allow for some space between the containers, which will be used to pick up and put down containers. We define a pile as zero or more containers stacked on top of each other. We will refer to a pile with zero containers (the ground location is empty) as an empty pile; a pile that is stacked to the maximum stacking height is called a full pile.

Every lane is partitioned in three parts. Part 1 starts at the seaside and is used for nonreefer containers. There are two parts adjacent to a special platform for reefer containers on the landside. Part 2 is closest to the landside, has a length of three locations, and is used for reefer containers only. Part 3 is located between part 1 and the platform; it has a length of three locations and is used for reefers and reshuffles of other containers. The reefers are stored directly adjacent to the platform between parts 2 and 3. The platform is 10 ft deep and supplies the reefers with electricity.

Automatic guided vehicles (AGV) transport the containers from the transfer points on the seaside to the quay cranes and vice versa. In the stacking algorithm, it is assumed that the number of AGV is sufficient to handle all transport to and from these transfer points in time.

The base case is a stack with 27 lanes, length 40, width 6, and height 3. This implies that the theoretical stack capacity is 19,440 TEU. We do not make a distinction between an export and import stack. This is partly because separate space is already reserved for reefers and partly because it would cause inflexibility. The difference between export and import is implicitly incorporated in the analysis, because we will introduce different categories of containers, which are stacked together and the import/export property is part of these categories.

Simulation program

A large simulation program was developed in the “MUST” language (Upward Systems 1994). This is a Turbo Pascal add-on, which allows easy programming in Turbo Pascal, while using a number of modules from the package. It was also extensively used within ECT. It is fast, memory can be managed well, and complex algorithms can easily be written and incorporated. Two separate programs have been developed: a generator program and an evaluator program.

The generator program creates entry and departure times of some 175,000 containers covering a period of 15 weeks of operation. The first 3 weeks are used as a warm-up period to fill up the stack. The output was written to a file, which was used as input for the evaluator program where different stacking procedures could be tested. The generation of the containers was tied to the modalities with which they would arrive or depart. Several types of ships were considered, viz. deep-sea ships and 8,000 TEU large jumbo ships, the latter arriving once a week with a call size of about 3,000 containers. From a high-level modal split matrix, we developed cyclic ship schedules, as well as detailed arrivals of all other modalities. The matrix in Table 1 illustrates the flow between the different modes for a 3-week period.

Table 1 Modal split matrix

We also developed detailed ship loading plans that specify the locations of individual containers and detailed crane sequences for loading and unloading. The call size of the jumbo ship was set at some 3,000 containers. We assumed a 50:40:10% ratio between 20, 40, and 45 ft containers, which gives a TEU container ratio of about 1.5. This means that the jumbo ship loads some 4,500 TEU. We have also modeled other transport modalities: short-sea/feeder, rail, truck, and barge, with the daily fluctuations in truck arrivals and a stationary pattern with fluctuations for all the other modes. An average container residence time of 3.7 days was used, in line with information available at ECT. This implies an average utilization of 50% of the base stack configuration. Detailed information about the generator program and its output is available in (Voogd et al. 1999).

The evaluator program performs a deterministic simulation of an experimental setting, based on the stochastic output of the generator program. The output of the generator program contains exact departure times for all containers. The evaluator program uses these times to trigger events and adds a small perturbation for use in the stacking algorithms. These perturbations are used to model the information uncertainty that occurs in practice. AGV routing was not modeled in the simulation program. We took a constant time depending on the quay crane and ASC lane where the container came from or had to go to.

This experimental setup enables accurate evaluation of various stacking algorithms; the generator program provides the same scenario for each experiment. Any change in the results is due to the stacking algorithm selected for the experiment and to the minor perturbations. This way of experimental setup, however, does not facilitate different demand scenarios, as for each scenario, a quite detailed arrival modeling needs to be constructed, which is a difficult scientific problem on its own.

Stacking algorithms

A stacking algorithm describes the way in which containers are handled, both in case of moves into and out of the stack as well as in case of reshuffles. For containers leaving the stack, we have no options unless the containers are exchangeable with others. In that case (see also below), there might be other containers of the same category for the same ship (or other modality), which can be retrieved in a better way.

The main part of a stacking algorithm decides where to put a new container or a reshuffled container. In this paper, we investigate two main concepts, viz. random stacking and category stacking. In random stacking, there is no preference for particular places, and it is used to evenly spread containers over the stack. In category stacking, we define categories of containers on the basis of the loading plan. Containers in the same category may be exchanged freely. In category stacking, one tries to exploit this property as much as possible. We supplement these concepts with decision rules for specific cases.

A stacking algorithm is also influenced by the information available at the moment of stacking. If the departure time of a container is known at stacking time, then we can stack the container on top of a pile of containers with a later departure time. This does, however, require a sufficiently large stack to allow the creation and maintenance of these “ordered” piles.

Common rules

There are some basic rules for all stacking algorithms in this paper:

  • Twenty-foot containers occupy one TEU location in the stack, 40-ft containers occupy two locations, and 45-ft containers occupy three locations.

  • Containers of different sizes cannot be stacked on top of each other.

  • Containers have to be stacked precisely on top of each other (no overhang and a container can be on top of just one container).

  • Containers can only be stacked in the direction along the lane, not transverse.

  • Reefer containers are not placed on top of normal containers, or vice versa.

Reefer containers have a special requirement: the need for a power connection. This limits the locations available for stacking these containers. Thus, we have implemented the same stacking algorithm for reefers in the first five experiments. The only locations with power connections are directly adjacent to the platform. Thus, the number of locations available to reefers is limited to twice the lane width (once for each side of the platform). The stacking algorithm for reefers selects a random, nonfull pile within the special reefer section of the stack. If the pile is empty, the container is only stacked there when no more than three of these six reefer positions are occupied. This helps to make sure that all reefer reshuffles can be carried out. Otherwise this could cause a problem, because there are very few possibilities for the container to be reshuffled to. If the pile is not full, the reefer can be stacked if they are containers (reefers) of the same size. Whenever no suitable location is found in 5,000 random choices of a lane, the aim is changed to the reefer locations on the other side of the platform. This way of stacking probably causes low occupancy in parts 2 and 3 of the stack.

Random stacking

This algorithm is used as a benchmark. Suppose a 20-ft container has to be stacked. The program uses random search to find a pile that is not full. If the pile is empty or if the containers in this pile are also 20 ft, an acceptable position has been found, and the container can be stacked in this pile. If the pile consists of containers of a different size, then the container cannot be stacked here. The program then determines a new random position by choosing at random a new lane, row, and position until a location is found where the container can be stacked. Forty and 45 ft containers are handled in the same way, but in those cases, the algorithm searches for either an existing nonempty pile of the same size or for a sufficient number of adjacent empty piles (two for 40-ft containers, three for 45-ft containers).

For reshuffles, the program searches all piles in the lane except for the reefer positions on the landside of the platform. The container is reshuffled to one of the possible piles closest to the original pile.

Category stacking

This algorithm is based on defining categories of containers. These are defined through the export modality and, in case of a ship, the place of a container in it. We assume that for certain categories (especially those defined for jumbo and deep-sea, but not for trucks), containers are exchangeable in the loading plan or in the actual loading, if they are either in the same or different piles. The algorithm keeps track of a variable for every combination of lane, ship, and category. This variable indicates how many piles of containers exist, within that lane, with only containers of that specific ship/category combination and an empty top position. The variable is used to facilitate the search for a good location (note that searching over 19,000 locations upon each of the 175,000 container entries is very time-consuming in the simulation).

Now, suppose a new container has to be stacked. The first step is to determine if there is a pile that is not full and only with containers of that same category and for the same ship. All lanes are checked for such a pile; to spread the load evenly across the lanes, we start the search at a random lane. Using the variable described above, a zero indicates that no such pile exists, whereas a positive value means one or more of those piles exist.

When the variable indicates that one or more of those piles exist, the program starts searching, randomly within that lane, for one of those piles. When found, the container is stacked on top of that pile. If this creates a full pile, the variable associated with the current ship/category combination is decreased with one for that lane.

When no such pile can be found in the current lane, i.e., the variable has value zero for that ship/category combination in that lane, the aim shifts to the next lane. If value of the variable equals zero for that ship/category combination for all lanes, the container is stacked using random stacking (see description above).

Performance measures

Below we discuss appropriate performance measures of stacking policies.

Reshuffles and reshuffle occasions

There are two performance measures concerning the reshuffles. First of all, we define a reshuffle occasion as one or more reshuffle operations required to retrieve a container from the stack. We measure the reshuffle occasions as a percentage of containers that leave the stack. The total number of reshuffles is also counted (again as a percentage of the total number of containers leaving the stack). These measures are calculated separately for import and export containers. An export reshuffle is a container (export or import) that is reshuffled because the export container needed is under that container (so it is not necessarily an export container that is reshuffled). It seems obvious that a situation with many reshuffles or reshuffle occasions is undesirable, for reshuffling takes a valuable amount of time.

No positions available

We may not always find an empty location in the stack, especially considering the randomness in positioning a container when it enters the stack. This will most likely concern the 45-ft containers, because they require three adjacent empty locations and they form a minority in comparison to the 20- and 40-ft containers. Therefore, there will be few piles with 45-ft containers. Although the maximum utilization is always less than 100%, we may not find an empty location for a 40- or 45-ft container. We assume that there is an emergency stack for these containers and leave them out of consideration, as they would otherwise cause a deadlock in the program. The aspect does imply that the real capacity is much lower than the physical capacity, which is also a known practical fact. We may also encounter this problem when reshuffling a container; if we cannot find an empty location in the same lane, we move these containers to the emergency stack. A small number of reshuffles and reshuffle occasions indicate a better performance. Larger numbers indicate that the current stack size might be too small to be used with the current algorithm.

Workload of the automatic stacking cranes

A third group of performance measures deals with the workloads of the ASC. These workloads are determined every quarter of an hour as the proportion of time the ASC are busy. The design of the simulation program allows ASC workloads to exceed the capacity, i.e., workloads of more than 900 s per quarter. Since the focus of this research is on the stacking algorithms and not on ASC scheduling, we have chosen to allow these overloads and consider the frequency and gravity of these occasions as one of the criteria for the performance of an algorithm. Details about ASC technical performance can be found in (Voogd et al. 1999).

A move is handled at the same moment in time as specified in the container files, even when the ASC is not ready at that moment. Every move starts, when not already in the right position, with shifting the ASC from the previous position to the position for picking up the container (transfer point for containers that enter the stack) and ends at the position where the container is put down (transfer point for containers that leave the stack).

To give an indication of traveling times for ASC, the times are calculated for going from one of the transfer points to the first container position, to the twentieth position, and to the last (fortieth) position (all positions relative to the transfer point; see Table 2). The implementation code contains a precise model of the ASC movements, including maximum speed and acceleration along the three axes (longitudinal, lateral, and vertical).

Table 2 Typical ASC travel times

The difference between the traveling times to the twentieth position is incurred by the reefer platform.

The workloads for all ASC are written to a file at the end of each quarter. The maximum and average workloads are determined, given as percentages of one quarter. An average workload of 50% therefore means that, on average, an ASC is busy half of the time, which is 450 s per quarter. Concerning the actual scheduling of an ASC, a workload of 80% is already pretty high. This is why the proportions of ASC quarters, with the ASC working more than 80, 90, 100, 110, and 120% of the time, are measured.

Occupation

The degree of occupation is measured for the ground locations. For this purpose, at the end of each quarter, the number of ground locations in use is recorded. The maximum and average numbers are calculated separately for the three parts of the stack. The overall occupation of the stack depends only on the size of the stack, as the number of containers that will be handled during the simulation is constant for all experiments. The occupation is 51% for the first three experiments and 47% for the other experiments; this is low, but a consequence of the large call sizes of the jumbo ships.

For the ground locations, we expect a larger number of reshuffles when few ground locations are occupied. The average height of the nonempty piles is higher, which increases the possibility of reshuffles. If, on the other hand, almost all ground locations are covered, then we expect a negative influence on the number of reshuffles and new containers that cannot be stacked in the regular stack.

Features of the stacking algorithms

In this paper, we explore the use of categories for the stacking of containers. For each experiment, we will indicate for which categories containers are considered to be exchangeable. Here, we define exchangeable to mean that a different container from the same category may be substituted when a container is requested for loading. The categories defined for large containerships are typically exchangeable. All containers to be picked up by trucks also form a category, but these containers are not exchangeable. To facilitate the exchange operationally, we stack containers of the same category in the same pile as much as possible, but exchange is also possible for containers of different lanes.

The definition of the categories is based on the weight class, destination, and type of container (the same criteria are mentioned in (Steenken et al. 2004)). Thus, only the export modality is a feature in the definition of the categories; the import modality is not taken into consideration. Using the data from ECT, we defined some 45 different categories for jumbo ships and 90 categories for deep-sea ships. Containers destined for short-sea/feeder, truck, rail, and barge transport will be allocated to a single category for each mode, even though they cannot be exchanged in operation. As we will see in the experiments, it is not wise to stack them in the same pile.

In addition to categorization, we have implemented several other features for the stacking algorithm.

Preference for ground locations

We use a preference for ground locations to decrease the possibility of spoiling a uniform pile, i.e., a pile with containers that all belong to the same category. The implementation of this feature tries to avoid stacking a container of a different category onto an existing uniform pile. This causes a preference for stacking on empty piles and for stacking on multiform piles. It will reduce the number of empty piles and may cause problems for stacking or reshuffling (45-ft) containers.

Workload control

The workload control feature associates a workload variable with each lane. We defined the workload variable as the percentage of time of the current quarter that the ASC for the lane was busy. When the workload variable exceeds a specified threshold, the lane is skipped in the search for a stacking position.

Alternative algorithm for reefers

Reefer containers can be stacked in just a small part of the stack. Therefore, our initial experiments exhibited some problems with reefer reshuffles. For every reefer reshuffle there are only up to five possible new positions (within the same lane). When stacking these containers at random, a lot of containers could not be reshuffled (within the same lane). The number of reefer reshuffles however was substantial. We therefore introduced category stacking for reefers with a modification to avoid the creation of full piles. In this way, we aim to leave a sufficient number of feasible empty positions for reefers.

Use empty pile closest to departure transfer point

When an empty pile has been selected for a container and multiple empty piles are available in the same lane, the algorithm will select the pile that is closest to the point where the container will leave the stack. The aim is to lower the ASC workloads during ship loading. The ASC will have to travel a shorter distance to get to the container, which decreases the time needed to unstack a container. Furthermore, it is expected that this feature will also increase the number of nonempty piles. This is due to the fact that we will now use the empty pile directly adjacent to an existing nonempty pile, leaving no space (TEU position) open. The proportion of “unusable” empty piles will then be lower. Using more ground locations is also thought to decrease the number of reshuffles. We will explain this feature with the following example.

Consider the case where we have to stack four 45-ft containers with a maximum stack height of three containers. Furthermore, suppose that all ground locations are occupied except for the last six TEU positions in front of a transfer point and that all piles of 45-ft containers are full. In this case, random stacking might put the first container on the second, third, and fourth TEU location instead of the first, second, and third TEU location. The second and third containers will then be stacked on top of the first container. Even with three TEU ground locations available, the fourth container cannot be stacked in this lane: the locations that are available are not adjacent. With the new rule, the first container will be stacked upon the first three empty TEU locations, leaving the other locations open for one (or more) of the other three containers.

At first, we will use this feature for all modalities. A variation of this feature is designed to reduce the ASC travel time (and thus the workload) when unloading jumbo or deep-sea ships: containers destined for the landside are not subjected to this rule. When there are no jumbo or deep-sea ships present at the quays, the ASC workloads are lower and the additional travel time does not pose a problem. This feature will probably have a negative effect on the average distance to travel for export containers (because the import containers can use positions close to the seaside). It will also decrease the effect described above concerning the use of ground locations.

Combine parts 1 and 3 of the stack

Initial experiments showed a low use of the locations in the third part of the stack. We therefore decided to use this part of the stack for both regular containers and reefers (for reshuffles and new containers). The reefers can still be stacked onto the last (one, two, or three) piles of the second part of the stack. We expect this feature to generate a better use of ground locations and thus reduce the number of reshuffles. An obvious disadvantage of this feature is that the number of available positions for reefers is reduced.

Exchanging containers from different lanes

Categories can also be used to select a container from a different lane in the loading operation. We can use this to avoid overloading an ASC. This feature is therefore triggered if the ASC in a selected lane is too busy. The algorithm scans all lanes of the stack for a lane that contains a container of the required category and an ASC that has a workload below the predefined limit.

Using the expected departure (residence) time of the containers

The expected departure time can be used to store containers that will leave shortly on top of containers that will stay in the stack for a longer period. This feature is used whenever a container has to be stacked and there is no nonfull pile of that category. The container will then be stacked on top of a container for which the expected departure time is later than the expected departure time of the incoming container.

The expected departure time for jumbo and deep-sea containers is approximated by the middle of the time interval during which the ship lies alongside the quay. For the other modalities, the average dwell time of a container is approximately half a week: the expected departure time is therefore approximated by adding 3.5 days to the time of arrival. Note that this option does not use detailed information. It can also be applied if no information on the departure time is available.

Choosing the ASC that has the lowest workload

The lowest ASC workload feature can be used for both incoming and outgoing containers. For incoming containers, creating uniform piles takes precedence over the lowest workload. Thus, a container will be stacked on top of a uniform pile of the same category even if the ASC for that lane is very busy. If there are uniform piles in multiple lanes, then the lane with the lowest ASC workload will be selected. For outgoing containers, we select the lane with the lowest ASC workload from lanes in which containers from the target category are stored.

Experiments

The following data applies to all experiments. The stack has 27 lanes for experiments A0 to C and 29 lanes for all other experiments. A lane is 40 TEU long, 6 TEU wide, and the maximum stacking height is three containers. Categories and exchanges are possible for jumbo, deep-sea, as well as for rail and barge; temporary substacks are used for rail and barge to loosen the loading order restrictions when leaving the main stack. Category stacking is applied for all modalities, except where stated differently. The experiments are listed in Appendix A and the numerical results from the experiments are in Appendix B. We will now describe the experiments and analyze the results.

Base Case

A null experiment (A0) uses random stacking without the possibility to exchange containers of the same category for the same (jumbo or deep-sea) ship. The number of reshuffles in case of random stacking is high (89%). Although it is hard to validate such stacking programs, the number is not considered unrealistic by terminal operations people.

Experiment A considers category stacking for all modalities without any of the additional features. This yields much better results than random stacking: the percentage of reshuffles drops from 89 to 46%.

In experiment B, short-sea/feeder and truck containers are not stacked as categories, because these containers are not exchangeable. The percentage of reshuffles for these containers is reduced significantly (short-sea/feeder from 112 to 82%; truck from 104 to 84%), while the percentage of reshuffles for all other modalities has increased. The average use of ground locations rises from 65 to 70%.

Preference for ground positions

Experiment C extends experiment B with a preference for ground locations as discussed in “Features of the stacking algorithms” section. This has a pretty large effect, mainly on the number of reshuffles and reshuffle occasions. On aggregate, those percentages are approximately half of the percentages when using no preference. The percentages of reshuffles are shown in Fig. 3.

Fig. 3
figure 3

The effect of preference for ground positions on reshuffles

The workloads of the ASC are also influenced by this preference, although the effects are moderate.

As expected, the number of empty piles drops especially in part 1 of the stack. This causes an increase in the number of containers that cannot be stacked. The probability that containers cannot be stacked or cannot be reshuffled is higher when there are fewer empty piles; on the other hand, the percentages of reshuffles and reshuffle occasions are lower.

In this case, almost one out of every 1,000 containers cannot be stacked, which is a very high proportion. One way to reduce this number is to increase the size of the stack. Therefore, we added two lanes (29 instead of 27) to create experiment D (this configuration of the stack will be used for all other experiments). As can be expected, this decreases the number of reshuffles, as well as the average workloads and the proportion of containers that cannot be stacked. Finally, it also reduces the use of ground locations a little.

Workload control

In experiment E, we add a workload control variable for each lane. A container is not stacked into a certain lane when the workload of the ASC in the current quarter exceeds 80%. This workload control variable is only used when (un)stacking regular (nonreefer) containers.

The workload control variables do not affect the reshuffles. The aim of this feature is to reduce the number of busy or very busy ASC quarters. The most significant impact can be observed in the percentage of ASC quarters with a workload over 100% during jumbo operations: this percentage drops from 11.8 to 8.3%.

Improved reefer stacking

The next experiment (F) adds the modified category stacking policy for reefers to the setup of experiment E. Experiment G adds workload control for reefer containers; the limit is set to 80%.

This seems to have a few positive effects. The overall number of reshuffles and reshuffle occasions are reduced (from 19.0 to 16.0% and from 13.4 to 11.4%, respectively). There are no more reshuffles for reefer containers (this cannot be deduced directly from the table). In addition, it is now possible to find a position for all new containers and reshuffles. Finally, the use of ground locations in the third part is much lower when using category stacking for reefer containers.

Adding a workload control variable for reefers (experiment G) has a (small) positive effect (it reduces the proportions of busy ASC quarters a little).

Use ground position closest to transfer point for unstacking

In experiment H, whenever a container is to be stacked on an empty pile in a lane, we select the pile that is closest to the transfer point where the container will leave the stack. The result is an increase of approximately 2% in the use of ground locations in part 1 of the stack (both average and maximum). The overall percentage of reshuffle occasions decreases from 11.4 to 10.4%; the percentage of reshuffles drops from 16.2 to 14.8%. The percentage of quarters with a high workload is lower during jumbo handling (7.8 vs 6.3% quarters with a workload over 100%). This is also true during deep-sea handling and overall.

Combine parts 1 and 3 of the stack

Experiment I was motivated by an observed low use of ground locations in the third part of the stack. Thus, experiment I extends experiment H with the option to stack regular containers in the third part of the stack. The average and maximum use of ground locations increase and lead to a clear reduction in reshuffles and reshuffle occasions (Fig. 4). Compared to experiment H, there are a significant number of reshuffles for which no position could be found (15 per 100,000 containers). The maximum workload for jumbo containers rises from 220 to 279%.

Fig. 4
figure 4

The effect of combining parts 1 and 3 of the stack on reshuffles

The total percentage of reshuffles decreased from 14.8 to 9.7. The total percentage of reshuffle occasions dropped from 10.4 to 6.9. The percentage of busy ASC quarters has decreased from 6.3 to 5.6 for jumbo containers.

Exchanging containers from different lanes

To study the influence of this feature, we have defined experiments J and K.

J:

Experiment I modified to exclude import containers from the closest transfer point rule.

K:

Experiment J, with the added possibility of exchanges between different lanes.

The exchange candidate has to be on top of its pile. The algorithm looks for exchange candidates whenever the workload of the ASC for the original container exceeds 80%.

Experiment J does not yield favorable results in comparison to experiment I: the percentages of reshuffles and reshuffle occasions are higher. Adding the exchange from different lanes feature in experiment K causes the percentage of reshuffles to drop from 9.9 to 9.5. The primary purpose of adding this feature was to obtain lower proportions of ASC quarters with high workloads. Figure 5 below illustrates the overall percentages of high ASC workloads: the percentage of busy quarters is reduced significantly. We have explored several additional ways to implement this feature but the results are similar. From these experiments, we conclude that adding the possibility of exchanging containers from the same category within different lanes has a positive effect. It reduces the number of reshuffles and reshuffle occasions, as well as the proportion of high ASC workloads.

Fig. 5
figure 5

The effect of using ASC workload on the percentage of busy quarters

Using the expected departure time of the containers

In practice, it is often difficult to obtain a reliable indication of the departure time. Therefore, we use the expected departure time as a relative measure to create an ordering for the containers. For this feature, we have to define a boundary value that controls whether a container can be stacked on top of another one. When we make this restriction too loose, a lot of containers will be stacked on a container that will leave earlier, which causes a reshuffle. If, on the other hand, the restriction is too tight, we will make less use of the opportunity to use the expected departure times of the containers.

To get some insight into the effects of adding a rule based on the expected departure times of the containers, we can compare the results of the experiments K, L, and M. Experiment K makes no use of this rule; experiments L and M extend experiment K with the expected departure time feature. For experiment L, the value of the boundary is 3 h after the expected departure time of the container already in the stack. Experiment M sets the boundary to the expected departure time of the container that is currently on top of the selected pile.

This feature was designed to lower the number of reshuffles. The percentages of reshuffles and reshuffle occasions are lowest for experiment L (8.8 and 6.2). For experiment M, these percentages (9.6 and 7.0) are even higher than for experiment L (9.5 and 6.8). The restriction on the expected departure times may be too tight for experiment M. The differences between these experiments concerning the high ASC workloads are small. Furthermore, using the departure times of the containers leads to a somewhat higher use of ground locations.

Choosing the ASC that has the lowest workload

We have designed two experiments to determine the effects of starting in the lane for which the ASC has the lowest workload when stacking or unstacking. Experiment K is used for comparison.

  1. N

    Algorithm K with the ASC workload feature implemented for incoming containers for which multiple uniform piles in different lanes have been found.

  2. O

    Same as experiment N, with lowest ASC workload feature implemented for outgoing, regular (non-reefer) containers.

The percentages of reshuffles and reshuffle occasions increase when adding this feature. However, the feature was designed to improve the workloads, so Fig. 5 shows the percentages of high workloads for these experiments.

As we can see, the percentage of high workloads has indeed decreased by starting in the lane where the ASC has the lowest workload. We have also experimented with the lowest ASC workload rule for reefer containers and a lower maximum stacking height (two) for truck containers as an extension of experiment O: these experiments yielded no additional benefits.

Comparison of all scenarios

In this section, we will focus on the overall results rather than compare individual experiments. Again, we will visualize some of the results in graphs.

First of all, Fig. 6 indicates that the percentage of reshuffles can be significantly reduced. For our benchmark, this was 46.1%; for experiment L, it is just 8.8%. That is less than 20% of the initial percentage. The graph also shows that a number of other experiments have a similar percentage of reshuffles.

Fig. 6
figure 6

Overall percentage of reshuffles

Maybe, the most important performance measure is the proportion of busy ASC quarters. Figure 7 shows for all experiments the percentage of ASC quarters with the ASC working more than possible. We have decreased this value a lot. In the benchmark case, this is equal to 3.8%. The best result is obtained using experiment N (0.3%), but there are several experiments with similar performance (in terms of this percentage).

Fig. 7
figure 7

Percentage of ASC quarters with a workload over 100%

For some experiments, there are (relative to the numbers for other experiments) a lot of containers that cannot be stacked (either new containers or reshuffles; see Fig. 8). This is a highly undesirable effect. Note that, because we just took these containers out of the stack or we did not stack them at all, this also positively biases the results.

Fig. 8
figure 8

Containers that cannot be stacked or shuffled

Conclusions

In this paper, we have investigated a number of policies for stacking containers in a yard by means of simulation. The following conclusions can be derived from the experiments.

Loading and unloading operations for jumbo containers ships creates workloads that exceed the capacity of the set of ASC (27 to 29 in total). The average workload over time is well below 100%, but the workload during the handling of a jumbo ship is very high with many short-term bottlenecks. This means that the stack configuration is not able to follow the quay crane production.

Category stacking yields much better results than random stacking. Allowing exchanges for containers for the same category jumbo or deep-sea ship further improves the results. The number of actual reshuffles and the number of reshuffle occasions can be reduced by adding a preference for ground locations. This also reduces the ASC workloads. However, there is the possibility of creating a higher proportion of nonstackable containers due to the reduced number of empty piles; this feature requires careful implementation.

Treating containers for short-sea/feeder, rail, truck and barge as categories to be stacked together seems to have no large effect on the whole. Although it reduces the number of reshuffle occasions for jumbo and deep-sea, this number increases for the other modalities. Using fewer piles, on average, for the same containers leads to a higher number of reshuffles. The effect of stacking piles with only truck containers up to a height of two is negligible.

The peaks in ASC workloads can be reduced by adding a workload control variable, as well as stacking on piles close to the transfer point where the containers are to leave the stack. Finally, the possibility of exchanging containers of the same category within different lanes decreases the proportion of high workloads as well.

The definition of the categories is based on parameters used in stowage planning. This allows online optimization in which we can avoid suboptimal yard operations that might be caused by a predefined (offline) stowage plan.

Overall, we conclude that detailed simulation experiments of the stacking operations can drastically improve the stacking performance and is thus essential for constructing automated container terminals.