Abstract
Discontinuities and sharp curves commonly exist in the berth layout of container terminals. To cope with these layout characteristics, traditional studies proposed discrete or hybrid modeling approaches. However, the drawback of these approaches is the low berth space utilization. In reality, berth space is a very scarce resource and the development of which usually involves huge investments. Accordingly, a high space utilization approach is usually indispensable to a container terminal. In the literature, continuous berth layout modeling approach is sophisticated to be good in space utilization. However, its application is limited to continuous layouts, but not for discontinuities. In other words, it is not applicable to many container terminals in reality. To fill this gap, this paper studies an integrated berth allocation and yard planning problem with discontinuities berth layout. A novel multi-continuous berth layout approach and a mixed integer linear programming are proposed to deal with this new problem. In addition, a Guided Neighborhood Search (GNS) is proposed to enhance the optimization efficiency. Experimental results show that the GNS significantly reduce computational time enabling the proposed algorithm to be applied in reality. In addition, the proposed approach increases the berth space utilization, and consequently reducing the waiting time of incoming vessels. Furthermore, by simultaneously integrating the berth position and yard storage position, the total travelling distance of containers is being minimized. As a result, the overall performance of the terminal is improved.
Similar content being viewed by others
References
Bierwirth, C., & Meisel, F. (2010). A survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research, 202, 615–627.
Cheong, C. Y., Tan, K. C., Liu, D. K., & Lin, C. J. (2010). Multi-objective and prioritized berth allocation in container ports. Annals of Operations Research, 180, 63–103.
Cordeau, J. F., Gaudioso, M., Laporte, G., & Moccia, L. (2007). The service allocation problem at the Gioia Tauro maritime terminal. European Journal of Operational Research, 176, 1167–1184.
Cordeau, J. F., Laporte, G., Legato, P., & Moccia, L. (2005). Models and tabu search heuristics for the berth allocation problem. Transportation Science, 39, 526–538.
Cordeau, J. F., Laporte, G., Moccia, L., & Sorrentino, G. (2011). Optimizing yard assignment in an automotive transhipment terminal. European Journal of Operational Research, 215, 149–160.
Esmer, S., Yildiz, G., & Tuna, O. (2013). A new simulation modelling approach to continuous berth allocation. International Journal of Logistics Research and Application: A Leading Journal of Supply Chain Management, 16, 398–409.
Fu, Y. M., & Diabat, A. (2015). A Lagrangian relxation approach for solving the integrated quay crane assignment and scheduling problem. Applied Mathematical Modelling, 39, 1194–1201.
Ganji, S. R. S., Babazadeh, A., & Arabshahi, N. (2010). Analysis of the continuous berth allocation problem in container ports using a genetic algorithm. Journal of Marine Science and Technology, 15, 408–416.
Giallombardo, G., Moccia, L., Salani, M., & Vacca, I. (2010). Modeling and solving the tactical berth allocation problem. Transportation Research Part B, 44, 232–245.
Golias, M., Portal, I., Konur, D., Kaisar, E., & Kolomvos, G. (2014). Robust berth scheduling at marine container terminals via hierarchical optimization. Computer and Operations Research, 41, 412–422.
Guan, Y., Yang, K. H., & Zhou, Z. (2013). The crane scheduling problem: Models and solution approaches. Annual of Operations Research, 203, 119–139.
Imai, A., Nishimura, E., & Papadimitriou, S. (2005). Berth allocation in a container port: Using a continuous location space approach. Transportation Research, 39, 199–221.
Lee, D. H., Chen, J. H., & Cao, J. X. (2010). The continuous berth allocation problem: A greedy randomized adaptive search solution. Transportation Research Part E, 46, 1017–1029.
Lee, D. H., & Jin, J. G. (2013). Feeder vessel management at container transshipment terminals. Transportation Research Part E, 49, 201–216.
Lee, D. H., Jin, J. G., & Chen, J. H. (2012). Terminal and yard allocation problem for a container transshipment hub with multiple terminals. Transportation Research Part E, 48, 516–528.
Lee, Y., & Chen, C. Y. (2009). An optimization heuristics for the berth scheduling problem. European Journal of Operational Research, 196, 500–508.
Lim, A., & Xu, Z. (2006). A critical-shaking neighborhood search for the yard allocation problem. European Journal of Operation Research, 174, 1247–1259.
Meisel, F., & Bierwirth, C. (2009). Heuristics for the integration of crane productivity in the berth allocation problem. Transportation Research Part E, 45, 196–209.
Moorthy, R., & Teo, C. P. (2006). Berth management in container terminal: The template design problem. OR Spectrum, 28, 495–518.
Park, Y. M., & Kim, K. H. (2002). Berth scheduling for container terminals by using a sub-gradient optimization technique. The Journal of the Operational Research Society, 53, 1054–1062.
Ramírez-Nafarrate, A., González-Ramírez R.G., Smith, N.R., Guerra-Olivares, R., & Voß, S. (2016). Impact on yard efficiency of a truck appointment system for a port terminal. Annual of Operations Research. doi:10.1007/s10479-016-2384-0.
Rashidi, H., & Tsang, E. P. K. (2013). Novel constraints satisfaction models for optimization problems in container terminals. Applied Mathematical Modelling, 37, 3601–3634.
Robenek, T., Umang, N., Bierlaire, M., & Ropke, S. (2014). A branch-and-price algorithm to solve the integrated berth allocation and yard assignment problem in bulk ports. European Journal of Operational Research, 235, 399–411.
Tao, Y., & Lee, C. Y. (2015). Joint planning of berth and yard allocation in transshipment terminals using multi-cluster stacking strategy. European Transportation Research Part E, 83, 34–50.
Turkogullari, Y. B., Taskin, Z. C., Aras, N., & Altinel, I. K. (2014). Optimal berth allocation and time-invariant quay crane assignment in container terminals. European Journal of Operational Research, 35, 88–101.
Ursavas, E. (2015). Priority control of berth allocation problem in container terminals. Annual of Operations Research. doi:10.1007/s10479-015-1912-7.
Wang, F., & Lim, A. (2007). A stochastic beam search for berth allocation problem. Decision Support Systems, 42, 2186–2196.
Yang, C., Wang, X., & Li, Z. (2012). An optimization approach of coupling problem of berth allocation and quay crane assignment in container terminal. Computers and Industrial Engineering, 63, 243–253.
Zhen, L., Chew, E. P., & Lee, L. H. (2011). An integrated model for berth template and yard template planning in transshipment hubs. Transportation Science, 45, 483–504.
Zhen, L., Wang, S., & Wang, K. (2016). Terminal allocation problem in a transshipment hub considering bunker consumption. Naval Research Logistics, 63, 529–548.
Zhen, L., Yu, S., Wang, S., & Sun, Z. (2016a). Scheduling quay cranes and yard trucks for unloading operations in container ports. Annual of Operations Research. doi:10.1007/s10479-016-2335-9.
Acknowledgements
This research was partially supported by the Ningbo Soft Science Programme, the Ningbo Science and Technology Bureau (Grant No. 2016A10037), and by the International Academy of Marine Economy and Technologies and Ningbo Science and Technology Bureau (Grant No. 2014A35006).
Author information
Authors and Affiliations
Corresponding author
Appendix 1: MILP formulation by using virtual partition modeling approach
Appendix 1: MILP formulation by using virtual partition modeling approach
This appendix introduces the detail MILP formulation for the models mentioned in Steps 2 and 3 in Fig. 2.
Notations being used in the paper:
Input data
- V :
-
Set of vessels, \(V = \{1,2,3,{\ldots }I\}\)
- B :
-
Set of berth segments, \(B = \{1,2,3,{\ldots }B\}\)
- C :
-
Set of quay sections, \(C = \{1,2,3,{\ldots }C\}\)
- \(P_{i}\) :
-
Set of the QC-profiles for vessel, \(i \in V\)
- T :
-
Set of time steps under consideration, \(T = \{1, 2,{\ldots } H + E\}\)
- s :
-
Length of a berth segment in meter
- H :
-
Number of time steps in a planning horizon
- E :
-
Maximum handling time of all vessels, \(E = max_{\forall i\in V} \{h_{i,p} |p\in P_i \}\)
- \({[a_i^M , b_i^M ]}\) :
-
Feasible turnaround time interval for vessel \(i, i \in V, a_i^M , b_i^M \in T\)
- \({[a_i^e ,b_i^e]}\) :
-
Expected turnaround time interval for vessel \( i, i \in V, a_i^e , b_i^e \in T\)
- \(SL_c\) :
-
Starting point of section \(c\in C\)
- \(EL_c\) :
-
Ending point of section \(c\in C\)
- \(\mu _i\) :
-
Length of vessel \(i, i \in V\) in meter
- \(Q_{tc}\) :
-
Number of available QCs in time step \(t, t \in \{1, 2,{\ldots } H\}\), \(c\in C\)
- \(h_{i,p}\) :
-
Handling time (time steps) of vessel i by using QC-profile p, \(i\in V, p\in P_i\)
- \(q_{i,p,m}\) :
-
Number of QCs utilized in the \(m^{{\mathrm{th}}}\) time step if vessel i is served by QC-profile p, \(i\in V\), \(m \in \{1,{\ldots }h_{i,p} \}\), \(p\in P_i\)
- \(c_{ij}\) :
-
Number of containers transshipped from vessel i–j, \(i \ne j\in V\)
- \(\omega _i^{Be} ,\omega _i^{Bt}\) :
-
The weights for vessel i assigned to the earliness and tardiness beyond the vessel’s expected turnaround time interval, \(i \in V\)
- \(\omega ^Y\) :
-
The weight assigned to the transportation distance of containers in yard, \(i \in V\)
- M :
-
A sufficiently large positive number
Variables
- \({\delta _{i,j}^T \in [0, 1]}\) :
-
Set to 1 if the handling of vessel i ends earlier than the handling of vessel j starts, and 0 otherwise, \(i\ne j\in V\)
- \({\delta _{i,j}^B \in [0, 1]}\) :
-
Set to 1 if vessel i is moored below vessel j along the berth axis and 0 otherwise, \(i \ne j\in V\)
- \({\eta _{i,p,t,c} \in [0, 1]}\) :
-
Set to 1 if vessel i is assigned to quay section c, and is served by QC-profile p and begins handling in time step t, and 0 otherwise, \(i\in V\), \(p\in P_i\), \(t\in T\), \(c\in C\)
- \({\zeta _{i,b} \in [0, 1]}\) :
-
Set to 1 if vessel i occupies berth segment b, and 0 otherwise. In addition, two auxiliary variables, \(\zeta _{i,b}^U\), \(\zeta _{i,b}^L \in [0, 1]\), are defined for \(\zeta _{i,b}\), such that if \(\zeta _{i,b}^U =\zeta _{i,b}^L = 1\), then \(\zeta _{i,b} = 1\), \(i\in V\), \(b\in B\)
- \(\varepsilon _i \in \{1, {\ldots } H\}\) :
-
The starting time step of handling for vessel i, \(i \in V\)
- \(\sigma _i \in T\) :
-
The ending time step of handling for vessel i, \(i\in V\)
- \(o_b ,d_b \in T\) :
-
Start and end time steps for berth segment b, \(b \in B\)
- \(\rho _{tc} \ge 0\) :
-
The number of used QCs at time step t, \(t\in T\), \(c\in C\)
- \(\lambda _{i,j}^U \ge 0\) :
-
The average of unloading route length between the berth position of vessel i and all the sub-blocks reserved for vessel j, \(i \ne j \in V\)
- \(\lambda _j^L \ge 0\) :
-
The average of loading route length between the berth position of vessel j and all the sub-blocks reserved for vessel j, \(j\in V\)
Decision variables
- \({\beta _i \in [0, \hbox {L}]}\) :
-
Continuous variable, berthing position according to the middle point of vessel i, \(i \in V\)
- \({\pi _{i,t} \in [0, 1]}\) :
-
Set to 1 if vessel i begins handling in time step t, and 0 otherwise, \(i\in V\), \(t\in T\)
- \({\gamma _{i,p} \in [0, 1]}\) :
-
Set to 1 if vessel iis served by QC-profile pand zero otherwise, \(i\in V\), \(p\in P_{i}\)
- \({y_{ic} \in [0, 1]}\) :
-
Set to 1 if vessel i is assigned to quay section c and zero otherwise, \(i\in V\), \(c\in C\)
Objective function
Objective function (1) aims to minimize the service cost induced by the deviation from the vessels expected turnaround time intervals, and the operation cost induced by the transshipment of the containers from the quay space to the yard storage block. The nonlinear objective function (1) is linearized to a linear objective function (2) by adding four positive integer variables \(\tau _i^{a+} ,\tau _i^{a-} ,\tau _i^{b+} ,\tau _i^{b-} \), and constraints (3)–(5):
Constraints
The model is subject to two types of constraints, (i) modified berth template model constraints (\({{\mathcal {M}}}\_{{\mathcal {B}}}_\mathrm{n}\)), and (ii) yard template model constraint (\({{\mathcal {M}}}\_{{\mathcal {Y}}}\)). The others two constraints are explained as the follows.
Modified berth template model constraints (\({{\mathcal {M}}}\_{{\mathcal {B}}}_n \))
The idea of virtual partitions modeling approach is to divide the quay into a set of quay sections C where no discontinuity or curve exists in each section \(c \in C\). A decision variable \(y_{ic} \) is introduced, and constraint (6) ensures each vessel \(i \in V\) to be assigned to one quay section.
A set of vessels (V) is to be berthed within a planning horizon of (H) time step. To model the handling time of vessel i (hi, p), Zhen et al. (2011) adopted the concept of QC-profile by Giallombardo et al. (2010). A set of possible feasible QC-profiles (\(P_i\)) are generated for vessel \(i\in V\). The selected QC-profile indicates the number of time steps required for handling which is the vessel handling time, and the number of QCs assigned to the vessel in each time step. The QC-profile allows variation of the number of QCs between two adjacent time steps, and takes into account the maximum and the minimum number of QCs guaranteed for the vessel. The remaining constraints of \({{\mathcal {M}}}\_{{\mathcal {B}}}_\mathrm{n} \) can be grouped into five main categories:
a. Non-overlapping constraints
Constraint (7) ensures \(\delta _{i,j}^T \) is set to 1 if vessel j starts after the completion of vessel i. Constraint (8) ensures \(\delta _{i,j}^B\) is set to 1 if vessel i berth completely on the right side of vessel j along the quay. Constraint (9) guarantees at least one of the above relationships is valid among vessels i and j.
b. Berthing position constraint
Since the quay is divided into a set of quay sections C, \(SL_c \) and \(EL_c \) are introduced to represent the starting point and ending point of each section \(c\in C\), and the length is calculated by \((EL_c -SL_c )\). Constraint (10) is used to ensure the feasibility of berthing position \(\beta _i \) for \(i \in V\) in each quay section.
c. QC constraints
Constraint (11) ensures one QC-profile is selected for each vessel. Constraint (12) ensures QCs cannot be transferred from one section to another section due to the quay discontinuities or curves. Therefore, the number of QCs available for service is also affected, and it should be counted individually in each section. Constraint (13) sums up the number of QCs used in each time step. Constraint (14) and (15) ensure the number of QCs used at each time step will not exceed the available number of QCs in that section.
d. Time constraints
Constraint (16) defines the starting time step of each vessel, and constraint (17) sets the relationship between the variables \(\varepsilon _i\) and \(\pi _{i,t}\). Constraint (18) calculates the ending time of each vessel. Constraints (19) and (20) guarantees the starting and the ending time are within the feasible turnaround time interval of the vessel.
e. Other constraints
Constraints (21)–(26) are set up for consideration of re-planning based on the periodicity of the vessel schedule. Constraints (21)–(23) define the berth segment b that is occupied by vessel i. Constraints (24)–(26) ensure the gap between \(o_b \) and \(d_b \) is within the planning horizon.
Yard template model constraints (\({{\mathcal {M}}}\_{{\mathcal {Y}}}\))
The \({{\mathcal {M}}}\_{{\mathcal {Y}}}\) constraint is actually the same as the one in Zhen et al. (2011). For details, please refer to the original paper. Here we will briefly introduce the mechanism and constraints used. After \({{\mathcal {M}}}\_{{\mathcal {B}}}_n\) is solved, \(\omega _{i,b}\) and \(\theta _{i,t}\) are obtained, where \(\omega _{i,b} \in [0, 1]\) set to 1 if \(\beta _{i\in V}\) is in berth segment \(b\in B\), and 0 otherwise, and \(\theta _{i,t} \in [0, 1]\) set to 1 if vessel \(i\in V\) is loading in time step t, and 0 otherwise. Accordingly, the yard template decision \((\varphi _{i,k} )\) is to assign subblocks k to vessels i with consignment strategy, which dedicates certain subblocks to each vessel. Both the export and transshipment containers, which will be loaded onto the same vessel, are stored in its dedicated subblocks. This strategy undoubtedly reduces the number of re-handling operations of containers inside the yard. A number of containers are transshipped from vessel i to vessel \(j (c_{ij})\), the length of unloading routes \((\lambda _{i,j}^U )\), which is the average of the distances between the subblocks k dedicated to vessel j and the berth segment where vessel i berths per a TEU of unloading container, and the length of loading routes \(\left( {\lambda _j^L } \right) \), which is the average of the distances between the subblocks k dedicated to vessel j and the berth segment where vessel j berths at per a TEU of loading container, are taken into account in the yard related operation cost. The constraints are shown as follows:
Input data
- K :
-
Set of the available subblocks, \(K = \{1,2,3,{\ldots }K\}\)
- N :
-
Set of the pairs of subblocks that are neighbor, \(N = \{1,2,3,{\ldots }N\}\)
- G :
-
Set of the groups of five subblocks that belong to the same subblock, \(G= \{1,2,3,{\ldots }G\}\)
- \(r_{i}\) :
-
Number of subblocks reserved for vessel \(i, i\in V\)
- \(D_{k,b}^U\) :
-
Length of unloading route from berth segment b to subblock k, \(b\in B, k \in K\)
- \(D_{k,b}^L\) :
-
Length of loading route from subblock k to berth segment b, \(b\in B\), \(k \in K\)
- \({\omega _{i,b} \in [0, 1]}\) :
-
Set to 1 if \(\beta _{i\in V} \) is in berth segment b, and 0 otherwise, \(b\in B\)
- \({\theta _{i,t} \in [0, 1]}\) :
-
Set to 1 if vessel i is loading in time step t, and 0 otherwise, \(i\in V\)
Variables
- \({\xi _{i,t,k} \in [0, 1]}\) :
-
Set to 1 if vessel i is loading in time step t and subblock k is reserved for vessel i, and 0 otherwise, \(i \in V\), \(t \in T\), \(k \in K\)
- \({\varphi _{j,k,i,b}\in [0, 1]}\) :
-
Set to 1 if vessel i moors at berth segment b and subblock k is reserved for vessel j, and 0 otherwise, \(i \ne j \in V\), \(b \in B\), \(k \in K\)
- \({\varphi _{j,k,b}\in [0, 1]}\) :
-
Set to 1 if vessel j moors at berth segment b and subblock k is reserved for vessel j, and 0 otherwise, \(i \ne j\in V\), \(b \in B\), \(k \in K\)
- \(\lambda _{i,j}^U \ge 0\) :
-
The average of unloading route length between the berth position of vessel i and all the subblocks reserved for vessel j, \(i\ne j\in V\)
- \(\lambda _j^L \ge 0\) :
-
The average of loading route length between the berth position of vessel j and all the subblocks reserved for vessel j, \(j\in V\)
Decision variables
- \({\varphi _{i,k} \in [0, 1]}\) :
-
Set to 1 if subblock k is reserved for vessel i, and 0 otherwise, \(k \in K\),\( i \in V\)
Constraints
Constraint (27) ensures one subblock can only be assigned at most to one vessel. Constraint (28) ensures a sufficient number of subblocks can be assigned to each vessel. Constraint (29) links variables \(\varphi _{i,k}\) and \(\theta _{i,t}\) by \(\xi _{i,t,k}\). Constraints (30) and (31) ensure two subblocks, which share the same truck path or belong to the same block, cannot have a simultaneously loading process at each time step in the planning horizon. Constraints (32) and (33) consider periodicity. Constraint (34) calculates the average of the loading route length between the berth position of vessel i and all the subblocks reserved for vessel j. Constraint (35) calculates the average loading route length between the berth position of vessel j and all the subblocks reserved for vessel j. Constraint (36) links variables \(\varphi _{j,k}\) and \(\omega _{i,b}\) by \(\varphi _{j,k,i,b}\), while constraint (37) links variables \(\varphi _{j,k}\) and \(\omega _{j,b}\) by \(\varphi _{j,k,b}\). Constraints (38)–(40) define the variables.
Rights and permissions
About this article
Cite this article
Ma, H.L., Chung, S.H., Chan, H.K. et al. An integrated model for berth and yard planning in container terminals with multi-continuous berth layout. Ann Oper Res 273, 409–431 (2019). https://doi.org/10.1007/s10479-017-2577-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-017-2577-1