1. Introduction
The representation of
Figure 1 is well known to researchers focusing on intermodal container terminal management. These terminals receive and dispatch containers either on vessels, trains or trucks, as well as acting as supply chain buffers where containers, empty or full, can be stored. The internal equipment of the terminal consists mainly of berth cranes, truck cranes and rail cranes, in addition to additional auxiliary cranes and internal trucks used to move containers between the berth, rail and stacking areas. Due to the rising volumes of freight moved through this type of terminals on increasingly large vessels and trains using an increasingly large number of cranes and trucks, the interest of researchers towards the management of these enormously complex systems in a globalized world has continued to grow over the last two decades. A recent systematic literature review of maritime transport research performed by Bai et al. [
1] highlights “Intermodal transport” as an emerging topic in the past five years. Interestingly, said topic is found to be closely linked to “Port management”, an indicative of the surge in organizational complexity generated by employing multiple modes of transport.
Several recent reviews [
2,
3,
4,
5,
6,
7] cover the main research areas and results related to container terminal planning and management. The analysis of these reviews proves that the complexity of the terminal’s systems often results in the problem’s dissection, leading researchers to focus only on one part of the overall system: berth allocation, crane scheduling, stacking and internal transport, drayage operations, etc. As a result, all the above reviews identify the integrated planning of operations as one of the main emerging areas of research on intermodal terminals.
Some recent research works have thus faced the problem of considering all (or most of) the main terminal operations together in the planning process. Kozan [
8] applies a network model approach, solving a mixed integer linear problem to minimize the handling times of containers between their arrival and their departure from the terminal. Chen et al. [
9] formulate a scheduling-based approach seeking to minimize the makespan of the processing of containers (jobs) by the different cranes and vehicles (machines), solving the problem with a tabu search routine. Alessandri et al. [
10] propose the representation of the movement of containers inside the terminal by a system of queues, whose dynamic evolutions are described by discrete-time equations. In these equations, the state variables represent the queue lengths, and the control variables take into account the utilization of terminal resources, with the optimization problem consisting of the minimization of transfer delays in the terminal. Chen et al. [
11] incorporate routing aspects to the planning of yard trucks, integrating them with the scheduling of cranes by means of a three-stage process. Finally, Lu and Le [
12] address the stochastic nature of the scheduling problem, solving the resulting linear programming model with binary variables using a particle swarm algorithm.
However, the above examples only take into account the scheduling of quay and yard cranes and yard vehicles, without focusing on the arrival and departure of vessels and trains. For instance, Kozan [
8] and Lu and Le [
12] do not contemplate these arrivals and departures at all, while Alessandri et al. [
10] model them either as deterministic processes or as random sequences. However, other authors have also integrated the consideration of vessel and train scheduling with internal operations, assuming there exists a certain control over arrivals and departures in order to improve the efficiency of the overall transport chain. For instance, Boros et al. [
13] consider the scheduling of a vessel calling at a port in relation with the container yard availability, with the point of view of establishing an optimal cycle period for the vessel. Wong and Kozan [
14] integrate berth cranes with vehicles and yard storage in order to improve operation efficiency, solving the resulting model with List scheduling and tabu search algorithms. However, the consideration of vessels only leads to the assumption of predefined load/unload plans, which we have relaxed in our work. Furthermore, the minimization of service times might lead to terminal inefficiencies. Qi and Song [
15] optimize the scheduling of a liner vessel following a cyclic route, which is subject to uncertainty in navigation and port processing times, whereas Vacca et al. [
16] solve the integrated berth allocation problem and quay crane assignment problem (BAP-QCAP) by forcing each vessel to be serviced within a specified time window. Finally, Zhang et al. [
17] coordinate the scheduling of vessels with the distance to the assigned berth and the navigation through the access channel. With respect to train scheduling, the optimization of shunting yards, and areas used to separate freight trains and reassemble new trains, is addressed by Boysen et al. [
18] and Jaehn et al. [
19], with the objective of minimizing overall delays and waiting times. The work by Caballini et al. [
20] specifically addresses the problem of the sequencing of freight trains arriving and departing at an intermodal terminal. To our knowledge, only Zhang et al. [
21] include both vessels and trains in a multi-objective mathematical model to optimize the connection between both transport modes, but they do not identify the transshipment of individual container groups, as well as not bringing the scheduling of cranes into the analysis. Even if they include fewer aspects of the integral management of a container terminal, Yan et al. [
22] present an integrated approach to train scheduling at an intermodal seaport with direct transshipments between vessels and trains. In fact, they posit the maximization of the number of direct transshipments as part of their objective function. Furthermore, Zhang and Li [
23] consider vessel-to-train transshipments as well as multi-time window constraints and stochastic ship delays, but they only address the flow of containers loaded and unloaded at the vessels and trains, thus lacking an integral approach.
Figure 2 shows the sequence of optimization tasks integrated in this paper. This sequence includes the BAP, the QCAP and the quay crane scheduling problem (QCSP), the main optimization tasks identified by Bierwirth and Meisel [
24], together with the rail crane scheduling problem (RCSP), addressed separately by several recent works such as by Jeong and Kim [
25], Boysen et al. [
26] or Guo et al. [
27]. Our focus is on the integrated consideration of all these problems, including not only the scheduling of operations in the terminal but also considering that the arrival times of vessels and trains are decision variables (within certain boundaries). This corresponds to the case when the terminal is in charge of assigning slots to vessels and trains depending on a series of factors such as their arrival expectations, their priority, the path to be followed by each container within the terminal, the terminal’s equipment capacity, etc. This scenario enables a more efficient intermodal connection between sea, rail and road, seeking to reduce delays and costs, since this planning operation would be executed well in advance, and the different transportation means would be informed so that they can adjust their exact arrival times accordingly. This advantage is of greater importance in cases such as inland ports, where additional resource and workforce planning is required due to the complexity of the arrival and departures of vessels at the port [
28].
Seeking to incorporate all these factors into the integrated scheduling problem, the following section describes the characteristics of the problem we focused on, which will then lead to the formulation of the resulting mathematical optimization model. Given the complexity of the problem, a heuristic approach follows, validated by comparison with exact solutions to the model and thereafter used to solve a series of larger problem instances based on the operation of the port of Seville, in southern Spain. The paper ends with conclusions and directions for future work.
2. Problem Description
Every day, intermodal container terminals receive a number of transport units (trucks, trains and vessels) loaded with containers that need to be transferred. These containers will first be unloaded and then spend some time in the container yard or, ideally, be immediately transferred to their assigned departing transport unit. In order to avoid bottlenecks and unnecessary delays, the terminal can assign time slots to each incoming transport unit, so that its total service time (the time required to unload it and then load it again and have it ready for departure) is as reduced as possible. The terminal planner knows in advance which containers will arrive on each incoming transport unit, and on which outbound transport unit they must leave the terminal. The service time required for each vessel or train depends on the availability of cranes, and different berth, rail and truck cranes can be assigned to carry out load and unload operations for vessels, trains and trucks. Several cranes may work at the same time on the same vessel or train, but under a single cycle, assumption cranes operating both on trains and vessels can only start loading outgoing containers after all the incoming containers have been previously unloaded. We have assumed that the sequence of loading and unloading operations on vessels is predefined, whereas it needs to be determined for the case of trains, but the formulation is general enough to include different configurations, and the reader may replace “vessels” with “transport units with predefined unload/load sequences” and “trains” with “transport units without predefined unload/load sequences”.
Even though the modeling of the problem can have a generic application, we have included several additional assumptions to simplify its mathematical modeling. In the first place, we assume it applies to an intermodal import-export chain, so that containers arriving to the terminal on a train will be transferred to a vessel and vice versa. This does not represent a loss of generality by not considering trucks, since it is always possible to model trucks as trains that carry one single container, and the benefits of establishing slots for trucks in an intermodal terminal have been demonstrated by Zehendner and Feillet [
29]. Furthermore, we have not included the stacking area in the model specifically, but it can be represented by a virtual vessel and train with unlimited capacity, arriving at the beginning of the working day and staying until the end, which absorb all the containers that go to the stacking area and emit all the containers extracted from the stacking area to be loaded on departing transport units. Finally, our concern will not be on individual containers but on container groups, sets of containers that arrive together on the same transport unit and also leave together, and can therefore be treated as an indivisible unit. Given that we do not consider truck or crane displacements in the analysis, which implies ignoring potential conflicts among different elements, we have replaced this assumption with the allocation of one single crane to load or unload the full container group. Again, this assumption could be relaxed by considering only container groups composed of one single container.
The objective of the planning process is to schedule the arrivals of vessels and trains and to organize the work sequence of cranes so that vessels and trains finish their loading/unloading operations as early as possible in the terminal. This is why the objective function of our mathematical model depends on the departure times of transport units, which is a typical formulation according to Bierwirth and Meisel [
30], with the arrival times remaining a decision variable. This ultimately results in a reduction of costs, due to the better planning of resources at the terminal, and an increase in the level of service provided by the terminal to transport operators, due to the fast servicing of trains and vessels. The next section describes the mathematical model for this daily planning process, followed by a series of application examples and the metaheuristic methods developed to obtain solutions to real-size problems within acceptable time boundaries.
The integrated consideration of several complex problems can be carried out in two different ways. Functional integration [
31] assumes a feedback loop structure or a preprocessing phase, whereby relevant output data from one of the sequential steps is transferred as input to another, and if the results of the different steps are incoherent with one another, the inputs to the first step are modified accordingly and the process is run iteratively until a certain degree of convergence is achieved. A recent example of this approach can be found in Song et al. [
32] for the BAP—QCSP. On the other hand, deep integration merges two subproblems into a partial monolithic problem formulation, which provides a solution for both problems at the same time. This approach was the one chosen by Raa et al. [
33] for an integrated modeling of the BAP and the QCAP. Our work can be viewed as a step in a functional integration sequence, since several parameters of the optimization process developed in this paper are really dependent on the results of that process, such as the amount of time required to load and unload container groups, which is really dependent on the number of cranes assigned to the task, and on the actual scheduling of those cranes, etc., which means that the value for those parameters should be derived from historical data or else be subject to a feedback loop until the results converge. This is due to the complexity of the movement of quay cranes, usually mounted on the same rail and therefore unable to cross one another [
34] and also too large for several of them to work at the same time on the same container group. Finally, the berth allocation step of the process is included in our model by establishing groups of quay cranes, each group corresponding to an individual quay, and forcing vessels to be served by one crane group only.
3. Mathematical Model
The formulation of the mathematical model for intermodal terminal planning requires the previous definition of the following sets:
Trains: set of trains included in the planning process
Vessels: set of vessels included in the planning process
TU: set of transport units, with TU = Trains ∪ Vessels
TC: set of train cranes
BC: set of berth cranes
BCG: set of berth crane groups
C: set of cranes, with C = TC ∪ BC
CUV: set of container groups that are to be unloaded from vessels
CLV: set of container groups that are to be loaded onto vessels
CV: set of container groups that are to be moved in vessels, with CV = CUV ∪ CLV
CUT: set of container groups that are to be unloaded from trains
CLT: set of container groups that are to be loaded onto trains
CT: set of container groups that are to be moved in trains, with CT = CUT ∪ CLT
CU: set of container groups that need to be unloaded, with CU = CUT ∪ CUV
CL: set of container groups that need to be loaded, with CL = CLT ∪ CLV
The set of variables of the model includes the following:
ai = arrival time of transport unit i∈TU
di = departure time of transport unit i∈TU
uj = starting time for the unloading of container group j∈CU
lj = starting time for the loading of container group j∈CL
= 1 if container group k∈CU(CL) is unloaded (loaded) immediately before container group j∈CU(CL) on crane c∈C, 0 otherwise
= 1 if container group j∈CV is assigned to berth crane group g∈BCG, 0 otherwise
Finally, the set of model parameters is as follows:
etai = earliest time of arrival of transport unit i
ltai = latest time of arrival of transport unit i
utj= amount of time required to unload container group j
ltj = amount of time required to load container group j
Wi = penalty weight for the waiting time of transport unit i
M = sufficiently large number
αij = binary parameter that indicates whether container group j is to be unloaded from transport unit i
βij = binary parameter that indicates whether container group j is to be loaded onto transport unit i
ωjk = binary parameter that indicates whether container group j must be unloaded before container group k from the same transport unit
γjk = binary parameter that indicates whether container group j must be loaded before container group k onto the same transport unit
ζjk = binary parameter that indicates whether container groups j and k are the same when included in two different sets
Gcg = binary parameter that indicates whether berth crane c belongs to berth crane group g
Then, according to all the above, the objective function for the mathematical model can be formulated as a weighted average of the sum of departure times of the different transport units, as follows:
The formulation expressed by (1) corresponds to a Capacitated Sum of Completion Times (CSCT) scheduling problem, which adds capacity constraints to the Shortest Processing Time (SPT) problem [
35]. This brings together different objectives:
- ▪
The sum of residence completions for vessels and trains is as small as possible, which implies that vessels and trains will finish their unloading and loading operations and be ready for departure as soon as possible.
- ▪
Not all the transport units have the same priority, which can be modelled with the Wi weights. Typically, for example, the waiting times are more costly for vessels than for trains.
- ▪
The unloading operations start as soon as possible when the incoming transport unit is ready.
Constraints (2) force the arrival of each transport unit to happen within a pre-specified time window:
Furthermore, the loading and unloading of container groups can only start after the corresponding transport unit arrives at the terminal. Constraints (3) formulate this condition for unloading operations, and constraints (4) for loading operations.
The following group of constraints establishes that the departure of each transport unit can only take place after all its unloading (constraints (5)) and loading (constraints (6)) operations have been completed:
These next two groups of constraints establish that container groups can only be unloaded (constraints (7)) or loaded (constraints (8)) on vessels after their predecessors have been unloaded or loaded, respectively:
Constraints (9) and (10) determine that loading cannot begin in vessels or trains until they have been fully unloaded, and constraints (11) force that container groups can only be loaded on outbound transport units after they have been unloaded from inbound ones.
All container groups unloaded from or loaded on vessels must be assigned to a group of berth cranes, as expressed by constraints (12):
According to constraints (13), if berth cranes are used, they will be assigned to two virtual tasks:
0 is the virtual initial task for each crane, while 0′ is the virtual final task.
All the real unloading and loading tasks will be completed by each group of cranes between those two virtual tasks, under certain restrictions. For instance, constraints (14) establish that if two container groups must be unloaded from the same vessel then both unloading operations must be carried out by the same group of berth cranes. The same condition is expressed by constraints (15) for two loading operations, and by constraints (16) for the case when one container group must be unloaded and the other must be loaded on a given vessel. Constraints (14)–(16) formulate berth allocation in practice, since they establish that vessels must be unloaded and loaded by the same group of berth cranes, and each group of berth cranes corresponds to a given dock.
If two container groups are loaded or unloaded simultaneously on a vessel, both operations must be carried out by the same group of berth cranes, as expressed by constraints (17). This includes the fact that the first unloading operation to be completed by a vessel crane must be preceded by the virtual initial task 0, and the last loading operation must be followed by the virtual final task 0′.
The following groups of constraints, (18) to (21), establish conditions with respect to unloading and loading times; if two container groups are to be processed (loaded or unloaded) consecutively on the same crane, the processing of the second one cannot start until the first one has finished.
Constraints (22) force that the first task assigned to each train crane is the virtual initial task 0. Then, constraints (23) and (24) establish that each loading/unloading task on a train must have a preceding and a succeeding task, and according to constraint (25), each loading/unloading task carried out on a train crane must have a preceding task and a succeeding task on that same crane. In the formulation of these constraints, we have defined
CT0 =
CT ∪ 0, and
CT0′ =
CT ∪ 0′. Constraint (26) closes the cycle by establishing that operations on each train crane must end with the virtual final task 0′.
Finally, a similar formulation applies to vessel cranes, as expressed by constraints (27) to (31), with
CV0 =
CV ∪ 0 and
CV0′ =
CV ∪ 0′.
3.1. Model Validation
We validated the above model through its application to a series of test problems described in
Table 1 and
Table 2. Each table contains a description of the problem data, including the transport units considered (V for vessel and T for train), the container groups that reach and leave the terminal on each transport unit and the time window limits for the arrival of each transport unit to the terminal.
Table 3 contains the optimal values reached by the objective function and the amount of computational time required to reach it using the Gurobi optimizer on an Intel
®Core™ I3-4005U, 1.70 GHz computer, depending on the number of berth and rail cranes considered, for both of the previous problem settings. These instances were solved considering all the
Wi values equal to 1 and all the
utj and
ltj values equal to 6. Notably, the required computation time decreases as the number of cranes grows, which corresponds to the fact that finding the optimal scheduling plan is more difficult when the number of resources is scarcer.
4. Heuristic Solution Procedure
Despite the model’s validity for small-scale examples, it soon becomes unsuitable when the total number of container groups N grows, since the complexity of the problem is O(N2). When N increases, more efficient techniques are required in order to find a suitable solution in a reasonably reduced timeframe. In order to apply heuristic techniques to the problem, we encoded the solutions as data structures containing the following information:
- ▪
The arrival time for each vessel
- ▪
The arrival time for each train
- ▪
The unloading/loading sequence for each train (only for trains, since this sequence is fixed in the case of vessels)
Solutions containing these data were generated by metaheuristic procedures and fed to another heuristic routine to build the resulting solution for the terminal scheduling problem by scheduling load/unload operations on the different cranes. This routine, according to the pseudo-code shown in
Figure 3, uses a timestamp starting at
t = 1. It allocates vessels to berths (crane groups) and identifies whether at each instant there are berth cranes available, and if so, whether there are vessels waiting to be served. Each available crane is then assigned to one of the vessels, taking into account that loading operations can only be undertaken when all the unloading ones have been completed. In addition, the container units to load must have been previously unloaded (from a train or from the stacking area). A similar process is carried out for the train cranes, assessing the availability of cranes and trains and allocating unload operations first and load operations afterwards. When assigning vessels to berths or cranes to vessels or trains, the priority criterion is established by ranking vessels and trains in descending order of their
Wi values.
When all the available tasks have been allocated or all the cranes are busy, the process increases the timestamp t = t + 1 and moves on to a new iteration. Once all the unloading and loading tasks have been completed or a given train or vessel, the process establishes the departure time. The process ends when all the vessels and trains have been completed, and the solution can then be evaluated from the calculated departure times.
Figure 4 illustrates the operation of the algorithm, connecting the metaheuristic generation of arrival times and train unload/load sequences with the building and evaluation of the solution. We tested three metaheuristics and calibrated them using the problem instances in
Table 1 and
Table 2, already solved by the mathematical model. We tried different configurations for each metaheuristic and different values for the parameters and number of iterations and obtained the best results with the following metaheuristic designs and calibration values shown in
Table 4.
- ▪
Genetic algorithm (GA): in the crossover process, descendants inherit the arrival time for each vessel and train from one of the parents, and each unload/load sequence is determined for each descendant by crossing the sequences in both parents. The mutation process modifies randomly one of the arrival times or exchanges two elements in one of the unload/load sequences. A fraction of the new individuals generated via crossover or mutation have a pre-established number of generations during which they cannot be eliminated from the population, which number depends on a percentage of the population size.
- ▪
Simulated annealing (SA): the vicinity rule also consists of modifying one of the arrival times in the current solution or exchanging two elements in one of the unload/load train sequences. The temperature cooling function was established as 𝑡 = 𝑡/(1 + 𝛽𝑡). After the adoption of every new solution, the temperature value remains constant during L iterations.
- ▪
Tabu search (TS): using the same vicinity rule as the SA, the size of the neighborhood was nevertheless limited to five elements in each iteration. The initial seed is restarted for diversifications every time a pre-established number of iterations have been completed without improving the best solution found.
5. Results and Discussion
The proposed heuristic procedures have been implemented in MATLAB and run in the same hardware setup as indicated for the model validation (see
Section 3.1).
Table 5 contains the results obtained from the application of the calibrated heuristic procedures to a series of problem instances, including the ones shown in
Table 1 and
Table 2. The larger instances, unattainable by the mathematical model, include between 5 and 10 vessels and between 10 and 20 trains, which significantly exceed the current requirements at the Seville Port and correspond to real-life scenarios in a medium-large port. For instance, the Port of Valencia, the largest one in Spain in terms of container import-export traffic, received nine container vessels per day in 2016. Zhang et al. [
21] analyze examples with only one vessel and one train, while Caballini et al. [
20] consider five trains, with fixed arrival rates for containers. Vacca et al. [
16] do not take trains into account and consider up to 20 ships and five berths.
The first seven columns of
Table 5 describe the characteristics of each problem instance, including the number of transport units considered, the number of cranes available and the loading/unloading time. The number of container groups arriving by train in each case is equal to the number of trains (4th column) multiplied by the number of container groups per train (2nd column). These container groups must be unloaded and loaded onto vessels. Symmetrically, an identical number of container groups arrives by vessel in each case and must be transferred to trains. The data is synthetic, and we considered smaller container unloading/loading times in the larger instances to simulate the case of smaller container groups (groups containing a smaller number of containers), which should be faster to load and unload.
The results show how the genetic algorithm exceeds the performance of the other two metaheuristics in terms of solution quality for similar computational times, which is confirmed by the ANOVA significance analysis on the fitness value data. The simulated annealing process only obtains good results in some of the smaller instances, and the tabu search in some of the larger ones. As shown in
Table 5, the computational time was limited to one hour in the larger instances with four and six container groups per train, which corresponds to a realistic timeframe to obtain the daily scheduling plan in an intermodal terminal.
6. Conclusions
The adequate planning of intermodal terminals can lead to large savings in operational costs as well as increasing the level of service offered to the users of the infrastructure. Eliminating idle times of cranes, increasing the use rate of berths and railroads, and allowing vessels and trains to be back on the move, which is how they generate revenue, should be among the key objectives of any terminal manager. Furthermore, these objectives can be achieved by the integrated optimization of terminal activities, which is an extremely complex task with many interrelated processes. However, despite the risk of losing some detail in the treatment of those individual processes, this integrated optimization is essential to ensure the smooth and efficient operation of the terminal’s resources. This is not only essential to the competitiveness of the port itself, but also on the development of the hinterland cities and regions, which is found to be severely impacted by the logistics performance of their seaports [
36].
We have presented here the mathematical modeling for this integrated planning process, and the application of several metaheuristic techniques to solve it under time limitation constraints. In our approach, the arrival times of vessels and trains to the intermodal terminal can be considered a decision variable, which can be adjusted by terminals through the allocation of time slots. This allocation, in turn, allows transport operators to adjust the navigation speed of vessels and the scheduling of freight trains in order to guarantee that they will be serviced as soon as possible upon their arrival to the terminal. In addition, the loading and unloading sequences in trains are not determined beforehand, which replicates the flexibility of rail terminal operations. The introduction of berth and rail cranes into the analysis provides integrated sequence planning for the container terminal.
With respect to the metaheuristic techniques used to solve the problem, the results obtained, particularly for the genetic algorithm approach, provide the efficient scheduling of the terminal, reducing idle times and arranging the arrival times of vessels and trains accordingly. This use of metaheuristic techniques allows the planner to obtain the best possible schedules within the available time, and also to quickly reprocess the original schedule in case of disruptions in the schedule of vessels, trains or cranes. As with many other industrial disciplines, OR works here as a strong decision-making tool and efficiency enhancer.
Following the current trend towards integrating the planning of the different processes carried out at an intermodal terminal, future research directions may include the exploration of the back-and-forth procedure, assumed here as part of the functional integration scheme, analyzing the effect of modifications in crane processing times on the overall schedule planning. In addition, a dynamic analysis of the problem, testing the best way to proceed when scheduled trains or vessels suffer delays, should produce interesting results. Furthermore, the generality of the proposed approach could be expanded by taking into account the stochastic nature of the modes of transport. This is particularly important when dealing with uncertainty-plagued truck-based transport, which is commonly the cause of gate congestion at ports [
37]. Trucks often experience severe delays due to traffic congestion and accidents, thus frequently requiring a rescheduling process [
38] in order to preserve the competitiveness of the port.